1. 06 Aug, 2008 35 commits
  2. 01 Aug, 2008 5 commits
    • Greg Kroah-Hartman's avatar
      Linux 2.6.25.14 · 3ef22854
      Greg Kroah-Hartman authored
      3ef22854
    • Linus Torvalds's avatar
      Fix off-by-one error in iov_iter_advance() · 18b8506a
      Linus Torvalds authored
      commit 94ad374a
      
       upstream
      
      The iov_iter_advance() function would look at the iov->iov_len entry
      even though it might have iterated over the whole array, and iov was
      pointing past the end.  This would cause DEBUG_PAGEALLOC to trigger a
      kernel page fault if the allocation was at the end of a page, and the
      next page was unallocated.
      
      The quick fix is to just change the order of the tests: check that there
      is any iovec data left before we check the iov entry itself.
      
      Thanks to Alexey Dobriyan for finding this case, and testing the fix.
      Reported-and-tested-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Cc: Nick Piggin <npiggin@suse.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      18b8506a
    • Patrick McHardy's avatar
      netfilter -stable: nf_conntrack_tcp: fix endless loop · 09bd119f
      Patrick McHardy authored
      netfilter: nf_conntrack_tcp: fix endless loop
      
      Upstream commit 6b69fe0c
      
      :
      
      When a conntrack entry is destroyed in process context and destruction
      is interrupted by packet processing and the packet is an attempt to
      reopen a closed connection, TCP conntrack tries to kill the old entry
      itself and returns NF_REPEAT to pass the packet through the hook
      again. This may lead to an endless loop: TCP conntrack repeatedly
      finds the old entry, but can not kill it itself since destruction
      is already in progress, but destruction in process context can not
      complete since TCP conntrack is keeping the CPU busy.
      
      Drop the packet in TCP conntrack if we can't kill the connection
      ourselves to avoid this.
      
      Reported by: hemao77@gmail.com [ Kernel bugzilla #11058 ]
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      09bd119f
    • David Gibson's avatar
      Correct hash flushing from huge_ptep_set_wrprotect() · 482780d8
      David Gibson authored
      Correct hash flushing from huge_ptep_set_wrprotect() [stable tree version]
      
      A fix for incorrect flushing of the hash page table at fork() for
      hugepages was recently committed as
      86df8642
      
      .  Without this fix, a process
      can make a MAP_PRIVATE hugepage mapping, then fork() and have writes
      to the mapping after the fork() pollute the child's version.
      
      Unfortunately this bug also exists in the stable branch.  In fact in
      that case copy_hugetlb_page_range() from mm/hugetlb.c calls
      ptep_set_wrprotect() directly, the hugepage variant hook
      huge_ptep_set_wrprotect() doesn't even exist.
      
      The patch below is a port of the fix to the stable25/master branch.
      It introduces a huge_ptep_set_wrprotect() call, but this is #defined
      to be equal to ptep_set_wrprotect() unless the arch defines its own
      version and sets __HAVE_ARCH_HUGE_PTEP_SET_WRPROTECT.
      
      This arch preprocessor flag is kind of nasty, but it seems the sanest
      way to introduce this fix with minimum risk of breaking other archs
      for whom prep_set_wprotect() is suitable for hugepages.
      Signed-off-by: default avatarAndy Whitcroft <apw@shadowen.org>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      482780d8
    • Pavel Roskin's avatar
      ath5k: don't enable MSI, we cannot handle it yet · 620f2f72
      Pavel Roskin authored
      commit 256b152b
      
       upstream
      
      MSI is a nice thing, but we cannot enable it without changing the
      interrupt handler.  If we do it, we break MSI capable hardware,
      specifically AR5006 chipset.
      Signed-off-by: default avatarPavel Roskin <proski@gnu.org>
      Acked-by: default avatarNick Kossifidis <mickflemm@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      620f2f72