[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220304172852.274126-12-benjamin.tissoires@redhat.com>
Date: Fri, 4 Mar 2022 18:28:35 +0100
From: Benjamin Tissoires <benjamin.tissoires@...hat.com>
To: Greg KH <gregkh@...uxfoundation.org>,
Jiri Kosina <jikos@...nel.org>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>,
Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>,
John Fastabend <john.fastabend@...il.com>,
KP Singh <kpsingh@...nel.org>, Shuah Khan <shuah@...nel.org>,
Dave Marchevsky <davemarchevsky@...com>,
Joe Stringer <joe@...ium.io>
Cc: Tero Kristo <tero.kristo@...ux.intel.com>,
linux-kernel@...r.kernel.org, linux-input@...r.kernel.org,
netdev@...r.kernel.org, bpf@...r.kernel.org,
linux-kselftest@...r.kernel.org,
Benjamin Tissoires <benjamin.tissoires@...hat.com>
Subject: [PATCH bpf-next v2 11/28] samples/bpf: add a report descriptor fixup
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@...hat.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)
+{
+ 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;
--
2.35.1
Powered by blists - more mailing lists