[CVE-2009-0029] System call wrappers part 21
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
parent
3cdad42884
commit
20f37034fb
@ -187,7 +187,8 @@ static int filldir(void * __buf, const char * name, int namlen, loff_t offset,
|
|||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage long sys_getdents(unsigned int fd, struct linux_dirent __user * dirent, unsigned int count)
|
SYSCALL_DEFINE3(getdents, unsigned int, fd,
|
||||||
|
struct linux_dirent __user *, dirent, unsigned int, count)
|
||||||
{
|
{
|
||||||
struct file * file;
|
struct file * file;
|
||||||
struct linux_dirent __user * lastdirent;
|
struct linux_dirent __user * lastdirent;
|
||||||
@ -268,7 +269,8 @@ static int filldir64(void * __buf, const char * name, int namlen, loff_t offset,
|
|||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage long sys_getdents64(unsigned int fd, struct linux_dirent64 __user * dirent, unsigned int count)
|
SYSCALL_DEFINE3(getdents64, unsigned int, fd,
|
||||||
|
struct linux_dirent64 __user *, dirent, unsigned int, count)
|
||||||
{
|
{
|
||||||
struct file * file;
|
struct file * file;
|
||||||
struct linux_dirent64 __user * lastdirent;
|
struct linux_dirent64 __user * lastdirent;
|
||||||
|
30
net/socket.c
30
net/socket.c
@ -1356,7 +1356,7 @@ asmlinkage long sys_socketpair(int family, int type, int protocol,
|
|||||||
* the protocol layer (having also checked the address is ok).
|
* the protocol layer (having also checked the address is ok).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
asmlinkage long sys_bind(int fd, struct sockaddr __user *umyaddr, int addrlen)
|
SYSCALL_DEFINE3(bind, int, fd, struct sockaddr __user *, umyaddr, int, addrlen)
|
||||||
{
|
{
|
||||||
struct socket *sock;
|
struct socket *sock;
|
||||||
struct sockaddr_storage address;
|
struct sockaddr_storage address;
|
||||||
@ -1418,8 +1418,8 @@ asmlinkage long sys_listen(int fd, int backlog)
|
|||||||
* clean when we restucture accept also.
|
* clean when we restucture accept also.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
asmlinkage long sys_accept4(int fd, struct sockaddr __user *upeer_sockaddr,
|
SYSCALL_DEFINE4(accept4, int, fd, struct sockaddr __user *, upeer_sockaddr,
|
||||||
int __user *upeer_addrlen, int flags)
|
int __user *, upeer_addrlen, int, flags)
|
||||||
{
|
{
|
||||||
struct socket *sock, *newsock;
|
struct socket *sock, *newsock;
|
||||||
struct file *newfile;
|
struct file *newfile;
|
||||||
@ -1502,8 +1502,8 @@ asmlinkage long sys_accept4(int fd, struct sockaddr __user *upeer_sockaddr,
|
|||||||
goto out_put;
|
goto out_put;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage long sys_accept(int fd, struct sockaddr __user *upeer_sockaddr,
|
SYSCALL_DEFINE3(accept, int, fd, struct sockaddr __user *, upeer_sockaddr,
|
||||||
int __user *upeer_addrlen)
|
int __user *, upeer_addrlen)
|
||||||
{
|
{
|
||||||
return sys_accept4(fd, upeer_sockaddr, upeer_addrlen, 0);
|
return sys_accept4(fd, upeer_sockaddr, upeer_addrlen, 0);
|
||||||
}
|
}
|
||||||
@ -1520,8 +1520,8 @@ asmlinkage long sys_accept(int fd, struct sockaddr __user *upeer_sockaddr,
|
|||||||
* include the -EINPROGRESS status for such sockets.
|
* include the -EINPROGRESS status for such sockets.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
asmlinkage long sys_connect(int fd, struct sockaddr __user *uservaddr,
|
SYSCALL_DEFINE3(connect, int, fd, struct sockaddr __user *, uservaddr,
|
||||||
int addrlen)
|
int, addrlen)
|
||||||
{
|
{
|
||||||
struct socket *sock;
|
struct socket *sock;
|
||||||
struct sockaddr_storage address;
|
struct sockaddr_storage address;
|
||||||
@ -1552,8 +1552,8 @@ asmlinkage long sys_connect(int fd, struct sockaddr __user *uservaddr,
|
|||||||
* name to user space.
|
* name to user space.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
asmlinkage long sys_getsockname(int fd, struct sockaddr __user *usockaddr,
|
SYSCALL_DEFINE3(getsockname, int, fd, struct sockaddr __user *, usockaddr,
|
||||||
int __user *usockaddr_len)
|
int __user *, usockaddr_len)
|
||||||
{
|
{
|
||||||
struct socket *sock;
|
struct socket *sock;
|
||||||
struct sockaddr_storage address;
|
struct sockaddr_storage address;
|
||||||
@ -1583,8 +1583,8 @@ asmlinkage long sys_getsockname(int fd, struct sockaddr __user *usockaddr,
|
|||||||
* name to user space.
|
* name to user space.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
asmlinkage long sys_getpeername(int fd, struct sockaddr __user *usockaddr,
|
SYSCALL_DEFINE3(getpeername, int, fd, struct sockaddr __user *, usockaddr,
|
||||||
int __user *usockaddr_len)
|
int __user *, usockaddr_len)
|
||||||
{
|
{
|
||||||
struct socket *sock;
|
struct socket *sock;
|
||||||
struct sockaddr_storage address;
|
struct sockaddr_storage address;
|
||||||
@ -1725,8 +1725,8 @@ asmlinkage long sys_recv(int fd, void __user *ubuf, size_t size,
|
|||||||
* to pass the user mode parameter for the protocols to sort out.
|
* to pass the user mode parameter for the protocols to sort out.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
asmlinkage long sys_setsockopt(int fd, int level, int optname,
|
SYSCALL_DEFINE5(setsockopt, int, fd, int, level, int, optname,
|
||||||
char __user *optval, int optlen)
|
char __user *, optval, int, optlen)
|
||||||
{
|
{
|
||||||
int err, fput_needed;
|
int err, fput_needed;
|
||||||
struct socket *sock;
|
struct socket *sock;
|
||||||
@ -1759,8 +1759,8 @@ asmlinkage long sys_setsockopt(int fd, int level, int optname,
|
|||||||
* to pass a user mode parameter for the protocols to sort out.
|
* to pass a user mode parameter for the protocols to sort out.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
asmlinkage long sys_getsockopt(int fd, int level, int optname,
|
SYSCALL_DEFINE5(getsockopt, int, fd, int, level, int, optname,
|
||||||
char __user *optval, int __user *optlen)
|
char __user *, optval, int __user *, optlen)
|
||||||
{
|
{
|
||||||
int err, fput_needed;
|
int err, fput_needed;
|
||||||
struct socket *sock;
|
struct socket *sock;
|
||||||
|
Loading…
Reference in New Issue
Block a user