Re: [PATCH v15 02/13] net/compat.c,linux/filter.h: share compat_sock_fprog
From: Will Drewry
Date: Fri Mar 16 2012 - 15:23:21 EST
On Fri, Mar 16, 2012 at 1:16 PM, Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote:
> On Wed, 2012-03-14 at 22:11 -0500, Will Drewry wrote:
>> Any other users of bpf_*_filter that take a struct sock_fprog from
>> userspace will need to be able to also accept a compat_sock_fprog
>> if the arch supports compat calls. This change let's the existing
>> compat_sock_fprog be shared.
>>
>> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx>
>> Signed-off-by: Will Drewry <wad@xxxxxxxxxxxx>
>>
>> v14: rebase/nochanges
>> v13: rebase on to 88ebdda6159ffc15699f204c33feb3e431bf9bdc
>> v12: rebase on to linux-next
>> v11: introduction
>> ---
>> include/linux/filter.h | 11 +++++++++++
>> net/compat.c | 8 --------
>> 2 files changed, 11 insertions(+), 8 deletions(-)
>>
>> diff --git a/include/linux/filter.h b/include/linux/filter.h
>> index aaa2e80..f2e5315 100644
>> --- a/include/linux/filter.h
>> +++ b/include/linux/filter.h
>> @@ -10,6 +10,7 @@
>>
>> #ifdef __KERNEL__
>> #include <linux/atomic.h>
>> +#include <linux/compat.h>
>> #endif
>>
>> /*
>> @@ -132,6 +133,16 @@ struct sock_fprog { /* Required for SO_ATTACH_FILTER. */
>>
>> #ifdef __KERNEL__
>>
>> +#ifdef CONFIG_COMPAT
>> +/*
>> + * A struct sock_filter is architecture independent.
>> + */
>> +struct compat_sock_fprog {
>> + u16 len;
>> + compat_uptr_t filter; /* struct sock_filter * */
>> +};
>> +#endif
>> +
>> struct sk_buff;
>> struct sock;
>>
>> diff --git a/net/compat.c b/net/compat.c
>> index 6def90e..c5c61c8 100644
>> --- a/net/compat.c
>> +++ b/net/compat.c
>> @@ -326,14 +326,6 @@ void scm_detach_fds_compat(struct msghdr *kmsg, struct scm_cookie *scm)
>> __scm_destroy(scm);
>> }
>>
>> -/*
>> - * A struct sock_filter is architecture independent.
>> - */
>> -struct compat_sock_fprog {
>> - u16 len;
>> - compat_uptr_t filter; /* struct sock_filter * */
>> -};
>> -
>> static int do_set_attach_filter(struct socket *sock, int level, int optname,
>> char __user *optval, unsigned int optlen)
>> {
>
> Acked-by: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Added your Acked-by's to the tree at
https://github.com/redpig/linux/tree/seccomp
Thanks!
will
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/