diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:14:23 -0500 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:15:26 -0500 |
commit | 20f37034fb966a1c35894f9fe529fda0b6440101 (patch) | |
tree | 5394f0a3e4046567fb9b271ee1834aaff09467eb | |
parent | 3cdad42884bbd95d5aa01297e8236ea1bad70053 (diff) |
[CVE-2009-0029] System call wrappers part 21
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
-rw-r--r-- | fs/readdir.c | 6 | ||||
-rw-r--r-- | net/socket.c | 30 |
2 files changed, 19 insertions, 17 deletions
diff --git a/fs/readdir.c b/fs/readdir.c index 8b4c2a0051a6..cf6a0e39819a 100644 --- a/fs/readdir.c +++ b/fs/readdir.c | |||
@@ -187,7 +187,8 @@ efault: | |||
187 | return -EFAULT; | 187 | return -EFAULT; |
188 | } | 188 | } |
189 | 189 | ||
190 | asmlinkage long sys_getdents(unsigned int fd, struct linux_dirent __user * dirent, unsigned int count) | 190 | SYSCALL_DEFINE3(getdents, unsigned int, fd, |
191 | struct linux_dirent __user *, dirent, unsigned int, count) | ||
191 | { | 192 | { |
192 | struct file * file; | 193 | struct file * file; |
193 | struct linux_dirent __user * lastdirent; | 194 | struct linux_dirent __user * lastdirent; |
@@ -268,7 +269,8 @@ efault: | |||
268 | return -EFAULT; | 269 | return -EFAULT; |
269 | } | 270 | } |
270 | 271 | ||
271 | asmlinkage long sys_getdents64(unsigned int fd, struct linux_dirent64 __user * dirent, unsigned int count) | 272 | SYSCALL_DEFINE3(getdents64, unsigned int, fd, |
273 | struct linux_dirent64 __user *, dirent, unsigned int, count) | ||
272 | { | 274 | { |
273 | struct file * file; | 275 | struct file * file; |
274 | struct linux_dirent64 __user * lastdirent; | 276 | struct linux_dirent64 __user * lastdirent; |
diff --git a/net/socket.c b/net/socket.c index cc9b666e58f6..fdd72c586a1a 100644 --- a/net/socket.c +++ b/net/socket.c | |||
@@ -1356,7 +1356,7 @@ out_fd1: | |||
1356 | * the protocol layer (having also checked the address is ok). | 1356 | * the protocol layer (having also checked the address is ok). |
1357 | */ | 1357 | */ |
1358 | 1358 | ||
1359 | asmlinkage long sys_bind(int fd, struct sockaddr __user *umyaddr, int addrlen) | 1359 | SYSCALL_DEFINE3(bind, int, fd, struct sockaddr __user *, umyaddr, int, addrlen) |
1360 | { | 1360 | { |
1361 | struct socket *sock; | 1361 | struct socket *sock; |
1362 | struct sockaddr_storage address; | 1362 | struct sockaddr_storage address; |
@@ -1418,8 +1418,8 @@ asmlinkage long sys_listen(int fd, int backlog) | |||
1418 | * clean when we restucture accept also. | 1418 | * clean when we restucture accept also. |
1419 | */ | 1419 | */ |
1420 | 1420 | ||
1421 | asmlinkage long sys_accept4(int fd, struct sockaddr __user *upeer_sockaddr, | 1421 | SYSCALL_DEFINE4(accept4, int, fd, struct sockaddr __user *, upeer_sockaddr, |
1422 | int __user *upeer_addrlen, int flags) | 1422 | int __user *, upeer_addrlen, int, flags) |
1423 | { | 1423 | { |
1424 | struct socket *sock, *newsock; | 1424 | struct socket *sock, *newsock; |
1425 | struct file *newfile; | 1425 | struct file *newfile; |
@@ -1502,8 +1502,8 @@ out_fd: | |||
1502 | goto out_put; | 1502 | goto out_put; |
1503 | } | 1503 | } |
1504 | 1504 | ||
1505 | asmlinkage long sys_accept(int fd, struct sockaddr __user *upeer_sockaddr, | 1505 | SYSCALL_DEFINE3(accept, int, fd, struct sockaddr __user *, upeer_sockaddr, |
1506 | int __user *upeer_addrlen) | 1506 | int __user *, upeer_addrlen) |
1507 | { | 1507 | { |
1508 | return sys_accept4(fd, upeer_sockaddr, upeer_addrlen, 0); | 1508 | return sys_accept4(fd, upeer_sockaddr, upeer_addrlen, 0); |
1509 | } | 1509 | } |
@@ -1520,8 +1520,8 @@ asmlinkage long sys_accept(int fd, struct sockaddr __user *upeer_sockaddr, | |||
1520 | * include the -EINPROGRESS status for such sockets. | 1520 | * include the -EINPROGRESS status for such sockets. |
1521 | */ | 1521 | */ |
1522 | 1522 | ||
1523 | asmlinkage long sys_connect(int fd, struct sockaddr __user *uservaddr, | 1523 | SYSCALL_DEFINE3(connect, int, fd, struct sockaddr __user *, uservaddr, |
1524 | int addrlen) | 1524 | int, addrlen) |
1525 | { | 1525 | { |
1526 | struct socket *sock; | 1526 | struct socket *sock; |
1527 | struct sockaddr_storage address; | 1527 | struct sockaddr_storage address; |
@@ -1552,8 +1552,8 @@ out: | |||
1552 | * name to user space. | 1552 | * name to user space. |
1553 | */ | 1553 | */ |
1554 | 1554 | ||
1555 | asmlinkage long sys_getsockname(int fd, struct sockaddr __user *usockaddr, | 1555 | SYSCALL_DEFINE3(getsockname, int, fd, struct sockaddr __user *, usockaddr, |
1556 | int __user *usockaddr_len) | 1556 | int __user *, usockaddr_len) |
1557 | { | 1557 | { |
1558 | struct socket *sock; | 1558 | struct socket *sock; |
1559 | struct sockaddr_storage address; | 1559 | struct sockaddr_storage address; |
@@ -1583,8 +1583,8 @@ out: | |||
1583 | * name to user space. | 1583 | * name to user space. |
1584 | */ | 1584 | */ |
1585 | 1585 | ||
1586 | asmlinkage long sys_getpeername(int fd, struct sockaddr __user *usockaddr, | 1586 | SYSCALL_DEFINE3(getpeername, int, fd, struct sockaddr __user *, usockaddr, |
1587 | int __user *usockaddr_len) | 1587 | int __user *, usockaddr_len) |
1588 | { | 1588 | { |
1589 | struct socket *sock; | 1589 | struct socket *sock; |
1590 | struct sockaddr_storage address; | 1590 | struct sockaddr_storage address; |
@@ -1725,8 +1725,8 @@ asmlinkage long sys_recv(int fd, void __user *ubuf, size_t size, | |||
1725 | * to pass the user mode parameter for the protocols to sort out. | 1725 | * to pass the user mode parameter for the protocols to sort out. |
1726 | */ | 1726 | */ |
1727 | 1727 | ||
1728 | asmlinkage long sys_setsockopt(int fd, int level, int optname, | 1728 | SYSCALL_DEFINE5(setsockopt, int, fd, int, level, int, optname, |
1729 | char __user *optval, int optlen) | 1729 | char __user *, optval, int, optlen) |
1730 | { | 1730 | { |
1731 | int err, fput_needed; | 1731 | int err, fput_needed; |
1732 | struct socket *sock; | 1732 | struct socket *sock; |
@@ -1759,8 +1759,8 @@ out_put: | |||
1759 | * to pass a user mode parameter for the protocols to sort out. | 1759 | * to pass a user mode parameter for the protocols to sort out. |
1760 | */ | 1760 | */ |
1761 | 1761 | ||
1762 | asmlinkage long sys_getsockopt(int fd, int level, int optname, | 1762 | SYSCALL_DEFINE5(getsockopt, int, fd, int, level, int, optname, |
1763 | char __user *optval, int __user *optlen) | 1763 | char __user *, optval, int __user *, optlen) |
1764 | { | 1764 | { |
1765 | int err, fput_needed; | 1765 | int err, fput_needed; |
1766 | struct socket *sock; | 1766 | struct socket *sock; |