[HID,for-next,v2,0/4] HID: bpf: remove the need for ALLOW_ERROR_INJECTION and Kconfig fixes

Message ID 20221205164856.705656-1-benjamin.tissoires@redhat.com
Headers
Series HID: bpf: remove the need for ALLOW_ERROR_INJECTION and Kconfig fixes |

Message

Benjamin Tissoires Dec. 5, 2022, 4:48 p.m. UTC
  Hi,

So this patch series aims at solving both [0] and [1].

The first one is bpf related and concerns the ALLOW_ERROR_INJECTION API.
It is considered as a hack to begin with, so introduce a proper kernel
API to declare when a BPF hook can have its return value changed.

The second one is related to the fact that
DYNAMIC_FTRACE_WITH_DIRECT_CALLS is currently not enabled on arm64, and
that means that the current HID-BPF implementation doesn't work there
for now.

The first patch actually touches the bpf core code, but it would be
easier if we could merge it through the hid tree in the for-6.2/hid-bpf
branch once we get the proper acks.

Cheers,
Benjamin

[0] https://lore.kernel.org/all/20221121104403.1545f9b5@gandalf.local.home/
[1] https://lore.kernel.org/r/CABRcYmKyRchQhabi1Vd9RcMQFCcb=EtWyEbFDFRTc-L-U8WhgA@mail.gmail.com

Benjamin Tissoires (4):
  bpf: do not rely on ALLOW_ERROR_INJECTION for fmod_ret
  HID: bpf: do not rely on ALLOW_ERROR_INJECTION
  HID: bpf: enforce HID_BPF dependencies
  selftests: hid: ensures we have the proper requirements in config

 drivers/hid/bpf/Kconfig             |  3 ++-
 drivers/hid/bpf/hid_bpf_dispatch.c  | 20 ++++++++++++--
 drivers/hid/bpf/hid_bpf_jmp_table.c |  1 -
 include/linux/btf.h                 |  3 +++
 kernel/bpf/btf.c                    | 41 +++++++++++++++++++++++++++++
 kernel/bpf/verifier.c               | 17 ++++++++++--
 net/bpf/test_run.c                  | 14 +++++++---
 tools/testing/selftests/hid/config  |  1 +
 8 files changed, 91 insertions(+), 9 deletions(-)