cleanup, tags: Create tags for the cleanup primitives
authorPeter Zijlstra <peterz@infradead.org>
Mon, 6 Jan 2025 10:26:48 +0000 (11:26 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 10 Jan 2025 17:16:48 +0000 (18:16 +0100)
Oleg reported that it is hard to find the definition of things like:
__free(argv) without having to do 'git grep "DEFINE_FREE(argv,"'.

Add tag generation for the various macros in cleanup.h.

Notably 'DEFINE_FREE(argv, ...)' will now generate a 'cleanup_argv'
tag, while all the others, eg. 'DEFINE_GUARD(mutex, ...)' will
generate 'class_mutex' like tags.

Reported-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20250106102647.GB20870@noisy.programming.kicks-ass.net
scripts/tags.sh

index b21236377998027678325fe26c547d7281c1cfe5..7939aea731f1dc17d613d0ec40926b6e0ac3ba55 100755 (executable)
@@ -212,6 +212,13 @@ regex_c=(
        '/^SEQCOUNT_LOCKTYPE(\([^,]*\),[[:space:]]*\([^,]*\),[^)]*)/seqcount_\2_init/'
        '/^\<DECLARE_IDTENTRY[[:alnum:]_]*([^,)]*,[[:space:]]*\([[:alnum:]_]\+\)/\1/'
        '/^\<DEFINE_IDTENTRY[[:alnum:]_]*([[:space:]]*\([[:alnum:]_]\+\)/\1/'
+       '/^\<DEFINE_FREE(\([[:alnum:]_]\+\)/cleanup_\1/'
+       '/^\<DEFINE_CLASS(\([[:alnum:]_]\+\)/class_\1/'
+       '/^\<EXTEND_CLASS(\([[:alnum:]_]\+\),[[:space:]]*\([[:alnum:]_]\+\)/class_\1\2/'
+       '/^\<DEFINE_GUARD(\([[:alnum:]_]\+\)/class_\1/'
+       '/^\<DEFINE_GUARD_COND(\([[:alnum:]_]\+\),[[:space:]]*\([[:alnum:]_]\+\)/class_\1\2/'
+       '/^\<DEFINE_LOCK_GUARD_[[:digit:]](\([[:alnum:]_]\+\)/class_\1/'
+       '/^\<DEFINE_LOCK_GUARD_[[:digit:]]_COND(\([[:alnum:]_]\+\),[[:space:]]*\([[:alnum:]_]\+\)/class_\1\2/'
 )
 regex_kconfig=(
        '/^[[:blank:]]*\(menu\|\)config[[:blank:]]\+\([[:alnum:]_]\+\)/\2/'