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 73C63C83F17 for ; Sun, 13 Jul 2025 07:18:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 176176B00A1; Sun, 13 Jul 2025 03:18:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 100166B00A2; Sun, 13 Jul 2025 03:18:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 03D046B00A3; Sun, 13 Jul 2025 03:18:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id E89946B00A1 for ; Sun, 13 Jul 2025 03:18:33 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 7431612BC22 for ; Sun, 13 Jul 2025 07:18:33 +0000 (UTC) X-FDA: 83658388506.02.9278EBB Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf14.hostedemail.com (Postfix) with ESMTP id BF10410000B for ; Sun, 13 Jul 2025 07:18:31 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Kko8FVru; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf14.hostedemail.com: domain of rppt@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752391111; 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=snWTSnXkHJg985pBGOzH9GirdloxBXANZCoJD5ldbGU=; b=wFUCJA3WYXI7MPsX74DCk2Xp1yuyEBb/Vm0mZA9dMkUDCbUhHgWHPWQ3dlYJnP4Wc/qOUT 0DV55v5di+Oehw8ufFs/g06+cSbYzVl6XxAhtz2QHF8jCZcGWqb4b5cRdiNij0Gxq5Hk9O sWsa2ZQ2vy7kh4Y20WNo5I0yanM7aes= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752391111; a=rsa-sha256; cv=none; b=XVBM53cJDl8uIBAPz8hozlKeYFWRmZ9q/fHs/L+KMAHmkojTcLcC3RksSCsAXM0kCaok8L CgMQ9vv/BppgNICh32qGbGfcKXo8YG/VyNq4wehH2uwgA16BVUhrAFlJELh/sXMUivgx0t b2Vz7Y4GKWZN0Wc1FzaY2421Q2I8fsk= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Kko8FVru; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf14.hostedemail.com: domain of rppt@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=rppt@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 53DF846420; Sun, 13 Jul 2025 07:18:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 78505C4CEE3; Sun, 13 Jul 2025 07:18:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1752391110; bh=W48KJjyddYpCBONIDAqxZPq1nB/qirB2tcBj7MhxtNE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Kko8FVruo1H5ovxkMj8GTy4gtboaPCoaqQovHBDSAmOvEBYVN48O7a941dOPKJgGM o/pEbOGLWOdAkOf0JkG/h6vYJMqOyH9aP6vFVq7uWnz2fdKNq306beYBllZyYUl1tU pv9GbhCHGM4KwAjxTAb7CglQhzWcGdep1RhUMpRWd6OSaMngK2x1EtgaNVHRtiQkk7 U09qt1tgwEhsudWasaDujoJxeotNoc0Z9VMPKz959zD73V/xrMz3TLKSJt0KbjDHsL ppyeypK4EkPtO7l9Ht+aK2YdM/PT3j1lZDobitymJTLJQfWHhZrjg3Yy3XVhBsgWX3 zDU9+1czJ7zLQ== From: Mike Rapoport To: Andrew Morton Cc: Andy Lutomirski , Borislav Petkov , Christophe Leroy , Daniel Gomez , Dave Hansen , Ingo Molnar , "Liam R. Howlett" , Luis Chamberlain , Mark Rutland , Masami Hiramatsu , Mike Rapoport , "H. Peter Anvin" , Peter Zijlstra , Petr Pavlu , Sami Tolvanen , Steven Rostedt , Thomas Gleixner , Yann Ylavic , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-modules@vger.kernel.org, linux-trace-kernel@vger.kernel.org, x86@kernel.org Subject: [PATCH v3 8/8] x86/ftrace: enable EXECMEM_ROX_CACHE for ftrace allocations Date: Sun, 13 Jul 2025 10:17:30 +0300 Message-ID: <20250713071730.4117334-9-rppt@kernel.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250713071730.4117334-1-rppt@kernel.org> References: <20250713071730.4117334-1-rppt@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: 7cjmpcaypp537hyp14hedk3wmc8s35ir X-Rspamd-Queue-Id: BF10410000B X-Rspamd-Server: rspam10 X-Rspam-User: X-HE-Tag: 1752391111-514519 X-HE-Meta: U2FsdGVkX19ZF2PxMk5uLd6wcU0w+h/XMqmuSv6RLooQyQ6Kbf6Y4QhV8+0+E8bu6oVOXuLcILrbvrOEKpZBI0U79fXIrF8suFT5USBX4Joc5QDuKI46zy0H1/zaK+dCvnWTbjNO2WwiQtmR66ZJtuSXeHSdoJxDrQ7LVDqdoiEm3U+6VC2SsvI1n+RBipGGSAvj/Lr8mi4y3wl+t+SpskUNF8F+bDTV9LGfUJ8nB1lis8WjS5btmb7/5Npvz0Z8+Mxh6jWGfNBSrIRMa6FpHBbJUZF6wAKLxXxw4eIbVBJBeis8+aL4uRapD6Tzx9tuxVRZOIX/Bc8LIfPNi9tSNAOrcYA2NC4JdFPpbCJMfIg64M/y3J8KiBGlmCIBzhAoWJRdPZu9rVufXm4I8qvuZPCRZWT0OTz7JQF4iGyIqD/lWCDM6AraULPKNJFuFb6ziyHcH5b1+X4o+FHtLPubg+xtLJWIgHxRRaUUj6NCgy4LqewskW2tujHnC45AT5AFxEQmUvtyjsr6pFuPaqTPBo2Vp7Vkz9/tbCnnTOSv96bQgGSejBIIELxAQ9MksNxSIwQMCEzCxhDkPa+QFyubIOI3TeJVOpFXpm/JXW4OPsnUlvp2d7tWz/fUQ7h3egdHe8TPdkcJY1ueCB4HfXqqiEofwwg2HA+LvuoVefpixO/+ujifvPd9wSVTXQvyDDchLMSnIvCvf4QQjJMUHtmmtWhVQ2es6k7savuxQDQV9QMXuCpbNVUIZpp7Xf+0QhlIC/Z/mX4Cf3LteuwP0AB7s1ijfjIER3oh6nHx+6zjExoszjoJXKkzlMTkSi8f5OBDtYHE/2pGf4j+g4gZXtBu8dAhHHvn0wwLUfCP4CCwdK29cEkkXKMglZITLrgK9XUS0DeA1oUqI8ZJriivZH8JlSyIlOGog3bgOQOFP58XbVguUSIrNjGDeqzYagjMmttAHfAS/lUWgkGwdhQ7adM R8fzXN8s H5AlHaqXHBom9kDZKpE+phq6Lrh9956yPTEL+IwV6i82Xv3mL+5I1Xkrdmq/XSBEXYvdd/+HG7LocnZh/YlrM1TI8edeoN8TkZY0VmmZP/DDrKQJIUAgaq5GSnX45uwpOcMaVKFBaku85weuHWlR4AeSv96gtxGu+tuU9m9vS7XwyBNnQekRK5cQIxCvFIrqYG/B4LrgNFBVdjbXOlaYGs5a5x3Y7kf5J42qG/ufEgi27RCGiqyMdyfjUHLLBNaLkQ+wPYT38KjRHJYKOPmjATQzXNUg+9gpqgL3QL7VZoihylKr4ST6MYlno0kH99ZtwlHs4ON61EYsym/r/WcUM3LAOzPNsKbuLE97mJf+InSNRRH0y4QUT5kXB/URaobfu/iGsEdpcVP0ZMfns8BU9mT6QNWqBW4n8o1bi 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: From: "Mike Rapoport (Microsoft)" For the most part ftrace uses text poking and can handle ROX memory. The only place that requires writable memory is create_trampoline() that updates the allocated memory and in the end makes it ROX. Use execmem_alloc_rw() in x86::ftrace::alloc_tramp() and enable ROX cache for EXECMEM_FTRACE when configuration and CPU features allow that. Acked-by: Peter Zijlstra (Intel) Signed-off-by: Mike Rapoport (Microsoft) --- arch/x86/kernel/ftrace.c | 2 +- arch/x86/mm/init.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c index 252e82bcfd2f..4450acec9390 100644 --- a/arch/x86/kernel/ftrace.c +++ b/arch/x86/kernel/ftrace.c @@ -263,7 +263,7 @@ void arch_ftrace_update_code(int command) static inline void *alloc_tramp(unsigned long size) { - return execmem_alloc(EXECMEM_FTRACE, size); + return execmem_alloc_rw(EXECMEM_FTRACE, size); } static inline void tramp_free(void *tramp) { diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index 442fafd8ff52..bb57e93b4caf 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c @@ -1105,7 +1105,14 @@ struct execmem_info __init *execmem_arch_setup(void) .pgprot = PAGE_KERNEL_ROX, .alignment = MODULE_ALIGN, }, - [EXECMEM_FTRACE ... EXECMEM_BPF] = { + [EXECMEM_FTRACE] = { + .flags = flags, + .start = start, + .end = MODULES_END, + .pgprot = pgprot, + .alignment = MODULE_ALIGN, + }, + [EXECMEM_BPF] = { .flags = EXECMEM_KASAN_SHADOW, .start = start, .end = MODULES_END, -- 2.47.2