summaryrefslogtreecommitdiffstats
path: root/net/iucv
diff options
context:
space:
mode:
authorPaul Moore <paul@paul-moore.com>2016-06-07 10:30:53 -0400
committerPaul Moore <paul@paul-moore.com>2016-06-07 10:30:53 -0400
commit02f06918156b32a584ff2dd9ebfa653abf4d8d5d (patch)
treefea8b3092851951d8db55c550640cdad16134f94 /net/iucv
parent0e0e36774081534783aa8eeb9f6fbddf98d3c061 (diff)
downloadlinux-02f06918156b32a584ff2dd9ebfa653abf4d8d5d.tar.gz
linux-02f06918156b32a584ff2dd9ebfa653abf4d8d5d.tar.bz2
linux-02f06918156b32a584ff2dd9ebfa653abf4d8d5d.zip
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.c5
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)