From nobody Mon Jun 15 01:41:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8BDC0C433F5 for ; Sat, 7 May 2022 13:12:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1446451AbiEGNQn (ORCPT ); Sat, 7 May 2022 09:16:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43766 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240386AbiEGNQm (ORCPT ); Sat, 7 May 2022 09:16:42 -0400 Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com [IPv6:2607:f8b0:4864:20::1032]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7C22B4666F for ; Sat, 7 May 2022 06:12:56 -0700 (PDT) Received: by mail-pj1-x1032.google.com with SMTP id qe3-20020a17090b4f8300b001dc24e4da73so9250781pjb.1 for ; Sat, 07 May 2022 06:12:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WP+c3tP53jdxX94xMH6hjoK9csnlPLc7TbrfzziGG5I=; b=Q59yYV0TbMOQjEAxwpK+zMF4NJ117Tm5LR5sv0jqsx6nnfqq6ypVa8iubvWGWEI/S3 YmPLZMz6ykENMjGWFNsawf3FhLGkupu3JIawOsP3aW3NfElvT7UTXXUiW7VVxqKYnZRh IBggppCTyC+wl5/2PCDBErBDtpSzfKCM+7DBcP5tkIy+9mZi6Ro5UxcuLiAHguWRD+/z qgmiEeltyIHTT8EFHpVRDgKvCaPAYjPwOFS8iSbCnABV5tugLJ0mAnYC34xUCpYhHeAZ Z2GwXVoj6BhP+PSZtExLnbMcOo5T1ZzBNTvJCpApVP34+Be+Dqf0ut8F/8orjq5jLPWN ervw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=WP+c3tP53jdxX94xMH6hjoK9csnlPLc7TbrfzziGG5I=; b=dw/C3Ai3kvyBSZk8onST/EfAUTuAnrfhGHW6H1KN9mLHsR5il8N3OgDfr/9//ivDZi TfS4amymk0jqJ7fG7jH+VxWPsLT7FlL1GBtZOYjbW9zuzoSbkqXWtES7LK/5CnH8V9IW q4n7iZWT27QqFWglw8Gp6yW8K4X3DSmSoHPBRWzlZZVEj3M3rFPX9KaTOClk05OGSoOu BcASRjgt/GoQmyZTnPfcM6OUA4hiqErRJu5Lls+IpXOV2ftWO2t8rJYxpjiJmlN6CxAd iS0DX5tvevQM/ytbu8tT3Sb4ivGLAAcTs3TUls4vlBdYZ1wNyImzILYTMIvHVD3XFIfC 183g== X-Gm-Message-State: AOAM5309QwPAKkkm/6e9C2MIU0TlsLLj1qroxv1R9l3aXlAQtJtzG7I8 2Q3iMtzVvn7kyRkIf4YnsBw= X-Google-Smtp-Source: ABdhPJzwMbSb8aqir6y9x7SKJv9cGHKyXPKhQ6JeHcL1iCvwVfpiW00gRW2JmhHLwNjoTVDPVjFWiQ== X-Received: by 2002:a17:902:e808:b0:15e:b27b:9302 with SMTP id u8-20020a170902e80800b0015eb27b9302mr8328149plg.54.1651929175964; Sat, 07 May 2022 06:12:55 -0700 (PDT) Received: from localhost.localdomain (124x33x176x97.ap124.ftth.ucom.ne.jp. [124.33.176.97]) by smtp.gmail.com with ESMTPSA id i191-20020a639dc8000000b003c14af50620sm571418pgd.56.2022.05.07.06.12.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 May 2022 06:12:55 -0700 (PDT) Sender: Vincent Mailhol From: Vincent Mailhol To: Masahiro Yamada , Will Deacon , Peter Zijlstra , Boqun Feng , Mark Rutland Cc: linux-kernel@vger.kernel.org, Arnd Bergmann , Andy Shevchenko , Rikard Falkeborn , Andrew Morton , Kees Cook , Vincent Mailhol Subject: [RFC PATCH v2 1/2] check-atomiscs: stop build if CONFIG_WERROR=y Date: Sat, 7 May 2022 22:11:44 +0900 Message-Id: <20220507131146.834810-2-mailhol.vincent@wanadoo.fr> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220507131146.834810-1-mailhol.vincent@wanadoo.fr> References: <20220426155229.436681-1-mailhol.vincent@wanadoo.fr> <20220507131146.834810-1-mailhol.vincent@wanadoo.fr> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" If CONFIG_WERROR=3Dy, stop the build if one of the generated atomics header in include/linux/atomic/* is modified by returning an error instead of a warning. If CONFIG_WERROR is not set, behavior is unchanged (let the build continue). Signed-off-by: Vincent Mailhol --- scripts/atomic/check-atomics.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/atomic/check-atomics.sh b/scripts/atomic/check-atomics= .sh index 0e7bab3eb0d1..56f9e753bc74 100755 --- a/scripts/atomic/check-atomics.sh +++ b/scripts/atomic/check-atomics.sh @@ -26,8 +26,13 @@ while read header; do NEWSUM=3D"${NEWSUM%% *}" =20 if [ "${OLDSUM}" !=3D "${NEWSUM}" ]; then - printf "warning: generated include/${header} has been modified.\n" + if grep -q CONFIG_WERROR=3Dy .config; then + printf "error: generated include/${header} has been modified.\n" + exit 1 + else + printf "warning: generated include/${header} has been modified.\n" + fi fi done =20 -exit 0 +exit $? --=20 2.35.1 From nobody Mon Jun 15 01:41:46 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 59B01C433F5 for ; Sat, 7 May 2022 13:13:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1446467AbiEGNQv (ORCPT ); Sat, 7 May 2022 09:16:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43860 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1446466AbiEGNQt (ORCPT ); Sat, 7 May 2022 09:16:49 -0400 Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com [IPv6:2607:f8b0:4864:20::1032]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB4984666F for ; Sat, 7 May 2022 06:13:02 -0700 (PDT) Received: by mail-pj1-x1032.google.com with SMTP id qe3-20020a17090b4f8300b001dc24e4da73so9250781pjb.1 for ; Sat, 07 May 2022 06:13:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Zjch41DGKwtjob6zJCWThmkugQGSUhNZeUMcVYURjQw=; b=hz0KK1bSS2F4PJnEMw/jSlYYG/MTbmWhLmJYP2HDRg7s/nypCnOGJV7The9LID8yBG K15VWmepZN4FyUF6e+uUHCqveUMibPb29QMlLnohAuF+XfFzgaW+OWk/KGy7ceGABFkJ rQi2o4Z6OY3RsXskX5KyU4twCnVXsiTFSRjQgY8Hml/nwpUXrrjs8KMYK0D/isbwDD3I wGDplUg9UgdcYOYQEC1ENq/GCcPxCZOOJ4c8wfL68RFkwBOHkLtRbBTo9a4NqV9QX5i3 10PdsNaDlXpnecgzFzyFID8/JZAphd3MacwyLiCeobiKIGLCj/BnsMpeU7P5BKmAXzYI IrIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Zjch41DGKwtjob6zJCWThmkugQGSUhNZeUMcVYURjQw=; b=KtdZwAvXWM1HSR50XbgSqtZi+jUr/D082i16Iolen5cLoM4Sxwl2gILaAggOg+Hj+t 35NoM0Y0KanOdhTnNYN2t6oRpQKghfVBqdwvlwUWn2HENFGDqdiZgXsViRYm/t3aROs5 5Ws9Ryr53iYEL4GNAbA0y/VuPtZO0VOhQY+XQOQULutz6Qr2sfMggNjIgCV8bm14Olo5 IddFgtTGE3NPT9EifEDHAcHnbUeGzkHBAAB8xd0wtppVi0ESzvgN/Tm+a/bnzsxkmDz3 Iy7SJEyv7u7i8xlW+4HqccCxL+eTq7wgjZG1EAJCMTa/REIUpPDb+BLaRJ8g1JjBR0Uy YweA== X-Gm-Message-State: AOAM531p9jhs8wm2DSioz98CL15ooM+x4G5N5WPdorfZSU0aT3r8ISdR sXn+9F01+8VO/pH6jCOD0T0= X-Google-Smtp-Source: ABdhPJwFhmb5L9Rcxt4JFbUgeRj/jPEvyLFfYyz8Z1mU/mGvJCEOtZDuMRA0U29mYx59cdH8uJlImA== X-Received: by 2002:a17:90b:1a88:b0:1dc:8e84:9133 with SMTP id ng8-20020a17090b1a8800b001dc8e849133mr9397979pjb.231.1651929182627; Sat, 07 May 2022 06:13:02 -0700 (PDT) Received: from localhost.localdomain (124x33x176x97.ap124.ftth.ucom.ne.jp. [124.33.176.97]) by smtp.gmail.com with ESMTPSA id i191-20020a639dc8000000b003c14af50620sm571418pgd.56.2022.05.07.06.12.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 May 2022 06:13:02 -0700 (PDT) Sender: Vincent Mailhol From: Vincent Mailhol To: Masahiro Yamada , Masahiro Yamada , Michal Marek , Nick Desaulniers Cc: linux-kernel@vger.kernel.org, Arnd Bergmann , Andy Shevchenko , Rikard Falkeborn , Andrew Morton , Kees Cook , Will Deacon , Peter Zijlstra , Vincent Mailhol Subject: [RFC PATCH v2 2/2] kbuild: call check-atomics.sh only if prerequisites change Date: Sat, 7 May 2022 22:11:45 +0900 Message-Id: <20220507131146.834810-3-mailhol.vincent@wanadoo.fr> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220507131146.834810-1-mailhol.vincent@wanadoo.fr> References: <20220426155229.436681-1-mailhol.vincent@wanadoo.fr> <20220507131146.834810-1-mailhol.vincent@wanadoo.fr> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" check-atomics.sh is executed unconditionally. Most developers will not modify the files being checked by this script and thus do not need to execute it again for each iterative make. We first add an additional dependency to include/linux/atomic/* to make sure that the script gets executed again if the headers are modified. We then use the if_change macro instead of cmd. c.f. [1] and create the dot file scripts/atomic/.check-atomics which is used for the target timestamp. Finally, the dot file is added to the CLEAN_FILES target. [1] https://www.kernel.org/doc/html/latest/kbuild/makefiles.html#command-ch= ange-detection Signed-off-by: Vincent Mailhol --- Kbuild | 7 ++++--- Makefile | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Kbuild b/Kbuild index fa441b98c9f6..c3cb76ebcbaf 100644 --- a/Kbuild +++ b/Kbuild @@ -50,10 +50,11 @@ missing-syscalls: scripts/checksyscalls.sh $(offsets-fi= le) FORCE ##### # Check atomic headers are up-to-date =20 -always-y +=3D old-atomics +always-y +=3D scripts/atomic/.check-atomics =20 quiet_cmd_atomics =3D CALL $< cmd_atomics =3D $(CONFIG_SHELL) $< =20 -old-atomics: scripts/atomic/check-atomics.sh FORCE - $(call cmd,atomics) +scripts/atomic/.check-atomics: scripts/atomic/check-atomics.sh $(wildcard = include/linux/atomic/*) FORCE + $(call if_changed,atomics) + @touch $@ diff --git a/Makefile b/Makefile index 9a820c525b86..9e815c8bb0b6 100644 --- a/Makefile +++ b/Makefile @@ -1483,7 +1483,8 @@ endif # CONFIG_MODULES # Directories & files removed with 'make clean' CLEAN_FILES +=3D include/ksym vmlinux.symvers modules-only.symvers \ modules.builtin modules.builtin.modinfo modules.nsdeps \ - compile_commands.json .thinlto-cache + compile_commands.json .thinlto-cache \ + scripts/atomic/.check-atomics =20 # Directories & files removed with 'make mrproper' MRPROPER_FILES +=3D include/config include/generated \ --=20 2.35.1