[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e98fd1bc-ab6a-4f6f-a2f3-29b68fa5b15f@intel.com>
Date: Sat, 6 Jan 2024 12:36:13 +0800
From: "Yin, Fengwei" <fengwei.yin@...el.com>
To: David Hildenbrand <david@...hat.com>, Ryan Roberts <ryan.roberts@....com>,
syzbot <syzbot+50ef73537bbc393a25bb@...kaller.appspotmail.com>,
<akpm@...ux-foundation.org>, <linux-kernel@...r.kernel.org>,
<linux-mm@...ck.org>, <syzkaller-bugs@...glegroups.com>, Matthew Wilcox
<willy@...radead.org>
Subject: Re: [syzbot] [mm?] WARNING in __folio_rmap_sanity_checks
On 1/5/2024 11:45 PM, David Hildenbrand wrote:
>>> vm_normal_page() works on these mappings, so we'd also have to skip rmap
>>> code when unmapping these pages etc. Maybe that's the whole reason we
>>> have the rmap handling here: to not special-case the unmap path.
>>
>> vm_insert_page() will set VM_MIXEDMAP and vm_normal_page() will skip
>> the page if CONFIG_ARCH_HAS_PTE_SPECIAL is enabled (it's enabled for
>> x86). So the unmap path will skip these kind of folios?
>
> I think we run into the
> if (likely(!pte_special(pte)))
> goto check_pfn;
>
> first and return these folios. That also matches the comment of
> vm_normal_page: "VM_MIXEDMAP mappings can likewise contain memory with
> or without ... _all_ pages with a struct page (that is, those where
> pfn_valid is true) are refcounted and considered normal pages by the VM."
Oh. Yes. This is the path. Thanks a lot for pointing it out to me.
Regards
Yin, Fengwei
Powered by blists - more mailing lists