Message ID | 20221206145936.922196-4-benjamin.tissoires@redhat.com |
---|---|
State | Accepted |
Commit | 4e0b1b0731bd355a4dee279a270bdd5b29e68b85 |
Headers | show |
Series | HID: bpf: remove the need for ALLOW_ERROR_INJECTION and Kconfig fixes | expand |
On Tue, Dec 6, 2022 at 3:59 PM Benjamin Tissoires <benjamin.tissoires@redhat.com> wrote: > > As mentioned in the link below, having JIT and BPF is not enough to > have fentry/fexit/fmod_ret APIs. This resolves the error that > happens on a system without tracing enabled when hid-bpf tries to > load itself. > > Link: https://lore.kernel.org/r/CABRcYmKyRchQhabi1Vd9RcMQFCcb=EtWyEbFDFRTc-L-U8WhgA@mail.gmail.com > Fixes: f5c27da4e3c8 ("HID: initial BPF implementation") > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > > --- > > no changes in v3 > > changes in v2: > - dropped ALLOW_ERROR_INJECTION requirement Florent, can I keep your reviewed-by on this patch? Jon, may I ask you to do one more testing with the full v3 applied on top of for-next? Cheers, Benjamin > --- > drivers/hid/bpf/Kconfig | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/hid/bpf/Kconfig b/drivers/hid/bpf/Kconfig > index 298634fc3335..03f52145b83b 100644 > --- a/drivers/hid/bpf/Kconfig > +++ b/drivers/hid/bpf/Kconfig > @@ -4,7 +4,8 @@ menu "HID-BPF support" > config HID_BPF > bool "HID-BPF support" > default HID_SUPPORT > - depends on BPF && BPF_SYSCALL > + depends on BPF && BPF_SYSCALL && \ > + DYNAMIC_FTRACE_WITH_DIRECT_CALLS > help > This option allows to support eBPF programs on the HID subsystem. > eBPF programs can fix HID devices in a lighter way than a full > -- > 2.38.1 >
On Wed, Dec 7, 2022 at 3:58 PM Benjamin Tissoires <benjamin.tissoires@redhat.com> wrote: > > On Tue, Dec 6, 2022 at 3:59 PM Benjamin Tissoires > <benjamin.tissoires@redhat.com> wrote: > > > > As mentioned in the link below, having JIT and BPF is not enough to > > have fentry/fexit/fmod_ret APIs. This resolves the error that > > happens on a system without tracing enabled when hid-bpf tries to > > load itself. > > > > Link: https://lore.kernel.org/r/CABRcYmKyRchQhabi1Vd9RcMQFCcb=EtWyEbFDFRTc-L-U8WhgA@mail.gmail.com > > Fixes: f5c27da4e3c8 ("HID: initial BPF implementation") > > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > > > > --- > > > > no changes in v3 > > > > changes in v2: > > - dropped ALLOW_ERROR_INJECTION requirement > > Florent, can I keep your reviewed-by on this patch? Yes! :) Reviewed-by: Florent Revest <revest@chromium.org> Thank you for the updated series, I think it's cleaner than relying on error injection indeed. I still believe that, in the future, BPF should offer a proxy config to expose if BPF tracing is supported because 1- the implementation of BPF tracing could someday change 2- to be exactly correct, ftrace direct call isn't _really_ a sufficient condition either: the BPF JIT also needs to implement the arch_prepare_bpf_trampoline function. Currently, there is no config to check if that feature is available. But as agreed in a previous thread, that consolidation can be done separately. For now your patch looks good enough to me already.
diff --git a/drivers/hid/bpf/Kconfig b/drivers/hid/bpf/Kconfig index 298634fc3335..03f52145b83b 100644 --- a/drivers/hid/bpf/Kconfig +++ b/drivers/hid/bpf/Kconfig @@ -4,7 +4,8 @@ menu "HID-BPF support" config HID_BPF bool "HID-BPF support" default HID_SUPPORT - depends on BPF && BPF_SYSCALL + depends on BPF && BPF_SYSCALL && \ + DYNAMIC_FTRACE_WITH_DIRECT_CALLS help This option allows to support eBPF programs on the HID subsystem. eBPF programs can fix HID devices in a lighter way than a full
As mentioned in the link below, having JIT and BPF is not enough to have fentry/fexit/fmod_ret APIs. This resolves the error that happens on a system without tracing enabled when hid-bpf tries to load itself. Link: https://lore.kernel.org/r/CABRcYmKyRchQhabi1Vd9RcMQFCcb=EtWyEbFDFRTc-L-U8WhgA@mail.gmail.com Fixes: f5c27da4e3c8 ("HID: initial BPF implementation") Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> --- no changes in v3 changes in v2: - dropped ALLOW_ERROR_INJECTION requirement --- drivers/hid/bpf/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)