Coccinelle Archive on lore.kernel.org
 help / color / Atom feed
* [Cocci] How to match function-like macro calls, e.g. RTA_ALIGN(rta->rta_len)?
@ 2021-01-11 20:06 Denis Efremov
  2021-01-11 20:23 ` Julia Lawall
  0 siblings, 1 reply; 7+ messages in thread
From: Denis Efremov @ 2021-01-11 20:06 UTC (permalink / raw)
  To: Coccinelle

Hi,

Let's suppose I want to match otx_cpt_aead_cbc_aes_sha_setkey() function from
drivers/crypto/marvell/octeontx/otx_cptvf_algs.c file (linux kernel).

My pattern:
@exists@
identifier rta, param, key, keylen;
position p;
@@

otx_cpt_aead_cbc_aes_sha_setkey(...,
	unsigned char *key, unsigned int keylen)
{
	...
*	if (RTA_PAYLOAD(rta) < sizeof(*param))@p
		goto badkey;
	...
*	key += RTA_ALIGN(rta->rta_len);
*	keylen -= RTA_ALIGN(rta->rta_len);
	...
}

$ spatch --no-includes --include-headers --cocci-file test.cocci drivers/crypto/marvell/octeontx/otx_cptvf_algs.c
init_defs_builtins: /usr/lib64/coccinelle/standard.h
minus: parse error: 
  File "test.cocci", line 13, column 9, charpos = 219
  around = 'RTA_ALIGN',
  whole content = *     key += RTA_ALIGN(rta->rta_len);


What can I do to match RTA_ALIGN(...) lines?

Thanks,
Denis
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Cocci] How to match function-like macro calls, e.g. RTA_ALIGN(rta->rta_len)?
  2021-01-11 20:06 [Cocci] How to match function-like macro calls, e.g. RTA_ALIGN(rta->rta_len)? Denis Efremov
@ 2021-01-11 20:23 ` Julia Lawall
  2021-01-11 20:32   ` Denis Efremov
  0 siblings, 1 reply; 7+ messages in thread
From: Julia Lawall @ 2021-01-11 20:23 UTC (permalink / raw)
  To: Denis Efremov; +Cc: Coccinelle



On Mon, 11 Jan 2021, Denis Efremov wrote:

> Hi,
>
> Let's suppose I want to match otx_cpt_aead_cbc_aes_sha_setkey() function from
> drivers/crypto/marvell/octeontx/otx_cptvf_algs.c file (linux kernel).
>
> My pattern:
> @exists@
> identifier rta, param, key, keylen;
> position p;
> @@
>
> otx_cpt_aead_cbc_aes_sha_setkey(...,
> 	unsigned char *key, unsigned int keylen)
> {
> 	...
> *	if (RTA_PAYLOAD(rta) < sizeof(*param))@p
> 		goto badkey;
> 	...
> *	key += RTA_ALIGN(rta->rta_len);
> *	keylen -= RTA_ALIGN(rta->rta_len);
> 	...
> }
>
> $ spatch --no-includes --include-headers --cocci-file test.cocci drivers/crypto/marvell/octeontx/otx_cptvf_algs.c
> init_defs_builtins: /usr/lib64/coccinelle/standard.h
> minus: parse error:
>   File "test.cocci", line 13, column 9, charpos = 219
>   around = 'RTA_ALIGN',
>   whole content = *     key += RTA_ALIGN(rta->rta_len);
>
>
> What can I do to match RTA_ALIGN(...) lines?

I don't understand the problem.  I took your rule and your command line,
and everything was fine.

julia
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Cocci] How to match function-like macro calls, e.g. RTA_ALIGN(rta->rta_len)?
  2021-01-11 20:23 ` Julia Lawall
@ 2021-01-11 20:32   ` Denis Efremov
  2021-01-11 20:40     ` Julia Lawall
  0 siblings, 1 reply; 7+ messages in thread
From: Denis Efremov @ 2021-01-11 20:32 UTC (permalink / raw)
  To: Julia Lawall; +Cc: Coccinelle



On 1/11/21 11:23 PM, Julia Lawall wrote:
> 
> 
> On Mon, 11 Jan 2021, Denis Efremov wrote:
> 
>> Hi,
>>
>> Let's suppose I want to match otx_cpt_aead_cbc_aes_sha_setkey() function from
>> drivers/crypto/marvell/octeontx/otx_cptvf_algs.c file (linux kernel).
>>
>> My pattern:
>> @exists@
>> identifier rta, param, key, keylen;
>> position p;
>> @@
>>
>> otx_cpt_aead_cbc_aes_sha_setkey(...,
>> 	unsigned char *key, unsigned int keylen)
>> {
>> 	...
>> *	if (RTA_PAYLOAD(rta) < sizeof(*param))@p
>> 		goto badkey;
>> 	...
>> *	key += RTA_ALIGN(rta->rta_len);
>> *	keylen -= RTA_ALIGN(rta->rta_len);
>> 	...
>> }
>>
>> $ spatch --no-includes --include-headers --cocci-file test.cocci drivers/crypto/marvell/octeontx/otx_cptvf_algs.c
>> init_defs_builtins: /usr/lib64/coccinelle/standard.h
>> minus: parse error:
>>   File "test.cocci", line 13, column 9, charpos = 219
>>   around = 'RTA_ALIGN',
>>   whole content = *     key += RTA_ALIGN(rta->rta_len);
>>
>>
>> What can I do to match RTA_ALIGN(...) lines?
> 
> I don't understand the problem.  I took your rule and your command line,
> and everything was fine.

I use version:
spatch version 1.0.8-gc1dbb4f-dirty compiled with OCaml version 4.11.1
Flags passed to the configure script: --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-python=/usr/bin/python3 --with-menhir=/usr/bin/menhir
OCaml scripting support: yes
Python scripting support: yes
Syntax of regular expressions: PCRE

Maybe parsing error is fixed in new versions?

_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Cocci] How to match function-like macro calls, e.g. RTA_ALIGN(rta->rta_len)?
  2021-01-11 20:32   ` Denis Efremov
@ 2021-01-11 20:40     ` Julia Lawall
  2021-01-11 20:49       ` Denis Efremov
  0 siblings, 1 reply; 7+ messages in thread
From: Julia Lawall @ 2021-01-11 20:40 UTC (permalink / raw)
  To: Denis Efremov; +Cc: Coccinelle



On Mon, 11 Jan 2021, Denis Efremov wrote:

>
>
> On 1/11/21 11:23 PM, Julia Lawall wrote:
> >
> >
> > On Mon, 11 Jan 2021, Denis Efremov wrote:
> >
> >> Hi,
> >>
> >> Let's suppose I want to match otx_cpt_aead_cbc_aes_sha_setkey() function from
> >> drivers/crypto/marvell/octeontx/otx_cptvf_algs.c file (linux kernel).
> >>
> >> My pattern:
> >> @exists@
> >> identifier rta, param, key, keylen;
> >> position p;
> >> @@
> >>
> >> otx_cpt_aead_cbc_aes_sha_setkey(...,
> >> 	unsigned char *key, unsigned int keylen)
> >> {
> >> 	...
> >> *	if (RTA_PAYLOAD(rta) < sizeof(*param))@p
> >> 		goto badkey;
> >> 	...
> >> *	key += RTA_ALIGN(rta->rta_len);
> >> *	keylen -= RTA_ALIGN(rta->rta_len);
> >> 	...
> >> }
> >>
> >> $ spatch --no-includes --include-headers --cocci-file test.cocci drivers/crypto/marvell/octeontx/otx_cptvf_algs.c
> >> init_defs_builtins: /usr/lib64/coccinelle/standard.h
> >> minus: parse error:
> >>   File "test.cocci", line 13, column 9, charpos = 219
> >>   around = 'RTA_ALIGN',
> >>   whole content = *     key += RTA_ALIGN(rta->rta_len);
> >>
> >>
> >> What can I do to match RTA_ALIGN(...) lines?
> >
> > I don't understand the problem.  I took your rule and your command line,
> > and everything was fine.
>
> I use version:
> spatch version 1.0.8-gc1dbb4f-dirty compiled with OCaml version 4.11.1
> Flags passed to the configure script: --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-python=/usr/bin/python3 --with-menhir=/usr/bin/menhir
> OCaml scripting support: yes
> Python scripting support: yes
> Syntax of regular expressions: PCRE
>
> Maybe parsing error is fixed in new versions?

I can't imagine what would cause a parsing error here.  I don't see what
could be special about RTA_ALIGN.  Normally Coccinelle doesn't even know
that it is a macro.  Maybe you can try to simplify the semantic patch a
little bit and see if there is some change that causes the problem to
disappear?  Does the problem disappear if you use a name other than
RTA_ALIGN?

julia
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Cocci] How to match function-like macro calls, e.g. RTA_ALIGN(rta->rta_len)?
  2021-01-11 20:40     ` Julia Lawall
@ 2021-01-11 20:49       ` Denis Efremov
  2021-01-11 20:59         ` Julia Lawall
  0 siblings, 1 reply; 7+ messages in thread
From: Denis Efremov @ 2021-01-11 20:49 UTC (permalink / raw)
  To: Julia Lawall; +Cc: Coccinelle



On 1/11/21 11:40 PM, Julia Lawall wrote:
> 
> 
> On Mon, 11 Jan 2021, Denis Efremov wrote:
> 
>>
>>
>> On 1/11/21 11:23 PM, Julia Lawall wrote:
>>>
>>>
>>> On Mon, 11 Jan 2021, Denis Efremov wrote:
>>>
>>>> Hi,
>>>>
>>>> Let's suppose I want to match otx_cpt_aead_cbc_aes_sha_setkey() function from
>>>> drivers/crypto/marvell/octeontx/otx_cptvf_algs.c file (linux kernel).
>>>>
>>>> My pattern:
>>>> @exists@
>>>> identifier rta, param, key, keylen;
>>>> position p;
>>>> @@
>>>>
>>>> otx_cpt_aead_cbc_aes_sha_setkey(...,
>>>> 	unsigned char *key, unsigned int keylen)
>>>> {
>>>> 	...
>>>> *	if (RTA_PAYLOAD(rta) < sizeof(*param))@p
>>>> 		goto badkey;
>>>> 	...
>>>> *	key += RTA_ALIGN(rta->rta_len);
>>>> *	keylen -= RTA_ALIGN(rta->rta_len);
>>>> 	...
>>>> }
>>>>
>>>> $ spatch --no-includes --include-headers --cocci-file test.cocci drivers/crypto/marvell/octeontx/otx_cptvf_algs.c
>>>> init_defs_builtins: /usr/lib64/coccinelle/standard.h
>>>> minus: parse error:
>>>>   File "test.cocci", line 13, column 9, charpos = 219
>>>>   around = 'RTA_ALIGN',
>>>>   whole content = *     key += RTA_ALIGN(rta->rta_len);
>>>>
>>>>
>>>> What can I do to match RTA_ALIGN(...) lines?
>>>
>>> I don't understand the problem.  I took your rule and your command line,
>>> and everything was fine.
>>
>> I use version:
>> spatch version 1.0.8-gc1dbb4f-dirty compiled with OCaml version 4.11.1
>> Flags passed to the configure script: --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-python=/usr/bin/python3 --with-menhir=/usr/bin/menhir
>> OCaml scripting support: yes
>> Python scripting support: yes
>> Syntax of regular expressions: PCRE
>>
>> Maybe parsing error is fixed in new versions?
> 
> I can't imagine what would cause a parsing error here.  I don't see what
> could be special about RTA_ALIGN.  Normally Coccinelle doesn't even know
> that it is a macro.  Maybe you can try to simplify the semantic patch a
> little bit and see if there is some change that causes the problem to
> disappear?  Does the problem disappear if you use a name other than
> RTA_ALIGN?

Changing:
	key += RTA_ALIGN(rta->rta_len);
to:
	key = RTA_ALIGN(rta->rta_len);

makes the parsing error disappear.

Using aop instead of += leads to the same parsing error:
assignment operator aop;
key aop RTA_ALIGN(rta->rta_len);
init_defs_builtins: /usr/lib64/coccinelle/standard.h
minus: parse error: 
  File "test.cocci", line 14, column 10, charpos = 245
  around = 'RTA_ALIGN',
  whole content = *     key aop RTA_ALIGN(rta->rta_len);

Denis
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Cocci] How to match function-like macro calls, e.g. RTA_ALIGN(rta->rta_len)?
  2021-01-11 20:49       ` Denis Efremov
@ 2021-01-11 20:59         ` Julia Lawall
  2021-01-11 21:12           ` Denis Efremov
  0 siblings, 1 reply; 7+ messages in thread
From: Julia Lawall @ 2021-01-11 20:59 UTC (permalink / raw)
  To: Denis Efremov; +Cc: Coccinelle



On Mon, 11 Jan 2021, Denis Efremov wrote:

>
>
> On 1/11/21 11:40 PM, Julia Lawall wrote:
> >
> >
> > On Mon, 11 Jan 2021, Denis Efremov wrote:
> >
> >>
> >>
> >> On 1/11/21 11:23 PM, Julia Lawall wrote:
> >>>
> >>>
> >>> On Mon, 11 Jan 2021, Denis Efremov wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> Let's suppose I want to match otx_cpt_aead_cbc_aes_sha_setkey() function from
> >>>> drivers/crypto/marvell/octeontx/otx_cptvf_algs.c file (linux kernel).
> >>>>
> >>>> My pattern:
> >>>> @exists@
> >>>> identifier rta, param, key, keylen;
> >>>> position p;
> >>>> @@
> >>>>
> >>>> otx_cpt_aead_cbc_aes_sha_setkey(...,
> >>>> 	unsigned char *key, unsigned int keylen)
> >>>> {
> >>>> 	...
> >>>> *	if (RTA_PAYLOAD(rta) < sizeof(*param))@p
> >>>> 		goto badkey;
> >>>> 	...
> >>>> *	key += RTA_ALIGN(rta->rta_len);
> >>>> *	keylen -= RTA_ALIGN(rta->rta_len);
> >>>> 	...
> >>>> }
> >>>>
> >>>> $ spatch --no-includes --include-headers --cocci-file test.cocci drivers/crypto/marvell/octeontx/otx_cptvf_algs.c
> >>>> init_defs_builtins: /usr/lib64/coccinelle/standard.h
> >>>> minus: parse error:
> >>>>   File "test.cocci", line 13, column 9, charpos = 219
> >>>>   around = 'RTA_ALIGN',
> >>>>   whole content = *     key += RTA_ALIGN(rta->rta_len);
> >>>>
> >>>>
> >>>> What can I do to match RTA_ALIGN(...) lines?
> >>>
> >>> I don't understand the problem.  I took your rule and your command line,
> >>> and everything was fine.
> >>
> >> I use version:
> >> spatch version 1.0.8-gc1dbb4f-dirty compiled with OCaml version 4.11.1
> >> Flags passed to the configure script: --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-python=/usr/bin/python3 --with-menhir=/usr/bin/menhir
> >> OCaml scripting support: yes
> >> Python scripting support: yes
> >> Syntax of regular expressions: PCRE
> >>
> >> Maybe parsing error is fixed in new versions?
> >
> > I can't imagine what would cause a parsing error here.  I don't see what
> > could be special about RTA_ALIGN.  Normally Coccinelle doesn't even know
> > that it is a macro.  Maybe you can try to simplify the semantic patch a
> > little bit and see if there is some change that causes the problem to
> > disappear?  Does the problem disappear if you use a name other than
> > RTA_ALIGN?
>
> Changing:
> 	key += RTA_ALIGN(rta->rta_len);
> to:
> 	key = RTA_ALIGN(rta->rta_len);
>
> makes the parsing error disappear.
>
> Using aop instead of += leads to the same parsing error:
> assignment operator aop;
> key aop RTA_ALIGN(rta->rta_len);
> init_defs_builtins: /usr/lib64/coccinelle/standard.h
> minus: parse error:
>   File "test.cocci", line 14, column 10, charpos = 245
>   around = 'RTA_ALIGN',
>   whole content = *     key aop RTA_ALIGN(rta->rta_len);

I assume not, but does spatch --parse-cocci test.cocci work?

julia
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Cocci] How to match function-like macro calls, e.g. RTA_ALIGN(rta->rta_len)?
  2021-01-11 20:59         ` Julia Lawall
@ 2021-01-11 21:12           ` Denis Efremov
  0 siblings, 0 replies; 7+ messages in thread
From: Denis Efremov @ 2021-01-11 21:12 UTC (permalink / raw)
  To: Julia Lawall; +Cc: Coccinelle



On 1/11/21 11:59 PM, Julia Lawall wrote:
> 
> 
> On Mon, 11 Jan 2021, Denis Efremov wrote:
> 
>>
>>
>> On 1/11/21 11:40 PM, Julia Lawall wrote:
>>>
>>>
>>> On Mon, 11 Jan 2021, Denis Efremov wrote:
>>>
>>>>
>>>>
>>>> On 1/11/21 11:23 PM, Julia Lawall wrote:
>>>>>
>>>>>
>>>>> On Mon, 11 Jan 2021, Denis Efremov wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Let's suppose I want to match otx_cpt_aead_cbc_aes_sha_setkey() function from
>>>>>> drivers/crypto/marvell/octeontx/otx_cptvf_algs.c file (linux kernel).
>>>>>>
>>>>>> My pattern:
>>>>>> @exists@
>>>>>> identifier rta, param, key, keylen;
>>>>>> position p;
>>>>>> @@
>>>>>>
>>>>>> otx_cpt_aead_cbc_aes_sha_setkey(...,
>>>>>> 	unsigned char *key, unsigned int keylen)
>>>>>> {
>>>>>> 	...
>>>>>> *	if (RTA_PAYLOAD(rta) < sizeof(*param))@p
>>>>>> 		goto badkey;
>>>>>> 	...
>>>>>> *	key += RTA_ALIGN(rta->rta_len);
>>>>>> *	keylen -= RTA_ALIGN(rta->rta_len);
>>>>>> 	...
>>>>>> }
>>>>>>
>>>>>> $ spatch --no-includes --include-headers --cocci-file test.cocci drivers/crypto/marvell/octeontx/otx_cptvf_algs.c
>>>>>> init_defs_builtins: /usr/lib64/coccinelle/standard.h
>>>>>> minus: parse error:
>>>>>>   File "test.cocci", line 13, column 9, charpos = 219
>>>>>>   around = 'RTA_ALIGN',
>>>>>>   whole content = *     key += RTA_ALIGN(rta->rta_len);
>>>>>>
>>>>>>
>>>>>> What can I do to match RTA_ALIGN(...) lines?
>>>>>
>>>>> I don't understand the problem.  I took your rule and your command line,
>>>>> and everything was fine.
>>>>
>>>> I use version:
>>>> spatch version 1.0.8-gc1dbb4f-dirty compiled with OCaml version 4.11.1
>>>> Flags passed to the configure script: --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-python=/usr/bin/python3 --with-menhir=/usr/bin/menhir
>>>> OCaml scripting support: yes
>>>> Python scripting support: yes
>>>> Syntax of regular expressions: PCRE
>>>>
>>>> Maybe parsing error is fixed in new versions?
>>>
>>> I can't imagine what would cause a parsing error here.  I don't see what
>>> could be special about RTA_ALIGN.  Normally Coccinelle doesn't even know
>>> that it is a macro.  Maybe you can try to simplify the semantic patch a
>>> little bit and see if there is some change that causes the problem to
>>> disappear?  Does the problem disappear if you use a name other than
>>> RTA_ALIGN?
>>
>> Changing:
>> 	key += RTA_ALIGN(rta->rta_len);
>> to:
>> 	key = RTA_ALIGN(rta->rta_len);
>>
>> makes the parsing error disappear.
>>
>> Using aop instead of += leads to the same parsing error:
>> assignment operator aop;
>> key aop RTA_ALIGN(rta->rta_len);
>> init_defs_builtins: /usr/lib64/coccinelle/standard.h
>> minus: parse error:
>>   File "test.cocci", line 14, column 10, charpos = 245
>>   around = 'RTA_ALIGN',
>>   whole content = *     key aop RTA_ALIGN(rta->rta_len);
> 
> I assume not, but does spatch --parse-cocci test.cocci work?

Works with "key =" pattern, with "key +=" or "key aop" doesn't.
The errors are the same:
spatch --parse-cocci test.cocci 
init_defs_builtins: /usr/lib64/coccinelle/standard.h
minus: parse error: 
  File "test.cocci", line 13, column 9, charpos = 219
  around = 'RTA_ALIGN',
  whole content = *     key += RTA_ALIGN(rta->rta_len);

Denis
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, back to index

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-11 20:06 [Cocci] How to match function-like macro calls, e.g. RTA_ALIGN(rta->rta_len)? Denis Efremov
2021-01-11 20:23 ` Julia Lawall
2021-01-11 20:32   ` Denis Efremov
2021-01-11 20:40     ` Julia Lawall
2021-01-11 20:49       ` Denis Efremov
2021-01-11 20:59         ` Julia Lawall
2021-01-11 21:12           ` Denis Efremov

Coccinelle Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/cocci/0 cocci/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 cocci cocci/ https://lore.kernel.org/cocci \
		cocci@systeme.lip6.fr
	public-inbox-index cocci

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/fr.lip6.systeme.cocci


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git