mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
net: remove kernel_getsockopt
No users left. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
0774dc7643
commit
7a15b2e013
@@ -303,8 +303,6 @@ int kernel_connect(struct socket *sock, struct sockaddr *addr, int addrlen,
|
|||||||
int flags);
|
int flags);
|
||||||
int kernel_getsockname(struct socket *sock, struct sockaddr *addr);
|
int kernel_getsockname(struct socket *sock, struct sockaddr *addr);
|
||||||
int kernel_getpeername(struct socket *sock, struct sockaddr *addr);
|
int kernel_getpeername(struct socket *sock, struct sockaddr *addr);
|
||||||
int kernel_getsockopt(struct socket *sock, int level, int optname, char *optval,
|
|
||||||
int *optlen);
|
|
||||||
int kernel_setsockopt(struct socket *sock, int level, int optname, char *optval,
|
int kernel_setsockopt(struct socket *sock, int level, int optname, char *optval,
|
||||||
unsigned int optlen);
|
unsigned int optlen);
|
||||||
int kernel_sendpage(struct socket *sock, struct page *page, int offset,
|
int kernel_sendpage(struct socket *sock, struct page *page, int offset,
|
||||||
|
34
net/socket.c
34
net/socket.c
@@ -3624,40 +3624,6 @@ int kernel_getpeername(struct socket *sock, struct sockaddr *addr)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(kernel_getpeername);
|
EXPORT_SYMBOL(kernel_getpeername);
|
||||||
|
|
||||||
/**
|
|
||||||
* kernel_getsockopt - get a socket option (kernel space)
|
|
||||||
* @sock: socket
|
|
||||||
* @level: API level (SOL_SOCKET, ...)
|
|
||||||
* @optname: option tag
|
|
||||||
* @optval: option value
|
|
||||||
* @optlen: option length
|
|
||||||
*
|
|
||||||
* Assigns the option length to @optlen.
|
|
||||||
* Returns 0 or an error.
|
|
||||||
*/
|
|
||||||
|
|
||||||
int kernel_getsockopt(struct socket *sock, int level, int optname,
|
|
||||||
char *optval, int *optlen)
|
|
||||||
{
|
|
||||||
mm_segment_t oldfs = get_fs();
|
|
||||||
char __user *uoptval;
|
|
||||||
int __user *uoptlen;
|
|
||||||
int err;
|
|
||||||
|
|
||||||
uoptval = (char __user __force *) optval;
|
|
||||||
uoptlen = (int __user __force *) optlen;
|
|
||||||
|
|
||||||
set_fs(KERNEL_DS);
|
|
||||||
if (level == SOL_SOCKET)
|
|
||||||
err = sock_getsockopt(sock, level, optname, uoptval, uoptlen);
|
|
||||||
else
|
|
||||||
err = sock->ops->getsockopt(sock, level, optname, uoptval,
|
|
||||||
uoptlen);
|
|
||||||
set_fs(oldfs);
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(kernel_getsockopt);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* kernel_setsockopt - set a socket option (kernel space)
|
* kernel_setsockopt - set a socket option (kernel space)
|
||||||
* @sock: socket
|
* @sock: socket
|
||||||
|
Reference in New Issue
Block a user