[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Yeg79CcofyNuVLid@casper.infradead.org>
Date: Wed, 19 Jan 2022 16:27:32 +0000
From: Matthew Wilcox <willy@...radead.org>
To: Robin Murphy <robin.murphy@....com>
Cc: Yury Norov <yury.norov@...il.com>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Nicholas Piggin <npiggin@...il.com>,
Ding Tianhong <dingtianhong@...wei.com>,
Anshuman Khandual <anshuman.khandual@....com>,
Alexey Klimov <aklimov@...hat.com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org
Subject: Re: [PATCH] vmap(): don't allow invalid pages
On Wed, Jan 19, 2022 at 01:28:14PM +0000, Robin Murphy wrote:
> > + if (WARN_ON(!pfn_valid(page_to_pfn(page))))
>
> Is it page_to_pfn() guaranteed to work without blowing up if page is invalid
> in the first place? Looking at the CONFIG_SPARSEMEM case I'm not sure that's
> true...
Even if it does blow up, at least it's blowing up here where someone
can start to debug it, rather than blowing up on first access, where
we no longer have the invlid struct page pointer.
I don't think we have a 'page_valid' function which will tell us whether
a random pointer is actually a struct page or not.
Powered by blists - more mailing lists