1. 06 Dec, 2008 1 commit
    • Lennert Buytenhek's avatar
      [ARM] 5340/1: fix stack placement after noexecstack changes · 794baba6
      Lennert Buytenhek authored
      Commit 8ec53663 ("[ARM] Improve
      non-executable support") added support for detecting non-executable
      stack binaries.  One of the things it does is to make READ_IMPLIES_EXEC
      be set in ->personality if we are running on a CPU that doesn't support
      the XN ("Execute Never") page table bit or if we are running a binary
      that needs an executable stack.
      
      This exposed a latent bug in ARM's asm/processor.h due to which we'll
      end up placing the stack at a very low address, where it will bump into
      the heap on any application that uses significant amount of stack or
      heap or both, causing many interesting crashes.
      
      Fix this by testing the ADDR_LIMIT_32BIT bit in ->personality instead
      of testing for equality against PER_LINUX_32BIT.
      Reviewed-by: default avatarNicolas Pitre <nico@marvell.com>
      Signed-off-by: default avatarLennert Buytenhek <buytenh@marvell.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      794baba6
  2. 04 Dec, 2008 1 commit
    • Nicolas Pitre's avatar
      [ARM] 5339/1: fix __fls() on ARM · 94fc7336
      Nicolas Pitre authored
      Commit 0c65f459 intended to fix truncation issues with fls() on
      ARMv5+ by renaming it to __fls() and wrapping it into a C function.
      However that didn't take into account the fact that __fls() already
      already had different semantics in the kernel.
      
      Let's move the __fls() code into fls() function directly, and redefine
      __fls() with the appropriate semantics.  While at it, bring a generic
      __fls() definition for pre ARMv5 too.
      Signed-off-by: default avatarNicolas Pitre <nico@marvell.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      94fc7336
  3. 02 Dec, 2008 1 commit
  4. 01 Dec, 2008 5 commits
  5. 30 Nov, 2008 32 commits