1. 18 5月, 2010 2 次提交
    • S
      ceph: fix race between aborted requests and fill_trace · b4556396
      Sage Weil 提交于
      When we abort requests we need to prevent fill_trace et al from doing
      anything that relies on locks held by the VFS caller.  This fixes a race
      between the reply handler and the abort code, ensuring that continue
      holding the dir mutex until the reply handler completes.
      Signed-off-by: NSage Weil <sage@newdream.net>
      b4556396
    • S
      ceph: clean up mds reply, error handling · e1518c7c
      Sage Weil 提交于
      We would occasionally BUG out in the reply handler because r_reply was
      nonzero, due to a race with ceph_mdsc_do_request temporarily setting
      r_reply to an ERR_PTR value.  This is unnecessary, messy, and also wrong
      in the EIO case.
      
      Clean up by consistently using r_err for errors and r_reply for messages.
      Also fix the abort logic to trigger consistently for all errors that return
      to the caller early (e.g., EIO from timeout case).  If an abort races with
      a reply, use the result from the reply.
      
      Also fix locking for r_err, r_reply update in the reply handler.
      Signed-off-by: NSage Weil <sage@newdream.net>
      e1518c7c
  2. 17 5月, 2010 3 次提交
  3. 16 5月, 2010 12 次提交
  4. 15 5月, 2010 15 次提交
    • J
      JFS: Free sbi memory in error path · 684bdc7f
      Jan Blunck 提交于
      I spotted the missing kfree() while removing the BKL.
      
      [akpm@linux-foundation.org: avoid multiple returns so it doesn't happen again]
      Signed-off-by: NJan Blunck <jblunck@suse.de>
      Cc: Dave Kleikamp <shaggy@austin.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      684bdc7f
    • D
      fs/sysv: dereferencing ERR_PTR() · 404e7812
      Dan Carpenter 提交于
      I moved the dir_put_page() inside the if condition so we don't dereference
      "page", if it's an ERR_PTR().
      Signed-off-by: NDan Carpenter <error27@gmail.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      404e7812
    • A
      Fix double-free in logfs · 26562449
      Al Viro 提交于
      iput() is needed *until* we'd done successful d_alloc_root()
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      26562449
    • A
      Fix the regression created by "set S_DEAD on unlink()..." commit · d83c49f3
      Al Viro 提交于
      1) i_flags simply doesn't work for mount/unlink race prevention;
      we may have many links to file and rm on one of those obviously
      shouldn't prevent bind on top of another later on.  To fix it
      right way we need to mark _dentry_ as unsuitable for mounting
      upon; new flag (DCACHE_CANT_MOUNT) is protected by d_flags and
      i_mutex on the inode in question.  Set it (with dont_mount(dentry))
      in unlink/rmdir/etc., check (with cant_mount(dentry)) in places
      in namespace.c that used to check for S_DEAD.  Setting S_DEAD
      is still needed in places where we used to set it (for directories
      getting killed), since we rely on it for readdir/rmdir race
      prevention.
      
      2) rename()/mount() protection has another bogosity - we unhash
      the target before we'd checked that it's not a mountpoint.  Fixed.
      
      3) ancient bogosity in pivot_root() - we locked i_mutex on the
      right directory, but checked S_DEAD on the different (and wrong)
      one.  Noticed and fixed.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      d83c49f3
    • L
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · bfcf1ae2
      Linus Torvalds 提交于
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        ARM: 6126/1: ARM mpcore_wdt: fix build failure and other fixes
        ARM: 6125/1: ARM TWD: move TWD registers to common header
        ARM: 6110/1: Fix Thumb-2 kernel builds when UACCESS_WITH_MEMCPY is enabled
        ARM: 6112/1: Use the Inner Shareable I-cache and BTB ops on ARMv7 SMP
        ARM: 6111/1: Implement read/write for ownership in the ARMv6 DMA cache ops
        ARM: 6106/1: Implement copy_to_user_page() for noMMU
        ARM: 6105/1: Fix the __arm_ioremap_caller() definition in nommu.c
      bfcf1ae2
    • L
      Merge branch 'x86-fixes-for-linus' of... · ecbb458a
      Linus Torvalds 提交于
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86, mrst: Don't blindly access extended config space
      ecbb458a
    • H
      profile: fix stats and data leakage · 16a2164b
      Hugh Dickins 提交于
      If the kernel is large or the profiling step small, /proc/profile
      leaks data and readprofile shows silly stats, until readprofile -r
      has reset the buffer: clear the prof_buffer when it is vmalloc()ed.
      Signed-off-by: NHugh Dickins <hughd@google.com>
      Cc: stable@kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      16a2164b
    • H
      hughd: update email address · bfcc6e2e
      Hugh Dickins 提交于
      My old address will shut down in a couple of weeks: update the tree.
      Signed-off-by: NHugh Dickins <hugh.dickins@tiscali.co.uk>
      Signed-off-by: NHugh Dickins <hughd@google.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bfcc6e2e
    • H
      x86, mrst: Don't blindly access extended config space · e9b1d5d0
      H. Peter Anvin 提交于
      Do not blindly access extended configuration space unless we actively
      know we're on a Moorestown platform.  The fixed-size BAR capability
      lives in the extended configuration space, and thus is not applicable
      if the configuration space isn't appropriately sized.
      
      This fixes booting certain VMware configurations with CONFIG_MRST=y.
      
      Moorestown will add a fake PCI-X 266 capability to advertise the
      presence of extended configuration space.
      Reported-and-tested-by: NPetr Vandrovec <petr@vandrovec.name>
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      Acked-by: NJacob Pan <jacob.jun.pan@intel.com>
      Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      LKML-Reference: <AANLkTiltKUa3TrKR1M51eGw8FLNoQJSLT0k0_K5X3-OJ@mail.gmail.com>
      e9b1d5d0
    • L
      Merge branch 'x86-fixes-for-linus' of... · ef0e9180
      Linus Torvalds 提交于
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86, cacheinfo: Turn off L3 cache index disable feature in virtualized environments
        x86, k8: Fix build error when K8_NB is disabled
        x86, amd: Check X86_FEATURE_OSVW bit before accessing OSVW MSRs
        x86: Fix fake apicid to node mapping for numa emulation
      ef0e9180
    • F
      x86, cacheinfo: Turn off L3 cache index disable feature in virtualized environments · 7f284d3c
      Frank Arnold 提交于
      When running a quest kernel on xen we get:
      
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000038
      IP: [<ffffffff8142f2fb>] cpuid4_cache_lookup_regs+0x2ca/0x3df
      PGD 0
      Oops: 0000 [#1] SMP
      last sysfs file:
      CPU 0
      Modules linked in:
      
      Pid: 0, comm: swapper Tainted: G        W  2.6.34-rc3 #1 /HVM domU
      RIP: 0010:[<ffffffff8142f2fb>]  [<ffffffff8142f2fb>] cpuid4_cache_lookup_regs+0x
      2ca/0x3df
      RSP: 0018:ffff880002203e08  EFLAGS: 00010046
      RAX: 0000000000000000 RBX: 0000000000000003 RCX: 0000000000000060
      RDX: 0000000000000000 RSI: 0000000000000040 RDI: 0000000000000000
      RBP: ffff880002203ed8 R08: 00000000000017c0 R09: ffff880002203e38
      R10: ffff8800023d5d40 R11: ffffffff81a01e28 R12: ffff880187e6f5c0
      R13: ffff880002203e34 R14: ffff880002203e58 R15: ffff880002203e68
      FS:  0000000000000000(0000) GS:ffff880002200000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      CR2: 0000000000000038 CR3: 0000000001a3c000 CR4: 00000000000006f0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process swapper (pid: 0, threadinfo ffffffff81a00000, task ffffffff81a44020)
      Stack:
       ffffffff810d7ecb ffff880002203e20 ffffffff81059140 ffff880002203e30
      <0> ffffffff810d7ec9 0000000002203e40 000000000050d140 ffff880002203e70
      <0> 0000000002008140 0000000000000086 ffff880040020140 ffffffff81068b8b
      Call Trace:
       <IRQ>
       [<ffffffff810d7ecb>] ? sync_supers_timer_fn+0x0/0x1c
       [<ffffffff81059140>] ? mod_timer+0x23/0x25
       [<ffffffff810d7ec9>] ? arm_supers_timer+0x34/0x36
       [<ffffffff81068b8b>] ? hrtimer_get_next_event+0xa7/0xc3
       [<ffffffff81058e85>] ? get_next_timer_interrupt+0x19a/0x20d
       [<ffffffff8142fa23>] get_cpu_leaves+0x5c/0x232
       [<ffffffff8106a7b1>] ? sched_clock_local+0x1c/0x82
       [<ffffffff8106a9a0>] ? sched_clock_tick+0x75/0x7a
       [<ffffffff8107748c>] generic_smp_call_function_single_interrupt+0xae/0xd0
       [<ffffffff8101f6ef>] smp_call_function_single_interrupt+0x18/0x27
       [<ffffffff8100a773>] call_function_single_interrupt+0x13/0x20
       <EOI>
       [<ffffffff8143c468>] ? notifier_call_chain+0x14/0x63
       [<ffffffff810295c6>] ? native_safe_halt+0xc/0xd
       [<ffffffff810114eb>] ? default_idle+0x36/0x53
       [<ffffffff81008c22>] cpu_idle+0xaa/0xe4
       [<ffffffff81423a9a>] rest_init+0x7e/0x80
       [<ffffffff81b10dd2>] start_kernel+0x40e/0x419
       [<ffffffff81b102c8>] x86_64_start_reservations+0xb3/0xb7
       [<ffffffff81b103c4>] x86_64_start_kernel+0xf8/0x107
      Code: 14 d5 40 ff ae 81 8b 14 02 31 c0 3b 15 47 1c 8b 00 7d 0e 48 8b 05 36 1c 8b
       00 48 63 d2 48 8b 04 d0 c7 85 5c ff ff ff 00 00 00 00 <8b> 70 38 48 8d 8d 5c ff
       ff ff 48 8b 78 10 ba c4 01 00 00 e8 eb
      RIP  [<ffffffff8142f2fb>] cpuid4_cache_lookup_regs+0x2ca/0x3df
       RSP <ffff880002203e08>
      CR2: 0000000000000038
      ---[ end trace a7919e7f17c0a726 ]---
      
      The L3 cache index disable feature of AMD CPUs has to be disabled if the
      kernel is running as guest on top of a hypervisor because northbridge
      devices are not available to the guest. Currently, this fixes a boot
      crash on top of Xen. In the future this will become an issue on KVM as
      well.
      
      Check if northbridge devices are present and do not enable the feature
      if there are none.
      
      [ hpa: backported to 2.6.34 ]
      Signed-off-by: NFrank Arnold <frank.arnold@amd.com>
      LKML-Reference: <1271945222-5283-3-git-send-email-bp@amd64.org>
      Acked-by: NBorislav Petkov <borislav.petkov@amd.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      Cc: <stable@kernel.org>
      7f284d3c
    • B
      x86, k8: Fix build error when K8_NB is disabled · ade029e2
      Borislav Petkov 提交于
      K8_NB depends on PCI and when the last is disabled (allnoconfig) we fail
      at the final linking stage due to missing exported num_k8_northbridges.
      Add a header stub for that.
      Signed-off-by: NBorislav Petkov <borislav.petkov@amd.com>
      LKML-Reference: <20100503183036.GJ26107@aftab>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      Cc: <stable@kernel.org>
      ade029e2
    • L
      Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify · 4fc4c3ce
      Linus Torvalds 提交于
      * 'for-linus' of git://git.infradead.org/users/eparis/notify:
        inotify: don't leak user struct on inotify release
        inotify: race use after free/double free in inotify inode marks
        inotify: clean up the inotify_add_watch out path
        Inotify: undefined reference to `anon_inode_getfd'
      
      Manual merge to remove duplicate "select ANON_INODES" from Kconfig file
      4fc4c3ce
    • L
      Merge branch 'davinci-fixes-for-linus-2' of... · 97b2073f
      Linus Torvalds 提交于
      Merge branch 'davinci-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci
      
      * 'davinci-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci:
        DA830: fix USB 2.0 clock entry
      97b2073f
    • S
      DA830: fix USB 2.0 clock entry · b9af5ddf
      Sergei Shtylyov 提交于
      DA8xx OHCI driver fails to load due to failing clk_get() call for the USB 2.0
      clock. Arrange matching USB 2.0 clock by the clock name instead of the device.
      (Adding another CLK() entry for "ohci.0" device won't do -- in the future I'll
      also have to enable USB 2.0 clock to configure CPPI 4.1 module, in which case
      I won't have any device at all.)
      Signed-off-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      b9af5ddf
  5. 14 5月, 2010 8 次提交