diff options
Diffstat (limited to 'net/ax25/af_ax25.c')
-rw-r--r-- | net/ax25/af_ax25.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c index 1d71f85680b8..def6c42ad165 100644 --- a/net/ax25/af_ax25.c +++ b/net/ax25/af_ax25.c | |||
@@ -780,11 +780,14 @@ static struct proto ax25_proto = { | |||
780 | .obj_size = sizeof(struct sock), | 780 | .obj_size = sizeof(struct sock), |
781 | }; | 781 | }; |
782 | 782 | ||
783 | static int ax25_create(struct socket *sock, int protocol) | 783 | static int ax25_create(struct net *net, struct socket *sock, int protocol) |
784 | { | 784 | { |
785 | struct sock *sk; | 785 | struct sock *sk; |
786 | ax25_cb *ax25; | 786 | ax25_cb *ax25; |
787 | 787 | ||
788 | if (net != &init_net) | ||
789 | return -EAFNOSUPPORT; | ||
790 | |||
788 | switch (sock->type) { | 791 | switch (sock->type) { |
789 | case SOCK_DGRAM: | 792 | case SOCK_DGRAM: |
790 | if (protocol == 0 || protocol == PF_AX25) | 793 | if (protocol == 0 || protocol == PF_AX25) |
@@ -830,7 +833,7 @@ static int ax25_create(struct socket *sock, int protocol) | |||
830 | return -ESOCKTNOSUPPORT; | 833 | return -ESOCKTNOSUPPORT; |
831 | } | 834 | } |
832 | 835 | ||
833 | if ((sk = sk_alloc(PF_AX25, GFP_ATOMIC, &ax25_proto, 1)) == NULL) | 836 | if ((sk = sk_alloc(net, PF_AX25, GFP_ATOMIC, &ax25_proto, 1)) == NULL) |
834 | return -ENOMEM; | 837 | return -ENOMEM; |
835 | 838 | ||
836 | ax25 = sk->sk_protinfo = ax25_create_cb(); | 839 | ax25 = sk->sk_protinfo = ax25_create_cb(); |
@@ -855,7 +858,7 @@ struct sock *ax25_make_new(struct sock *osk, struct ax25_dev *ax25_dev) | |||
855 | struct sock *sk; | 858 | struct sock *sk; |
856 | ax25_cb *ax25, *oax25; | 859 | ax25_cb *ax25, *oax25; |
857 | 860 | ||
858 | if ((sk = sk_alloc(PF_AX25, GFP_ATOMIC, osk->sk_prot, 1)) == NULL) | 861 | if ((sk = sk_alloc(osk->sk_net, PF_AX25, GFP_ATOMIC, osk->sk_prot, 1)) == NULL) |
859 | return NULL; | 862 | return NULL; |
860 | 863 | ||
861 | if ((ax25 = ax25_create_cb()) == NULL) { | 864 | if ((ax25 = ax25_create_cb()) == NULL) { |