Messages in this thread | | | Date | Thu, 16 Jun 2022 11:44:59 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCHv3 6/8] x86/mm: Provide ARCH_GET_UNTAG_MASK and ARCH_ENABLE_TAGGED_ADDR |
| |
On Sun, Jun 12, 2022 at 02:03:43PM -0700, Andy Lutomirski wrote:
> >> > > > + /* LAM has to be enabled before spawning threads */ > >> > > > + if (get_nr_threads(current) > 1) > >> > > > + return -EBUSY;
> >> > > Does this work for vfork()? I guess the idea is that locking is
vfork() isn't the problem, the problem is that Linux allows CLONE_VM without CLONE_THREAD. Now, mostly nobody does that these days, but it is possible.
> get_nr_threads() is the wrong thing. Either look at mm->mm_users or > find a way to get rid of this restriction entirely.
mm->mm_users should indeed be sufficient here.
> IMO it would not be insane to have a way to iterate over all tasks > using an mm. But doing this for io_uring, etc might be interesting.
That has come up so often over the past 15+ years I've no idea how come we've still not managed to actually do that ;-)
| |