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

@ -61,7 +61,7 @@
#include <net/irda/af_irda.h>
static int irda_create(struct net *net, struct socket *sock, int protocol);
static int irda_create(struct net *net, struct socket *sock, int protocol, int kern);
static const struct proto_ops irda_stream_ops;
static const struct proto_ops irda_seqpacket_ops;
@ -839,7 +839,7 @@ static int irda_accept(struct socket *sock, struct socket *newsock, int flags)
IRDA_DEBUG(2, "%s()\n", __func__);
err = irda_create(sock_net(sk), newsock, sk->sk_protocol);
err = irda_create(sock_net(sk), newsock, sk->sk_protocol, 0);
if (err)
return err;
@ -1062,7 +1062,8 @@ static struct proto irda_proto = {
* Create IrDA socket
*
*/
static int irda_create(struct net *net, struct socket *sock, int protocol)
static int irda_create(struct net *net, struct socket *sock, int protocol,
int kern)
{
struct sock *sk;
struct irda_sock *self;