net: Pass kern from net_proto_family.create to sk_alloc
In preparation for changing how struct net is refcounted on kernel sockets pass the knowledge that we are creating a kernel socket from sock_create_kern through to sk_alloc. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
eeb1bd5c40
commit
11aa9c28b4
@@ -468,10 +468,10 @@ static struct proto dn_proto = {
|
||||
.obj_size = sizeof(struct dn_sock),
|
||||
};
|
||||
|
||||
static struct sock *dn_alloc_sock(struct net *net, struct socket *sock, gfp_t gfp)
|
||||
static struct sock *dn_alloc_sock(struct net *net, struct socket *sock, gfp_t gfp, int kern)
|
||||
{
|
||||
struct dn_scp *scp;
|
||||
struct sock *sk = sk_alloc(net, PF_DECnet, gfp, &dn_proto);
|
||||
struct sock *sk = sk_alloc(net, PF_DECnet, gfp, &dn_proto, kern);
|
||||
|
||||
if (!sk)
|
||||
goto out;
|
||||
@@ -693,7 +693,7 @@ static int dn_create(struct net *net, struct socket *sock, int protocol,
|
||||
}
|
||||
|
||||
|
||||
if ((sk = dn_alloc_sock(net, sock, GFP_KERNEL)) == NULL)
|
||||
if ((sk = dn_alloc_sock(net, sock, GFP_KERNEL, kern)) == NULL)
|
||||
return -ENOBUFS;
|
||||
|
||||
sk->sk_protocol = protocol;
|
||||
@@ -1096,7 +1096,7 @@ static int dn_accept(struct socket *sock, struct socket *newsock, int flags)
|
||||
|
||||
cb = DN_SKB_CB(skb);
|
||||
sk->sk_ack_backlog--;
|
||||
newsk = dn_alloc_sock(sock_net(sk), newsock, sk->sk_allocation);
|
||||
newsk = dn_alloc_sock(sock_net(sk), newsock, sk->sk_allocation, 0);
|
||||
if (newsk == NULL) {
|
||||
release_sock(sk);
|
||||
kfree_skb(skb);
|
||||
|
Reference in New Issue
Block a user