diff options
Diffstat (limited to 'net/rxrpc/af_rxrpc.c')
-rw-r--r-- | net/rxrpc/af_rxrpc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/rxrpc/af_rxrpc.c b/net/rxrpc/af_rxrpc.c index 122d55d992e1..0803f305ed08 100644 --- a/net/rxrpc/af_rxrpc.c +++ b/net/rxrpc/af_rxrpc.c | |||
@@ -606,13 +606,16 @@ static unsigned int rxrpc_poll(struct file *file, struct socket *sock, | |||
606 | /* | 606 | /* |
607 | * create an RxRPC socket | 607 | * create an RxRPC socket |
608 | */ | 608 | */ |
609 | static int rxrpc_create(struct socket *sock, int protocol) | 609 | static int rxrpc_create(struct net *net, struct socket *sock, int protocol) |
610 | { | 610 | { |
611 | struct rxrpc_sock *rx; | 611 | struct rxrpc_sock *rx; |
612 | struct sock *sk; | 612 | struct sock *sk; |
613 | 613 | ||
614 | _enter("%p,%d", sock, protocol); | 614 | _enter("%p,%d", sock, protocol); |
615 | 615 | ||
616 | if (net != &init_net) | ||
617 | return -EAFNOSUPPORT; | ||
618 | |||
616 | /* we support transport protocol UDP only */ | 619 | /* we support transport protocol UDP only */ |
617 | if (protocol != PF_INET) | 620 | if (protocol != PF_INET) |
618 | return -EPROTONOSUPPORT; | 621 | return -EPROTONOSUPPORT; |
@@ -623,7 +626,7 @@ static int rxrpc_create(struct socket *sock, int protocol) | |||
623 | sock->ops = &rxrpc_rpc_ops; | 626 | sock->ops = &rxrpc_rpc_ops; |
624 | sock->state = SS_UNCONNECTED; | 627 | sock->state = SS_UNCONNECTED; |
625 | 628 | ||
626 | sk = sk_alloc(PF_RXRPC, GFP_KERNEL, &rxrpc_proto, 1); | 629 | sk = sk_alloc(net, PF_RXRPC, GFP_KERNEL, &rxrpc_proto, 1); |
627 | if (!sk) | 630 | if (!sk) |
628 | return -ENOMEM; | 631 | return -ENOMEM; |
629 | 632 | ||