[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51463.1728069102@cvs.openbsd.org>
Date: Fri, 04 Oct 2024 13:11:42 -0600
From: "Theo de Raadt" <deraadt@...nbsd.org>
To: Jeff Xu <jeffxu@...omium.org>
cc: Randy Dunlap <rdunlap@...radead.org>, akpm@...ux-foundation.org,
keescook@...omium.org, corbet@....net, jorgelo@...omium.org,
groeck@...omium.org, linux-kernel@...r.kernel.org,
linux-kselftest@...r.kernel.org, linux-mm@...ck.org,
jannh@...gle.com, sroettger@...gle.com, pedro.falcato@...il.com,
linux-hardening@...r.kernel.org, willy@...radead.org,
gregkh@...uxfoundation.org, torvalds@...ux-foundation.org,
usama.anjum@...labora.com, surenb@...gle.com, merimus@...gle.com,
lorenzo.stoakes@...cle.com, Liam.Howlett@...cle.com, enh@...gle.com
Subject: Re: [PATCH v2 1/1] mseal: update mseal.rst
Jeff Xu <jeffxu@...omium.org> wrote:
> > > + replacement with a new mapping with new set of attributes, or can
> > > + overwrite the existing mapping with another mapping.
> > > +
> > > + mprotect and pkey_mprotect are blocked because they changes the
> > > + protection bits (RWX) of the mapping.
> > > +
> > > + Some destructive madvise behaviors (MADV_DONTNEED, MADV_FREE,> + MADV_DONTNEED_LOCKED, MADV_FREE, MADV_DONTFORK, MADV_WIPEONFORK)
> > > + for anonymous memory, when users don't have write permission to the
> > > + memory. Those behaviors can alter region contents by discarding pages,
> >
> > above is not a sentence but I don't know how to fix it.
> >
> Would below work ?
>
> Certain destructive madvise behaviors, specifically MADV_DONTNEED,
> MADV_FREE, MADV_DONTNEED_LOCKED, MADV_FREE, MADV_DONTFORK,
> MADV_WIPEONFORK, can pose risks when applied to anonymous memory by
> threads without write permissions. These behaviors have the potential
> to modify region contents by discarding pages, effectively performing
> a memset(0) operation on the anonymous memory.
In OpenBSD, mimmutable blocks all those madvise() operations.
I don't understand the sentence supplied above. Is it saying that
mseal() solves that problem, or that mseal() does not solve that
problem.
I would hope it solves that problem. But the sentence explains the
problem without taking a position on what to do.
Powered by blists - more mailing lists