lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aJOaXPhFry_LTlfI@x1.local>
Date: Wed, 6 Aug 2025 14:09:32 -0400
From: Peter Xu <peterx@...hat.com>
To: Suren Baghdasaryan <surenb@...gle.com>
Cc: akpm@...ux-foundation.org, david@...hat.com, aarcange@...hat.com,
	lokeshgidra@...gle.com, linux-mm@...ck.org,
	linux-kernel@...r.kernel.org,
	syzbot+b446dbe27035ef6bd6c2@...kaller.appspotmail.com,
	stable@...r.kernel.org
Subject: Re: [PATCH v3 1/1] userfaultfd: fix a crash in UFFDIO_MOVE with some
 non-present PMDs

On Wed, Aug 06, 2025 at 10:09:30AM -0700, Suren Baghdasaryan wrote:
> On Wed, Aug 6, 2025 at 9:56 AM Peter Xu <peterx@...hat.com> wrote:
> >
> > On Wed, Aug 06, 2025 at 08:40:15AM -0700, Suren Baghdasaryan wrote:
> > > When UFFDIO_MOVE is used with UFFDIO_MOVE_MODE_ALLOW_SRC_HOLES and it
> >
> > The migration entry can appear with/without ALLOW_SRC_HOLES, right?  Maybe
> > drop this line?
> 
> Yes, you are right. I'll update.
> 
> >
> > If we need another repost, the subject can further be tailored to mention
> > migration entry too rather than non-present.  IMHO that's clearer on
> > explaining the issue this patch is fixing (e.g. a valid transhuge THP can
> > also have present bit cleared).
> >
> > > encounters a non-present PMD (migration entry), it proceeds with folio
> > > access even though the folio is not present. Add the missing check and
> >
> > IMHO "... even though folio is not present" is pretty vague.  Maybe
> > "... even though it's a swap entry"?  Fundamentally it's because of the
> > different layouts of normal THP v.s. a swap entry, hence pmd_folio() should
> > not be used on top of swap entries.
> 
> Well, technically a migration entry is a non_swap_entry(), so calling
> migration entries "swap entries" is confusing to me. Any better
> wording we can use or do you think that's ok?

The more general definition of "swap entry" should follow what swp_entry_t
is defined, where, for example, is_migration_entry() itself takes
swp_entry_t as input.  So it should be fine, but I agree it's indeed
confusing.

If we want to make it clearer, IMHO we could rename non_swap_entry()
instead to is_swapfile_entry() / is_real_swap_entry() / ... but that can be
discussed separately.  Here, if we want to make it super accurate, we could
also use "swp_entry_t" instead of "swap entry", that'll be 100% accurate.

Thanks,

-- 
Peter Xu


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ