linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: danielmicay@gmail.com (Daniel Micay)
To: linux-arm-kernel@lists.infradead.org
Subject: [kernel-hardening] Re: [PATCH v9 1/4] syscalls: Verify address limit before returning to user-mode
Date: Mon, 08 May 2017 11:22:12 -0400	[thread overview]
Message-ID: <1494256932.1167.1.camel@gmail.com> (raw)
In-Reply-To: <20170508075209.7aluvpwildw325rf@gmail.com>

On Mon, 2017-05-08 at 09:52 +0200, Ingo Molnar wrote:
> 
> ... it's just not usable in that form for a regular maintenance flow.
> 
> So what would be more useful is to add a specific Sparse check that
> only checks?
> KERNEL_DS, to add it as a regular (.config driven) build option and
> make sure the?
> kernel build has zero warnings.
> 
> From that point on we can declare that this kind of bug won't occur
> anymore, if?
> the Sparse implementation of the check is correct.
> 
> But there's a (big) problem with that development model: Sparse is not
> part of the?
> kernel tree and adding a feature to it while making the kernel depend
> on that?
> brand new feature is a logistical nightmare. The overhead is quite
> similar to?
> adding new features to a compiler - it happens at a glacial pace and
> is only done?
> for major features really, at considerable expense. I don't think this
> is an?
> adequate model for 'extended syntax checking' of the kernel,
> especially when it?
> comes to correctness that has such obvious security impact.
> 
> Thanks,
> 
> 	Ingo

There's the option of using GCC plugins now that the infrastructure was
upstreamed from grsecurity. It can be used as part of the regular build
process and as long as the analysis is pretty simple it shouldn't hurt
compile time much.

The problem with doing that is I don't think there are people with much
experience with GCC contributing upstream and it's going to be more work
to develop/maintain than some kind of specialized DSL for analysis. I
think a few static analysis plugins are used as part of maintaining
grsecurity for solving issues like finding false positives for the
REFCOUNT overflow checking feature, so it's something that's already
being done in practice elsewhere.

  reply	other threads:[~2017-05-08 15:22 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-28 15:32 [PATCH v9 1/4] syscalls: Verify address limit before returning to user-mode Thomas Garnier
2017-04-28 15:32 ` [PATCH v9 2/4] x86/syscalls: Optimize address limit check Thomas Garnier
2017-04-28 15:32 ` [PATCH v9 3/4] arm/syscalls: " Thomas Garnier
2017-04-28 15:32 ` [PATCH v9 4/4] arm64/syscalls: " Thomas Garnier
2017-05-05 22:18 ` [PATCH v9 1/4] syscalls: Verify address limit before returning to user-mode Thomas Garnier
2017-05-08  7:33   ` Ingo Molnar
2017-05-08  7:52     ` Ingo Molnar
2017-05-08 15:22       ` Daniel Micay [this message]
2017-05-08 15:26         ` [kernel-hardening] " Kees Cook
2017-05-08 19:51           ` Thomas Garnier
2017-05-09  6:56           ` Ingo Molnar
2017-05-09 11:10             ` Greg KH
2017-05-09 14:29               ` Thomas Garnier
2017-05-11 23:17                 ` Thomas Garnier
2017-05-11 23:44                   ` Linus Torvalds
2017-05-12  5:28                     ` Martin Schwidefsky
2017-05-12  5:34                       ` Kees Cook
2017-05-12  5:54                         ` Martin Schwidefsky
2017-05-12 19:01                           ` Kees Cook
2017-05-12 19:08                             ` Russell King - ARM Linux
2017-05-12 19:08                             ` Linus Torvalds
2017-05-12 19:30                               ` Kees Cook
2017-05-12 20:21                                 ` Russell King - ARM Linux
2017-05-12 20:30                                   ` Peter Zijlstra
2017-05-12 20:45                                     ` Russell King - ARM Linux
2017-05-12 21:00                                       ` Kees Cook
2017-05-12 21:04                                         ` Kees Cook
2017-05-13  7:21                                     ` Christoph Hellwig
2017-05-12 21:06                                   ` Al Viro
2017-05-12 21:16                                     ` Daniel Micay
2017-05-12 21:17                                     ` Kees Cook
2017-05-12 21:23                                       ` Daniel Micay
2017-05-12 21:41                                       ` Al Viro
2017-05-12 21:47                                         ` Rik van Riel
2017-05-12 22:57                                           ` Al Viro
2017-05-12 21:50                                         ` Kees Cook
2017-05-12  6:57                         ` Ingo Molnar
2017-05-12  6:13                     ` Andy Lutomirski
2017-05-12  6:58                     ` Ingo Molnar
2017-05-12 17:05                       ` Thomas Garnier
2017-05-09 16:30             ` Kees Cook
2017-05-08 12:46     ` Greg KH
2017-05-09  6:45       ` Ingo Molnar
2017-05-09  8:56         ` Christoph Hellwig
2017-05-09 13:00           ` Andy Lutomirski
2017-05-09 13:02             ` Christoph Hellwig
2017-05-09 16:03               ` Christoph Hellwig
2017-05-09 16:50                 ` Kees Cook
2017-05-09 22:52                   ` Andy Lutomirski
2017-05-09 23:31                     ` Kees Cook
2017-05-10  1:59                       ` Andy Lutomirski
2017-05-10  7:15                       ` Christoph Hellwig
2017-05-11 11:22                       ` Borislav Petkov
2017-05-10  6:46                   ` Christoph Hellwig
2017-05-10  2:11                 ` Al Viro
2017-05-10  2:45                   ` Al Viro
2017-05-10  3:12                     ` Al Viro
2017-05-10  3:21                       ` Al Viro
2017-05-10  3:39                         ` Al Viro
2017-05-10  6:54                           ` Christoph Hellwig
2017-05-10  6:53                       ` Christoph Hellwig
2017-05-10  7:27                         ` Al Viro
2017-05-10  7:35                           ` Christoph Hellwig
2017-05-10  6:49                     ` Christoph Hellwig
2017-05-10  7:28                 ` Arnd Bergmann
2017-05-10  7:35                   ` Christoph Hellwig
2017-05-09 16:05             ` Brian Gerst
2017-05-10  7:37             ` Arnd Bergmann
2017-05-10  8:08               ` Al Viro
2017-05-10  8:14                 ` Christoph Hellwig
2017-05-11  0:18                   ` Andy Lutomirski
2017-05-12  7:00             ` Ingo Molnar
2017-05-12  7:15               ` Al Viro
2017-05-12  7:35                 ` Christoph Hellwig
2017-05-12  8:07                   ` Christoph Hellwig
2017-05-12  8:23                     ` Greg KH
2017-05-12  7:43                 ` Arnd Bergmann
2017-05-12  8:11                   ` Christoph Hellwig
2017-05-12  8:16                     ` Al Viro
2017-05-12  8:11                   ` Al Viro
2017-05-12  8:20                     ` Arnd Bergmann
2017-05-12 23:20                 ` Andy Lutomirski
2017-05-08 13:09     ` Kees Cook
2017-05-08 14:02       ` Ingo Molnar
2017-05-08 14:06         ` Jann Horn
2017-05-08 20:48           ` Al Viro
2017-05-12 23:15             ` Andy Lutomirski
2017-05-08 15:24         ` Kees Cook
2017-05-09  6:34           ` Ingo Molnar

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=1494256932.1167.1.camel@gmail.com \
    --to=danielmicay@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).