> I'm not the one to decide whether we should use cleanup for mutex locks. Would you get further development ideas from another bit of source code analysis which can be performed also with the help of the following small script variant for the semantic patch language? @initialize:python@ @@ import sys delimiter = "|" def format_data(places, item, input): for place in places: sys.stdout.write(delimiter.join([item, str(input), place.current_element, place.file, place.line, str(int(place.column) + 1) ])) sys.stdout.write("\n") @find@ expression list el; identifier item; position p; @@ guard@p (item) (el); @script:python output@ input << find.el; item << find.item; places << find.p; @@ format_data(places, item, input) Thus it seems that special “guards” are used at 678 source code places of the software “Linux next-20240529”. https://elixir.bootlin.com/linux/v6.10-rc1/source/include/linux/cleanup.h#L124 Will interests accordingly grow for further collateral evolution? Regards, Markus