diff options
Diffstat (limited to 'net/sunrpc/svcsock.c')
-rw-r--r-- | net/sunrpc/svcsock.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c index b6e59f0a9475..d06cb8752dcd 100644 --- a/net/sunrpc/svcsock.c +++ b/net/sunrpc/svcsock.c | |||
@@ -1397,6 +1397,22 @@ static struct svc_sock *svc_setup_socket(struct svc_serv *serv, | |||
1397 | return svsk; | 1397 | return svsk; |
1398 | } | 1398 | } |
1399 | 1399 | ||
1400 | bool svc_alien_sock(struct net *net, int fd) | ||
1401 | { | ||
1402 | int err; | ||
1403 | struct socket *sock = sockfd_lookup(fd, &err); | ||
1404 | bool ret = false; | ||
1405 | |||
1406 | if (!sock) | ||
1407 | goto out; | ||
1408 | if (sock_net(sock->sk) != net) | ||
1409 | ret = true; | ||
1410 | sockfd_put(sock); | ||
1411 | out: | ||
1412 | return ret; | ||
1413 | } | ||
1414 | EXPORT_SYMBOL_GPL(svc_alien_sock); | ||
1415 | |||
1400 | /** | 1416 | /** |
1401 | * svc_addsock - add a listener socket to an RPC service | 1417 | * svc_addsock - add a listener socket to an RPC service |
1402 | * @serv: pointer to RPC service to which to add a new listener | 1418 | * @serv: pointer to RPC service to which to add a new listener |