On Tue, 15 Sep 2026, Benjamin Tissoires wrote:

> As reported by Sashiko:
> If a transport driver encounters a hardware error and returns a negative
> error code such as -EPIPE, ret is implicitly promoted to size_t when
> compared against size. This causes the negative error code to evaluate
> as a large positive number, making the (ret > size) condition true.
> 
> This silently converts the hardware error into a success return value
> and copies the unmodified buffer back, which could leave BPF programs
> operating on uninitialized or stale data.
> 
> Fix this by casting size into ssize_t to return the actual negative
> error code.
> 
> Link: https://lore.kernel.org/all/[email protected]/
> Fixes: 2b658c1c442e ("HID: bpf: prevent buffer overflow in hid_hw_request")
> Cc: [email protected]
> Signed-off-by: Benjamin Tissoires <[email protected]>

Acked-by: Jiri Kosina <[email protected]>

-- 
Jiri Kosina
SUSE Labs


Reply via email to