Re: [PATCH 0/7] test_user_copy improvements

From: James Hogan
Date: Thu Aug 06 2015 - 06:02:19 EST


On 06/08/15 10:50, Guenter Roeck wrote:
> Hi James,
>
> On Wed, Aug 05, 2015 at 04:48:48PM +0100, James Hogan 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.
>>
> The series causes several build failures with other architectures.

Thanks Guenter, and sorry for the breakage. I've already got some fixes
lined up. From the failure logs it looks like #ifdef CONFIG_COMPAT for
[__]copy_in_user and #ifndef _HAVE_ARCH_COPY_AND_CSUM_FROM_USER for the
the ppc64 csum_partial_copy_from_user one Stephen caught should sort it out.

Cheers
James

>
> From next-20150806:
>
> Build results:
> total: 152 pass: 138 fail: 14
> Failed builds:
> alpha:allmodconfig (*)
> arm:allmodconfig (*)
> arm:omap2plus_defconfig
> arm64:allmodconfig
> i386:allyesconfig (*)
> i386:allmodconfig (*)
> m68k:defconfig (*)
> m68k:allmodconfig (*)
> m68k:sun3_defconfig (*)
> mips:allmodconfig
> parisc:allmodconfig
> s390:allmodconfig
> sparc32:allmodconfig (*)
> xtensa:allmodconfig (*)
>
> The builds marked with (*) fail because of your patch series.
>
> Guenter
>

Attachment: signature.asc
Description: OpenPGP digital signature