[PATCH V2 1/3] seccomp: add generic code for jitted seccomp filters.

Nicolas Schichan nschichan at freebox.fr
Mon Apr 22 08:31:20 EDT 2013


On 04/17/2013 11:56 PM, Andrew Morton wrote:
> This patch is killing me.
>
>> --- a/include/linux/seccomp.h
>> +++ b/include/linux/seccomp.h
>> @@ -6,6 +6,7 @@
>>   #ifdef CONFIG_SECCOMP
>>
>>   #include <linux/thread_info.h>
>> +#include <linux/filter.h>
>>   #include <asm/seccomp.h>
>
> In file included from include/linux/compat.h:18,
>                   from include/linux/filter.h:9,
>                   from include/linux/seccomp.h:9,
>                   from include/linux/sched.h:39,
>                   from arch/x86/kernel/asm-offsets.c:9:
> /usr/src/25/arch/x86/include/asm/compat.h: In function 'arch_compat_alloc_user_space':
> /usr/src/25/arch/x86/include/asm/compat.h:301: error: dereferencing pointer to incomplete type
>
> Problem is, compat.h's arch_compat_alloc_user_space() needs sched.h for
> task_struct but as you can see from the above include tree, sched.h
> includes seccomp.h and everything falls over.  The preprocessed code
> contains the definition of arch_compat_alloc_user_space() *before* the
> definition of task_struct.
>
> This is a basic x86_64 "make clean; make allmodconfig; make".

Hi,

Would including <uapi/linux/filter.h> instead of <linux/filter.h> in seccomp.h 
be an acceptable solution ?

I have tried that and (with an additional forward declaration of struct 
sk_buff) an x86_64 "make clean; make allmodconfig" run finishes succesfully.

If that's ok with you, I can resend the serie with that fix.

Regards,

-- 
Nicolas Schichan
Freebox SAS



More information about the linux-arm-kernel mailing list