On Fri, 13 Jan 2023, Benjamin Tissoires wrote:
Hi,
So this is the fix for the bug that actually prevented me to integrate HID-BPF in v6.2.
While testing the code base with LLVM, I realized that clang was smarter than I expected it to be, and it sometimes inlined a function or not depending on the branch. This lead to segfaults because my current code in linux-next is messing up the bpf programs refcounts assuming that I had enough observability over the kernel.
So I came back to the drawing board and realized that what I was missing was exactly a bpf_link, to represent the attachment of a bpf program to a HID device. This is the bulk of the series, in patch 6/9.
The other patches are cleanups, tests, and also the addition of the vmtests.sh script I run locally, largely inspired by the one in the bpf selftests dir. This allows very fast development of HID-BPF, assuming we have tests that cover the bugs :)
changes in v2:
- took Alexei's remarks into account and renamed the indexes into prog_table_index and hid_table_index
- fixed unused function as reported by the Intel kbuild bot
I've now applied this on top of the previous work in hid.git#for-6.3/hid-bpf