mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
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" <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
eeb1bd5c40
commit
11aa9c28b4
59 changed files with 109 additions and 108 deletions
|
|
@ -40,7 +40,7 @@ static int nfc_sock_create(struct net *net, struct socket *sock, int proto,
|
|||
|
||||
read_lock(&proto_tab_lock);
|
||||
if (proto_tab[proto] && try_module_get(proto_tab[proto]->owner)) {
|
||||
rc = proto_tab[proto]->create(net, sock, proto_tab[proto]);
|
||||
rc = proto_tab[proto]->create(net, sock, proto_tab[proto], kern);
|
||||
module_put(proto_tab[proto]->owner);
|
||||
}
|
||||
read_unlock(&proto_tab_lock);
|
||||
|
|
|
|||
|
|
@ -225,7 +225,7 @@ void nfc_llcp_send_to_raw_sock(struct nfc_llcp_local *local,
|
|||
struct sk_buff *skb, u8 direction);
|
||||
|
||||
/* Sock API */
|
||||
struct sock *nfc_llcp_sock_alloc(struct socket *sock, int type, gfp_t gfp);
|
||||
struct sock *nfc_llcp_sock_alloc(struct socket *sock, int type, gfp_t gfp, int kern);
|
||||
void nfc_llcp_sock_free(struct nfc_llcp_sock *sock);
|
||||
void nfc_llcp_accept_unlink(struct sock *sk);
|
||||
void nfc_llcp_accept_enqueue(struct sock *parent, struct sock *sk);
|
||||
|
|
|
|||
|
|
@ -934,7 +934,7 @@ static void nfc_llcp_recv_connect(struct nfc_llcp_local *local,
|
|||
sock->ssap = ssap;
|
||||
}
|
||||
|
||||
new_sk = nfc_llcp_sock_alloc(NULL, parent->sk_type, GFP_ATOMIC);
|
||||
new_sk = nfc_llcp_sock_alloc(NULL, parent->sk_type, GFP_ATOMIC, 0);
|
||||
if (new_sk == NULL) {
|
||||
reason = LLCP_DM_REJ;
|
||||
release_sock(&sock->sk);
|
||||
|
|
|
|||
|
|
@ -942,12 +942,12 @@ static void llcp_sock_destruct(struct sock *sk)
|
|||
}
|
||||
}
|
||||
|
||||
struct sock *nfc_llcp_sock_alloc(struct socket *sock, int type, gfp_t gfp)
|
||||
struct sock *nfc_llcp_sock_alloc(struct socket *sock, int type, gfp_t gfp, int kern)
|
||||
{
|
||||
struct sock *sk;
|
||||
struct nfc_llcp_sock *llcp_sock;
|
||||
|
||||
sk = sk_alloc(&init_net, PF_NFC, gfp, &llcp_sock_proto);
|
||||
sk = sk_alloc(&init_net, PF_NFC, gfp, &llcp_sock_proto, kern);
|
||||
if (!sk)
|
||||
return NULL;
|
||||
|
||||
|
|
@ -993,7 +993,7 @@ void nfc_llcp_sock_free(struct nfc_llcp_sock *sock)
|
|||
}
|
||||
|
||||
static int llcp_sock_create(struct net *net, struct socket *sock,
|
||||
const struct nfc_protocol *nfc_proto)
|
||||
const struct nfc_protocol *nfc_proto, int kern)
|
||||
{
|
||||
struct sock *sk;
|
||||
|
||||
|
|
@ -1009,7 +1009,7 @@ static int llcp_sock_create(struct net *net, struct socket *sock,
|
|||
else
|
||||
sock->ops = &llcp_sock_ops;
|
||||
|
||||
sk = nfc_llcp_sock_alloc(sock, sock->type, GFP_ATOMIC);
|
||||
sk = nfc_llcp_sock_alloc(sock, sock->type, GFP_ATOMIC, kern);
|
||||
if (sk == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ struct nfc_protocol {
|
|||
struct proto *proto;
|
||||
struct module *owner;
|
||||
int (*create)(struct net *net, struct socket *sock,
|
||||
const struct nfc_protocol *nfc_proto);
|
||||
const struct nfc_protocol *nfc_proto, int kern);
|
||||
};
|
||||
|
||||
struct nfc_rawsock {
|
||||
|
|
|
|||
|
|
@ -334,7 +334,7 @@ static void rawsock_destruct(struct sock *sk)
|
|||
}
|
||||
|
||||
static int rawsock_create(struct net *net, struct socket *sock,
|
||||
const struct nfc_protocol *nfc_proto)
|
||||
const struct nfc_protocol *nfc_proto, int kern)
|
||||
{
|
||||
struct sock *sk;
|
||||
|
||||
|
|
@ -348,7 +348,7 @@ static int rawsock_create(struct net *net, struct socket *sock,
|
|||
else
|
||||
sock->ops = &rawsock_ops;
|
||||
|
||||
sk = sk_alloc(net, PF_NFC, GFP_ATOMIC, nfc_proto->proto);
|
||||
sk = sk_alloc(net, PF_NFC, GFP_ATOMIC, nfc_proto->proto, kern);
|
||||
if (!sk)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue