diff options
Diffstat (limited to 'net/ipx')
-rw-r--r-- | net/ipx/af_ipx.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c index 8400525177ab..ee28babad227 100644 --- a/net/ipx/af_ipx.c +++ b/net/ipx/af_ipx.c | |||
@@ -1360,11 +1360,14 @@ static struct proto ipx_proto = { | |||
1360 | .obj_size = sizeof(struct ipx_sock), | 1360 | .obj_size = sizeof(struct ipx_sock), |
1361 | }; | 1361 | }; |
1362 | 1362 | ||
1363 | static int ipx_create(struct socket *sock, int protocol) | 1363 | static int ipx_create(struct net *net, struct socket *sock, int protocol) |
1364 | { | 1364 | { |
1365 | int rc = -ESOCKTNOSUPPORT; | 1365 | int rc = -ESOCKTNOSUPPORT; |
1366 | struct sock *sk; | 1366 | struct sock *sk; |
1367 | 1367 | ||
1368 | if (net != &init_net) | ||
1369 | return -EAFNOSUPPORT; | ||
1370 | |||
1368 | /* | 1371 | /* |
1369 | * SPX support is not anymore in the kernel sources. If you want to | 1372 | * SPX support is not anymore in the kernel sources. If you want to |
1370 | * ressurrect it, completing it and making it understand shared skbs, | 1373 | * ressurrect it, completing it and making it understand shared skbs, |
@@ -1375,7 +1378,7 @@ static int ipx_create(struct socket *sock, int protocol) | |||
1375 | goto out; | 1378 | goto out; |
1376 | 1379 | ||
1377 | rc = -ENOMEM; | 1380 | rc = -ENOMEM; |
1378 | sk = sk_alloc(PF_IPX, GFP_KERNEL, &ipx_proto, 1); | 1381 | sk = sk_alloc(net, PF_IPX, GFP_KERNEL, &ipx_proto, 1); |
1379 | if (!sk) | 1382 | if (!sk) |
1380 | goto out; | 1383 | goto out; |
1381 | #ifdef IPX_REFCNT_DEBUG | 1384 | #ifdef IPX_REFCNT_DEBUG |