net: pass kern to net_proto_family create function

The generic __sock_create function has a kern argument which allows the
security system to make decisions based on if a socket is being created by
the kernel or by userspace.  This patch passes that flag to the
net_proto_family specific create function, so it can do the same thing.

Signed-off-by: Eric Paris <[email protected]>
Acked-by: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
Eric Paris 2009-11-05 22:18:14 -08:00 • committed by David S. Miller
commit 3f378b6844
37 changed files with 80 additions and 43 deletions

View file

@ -127,7 +127,8 @@ static const struct proto_ops pvc_proto_ops = {
};
static int pvc_create(struct net *net, struct socket *sock,int protocol)
static int pvc_create(struct net *net, struct socket *sock, int protocol,
int kern)
{
if (net != &init_net)
return -EAFNOSUPPORT;

View file

@ -25,7 +25,7 @@
#include "signaling.h"
#include "addr.h"
static int svc_create(struct net *net, struct socket *sock,int protocol);
static int svc_create(struct net *net, struct socket *sock, int protocol, int kern);
/*
* Note: since all this is still nicely synchronized with the signaling demon,
@ -330,7 +330,7 @@ static int svc_accept(struct socket *sock,struct socket *newsock,int flags)
lock_sock(sk);
error = svc_create(sock_net(sk), newsock,0);
error = svc_create(sock_net(sk), newsock, 0, 0);
if (error)
goto out;
@ -650,7 +650,8 @@ static const struct proto_ops svc_proto_ops = {
};
static int svc_create(struct net *net, struct socket *sock,int protocol)
static int svc_create(struct net *net, struct socket *sock, int protocol,
int kern)
{
int error;