diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/pppoe.c | 4 | ||||
-rw-r--r-- | drivers/net/pppol2tp.c | 4 | ||||
-rw-r--r-- | drivers/net/pppox.c | 7 |
3 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c index ee8ce195c538..53fcee26d6ae 100644 --- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c | |||
@@ -477,12 +477,12 @@ static struct proto pppoe_sk_proto = { | |||
477 | * Initialize a new struct sock. | 477 | * Initialize a new struct sock. |
478 | * | 478 | * |
479 | **********************************************************************/ | 479 | **********************************************************************/ |
480 | static int pppoe_create(struct socket *sock) | 480 | static int pppoe_create(struct net *net, struct socket *sock) |
481 | { | 481 | { |
482 | int error = -ENOMEM; | 482 | int error = -ENOMEM; |
483 | struct sock *sk; | 483 | struct sock *sk; |
484 | 484 | ||
485 | sk = sk_alloc(PF_PPPOX, GFP_KERNEL, &pppoe_sk_proto, 1); | 485 | sk = sk_alloc(net, PF_PPPOX, GFP_KERNEL, &pppoe_sk_proto, 1); |
486 | if (!sk) | 486 | if (!sk) |
487 | goto out; | 487 | goto out; |
488 | 488 | ||
diff --git a/drivers/net/pppol2tp.c b/drivers/net/pppol2tp.c index 2eb424ba58e5..921d4ef6d14b 100644 --- a/drivers/net/pppol2tp.c +++ b/drivers/net/pppol2tp.c | |||
@@ -1411,12 +1411,12 @@ static struct proto pppol2tp_sk_proto = { | |||
1411 | 1411 | ||
1412 | /* socket() handler. Initialize a new struct sock. | 1412 | /* socket() handler. Initialize a new struct sock. |
1413 | */ | 1413 | */ |
1414 | static int pppol2tp_create(struct socket *sock) | 1414 | static int pppol2tp_create(struct net *net, struct socket *sock) |
1415 | { | 1415 | { |
1416 | int error = -ENOMEM; | 1416 | int error = -ENOMEM; |
1417 | struct sock *sk; | 1417 | struct sock *sk; |
1418 | 1418 | ||
1419 | sk = sk_alloc(PF_PPPOX, GFP_KERNEL, &pppol2tp_sk_proto, 1); | 1419 | sk = sk_alloc(net, PF_PPPOX, GFP_KERNEL, &pppol2tp_sk_proto, 1); |
1420 | if (!sk) | 1420 | if (!sk) |
1421 | goto out; | 1421 | goto out; |
1422 | 1422 | ||
diff --git a/drivers/net/pppox.c b/drivers/net/pppox.c index 25c52b55c38f..c6898c1fc54d 100644 --- a/drivers/net/pppox.c +++ b/drivers/net/pppox.c | |||
@@ -104,10 +104,13 @@ int pppox_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) | |||
104 | 104 | ||
105 | EXPORT_SYMBOL(pppox_ioctl); | 105 | EXPORT_SYMBOL(pppox_ioctl); |
106 | 106 | ||
107 | static int pppox_create(struct socket *sock, int protocol) | 107 | static int pppox_create(struct net *net, struct socket *sock, int protocol) |
108 | { | 108 | { |
109 | int rc = -EPROTOTYPE; | 109 | int rc = -EPROTOTYPE; |
110 | 110 | ||
111 | if (net != &init_net) | ||
112 | return -EAFNOSUPPORT; | ||
113 | |||
111 | if (protocol < 0 || protocol > PX_MAX_PROTO) | 114 | if (protocol < 0 || protocol > PX_MAX_PROTO) |
112 | goto out; | 115 | goto out; |
113 | 116 | ||
@@ -123,7 +126,7 @@ static int pppox_create(struct socket *sock, int protocol) | |||
123 | !try_module_get(pppox_protos[protocol]->owner)) | 126 | !try_module_get(pppox_protos[protocol]->owner)) |
124 | goto out; | 127 | goto out; |
125 | 128 | ||
126 | rc = pppox_protos[protocol]->create(sock); | 129 | rc = pppox_protos[protocol]->create(net, sock); |
127 | 130 | ||
128 | module_put(pppox_protos[protocol]->owner); | 131 | module_put(pppox_protos[protocol]->owner); |
129 | out: | 132 | out: |