Re: [PATCH 1/2] HID: bpf: enforce HID_BPF dependencies

From: Jiri Kosina
Date: Thu Dec 01 2022 - 19:40:14 EST


On Wed, 30 Nov 2022, Benjamin Tissoires wrote:

> As mentioned in the link below, having JIT and BPF is not enough to
> have fmod_ret and error injection 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@xxxxxxxxxxxxxx
> Fixes: f5c27da4e3c8 ("HID: initial BPF implementation")
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
> ---
> drivers/hid/bpf/Kconfig | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/hid/bpf/Kconfig b/drivers/hid/bpf/Kconfig
> index 298634fc3335..498232f9faa9 100644
> --- a/drivers/hid/bpf/Kconfig
> +++ b/drivers/hid/bpf/Kconfig
> @@ -4,7 +4,9 @@ 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 && \
> + FUNCTION_ERROR_INJECTION

FUNCTION_ERROR_INJECTION is a purely debugging feature, and not something
we want to have enabled in production kernels (which is where HID-BPF
should, on the other hand, be enabled). I am afraid this needs to go back
to the drawing board.

JFTR, to make sure this gets properly discussed before 6.2 merge window
opens up

Nacked-by: Jiri Kosina <jkosina@xxxxxxx>

Which unfortunately means the whole hid-bpf implementation would need to
be revised and postponed for 6.3 at least.

Sorry,

--
Jiri Kosina
SUSE Labs