aboutsummaryrefslogtreecommitdiffstats
path: root/net/netrom
diff options
context:
space:
mode:
Diffstat (limited to 'net/netrom')
-rw-r--r--net/netrom/af_netrom.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c
index 15c8a92bd719..e969d1bc765c 100644
--- a/net/netrom/af_netrom.c
+++ b/net/netrom/af_netrom.c
@@ -409,15 +409,18 @@ static struct proto nr_proto = {
409 .obj_size = sizeof(struct nr_sock), 409 .obj_size = sizeof(struct nr_sock),
410}; 410};
411 411
412static int nr_create(struct socket *sock, int protocol) 412static int nr_create(struct net *net, struct socket *sock, int protocol)
413{ 413{
414 struct sock *sk; 414 struct sock *sk;
415 struct nr_sock *nr; 415 struct nr_sock *nr;
416 416
417 if (net != &init_net)
418 return -EAFNOSUPPORT;
419
417 if (sock->type != SOCK_SEQPACKET || protocol != 0) 420 if (sock->type != SOCK_SEQPACKET || protocol != 0)
418 return -ESOCKTNOSUPPORT; 421 return -ESOCKTNOSUPPORT;
419 422
420 if ((sk = sk_alloc(PF_NETROM, GFP_ATOMIC, &nr_proto, 1)) == NULL) 423 if ((sk = sk_alloc(net, PF_NETROM, GFP_ATOMIC, &nr_proto, 1)) == NULL)
421 return -ENOMEM; 424 return -ENOMEM;
422 425
423 nr = nr_sk(sk); 426 nr = nr_sk(sk);
@@ -459,7 +462,7 @@ static struct sock *nr_make_new(struct sock *osk)
459 if (osk->sk_type != SOCK_SEQPACKET) 462 if (osk->sk_type != SOCK_SEQPACKET)
460 return NULL; 463 return NULL;
461 464
462 if ((sk = sk_alloc(PF_NETROM, GFP_ATOMIC, osk->sk_prot, 1)) == NULL) 465 if ((sk = sk_alloc(osk->sk_net, PF_NETROM, GFP_ATOMIC, osk->sk_prot, 1)) == NULL)
463 return NULL; 466 return NULL;
464 467
465 nr = nr_sk(sk); 468 nr = nr_sk(sk);