1. 13 4月, 2015 1 次提交
  2. 13 2月, 2015 1 次提交
    • A
      all arches, signal: move restart_block to struct task_struct · f56141e3
      Andy Lutomirski 提交于
      If an attacker can cause a controlled kernel stack overflow, overwriting
      the restart block is a very juicy exploit target.  This is because the
      restart_block is held in the same memory allocation as the kernel stack.
      
      Moving the restart block to struct task_struct prevents this exploit by
      making the restart_block harder to locate.
      
      Note that there are other fields in thread_info that are also easy
      targets, at least on some architectures.
      
      It's also a decent simplification, since the restart code is more or less
      identical on all architectures.
      
      [james.hogan@imgtec.com: metag: align thread_info::supervisor_stack]
      Signed-off-by: NAndy Lutomirski <luto@amacapital.net>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: David Miller <davem@davemloft.net>
      Acked-by: NRichard Weinberger <richard@nod.at>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
      Cc: Steven Miao <realmz6@gmail.com>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Aurelien Jacquiot <a-jacquiot@ti.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
      Tested-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Chen Liqin <liqin.linux@gmail.com>
      Cc: Lennox Wu <lennox.wu@gmail.com>
      Cc: Chris Metcalf <cmetcalf@ezchip.com>
      Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f56141e3
  3. 06 8月, 2014 1 次提交
  4. 09 1月, 2014 2 次提交
  5. 04 2月, 2013 1 次提交
  6. 29 11月, 2012 1 次提交
  7. 02 6月, 2012 6 次提交
  8. 24 5月, 2012 1 次提交
  9. 06 3月, 2012 1 次提交
    • J
      openrisc: sanitize use of orig_gpr11 · 6cbe5e95
      Jonas Bonn 提交于
      The pt_regs struct had both a 'syscallno' field and an 'orig_gpr11' field
      and it wasn't really clear how these were supposed to be used.  This patch
      removes the syscallno field altogether and makes orig_gpr11 work more
      like other architectures: keep track of syscall number in progress or
      hold -1 for non-syscall exceptions.
      Signed-off-by: NJonas Bonn <jonas@southpole.se>
      6cbe5e95
  10. 17 2月, 2012 4 次提交
  11. 05 9月, 2011 1 次提交
    • J
      openrisc: don't use pt_regs in struct sigcontext · d7cb6667
      Jonas Bonn 提交于
      As it was decided not to export struct pt_regs to userspace, struct
      sigcontext shouldn't be using it either.  The pt_regs struct for OpenRISC
      is kernel internal and the layout of the registers may change in the
      future.  The struct user_regs_struct is what is guaranteed to remain
      stable, so struct sigcontext may use that instead.
      
      This patch removes the usage of struct pt_regs in struct sigcontext and
      makes according changes in signal.c to get the register layout right.
      
      The usp field is removed from the sigcontext structure as this information
      is already contained in the user_regs_struct.
      Signed-off-by: NJonas Bonn <jonas@southpole.se>
      Reviewed-by: NEmilio Cota <cota@braap.org>
      d7cb6667
  12. 23 7月, 2011 1 次提交