Re: [PATCH v10 0/5] Introduce mseal

From: Andrew Morton
Date: Tue May 14 2024 - 19:02:04 EST


On Tue, 14 May 2024 16:48:47 -0600 "Theo de Raadt" <deraadt@xxxxxxxxxxx> wrote:

> Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:
>
> > > Not taking a position on merging, but I have to ask: are we convinced at
> > > this point that mseal() isn't a chrome-only system call? Did we ever
> > > see the glibc patches that were promised?
> >
> > I think _this_ version of mseal() is OpenBSD's mimmutable() with a
> > basically unused extra 'flags' argument. As such, we have an existance
> > proof that it's useful beyond Chrome.
>
> Yes, it is close enough.
>
> > I think Liam still had concerns around the
> > walk-the-vmas-twice-to-error-out-early part of the implementation?
> > Although we can always fix the implementation later; changing the API
> > is hard.
>
> Yes I am a bit worried about the point Liam brings up -- we've discussed
> it privately at length. Matthew, to keep it short I have a different
> viewpoint:
>
> Some of the Linux m* system calls have non-conforming, partial-work-then-return-error
> behaviour. I cannot find anything like this in any system call in any other
> operating system, and I believe there is a defacto rule against doing this, and
> Linux has an optimization which violating this, and I think it could be fixed
> with fairly minor expense, and can't imagine it affecting a single application.

Thanks.

> I worry that the non-atomicity will one day be used by an attacker.

How might an attacker exploit this?