Merge branch 'akpm-incoming-2'
* akpm-incoming-2: (139 commits) epoll: make epoll_wait() use the hrtimer range feature select: rename estimate_accuracy() to select_estimate_accuracy() Remove duplicate includes from many files ramoops: use the platform data structure instead of module params kernel/resource.c: handle reinsertion of an already-inserted resource kfifo: fix kfifo_alloc() to return a signed int value w1: don't allow arbitrary users to remove w1 devices alpha: remove dma64_addr_t usage mips: remove dma64_addr_t usage sparc: remove dma64_addr_t usage fuse: use release_pages() taskstats: use real microsecond granularity for CPU times taskstats: split fill_pid function taskstats: separate taskstats commands delayacct: align to 8 byte boundary on 64-bit systems delay-accounting: reimplement -c for getdelays.c to report information on a target command namespaces Kconfig: move namespace menu location after the cgroup namespaces Kconfig: remove the cgroup device whitelist experimental tag namespaces Kconfig: remove pointless cgroup dependency namespaces Kconfig: make namespace a submenu ...
This commit is contained in:
@@ -801,7 +801,8 @@ void ptrace_disable(struct task_struct *child)
|
||||
static const struct user_regset_view user_x86_32_view; /* Initialized below. */
|
||||
#endif
|
||||
|
||||
long arch_ptrace(struct task_struct *child, long request, long addr, long data)
|
||||
long arch_ptrace(struct task_struct *child, long request,
|
||||
unsigned long addr, unsigned long data)
|
||||
{
|
||||
int ret;
|
||||
unsigned long __user *datap = (unsigned long __user *)data;
|
||||
@@ -812,8 +813,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
|
||||
unsigned long tmp;
|
||||
|
||||
ret = -EIO;
|
||||
if ((addr & (sizeof(data) - 1)) || addr < 0 ||
|
||||
addr >= sizeof(struct user))
|
||||
if ((addr & (sizeof(data) - 1)) || addr >= sizeof(struct user))
|
||||
break;
|
||||
|
||||
tmp = 0; /* Default return condition */
|
||||
@@ -830,8 +830,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
|
||||
|
||||
case PTRACE_POKEUSR: /* write the word at location addr in the USER area */
|
||||
ret = -EIO;
|
||||
if ((addr & (sizeof(data) - 1)) || addr < 0 ||
|
||||
addr >= sizeof(struct user))
|
||||
if ((addr & (sizeof(data) - 1)) || addr >= sizeof(struct user))
|
||||
break;
|
||||
|
||||
if (addr < sizeof(struct user_regs_struct))
|
||||
@@ -888,17 +887,17 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
|
||||
|
||||
#if defined CONFIG_X86_32 || defined CONFIG_IA32_EMULATION
|
||||
case PTRACE_GET_THREAD_AREA:
|
||||
if (addr < 0)
|
||||
if ((int) addr < 0)
|
||||
return -EIO;
|
||||
ret = do_get_thread_area(child, addr,
|
||||
(struct user_desc __user *) data);
|
||||
(struct user_desc __user *)data);
|
||||
break;
|
||||
|
||||
case PTRACE_SET_THREAD_AREA:
|
||||
if (addr < 0)
|
||||
if ((int) addr < 0)
|
||||
return -EIO;
|
||||
ret = do_set_thread_area(child, addr,
|
||||
(struct user_desc __user *) data, 0);
|
||||
(struct user_desc __user *)data, 0);
|
||||
break;
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user