Re: Coccinelle: semantic patch for missing of_node_put

From: Markus Elfring
Date: Sat May 18 2019 - 10:46:24 EST


> $ spatch --tokens-c drivers/of/base.c 2>&1 | grep "Tag3 " | grep "of_node_put() on it when done." | awk -F " - " '{print $1}' | grep -o "of_[[:print:]]*"

This command example points some details out for further software development considerations.

1. I find it questionable that relevant data are provided by the output channel
âstderrâ so far.
https://github.com/coccinelle/coccinelle/blob/66a1118e04a6aaf1acdae89623313c8e05158a8d/docs/manual/spatch_options.tex#L165

2. The OCaml code â"Tag" ^ string_of_int t ^â occurs in three source files.
* It is commented out in one file.
https://github.com/coccinelle/coccinelle/blob/761cf6a1fbbf3173896ff61f0ea7e4a83a5b2a57/commons/common.ml#L305

* These places refer to the source file âdumper.ml 1.2â by Richard W. M. Jones.
Thus it seems that this code is relevant at the moment.
https://github.com/coccinelle/coccinelle/blob/175de16bc7e535b6a89a62b81a673b0d0cd7075c/commons/ocamlextra/dumper.ml#L1

3. How will the software documentation evolve here?

4. Safe data processing can be performed only if the involved structures
will remain clear for a while.
Is the situation partly unclear?

Should the information after which function calls the function âof_node_putâ
should be called be determined from any other documentation format?

5. A programming language like âawkâ has got the potential to extract useful data
(also without calling the tool âgrepâ additionally).

Regards,
Markus