Benjamin Tissoires ebc0d8093e HID: bpf: implement HID-BPF through bpf_struct_ops
We do this implementation in several steps to not have the CI failing:
- first (this patch), we add struct_ops while keeping the existing infra
  available
- then we change the selftests, the examples and the existing in-tree
  HID-BPF programs
- then we remove the existing trace points making old HID-BPF obsolete

There are a few advantages of struct_ops over tracing:
- compatibility with sleepable programs (for hid_hw_raw_request() in
  a later patch)
- a lot simpler in the kernel: it's a simple rcu protected list
- we can add more parameters to the function called without much trouble
- the "attach" is now generic through BPF-core: the caller just needs to
  set hid_id and flags before calling __load().
- all the BPF tough part is not handled in BPF-core through generic
  processing
- hid_bpf_ctx is now only writable where it needs be

Acked-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/r/20240608-hid_bpf_struct_ops-v3-3-6ac6ade58329@kernel.org
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
2024-06-14 11:20:16 +02:00
..
2024-05-22 10:45:12 -07:00
2024-05-16 08:50:32 -07:00
2024-05-23 12:04:36 -07:00
2024-05-21 11:15:56 -07:00
2024-06-06 09:39:36 -07:00
2024-05-23 00:29:19 +02:00
2024-05-17 09:05:46 -07:00
2024-05-14 18:25:53 -07:00
2024-05-21 10:09:28 -07:00
2024-05-16 08:56:49 -07:00
2024-05-21 09:51:42 -07:00
2024-05-23 12:04:36 -07:00
2024-05-17 13:01:24 +02:00
2024-05-23 12:09:22 -07:00
2024-05-21 11:19:18 -07:00
2024-05-22 10:41:14 -07:00
2024-05-27 08:18:31 -07:00
2024-05-23 12:04:36 -07:00
2024-05-07 23:40:46 +02:00
2024-06-06 14:40:51 -07:00
2024-05-08 19:21:51 +01:00
2024-05-21 11:23:36 -07:00
2024-05-24 08:38:28 -07:00
2024-05-20 14:56:50 -07:00
2024-05-23 12:04:36 -07:00
2024-05-22 10:45:12 -07:00
2024-05-23 12:04:36 -07:00
2024-05-24 10:24:49 -07:00