Skip to content

Commit 55c7549

Browse files
mettigregkh
authored andcommitted
scripts: add dummy report mode to add_namespace.cocci
When running `make coccicheck` in report mode using the add_namespace.cocci file, it will fail for files that contain MODULE_LICENSE. Those match the replacement precondition, but spatch errors out as virtual.ns is not set. In order to fix that, add the virtual rule nsdeps and only do search and replace if that rule has been explicitly requested. In order to make spatch happy in report mode, we also need a dummy rule, as otherwise it errors out with "No rules apply". Using a script:python rule appears unrelated and odd, but this is the shortest I could come up with. Adjust scripts/nsdeps accordingly to set the nsdeps rule when run trough `make nsdeps`. Suggested-by: Julia Lawall <[email protected]> Fixes: c7c4e29 ("scripts: add_namespace: Fix coccicheck failed") Cc: YueHaibing <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Signed-off-by: Matthias Maennich <[email protected]> Reported-by: Shuah Khan <[email protected]> Acked-by: Julia Lawall <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 5962b8b commit 55c7549

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

scripts/coccinelle/misc/add_namespace.cocci

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
/// add a missing namespace tag to a module source file.
77
///
88

9+
virtual nsdeps
910
virtual report
1011

1112
@has_ns_import@
@@ -16,10 +17,15 @@ MODULE_IMPORT_NS(ns);
1617

1718
// Add missing imports, but only adjacent to a MODULE_LICENSE statement.
1819
// That ensures we are adding it only to the main module source file.
19-
@do_import depends on !has_ns_import@
20+
@do_import depends on !has_ns_import && nsdeps@
2021
declarer name MODULE_LICENSE;
2122
expression license;
2223
identifier virtual.ns;
2324
@@
2425
MODULE_LICENSE(license);
2526
+ MODULE_IMPORT_NS(ns);
27+
28+
// Dummy rule for report mode that would otherwise be empty and make spatch
29+
// fail ("No rules apply.")
30+
@script:python depends on report@
31+
@@

scripts/nsdeps

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ fi
2929

3030
generate_deps_for_ns() {
3131
$SPATCH --very-quiet --in-place --sp-file \
32-
$srctree/scripts/coccinelle/misc/add_namespace.cocci -D ns=$1 $2
32+
$srctree/scripts/coccinelle/misc/add_namespace.cocci -D nsdeps -D ns=$1 $2
3333
}
3434

3535
generate_deps() {

0 commit comments

Comments
 (0)