linux/arch/c6x/kernel
Linus Torvalds 72c33734b5 Merge branch 'regset' (PTRACE_SETREGSET data leakage)
Merge PTRACE_SETREGSET leakage fixes from Dave Martin:
 "This series is the collection of fixes I proposed on this topic, that
  have not yet appeared upstream or in the stable branches,

  The issue can leak kernel stack, but doesn't appear to allow userspace
  to attack the kernel directly.  The affected architectures are c6x,
  h8300, metag, mips and sparc.

  [ Mark Salter points out that c6x has no MMU or other mechanism to
    prevent userspace access to kernel code or data on c6x, but it
    doesn't hurt to clean that case up too. ]

  The bugs arise from use of user_regset_copyin(). Users of
  user_regset_copyin() can work in one of two ways:

   1) Copy directly to thread_struct or equivalent. (This seems to be
      the design assumption of the regset API, and is the most common
      approach.)

   2) Copy to a local variable and then transfer to thread_struct. (A
      significant minority of cases.)

  Buggy code typically involves approach 2"

* emailed patches from Dave Martin <Dave.Martin@arm.com>:
  sparc/ptrace: Preserve previous registers for short regset write
  mips/ptrace: Preserve previous registers for short regset write
  metag/ptrace: Reject partial NT_METAG_RPIPE writes
  metag/ptrace: Provide default TXSTATUS for short NT_PRSTATUS
  metag/ptrace: Preserve previous registers for short regset write
  h8300/ptrace: Fix incorrect register transfer count
  c6x/ptrace: Remove useless PTRACE_SETREGSET implementation
2017-03-29 08:55:25 -07:00
..
asm-offsets.c sanitize tsk_is_polling() 2012-10-01 09:58:13 -04:00
c6x_ksyms.c C6X: loadable module support 2011-10-06 19:48:13 -04:00
devicetree.c of: remove early_init_dt_setup_initrd_arch 2013-10-09 11:39:01 -05:00
dma.c treewide: Constify most dma_map_ops structures 2017-01-24 12:23:35 -05:00
entry.S c6x: switch to generic sigaltstack 2013-02-03 18:15:52 -05:00
head.S
irq.c C6X: remove dependence on legacy IRQs 2012-07-18 23:49:40 -04:00
Makefile
module.c C6X: loadable module support 2011-10-06 19:48:13 -04:00
process.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
ptrace.c Merge branch 'regset' (PTRACE_SETREGSET data leakage) 2017-03-29 08:55:25 -07:00
setup.c locking/lockdep: Eliminate lockdep_init() 2016-02-09 12:03:25 +01:00
signal.c all arches, signal: move restart_block to struct task_struct 2015-02-12 18:54:12 -08:00
soc.c arch: Use eth_random_addr 2012-07-16 22:39:25 -07:00
switch_to.S C6X: process management 2011-10-06 19:47:40 -04:00
sys_c6x.c C6X: syscalls 2011-10-06 19:47:58 -04:00
time.c clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
traps.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/debug.h> 2017-03-02 08:42:34 +01:00
vectors.S
vmlinux.lds.S nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00