[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ADE657CA350FB648AAC2C43247A983F002069887E112@AUSP01VMBX24.collaborationhost.net>
Date: Fri, 20 Apr 2012 19:05:46 -0500
From: H Hartley Sweeten <hartleys@...ionengravers.com>
To: Andrew Morton <akpm@...ux-foundation.org>
CC: Linux Kernel <linux-kernel@...r.kernel.org>
Subject: RE: [RFC PATCH 0/2] init: make sure syscall arguments are marked
__user where needed
In Friday, April 20, 2012 4:01 PM, Andrew Morton wrote:
> On Mon, 16 Apr 2012 17:33:23 -0700 H Hartley Sweeten wrote:
>
>> When using syscall routines in the kernel, some of the arguments
>> should be user pointers but are missing the __user markup. This
>> produces a number of sparse warnings of the format:
>>
>> warning: incorrect type in argument 1 (different address spaces)
>> expected char [noderef] <asn:1>*dev_name
>> got char *name
>>
>> Wrap the syscall routines in the private do_mounts.h header so that
>> the appropriate __user markups are added for the init mount code.
>
> This makes rather a mess of do_mounts.c for pretty marginal benefit.
Well... That's why it was a RFC... ;-)
> Can we just make "make C=1" skip that file or something?
What about putting something like this at the top of the files:
/*
* Many of the syscalls used in this file expect some of the arguments
* to be __user pointers not __kernel pointers. To limit the sparse
* noise, turn off sparse checking for this file.
*/
#ifdef __CHECKER__
#undef __CHECKER__
#warning "Sparse checking disabled for this file"
#endif
Maybe without the warning if it doesn't seem necessary.
This keeps <linux/compiler.h> from defining the __attribute__* checks.
Regards,
Hartley
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists