aboutsummaryrefslogtreecommitdiffstats
path: root/net/nfc
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2015-05-08 22:09:13 -0400
committerDavid S. Miller <davem@davemloft.net>2015-05-11 10:50:17 -0400
commit11aa9c28b4209242a9de0a661a7b3405adb568a0 (patch)
treed0dda021d89c17c54d54d227269f937d2d73b542 /net/nfc
parenteeb1bd5c40edb0e2fd925c8535e2fdebdbc5cef2 (diff)
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>
Diffstat (limited to 'net/nfc')
-rw-r--r--net/nfc/af_nfc.c2
-rw-r--r--net/nfc/llcp.h2
-rw-r--r--net/nfc/llcp_core.c2
-rw-r--r--net/nfc/llcp_sock.c8
-rw-r--r--net/nfc/nfc.h2
-rw-r--r--net/nfc/rawsock.c4
6 files changed, 10 insertions, 10 deletions
diff --git a/net/nfc/af_nfc.c b/net/nfc/af_nfc.c
index 2277276f52bc..54e40fa47822 100644
--- a/net/nfc/af_nfc.c
+++ b/net/nfc/af_nfc.c
@@ -40,7 +40,7 @@ static int nfc_sock_create(struct net *net, struct socket *sock, int proto,
40 40
41 read_lock(&proto_tab_lock); 41 read_lock(&proto_tab_lock);
42 if (proto_tab[proto] && try_module_get(proto_tab[proto]->owner)) { 42 if (proto_tab[proto] && try_module_get(proto_tab[proto]->owner)) {
43 rc = proto_tab[proto]->create(net, sock, proto_tab[proto]); 43 rc = proto_tab[proto]->create(net, sock, proto_tab[proto], kern);
44 module_put(proto_tab[proto]->owner); 44 module_put(proto_tab[proto]->owner);
45 } 45 }
46 read_unlock(&proto_tab_lock); 46 read_unlock(&proto_tab_lock);
diff --git a/net/nfc/llcp.h b/net/nfc/llcp.h
index de1789e3cc82..1f68724d44d3 100644
--- a/net/nfc/llcp.h
+++ b/net/nfc/llcp.h
@@ -225,7 +225,7 @@ void nfc_llcp_send_to_raw_sock(struct nfc_llcp_local *local,
225 struct sk_buff *skb, u8 direction); 225 struct sk_buff *skb, u8 direction);
226 226
227/* Sock API */ 227/* Sock API */
228struct sock *nfc_llcp_sock_alloc(struct socket *sock, int type, gfp_t gfp); 228struct sock *nfc_llcp_sock_alloc(struct socket *sock, int type, gfp_t gfp, int kern);
229void nfc_llcp_sock_free(struct nfc_llcp_sock *sock); 229void nfc_llcp_sock_free(struct nfc_llcp_sock *sock);
230void nfc_llcp_accept_unlink(struct sock *sk); 230void nfc_llcp_accept_unlink(struct sock *sk);
231void nfc_llcp_accept_enqueue(struct sock *parent, struct sock *sk); 231void nfc_llcp_accept_enqueue(struct sock *parent, struct sock *sk);
diff --git a/net/nfc/llcp_core.c b/net/nfc/llcp_core.c
index b18f07ccb504..98876274a1ee 100644
--- a/net/nfc/llcp_core.c
+++ b/net/nfc/llcp_core.c
@@ -934,7 +934,7 @@ static void nfc_llcp_recv_connect(struct nfc_llcp_local *local,
934 sock->ssap = ssap; 934 sock->ssap = ssap;
935 } 935 }
936 936
937 new_sk = nfc_llcp_sock_alloc(NULL, parent->sk_type, GFP_ATOMIC); 937 new_sk = nfc_llcp_sock_alloc(NULL, parent->sk_type, GFP_ATOMIC, 0);
938 if (new_sk == NULL) { 938 if (new_sk == NULL) {
939 reason = LLCP_DM_REJ; 939 reason = LLCP_DM_REJ;
940 release_sock(&sock->sk); 940 release_sock(&sock->sk);
diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c
index 9578bd6a4f3e..b7de0da46acd 100644
--- a/net/nfc/llcp_sock.c
+++ b/net/nfc/llcp_sock.c
@@ -942,12 +942,12 @@ static void llcp_sock_destruct(struct sock *sk)
942 } 942 }
943} 943}
944 944
945struct sock *nfc_llcp_sock_alloc(struct socket *sock, int type, gfp_t gfp) 945struct sock *nfc_llcp_sock_alloc(struct socket *sock, int type, gfp_t gfp, int kern)
946{ 946{
947 struct sock *sk; 947 struct sock *sk;
948 struct nfc_llcp_sock *llcp_sock; 948 struct nfc_llcp_sock *llcp_sock;
949 949
950 sk = sk_alloc(&init_net, PF_NFC, gfp, &llcp_sock_proto); 950 sk = sk_alloc(&init_net, PF_NFC, gfp, &llcp_sock_proto, kern);
951 if (!sk) 951 if (!sk)
952 return NULL; 952 return NULL;
953 953
@@ -993,7 +993,7 @@ void nfc_llcp_sock_free(struct nfc_llcp_sock *sock)
993} 993}
994 994
995static int llcp_sock_create(struct net *net, struct socket *sock, 995static int llcp_sock_create(struct net *net, struct socket *sock,
996 const struct nfc_protocol *nfc_proto) 996 const struct nfc_protocol *nfc_proto, int kern)
997{ 997{
998 struct sock *sk; 998 struct sock *sk;
999 999
@@ -1009,7 +1009,7 @@ static int llcp_sock_create(struct net *net, struct socket *sock,
1009 else 1009 else
1010 sock->ops = &llcp_sock_ops; 1010 sock->ops = &llcp_sock_ops;
1011 1011
1012 sk = nfc_llcp_sock_alloc(sock, sock->type, GFP_ATOMIC); 1012 sk = nfc_llcp_sock_alloc(sock, sock->type, GFP_ATOMIC, kern);
1013 if (sk == NULL) 1013 if (sk == NULL)
1014 return -ENOMEM; 1014 return -ENOMEM;
1015 1015
diff --git a/net/nfc/nfc.h b/net/nfc/nfc.h
index a8ce80b47720..5c93e8412a26 100644
--- a/net/nfc/nfc.h
+++ b/net/nfc/nfc.h
@@ -30,7 +30,7 @@ struct nfc_protocol {
30 struct proto *proto; 30 struct proto *proto;
31 struct module *owner; 31 struct module *owner;
32 int (*create)(struct net *net, struct socket *sock, 32 int (*create)(struct net *net, struct socket *sock,
33 const struct nfc_protocol *nfc_proto); 33 const struct nfc_protocol *nfc_proto, int kern);
34}; 34};
35 35
36struct nfc_rawsock { 36struct nfc_rawsock {
diff --git a/net/nfc/rawsock.c b/net/nfc/rawsock.c
index 82b4e8024778..e9a91488fe3d 100644
--- a/net/nfc/rawsock.c
+++ b/net/nfc/rawsock.c
@@ -334,7 +334,7 @@ static void rawsock_destruct(struct sock *sk)
334} 334}
335 335
336static int rawsock_create(struct net *net, struct socket *sock, 336static int rawsock_create(struct net *net, struct socket *sock,
337 const struct nfc_protocol *nfc_proto) 337 const struct nfc_protocol *nfc_proto, int kern)
338{ 338{
339 struct sock *sk; 339 struct sock *sk;
340 340
@@ -348,7 +348,7 @@ static int rawsock_create(struct net *net, struct socket *sock,
348 else 348 else
349 sock->ops = &rawsock_ops; 349 sock->ops = &rawsock_ops;
350 350
351 sk = sk_alloc(net, PF_NFC, GFP_ATOMIC, nfc_proto->proto); 351 sk = sk_alloc(net, PF_NFC, GFP_ATOMIC, nfc_proto->proto, kern);
352 if (!sk) 352 if (!sk)
353 return -ENOMEM; 353 return -ENOMEM;
354 354