1. 08 Sep, 2006 7 commits
    • Andrew Morton's avatar
      [PATCH] invalidate_complete_page() race fix · 016eb4a0
      Andrew Morton authored
      If a CPU faults this page into pagetables after invalidate_mapping_pages()
      checked page_mapped(), invalidate_complete_page() will still proceed to remove
      the page from pagecache.  This leaves the page-faulting process with a
      detached page.  If it was MAP_SHARED then file data loss will ensue.
      
      Fix that up by checking the page's refcount after taking tree_lock.
      
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Cc: Hugh Dickins <hugh@veritas.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      016eb4a0
    • Badari Pulavarty's avatar
      [PATCH] ext3_getblk() should handle HOLE correctly · 3665d0e5
      Badari Pulavarty authored
      It has been reported that ext3_getblk() is not doing the right thing and
      triggering following WARN():
      
      BUG: warning at fs/ext3/inode.c:1016/ext3_getblk()
       <c01c5140> ext3_getblk+0x98/0x2a6  <c03b2806> md_wakeup_thread+0x26/0x2a
       <c01c536d> ext3_bread+0x1f/0x88  <c01cedf9> ext3_quota_read+0x136/0x1ae
       <c018b683> v1_read_dqblk+0x61/0xac  <c0188f32> dquot_acquire+0xf6/0x107
       <c01ceaba> ext3_acquire_dquot+0x46/0x68  <c01897d4> dqget+0x155/0x1e7
       <c018a97b> dquot_transfer+0x3e0/0x3e9  <c016fe52> dput+0x23/0x13e
       <c01c7986> ext3_setattr+0xc3/0x240  <c0120f66> current_fs_time+0x52/0x6a
       <c017320e> notify_change+0x2bd/0x30d  <c0159246> chown_common+0x9c/0xc5
       <c02a222c> strncpy_from_user+0x3b/0x68  <c0167fe6> do_path_lookup+0xdf/0x266
       <c016841b> __user_walk_fd+0x44/0x5a  <c01592b9> sys_chown+0x4a/0x55
       <c015a43c> vfs_write+0xe7/0x13c  <c01695d4> sys_mkdir+0x1f/0x23
       <c0102a97> syscall_call+0x7/0xb
      
      Looking at the code, it looks like it's not handle HOLE correctly.  It ends
      up returning -EIO.  Here is the patch to fix it.
      
      If we really want to be paranoid, we can allow return values 0 (HOLE), 1
      (we asked for one block) and return -EIO for more than 1 block.  But I
      really don't see a reason for doing it - all we need is the block# here.
      (doesn't matter how many blocks are mapped).
      
      ext3_get_blocks_handle() returns number of blocks it mapped.  It returns 0
      in case of HOLE.  ext3_getblk() should handle HOLE properly (currently its
      dumping warning stack and returning -EIO).
      Signed-off-by: default avatarBadari Pulavarty <pbadari@us.ibm.com>
      Acked-by: default avatarMingming Cao <cmm@us.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3665d0e5
    • David Wang's avatar
      [PATCH] sis5513: add SiS south bridge ID 0x966 and 0x968 · 47d4b906
      David Wang authored
      New SiS south bridge device ID is 0x966.
      
      Next coming product will be 0x968. (Will be released in Q4, this year)
      
      We don't make any updates to the IDE controller.
      Signed-off-by: default avatarDavid Wang <touch@sis.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      47d4b906
    • Alexey Dobriyan's avatar
      [PATCH] sh: fix FPN_START typo · 67bb2c69
      Alexey Dobriyan authored
      Not that it passes allmodconfig without it...
      Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
      Cc: Mark Haverkamp <markh@osdl.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      67bb2c69
    • Alexey Dobriyan's avatar
      [PATCH] optical /proc/ide/*/media · 4495c9e5
      Alexey Dobriyan authored
      Sergey Vlasov reported that his "FUJITSU MCC3064AP, ATAPI OPTICAL drive"
      pops up as UNKNOWN in /proc/ide/*/media .
      
      Closes #4145.
      Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      4495c9e5
    • 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 16 commits