All of lore.kernel.org
 help / color / mirror / Atom feed
From: "PaX Team" <pageexec@freemail.hu>
To: Kees Cook <keescook@chromium.org>, Andy Lutomirski <luto@amacapital.net>
Cc: Christoph Lameter <cl@linux.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Brad Spengler <spender@grsecurity.net>,
	Pekka Enberg <penberg@kernel.org>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Casey Schaufler <casey@schaufler-ca.com>,
	Will Deacon <will.deacon@arm.com>, Rik van Riel <riel@redhat.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Dmitry Vyukov <dvyukov@google.com>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>, X86 ML <x86@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	linux-arch <linux-arch@vger.kernel.org>,
	David Rientjes <rientjes@google.com>,
	Mathias Krause <minipli@googlemail.com>,
	"kernel-hardening@lists.openwall.com" 
	<kernel-hardening@lists.openwall.com>,
	"David S. Miller" <davem@davemloft.net>,
	Laura Abbott <labbott@fedoraproject.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Jan Kara <jack@suse.cz>, Russell King <linux@armlinux.org.uk>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	linuxppc-dev@lists.ozlabs.org, Vitaly Wool <vitalywool@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@suse.de>, Tony Luck <tony.luck@intel.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	sparclinux@vger.kernel.org
Subject: Re: [PATCH 0/9] mm: Hardened usercopy
Date: Sun, 10 Jul 2016 01:16:36 +0200	[thread overview]
Message-ID: <578185D4.29090.242668C8@pageexec.freemail.hu> (raw)
In-Reply-To: <CALCETrU5Emr7jZNH5bh7Z+C8fLOcAah9SzeJbDjqW7N-xWGxHA@mail.gmail.com>

On 9 Jul 2016 at 14:27, Andy Lutomirski wrote:

> On Jul 6, 2016 6:25 PM, "Kees Cook" <keescook@chromium.org> wrote:
> >
> > Hi,
> >
> > This is a start of the mainline port of PAX_USERCOPY[1]. After I started
> > writing tests (now in lkdtm in -next) for Casey's earlier port[2], I
> > kept tweaking things further and further until I ended up with a whole
> > new patch series. To that end, I took Rik's feedback and made a number
> > of other changes and clean-ups as well.
> >
> 
> I like the series, but I have one minor nit to pick.  The effect of
> this series is to harden usercopy, but most of the code is really
> about infrastructure to validate that a pointed-to object is valid.

actually USERCOPY has never been about validating pointers. its sole purpose
is to validate the *size* argument of copy*user calls, a very specific form
of runtime bounds checking. it's only really relevant for slab objects and the
pointer checks (that one might mistake for being a part of the defense mechanism)
are only there to determine whether the kernel pointer refers to a slab object
or not (the stack part is a small bonus and was never the main goal either).

> Might it make sense to call the infrastructure part something else?

yes, more bikeshedding will surely help, like the renaming of .data..read_only
to .data..ro_after_init which also had nothing to do with init but everything
to do with objects being conceptually read-only...

> After all, this could be extended in the future for memcpy or even for
> some GCC plugin to check pointers passed to ordinary (non-allocator)
> functions.

what kind of checks are you thinking of here? and more fundamentally, against
what kind of threats? as for memcpy, it's the standard mandated memory copying
function, what security related properties can it check on its pointer arguments?

WARNING: multiple messages have this Message-ID (diff)
From: "PaX Team" <pageexec@freemail.hu>
To: Kees Cook <keescook@chromium.org>, Andy Lutomirski <luto@amacapital.net>
Cc: Christoph Lameter <cl@linux.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Brad Spengler <spender@grsecurity.net>,
	Pekka Enberg <penberg@kernel.org>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Casey Schaufler <casey@schaufler-ca.com>,
	Will Deacon <will.deacon@arm.com>, Rik van Riel <riel@redhat.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Dmitry Vyukov <dvyukov@google.com>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>, X86 ML <x86@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	linux-arch <linux-arch@vger.kernel.org>,
	David Rientjes <rientjes@google.com>,
	Mathias Krause <minipli@googlemail.com>,
	"kernel-hardening@lists.openwall.com" <kernel-hardening@li>
Subject: Re: [PATCH 0/9] mm: Hardened usercopy
Date: Sun, 10 Jul 2016 01:16:36 +0200	[thread overview]
Message-ID: <578185D4.29090.242668C8@pageexec.freemail.hu> (raw)
In-Reply-To: <CALCETrU5Emr7jZNH5bh7Z+C8fLOcAah9SzeJbDjqW7N-xWGxHA@mail.gmail.com>

On 9 Jul 2016 at 14:27, Andy Lutomirski wrote:

> On Jul 6, 2016 6:25 PM, "Kees Cook" <keescook@chromium.org> wrote:
> >
> > Hi,
> >
> > This is a start of the mainline port of PAX_USERCOPY[1]. After I started
> > writing tests (now in lkdtm in -next) for Casey's earlier port[2], I
> > kept tweaking things further and further until I ended up with a whole
> > new patch series. To that end, I took Rik's feedback and made a number
> > of other changes and clean-ups as well.
> >
> 
> I like the series, but I have one minor nit to pick.  The effect of
> this series is to harden usercopy, but most of the code is really
> about infrastructure to validate that a pointed-to object is valid.

actually USERCOPY has never been about validating pointers. its sole purpose
is to validate the *size* argument of copy*user calls, a very specific form
of runtime bounds checking. it's only really relevant for slab objects and the
pointer checks (that one might mistake for being a part of the defense mechanism)
are only there to determine whether the kernel pointer refers to a slab object
or not (the stack part is a small bonus and was never the main goal either).

> Might it make sense to call the infrastructure part something else?

yes, more bikeshedding will surely help, like the renaming of .data..read_only
to .data..ro_after_init which also had nothing to do with init but everything
to do with objects being conceptually read-only...

> After all, this could be extended in the future for memcpy or even for
> some GCC plugin to check pointers passed to ordinary (non-allocator)
> functions.

what kind of checks are you thinking of here? and more fundamentally, against
what kind of threats? as for memcpy, it's the standard mandated memory copying
function, what security related properties can it check on its pointer arguments?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: "PaX Team" <pageexec@freemail.hu>
To: Kees Cook <keescook@chromium.org>, Andy Lutomirski <luto@amacapital.net>
Cc: Christoph Lameter <cl@linux.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Brad Spengler <spender@grsecurity.net>,
	Pekka Enberg <penberg@kernel.org>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Casey Schaufler <casey@schaufler-ca.com>,
	Will Deacon <will.deacon@arm.com>, Rik van Riel <riel@redhat.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Dmitry Vyukov <dvyukov@google.com>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>, X86 ML <x86@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	linux-arch <linux-arch@vger.kernel.org>,
	David Rientjes <rientjes@google.com>,
	Mathias Krause <minipli@googlemail.com>,
	"kernel-hardening@lists.openwall.com"
	<kernel-hardening@lists.openwall.com>,
	"David S. Miller" <davem@davemloft.net>,
	Laura Abbott <labbott@fedoraproject.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Jan Kara <jack@suse.cz>, Russell King <linux@armlinux.org.uk>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	linuxppc-dev@lists.ozlabs.org, Vitaly Wool <vitalywool@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@suse.de>, Tony Luck <tony.luck@intel.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	sparclinux@vger.kernel.org
Subject: Re: [PATCH 0/9] mm: Hardened usercopy
Date: Sat, 09 Jul 2016 23:16:36 +0000	[thread overview]
Message-ID: <578185D4.29090.242668C8@pageexec.freemail.hu> (raw)
In-Reply-To: <CALCETrU5Emr7jZNH5bh7Z+C8fLOcAah9SzeJbDjqW7N-xWGxHA@mail.gmail.com>

On 9 Jul 2016 at 14:27, Andy Lutomirski wrote:

> On Jul 6, 2016 6:25 PM, "Kees Cook" <keescook@chromium.org> wrote:
> >
> > Hi,
> >
> > This is a start of the mainline port of PAX_USERCOPY[1]. After I started
> > writing tests (now in lkdtm in -next) for Casey's earlier port[2], I
> > kept tweaking things further and further until I ended up with a whole
> > new patch series. To that end, I took Rik's feedback and made a number
> > of other changes and clean-ups as well.
> >
> 
> I like the series, but I have one minor nit to pick.  The effect of
> this series is to harden usercopy, but most of the code is really
> about infrastructure to validate that a pointed-to object is valid.

actually USERCOPY has never been about validating pointers. its sole purpose
is to validate the *size* argument of copy*user calls, a very specific form
of runtime bounds checking. it's only really relevant for slab objects and the
pointer checks (that one might mistake for being a part of the defense mechanism)
are only there to determine whether the kernel pointer refers to a slab object
or not (the stack part is a small bonus and was never the main goal either).

> Might it make sense to call the infrastructure part something else?

yes, more bikeshedding will surely help, like the renaming of .data..read_only
to .data..ro_after_init which also had nothing to do with init but everything
to do with objects being conceptually read-only...

> After all, this could be extended in the future for memcpy or even for
> some GCC plugin to check pointers passed to ordinary (non-allocator)
> functions.

what kind of checks are you thinking of here? and more fundamentally, against
what kind of threats? as for memcpy, it's the standard mandated memory copying
function, what security related properties can it check on its pointer arguments?


WARNING: multiple messages have this Message-ID (diff)
From: "PaX Team" <pageexec@freemail.hu>
To: Kees Cook <keescook@chromium.org>, Andy Lutomirski <luto@amacapital.net>
Cc: Christoph Lameter <cl@linux.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Brad Spengler <spender@grsecurity.net>,
	Pekka Enberg <penberg@kernel.org>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Casey Schaufler <casey@schaufler-ca.com>,
	Will Deacon <will.deacon@arm.com>, Rik van Riel <riel@redhat.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Dmitry Vyukov <dvyukov@google.com>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>, X86 ML <x86@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	linux-arch <linux-arch@vger.kernel.org>,
	David Rientjes <rientjes@google.com>,
	Mathias Krause <minipli@googlemail.com>,
	"kernel-hardening@lists.openwall.com"
	<kernel-hardening@lists.openwall.com>,
	"David S. Miller" <davem@davemloft.net>,
	Laura Abbott <labbott@fedoraproject.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Jan Kara <jack@suse.cz>, Russell King <linux@armlinux.org.uk>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	linuxppc-dev@lists.ozlabs.org, Vitaly Wool <vitalywool@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@suse.de>, Tony Luck <tony.luck@intel.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	sparclinux@vger.kernel.org
Subject: Re: [PATCH 0/9] mm: Hardened usercopy
Date: Sun, 10 Jul 2016 01:16:36 +0200	[thread overview]
Message-ID: <578185D4.29090.242668C8@pageexec.freemail.hu> (raw)
In-Reply-To: <CALCETrU5Emr7jZNH5bh7Z+C8fLOcAah9SzeJbDjqW7N-xWGxHA@mail.gmail.com>

On 9 Jul 2016 at 14:27, Andy Lutomirski wrote:

> On Jul 6, 2016 6:25 PM, "Kees Cook" <keescook@chromium.org> wrote:
> >
> > Hi,
> >
> > This is a start of the mainline port of PAX_USERCOPY[1]. After I started
> > writing tests (now in lkdtm in -next) for Casey's earlier port[2], I
> > kept tweaking things further and further until I ended up with a whole
> > new patch series. To that end, I took Rik's feedback and made a number
> > of other changes and clean-ups as well.
> >
> 
> I like the series, but I have one minor nit to pick.  The effect of
> this series is to harden usercopy, but most of the code is really
> about infrastructure to validate that a pointed-to object is valid.

actually USERCOPY has never been about validating pointers. its sole purpose
is to validate the *size* argument of copy*user calls, a very specific form
of runtime bounds checking. it's only really relevant for slab objects and the
pointer checks (that one might mistake for being a part of the defense mechanism)
are only there to determine whether the kernel pointer refers to a slab object
or not (the stack part is a small bonus and was never the main goal either).

> Might it make sense to call the infrastructure part something else?

yes, more bikeshedding will surely help, like the renaming of .data..read_only
to .data..ro_after_init which also had nothing to do with init but everything
to do with objects being conceptually read-only...

> After all, this could be extended in the future for memcpy or even for
> some GCC plugin to check pointers passed to ordinary (non-allocator)
> functions.

what kind of checks are you thinking of here? and more fundamentally, against
what kind of threats? as for memcpy, it's the standard mandated memory copying
function, what security related properties can it check on its pointer arguments?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: "PaX Team" <pageexec@freemail.hu>
To: Kees Cook <keescook@chromium.org>, Andy Lutomirski <luto@amacapital.net>
Cc: Christoph Lameter <cl@linux.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Brad Spengler <spender@grsecurity.net>,
	Pekka Enberg <penberg@kernel.org>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Casey Schaufler <casey@schaufler-ca.com>,
	Will Deacon <will.deacon@arm.com>, Rik van Riel <riel@redhat.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Dmitry Vyukov <dvyukov@google.com>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>, X86 ML <x86@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	linux-arch <linux-arch@vger.kernel.org>,
	David Rientjes <rientjes@google.com>,
	Mathias Krause <minipli@googlemail.com>,
	"kernel-hardening@lists.openwall.com"
	<kernel-hardening@lists.openwall.com>,
	"David S. Miller" <davem@davemloft.net>,
	Laura Abbott <labbott@fedoraproject.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Jan Kara <jack@suse.cz>, Russell King <linux@armlinux.org.uk>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	linuxppc-dev@lists.ozlabs.org, Vitaly Wool <vitalywool@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@suse.de>, Tony Luck <tony.luck@intel.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	sparclinux@vger.kernel.org
Subject: Re: [PATCH 0/9] mm: Hardened usercopy
Date: Sun, 10 Jul 2016 01:16:36 +0200	[thread overview]
Message-ID: <578185D4.29090.242668C8@pageexec.freemail.hu> (raw)
In-Reply-To: <CALCETrU5Emr7jZNH5bh7Z+C8fLOcAah9SzeJbDjqW7N-xWGxHA@mail.gmail.com>

On 9 Jul 2016 at 14:27, Andy Lutomirski wrote:

> On Jul 6, 2016 6:25 PM, "Kees Cook" <keescook@chromium.org> wrote:
> >
> > Hi,
> >
> > This is a start of the mainline port of PAX_USERCOPY[1]. After I started
> > writing tests (now in lkdtm in -next) for Casey's earlier port[2], I
> > kept tweaking things further and further until I ended up with a whole
> > new patch series. To that end, I took Rik's feedback and made a number
> > of other changes and clean-ups as well.
> >
> 
> I like the series, but I have one minor nit to pick.  The effect of
> this series is to harden usercopy, but most of the code is really
> about infrastructure to validate that a pointed-to object is valid.

actually USERCOPY has never been about validating pointers. its sole purpose
is to validate the *size* argument of copy*user calls, a very specific form
of runtime bounds checking. it's only really relevant for slab objects and the
pointer checks (that one might mistake for being a part of the defense mechanism)
are only there to determine whether the kernel pointer refers to a slab object
or not (the stack part is a small bonus and was never the main goal either).

> Might it make sense to call the infrastructure part something else?

yes, more bikeshedding will surely help, like the renaming of .data..read_only
to .data..ro_after_init which also had nothing to do with init but everything
to do with objects being conceptually read-only...

> After all, this could be extended in the future for memcpy or even for
> some GCC plugin to check pointers passed to ordinary (non-allocator)
> functions.

what kind of checks are you thinking of here? and more fundamentally, against
what kind of threats? as for memcpy, it's the standard mandated memory copying
function, what security related properties can it check on its pointer arguments?

WARNING: multiple messages have this Message-ID (diff)
From: pageexec@freemail.hu (PaX Team)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/9] mm: Hardened usercopy
Date: Sun, 10 Jul 2016 01:16:36 +0200	[thread overview]
Message-ID: <578185D4.29090.242668C8@pageexec.freemail.hu> (raw)
In-Reply-To: <CALCETrU5Emr7jZNH5bh7Z+C8fLOcAah9SzeJbDjqW7N-xWGxHA@mail.gmail.com>

On 9 Jul 2016 at 14:27, Andy Lutomirski wrote:

> On Jul 6, 2016 6:25 PM, "Kees Cook" <keescook@chromium.org> wrote:
> >
> > Hi,
> >
> > This is a start of the mainline port of PAX_USERCOPY[1]. After I started
> > writing tests (now in lkdtm in -next) for Casey's earlier port[2], I
> > kept tweaking things further and further until I ended up with a whole
> > new patch series. To that end, I took Rik's feedback and made a number
> > of other changes and clean-ups as well.
> >
> 
> I like the series, but I have one minor nit to pick.  The effect of
> this series is to harden usercopy, but most of the code is really
> about infrastructure to validate that a pointed-to object is valid.

actually USERCOPY has never been about validating pointers. its sole purpose
is to validate the *size* argument of copy*user calls, a very specific form
of runtime bounds checking. it's only really relevant for slab objects and the
pointer checks (that one might mistake for being a part of the defense mechanism)
are only there to determine whether the kernel pointer refers to a slab object
or not (the stack part is a small bonus and was never the main goal either).

> Might it make sense to call the infrastructure part something else?

yes, more bikeshedding will surely help, like the renaming of .data..read_only
to .data..ro_after_init which also had nothing to do with init but everything
to do with objects being conceptually read-only...

> After all, this could be extended in the future for memcpy or even for
> some GCC plugin to check pointers passed to ordinary (non-allocator)
> functions.

what kind of checks are you thinking of here? and more fundamentally, against
what kind of threats? as for memcpy, it's the standard mandated memory copying
function, what security related properties can it check on its pointer arguments?

WARNING: multiple messages have this Message-ID (diff)
From: "PaX Team" <pageexec@freemail.hu>
To: Kees Cook <keescook@chromium.org>, Andy Lutomirski <luto@amacapital.net>
Cc: Christoph Lameter <cl@linux.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Brad Spengler <spender@grsecurity.net>,
	Pekka Enberg <penberg@kernel.org>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Casey Schaufler <casey@schaufler-ca.com>,
	Will Deacon <will.deacon@arm.com>, Rik van Riel <riel@redhat.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Dmitry Vyukov <dvyukov@google.com>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>, X86 ML <x86@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	linux-arch <linux-arch@vger.kernel.org>,
	David Rientjes <rientjes@google.com>,
	Mathias Krause <minipli@googlemail.com>,
	"kernel-hardening@lists.openwall.com"
	<kernel-hardening@lists.openwall.com>,
	"David S. Miller" <davem@davemloft.net>,
	Laura Abbott <labbott@fedoraproject.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Jan Kara <jack@suse.cz>, Russell King <linux@armlinux.org.uk>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	linuxppc-dev@lists.ozlabs.org, Vitaly Wool <vitalywool@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Borislav Petkov <bp@suse.de>, Tony Luck <tony.luck@intel.com>,
	Joonsoo Kim <iamjoonsoo.kim@lge.com>,
	sparclinux@vger.kernel.org
Subject: [kernel-hardening] Re: [PATCH 0/9] mm: Hardened usercopy
Date: Sun, 10 Jul 2016 01:16:36 +0200	[thread overview]
Message-ID: <578185D4.29090.242668C8@pageexec.freemail.hu> (raw)
In-Reply-To: <CALCETrU5Emr7jZNH5bh7Z+C8fLOcAah9SzeJbDjqW7N-xWGxHA@mail.gmail.com>

On 9 Jul 2016 at 14:27, Andy Lutomirski wrote:

> On Jul 6, 2016 6:25 PM, "Kees Cook" <keescook@chromium.org> wrote:
> >
> > Hi,
> >
> > This is a start of the mainline port of PAX_USERCOPY[1]. After I started
> > writing tests (now in lkdtm in -next) for Casey's earlier port[2], I
> > kept tweaking things further and further until I ended up with a whole
> > new patch series. To that end, I took Rik's feedback and made a number
> > of other changes and clean-ups as well.
> >
> 
> I like the series, but I have one minor nit to pick.  The effect of
> this series is to harden usercopy, but most of the code is really
> about infrastructure to validate that a pointed-to object is valid.

actually USERCOPY has never been about validating pointers. its sole purpose
is to validate the *size* argument of copy*user calls, a very specific form
of runtime bounds checking. it's only really relevant for slab objects and the
pointer checks (that one might mistake for being a part of the defense mechanism)
are only there to determine whether the kernel pointer refers to a slab object
or not (the stack part is a small bonus and was never the main goal either).

> Might it make sense to call the infrastructure part something else?

yes, more bikeshedding will surely help, like the renaming of .data..read_only
to .data..ro_after_init which also had nothing to do with init but everything
to do with objects being conceptually read-only...

> After all, this could be extended in the future for memcpy or even for
> some GCC plugin to check pointers passed to ordinary (non-allocator)
> functions.

what kind of checks are you thinking of here? and more fundamentally, against
what kind of threats? as for memcpy, it's the standard mandated memory copying
function, what security related properties can it check on its pointer arguments?

  reply	other threads:[~2016-07-09 23:18 UTC|newest]

Thread overview: 366+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-06 22:25 [PATCH 0/9] mm: Hardened usercopy Kees Cook
2016-07-06 22:25 ` [kernel-hardening] " Kees Cook
2016-07-06 22:25 ` Kees Cook
2016-07-06 22:25 ` Kees Cook
2016-07-06 22:25 ` Kees Cook
2016-07-06 22:25 ` Kees Cook
2016-07-06 22:25 ` [PATCH 1/9] " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-07  5:37   ` Baruch Siach
2016-07-07  5:37     ` [kernel-hardening] " Baruch Siach
2016-07-07  5:37     ` Baruch Siach
2016-07-07  5:37     ` Baruch Siach
2016-07-07  5:37     ` Baruch Siach
2016-07-07  5:37     ` Baruch Siach
2016-07-07 17:25     ` Kees Cook
2016-07-07 17:25       ` [kernel-hardening] " Kees Cook
2016-07-07 17:25       ` Kees Cook
2016-07-07 17:25       ` Kees Cook
2016-07-07 17:25       ` Kees Cook
2016-07-07 17:25       ` Kees Cook
2016-07-07 17:25       ` Kees Cook
2016-07-07 18:35       ` Baruch Siach
2016-07-07 18:35         ` [kernel-hardening] " Baruch Siach
2016-07-07 18:35         ` Baruch Siach
2016-07-07 18:35         ` Baruch Siach
2016-07-07 18:35         ` Baruch Siach
2016-07-07 18:35         ` Baruch Siach
2016-07-07 18:35         ` Baruch Siach
2016-07-07  7:42   ` Thomas Gleixner
2016-07-07  7:42     ` [kernel-hardening] " Thomas Gleixner
2016-07-07  7:42     ` Thomas Gleixner
2016-07-07  7:42     ` Thomas Gleixner
2016-07-07  7:42     ` Thomas Gleixner
2016-07-07  7:42     ` Thomas Gleixner
2016-07-07 17:29     ` Kees Cook
2016-07-07 17:29       ` [kernel-hardening] " Kees Cook
2016-07-07 17:29       ` Kees Cook
2016-07-07 17:29       ` Kees Cook
2016-07-07 17:29       ` Kees Cook
2016-07-07 17:29       ` Kees Cook
2016-07-07 17:29       ` Kees Cook
2016-07-07 19:34       ` Thomas Gleixner
2016-07-07 19:34         ` [kernel-hardening] " Thomas Gleixner
2016-07-07 19:34         ` Thomas Gleixner
2016-07-07 19:34         ` Thomas Gleixner
2016-07-07 19:34         ` Thomas Gleixner
2016-07-07 19:34         ` Thomas Gleixner
2016-07-07 19:34         ` Thomas Gleixner
2016-07-07  8:01   ` Arnd Bergmann
2016-07-07  8:01     ` [kernel-hardening] " Arnd Bergmann
2016-07-07  8:01     ` Arnd Bergmann
2016-07-07  8:01     ` Arnd Bergmann
2016-07-07  8:01     ` Arnd Bergmann
2016-07-07  8:01     ` Arnd Bergmann
2016-07-07 17:37     ` Kees Cook
2016-07-07 17:37       ` [kernel-hardening] " Kees Cook
2016-07-07 17:37       ` Kees Cook
2016-07-07 17:37       ` Kees Cook
2016-07-07 17:37       ` Kees Cook
2016-07-07 17:37       ` Kees Cook
2016-07-07 17:37       ` Kees Cook
2016-07-08  5:34       ` Michael Ellerman
2016-07-08  5:34       ` Michael Ellerman
2016-07-08  5:34         ` [kernel-hardening] " Michael Ellerman
2016-07-08  5:34       ` Michael Ellerman
2016-07-08  5:34       ` Michael Ellerman
2016-07-08  5:34         ` Michael Ellerman
2016-07-08  5:34       ` Michael Ellerman
2016-07-08  9:22       ` Arnd Bergmann
2016-07-08  9:22         ` [kernel-hardening] " Arnd Bergmann
2016-07-08  9:22         ` Arnd Bergmann
2016-07-08  9:22         ` Arnd Bergmann
2016-07-08  9:22         ` Arnd Bergmann
2016-07-08  9:22         ` Arnd Bergmann
2016-07-08  9:22         ` Arnd Bergmann
2016-07-07 16:19   ` Rik van Riel
2016-07-07 16:19     ` [kernel-hardening] " Rik van Riel
2016-07-07 16:19     ` Rik van Riel
2016-07-07 16:19     ` Rik van Riel
2016-07-07 16:19     ` Rik van Riel
2016-07-07 16:35   ` Rik van Riel
2016-07-07 16:35     ` [kernel-hardening] " Rik van Riel
2016-07-07 16:35     ` Rik van Riel
2016-07-07 16:35     ` Rik van Riel
2016-07-07 16:35     ` Rik van Riel
2016-07-07 17:41     ` Kees Cook
2016-07-07 17:41       ` [kernel-hardening] " Kees Cook
2016-07-07 17:41       ` Kees Cook
2016-07-07 17:41       ` Kees Cook
2016-07-07 17:41       ` Kees Cook
2016-07-07 17:41       ` Kees Cook
2016-07-07 17:41       ` Kees Cook
2016-07-06 22:25 ` [PATCH 2/9] x86/uaccess: Enable hardened usercopy Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25 ` [PATCH 3/9] ARM: uaccess: " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25 ` [PATCH 4/9] arm64/uaccess: " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-07 10:07   ` Mark Rutland
2016-07-07 10:07     ` [kernel-hardening] " Mark Rutland
2016-07-07 10:07     ` Mark Rutland
2016-07-07 10:07     ` Mark Rutland
2016-07-07 10:07     ` Mark Rutland
2016-07-07 10:07     ` Mark Rutland
2016-07-07 17:19     ` Kees Cook
2016-07-07 17:19       ` [kernel-hardening] " Kees Cook
2016-07-07 17:19       ` Kees Cook
2016-07-07 17:19       ` Kees Cook
2016-07-07 17:19       ` Kees Cook
2016-07-07 17:19       ` Kees Cook
2016-07-07 17:19       ` Kees Cook
2016-07-06 22:25 ` [PATCH 5/9] ia64/uaccess: " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25 ` [PATCH 6/9] powerpc/uaccess: " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25 ` [PATCH 7/9] sparc/uaccess: " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25 ` [PATCH 8/9] mm: SLAB hardened usercopy support Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25 ` [PATCH 9/9] mm: SLUB " Kees Cook
2016-07-06 22:25   ` [kernel-hardening] " Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-06 22:25   ` Kees Cook
2016-07-07  4:35   ` Michael Ellerman
2016-07-07  4:35     ` [kernel-hardening] " Michael Ellerman
2016-07-07  4:35   ` Michael Ellerman
2016-07-07  4:35   ` Michael Ellerman
2016-07-07  4:35     ` Michael Ellerman
2016-07-07  4:35   ` Michael Ellerman
2016-07-07  4:35   ` Michael Ellerman
     [not found]   ` <577ddc18.d351190a.1fa54.ffffbe79SMTPIN_ADDED_BROKEN@mx.google.com>
2016-07-07 18:56     ` [kernel-hardening] " Kees Cook
2016-07-07 18:56       ` Kees Cook
2016-07-07 18:56       ` Kees Cook
2016-07-07 18:56       ` Kees Cook
2016-07-07 18:56       ` Kees Cook
2016-07-08 10:19       ` Michael Ellerman
2016-07-08 13:45         ` Christoph Lameter
2016-07-08 13:45           ` Christoph Lameter
2016-07-08 13:45           ` Christoph Lameter
2016-07-08 13:45           ` Christoph Lameter
2016-07-08 13:45           ` Christoph Lameter
2016-07-08 16:07           ` Kees Cook
2016-07-08 16:07             ` Kees Cook
2016-07-08 16:07             ` Kees Cook
2016-07-08 16:07             ` Kees Cook
2016-07-08 16:07             ` Kees Cook
2016-07-08 16:20             ` Christoph Lameter
2016-07-08 16:20               ` Christoph Lameter
2016-07-08 16:20               ` Christoph Lameter
2016-07-08 16:20               ` Christoph Lameter
2016-07-08 16:20               ` Christoph Lameter
2016-07-08 17:41               ` [kernel-hardening] " Kees Cook
2016-07-08 17:41                 ` Kees Cook
2016-07-08 17:41                 ` Kees Cook
2016-07-08 17:41                 ` Kees Cook
2016-07-08 17:41                 ` Kees Cook
2016-07-08 17:41                 ` Kees Cook
2016-07-08 20:48                 ` Kees Cook
2016-07-08 20:48                   ` Kees Cook
2016-07-08 20:48                   ` Kees Cook
2016-07-08 20:48                   ` Kees Cook
2016-07-08 20:48                   ` Kees Cook
2016-07-08 20:48                   ` Kees Cook
2016-07-09  5:58                   ` Michael Ellerman
2016-07-09  5:58                   ` [kernel-hardening] " Michael Ellerman
2016-07-09  5:58                     ` Michael Ellerman
2016-07-09  5:58                   ` Michael Ellerman
2016-07-09  5:58                   ` Michael Ellerman
2016-07-09  5:58                   ` Michael Ellerman
2016-07-09  5:58                   ` Michael Ellerman
2016-07-09  5:58                     ` Michael Ellerman
2016-07-09  5:58                     ` Michael Ellerman
2016-07-09  6:07                     ` Michael Ellerman
2016-07-09  6:07                     ` Michael Ellerman
2016-07-09  6:07                     ` Michael Ellerman
2016-07-09  6:07                       ` Michael Ellerman
2016-07-09  6:07                     ` Michael Ellerman
2016-07-09  6:07                       ` Michael Ellerman
2016-07-09  6:07                       ` Michael Ellerman
2016-07-09  6:07                     ` Michael Ellerman
2016-07-09  6:07                     ` Michael Ellerman
     [not found]                   ` <57809299.84b3370a.5390c.ffff9e58SMTPIN_ADDED_BROKEN@mx.google.com>
2016-07-09  6:17                     ` [kernel-hardening] " Valdis.Kletnieks
2016-07-09  6:17                       ` Valdis.Kletnieks at vt.edu
2016-07-09  6:17                       ` Valdis.Kletnieks
2016-07-09  6:17                       ` Valdis.Kletnieks
2016-07-09  6:17                       ` Valdis.Kletnieks
2016-07-09  6:17                       ` Valdis.Kletnieks
2016-07-09 17:07                       ` Kees Cook
2016-07-09 17:07                         ` Kees Cook
2016-07-09 17:07                         ` Kees Cook
2016-07-09 17:07                         ` Kees Cook
2016-07-09 17:07                         ` Kees Cook
2016-07-09 17:07                         ` Kees Cook
2016-07-11  6:08                   ` Joonsoo Kim
2016-07-11  6:08                     ` Joonsoo Kim
2016-07-11  6:08                     ` Joonsoo Kim
2016-07-11  6:08                     ` Joonsoo Kim
2016-07-11  6:08                     ` Joonsoo Kim
2016-07-11  6:08                     ` Joonsoo Kim
2016-07-08 10:19       ` Michael Ellerman
2016-07-08 10:19       ` Michael Ellerman
2016-07-08 10:19       ` Michael Ellerman
2016-07-08 10:19       ` Michael Ellerman
2016-07-08 10:19       ` [kernel-hardening] " Michael Ellerman
2016-07-08 10:19         ` Michael Ellerman
2016-07-07  7:30 ` [PATCH 0/9] mm: Hardened usercopy Christian Borntraeger
2016-07-07  7:30   ` [kernel-hardening] " Christian Borntraeger
2016-07-07  7:30   ` Christian Borntraeger
2016-07-07  7:30   ` Christian Borntraeger
2016-07-07  7:30   ` Christian Borntraeger
2016-07-07  7:30   ` Christian Borntraeger
2016-07-07 17:27   ` Kees Cook
2016-07-07 17:27     ` [kernel-hardening] " Kees Cook
2016-07-07 17:27     ` Kees Cook
2016-07-07 17:27     ` Kees Cook
2016-07-07 17:27     ` Kees Cook
2016-07-07 17:27     ` Kees Cook
2016-07-07 17:27     ` Kees Cook
2016-07-08  8:46 ` Ingo Molnar
2016-07-08  8:46   ` [kernel-hardening] " Ingo Molnar
2016-07-08  8:46   ` Ingo Molnar
2016-07-08  8:46   ` Ingo Molnar
2016-07-08  8:46   ` Ingo Molnar
2016-07-08  8:46   ` Ingo Molnar
2016-07-08 16:19   ` Linus Torvalds
2016-07-08 16:19     ` [kernel-hardening] " Linus Torvalds
2016-07-08 16:19     ` Linus Torvalds
2016-07-08 16:19     ` Linus Torvalds
2016-07-08 16:19     ` Linus Torvalds
2016-07-08 16:19     ` Linus Torvalds
2016-07-08 16:19     ` Linus Torvalds
2016-07-08 18:23     ` Ingo Molnar
2016-07-08 18:23       ` [kernel-hardening] " Ingo Molnar
2016-07-08 18:23       ` Ingo Molnar
2016-07-08 18:23       ` Ingo Molnar
2016-07-08 18:23       ` Ingo Molnar
2016-07-08 18:23       ` Ingo Molnar
2016-07-08 18:23       ` Ingo Molnar
2016-07-09  2:22 ` Laura Abbott
2016-07-09  2:22   ` [kernel-hardening] " Laura Abbott
2016-07-09  2:22   ` Laura Abbott
2016-07-09  2:22   ` Laura Abbott
2016-07-09  2:44   ` Rik van Riel
2016-07-09  2:44     ` [kernel-hardening] " Rik van Riel
2016-07-09  2:44     ` Rik van Riel
2016-07-09  2:44     ` Rik van Riel
2016-07-09  2:44     ` Rik van Riel
2016-07-09  7:55     ` Ingo Molnar
2016-07-09  7:55       ` [kernel-hardening] " Ingo Molnar
2016-07-09  7:55       ` Ingo Molnar
2016-07-09  7:55       ` Ingo Molnar
2016-07-09  7:55       ` Ingo Molnar
2016-07-09  7:55       ` Ingo Molnar
2016-07-09  8:25   ` Ard Biesheuvel
2016-07-09  8:25     ` Ard Biesheuvel
2016-07-09  8:25     ` [kernel-hardening] " Ard Biesheuvel
2016-07-09  8:25     ` Ard Biesheuvel
2016-07-09  8:25     ` Ard Biesheuvel
2016-07-09  8:25     ` Ard Biesheuvel
2016-07-09  8:25     ` Ard Biesheuvel
2016-07-09  8:25     ` Ard Biesheuvel
2016-07-09 12:58     ` Laura Abbott
2016-07-09 12:58       ` [kernel-hardening] " Laura Abbott
2016-07-09 12:58       ` Laura Abbott
2016-07-09 17:03     ` Kees Cook
2016-07-09 17:03       ` Kees Cook
2016-07-09 17:03       ` [kernel-hardening] " Kees Cook
2016-07-09 17:03       ` Kees Cook
2016-07-09 17:03       ` Kees Cook
2016-07-09 17:03       ` Kees Cook
2016-07-09 17:03       ` Kees Cook
2016-07-09 17:03       ` Kees Cook
2016-07-09 17:01   ` Kees Cook
2016-07-09 17:01     ` [kernel-hardening] " Kees Cook
2016-07-09 17:01     ` Kees Cook
2016-07-09 17:01     ` Kees Cook
2016-07-09 17:01     ` Kees Cook
2016-07-09 17:01     ` Kees Cook
2016-07-09 17:01     ` Kees Cook
2016-07-09 21:27 ` Andy Lutomirski
2016-07-09 21:27   ` [kernel-hardening] " Andy Lutomirski
2016-07-09 21:27   ` Andy Lutomirski
2016-07-09 21:27   ` Andy Lutomirski
2016-07-09 21:27   ` Andy Lutomirski
2016-07-09 21:27   ` Andy Lutomirski
2016-07-09 21:27   ` Andy Lutomirski
2016-07-09 23:16   ` PaX Team [this message]
2016-07-09 23:16     ` [kernel-hardening] " PaX Team
2016-07-09 23:16     ` PaX Team
2016-07-09 23:16     ` PaX Team
2016-07-09 23:16     ` PaX Team
2016-07-09 23:16     ` PaX Team
2016-07-09 23:16     ` PaX Team
2016-07-09 23:16     ` PaX Team
2016-07-10  9:16     ` Ingo Molnar
2016-07-10  9:16       ` [kernel-hardening] " Ingo Molnar
2016-07-10  9:16       ` Ingo Molnar
2016-07-10  9:16       ` Ingo Molnar
2016-07-10  9:16       ` Ingo Molnar
2016-07-10  9:16       ` Ingo Molnar
2016-07-10  9:16       ` Ingo Molnar
2016-07-10 12:03       ` PaX Team
2016-07-10 12:03         ` [kernel-hardening] " PaX Team
2016-07-10 12:03         ` PaX Team
2016-07-10 12:03         ` PaX Team
2016-07-10 12:03         ` PaX Team
2016-07-10 12:03         ` PaX Team
2016-07-10 12:03         ` PaX Team
2016-07-10 12:03         ` PaX Team
2016-07-10 12:38         ` Andy Lutomirski
2016-07-10 12:38           ` [kernel-hardening] " Andy Lutomirski
2016-07-10 12:38           ` Andy Lutomirski
2016-07-10 12:38           ` Andy Lutomirski
2016-07-10 12:38           ` Andy Lutomirski
2016-07-10 12:38           ` Andy Lutomirski
2016-07-10 12:38           ` Andy Lutomirski
2016-07-11 18:40           ` Kees Cook
2016-07-11 18:40             ` [kernel-hardening] " Kees Cook
2016-07-11 18:40             ` Kees Cook
2016-07-11 18:40             ` Kees Cook
2016-07-11 18:40             ` Kees Cook
2016-07-11 18:40             ` Kees Cook
2016-07-11 18:40             ` Kees Cook
2016-07-11 18:34         ` Kees Cook
2016-07-11 18:34           ` [kernel-hardening] " Kees Cook
2016-07-11 18:34           ` Kees Cook
2016-07-11 18:34           ` Kees Cook
2016-07-11 18:34           ` Kees Cook
2016-07-11 18:34           ` Kees Cook
2016-07-11 18:34           ` Kees Cook
2016-07-12 18:26 ` [kernel-hardening] " Valdis.Kletnieks
2016-07-12 18:44   ` Kees Cook

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=578185D4.29090.242668C8@pageexec.freemail.hu \
    --to=pageexec@freemail.hu \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=benh@kernel.crashing.org \
    --cc=bp@suse.de \
    --cc=casey@schaufler-ca.com \
    --cc=catalin.marinas@arm.com \
    --cc=cl@linux.com \
    --cc=davem@davemloft.net \
    --cc=dvyukov@google.com \
    --cc=fenghua.yu@intel.com \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=jack@suse.cz \
    --cc=keescook@chromium.org \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=labbott@fedoraproject.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux@armlinux.org.uk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luto@amacapital.net \
    --cc=minipli@googlemail.com \
    --cc=mpe@ellerman.id.au \
    --cc=penberg@kernel.org \
    --cc=riel@redhat.com \
    --cc=rientjes@google.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=spender@grsecurity.net \
    --cc=tony.luck@intel.com \
    --cc=vitalywool@gmail.com \
    --cc=will.deacon@arm.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.