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 BF50DC83F1D for ; Sun, 13 Jul 2025 07:18:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5BB2F6B0099; Sun, 13 Jul 2025 03:18:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 56CCA6B009A; Sun, 13 Jul 2025 03:18:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 45AD96B009B; Sun, 13 Jul 2025 03:18:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 379126B0099 for ; Sun, 13 Jul 2025 03:18:08 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id EB1A557488 for ; Sun, 13 Jul 2025 07:18:07 +0000 (UTC) X-FDA: 83658387414.14.834A9F2 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf17.hostedemail.com (Postfix) with ESMTP id 4638B40003 for ; Sun, 13 Jul 2025 07:18:06 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=fwCRotWB; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752391086; a=rsa-sha256; cv=none; b=dodovfsZCFUqBCrcrOa8Ar1CgOAooa7YrZ+lYsyYUl4hBPSNJTJyi7HkzkBC2gVYBsAqGL 1v6E1molIHCvh4z3uGR1TjXow+cUvkeTRNRtZPm5j1MFCx4gDWSGSI9NvsFvBquId2KdC/ ltjzRZNkcZ/cb+vJWWm41opT5YJ/4Bs= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=fwCRotWB; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 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=1752391086; 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=+fVOerp1KxHFHDBGkzfta9B9CjWx+FGVJK2/BZ8D4wg=; b=zYac2WWHF9107r03PFeYqfxoUTD5PJzbji1P8zU9Ioe98fuulyj+2runbdiQ1kXMsbFvvS 1ojr6AugL4DaDRGzwyMYZIygXkjG6pAEjxkSdWNxEPnScBi5TZaOFceV5oIpmOKxWX+vcs otbT+gMHwEFIpL2j0i17c9YmKJlk80c= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 794B05C5649; Sun, 13 Jul 2025 07:18:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6E472C4CEE3; Sun, 13 Jul 2025 07:17:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1752391085; bh=3tPQQyB9eXTIb3XNbybVUxCt9L6HRc0Tde1G6CrS+SQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fwCRotWBhQXhBmXvcSd99JiYdtJb2P07WEbN614ZfrvI6K1Q+ujga1LEyCHX31fku iQsiVQsBNJ6jq5+JEyMu+srF98RKnOpITckdeQRJCN1uOPniDG2nhQ4sybFfUmCqfl xhAtozenT7QZMyXx9IIK9ceeYztE/jSTo08w1nh7lGHoi7ylXkOoU6gEBnfhHl39zb HbPMD4QmunRUuGcD7D41Yy5PQBwwLjgxTspYzU99OEwWzqx1qGrU/LiOI6yhv4WMad oh4CInED6JTNScnbKLZF8ZyJwecbuO1/9IXQf/Fk0H6AoZ612pkaZmNe2W04dWuVAo defDw0ACOFM5Q== 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 4/8] execmem: move execmem_force_rw() and execmem_restore_rox() before use Date: Sun, 13 Jul 2025 10:17:26 +0300 Message-ID: <20250713071730.4117334-5-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-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 4638B40003 X-Stat-Signature: czy4j1smaygzzhcwzd3iobejoetgsb8x X-Rspam-User: X-HE-Tag: 1752391086-225093 X-HE-Meta: U2FsdGVkX1/dfVwANGk63pDOIydKlqC3HELeABchNBX59JGAj+29gF0KupMjPUm9Xs41tubGPZ1ox3NQQ7Z3I3eJyBDw6zR+njzPldEOz1zL3n8HMe8evmEFXZJrjO9HlHnXE7BvEW7ztF82QRC9ak/1j98nPKp2sZL0wRiQgimQ3hwogydhfJtBgVd3S91JXzK93UUhFkzWHcqbAvvLnysjAY3CqTFBgpB2eUG5s4uDQZd1aVt4lIHNPSqBU9fYIcEhOoy5aKZF1wkXkrI/7ZaDfM5n6zrMC51AZmB1YX9tX3EYiH7tmVtyN2MCn4J9sykgSityS+dTRyNNSzinQXwPd5Ccp4aLtafHZWrK8tIyGDCDzkUYjbDpylwNcEPCCSs5V4wcqMfXDPZmLZqaXVtPbRfPp7B1Zmy/8ydfJfOcJrW1hsPfD4PUzYPLSYwv+265rKo8vQDKuO3vBSUNWt7FUgQy4/rd9L1oXKAOVzQtJ+KfXUX9ALiNDF7pB/m+a5I9ParVwrEJgKjnW5l+0tIdqnyvcRpQAa8OQG17A6Ca8s8OgjGHsddhgqLrHMB4fmrCzI0y+LAYnAxu79JgoPTh2sz94QHLRuT7Vvqh34rhBALpx0PgMFzuulMOAIoZxJC4Ei3jeuGd2STRQYBT4OyFFPlzy+H7yAkD/e1XCiR+mY9qkAwHfaQs79jAXqr7p/rAcY3Dv3iu42S1F05N643YavjeA0YyqcrVr/lq2TBCNVRwhd5KMLE1q3KOsQb4KLR/v1B9V7vePROzy63d/uLJoAmcPSocCJOToUSkFP3oJDoHBAdqoc0PXn0B176mFqx4SUTSNrCedro+JlbTGxXoPL/IYe49viOkazLBtkppn5Tq137ahLgs+EwFJAIayootmypIr+Lj998L/jOT2sjXiGV+Re8Y4HQvG2Z99UM9J8uOhm0zQuRzQOCvlsQJ60wnQMVDa8GOp8AnHAS v8tCj844 BNlyBcfClJzh39veX50YYw8zwgnUGRXIZIQa5fZ1898TLXe9B1zrmKX2PwlddGgB7CtomDI80ZYqCfDMAjbo1zwQ+wtOiomzrEu84udgTjbyezBggf0OV96IUFzGWFLjZaFTaPMDU1zaZ6W0IEXHm81t4Ev4AUfkxryUFOQqULym+FqYWTdXWyiB+xyf9vOX57S4TT2WFh+jPPqcRGi7yp2MHg+VEu3+/ho3FrQ0uqOL1xziSbXUvYs8eHJbVJ6e0GfMZRtGfL2v5ZsAC6BR3JekPSXnbDg+O46rVMHU9k1Pa/xhzhOPBFEUH8XG5DWsDGeZ0zaPsJHnZcS5KsaB1epYfunuGCvo3TEXxpOui2Z+A8rzVt8RNxX7JFZiq5R+wH6NUXs4UUzTPrdKl/XhGrwbp3oxVs2VenmHZ4vM/x59FbFubDG3MbjfOBPlJAtV8exTs 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)" to avoid static declarations. Acked-by: Peter Zijlstra (Intel) Signed-off-by: Mike Rapoport (Microsoft) --- mm/execmem.c | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/mm/execmem.c b/mm/execmem.c index 4670e97f8e4e..056d3caaf4a1 100644 --- a/mm/execmem.c +++ b/mm/execmem.c @@ -137,6 +137,27 @@ static int execmem_set_direct_map_valid(struct vm_struct *vm, bool valid) return err; } +static int execmem_force_rw(void *ptr, size_t size) +{ + unsigned int nr = PAGE_ALIGN(size) >> PAGE_SHIFT; + unsigned long addr = (unsigned long)ptr; + int ret; + + ret = set_memory_nx(addr, nr); + if (ret) + return ret; + + return set_memory_rw(addr, nr); +} + +int execmem_restore_rox(void *ptr, size_t size) +{ + unsigned int nr = PAGE_ALIGN(size) >> PAGE_SHIFT; + unsigned long addr = (unsigned long)ptr; + + return set_memory_rox(addr, nr); +} + static void execmem_cache_clean(struct work_struct *work) { struct maple_tree *free_areas = &execmem_cache.free_areas; @@ -328,8 +349,6 @@ static inline void *pending_free_clear(void *ptr) return (void *)((unsigned long)ptr & ~PENDING_FREE_MASK); } -static int execmem_force_rw(void *ptr, size_t size); - static int __execmem_cache_free(struct ma_state *mas, void *ptr, gfp_t gfp_mask) { size_t size = mas_range_len(mas); @@ -415,27 +434,6 @@ static bool execmem_cache_free(void *ptr) return true; } -static int execmem_force_rw(void *ptr, size_t size) -{ - unsigned int nr = PAGE_ALIGN(size) >> PAGE_SHIFT; - unsigned long addr = (unsigned long)ptr; - int ret; - - ret = set_memory_nx(addr, nr); - if (ret) - return ret; - - return set_memory_rw(addr, nr); -} - -int execmem_restore_rox(void *ptr, size_t size) -{ - unsigned int nr = PAGE_ALIGN(size) >> PAGE_SHIFT; - unsigned long addr = (unsigned long)ptr; - - return set_memory_rox(addr, nr); -} - #else /* CONFIG_ARCH_HAS_EXECMEM_ROX */ /* * when ROX cache is not used the permissions defined by architectures for -- 2.47.2