Merge branch 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull compat time conversion changes from Peter Anvin: "Despite the branch name this is really neither an x86 nor an x32-specific patchset, although it the implementation of the discussions that followed the x32 security hole a few months ago. This removes get/put_compat_timespec/val() and replaces them with compat_get/put_timespec/val() which are savvy as to the current status of COMPAT_USE_64BIT_TIME. It removes several unused and/or incorrect/misleading functions (like compat_put_timeval_convert which doesn't in fact do any conversion) and also replaces several open-coded implementations what is now called compat_convert_timespec() with that function" * 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: compat: Fix sparse address space warnings compat: Get rid of (get|put)_compat_time(val|spec)
This commit is contained in:
12
ipc/compat.c
12
ipc/compat.c
@@ -753,14 +753,8 @@ COMPAT_SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsems,
|
||||
unsigned, nsops,
|
||||
const struct compat_timespec __user *, timeout)
|
||||
{
|
||||
struct timespec __user *ts64 = NULL;
|
||||
if (timeout) {
|
||||
struct timespec ts;
|
||||
ts64 = compat_alloc_user_space(sizeof(*ts64));
|
||||
if (get_compat_timespec(&ts, timeout))
|
||||
return -EFAULT;
|
||||
if (copy_to_user(ts64, &ts, sizeof(ts)))
|
||||
return -EFAULT;
|
||||
}
|
||||
struct timespec __user *ts64;
|
||||
if (compat_convert_timespec(&ts64, timeout))
|
||||
return -EFAULT;
|
||||
return sys_semtimedop(semid, tsems, nsops, ts64);
|
||||
}
|
||||
|
Reference in New Issue
Block a user