[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Z7XF4Y3FIbSrSP9u@arm.com>
Date: Wed, 19 Feb 2025 11:52:01 +0000
From: Catalin Marinas <catalin.marinas@....com>
To: Anshuman Khandual <anshuman.khandual@....com>
Cc: linux-mm@...ck.org, Ryan Roberts <ryan.roberts@....com>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-arm-kernel@...ts.infradead.org,
linux-snps-arc@...ts.infradead.org, linux-riscv@...ts.infradead.org,
linuxppc-dev@...ts.ozlabs.org, linux-parisc@...r.kernel.org,
linux-csky@...r.kernel.org, linux-mips@...r.kernel.org,
linux-s390@...r.kernel.org, linux-arch@...r.kernel.org,
loongarch@...ts.linux.dev, linux-sh@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm/ioremap: Pass pgprot_t to ioremap_prot() instead of
unsigned long
On Tue, Feb 18, 2025 at 03:49:54PM +0530, Anshuman Khandual wrote:
> From: Ryan Roberts <ryan.roberts@....com>
>
> ioremap_prot() currently accepts pgprot_val parameter as an unsigned long,
> thus implicitly assuming that pgprot_val and pgprot_t could never be bigger
> than unsigned long. But this assumption soon will not be true on arm64 when
> using D128 pgtables. In 128 bit page table configuration, unsigned long is
> 64 bit, but pgprot_t is 128 bit.
>
> Passing platform abstracted pgprot_t argument is better as compared to size
> based data types. Let's change the parameter to directly pass pgprot_t like
> another similar helper generic_ioremap_prot().
>
> Without this change in place, D128 configuration does not work on arm64 as
> the top 64 bits gets silently stripped when passing the protection value to
> this function.
>
> Cc: Andrew Morton <akpm@...ux-foundation.org>
> Cc: linux-arm-kernel@...ts.infradead.org
> Cc: linux-snps-arc@...ts.infradead.org
> Cc: linux-riscv@...ts.infradead.org
> Cc: linuxppc-dev@...ts.ozlabs.org
> Cc: linux-parisc@...r.kernel.org
> Cc: linux-csky@...r.kernel.org
> Cc: linux-mips@...r.kernel.org
> Cc: linux-s390@...r.kernel.org
> Cc: linux-arch@...r.kernel.org
> Cc: loongarch@...ts.linux.dev
> Cc: linux-sh@...r.kernel.org
> Cc: linux-mm@...ck.org
> Cc: linux-kernel@...r.kernel.org
> Signed-off-by: Ryan Roberts <ryan.roberts@....com>
> Co-developed-by: Anshuman Khandual <anshuman.khandual@....com>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@....com>
For arm64:
Acked-by: Catalin Marinas <catalin.marinas@....com>
Powered by blists - more mailing lists