scripts/nsdeps: get 'make nsdeps' working again
authorMasahiro Yamada <masahiroy@kernel.org>
Tue, 3 Dec 2024 10:21:05 +0000 (19:21 +0900)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 3 Dec 2024 16:22:25 +0000 (08:22 -0800)
Since commit cdd30ebb1b9f ("module: Convert symbol namespace to string
literal"), when MODULE_IMPORT_NS() is missing, 'make nsdeps' inserts
pointless code:

    MODULE_IMPORT_NS("ns");

Here, "ns" is not a namespace, but the variable in the semantic patch.
It must not be quoted. Instead, a string literal must be passed to
Coccinelle.

Fixes: cdd30ebb1b9f ("module: Convert symbol namespace to string literal")
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
scripts/coccinelle/misc/add_namespace.cocci
scripts/nsdeps

index d66c4e3cd946820d6e02b9fa1d0e7bbce80f4686..cbf1614163cb81b840a4e0f7cbaec5626b5fb7e1 100644 (file)
@@ -13,7 +13,7 @@ virtual report
 declarer name MODULE_IMPORT_NS;
 identifier virtual.ns;
 @@
-MODULE_IMPORT_NS("ns");
+MODULE_IMPORT_NS(ns);
 
 // Add missing imports, but only adjacent to a MODULE_LICENSE statement.
 // That ensures we are adding it only to the main module source file.
@@ -23,7 +23,7 @@ expression license;
 identifier virtual.ns;
 @@
 MODULE_LICENSE(license);
-+ MODULE_IMPORT_NS("ns");
++ MODULE_IMPORT_NS(ns);
 
 // Dummy rule for report mode that would otherwise be empty and make spatch
 // fail ("No rules apply.")
index bab4ec870e50512e718c117839a769b7d929cab4..a3372166ac01b91a8f8d654e187edcfe7e566415 100644 (file)
@@ -21,7 +21,7 @@ fi
 
 generate_deps_for_ns() {
        $SPATCH --very-quiet --in-place --sp-file \
-               $srctree/scripts/coccinelle/misc/add_namespace.cocci -D nsdeps -D ns=$1 $2
+               $srctree/scripts/coccinelle/misc/add_namespace.cocci -D nsdeps -D ns=\"$1\" $2
 }
 
 generate_deps() {