All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Kees Cook <keescook@chromium.org>
Cc: Djalal Harouni <tixxdz@gmail.com>, Jessica Yu <jeyu@kernel.org>,
	LSM List <linux-security-module@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"kernel-hardening@lists.openwall.com" 
	<kernel-hardening@lists.openwall.com>
Subject: Re: [kernel-hardening] Re: [PATCH v5 next 5/5] net: modules: use request_module_cap() to load 'netdev-%s' modules
Date: Wed, 29 Nov 2017 14:14:15 -0800	[thread overview]
Message-ID: <CA+55aFzi3Qj7zOrriRvrX5F4QDWMhkNQ7Qh-0FSCZsG4qk61zg@mail.gmail.com> (raw)
In-Reply-To: <CAGXu5jJQnokKL2MdbQgOhBJ_RMHVvsw4u27Ds=4Jq3Ys=mjtRg@mail.gmail.com>

On Wed, Nov 29, 2017 at 1:17 PM, Kees Cook <keescook@chromium.org> wrote:
>
> So, what we have now is that the permission verification already
> happens at and around the existing request_module() calls.

Usually, yes.

I liked the "request_module_cap()" interface partly because that made
the net/core/dev_ioctl.c ones more explicit, and maybe it could be
convenient if we make other places do similar things.

I was hoping some other users could be converted, but grepping around,
there's no obvious cases. There is tcp_cong.c and tcp_ulp.c, but they
want some extra locking in between the checking..

> It still sounds like you'd like to see an explicit change, similar to
> the proposed request_module_cap(), that identifies the privilege
> expectations on a per-call-site basis. How about this plan:

Yes.

I'd be perfectly happy to have a long-range plan where the existing
"request_module()" ends up requiring more capabilities.

I just don't think it's a good first step, exactly because *if* it's a
first step, it basically has to be disabled by default.

And once you disable it by default, and it becomes purely opt-in, that
means that nothing will change for most cases. Some embedded people
that do their own thing (ie Android) might change, but normal
distributions probably won't.

Yes, Android may be 99% of the users, and yes, the embedded world in
general needs to be secure, but I'd still like this to be something
that helps _everybody_.

So:

> 1) Add request_module_cap(required_cap, module_name_prefix, fmt, fmt_args...)
>
> 2) Convert known privileged-but-not-CAP_SYS_MODULE request_module()
> callers to request_module_cap(the_needed_cap, prefix, ...)

Yes. The upside seems to be very limited here, but at least it makes
the users that use CAP_NET_ADMIN instead of CAP_SYS_MODULE able to
specify so.

> 2) Convert known unprivileged callers to use request_module_cap(0, ...)

0 is CAP_CHOWN, so it would have to be -1.

And I wouldn't actually want to see that as-is. Not only would I not
want to see people have that "-1" in random driver subsystems, I'd
much prefer to have actual helper naming that descibes why something
is ok

Because as mentioned, I think there are valid permission reasons that
are _not_ about capabilities that make you able to load a module.

If you can open a character device node, then "misc_open()" will do

                request_module("char-major-%d-%d", MISC_MAJOR, minor);

and there is nothing about capabilities in the CAP_SYS_MODULE sense
about the user. But the user _did_ have the privileges to open that
character device file.

That's why I suggested something like request_module_dev(): it's not
at all the same thing as request_module_cap(-1, ...), saying "I don't
need/have a capability". It's saying something else entirely, it's
basically saying "I have the right based on device permissions".

And something like request_module_dev() might even have real semantic
meaning, exactly because it says "this module request comes from
trying to open a device node".

Why would that be? If we know we're on a system where /dev is
auto-populated through udev, then the device nodes should have been
created by the drivers, not the other way around. So we might even
have a rule that notices that automatically, and simply disables
request_module_dev() entirely.

Anyway, I'm not saying that is necessarily something we should do, but
I do suspect that we could adapt to modern systems without having to
have tons of magic settings, and try to be as strict as possible
without breaking them.

Because I dislike "system tuning" in general. I hate knobs that do
kernel performance tuning - we try very hard to just DTRT wrt sizing
hashes etc instead of expecting the system admin to set flags.

And I think we can try to avoid some system tuning in this area too.

I suspect that for a lot of our existing request_module() cases, they
really are pretty trivial. In most cases, it's probably really about
whether you have the hardware or not.

So for the hardware driver cases, either the hardware enumerates
itself, or it is presumably set up by the system scripts anyway, and
CAP_SYS_MODULE is all fine. The "open device node" case is one special
case, though.

That mainly leaves the protocol ones we need to look out for, I suspect.

> 3) Add WARN_RATELIMIT for request_module() calls without
> CAP_SYS_MODULE to shake out other places where request_module_cap() is
> needed.

Yes.

And this is where I hope that there really aren't actually all that
many cases that will warn, and that it's hopefully easy to simply just
look at a handful of reports and say "ok, that case is obviously
fine".

And I may be wrong.

> 4) Adapt the original patch series to add the per-process flag that
> can block privilege elevations.

Yes.

            Linus

WARNING: multiple messages have this Message-ID (diff)
From: torvalds@linux-foundation.org (Linus Torvalds)
To: linux-security-module@vger.kernel.org
Subject: [kernel-hardening] Re: [PATCH v5 next 5/5] net: modules: use request_module_cap() to load 'netdev-%s' modules
Date: Wed, 29 Nov 2017 14:14:15 -0800	[thread overview]
Message-ID: <CA+55aFzi3Qj7zOrriRvrX5F4QDWMhkNQ7Qh-0FSCZsG4qk61zg@mail.gmail.com> (raw)
In-Reply-To: <CAGXu5jJQnokKL2MdbQgOhBJ_RMHVvsw4u27Ds=4Jq3Ys=mjtRg@mail.gmail.com>

On Wed, Nov 29, 2017 at 1:17 PM, Kees Cook <keescook@chromium.org> wrote:
>
> So, what we have now is that the permission verification already
> happens at and around the existing request_module() calls.

Usually, yes.

I liked the "request_module_cap()" interface partly because that made
the net/core/dev_ioctl.c ones more explicit, and maybe it could be
convenient if we make other places do similar things.

I was hoping some other users could be converted, but grepping around,
there's no obvious cases. There is tcp_cong.c and tcp_ulp.c, but they
want some extra locking in between the checking..

> It still sounds like you'd like to see an explicit change, similar to
> the proposed request_module_cap(), that identifies the privilege
> expectations on a per-call-site basis. How about this plan:

Yes.

I'd be perfectly happy to have a long-range plan where the existing
"request_module()" ends up requiring more capabilities.

I just don't think it's a good first step, exactly because *if* it's a
first step, it basically has to be disabled by default.

And once you disable it by default, and it becomes purely opt-in, that
means that nothing will change for most cases. Some embedded people
that do their own thing (ie Android) might change, but normal
distributions probably won't.

Yes, Android may be 99% of the users, and yes, the embedded world in
general needs to be secure, but I'd still like this to be something
that helps _everybody_.

So:

> 1) Add request_module_cap(required_cap, module_name_prefix, fmt, fmt_args...)
>
> 2) Convert known privileged-but-not-CAP_SYS_MODULE request_module()
> callers to request_module_cap(the_needed_cap, prefix, ...)

Yes. The upside seems to be very limited here, but at least it makes
the users that use CAP_NET_ADMIN instead of CAP_SYS_MODULE able to
specify so.

> 2) Convert known unprivileged callers to use request_module_cap(0, ...)

0 is CAP_CHOWN, so it would have to be -1.

And I wouldn't actually want to see that as-is. Not only would I not
want to see people have that "-1" in random driver subsystems, I'd
much prefer to have actual helper naming that descibes why something
is ok

Because as mentioned, I think there are valid permission reasons that
are _not_ about capabilities that make you able to load a module.

If you can open a character device node, then "misc_open()" will do

                request_module("char-major-%d-%d", MISC_MAJOR, minor);

and there is nothing about capabilities in the CAP_SYS_MODULE sense
about the user. But the user _did_ have the privileges to open that
character device file.

That's why I suggested something like request_module_dev(): it's not
at all the same thing as request_module_cap(-1, ...), saying "I don't
need/have a capability". It's saying something else entirely, it's
basically saying "I have the right based on device permissions".

And something like request_module_dev() might even have real semantic
meaning, exactly because it says "this module request comes from
trying to open a device node".

Why would that be? If we know we're on a system where /dev is
auto-populated through udev, then the device nodes should have been
created by the drivers, not the other way around. So we might even
have a rule that notices that automatically, and simply disables
request_module_dev() entirely.

Anyway, I'm not saying that is necessarily something we should do, but
I do suspect that we could adapt to modern systems without having to
have tons of magic settings, and try to be as strict as possible
without breaking them.

Because I dislike "system tuning" in general. I hate knobs that do
kernel performance tuning - we try very hard to just DTRT wrt sizing
hashes etc instead of expecting the system admin to set flags.

And I think we can try to avoid some system tuning in this area too.

I suspect that for a lot of our existing request_module() cases, they
really are pretty trivial. In most cases, it's probably really about
whether you have the hardware or not.

So for the hardware driver cases, either the hardware enumerates
itself, or it is presumably set up by the system scripts anyway, and
CAP_SYS_MODULE is all fine. The "open device node" case is one special
case, though.

That mainly leaves the protocol ones we need to look out for, I suspect.

> 3) Add WARN_RATELIMIT for request_module() calls without
> CAP_SYS_MODULE to shake out other places where request_module_cap() is
> needed.

Yes.

And this is where I hope that there really aren't actually all that
many cases that will warn, and that it's hopefully easy to simply just
look at a handful of reports and say "ok, that case is obviously
fine".

And I may be wrong.

> 4) Adapt the original patch series to add the per-process flag that
> can block privilege elevations.

Yes.

            Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2017-11-29 22:14 UTC|newest]

Thread overview: 266+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-27 17:18 [PATCH v5 next 0/5] Improve Module autoloading infrastructure Djalal Harouni
2017-11-27 17:18 ` [kernel-hardening] " Djalal Harouni
2017-11-27 17:18 ` Djalal Harouni
2017-11-27 17:18 ` [PATCH v5 next 1/5] modules:capabilities: add request_module_cap() Djalal Harouni
2017-11-27 17:18   ` [kernel-hardening] " Djalal Harouni
2017-11-27 17:18   ` Djalal Harouni
2017-11-27 18:48   ` Randy Dunlap
2017-11-27 18:48     ` [kernel-hardening] " Randy Dunlap
2017-11-27 18:48     ` Randy Dunlap
2017-11-27 21:35     ` Djalal Harouni
2017-11-27 21:35       ` [kernel-hardening] " Djalal Harouni
2017-11-27 21:35       ` Djalal Harouni
2017-11-28 19:14   ` Luis R. Rodriguez
2017-11-28 19:14     ` [kernel-hardening] " Luis R. Rodriguez
2017-11-28 19:14     ` Luis R. Rodriguez
2017-11-28 20:11     ` Kees Cook
2017-11-28 20:11       ` [kernel-hardening] " Kees Cook
2017-11-28 20:11       ` Kees Cook
2017-11-28 21:16       ` Luis R. Rodriguez
2017-11-28 21:16         ` [kernel-hardening] " Luis R. Rodriguez
2017-11-28 21:16         ` Luis R. Rodriguez
2017-11-28 21:33         ` Djalal Harouni
2017-11-28 21:33           ` [kernel-hardening] " Djalal Harouni
2017-11-28 21:33           ` Djalal Harouni
2017-11-28 22:18           ` Luis R. Rodriguez
2017-11-28 22:18             ` [kernel-hardening] " Luis R. Rodriguez
2017-11-28 22:18             ` Luis R. Rodriguez
2017-11-28 22:52             ` Djalal Harouni
2017-11-28 22:52               ` [kernel-hardening] " Djalal Harouni
2017-11-28 22:52               ` Djalal Harouni
2017-11-28 21:39         ` Kees Cook
2017-11-28 21:39           ` [kernel-hardening] " Kees Cook
2017-11-28 21:39           ` Kees Cook
2017-11-28 22:12           ` Luis R. Rodriguez
2017-11-28 22:12             ` [kernel-hardening] " Luis R. Rodriguez
2017-11-28 22:12             ` Luis R. Rodriguez
2017-11-28 22:18             ` Kees Cook
2017-11-28 22:18               ` [kernel-hardening] " Kees Cook
2017-11-28 22:18               ` Kees Cook
2017-11-28 22:48               ` Luis R. Rodriguez
2017-11-28 22:48                 ` [kernel-hardening] " Luis R. Rodriguez
2017-11-28 22:48                 ` Luis R. Rodriguez
2017-11-29  7:49                 ` Michal Kubecek
2017-11-29  7:49                   ` [kernel-hardening] " Michal Kubecek
2017-11-29  7:49                   ` Michal Kubecek
2017-11-29 13:46           ` Alan Cox
2017-11-29 13:46             ` [kernel-hardening] " Alan Cox
2017-11-29 13:46             ` Alan Cox
2017-11-29 14:50             ` David Miller
2017-11-29 14:50               ` [kernel-hardening] " David Miller
2017-11-29 14:50               ` David Miller
2017-11-29 15:54               ` Theodore Ts'o
2017-11-29 15:54                 ` [kernel-hardening] " Theodore Ts'o
2017-11-29 15:54                 ` Theodore Ts'o
2017-11-29 15:58                 ` David Miller
2017-11-29 15:58                   ` [kernel-hardening] " David Miller
2017-11-29 15:58                   ` David Miller
2017-11-29 16:29                   ` Theodore Ts'o
2017-11-29 16:29                     ` [kernel-hardening] " Theodore Ts'o
2017-11-29 16:29                     ` Theodore Ts'o
2017-11-29 22:45                   ` Linus Torvalds
2017-11-29 22:45                     ` [kernel-hardening] " Linus Torvalds
2017-11-29 22:45                     ` Linus Torvalds
2017-11-29 22:45                     ` Linus Torvalds
2017-11-30  0:06                     ` Kees Cook
2017-11-30  0:06                       ` [kernel-hardening] " Kees Cook
2017-11-30  0:06                       ` Kees Cook
2017-11-30  0:06                       ` Kees Cook
2017-11-29 17:28                 ` Serge E. Hallyn
2017-11-29 17:28                   ` [kernel-hardening] " Serge E. Hallyn
2017-11-29 17:28                   ` Serge E. Hallyn
2017-11-30  0:35                   ` Theodore Ts'o
2017-11-30  0:35                     ` [kernel-hardening] " Theodore Ts'o
2017-11-30  0:35                     ` Theodore Ts'o
2017-11-30 17:17                     ` Serge E. Hallyn
2017-11-30 17:17                       ` [kernel-hardening] " Serge E. Hallyn
2017-11-30 17:17                       ` Serge E. Hallyn
2017-11-28 20:18     ` Djalal Harouni
2017-11-28 20:18       ` [kernel-hardening] " Djalal Harouni
2017-11-28 20:18       ` Djalal Harouni
2017-11-27 17:18 ` [PATCH v5 next 2/5] modules:capabilities: add cap_kernel_module_request() permission check Djalal Harouni
2017-11-27 17:18   ` [kernel-hardening] " Djalal Harouni
2017-11-27 17:18   ` Djalal Harouni
2017-11-30  2:05   ` Luis R. Rodriguez
2017-11-30  2:05     ` [kernel-hardening] " Luis R. Rodriguez
2017-11-30  2:05     ` Luis R. Rodriguez
2017-11-27 17:18 ` [PATCH v5 next 3/5] modules:capabilities: automatic module loading restriction Djalal Harouni
2017-11-27 17:18   ` [kernel-hardening] " Djalal Harouni
2017-11-27 17:18   ` Djalal Harouni
2017-11-30  1:23   ` Luis R. Rodriguez
2017-11-30  1:23     ` [kernel-hardening] " Luis R. Rodriguez
2017-11-30  1:23     ` Luis R. Rodriguez
2017-11-30 12:22     ` Djalal Harouni
2017-11-30 12:22       ` [kernel-hardening] " Djalal Harouni
2017-11-30 12:22       ` Djalal Harouni
2017-11-27 17:18 ` [PATCH v5 next 4/5] modules:capabilities: add a per-task modules auto-load mode Djalal Harouni
2017-11-27 17:18   ` [kernel-hardening] " Djalal Harouni
2017-11-27 17:18   ` Djalal Harouni
2017-11-27 17:18 ` [PATCH v5 next 5/5] net: modules: use request_module_cap() to load 'netdev-%s' modules Djalal Harouni
2017-11-27 17:18   ` [kernel-hardening] " Djalal Harouni
2017-11-27 17:18   ` Djalal Harouni
2017-11-27 18:44   ` Linus Torvalds
2017-11-27 18:44     ` [kernel-hardening] " Linus Torvalds
2017-11-27 18:44     ` Linus Torvalds
2017-11-27 18:44     ` Linus Torvalds
2017-11-27 21:41     ` Djalal Harouni
2017-11-27 21:41       ` [kernel-hardening] " Djalal Harouni
2017-11-27 21:41       ` Djalal Harouni
2017-11-27 21:41       ` Djalal Harouni
2017-11-27 22:04       ` Linus Torvalds
2017-11-27 22:04         ` [kernel-hardening] " Linus Torvalds
2017-11-27 22:04         ` Linus Torvalds
2017-11-27 22:04         ` Linus Torvalds
2017-11-27 22:59         ` Kees Cook
2017-11-27 22:59           ` [kernel-hardening] " Kees Cook
2017-11-27 22:59           ` Kees Cook
2017-11-27 22:59           ` Kees Cook
2017-11-27 23:14           ` Linus Torvalds
2017-11-27 23:14             ` [kernel-hardening] " Linus Torvalds
2017-11-27 23:14             ` Linus Torvalds
2017-11-27 23:14             ` Linus Torvalds
2017-11-27 23:19             ` Kees Cook
2017-11-27 23:19               ` [kernel-hardening] " Kees Cook
2017-11-27 23:19               ` Kees Cook
2017-11-27 23:19               ` Kees Cook
2017-11-27 23:35               ` Linus Torvalds
2017-11-27 23:35                 ` [kernel-hardening] " Linus Torvalds
2017-11-27 23:35                 ` Linus Torvalds
2017-11-27 23:35                 ` Linus Torvalds
2017-11-28  1:23             ` Kees Cook
2017-11-28  1:23               ` [kernel-hardening] " Kees Cook
2017-11-28  1:23               ` Kees Cook
2017-11-28  1:23               ` Kees Cook
2017-11-28 12:16         ` [kernel-hardening] " Geo Kozey
2017-11-28 12:16           ` Geo Kozey
2017-11-28 12:16           ` Geo Kozey
2017-11-28 19:32           ` Theodore Ts'o
2017-11-28 19:32             ` Theodore Ts'o
2017-11-28 19:32             ` Theodore Ts'o
2017-11-28 20:08             ` Kees Cook
2017-11-28 20:08               ` Kees Cook
2017-11-28 20:08               ` Kees Cook
2017-11-28 20:12               ` Linus Torvalds
2017-11-28 20:12                 ` Linus Torvalds
2017-11-28 20:12                 ` Linus Torvalds
2017-11-28 20:20                 ` Kees Cook
2017-11-28 20:20                   ` Kees Cook
2017-11-28 20:20                   ` Kees Cook
2017-11-28 20:33                   ` Linus Torvalds
2017-11-28 20:33                     ` Linus Torvalds
2017-11-28 20:33                     ` Linus Torvalds
2017-11-28 21:10                     ` Djalal Harouni
2017-11-28 21:10                       ` Djalal Harouni
2017-11-28 21:10                       ` Djalal Harouni
2017-11-28 21:33                     ` Kees Cook
2017-11-28 21:33                       ` Kees Cook
2017-11-28 21:33                       ` Kees Cook
2017-11-28 23:23                       ` Theodore Ts'o
2017-11-28 23:23                         ` Theodore Ts'o
2017-11-28 23:23                         ` Theodore Ts'o
2017-11-28 23:29                         ` Kees Cook
2017-11-28 23:29                           ` Kees Cook
2017-11-28 23:29                           ` Kees Cook
2017-11-28 23:49                           ` Theodore Ts'o
2017-11-28 23:49                             ` Theodore Ts'o
2017-11-28 23:49                             ` Theodore Ts'o
2017-11-29  0:18                             ` Kees Cook
2017-11-29  0:18                               ` Kees Cook
2017-11-29  0:18                               ` Kees Cook
2017-11-29  6:36                               ` Theodore Ts'o
2017-11-29  6:36                                 ` Theodore Ts'o
2017-11-29  6:36                                 ` Theodore Ts'o
2017-11-29 14:46                             ` Geo Kozey
2017-11-29 14:46                               ` Geo Kozey
2017-11-29 14:46                               ` Geo Kozey
2017-12-01 15:22                             ` Marcus Meissner
2017-12-01 15:22                               ` Marcus Meissner
2017-12-01 15:22                               ` Marcus Meissner
2017-11-28 23:53                         ` Djalal Harouni
2017-11-28 23:53                           ` Djalal Harouni
2017-11-28 23:53                           ` Djalal Harouni
2017-11-28 21:51                     ` Geo Kozey
2017-11-28 21:51                       ` Geo Kozey
2017-11-28 21:51                       ` Geo Kozey
2017-11-28 23:51                       ` Linus Torvalds
2017-11-28 23:51                         ` Linus Torvalds
2017-11-28 23:51                         ` Linus Torvalds
2017-11-29  0:17                         ` Linus Torvalds
2017-11-29  0:17                           ` Linus Torvalds
2017-11-29  0:17                           ` Linus Torvalds
2017-11-29  0:26                           ` Kees Cook
2017-11-29  0:26                             ` Kees Cook
2017-11-29  0:26                             ` Kees Cook
2017-11-29  0:50                             ` Linus Torvalds
2017-11-29  0:50                               ` Linus Torvalds
2017-11-29  0:50                               ` Linus Torvalds
2017-11-29  4:26                               ` Eric W. Biederman
2017-11-29  4:26                                 ` Eric W. Biederman
2017-11-29  4:26                                 ` Eric W. Biederman
2017-11-29 18:30                               ` Kees Cook
2017-11-29 18:30                                 ` Kees Cook
2017-11-29 18:30                                 ` Kees Cook
2017-11-29 18:46                                 ` Linus Torvalds
2017-11-29 18:46                                   ` Linus Torvalds
2017-11-29 18:46                                   ` Linus Torvalds
2017-11-29 18:53                                   ` Linus Torvalds
2017-11-29 18:53                                     ` Linus Torvalds
2017-11-29 18:53                                     ` Linus Torvalds
2017-11-29 21:17                                   ` Kees Cook
2017-11-29 21:17                                     ` Kees Cook
2017-11-29 21:17                                     ` Kees Cook
2017-11-29 22:14                                     ` Linus Torvalds [this message]
2017-11-29 22:14                                       ` Linus Torvalds
2017-11-29 22:14                                       ` Linus Torvalds
2017-11-30  0:44                                       ` Kees Cook
2017-11-30  0:44                                         ` Kees Cook
2017-11-30  0:44                                         ` Kees Cook
2017-11-30  2:08                                         ` Linus Torvalds
2017-11-30  2:08                                           ` Linus Torvalds
2017-11-30  2:08                                           ` Linus Torvalds
2017-11-30  6:51                                       ` Daniel Micay
2017-11-30  6:51                                         ` Daniel Micay
2017-11-30  6:51                                         ` Daniel Micay
2017-11-30  8:50                                         ` Djalal Harouni
2017-11-30  8:50                                           ` Djalal Harouni
2017-11-30  8:50                                           ` Djalal Harouni
2017-11-30 14:16                                           ` Theodore Ts'o
2017-11-30 14:16                                             ` Theodore Ts'o
2017-11-30 14:16                                             ` Theodore Ts'o
2017-11-30 14:51                                             ` Djalal Harouni
2017-11-30 14:51                                               ` Djalal Harouni
2017-11-30 14:51                                               ` Djalal Harouni
2017-12-01  6:39                                           ` Daniel Micay
2017-12-01  6:39                                             ` Daniel Micay
2017-12-01  6:39                                             ` Daniel Micay
2017-11-29 15:28                           ` Geo Kozey
2017-11-29 15:28                             ` Geo Kozey
2017-11-29 15:28                             ` Geo Kozey
2017-11-27 18:41 ` [PATCH v5 next 0/5] Improve Module autoloading infrastructure Linus Torvalds
2017-11-27 18:41   ` [kernel-hardening] " Linus Torvalds
2017-11-27 18:41   ` Linus Torvalds
2017-11-27 18:41   ` Linus Torvalds
2017-11-27 19:02   ` Linus Torvalds
2017-11-27 19:02     ` [kernel-hardening] " Linus Torvalds
2017-11-27 19:02     ` Linus Torvalds
2017-11-27 19:02     ` Linus Torvalds
2017-11-27 19:12     ` Linus Torvalds
2017-11-27 19:12       ` [kernel-hardening] " Linus Torvalds
2017-11-27 19:12       ` Linus Torvalds
2017-11-27 19:12       ` Linus Torvalds
2017-11-27 21:31       ` Djalal Harouni
2017-11-27 21:31         ` [kernel-hardening] " Djalal Harouni
2017-11-27 21:31         ` Djalal Harouni
2017-11-27 21:31         ` Djalal Harouni
2017-11-27 19:14   ` David Miller
2017-11-27 19:14     ` [kernel-hardening] " David Miller
2017-11-27 19:14     ` David Miller
2017-11-27 22:31     ` James Morris
2017-11-27 22:31       ` [kernel-hardening] " James Morris
2017-11-27 22:31       ` James Morris
2017-11-27 23:04       ` Kees Cook
2017-11-27 23:04         ` [kernel-hardening] " Kees Cook
2017-11-27 23:04         ` Kees Cook
2017-11-27 23:44         ` James Morris
2017-11-27 23:44           ` [kernel-hardening] " James Morris
2017-11-27 23:44           ` James Morris

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=CA+55aFzi3Qj7zOrriRvrX5F4QDWMhkNQ7Qh-0FSCZsG4qk61zg@mail.gmail.com \
    --to=torvalds@linux-foundation.org \
    --cc=jeyu@kernel.org \
    --cc=keescook@chromium.org \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=tixxdz@gmail.com \
    /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.