ipc/compat: convert to COMPAT_SYSCALL_DEFINE
Convert all compat system call functions where all parameter types have a size of four or less than four bytes, or are pointer types to COMPAT_SYSCALL_DEFINE. The implicit casts within COMPAT_SYSCALL_DEFINE will perform proper zero and sign extension to 64 bit of all parameters if needed. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
@@ -46,9 +46,9 @@ static inline int put_compat_mq_attr(const struct mq_attr *attr,
|
||||
| __put_user(attr->mq_curmsgs, &uattr->mq_curmsgs);
|
||||
}
|
||||
|
||||
asmlinkage long compat_sys_mq_open(const char __user *u_name,
|
||||
int oflag, compat_mode_t mode,
|
||||
struct compat_mq_attr __user *u_attr)
|
||||
COMPAT_SYSCALL_DEFINE4(mq_open, const char __user *, u_name,
|
||||
int, oflag, compat_mode_t, mode,
|
||||
struct compat_mq_attr __user *, u_attr)
|
||||
{
|
||||
void __user *p = NULL;
|
||||
if (u_attr && oflag & O_CREAT) {
|
||||
@@ -105,8 +105,8 @@ asmlinkage ssize_t compat_sys_mq_timedreceive(mqd_t mqdes,
|
||||
u_msg_prio, u_ts);
|
||||
}
|
||||
|
||||
asmlinkage long compat_sys_mq_notify(mqd_t mqdes,
|
||||
const struct compat_sigevent __user *u_notification)
|
||||
COMPAT_SYSCALL_DEFINE2(mq_notify, mqd_t, mqdes,
|
||||
const struct compat_sigevent __user *, u_notification)
|
||||
{
|
||||
struct sigevent __user *p = NULL;
|
||||
if (u_notification) {
|
||||
@@ -122,9 +122,9 @@ asmlinkage long compat_sys_mq_notify(mqd_t mqdes,
|
||||
return sys_mq_notify(mqdes, p);
|
||||
}
|
||||
|
||||
asmlinkage long compat_sys_mq_getsetattr(mqd_t mqdes,
|
||||
const struct compat_mq_attr __user *u_mqstat,
|
||||
struct compat_mq_attr __user *u_omqstat)
|
||||
COMPAT_SYSCALL_DEFINE3(mq_getsetattr, mqd_t, mqdes,
|
||||
const struct compat_mq_attr __user *, u_mqstat,
|
||||
struct compat_mq_attr __user *, u_omqstat)
|
||||
{
|
||||
struct mq_attr mqstat;
|
||||
struct mq_attr __user *p = compat_alloc_user_space(2 * sizeof(*p));
|
||||
|
Reference in New Issue
Block a user