From: Matthias Maennich <maennich@google.com> To: linux-kernel@vger.kernel.org Cc: kernel-team@android.com, maennich@google.com, Julia Lawall <julia.lawall@inria.fr>, YueHaibing <yuehaibing@huawei.com>, jeyu@kernel.org, cocci@systeme.lip6.fr, stable@vger.kernel.org Subject: [PATCH] scripts: add dummy report mode to add_namespace.cocci Date: Thu, 4 Jun 2020 18:41:45 +0200 [thread overview] Message-ID: <20200604164145.173925-1-maennich@google.com> (raw) 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.lawall@inria.fr> Fixes: c7c4e29fb5a4 ("scripts: add_namespace: Fix coccicheck failed") Cc: YueHaibing <yuehaibing@huawei.com> Cc: jeyu@kernel.org Cc: cocci@systeme.lip6.fr Cc: stable@vger.kernel.org Signed-off-by: Matthias Maennich <maennich@google.com> --- scripts/coccinelle/misc/add_namespace.cocci | 8 +++++++- scripts/nsdeps | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/coccinelle/misc/add_namespace.cocci b/scripts/coccinelle/misc/add_namespace.cocci index 99e93a6c2e24..cbf1614163cb 100644 --- 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@ +@@ diff --git a/scripts/nsdeps b/scripts/nsdeps index 03a8e7cbe6c7..dab4c1a0e27d 100644 --- a/scripts/nsdeps +++ b/scripts/nsdeps @@ -29,7 +29,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() { -- 2.27.0.rc2.251.g90737beb825-goog
WARNING: multiple messages have this Message-ID (diff)
From: Matthias Maennich <maennich@google.com> To: linux-kernel@vger.kernel.org Cc: YueHaibing <yuehaibing@huawei.com>, maennich@google.com, stable@vger.kernel.org, jeyu@kernel.org, kernel-team@android.com, cocci@systeme.lip6.fr Subject: [Cocci] [PATCH] scripts: add dummy report mode to add_namespace.cocci Date: Thu, 4 Jun 2020 18:41:45 +0200 [thread overview] Message-ID: <20200604164145.173925-1-maennich@google.com> (raw) 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.lawall@inria.fr> Fixes: c7c4e29fb5a4 ("scripts: add_namespace: Fix coccicheck failed") Cc: YueHaibing <yuehaibing@huawei.com> Cc: jeyu@kernel.org Cc: cocci@systeme.lip6.fr Cc: stable@vger.kernel.org Signed-off-by: Matthias Maennich <maennich@google.com> --- scripts/coccinelle/misc/add_namespace.cocci | 8 +++++++- scripts/nsdeps | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/coccinelle/misc/add_namespace.cocci b/scripts/coccinelle/misc/add_namespace.cocci index 99e93a6c2e24..cbf1614163cb 100644 --- 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@ +@@ diff --git a/scripts/nsdeps b/scripts/nsdeps index 03a8e7cbe6c7..dab4c1a0e27d 100644 --- a/scripts/nsdeps +++ b/scripts/nsdeps @@ -29,7 +29,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() { -- 2.27.0.rc2.251.g90737beb825-goog _______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci
next reply other threads:[~2020-06-04 16:42 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-06-04 16:41 Matthias Maennich [this message] 2020-06-04 16:41 ` [Cocci] [PATCH] scripts: add dummy report mode to add_namespace.cocci Matthias Maennich 2020-06-04 19:31 ` Julia Lawall 2020-06-04 19:31 ` [Cocci] " Julia Lawall 2020-06-04 20:39 ` Shuah Khan 2020-06-04 20:39 ` [Cocci] " Shuah Khan 2020-06-22 8:03 ` Matthias Maennich 2020-06-22 8:03 ` [Cocci] " Matthias Maennich 2020-06-22 8:59 ` Julia Lawall 2020-06-22 8:59 ` [Cocci] " Julia Lawall 2020-06-22 14:46 ` Shuah Khan 2020-06-22 14:46 ` [Cocci] " Shuah Khan 2020-06-22 15:06 ` Greg Kroah-Hartman 2020-06-22 15:06 ` [Cocci] " Greg Kroah-Hartman 2020-06-22 16:14 ` Shuah Khan 2020-06-22 16:14 ` [Cocci] " Shuah Khan 2020-08-06 19:48 ` Shuah Khan 2020-08-06 19:48 ` [Cocci] " Shuah Khan 2020-08-06 19:57 ` Greg Kroah-Hartman 2020-08-06 19:57 ` [Cocci] " Greg Kroah-Hartman 2020-08-06 20:02 ` Shuah Khan 2020-08-06 20:02 ` [Cocci] " Shuah Khan
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200604164145.173925-1-maennich@google.com \ --to=maennich@google.com \ --cc=cocci@systeme.lip6.fr \ --cc=jeyu@kernel.org \ --cc=julia.lawall@inria.fr \ --cc=kernel-team@android.com \ --cc=linux-kernel@vger.kernel.org \ --cc=stable@vger.kernel.org \ --cc=yuehaibing@huawei.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.