From mboxrd@z Thu Jan 1 00:00:00 1970 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 49083C83F1A for ; Thu, 24 Jul 2025 05:50:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9C1138E004B; Thu, 24 Jul 2025 01:50:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9783C8E004A; Thu, 24 Jul 2025 01:50:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 79D238E004B; Thu, 24 Jul 2025 01:50:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 68C5E8E004A for ; Thu, 24 Jul 2025 01:50:35 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 3D6151602AF for ; Thu, 24 Jul 2025 05:50:35 +0000 (UTC) X-FDA: 83698083630.11.57964A7 Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf01.hostedemail.com (Postfix) with ESMTP id 6800940007 for ; Thu, 24 Jul 2025 05:50:33 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ooTp5DYa; spf=pass (imf01.hostedemail.com: domain of kees@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=kees@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1753336233; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=C8D4LxVY5xiBAnCpq4qjYfypcmK3R7vRmG4YyK+yYkI=; b=6ysD7dWwz7XOocafsrbEolrgi7aBL2eGeTfugs776dJRVAlW3rE53CnfZmfvhPYkkH1VIE OZz3Wu0d1p0gF+7mZar7Eh7g0oKxtxQ7yjSLKnUKXKnQxXGbtAh9BwS5s2GjjJTd/bUuuA cxlyUut4bIufwjaWUX329ZVXLo23HHM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1753336233; a=rsa-sha256; cv=none; b=Wo0Otu9DFxvU7M3Lwxm4QdbTqXO10N9PpuVSsozeN7C9aluxtVIEQYbjk82r8OdPwR+hRL rpnKlIJkiYG7gwwVZHwnkFG0U/uRDuPJsfXjqg8BvSnyZy2nE5YvOHBSmFM2nV5UN2NPLc +EPEXkEebGzobIMPqZ4iu+pN1RFeeio= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ooTp5DYa; spf=pass (imf01.hostedemail.com: domain of kees@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=kees@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 1FA8E46587; Thu, 24 Jul 2025 05:50:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 97F08C19421; Thu, 24 Jul 2025 05:50:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1753336230; bh=9V+bffTinVGVEjmw6TF+C5G0YfQpy53YZa3Wm2q7aj4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ooTp5DYalG+7sCY7UY80o0GaKZMJuJsxJyjGuabcQLgPm5nuSMqxAePrfT7GjvhdK oF9fORgAmBuhwOhWaT/I1eVzeHaxvCjNnvP3mFcCVtrohHTelgnJB8AxJRHMej+Mg4 NFDjdV1sYJAqwLAHAKG+Pc7P7tPoem5TaSnEds9YldJcU6sAmB42ruRa5SIZpDw1hv cKr4I8Z7LDvwzyqdEhc2lYfeETzrrTMLlCXC7ApBabnc8CBhH419Ml2t43642mwJKw GdpLf5pCI2siQYBJvR4jNh/zgf/ZyAdgBMjqYlW1WxwimCTLeg3bNom27bS+51Pyca 3cu5ZswAR3k0w== From: Kees Cook To: Arnd Bergmann Cc: Kees Cook , Marco Elver , Andrey Konovalov , Andrey Ryabinin , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Ard Biesheuvel , "Kirill A. Shutemov" , Hou Wenlong , Andrew Morton , Masahiro Yamada , "Peter Zijlstra (Intel)" , Luis Chamberlain , Sami Tolvanen , Christophe Leroy , kasan-dev@googlegroups.com, Will Deacon , Catalin Marinas , Jonathan Cameron , Gavin Shan , "Russell King (Oracle)" , James Morse , Oza Pawandeep , Anshuman Khandual , Paolo Bonzini , Mike Rapoport , Vitaly Kuznetsov , Henrique de Moraes Holschuh , Hans de Goede , =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , "Rafael J. Wysocki" , Len Brown , Masami Hiramatsu , Michal Wilczynski , Juergen Gross , Andy Shevchenko , "Kirill A. Shutemov" , Roger Pau Monne , David Woodhouse , Usama Arif , "Guilherme G. Piccoli" , Thomas Huth , Brian Gerst , Nathan Chancellor , Nicolas Schier , "Gustavo A. R. Silva" , Andy Lutomirski , Baoquan He , Alexander Graf , Changyuan Lyu , Paul Moore , James Morris , "Serge E. Hallyn" , Nick Desaulniers , Bill Wendling , Justin Stitt , Jan Beulich , Boqun Feng , Viresh Kumar , "Paul E. McKenney" , Bibo Mao , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org, ibm-acpi-devel@lists.sourceforge.net, platform-driver-x86@vger.kernel.org, linux-acpi@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-efi@vger.kernel.org, linux-mm@kvack.org, linux-kbuild@vger.kernel.org, linux-hardening@vger.kernel.org, kexec@lists.infradead.org, linux-security-module@vger.kernel.org, llvm@lists.linux.dev Subject: [PATCH v4 3/4] init.h: Disable sanitizer coverage for __init and __head Date: Wed, 23 Jul 2025 22:50:27 -0700 Message-Id: <20250724055029.3623499-3-kees@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250724054419.it.405-kees@kernel.org> References: <20250724054419.it.405-kees@kernel.org> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2887; i=kees@kernel.org; h=from:subject; bh=9V+bffTinVGVEjmw6TF+C5G0YfQpy53YZa3Wm2q7aj4=; b=owGbwMvMwCVmps19z/KJym7G02pJDBmNJxdz3tX005Y/rnL4YOLkChWuJ+9Wl0ZxtHAnf5w+4 +zlC8f3dZSyMIhxMciKKbIE2bnHuXi8bQ93n6sIM4eVCWQIAxenAEzkYR0jQ3OLrmDdCpsGS/2v XwqtbKYZz2RJ7Lh0a141x9MPJVGnpzIydBStU54v9Wp98GqlzKdyYSda/YzleKsypsy4O3tZzgI uBgA= X-Developer-Key: i=kees@kernel.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 6800940007 X-Rspam-User: X-Rspamd-Server: rspam09 X-Stat-Signature: 97dp7ety9axmfbas3kikta83xsc14hqr X-HE-Tag: 1753336233-487611 X-HE-Meta: U2FsdGVkX1++3cKp9YFtSC3V5wbzlNb5jzov7EAwpJ7J9zigOKFg6SGraEOcg63tllBScdlbcibheaN7YsiX2n8fMLKx//7hnYQmAfTRR59RQe1R/xi1au513LiJ5uhNP+6/mSrYvlKFMRCt+6/6EmIc/2JeL5DKDWGGVZq+UwtMEN+cOvjKh85ogzFJmHjVNE4IQD6mWDiBCtSvwzR1cIQQ9SW+RcDQUHwEzV++brfchkPdURIQasQ8RfWKJdE2tisLIKxsbIdyzdgG3ZNH1/en6ngogJsjqdHu/uAprLU+GhmrAQOn6u2nk2BmoSVRn9KESvDaKYiZTucmaX4ZiALAH077efF63Flo2jgX/k4eJFFe8DEyqNBWCYYe7ettyXPieH3iTMHzY5eX6U+h7RE2x+sgZGEsBlnQwK/jopUzvyoKK6yJhIwH+np/AhHZ/ygJ4Efj4It6af4VorbjzKDyzUR2j34dBda+se5z/JNg0JiDGk/dpPka2qiHynP1rzHd6D4qBVr0RqZVgM4AaooJWFo/GPefLXA33glZx04cnWFP9ey6nMvJ797LnuJXfoT4IRyuEQhEhH6ICmTnE/Pt+wdBL1ykMc7zU2kTMSZeJK4D47fNu15dBvgskBkj5+9+WcfJvXl+0AElDJQOLcmiq/PNw4vo7xN2NNPAdlDfXDWbhAOGaYhgQYl3yrxWSHlW8qkA67RgoslygC7SurY94Jjvd/Z9psu19owtzzlJRAxl/j0MzV1Z1WsrUo3aAYvK6DHLEdeuUAOW9rXRtA5LqRHPS1cn0mKp2jM8flniX0Q7b0rvcxxZsEEeGx7ESr45q/RJnGFbJ5JajHtXozLBhmovEmpO4qBbNv/rIUODl6rLeuq7uF9lO1qOWj59zcIswoZsTr7JKJ9sD9NtAX1NGGioTn4/tb1+QmKY2UC23CmyQadlxyJcazq7pAu6Nxczoj8n91VL5837soW SvtKAoSd yFUHmLHi/G46EoqcK9hs6lsh7CAxfs5jtWirHlmbwx4Aw2GhNW29TdoWVx6dPH03brDva/evKSGZJC5uMXCmqgQ1gH+bB9THKAanvUkTDnqHVyk1fWwUQkueaHqwXHG9Dx57AUvzSIkNxwU8cViDqbptibhSg8PopkZlmDY50MW/Rq9u7sDb/C0htPwkuxg7d7jU/deHhr/m5ZuCsaGkxuaQNNjGxbEL1Ufqbz5l65xZXJNSZXR/oEbd73MGHisf8srOZnygsROtH3xXBUVLvNjWSNu87wnfCoYFhitvLQOFSxcIdOA2C4dVVSiZED/o8YdPZzJTC+9WFPPz32QSCr0Z2DlkOuu+bTD0wPSGvR/pzX3UaJX52k6eiIzXrUig+hZQbX50aj8Br1OusCywSW00HSBuMYmIKVZo05SsCO34hqr4JLxvNm+KJoI9xLFLiF7x15RlBzNGqg0y/T/LdM27m1HmFQW/84cOATifJ92ZVj/U16wgazW/W6SebUBzLmDkjZ6XodnpXhQOT6d9vSSm1kMbon7RH3nxZNLMtVdC9sR/NVI5oGz7nT7sLt+ieR+jgcAU/Hg3/OKZlOd1oDcqW5vMnRx3ppvIKkEQ9e/Fqr8qyZa7TloWJF7ebTB4ao2rk2Pu3dRj/l+Fs1bljs6/H2h6R8hkyOMMf7XXIoeSt5dWTqYzds1VYriraV2V9inUCSOgYCVuKjC2LLg8pJ2HK8x+nXCf/LX9MFL54GcoBktL+pWk0JK60awW/OjFEeTZor45zHpRlr3+Ury+ghTXPdMyqxrjVR1h444JMJ/q/vgvRAZAogNgATQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: While __noinstr already contained __no_sanitize_coverage, it needs to be added to __init and __head section markings to support the Clang implementation of CONFIG_KSTACK_ERASE. This is to make sure the stack depth tracking callback is not executed in unsupported contexts. The other sanitizer coverage options (trace-pc and trace-cmp) aren't needed in __head nor __init either ("We are interested in code coverage as a function of a syscall inputs"[1]), so this is fine to disable for them as well. Link: https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/kcov.c?h=v6.14#n179 [1] Acked-by: Marco Elver Signed-off-by: Kees Cook --- Cc: Marco Elver Cc: Andrey Konovalov Cc: Andrey Ryabinin Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: Cc: "H. Peter Anvin" Cc: Ard Biesheuvel Cc: "Kirill A. Shutemov" Cc: Hou Wenlong Cc: Andrew Morton Cc: Masahiro Yamada Cc: "Peter Zijlstra (Intel)" Cc: Luis Chamberlain Cc: Sami Tolvanen Cc: Arnd Bergmann Cc: Christophe Leroy Cc: --- arch/x86/include/asm/init.h | 2 +- include/linux/init.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/init.h b/arch/x86/include/asm/init.h index 8b1b1abcef15..6bfdaeddbae8 100644 --- a/arch/x86/include/asm/init.h +++ b/arch/x86/include/asm/init.h @@ -5,7 +5,7 @@ #if defined(CONFIG_CC_IS_CLANG) && CONFIG_CLANG_VERSION < 170000 #define __head __section(".head.text") __no_sanitize_undefined __no_stack_protector #else -#define __head __section(".head.text") __no_sanitize_undefined +#define __head __section(".head.text") __no_sanitize_undefined __no_sanitize_coverage #endif struct x86_mapping_info { diff --git a/include/linux/init.h b/include/linux/init.h index ee1309473bc6..c65a050d52a7 100644 --- a/include/linux/init.h +++ b/include/linux/init.h @@ -49,7 +49,9 @@ /* These are for everybody (although not all archs will actually discard it in modules) */ -#define __init __section(".init.text") __cold __latent_entropy __noinitretpoline +#define __init __section(".init.text") __cold __latent_entropy \ + __noinitretpoline \ + __no_sanitize_coverage #define __initdata __section(".init.data") #define __initconst __section(".init.rodata") #define __exitdata __section(".exit.data") -- 2.34.1