Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp1440177ybg; Thu, 4 Jun 2020 09:44:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyxvRO5tjIEXwfshheIWpuCzbpaBbucQmP25Me2oVDUDllcm0WVSr84Sb+bE5xPJPduZusc X-Received: by 2002:a17:906:1f15:: with SMTP id w21mr4281434ejj.265.1591289073040; Thu, 04 Jun 2020 09:44:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591289073; cv=none; d=google.com; s=arc-20160816; b=XqRbFWbNINTyERdp6Zlm850yb61awwYZcc2er2cDeUZZASOD1czRI+OnLltFvU/w4O dqXudV67Q5Ox8Vl+H4fdQVja+hwsdg1r7PflO6qypWoQGHHoPgkMRdLeDdWn/XyaZJHo 7CIRq5QEimKCQg0VUeoxzt1JIeVOQlhK0KDGufKE0orYQBB1t5sBMUfdEJyXAnn1NlBJ 6W8JtsiLg1QCx3SgcHLURsXL3UNQ0bFA2yMPA35ZpJe4yB36YADkB0j/VFOHChXp9Z2l BkLr7oHrhDbnaVP2fUH+vMQwEZJAxKxUhBQzMPcwiOnnFKVMbTzWXKORXJ+/NmbLlYAs hQcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:from:subject:mime-version :message-id:date:dkim-signature; bh=pofY5UnHBtE2yEYmKDPS6cR9bq/E80+ZeaPnrnMNK98=; b=XhS0Q3/RbDlYO4sBE+JDtUoeS8AMuKPXCyuxRQouERgsUu8BosZQydqtkmqPaiT928 DuiQnSzM5zMk8227yD6deNzWMvGre8b7Ey4T6EeaZZ5nPsZVktge32fXNMMI6eVxcCiL krCtUp+wuAMmO5mQEOsqKIRA2RoeOp88p2JNOcE/EAD7Z9TUAwaTyOXcL58X5Inc3/QJ e6Ve6kpLu/LGYdou1NMJ7G5KqRgLyXGFgPYRy1ta2dhm3xH5g33p+FQA5BS+HSJptFqW HJJcaMJDRSzv+9YX7srCSRnR60j1hBalOcuOe6SY7azT25Qp0jRqk4lOku7RXKusK+Ou 1jxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ub4mWTHg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d23si1881557ejt.618.2020.06.04.09.44.09; Thu, 04 Jun 2020 09:44:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ub4mWTHg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729861AbgFDQmN (ORCPT + 99 others); Thu, 4 Jun 2020 12:42:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45818 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729115AbgFDQmN (ORCPT ); Thu, 4 Jun 2020 12:42:13 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B57EC08C5C1 for ; Thu, 4 Jun 2020 09:42:13 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id f187so8655866ybc.2 for ; Thu, 04 Jun 2020 09:42:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=pofY5UnHBtE2yEYmKDPS6cR9bq/E80+ZeaPnrnMNK98=; b=ub4mWTHgAmvJMZjGWw+3krHG/dMMay/tEALCX2G/rPbqjl75Y1uFKqie5t1rgrrhON mSo60E/ut95d77LLkZkje/FzRws70wUBRcAvqqI6aATgZOEQANEMIjEbyhsrSIwC/se1 +gGkOGCIm1IyRrH4kWj4cbjTNvz6C+D4ft584XFWfpJ7iRrH7vNHTY3oULr4Z6pRVU6G BavBT5hfTMSMPCNrPtuEOHmz9ygqHX4Urzmv6tacLepDNsToQeLuvQr0aZV2GY+d7uvc FqYz0BricpkB/+MN9552QQhFDDWbsbpx/QxKWrc7keuS8FBrMpqkSeSwwHcn2IhJ2wAB UILw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=pofY5UnHBtE2yEYmKDPS6cR9bq/E80+ZeaPnrnMNK98=; b=jNkDN7oAxMaBI8Gq4xoNAM0w9kZVbjTjtyLX0K0oQSRPodaLpDKf32Wy6PRjCbV5QW zZqsu5KHkqAdSQn/h2a+wTQ2wGVGHnOoL6GprBQzavyQwim0zm4MNTVZSzxqDI7wyg0b xQHXva95fe2futZggOBim/Jjy53/i1VCW2Vm6oZs2aTSTMjmx0xNVW4eSsaMHcTEpHN8 7N2ZF862v8XTgmR+OU3OQLOloALlfWe4ckJVfNIckU2A61bUh3b3m0fOosDuLvxRZbfA sviZhfK7AL0OR53axMB/u4Uz/vuhKM9ikyhXnosJ85B5ozroutt82IyBOSRFcS+4mXsu ATwg== X-Gm-Message-State: AOAM532gGESV17o3QKlIMxrLEewKOGwNL5sytSkVLo9PAftyG+caEEGJ BxCCRhClUFSCgCg3SX+GYrt2Ak38cXVcD77cGz5HHturxaPoXV+rZ7Lw1G5h35qmrCawVuZOfAm jR0nVI/tBejd00GL/czCV8sY+rwlL1cw9lavtlfMklPVUWGXRmt9fyXANooph9CZTHD06+2g6Q+ w= X-Received: by 2002:a25:5804:: with SMTP id m4mr9094629ybb.488.1591288932392; Thu, 04 Jun 2020 09:42:12 -0700 (PDT) Date: Thu, 4 Jun 2020 18:41:45 +0200 Message-Id: <20200604164145.173925-1-maennich@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.27.0.rc2.251.g90737beb825-goog Subject: [PATCH] scripts: add dummy report mode to add_namespace.cocci From: Matthias Maennich To: linux-kernel@vger.kernel.org Cc: kernel-team@android.com, maennich@google.com, Julia Lawall , YueHaibing , jeyu@kernel.org, cocci@systeme.lip6.fr, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Fixes: c7c4e29fb5a4 ("scripts: add_namespace: Fix coccicheck failed") Cc: YueHaibing Cc: jeyu@kernel.org Cc: cocci@systeme.lip6.fr Cc: stable@vger.kernel.org Signed-off-by: Matthias Maennich --- 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