From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9E0F84204E; Tue, 2 Jun 2026 06:36:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780382213; cv=none; b=NXQqmhJiseVDqETYRrR4GYNmjMlVLbCUOjZR1iDltp5PRpC8vnosqYjQjaJdWMmKSYst93kUnmtqAp5vlF9Z7JYdkGVfb7B2kLUMQt/5B8HAvBtrGrUoziq5jmsWReNGB9j6UuWtup7smlJsxIP/M3Tk6P984rnL28xlP8NxSpg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780382213; c=relaxed/simple; bh=hpM60ECSu6dT7z/73PUh64EF1RP0RcF1FXtP1wXOo5Y=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Cb6cg5OzEeSym5VrzUMQ4eP5OEXh9Q4/k8St4hgtzG9CVDSDMPajUh4h4nqpcxTGK5GxaMLYHV7NoofBgs/L8KLwfP33r9plh5nK6PyJntX7g+AH9LiiT5hSYCRL7+sxtwzg1o2belr9lJbxr2BP+q4ll2BuJavCqdNUVS7LsmA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=p6MC8xIh; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="p6MC8xIh" 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 EE51232CF; Mon, 1 Jun 2026 23:36:45 -0700 (PDT) Received: from [10.164.19.28] (unknown [10.164.19.28]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 501BC3F632; Mon, 1 Jun 2026 23:36:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1780382210; bh=hpM60ECSu6dT7z/73PUh64EF1RP0RcF1FXtP1wXOo5Y=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=p6MC8xIhKHmkf2W6HFKQ7QZ4vR+bfrEuDshR6Wi+MXh/bkI0sViriLHyI7KajfB0/ lx3Xo/r4+mfUm6f/ddif0SV/Bl7oWf5SFDDgxZ3/gsEdtPULneWc9tMQopmKCrgFZz TnzwR72Cge9hd4K01+lgzkQwKxu40Dyn/1qlf6Mo= Message-ID: <47959866-1289-41ba-9cb4-dea33fe8b721@arm.com> Date: Tue, 2 Jun 2026 12:06:42 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/6] fs/proc/task_mmu: use huge_page_size() in pagemap_scan_hugetlb_entry() To: "Kiryl Shutsemau (Meta)" , Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Lorenzo Stoakes , Mike Rapoport , David Hildenbrand , stable@vger.kernel.org, Sashiko AI review , "Liam R. Howlett" , Vlastimil Babka , Jann Horn , Pedro Falcato , =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= , Muhammad Usama Anjum , Arnd Bergmann , Andrei Vagin , linux-fsdevel@vger.kernel.org References: <20260529172331.356655-1-kas@kernel.org> <20260529172331.356655-3-kas@kernel.org> Content-Language: en-US From: Dev Jain In-Reply-To: <20260529172331.356655-3-kas@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 29/05/26 10:53 pm, Kiryl Shutsemau (Meta) wrote: > The partial-page check compares against HPAGE_SIZE (PMD_SIZE), which > is wrong for gigantic hugetlb hstates (e.g. 1G). The walker hands the > callback a huge_page_size()-sized range, never start + HPAGE_SIZE, so > the comparison always declares it partial and aborts the WP. Compare > against the actual hstate's page size. > > Fixes: 52526ca7fdb9 ("fs/proc/task_mmu: implement IOCTL to get and optionally clear info about PTEs") > Cc: stable@vger.kernel.org > Reported-by: Sashiko AI review > Signed-off-by: Kiryl Shutsemau > --- Reviewed-by: Dev Jain > fs/proc/task_mmu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c > index e21a38ac745b..1489c67e88f7 100644 > --- a/fs/proc/task_mmu.c > +++ b/fs/proc/task_mmu.c > @@ -2960,7 +2960,7 @@ static int pagemap_scan_hugetlb_entry(pte_t *ptep, unsigned long hmask, > if (~categories & PAGE_IS_WRITTEN) > goto out_unlock; > > - if (end != start + HPAGE_SIZE) { > + if (end != start + huge_page_size(hstate_vma(vma))) { > /* Partial HugeTLB page WP isn't possible. */ > pagemap_scan_backout_range(p, start, end); > p->arg.walk_end = start;