Re: [PATCH 0/7] test_user_copy improvements
From: James Hogan <hidden>
Date: 2015-08-06 16:28:51
Also in:
linux-mips, lkml
Hi Kees, On 05/08/15 21:26, Kees Cook wrote:
On Wed, Aug 5, 2015 at 8:48 AM, James Hogan [off-list ref] wrote:quoted
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 <redacted> 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 <redacted>
Thanks! James
Attachments
- signature.asc [application/pgp-signature] 819 bytes