[NET]: Add the helper kernel_sock_shutdown()
...and fix a couple of bugs in the NBD, CIFS and OCFS2 socket handlers. Looking at the sock->op->shutdown() handlers, it looks as if all of them take a SHUT_RD/SHUT_WR/SHUT_RDWR argument instead of the RCV_SHUTDOWN/SEND_SHUTDOWN arguments. Add a helper, and then define the SHUT_* enum to ensure that kernel users of shutdown() don't get confused. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Acked-by: Mark Fasheh <mark.fasheh@oracle.com> Acked-by: David Howells <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
62768e28d6
commit
91cf45f02a
@@ -2319,6 +2319,11 @@ int kernel_sock_ioctl(struct socket *sock, int cmd, unsigned long arg)
|
||||
return err;
|
||||
}
|
||||
|
||||
int kernel_sock_shutdown(struct socket *sock, enum sock_shutdown_cmd how)
|
||||
{
|
||||
return sock->ops->shutdown(sock, how);
|
||||
}
|
||||
|
||||
/* ABI emulation layers need these two */
|
||||
EXPORT_SYMBOL(move_addr_to_kernel);
|
||||
EXPORT_SYMBOL(move_addr_to_user);
|
||||
@@ -2345,3 +2350,4 @@ EXPORT_SYMBOL(kernel_getsockopt);
|
||||
EXPORT_SYMBOL(kernel_setsockopt);
|
||||
EXPORT_SYMBOL(kernel_sendpage);
|
||||
EXPORT_SYMBOL(kernel_sock_ioctl);
|
||||
EXPORT_SYMBOL(kernel_sock_shutdown);
|
||||
|
Reference in New Issue
Block a user