16 May, 2010

4 commits


15 May, 2010

15 commits

  • 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: Jan Blunck
    Cc: Dave Kleikamp
    Signed-off-by: Andrew Morton
    Signed-off-by: Al Viro

    Jan Blunck
     
  • 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: Dan Carpenter
    Signed-off-by: Al Viro

    Dan Carpenter
     
  • iput() is needed *until* we'd done successful d_alloc_root()

    Signed-off-by: Al Viro

    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: Al Viro

    Al Viro
     
  • * 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

    Linus Torvalds
     
  • …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

    Linus Torvalds
     
  • 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: Hugh Dickins
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • My old address will shut down in a couple of weeks: update the tree.

    Signed-off-by: Hugh Dickins
    Signed-off-by: Hugh Dickins
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • 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: Petr Vandrovec
    Signed-off-by: H. Peter Anvin
    Acked-by: Jacob Pan
    Acked-by: Jesse Barnes
    LKML-Reference:

    H. Peter Anvin
     
  • …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

    Linus Torvalds
     
  • When running a quest kernel on xen we get:

    BUG: unable to handle kernel NULL pointer dereference at 0000000000000038
    IP: [] 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:[] [] 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
    ffffffff810d7ec9 0000000002203e40 000000000050d140 ffff880002203e70
    0000000002008140 0000000000000086 ffff880040020140 ffffffff81068b8b
    Call Trace:

    [] ? sync_supers_timer_fn+0x0/0x1c
    [] ? mod_timer+0x23/0x25
    [] ? arm_supers_timer+0x34/0x36
    [] ? hrtimer_get_next_event+0xa7/0xc3
    [] ? get_next_timer_interrupt+0x19a/0x20d
    [] get_cpu_leaves+0x5c/0x232
    [] ? sched_clock_local+0x1c/0x82
    [] ? sched_clock_tick+0x75/0x7a
    [] generic_smp_call_function_single_interrupt+0xae/0xd0
    [] smp_call_function_single_interrupt+0x18/0x27
    [] call_function_single_interrupt+0x13/0x20

    [] ? notifier_call_chain+0x14/0x63
    [] ? native_safe_halt+0xc/0xd
    [] ? default_idle+0x36/0x53
    [] cpu_idle+0xaa/0xe4
    [] rest_init+0x7e/0x80
    [] start_kernel+0x40e/0x419
    [] x86_64_start_reservations+0xb3/0xb7
    [] 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 70 38 48 8d 8d 5c ff
    ff ff 48 8b 78 10 ba c4 01 00 00 e8 eb
    RIP [] cpuid4_cache_lookup_regs+0x2ca/0x3df
    RSP
    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: Frank Arnold
    LKML-Reference:
    Acked-by: Borislav Petkov
    Signed-off-by: H. Peter Anvin
    Cc:

    Frank Arnold
     
  • 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: Borislav Petkov
    LKML-Reference:
    Signed-off-by: H. Peter Anvin
    Cc:

    Borislav Petkov
     
  • * '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

    Linus Torvalds
     
  • …ernel/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

    Linus Torvalds
     
  • 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: Sergei Shtylyov
    Signed-off-by: Kevin Hilman

    Sergei Shtylyov
     

14 May, 2010

17 commits


13 May, 2010

4 commits

  • According to specification

    mkdir d; ln -s d a; open("a/", O_NOFOLLOW | O_RDONLY)

    should return success but currently it returns ELOOP. This is a
    regression caused by path lookup cleanup patch series.

    Fix the code to ignore O_NOFOLLOW in case the provided path has trailing
    slashes.

    Cc: Andrew Morton
    Cc: Al Viro
    Reported-by: Marius Tolzmann
    Acked-by: Miklos Szeredi
    Signed-off-by: Jan Kara
    Signed-off-by: Linus Torvalds

    Jan Kara
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: ice1724 - Fix ESI Maya44 capture source control
    ALSA: pcm - Use pgprot_noncached() for MIPS non-coherent archs
    ALSA: virtuoso: fix Xonar D1/DX front panel microphone
    ALSA: hda - Add hp-dv4 model for IDT 92HD71bx
    ALSA: hda - Fix mute-LED GPIO pin for HP dv series
    ALSA: hda: Fix 0 dB for Lenovo models using Conexant CX20549 (Venice)

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: ad7877 - keep dma rx buffers in seperate cache lines
    Input: psmouse - reset all types of mice before reconnecting
    Input: elantech - use all 3 bytes when checking version
    Input: iforce - fix Guillemot Jet Leader 3D entry
    Input: iforce - add Guillemot Jet Leader Force Feedback

    Linus Torvalds
     
  • In certain circumstances, especially under heavy load, the AUXADC
    completion interrupt may be detected after we've timed out waiting for
    it. That conversion would still succeed but the next conversion will
    see the completion that was signalled by the interrupt for the previous
    conversion and therefore not wait for the AUXADC conversion to run,
    causing it to report failure.

    Provide a simple, non-invasive cleanup by using try_wait_for_completion()
    to ensure that the completion is not signalled before we wait. Since
    the AUXADC is run within a mutex we know there can only have been at
    most one AUXADC interrupt outstanding. A more involved change should
    follow for the next merge window.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown