Message ID | 20220304172852.274126-12-benjamin.tissoires@redhat.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | BPF |
Headers | show |
Series | Introduce eBPF support for HID devices | expand |
On Fri, Mar 04, 2022 at 06:28:35PM +0100, Benjamin Tissoires wrote: > the program inverts the definition of X and Y at a given place in the > report descriptor of my mouse. > > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > > --- > > changes in v2: > - split the series by bpf/libbpf/hid/selftests and samples > --- > samples/bpf/hid_mouse_kern.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/samples/bpf/hid_mouse_kern.c b/samples/bpf/hid_mouse_kern.c > index c24a12e06b40..958820caaf5d 100644 > --- a/samples/bpf/hid_mouse_kern.c > +++ b/samples/bpf/hid_mouse_kern.c > @@ -62,5 +62,30 @@ int hid_x_event(struct hid_bpf_ctx *ctx) > return 0; > } > > +SEC("hid/rdesc_fixup") > +int hid_rdesc_fixup(struct hid_bpf_ctx *ctx) No comment here to show the same as you put in the changelog saying what this function is doing? Otherwise it's hard for a non-HID developer to know that: > + > + ctx->data[39] = 0x31; > + ctx->data[41] = 0x30; Is flipping things. thanks, greg k-h
diff --git a/samples/bpf/hid_mouse_kern.c b/samples/bpf/hid_mouse_kern.c index c24a12e06b40..958820caaf5d 100644 --- a/samples/bpf/hid_mouse_kern.c +++ b/samples/bpf/hid_mouse_kern.c @@ -62,5 +62,30 @@ int hid_x_event(struct hid_bpf_ctx *ctx) return 0; } +SEC("hid/rdesc_fixup") +int hid_rdesc_fixup(struct hid_bpf_ctx *ctx) +{ + if (ctx->type != HID_BPF_RDESC_FIXUP) + return 0; + + bpf_printk("rdesc: %02x %02x %02x", + ctx->data[0], + ctx->data[1], + ctx->data[2]); + bpf_printk(" %02x %02x %02x", + ctx->data[3], + ctx->data[4], + ctx->data[5]); + bpf_printk(" %02x %02x %02x ...", + ctx->data[6], + ctx->data[7], + ctx->data[8]); + + ctx->data[39] = 0x31; + ctx->data[41] = 0x30; + + return 0; +} + char _license[] SEC("license") = "GPL"; u32 _version SEC("version") = LINUX_VERSION_CODE;
the program inverts the definition of X and Y at a given place in the report descriptor of my mouse. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> --- changes in v2: - split the series by bpf/libbpf/hid/selftests and samples --- samples/bpf/hid_mouse_kern.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)