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 <eparis@redhat.com>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Eric Paris
2009-11-05 22:18:14 -08:00
committed by David S. Miller
parent 13f18aa05f
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;