re: HID: add documentation and Coccinelle script for FF registration race
From: Julia Lawall <julia.lawall@inria.fr>
Date: 2026-08-18 12:08:21
Also in:
cocci, linux-input, lkml
On Tue, 18 Aug 2026, Ricardo Ribalda wrote:
Hi Dimitry Looks like media-ci is not particularly happy about this patch: https://gitlab.freedesktop.org/linux-media/users/ribalda/-/jobs/108127901 /usr/bin/spatch -D report --no-show-diff --very-quiet --cocci-file /builds/linux-media/users/ribalda/scripts/coccinelle/hid/ff_race.cocci --patch /builds/linux-media/users/ribalda --dir . -I /builds/linux-media/users/ribalda/arch/x86/include -I /builds/linux-media/users/ribalda/arch/x86/include/generated -I /builds/linux-media/users/ribalda/include -I /builds/linux-media/users/ribalda/include -I /builds/linux-media/users/ribalda/arch/x86/include/uapi -I /builds/linux-media/users/ribalda/arch/x86/include/generated/uapi -I /builds/linux-media/users/ribalda/include/uapi -I /builds/linux-media/users/ribalda/include/generated/uapi --include /builds/linux-media/users/ribalda/include/linux/compiler-version.h --include /builds/linux-media/users/ribalda/include/linux/kconfig.h --jobs 16 --chunksize 1 Position variable r.p2 on line 20 must be attached to some other token using @. coccicheck failed The following change fixes the issue for me... but you probably want to double check it, I am not proficient at cocci.
I would also like to improve this, as suggested in a previous mail. Could it be detached from the documentation change? Then I can take this part and fix it up. julia
quoted hunk ↗ jump to hunk
diff --git a/scripts/coccinelle/hid/ff_race.cocci b/scripts/coccinelle/hid/ff_race.cocci index 479f5d1e3184..7cf84936db13 100644 --- a/scripts/coccinelle/hid/ff_race.cocci +++ b/scripts/coccinelle/hid/ff_race.cocci@@ -9,7 +9,8 @@ virtual report @r@ identifier probe_fn; -expression hdev, flags; +identifier hdev; +expression flags; position p1, p2; @@@@ -17,7 +18,7 @@ probe_fn(struct hid_device *hdev, ...) { <... hid_hw_start@p1(hdev, flags) ... - \(input_ff_create\|input_ff_create_memless\)@p2(...) + \(input_ff_create@p2\|input_ff_create_memless@p2\)(...) ...> }Regards!