Re: BUG_ON() in pfn_swap_entry_to_page()

David Hildenbrand
2024-04-25T09:33:07Z

On 24.04.24 21:45, Felix Kuehling wrote:
> Sorry for top-posting. I'm resurrecting an old thread here because I
> think I ran into the same problem with this assertion failing on Linux 6.7:
>
> static inline struct page *pfn_swap_entry_to_page(swp_entry_t entry)
> {
> struct page *p = pfn_to_page(swp_offset_pfn(entry));
>
> /*
> * Any use of migration entries may only occur while the
> * corresponding page is locked
> */
> --> BUG_ON(is_migration_entry(entry) && !PageLocked(p));
>
> return p;
> }
>
> It looks like this thread just fizzled two years ago. Did anything ever
> come of this?
>
> Maybe I should add that I saw this in a pre-silicon test environment.
> I've never seen this on real hardware. Maybe something timing-sensitive.

In the past, it indicated a swp pte corruption, that would e.g., mess up
the stored PFN ot the swap entry type.

On which call chain do you see that?

--
Cheers,

David / dhildenb