aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2009-01-14 08:14:23 -0500
committerHeiko Carstens <heiko.carstens@de.ibm.com>2009-01-14 08:15:26 -0500
commit20f37034fb966a1c35894f9fe529fda0b6440101 (patch)
tree5394f0a3e4046567fb9b271ee1834aaff09467eb
parent3cdad42884bbd95d5aa01297e8236ea1bad70053 (diff)
[CVE-2009-0029] System call wrappers part 21
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
-rw-r--r--fs/readdir.c6
-rw-r--r--net/socket.c30
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
190asmlinkage long sys_getdents(unsigned int fd, struct linux_dirent __user * dirent, unsigned int count) 190SYSCALL_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
271asmlinkage long sys_getdents64(unsigned int fd, struct linux_dirent64 __user * dirent, unsigned int count) 272SYSCALL_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
1359asmlinkage long sys_bind(int fd, struct sockaddr __user *umyaddr, int addrlen) 1359SYSCALL_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
1421asmlinkage long sys_accept4(int fd, struct sockaddr __user *upeer_sockaddr, 1421SYSCALL_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
1505asmlinkage long sys_accept(int fd, struct sockaddr __user *upeer_sockaddr, 1505SYSCALL_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
1523asmlinkage long sys_connect(int fd, struct sockaddr __user *uservaddr, 1523SYSCALL_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
1555asmlinkage long sys_getsockname(int fd, struct sockaddr __user *usockaddr, 1555SYSCALL_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
1586asmlinkage long sys_getpeername(int fd, struct sockaddr __user *usockaddr, 1586SYSCALL_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
1728asmlinkage long sys_setsockopt(int fd, int level, int optname, 1728SYSCALL_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
1762asmlinkage long sys_getsockopt(int fd, int level, int optname, 1762SYSCALL_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;