On Wed, 30 Oct 2019, Markus Elfring wrote: > > There is no reason why a patch should be generated in this case. > > As you should know well, A ... B only matches in a transformation case > > if every path from A leads to code matching B. That is not the case in your example. > > The exception handling code should usually be executed at the end of > function implementations after an error situation was detected. > > Do you try to refer to specific information from the software documentation > like the following? > > https://github.com/coccinelle/coccinelle/blob/ed1eb8e06f800739d3992158d36945c0c4c6f0c7/docs/manual/cocci_syntax.tex#L179 > “… > A depends on clause can further indicate whether the clause should be satisfied > for all the branches (forall) or only for one (exists). exists is the default. > …” There is no depends on in your code. The cited text is not relevant. julia > > The following simple transformation approach seems to work in the way > which I expected somehow initially. > > @addition exists@ > expression object; > @@ > object = kzalloc(...) > ... when any > device_unregister(...); > out: > +kfree(object); > return ERR_PTR(...); > > > Does this change specification indicate then a disagreement about > a default SmPL rule property? > > Regards, > Markus >