1. 08 Sep, 2006 2 commits
    • Thomas Gleixner's avatar
      [PATCH] Use the correct restart option for futex_lock_pi · c5780e97
      Thomas Gleixner authored
      The current implementation of futex_lock_pi returns -ERESTART_RESTARTBLOCK
      in case that the lock operation has been interrupted by a signal.  This
      results in a return of -EINTR to userspace in case there is an handler for
      the signal.  This is wrong, because userspace expects that the lock
      function does not return in any case of signal delivery.
      
      This was not caught by my insufficient test case, but triggered a nasty
      userspace problem in an high load application scenario.  Unfortunately also
      glibc does not check for this invalid return value.
      
      Using -ERSTARTNOINTR makes sure, that the interrupted syscall is restarted.
       The restart block related code can be safely removed, as the possible
      timeout argument is an absolute time value.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      c5780e97
    • Kirill Korotaev's avatar
      [PATCH] IA64,sparc: local DoS with corrupted ELFs · 3a459756
      Kirill Korotaev authored
      This prevents cross-region mappings on IA64 and SPARC which could lead
      to system crash.  They were correctly trapped for normal mmap() calls,
      but not for the kernel internal calls generated by executable loading.
      
      This code just moves the architecture-specific cross-region checks into
      an arch-specific "arch_mmap_check()" macro, and defines that for the
      architectures that needed it (ia64, sparc and sparc64).
      
      Architectures that don't have any special requirements can just ignore
      the new cross-region check, since the mmap() code will just notice on
      its own when the macro isn't defined.
      Signed-off-by: default avatarPavel Emelianov <xemul@openvz.org>
      Signed-off-by: default avatarKirill Korotaev <dev@openvz.org>
      Acked-by: default avatarDavid Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      [ Cleaned up to not affect architectures that don't need it ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3a459756
  2. 06 Sep, 2006 11 commits
  3. 04 Sep, 2006 2 commits
  4. 02 Sep, 2006 4 commits
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-serial · 3fbcd940
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-serial:
        [SERIAL] 8250: constify some serial structs
        [SERIAL] Make uart_match_port() work with all memory mapped UARTs
      3fbcd940
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · e6944202
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] 3762/1: Fix ptrace cache coherency bug for ARM1136 VIPT nonaliasing Harvard caches
        [ARM] 3765/1: S3C24XX: cleanup include/asm-arm/arch-s3c2410/dma.h
        [ARM] 3764/1: S3C24XX: change type naming to kernel style
        [ARM] 3763/1: add both rtcs to csb337 defconfig
        [ARM] Fix ARM __raw_read_trylock() implementation
        [ARM] 3750/3: Fix double VFP emulation for EABI kernels
      e6944202
    • Oleg Nesterov's avatar
      [PATCH] eligible_child: remove an obsolete ->tgid check · 3b6362b8
      Oleg Nesterov authored
      It is not possible to find a sub-thread in ->children/->ptrace_children
      lists, ptrace_attach() does not allow to attach to sub-threads.
      
      Even if it was possible to ptrace the task from the same thread group,
      we can't allow to release ->group_leader while there are others (ptracer)
      threads in the same group.
      Signed-off-by: default avatarOleg Nesterov <oleg@tv-sign.ru>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3b6362b8
    • George G. Davis's avatar
      [ARM] 3762/1: Fix ptrace cache coherency bug for ARM1136 VIPT nonaliasing Harvard caches · a188ad2b
      George G. Davis authored
      Patch from George G. Davis
      
      Resolve ARM1136 VIPT non-aliasing cache coherency issues observed when
      using ptrace to set breakpoints and cleanup copy_{to,from}_user_page()
      while we're here as requested by Russell King because "it's also far
      too heavy on non-v6 CPUs".
      
      NOTES:
      
      1. Only access_process_vm() calls copy_{to,from}_user_page().
      2. access_process_vm() calls get_user_pages() to pin down the "page".
      3. get_user_pages() calls flush_dcache_page(page) which ensures cache
         coherency between kernel and userspace mappings of "page".  However
         flush_dcache_page(page) may not invalidate I-Cache over this range
         for all cases, specifically, I-Cache is not invalidated for the VIPT
         non-aliasing case.  So memory is consistent between kernel and user
         space mappings of "page" but I-Cache may still be hot over this
         range.  IOW, we don't have to worry about flush_cache_page() before
         memcpy().
      4. Now, for the copy_to_user_page() case, after memcpy(), we must flush
         the caches so memory is consistent with kernel cache entries and
         invalidate the I-Cache if this mm region is executable.  We don't
         need to do anything after memcpy() for the copy_from_user_page()
         case since kernel cache entries will be invalidated via the same
         process above if we access "page" again.  The flush_ptrace_access()
         function (borrowed from SPARC64 implementation) is added to handle
         cache flushing after memcpy() for the copy_to_user_page() case.
      Signed-off-by: default avatarGeorge G. Davis <gdavis@mvista.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      a188ad2b
  5. 01 Sep, 2006 21 commits