This is a note to let you know that I've just added the patch titled

    scripts: add dummy report mode to add_namespace.cocci

to the 5.4-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     scripts-add-dummy-report-mode-to-add_namespace.cocci.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <sta...@vger.kernel.org> know about it.


>From 55c7549819e438f40a3ef1d8ac5c38b73390bcb7 Mon Sep 17 00:00:00 2001
From: Matthias Maennich <maenn...@google.com>
Date: Thu, 4 Jun 2020 18:41:45 +0200
Subject: scripts: add dummy report mode to add_namespace.cocci

From: Matthias Maennich <maenn...@google.com>

commit 55c7549819e438f40a3ef1d8ac5c38b73390bcb7 upstream.

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 <julia.law...@inria.fr>
Fixes: c7c4e29fb5a4 ("scripts: add_namespace: Fix coccicheck failed")
Cc: YueHaibing <yuehaib...@huawei.com>
Cc: j...@kernel.org
Cc: cocci@systeme.lip6.fr
Cc: sta...@vger.kernel.org
Signed-off-by: Matthias Maennich <maenn...@google.com>
Reported-by: Shuah Khan <sk...@linuxfoundation.org>
Acked-by: Julia Lawall <julia.law...@inria.fr>
Link: https://lore.kernel.org/r/20200604164145.173925-1-maenn...@google.com
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 scripts/coccinelle/misc/add_namespace.cocci |    8 +++++++-
 scripts/nsdeps                              |    2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

--- a/scripts/coccinelle/misc/add_namespace.cocci
+++ b/scripts/coccinelle/misc/add_namespace.cocci
@@ -6,6 +6,7 @@
 /// add a missing namespace tag to a module source file.
 ///
 
+virtual nsdeps
 virtual report
 
 @has_ns_import@
@@ -16,10 +17,15 @@ 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.
-@do_import depends on !has_ns_import@
+@do_import depends on !has_ns_import && nsdeps@
 declarer name MODULE_LICENSE;
 expression license;
 identifier virtual.ns;
 @@
 MODULE_LICENSE(license);
 + MODULE_IMPORT_NS(ns);
+
+// Dummy rule for report mode that would otherwise be empty and make spatch
+// fail ("No rules apply.")
+@script:python depends on report@
+@@
--- a/scripts/nsdeps
+++ b/scripts/nsdeps
@@ -23,7 +23,7 @@ fi
 
 generate_deps_for_ns() {
        $SPATCH --very-quiet --in-place --sp-file \
-               $srctree/scripts/coccinelle/misc/add_namespace.cocci -D ns=$1 $2
+               $srctree/scripts/coccinelle/misc/add_namespace.cocci -D nsdeps 
-D ns=$1 $2
 }
 
 generate_deps() {


Patches currently in stable-queue which might be from maenn...@google.com are

queue-5.4/scripts-add-dummy-report-mode-to-add_namespace.cocci.patch
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

Reply via email to