[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b30c7227-c596-4980-aa46-a75b1d429354@web.de>
Date: Fri, 29 Nov 2024 13:38:39 +0100
From: Markus Elfring <Markus.Elfring@....de>
To: Christian Göttsche <cgzones@...glemail.com>,
linux-security-module@...r.kernel.org, cocci@...ia.fr,
Julia Lawall <Julia.Lawall@...ia.fr>, Nicolas Palix <nicolas.palix@...g.fr>,
Serge Hallyn <serge@...lyn.com>
Cc: Christian Göttsche <cgoettsche@...tendoof.de>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [cocci] [PATCH 01/11] coccinelle: Add script to reorder capable()
calls
…
> +++ b/scripts/coccinelle/api/capable_order.cocci
…
> +@ depends on patch@
> +identifier F = { capable, ns_capable, sockopt_ns_capable };
> +binary operator op,op1,op2;
…
> +- F@p(EL) op E
> ++ E op F(EL)
…
It can be amazing how many source code places can be handled by such
a transformation approach already.
I hope that corresponding data processing requirement analyses will trigger
further collateral evolution.
You propose to use the metavariable types “expression” and “binary operator”.
These filters have got the potential to match more source code than it would be
intended here.
The length of computations behind a selected operator is not really restricted.
Such expressions can probably contain varying operator chains.
There is a desire to split the affected code into subexpressions.
Special development challenges are involved accordingly.
I find it safer and more promising to use scripting interfaces for this use case.
https://gitlab.inria.fr/coccinelle/coccinelle/-/blob/620463b4bfb8bdc5c99dabfdfa337b34cbaa9ef1/docs/manual/cocci_syntax.tex#L655
Unfortunately, required programming interfaces (for OCaml and Python) probably
need significant improvements.
Regards,
Markus
Powered by blists - more mailing lists