On Thu, Mar 23, 2023 at 2:56 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > On Thu, Mar 23, 2023 at 12:07:46PM -0700, Hugh Dickins wrote: > > On an earlier audit, for different reasons, I did also run across > > lib/buildid.c build_id_parse() using find_get_page() without checking > > PageUptodate() - looks as if it might do the wrong thing if it races > > with khugepaged collapsing text to huge, and should probably have a > > similar fix. > > That shouldn't be using find_get_page(). It should probably use > read_cache_folio() which will actually read in the data if it's not > present in the page cache, and return an ERR_PTR if the data couldn't > be read. build_id_parse() can be called from NMI, so I don't think we can let read_cache_folio() read-in the data. Thanks, Song