diff options
author | Paul Moore <paul@paul-moore.com> | 2016-06-07 17:30:53 +0300 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2016-06-07 17:30:53 +0300 |
commit | 02f06918156b32a584ff2dd9ebfa653abf4d8d5d (patch) | |
tree | fea8b3092851951d8db55c550640cdad16134f94 /net/iucv | |
parent | 0e0e36774081534783aa8eeb9f6fbddf98d3c061 (diff) | |
download | linux-02f06918156b32a584ff2dd9ebfa653abf4d8d5d.tar.xz |
iucv: properly clone LSM attributes to newly created child sockets
Much like we had to do for AF_BLUETOOTH and AF_ALG, make sure we
properly clone the parent socket's LSM attributes to newly created
child sockets.
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'net/iucv')
-rw-r--r-- | net/iucv/af_iucv.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c index fc3598a922b0..a0d1e36a284b 100644 --- a/net/iucv/af_iucv.c +++ b/net/iucv/af_iucv.c @@ -22,6 +22,7 @@ #include <linux/skbuff.h> #include <linux/init.h> #include <linux/poll.h> +#include <linux/security.h> #include <net/sock.h> #include <asm/ebcdic.h> #include <asm/cpcmd.h> @@ -530,8 +531,10 @@ static void iucv_sock_close(struct sock *sk) static void iucv_sock_init(struct sock *sk, struct sock *parent) { - if (parent) + if (parent) { sk->sk_type = parent->sk_type; + security_sk_clone(parent, sk); + } } static struct sock *iucv_sock_alloc(struct socket *sock, int proto, gfp_t prio, int kern) |