X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fnet%2Fpppox.c;h=03aecc97fb453d32eefb596dddba3f6286d909df;hb=fd217f4d70172c526478f2bc76859e909fdfa674;hp=25c52b55c38fb6cb11ddc369ce88f5b527f7cf20;hpb=1ed4395035a6791ebbbf618429a58ab9c207cc83;p=linux-2.6-omap-h63xx.git diff --git a/drivers/net/pppox.c b/drivers/net/pppox.c index 25c52b55c38..03aecc97fb4 100644 --- a/drivers/net/pppox.c +++ b/drivers/net/pppox.c @@ -104,26 +104,24 @@ int pppox_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) EXPORT_SYMBOL(pppox_ioctl); -static int pppox_create(struct socket *sock, int protocol) +static int pppox_create(struct net *net, struct socket *sock, int protocol) { int rc = -EPROTOTYPE; + if (net != &init_net) + return -EAFNOSUPPORT; + if (protocol < 0 || protocol > PX_MAX_PROTO) goto out; rc = -EPROTONOSUPPORT; -#ifdef CONFIG_KMOD - if (!pppox_protos[protocol]) { - char buffer[32]; - sprintf(buffer, "pppox-proto-%d", protocol); - request_module(buffer); - } -#endif + if (!pppox_protos[protocol]) + request_module("pppox-proto-%d", protocol); if (!pppox_protos[protocol] || !try_module_get(pppox_protos[protocol]->owner)) goto out; - rc = pppox_protos[protocol]->create(sock); + rc = pppox_protos[protocol]->create(net, sock); module_put(pppox_protos[protocol]->owner); out: