All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Hogan <james.hogan@imgtec.com>
To: Kees Cook <keescook@chromium.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	linux-arch <linux-arch@vger.kernel.org>,
	Linux MIPS Mailing List <linux-mips@linux-mips.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH 0/7] test_user_copy improvements
Date: Thu, 6 Aug 2015 17:28:32 +0100	[thread overview]
Message-ID: <55C38B30.5030405@imgtec.com> (raw)
In-Reply-To: <CAGXu5jJd4EH37B51zxphYkwp6RBOkYuwiGNr7C6nJK2q=JE79A@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2461 bytes --]

Hi Kees,

On 05/08/15 21:26, Kees Cook wrote:
> On Wed, Aug 5, 2015 at 8:48 AM, James Hogan <james.hogan@imgtec.com> wrote:
>> These patches extend the test_user_copy test module to handle lots more
>> cases of user accessors which architectures can override separately, and
>> in particular those which are important for checking the MIPS Enhanced
>> Virtual Addressing (EVA) implementations, which need to handle
>> overlapping user and kernel address spaces, with special instructions
>> for accessing user address space from kernel mode.
>>
>> - Checking that kernel pointers are accepted when user address limit is
>>   set to KERNEL_DS, as done by the kernel when it internally invokes
>>   system calls with kernel pointers.
>> - Checking of the unchecked accessors (which don't call access_ok()).
>>   Some of the tests are special cased for EVA at the moment which has
>>   stricter hardware guarantees for bad user accesses than other
>>   configurations.
>> - Checking of other sets of user accessors, including the inatomic user
>>   copies, copy_in_user, clear_user, the user string accessors, and the
>>   user checksum functions, all of which need special handling in arch
>>   code with EVA.
>>
>> Tested on MIPS with and without EVA, and on x86_64.
>>
>> James Hogan (7):
>>   test_user_copy: Check legit kernel accesses
>>   test_user_copy: Check unchecked accessors
>>   test_user_copy: Check __clear_user()/clear_user()
>>   test_user_copy: Check __copy_in_user()/copy_in_user()
>>   test_user_copy: Check __copy_{to,from}_user_inatomic()
>>   test_user_copy: Check user string accessors
>>   test_user_copy: Check user checksum functions
>>
>>  lib/test_user_copy.c | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 221 insertions(+)
>>
>> Cc: Kees Cook <keescook@chromium.org>
>> Cc: Andrew Morton <akpm@linux-foundation.org>
> 
> Ooooh! Nice! This is great, thank you. :) Great to hear it helped find
> a bug too. :)
> 
> I'm wondering if we need to macro-ize any of these. Probably not, but
> it just feels like there's a lot of repeated stuff now. But I think
> it's a bit of an illusion since each test is ever so slightly
> different from the others.

Yeh, I wondered that too, but I agree they're all slightly different in
their requirements so it'd just end up confusing things.

> 
> Acked-by: Kees Cook <keescook@chromium.org>

Thanks!

James


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2015-08-06 16:28 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-05 15:48 [PATCH 0/7] test_user_copy improvements James Hogan
2015-08-05 15:48 ` James Hogan
2015-08-05 15:48 ` [PATCH 1/7] test_user_copy: Check legit kernel accesses James Hogan
2015-08-05 15:48   ` James Hogan
2015-08-05 15:48 ` [PATCH 2/7] test_user_copy: Check unchecked accessors James Hogan
2015-08-05 15:48   ` James Hogan
2015-08-05 15:48 ` [PATCH 3/7] test_user_copy: Check __clear_user()/clear_user() James Hogan
2015-08-05 15:48   ` James Hogan
2015-08-05 15:48 ` [PATCH 4/7] test_user_copy: Check __copy_in_user()/copy_in_user() James Hogan
2015-08-05 15:48   ` James Hogan
2015-08-05 15:48 ` [PATCH 5/7] test_user_copy: Check __copy_{to,from}_user_inatomic() James Hogan
2015-08-05 15:48   ` James Hogan
2015-08-05 15:48 ` [PATCH 6/7] test_user_copy: Check user string accessors James Hogan
2015-08-05 15:48   ` James Hogan
2015-08-05 15:48 ` [PATCH 7/7] test_user_copy: Check user checksum functions James Hogan
2015-08-05 15:48   ` James Hogan
2015-08-05 20:26 ` [PATCH 0/7] test_user_copy improvements Kees Cook
2015-08-06 16:28   ` James Hogan [this message]
2015-08-06  9:50 ` Guenter Roeck
2015-08-06  9:50   ` Guenter Roeck
2015-08-06  9:50   ` Guenter Roeck
2015-08-06 10:01   ` James Hogan
2015-08-06 10:01     ` James Hogan
2015-08-06 15:02 ` James Hogan
2015-08-06 15:02   ` James Hogan

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=55C38B30.5030405@imgtec.com \
    --to=james.hogan@imgtec.com \
    --cc=akpm@linux-foundation.org \
    --cc=keescook@chromium.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.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.