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>
Šī revīzija ir iekļauta:

revīziju iesūtīja
David S. Miller

vecāks
eeb1bd5c40
revīzija
11aa9c28b4
@@ -581,13 +581,14 @@ struct sock *__vsock_create(struct net *net,
|
||||
struct socket *sock,
|
||||
struct sock *parent,
|
||||
gfp_t priority,
|
||||
unsigned short type)
|
||||
unsigned short type,
|
||||
int kern)
|
||||
{
|
||||
struct sock *sk;
|
||||
struct vsock_sock *psk;
|
||||
struct vsock_sock *vsk;
|
||||
|
||||
sk = sk_alloc(net, AF_VSOCK, priority, &vsock_proto);
|
||||
sk = sk_alloc(net, AF_VSOCK, priority, &vsock_proto, kern);
|
||||
if (!sk)
|
||||
return NULL;
|
||||
|
||||
@@ -1866,7 +1867,7 @@ static int vsock_create(struct net *net, struct socket *sock,
|
||||
|
||||
sock->state = SS_UNCONNECTED;
|
||||
|
||||
return __vsock_create(net, sock, NULL, GFP_KERNEL, 0) ? 0 : -ENOMEM;
|
||||
return __vsock_create(net, sock, NULL, GFP_KERNEL, 0, kern) ? 0 : -ENOMEM;
|
||||
}
|
||||
|
||||
static const struct net_proto_family vsock_family_ops = {
|
||||
|
@@ -1022,7 +1022,7 @@ static int vmci_transport_recv_listen(struct sock *sk,
|
||||
}
|
||||
|
||||
pending = __vsock_create(sock_net(sk), NULL, sk, GFP_KERNEL,
|
||||
sk->sk_type);
|
||||
sk->sk_type, 0);
|
||||
if (!pending) {
|
||||
vmci_transport_send_reset(sk, pkt);
|
||||
return -ENOMEM;
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user