net: remove kernel_setsockopt
No users left. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c0425a4249
commit
5a892ff2fa
|
@ -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_setsockopt(struct socket *sock, int level, int optname, char *optval,
|
|
||||||
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,
|
||||||
size_t size, int flags);
|
size_t size, int flags);
|
||||||
int kernel_sendpage_locked(struct sock *sk, struct page *page, int offset,
|
int kernel_sendpage_locked(struct sock *sk, struct page *page, int offset,
|
||||||
|
|
31
net/socket.c
31
net/socket.c
|
@ -3624,37 +3624,6 @@ int kernel_getpeername(struct socket *sock, struct sockaddr *addr)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(kernel_getpeername);
|
EXPORT_SYMBOL(kernel_getpeername);
|
||||||
|
|
||||||
/**
|
|
||||||
* kernel_setsockopt - set a socket option (kernel space)
|
|
||||||
* @sock: socket
|
|
||||||
* @level: API level (SOL_SOCKET, ...)
|
|
||||||
* @optname: option tag
|
|
||||||
* @optval: option value
|
|
||||||
* @optlen: option length
|
|
||||||
*
|
|
||||||
* Returns 0 or an error.
|
|
||||||
*/
|
|
||||||
|
|
||||||
int kernel_setsockopt(struct socket *sock, int level, int optname,
|
|
||||||
char *optval, unsigned int optlen)
|
|
||||||
{
|
|
||||||
mm_segment_t oldfs = get_fs();
|
|
||||||
char __user *uoptval;
|
|
||||||
int err;
|
|
||||||
|
|
||||||
uoptval = (char __user __force *) optval;
|
|
||||||
|
|
||||||
set_fs(KERNEL_DS);
|
|
||||||
if (level == SOL_SOCKET)
|
|
||||||
err = sock_setsockopt(sock, level, optname, uoptval, optlen);
|
|
||||||
else
|
|
||||||
err = sock->ops->setsockopt(sock, level, optname, uoptval,
|
|
||||||
optlen);
|
|
||||||
set_fs(oldfs);
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(kernel_setsockopt);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* kernel_sendpage - send a &page through a socket (kernel space)
|
* kernel_sendpage - send a &page through a socket (kernel space)
|
||||||
* @sock: socket
|
* @sock: socket
|
||||||
|
|
Loading…
Reference in New Issue