re: HID: add documentation and Coccinelle script for FF registration race

Ricardo Ribalda posted 1 patch 1 month, 1 week ago
re: HID: add documentation and Coccinelle script for FF registration race
Posted by Ricardo Ribalda 1 month, 1 week ago
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.

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!
re: HID: add documentation and Coccinelle script for FF registration race
Posted by Julia Lawall 1 month, 1 week ago

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

>
> 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!
>
Re: HID: add documentation and Coccinelle script for FF registration race
Posted by Ricardo Ribalda 1 month ago
[In plaintext this time, sorry for the previous HTML email[

Hi,

Just a heads-up that this this patch has landed in Linus tree, not
only in -next:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/scripts/coccinelle/hid/ff_race.cocci?id=225c30812857f47cb42bfd945a15f448f58e82cc

We should fix it before -rc1 is tagged

Regards!

On Tue, 18 Aug 2026 at 14:08, Julia Lawall <julia.lawall@inria.fr> wrote:
>
>
>
> 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
>
> >
> > 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!
> >



-- 
Ricardo Ribalda