1. 05 Oct, 2007 1 commit
    • Serge Belyshev's avatar
      Remove unnecessary cast in prefetch() · 4ecbca85
      Serge Belyshev authored
      It is ok to call prefetch() function with NULL argument, as specifically
      commented in include/linux/prefetch.h.  But in standard C, it is invalid
      to dereference NULL pointer (see C99 standard 6.5.3.2 paragraph 4 and
      note #84).
      
      prefetch() has a memory reference for its argument.
      
      Newer gcc versions (4.3 and above) will use that to conclude that "x"
      argument is non-null and thus wreaking havok everywhere prefetch() was
      inlined.
      
      Fixed by removing cast and changing asm constraint.
      
      [ It seems in theory gcc 4.2 could miscompile this too; although no
        cases known.  In 2.6.24 we should probably switch to
        __builtin_prefetch() instead, but this is a simpler fix for now.
      				-- AK ]
      Signed-off-by: default avatarSerge Belyshev <belyshev@depni.sinp.msu.ru>
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4ecbca85
  2. 04 Oct, 2007 3 commits
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 · 9cdcaa2c
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
        [SCSI] megaraid_old: fix READ_CAPACITY
      9cdcaa2c
    • Hugh Dickins's avatar
      Fix sys_remap_file_pages BUG at highmem.c:15! · 16abfa08
      Hugh Dickins authored
      Gurudas Pai reports kernel BUG at arch/i386/mm/highmem.c:15! below
      sys_remap_file_pages, while running Oracle database test on x86 in 6GB
      RAM: kunmap thinks we're in_interrupt because the preempt count has
      wrapped.
      
      That's because __do_fault expected to unmap page_table, but one of its
      two callers do_nonlinear_fault already unmapped it: let do_linear_fault
      unmap it first too, and then there's no need to pass the page_table arg
      down.
      
      Why have we been so slow to notice this? Probably through forgetting
      that the mapping_cap_account_dirty test means that sys_remap_file_pages
      nowadays only goes the full nonlinear vma route on a few memory-backed
      filesystems like ramfs, tmpfs and hugetlbfs.
      
      [ It also depends on CONFIG_HIGHPTE, so it becomes even harder to
        trigger in practice. Many who have need of large memory have probably
        migrated to x86-64..
      
        Problem introduced by commit d0217ac0
        ("mm: fault feedback #1")                -- Linus ]
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: gurudas pai <gurudas.pai@oracle.com>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      16abfa08
    • FUJITA Tomonori's avatar
      [SCSI] megaraid_old: fix READ_CAPACITY · d5e89385
      FUJITA Tomonori authored
      The bulk transfer mode got eleminated by
      3f6270ef.  Unfortunately, this mode is
      required for READ_CAPACITY commands on certain cards, so put it back
      again.  This fixes a boot failure regression reported by Burton
      Windle.
      Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      d5e89385
  3. 03 Oct, 2007 15 commits
  4. 02 Oct, 2007 21 commits