Skip to content

Commit eeb1bd5

Browse files
ebiedermdavem330
authored andcommitted
net: Add a struct net parameter to sock_create_kern
This is long overdue, and is part of cleaning up how we allocate kernel sockets that don't reference count struct net. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 140e807 commit eeb1bd5

File tree

13 files changed

+26
-26
lines changed

13 files changed

+26
-26
lines changed

drivers/block/drbd/drbd_receiver.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,7 @@ static struct socket *drbd_try_connect(struct drbd_connection *connection)
598598
memcpy(&peer_in6, &connection->peer_addr, peer_addr_len);
599599

600600
what = "sock_create_kern";
601-
err = sock_create_kern(((struct sockaddr *)&src_in6)->sa_family,
601+
err = sock_create_kern(&init_net, ((struct sockaddr *)&src_in6)->sa_family,
602602
SOCK_STREAM, IPPROTO_TCP, &sock);
603603
if (err < 0) {
604604
sock = NULL;
@@ -693,7 +693,7 @@ static int prepare_listen_socket(struct drbd_connection *connection, struct acce
693693
memcpy(&my_addr, &connection->my_addr, my_addr_len);
694694

695695
what = "sock_create_kern";
696-
err = sock_create_kern(((struct sockaddr *)&my_addr)->sa_family,
696+
err = sock_create_kern(&init_net, ((struct sockaddr *)&my_addr)->sa_family,
697697
SOCK_STREAM, IPPROTO_TCP, &s_listen);
698698
if (err) {
699699
s_listen = NULL;

fs/afs/rxrpc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ int afs_open_socket(void)
8585
return -ENOMEM;
8686
}
8787

88-
ret = sock_create_kern(AF_RXRPC, SOCK_DGRAM, PF_INET, &socket);
88+
ret = sock_create_kern(&init_net, AF_RXRPC, SOCK_DGRAM, PF_INET, &socket);
8989
if (ret < 0) {
9090
destroy_workqueue(afs_async_calls);
9191
_leave(" = %d [socket]", ret);

fs/dlm/lowcomms.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -921,8 +921,8 @@ static int tcp_accept_from_sock(struct connection *con)
921921
mutex_unlock(&connections_lock);
922922

923923
memset(&peeraddr, 0, sizeof(peeraddr));
924-
result = sock_create_kern(dlm_local_addr[0]->ss_family, SOCK_STREAM,
925-
IPPROTO_TCP, &newsock);
924+
result = sock_create_kern(&init_net, dlm_local_addr[0]->ss_family,
925+
SOCK_STREAM, IPPROTO_TCP, &newsock);
926926
if (result < 0)
927927
return -ENOMEM;
928928

@@ -1173,8 +1173,8 @@ static void tcp_connect_to_sock(struct connection *con)
11731173
goto out;
11741174

11751175
/* Create a socket to communicate with */
1176-
result = sock_create_kern(dlm_local_addr[0]->ss_family, SOCK_STREAM,
1177-
IPPROTO_TCP, &sock);
1176+
result = sock_create_kern(&init_net, dlm_local_addr[0]->ss_family,
1177+
SOCK_STREAM, IPPROTO_TCP, &sock);
11781178
if (result < 0)
11791179
goto out_err;
11801180

@@ -1258,8 +1258,8 @@ static struct socket *tcp_create_listen_sock(struct connection *con,
12581258
addr_len = sizeof(struct sockaddr_in6);
12591259

12601260
/* Create a socket to communicate with */
1261-
result = sock_create_kern(dlm_local_addr[0]->ss_family, SOCK_STREAM,
1262-
IPPROTO_TCP, &sock);
1261+
result = sock_create_kern(&init_net, dlm_local_addr[0]->ss_family,
1262+
SOCK_STREAM, IPPROTO_TCP, &sock);
12631263
if (result < 0) {
12641264
log_print("Can't create listening comms socket");
12651265
goto create_out;
@@ -1365,8 +1365,8 @@ static int sctp_listen_for_all(void)
13651365

13661366
log_print("Using SCTP for communications");
13671367

1368-
result = sock_create_kern(dlm_local_addr[0]->ss_family, SOCK_SEQPACKET,
1369-
IPPROTO_SCTP, &sock);
1368+
result = sock_create_kern(&init_net, dlm_local_addr[0]->ss_family,
1369+
SOCK_SEQPACKET, IPPROTO_SCTP, &sock);
13701370
if (result < 0) {
13711371
log_print("Can't create comms socket, check SCTP is loaded");
13721372
goto out;

include/linux/net.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ void sock_unregister(int family);
207207
int __sock_create(struct net *net, int family, int type, int proto,
208208
struct socket **res, int kern);
209209
int sock_create(int family, int type, int proto, struct socket **res);
210-
int sock_create_kern(int family, int type, int proto, struct socket **res);
210+
int sock_create_kern(struct net *net, int family, int type, int proto, struct socket **res);
211211
int sock_create_lite(int family, int type, int proto, struct socket **res);
212212
void sock_release(struct socket *sock);
213213
int sock_sendmsg(struct socket *sock, struct msghdr *msg);

net/bluetooth/rfcomm/core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ static int rfcomm_l2sock_create(struct socket **sock)
200200

201201
BT_DBG("");
202202

203-
err = sock_create_kern(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP, sock);
203+
err = sock_create_kern(&init_net, PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP, sock);
204204
if (!err) {
205205
struct sock *sk = (*sock)->sk;
206206
sk->sk_data_ready = rfcomm_l2data_ready;

net/ceph/messenger.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -480,8 +480,8 @@ static int ceph_tcp_connect(struct ceph_connection *con)
480480
int ret;
481481

482482
BUG_ON(con->sock);
483-
ret = sock_create_kern(con->peer_addr.in_addr.ss_family, SOCK_STREAM,
484-
IPPROTO_TCP, &sock);
483+
ret = sock_create_kern(&init_net, con->peer_addr.in_addr.ss_family,
484+
SOCK_STREAM, IPPROTO_TCP, &sock);
485485
if (ret)
486486
return ret;
487487
sock->sk->sk_allocation = GFP_NOFS;

net/ipv4/af_inet.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1430,7 +1430,7 @@ int inet_ctl_sock_create(struct sock **sk, unsigned short family,
14301430
struct net *net)
14311431
{
14321432
struct socket *sock;
1433-
int rc = sock_create_kern(family, type, protocol, &sock);
1433+
int rc = sock_create_kern(&init_net, family, type, protocol, &sock);
14341434

14351435
if (rc == 0) {
14361436
*sk = sock->sk;

net/ipv4/udp_tunnel.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ int udp_sock_create4(struct net *net, struct udp_port_cfg *cfg,
1515
struct socket *sock = NULL;
1616
struct sockaddr_in udp_addr;
1717

18-
err = sock_create_kern(AF_INET, SOCK_DGRAM, 0, &sock);
18+
err = sock_create_kern(&init_net, AF_INET, SOCK_DGRAM, 0, &sock);
1919
if (err < 0)
2020
goto error;
2121

net/ipv6/ip6_udp_tunnel.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ int udp_sock_create6(struct net *net, struct udp_port_cfg *cfg,
1919
int err;
2020
struct socket *sock = NULL;
2121

22-
err = sock_create_kern(AF_INET6, SOCK_DGRAM, 0, &sock);
22+
err = sock_create_kern(&init_net, AF_INET6, SOCK_DGRAM, 0, &sock);
2323
if (err < 0)
2424
goto error;
2525

net/l2tp/l2tp_core.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1399,7 +1399,7 @@ static int l2tp_tunnel_sock_create(struct net *net,
13991399
if (cfg->local_ip6 && cfg->peer_ip6) {
14001400
struct sockaddr_l2tpip6 ip6_addr = {0};
14011401

1402-
err = sock_create_kern(AF_INET6, SOCK_DGRAM,
1402+
err = sock_create_kern(&init_net, AF_INET6, SOCK_DGRAM,
14031403
IPPROTO_L2TP, &sock);
14041404
if (err < 0)
14051405
goto out;
@@ -1429,7 +1429,7 @@ static int l2tp_tunnel_sock_create(struct net *net,
14291429
{
14301430
struct sockaddr_l2tpip ip_addr = {0};
14311431

1432-
err = sock_create_kern(AF_INET, SOCK_DGRAM,
1432+
err = sock_create_kern(&init_net, AF_INET, SOCK_DGRAM,
14331433
IPPROTO_L2TP, &sock);
14341434
if (err < 0)
14351435
goto out;

0 commit comments

Comments
 (0)