提交 c4ea37c2 编写于 作者: H Heiko Carstens

[CVE-2009-0029] System call wrappers part 26

Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
上级 d5460c99
...@@ -14,10 +14,8 @@ ...@@ -14,10 +14,8 @@
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include "pci.h" #include "pci.h"
asmlinkage long SYSCALL_DEFINE5(pciconfig_read, unsigned long, bus, unsigned long, dfn,
sys_pciconfig_read(unsigned long bus, unsigned long dfn, unsigned long, off, unsigned long, len, void __user *, buf)
unsigned long off, unsigned long len,
void __user *buf)
{ {
struct pci_dev *dev; struct pci_dev *dev;
u8 byte; u8 byte;
...@@ -86,10 +84,8 @@ sys_pciconfig_read(unsigned long bus, unsigned long dfn, ...@@ -86,10 +84,8 @@ sys_pciconfig_read(unsigned long bus, unsigned long dfn,
return err; return err;
} }
asmlinkage long SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
sys_pciconfig_write(unsigned long bus, unsigned long dfn, unsigned long, off, unsigned long, len, void __user *, buf)
unsigned long off, unsigned long len,
void __user *buf)
{ {
struct pci_dev *dev; struct pci_dev *dev;
u8 byte; u8 byte;
......
...@@ -814,9 +814,9 @@ static inline void pipelined_receive(struct mqueue_inode_info *info) ...@@ -814,9 +814,9 @@ static inline void pipelined_receive(struct mqueue_inode_info *info)
sender->state = STATE_READY; sender->state = STATE_READY;
} }
asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *u_msg_ptr, SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr,
size_t msg_len, unsigned int msg_prio, size_t, msg_len, unsigned int, msg_prio,
const struct timespec __user *u_abs_timeout) const struct timespec __user *, u_abs_timeout)
{ {
struct file *filp; struct file *filp;
struct inode *inode; struct inode *inode;
...@@ -907,9 +907,9 @@ asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *u_msg_ptr, ...@@ -907,9 +907,9 @@ asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *u_msg_ptr,
return ret; return ret;
} }
asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr, SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr,
size_t msg_len, unsigned int __user *u_msg_prio, size_t, msg_len, unsigned int __user *, u_msg_prio,
const struct timespec __user *u_abs_timeout) const struct timespec __user *, u_abs_timeout)
{ {
long timeout; long timeout;
ssize_t ret; ssize_t ret;
...@@ -997,8 +997,8 @@ asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr, ...@@ -997,8 +997,8 @@ asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr,
* and he isn't currently owner of notification, will be silently discarded. * and he isn't currently owner of notification, will be silently discarded.
* It isn't explicitly defined in the POSIX. * It isn't explicitly defined in the POSIX.
*/ */
asmlinkage long sys_mq_notify(mqd_t mqdes, SYSCALL_DEFINE2(mq_notify, mqd_t, mqdes,
const struct sigevent __user *u_notification) const struct sigevent __user *, u_notification)
{ {
int ret; int ret;
struct file *filp; struct file *filp;
...@@ -1123,9 +1123,9 @@ asmlinkage long sys_mq_notify(mqd_t mqdes, ...@@ -1123,9 +1123,9 @@ asmlinkage long sys_mq_notify(mqd_t mqdes,
return ret; return ret;
} }
asmlinkage long sys_mq_getsetattr(mqd_t mqdes, SYSCALL_DEFINE3(mq_getsetattr, mqd_t, mqdes,
const struct mq_attr __user *u_mqstat, const struct mq_attr __user *, u_mqstat,
struct mq_attr __user *u_omqstat) struct mq_attr __user *, u_omqstat)
{ {
int ret; int ret;
struct mq_attr mqstat, omqstat; struct mq_attr mqstat, omqstat;
......
...@@ -1703,8 +1703,8 @@ SYSCALL_DEFINE1(umask, int, mask) ...@@ -1703,8 +1703,8 @@ SYSCALL_DEFINE1(umask, int, mask)
return mask; return mask;
} }
asmlinkage long sys_prctl(int option, unsigned long arg2, unsigned long arg3, SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
unsigned long arg4, unsigned long arg5) unsigned long, arg4, unsigned long, arg5)
{ {
struct task_struct *me = current; struct task_struct *me = current;
unsigned char comm[sizeof(me->comm)]; unsigned char comm[sizeof(me->comm)];
......
...@@ -1377,7 +1377,7 @@ static int setup_swap_extents(struct swap_info_struct *sis, sector_t *span) ...@@ -1377,7 +1377,7 @@ static int setup_swap_extents(struct swap_info_struct *sis, sector_t *span)
return ret; return ret;
} }
asmlinkage long sys_swapoff(const char __user * specialfile) SYSCALL_DEFINE1(swapoff, const char __user *, specialfile)
{ {
struct swap_info_struct * p = NULL; struct swap_info_struct * p = NULL;
unsigned short *swap_map; unsigned short *swap_map;
...@@ -1633,7 +1633,7 @@ late_initcall(max_swapfiles_check); ...@@ -1633,7 +1633,7 @@ late_initcall(max_swapfiles_check);
* *
* The swapon system call * The swapon system call
*/ */
asmlinkage long sys_swapon(const char __user * specialfile, int swap_flags) SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags)
{ {
struct swap_info_struct * p; struct swap_info_struct * p;
char *name = NULL; char *name = NULL;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册