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 A4676C7115C for ; Wed, 25 Jun 2025 10:57:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 29BD38D0002; Wed, 25 Jun 2025 06:57:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 24D5B8D0001; Wed, 25 Jun 2025 06:57:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 13BC78D0002; Wed, 25 Jun 2025 06:57:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 00A708D0001 for ; Wed, 25 Jun 2025 06:57:11 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 16FBFC0160 for ; Wed, 25 Jun 2025 10:57:11 +0000 (UTC) X-FDA: 83593621062.29.ED8942F Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf18.hostedemail.com (Postfix) with ESMTP id 392091C0007 for ; Wed, 25 Jun 2025 10:57:09 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=none; spf=pass (imf18.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750849029; a=rsa-sha256; cv=none; b=EK8EF777GEG8IePoLy5rwABD/aJzTs8zSI5TrejluvVAdbQ8pMSmOzMD0/2y6PjFVeIV+/ 9NfnDzM2QzsDdKj1+Vlb0AzenhjGPY4XiO54uz9Gu+RqfylyiugaiJZSdy5kJkTNkhZ3H5 jfb7ylRwMhr0UJ3AHEdhN36+V8oXnD0= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=none; spf=pass (imf18.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750849029; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZHGMxWQbZUfx5rxew21QNDJgOEcH1o1jkSM2EH9oDbQ=; b=t/UDbsVsSj2h9aEdDoQIvOxISeNwMQKk3WaMejqaSWnDv7ijvP9WSXKyrfZYuhH9YsqV0a jxAIMnvZzuhyiQamius+qG6YQP/NszHBSkiV3SZWAGlNeflk1wy3qBcVv7jFGZdyBBj9AO gJ2BPjfo3rayfrE+iPnA1EZyQTIZetU= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9837D106F; Wed, 25 Jun 2025 03:56:49 -0700 (PDT) Received: from [10.57.84.221] (unknown [10.57.84.221]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6E65E3F58B; Wed, 25 Jun 2025 03:57:04 -0700 (PDT) Message-ID: <94e6bb2c-22b8-4911-a970-d030ec4ac501@arm.com> Date: Wed, 25 Jun 2025 11:57:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 1/2] arm64: pageattr: Use pagewalk API to change memory permissions Content-Language: en-GB To: Dev Jain , Karim Manaouil , Lorenzo Stoakes Cc: akpm@linux-foundation.org, david@redhat.com, catalin.marinas@arm.com, will@kernel.org, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, mhocko@suse.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, suzuki.poulose@arm.com, steven.price@arm.com, gshan@redhat.com, linux-arm-kernel@lists.infradead.org, yang@os.amperecomputing.com, anshuman.khandual@arm.com References: <20250613134352.65994-1-dev.jain@arm.com> <20250613134352.65994-2-dev.jain@arm.com> <8077b321-8953-46aa-b06d-95c91823e6ce@lucifer.local> <20250614145021.7yve56wcxf3dlvwg@ed.ac.uk> <1c7ba21a-7038-4edf-8734-fdba0c617c52@arm.com> From: Ryan Roberts In-Reply-To: <1c7ba21a-7038-4edf-8734-fdba0c617c52@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Stat-Signature: 4cnj1b9e59udr9rtiq3js9cnk3juzriq X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 392091C0007 X-HE-Tag: 1750849029-505495 X-HE-Meta: U2FsdGVkX19asvEmR2XQ7OJciXwqHHdtRV5lgZybcjzMwILlib8bKyS4iQ3f+rJvR0shTRHUtcddZcApenTDoTpdJES95vhbfZoJS3uH690HXbcWzz6Djr0nYfpAKbJg5DkrrMM4IuTmwCxC8nXQtiXjRftmETOSiIdYchxOfFmYZxET9rWfrn4L0umRqBBJIRz+W8IknyMK5aPuLgOZmoPWeWOcZmS6BPx06m9V08/bIQVwpPq1KmV1iYpI2bjYCKPhbFeGGZu8P94UK3BLN2Wl0Rq+ld8G0A80LgYPxtlsOcvaxZH9Xlqy53fg1BgBmBub29cU7YjiqWeQM3ubvacpKitHySlCzjNvJa1TFZx8ajXKOVrUNLMtcnheLpOTbu9FBv7QhIjEEZ37GZ3z6T+VPwIcMgsbr50v6rHdFBXAuMtuOjjAuAXZO1DC6Jsd0DbAvyX1LfXf2/6G9RCKEBUcda7aRU9tghz/crrTAi1O8nT2kQlrrxUU2B+Jp3zk79ah1Pa6Q7x9saP+DFb728499H2LL8v22C/ITHFpGC8slXO59ybOyUqABpY8qQGrkp3afvU3tYY00t+Lfky1c2DmzydpE52BNFGariBmpFAqQot+6f93CFK6g4UXRTtyqXGLGdSn4ernuYY22R375KS8c3fX5n4sdelsHnxhww+so3laVwn5fDrQTbEUG0hLF886q4tE5Q7iSf0MTCIX1NX4tdOCBASS73JAbHe6zrbAScJ6pgcWA+oMvmhK8Smmup3cdu6hMDCJ0SvtCkZg7HOrYgXkSk4oC4zyfoPHfoUBBbauKfBYawLF9KmFOQGQK12O0ThH7DYuPQSm7RYwH9I96Qyg0ysUTkCwjmbQACKeRkvDdEzi9OJCq2hP0MZLwzz4iDVXqmqliNx3wzsJrkTl93pn2dawHlFLTVvpWb2FAZ8HAtJ9s4Ounl5bP97nFSaOXH/fgpkGdIxKFf7 hxudaQZf gBxfwRuENL05QhLjVsRqmXGipnZpn3Rj3p2dBwpZ6viCjazH4VbRi+seMZqo7jvGjIbojqlfTiKK+73TRf6zav8dLwer6fv3d2W5Y9qqymzrFT86jdI6Y+TY8mGzNa7R3b7HoTzFd7s86DhHdQ3zKu57H/aNFzKq5TDoW8Pr934P6wwgFrcZ2xkM9i+PK7e7kVzF1FRPv6RdtJQc= 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: On 19/06/2025 05:03, Dev Jain wrote: > > On 14/06/25 8:20 pm, Karim Manaouil wrote: >> On Fri, Jun 13, 2025 at 05:27:27PM +0100, Lorenzo Stoakes wrote: >>> On Fri, Jun 13, 2025 at 07:13:51PM +0530, Dev Jain wrote: >>>> +        if (WARN_ON_ONCE((next - addr) != PGDIR_SIZE)) >>>> +            return -EINVAL; >>> I guess the point here is to assert that the searched range _entirely >>> spans_ the folio that the higher order leaf page table entry describes. >>> >>> I'm guessing this is desired. >>> >>> But I'm not sure this should be a warning? >>> >>> What if you happen to walk a range that isn't aligned like this? >> My understandging is that the caller must ensure that addr is >> pud/pmd/pte-aligned. But, imho, since -EINVAL is returned, I don't think >> the WARN_ON_ONCE() is needed. > > I don't really have a strong opinion on this. Ryan may be better fitted > to answer. IMHO it's a pretty serious programming cock-up if we ever find this situation, so I'd prefer to emit the warning. apply_to_page_range() (which we are replacing here) emits WARN_ON_ONCE() if it arrives at any non-page leaf mappings, which is stronger than what we have here; it expects only to modify permissions on regions that are pte-mapped. Here we are relaxing that requirement to only require that the region begin and end on a leaf mapping boundary, where the leaf can be at any level. So for now, we still only expect this code to get called for regions that are fully pte-mapped. This series is an enabler to allow us to change that in future though. Yang Shi is working on a series which will ensure that a region that we want to change permissions for has its start and end on a leaf boundary by dynamically splitting the leaf mappings as needed (which can be done safely on arm64 when FEAT_BBM level 2 is supported). This will then open up the door to mapping the linear map and vmalloc with large leaf mappings by default. But due to the splitting we ensure never to trigger the warning; if we do, that is a bug. Thanks, Ryan