lkml.org 
[lkml]   [2012]   [Feb]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v12 02/13] net/compat.c,linux/filter.h: share compat_sock_fprog
    Date
    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.

    Signed-off-by: Will Drewry <wad@chromium.org>

    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 bdd02f9..f052f5c 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

    /*
    @@ -135,6 +136,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 73bf0e0..5ba1bdc 100644
    --- a/net/compat.c
    +++ b/net/compat.c
    @@ -328,14 +328,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)
    {
    --
    1.7.5.4


    \
     
     \ /
      Last update: 2012-03-01 01:01    [W:0.025 / U:31.580 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site