1. 29 6月, 2007 9 次提交
    • H
      mm: kill validate_anon_vma to avoid mapcount BUG · 30acbaba
      Hugh Dickins 提交于
      validate_anon_vma gave a useful check on the integrity of the anon_vma list
      when Andrea was developing obj rmap; but it was not enabled in SLES9
      itself, nor in mainline, until Nick changed commented-out RMAP_DEBUG to
      configurable CONFIG_DEBUG_VM in 2.6.17.  Now Petr Vandrovec reports that
      its BUG_ON(mapcount > 100000) can easily crash a CONFIG_DEBUG_VM=y system.
      
      That limit was just an arbitrary number to protect against an infinite
      loop.  We could raise it to something enormous (depending on sizeof struct
      vma and size of memory?); but I rather think validate_anon_vma has outlived
      its usefulness, and is better just removed - which gives a magnificent
      performance boost to anything like Petr's test program ;)
      
      Of course, a very long anon_vma list is bad news for preemption latency,
      and I believe there has been one recent report of such: let's not forget
      that, but validate_anon_vma only makes it worse not better.
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      Cc: Petr Vandrovec <petr@vmware.com>
      Acked-by: NNick Piggin <npiggin@suse.de>
      Cc: Andrea Arcangeli <andrea@suse.de>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      30acbaba
    • B
      PNP SMCf010 quirk: auto-config device if BIOS left it broken · 172d0496
      Bjorn Helgaas 提交于
      Some HP firmware leaves the SMCf010 IRDA device incompletely configured, or
      reports the wrong resources in _CRS.  As a workaround, when we find such a
      device, try to auto-configure the device.
      
      This ignores the _CRS data, picks a config from _PRS, and runs _SRS to
      configure the device.  This makes smsc-ircc2 work correctly with PNP
      resources (with no preconfiguration!) on all the machines I tested.
      
      I think Windows does something like this by default for all devices,
      so we should consider doing the same thing in Linux.
      
      This patch addresses part of the 2.6.22 regression:
          "no irda0 interface (2.6.21 was OK), smsc does not find chip"
      It fixes smsc-ircc2 PNP device detection on HP nc6000, nc6220, nw8000,
      nw8240, and possibly other machines.
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Samuel Ortiz <samuel@sortiz.org>
      Cc: "Linus Walleij (LD/EAB)" <linus.walleij@ericsson.com>
      Cc: Andrey Borzenkov <arvidjaar@mail.ru>
      Cc: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
      Cc: Adam Belay <ambx1@neo.rr.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      172d0496
    • B
      smsc-ircc2: skip preconfiguration for PNP devices · 7c31d2f5
      Bjorn Helgaas 提交于
      If we rely on the device resources from PNPBIOS, we also have to rely on
      the BIOS to configure any bridges on the way to the device.
      
      Using the PNPBIOS resources but changing the configuration of a bridge
      behind the back of the firmware is likely to make things inconsistent.
      
      This patch addresses part of the 2.6.22 regression:
          "no irda0 interface (2.6.21 was OK), smsc does not find chip"
      It fixes smsc-ircc2 PNP device detection on HP nx5000 laptops.
      Other laptops, including HP nc6000, HP nc8000, HP nw8000, and Toshiba
      Portege 4000, still need PNP quirks to make this work.
      
      With "smsc-ircc2.nopnp", we do the legacy device probe, including manual
      bridge preconfiguration, as before.
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Samuel Ortiz <samuel@sortiz.org>
      Acked-by: N"Linus Walleij (LD/EAB)" <linus.walleij@ericsson.com>
      Cc: Andrey Borzenkov <arvidjaar@mail.ru>
      Cc: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Adam Belay <ambx1@neo.rr.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7c31d2f5
    • R
      mtrr/cyrix: fix sections · 80581c43
      Randy Dunlap 提交于
      main.c::mtrr_add() or mtrr_del() [exported]
      calls main.c::mtrr_add_page() or mtrr_del_page() or mtrr_restore() [resume]
      calls main.c::set_mtrr()
      calls main.c::ipi_handler()
      calls main.c::mtrr_if->set_all() == which can be cyrix_set_all
      
      WARNING: arch/i386/kernel/built-in.o(.text+0x8657): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region')
      WARNING: arch/i386/kernel/built-in.o(.text+0x866b): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region')
      WARNING: arch/i386/kernel/built-in.o(.text+0x867e): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region')
      WARNING: arch/i386/kernel/built-in.o(.text+0x8684): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region')
      WARNING: arch/i386/kernel/built-in.o(.text+0x868a): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region')
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      80581c43
    • R
      eventfd: clean compile when CONFIG_EVENTFD=n · d2fd8996
      Randy Dunlap 提交于
      Fix gcc warning and add parameter checking when CONFIG_EVENTFD=n:
      
      fs/aio.c: In function 'aio_complete':
      fs/aio.c:955: warning: statement with no effect
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Davide Libenzi <davidel@xmailserver.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d2fd8996
    • V
      atyfb: Fix XCLK frequency on Apple iBook1 · c0887eed
      Ville Syrjala 提交于
      Fix a regression on Apple iBook1.  Changes in the clock init code caused an
      incorrect XCLK frequency to be used leading to a corrupted display.
      Signed-off-by: NVille Syrjala <syrjala@sci.fi>
      Cc: Olaf Hering <olaf@aepfle.de>
      Cc: Antonino Daplas <adaplas@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c0887eed
    • M
      zero out last page for llseek/write · d4c5cdb3
      Michael Halcrow 提交于
      When one llseek's past the end of the file and then writes, every page past
      the previous end of the file should be cleared.  Trevor found that the code,
      as is, does not assure that the very last page is always cleared.  This patch
      takes care of that.
      Signed-off-by: NMichael Halcrow <mhalcrow@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d4c5cdb3
    • M
      eCryptfs: initialize crypt_stat in setattr · e10f281b
      Michael Halcrow 提交于
      Recent changes in eCryptfs have made it possible to get to ecryptfs_setattr()
      with an uninitialized crypt_stat struct.  This results in a wide and colorful
      variety of unpleasantries.  This patch properly initializes the crypt_stat
      structure in ecryptfs_setattr() when it is necessary to do so.
      Signed-off-by: NMichael Halcrow <mhalcrow@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e10f281b
    • M
      eCryptfs: fix write zeros behavior · 240e2df5
      Michael Halcrow 提交于
      This patch fixes the processes involved in wiping regions of the data during
      truncate and write events, fixing a kernel hang in 2.6.22-rc4 while assuring
      that zero values are written out to the appropriate locations during events in
      which the i_size will change.
      
      The range passed to ecryptfs_truncate() from ecryptfs_prepare_write() includes
      the page that is the object of ecryptfs_prepare_write().  This leads to a
      kernel hang as read_cache_page() is executed on the same page in the
      ecryptfs_truncate() execution path.  This patch remedies this by limiting the
      range passed to ecryptfs_truncate() so as to exclude the page that is the
      object of ecryptfs_prepare_write(); it also adds code to
      ecryptfs_prepare_write() to zero out the region of its own page when writing
      past the i_size position.  This patch also modifies ecryptfs_truncate() so
      that when a file is truncated to a smaller size, eCryptfs will zero out the
      contents of the new last page from the new size through to the end of the last
      page.
      Signed-off-by: NMichael Halcrow <mhalcrow@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      240e2df5
  2. 28 6月, 2007 5 次提交
  3. 27 6月, 2007 26 次提交