diff options
author | David S. Miller <davem@davemloft.net> | 2020-05-20 19:07:25 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-05-20 19:07:25 -0700 |
commit | c536fc74b4b41ca5cfdebad60943be1ecd092ba1 (patch) | |
tree | 3c3a65e315bd9d8897e7b98b93cc347fc1ddf438 /include/net/compat.h | |
parent | f78cdbd75a57245ecc68f5a40e470933426a082b (diff) | |
parent | 0edecc020b33f8e31d8baa80735b45e8e8434700 (diff) |
Merge branch 'uaccess.net' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Al Viro says:
====================
uaccess-related stuff in net/*
Assorted uaccess-related work in net/*. First, there's
getting rid of compat_alloc_user_space() mess in MCAST_...
[gs]etsockopt() - no need to play with copying to/from temporary
object on userland stack, etc., when ->compat_[sg]etsockopt()
instances in question can easly do everything without that.
That's the first 13 patches. Then there's a trivial bit in
net/batman-adv (completely unrelated to everything else) and
finally getting the atm compat ioctls into simpler shape.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/compat.h')
-rw-r--r-- | include/net/compat.h | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/include/net/compat.h b/include/net/compat.h index 2b5e1f7ba153..f241666117d8 100644 --- a/include/net/compat.h +++ b/include/net/compat.h @@ -67,11 +67,28 @@ int put_cmsg_compat(struct msghdr*, int, int, int, void *); int cmsghdr_from_user_compat_to_kern(struct msghdr *, struct sock *, unsigned char *, int); -int compat_mc_setsockopt(struct sock *, int, int, char __user *, unsigned int, - int (*)(struct sock *, int, int, char __user *, - unsigned int)); -int compat_mc_getsockopt(struct sock *, int, int, char __user *, int __user *, - int (*)(struct sock *, int, int, char __user *, - int __user *)); +struct compat_group_req { + __u32 gr_interface; + struct __kernel_sockaddr_storage gr_group + __aligned(4); +} __packed; + +struct compat_group_source_req { + __u32 gsr_interface; + struct __kernel_sockaddr_storage gsr_group + __aligned(4); + struct __kernel_sockaddr_storage gsr_source + __aligned(4); +} __packed; + +struct compat_group_filter { + __u32 gf_interface; + struct __kernel_sockaddr_storage gf_group + __aligned(4); + __u32 gf_fmode; + __u32 gf_numsrc; + struct __kernel_sockaddr_storage gf_slist[1] + __aligned(4); +} __packed; #endif /* NET_COMPAT_H */ |