Files
linux-cryptodev-2.6/include/linux
Benjamin Tissoires 75839101ce HID: bpf: prevent infinite recursions with hid_hw_raw_requests hooks
When we attach a sleepable hook to hid_hw_raw_requests, we can (and in
many cases should) call ourself hid_bpf_raw_request(), to actually fetch
data from the device itself.

However, this means that we might enter an infinite loop between
hid_hw_raw_requests hooks and hid_bpf_hw_request() call.

To prevent that, if a hid_bpf_hw_request() call is emitted, we prevent
any new call of this kfunc by storing the information in the context.
This way we can always trace/monitor/filter the incoming bpf requests,
while preventing those loops to happen.

I don't think exposing "from_bpf" is very interesting because while
writing such a bpf program, you need to match at least the report number
and/or the source of the call. So a blind "if there is a
hid_hw_raw_request() call, I'm emitting another one" makes no real
sense.

Link: https://patch.msgid.link/20240626-hid_hw_req_bpf-v2-5-cfd60fb6c79f@kernel.org
Acked-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
2024-06-27 11:00:12 +02:00
..
2024-04-24 11:06:26 -07:00
2024-04-25 20:55:49 -07:00
2024-05-02 20:35:57 +02:00
2024-04-17 08:44:03 -06:00
2024-04-29 16:28:07 -07:00
2024-05-08 17:29:22 -04:00
2024-04-23 09:03:37 +09:00
2024-05-05 17:53:55 -07:00
2024-05-11 00:41:15 +00:00
2024-04-15 16:03:24 -04:00
2024-05-09 13:02:39 +02:00
2024-05-19 14:36:17 -07:00
2024-05-22 16:12:48 -07:00
2024-05-19 14:40:44 -07:00
2024-04-23 13:16:03 +02:00
2024-05-23 13:38:15 +02:00
2024-06-05 19:19:26 -07:00
2024-05-03 10:44:42 +01:00
2024-04-15 14:31:48 +02:00
2024-05-05 17:53:49 -07:00
2024-05-05 17:53:50 -07:00
2024-03-26 11:07:20 -07:00
2024-04-15 19:43:48 +02:00
2024-04-02 18:03:32 -07:00
2024-04-03 09:59:38 +01:00
2024-05-02 16:28:15 +02:00
2024-04-09 10:53:44 +02:00
2024-03-26 09:01:18 +01:00
2024-05-04 18:57:21 +02:00
2024-05-23 19:40:26 -07:00
2024-04-08 11:49:02 +01:00
2024-05-06 12:05:00 +02:00
2024-04-07 02:42:36 -04:00
2024-04-25 20:55:48 -07:00