14 Mar, 2011

3 commits


11 Mar, 2011

7 commits

  • * 'media_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:
    [media] mantis_pci: remove asm/pgtable.h include
    [media] tda829x: fix regression in probe functions
    [media] mceusb: don't claim multifunction device non-IR parts
    [media] nuvoton-cir: fix wake from suspend
    [media] cx18: Add support for Hauppauge HVR-1600 models with s5h1411
    [media] ivtv: Fix corrective action taken upon DMA ERR interrupt to avoid hang
    [media] cx25840: fix probing of cx2583x chips
    [media] cx23885: Remove unused 'err:' labels to quiet compiler warning
    [media] cx23885: Revert "Check for slave nack on all transactions"
    [media] DiB7000M: add pid filtering
    [media] Fix sysfs rc protocol lookup for rc-5-sz
    [media] au0828: fix VBI handling when in V4L2 streaming mode
    [media] ir-raw: Properly initialize the IR event (BZ#27202)
    [media] s2255drv: firmware re-loading changes
    [media] Fix double free of video_device in mem2mem_testdev
    [media] DM04/QQBOX memcpy to const char fix

    Linus Torvalds
     
  • This patch fixes an issue in OpenIPMI module where sometimes an ABORT command
    is sent after sending an IPMI request to BMC causing the IPMI request to fail.

    Signed-off-by: YiCheng Doe
    Signed-off-by: Corey Minyard
    Acked-by: Tom Mingarelli
    Tested-by: Andy Cress
    Tested-by: Mika Lansirine
    Tested-by: Brian De Wolf
    Cc: Jean Michel Audet
    Cc: Jozef Sudelsky
    Acked-by: Matthew Garrett
    Signed-off-by: Linus Torvalds

    Doe, YiCheng
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    fs/dcache: allow d_obtain_alias() to return unhashed dentries
    Check for immutable/append flag in fallocate path
    sysctl: the include of rcupdate.h is only needed in the kernel
    fat: fix d_revalidate oopsen on NFS exports
    jfs: fix d_revalidate oopsen on NFS exports
    ocfs2: fix d_revalidate oopsen on NFS exports
    gfs2: fix d_revalidate oopsen on NFS exports
    fuse: fix d_revalidate oopsen on NFS exports
    ceph: fix d_revalidate oopsen on NFS exports
    reiserfs xattr ->d_revalidate() shouldn't care about RCU
    /proc/self is never going to be invalidated...

    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, UV: Initialize the broadcast assist unit base destination node id properly
    x86, numa: Fix numa_emulation code with memory-less node0
    x86, build: Make sure mkpiggy fails on read error

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Fix sched rt group scheduling when hierachy is enabled

    Linus Torvalds
     
  • * 'perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf symbols: Avoid resolving [kernel.kallsyms] to real path for buildid cache
    perf symbols: Fix vmlinux path when not using --symfs

    Linus Torvalds
     
  • This reverts commit 951f3512dba5bd44cda3e5ee22b4b522e4bb09fb

    drm/i915: Do not handle backlight combination mode specially

    since this commit introduced other regressions due to untouched LBPC
    register, e.g. the backlight dimmed after resume.

    In addition to the revert, this patch includes a fix for the original
    issue (weird backlight levels) by removing the wrong bit shift for
    computing the current backlight level.
    Also, including typo fixes (lpbc -> lbpc).

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34524
    Acked-by: Indan Zupancic
    Reviewed-by: Keith Packard
    Reviewed-by: Jesse Barnes
    Cc:
    Signed-off-by: Takashi Iwai
    Signed-off-by: Linus Torvalds

    Takashi Iwai
     

10 Mar, 2011

27 commits

  • Without this patch, inodes are not promptly freed on last close of an
    unlinked file by an nfs client:

    client$ mount -tnfs4 server:/export/ /mnt/
    client$ tail -f /mnt/FOO
    ...
    server$ df -i /export
    server$ rm /export/FOO
    (^C the tail -f)
    server$ df -i /export
    server$ echo 2 >/proc/sys/vm/drop_caches
    server$ df -i /export

    the df's will show that the inode is not freed on the filesystem until
    the last step, when it could have been freed after killing the client's
    tail -f. On-disk data won't be deallocated either, leading to possible
    spurious ENOSPC.

    This occurs because when the client does the close, it arrives in a
    compound with a putfh and a close, processed like:

    - putfh: look up the filehandle.  The only alias found for the
    inode will be DCACHE_UNHASHED alias referenced by the filp
    this, so it creates a new DCACHE_DISCONECTED dentry and
    returns that instead.
    - close: closes the existing filp, which is destroyed
    immediately by dput() since it's DCACHE_UNHASHED.
    - end of the compound: release the reference
    to the current filehandle, and dput() the new
    DCACHE_DISCONECTED dentry, which gets put on the
    unused list instead of being destroyed immediately.

    Nick Piggin suggested fixing this by allowing d_obtain_alias to return
    the unhashed dentry that is referenced by the filp, instead of making it
    create a new dentry.

    Leave __d_find_alias() alone to avoid changing behavior of other
    callers.

    Also nfsd doesn't need all the checks of __d_find_alias(); any dentry,
    hashed or unhashed, disconnected or not, should work.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Al Viro

    J. Bruce Fields
     
  • In the fallocate path the kernel doesn't check for the immutable/append
    flag. It's possible to have a race condition in this scenario: an
    application open a file in read/write and it does something, meanwhile
    root set the immutable flag on the file, the application at that point
    can call fallocate with success. In addition, we don't allow to do any
    unreserve operation on an append only file but only the reserve one.

    Signed-off-by: Marco Stornelli
    Signed-off-by: Al Viro

    Marco Stornelli
     
  • Fixes this built error:

    include/linux/sysctl.h:28: included file 'linux/rcupdate.h' is not exported

    Signed-off-by: Stephen Rothwell
    Acked-by: Al Viro
    Signed-off-by: Al Viro

    Stephen Rothwell
     
  • can't blindly check nd->flags in ->d_revalidate()

    Signed-off-by: Al Viro

    Al Viro
     
  • can't blindly check nd->flags in ->d_revalidate()

    Signed-off-by: Al Viro

    Al Viro
     
  • can't blindly check nd->flags in ->d_revalidate()

    Signed-off-by: Al Viro

    Al Viro
     
  • can't blindly check nd->flags in ->d_revalidate()

    Signed-off-by: Al Viro

    Al Viro
     
  • can't blindly check nd->flags in ->d_revalidate()

    Signed-off-by: Al Viro

    Al Viro
     
  • can't blindly check nd->flags in ->d_revalidate()

    Signed-off-by: Al Viro

    Al Viro
     
  • ... it returns an error unconditionally

    Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc/pseries: Disable VPNH feature
    powerpc/iseries: Fix early init access to lppaca

    Linus Torvalds
     
  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
    net: don't allow CAP_NET_ADMIN to load non-netdev kernel modules

    Linus Torvalds
     
  • Fixes this build-check error:

    include/linux/sysctl.h:28: included file 'linux/rcupdate.h' is not exported

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Since a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c any process with
    CAP_NET_ADMIN may load any module from /lib/modules/. This doesn't mean
    that CAP_NET_ADMIN is a superset of CAP_SYS_MODULE as modules are
    limited to /lib/modules/**. However, CAP_NET_ADMIN capability shouldn't
    allow anybody load any module not related to networking.

    This patch restricts an ability of autoloading modules to netdev modules
    with explicit aliases. This fixes CVE-2011-1019.

    Arnd Bergmann suggested to leave untouched the old pre-v2.6.32 behavior
    of loading netdev modules by name (without any prefix) for processes
    with CAP_SYS_MODULE to maintain the compatibility with network scripts
    that use autoloading netdev modules by aliases like "eth0", "wlan0".

    Currently there are only three users of the feature in the upstream
    kernel: ipip, ip_gre and sit.

    root@albatros:~# capsh --drop=$(seq -s, 0 11),$(seq -s, 13 34) --
    root@albatros:~# grep Cap /proc/$$/status
    CapInh: 0000000000000000
    CapPrm: fffffff800001000
    CapEff: fffffff800001000
    CapBnd: fffffff800001000
    root@albatros:~# modprobe xfs
    FATAL: Error inserting xfs
    (/lib/modules/2.6.38-rc6-00001-g2bf4ca3/kernel/fs/xfs/xfs.ko): Operation not permitted
    root@albatros:~# lsmod | grep xfs
    root@albatros:~# ifconfig xfs
    xfs: error fetching interface information: Device not found
    root@albatros:~# lsmod | grep xfs
    root@albatros:~# lsmod | grep sit
    root@albatros:~# ifconfig sit
    sit: error fetching interface information: Device not found
    root@albatros:~# lsmod | grep sit
    root@albatros:~# ifconfig sit0
    sit0 Link encap:IPv6-in-IPv4
    NOARP MTU:1480 Metric:1

    root@albatros:~# lsmod | grep sit
    sit 10457 0
    tunnel4 2957 1 sit

    For CAP_SYS_MODULE module loading is still relaxed:

    root@albatros:~# grep Cap /proc/$$/status
    CapInh: 0000000000000000
    CapPrm: ffffffffffffffff
    CapEff: ffffffffffffffff
    CapBnd: ffffffffffffffff
    root@albatros:~# ifconfig xfs
    xfs: error fetching interface information: Device not found
    root@albatros:~# lsmod | grep xfs
    xfs 745319 0

    Reference: https://lkml.org/lkml/2011/2/24/203

    Signed-off-by: Vasiliy Kulikov
    Signed-off-by: Michael Tokarev
    Acked-by: David S. Miller
    Acked-by: Kees Cook
    Signed-off-by: James Morris

    Vasiliy Kulikov
     
  • This feature triggers nasty races in the scheduler between the
    rebuilding of the topology and the load balancing code, causing
    the machine to hang.

    Disable it for now until the races are fixed.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • The combination of commit

    8154c5d22d91cd16bd9985b0638c8957e4688d0e and
    93c22703efa72c7527dbd586d1951c1f4a85fd70

    Broke boot on iSeries.

    The problem is that iSeries very early boot code, which generates
    the device-tree and runs before our normal early initializations
    does need access the lppaca's very early, before the PACA array is
    initialized, and in fact even before the boot PACA has been
    initialized (it contains all 0's at this stage).

    However, the first patch above makes that code use the new
    llpaca_of(cpu) accessor, which itself is changed by the second patch to
    use the PACA array.

    We fix that by reverting iSeries to directly dereferencing the array. In
    addition, we fix all iterators in the iSeries code to always skip CPU
    whose number is above 63 which is the maximum size of that array and
    the maximum number of supported CPUs on these machines.

    Additionally, we make sure the boot_paca is properly initialized
    in our early startup code.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • * 'for-2.6.38' of git://linux-nfs.org/~bfields/linux:
    nfsd: wrong index used in inner loop
    nfsd4: fix bad pointer on failure to find delegation
    NFSD: fix decode_cb_sequence4resok

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    watchdog: sbc_fitpc2_wdt, fix crash on systems without DMI_BOARD_NAME

    Linus Torvalds
     
  • * 'for-2639-rc7/i2c-fixes' of git://git.fluff.org/bjdooks/linux:
    i2c-eg20t: include slab.h for memory allocations
    i2c-ocores: Fix pointer type mismatch error
    i2c-omap: Program I2C_WE on OMAP4 to enable i2c wakeup

    Linus Torvalds
     
  • Signed-off-by: Matt Turner
    Signed-off-by: Linus Torvalds

    Matt Turner
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
    [CPUFREQ] pcc-cpufreq: don't load driver if get_freq fails during init.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
    mmc: fix CONFIG_MMC_UNSAFE_RESUME regression

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    nd->inode is not set on the second attempt in path_walk()
    unfuck proc_sysctl ->d_compare()
    minimal fix for do_filp_open() race

    Linus Torvalds
     
  • Some systems don't provide DMI_BOARD_NAME in their DMI tables. Avoid
    crash in such situations in fitpc2_wdt_init.

    The fix is to check if the dmi_get_system_info return value is NULL.

    The oops:
    BUG: unable to handle kernel NULL pointer dereference at (null)
    IP: [] strstr+0x26/0xa0
    PGD 3966e067 PUD 39605067 PMD 0
    Oops: 0000 [#1] SMP
    last sysfs file: /sys/devices/system/cpu/cpu1/cache/index2/shared_cpu_map
    CPU 1
    Modules linked in: ...
    Pid: 1748, comm: modprobe Not tainted 2.6.37-22-default #1 /Bochs
    RIP: 0010:[] [] strstr+0x26/0xa0
    RSP: 0018:ffff88003ad73f18 EFLAGS: 00010206
    RAX: 0000000000000000 RBX: 00000000ffffffed RCX: 00000000ffffffff
    RDX: ffffffffa003f4cc RSI: ffffffffa003f4c2 RDI: 0000000000000000
    ...
    CR2: 0000000000000000 CR3: 000000003b7ac000 CR4: 00000000000006e0
    ...
    Process modprobe (pid: 1748, threadinfo ffff88003ad72000, task ffff88002e6365c0)
    Stack: ...
    Call Trace:
    [] fitpc2_wdt_init+0x1f/0x13c [sbc_fitpc2_wdt]
    [] do_one_initcall+0x3a/0x170
    ...
    Code: f3 c3 0f 1f 00 80 3e 00 53 48 89 f8 74 1b 48 89 f2 0f 1f 40 00 48 83 c2 01 80 3a 00 75 f7 49 89 d0 48 89 f8 49 29 f0 75 02 5b c3 3f 00 74 0e 0f 1f 44 00 00 48 83 c0 01 80 38 00 75 f7 49 89

    Signed-off-by: Jiri Slaby
    Signed-off-by: Wim Van Sebroeck

    Jiri Slaby
     
  • Return 0 on failure. This will cause the initialization of the driver
    to fail and prevent the driver from loading if the BIOS cannot handle
    the PCC interface command to "get frequency". Otherwise, the driver
    will load and display a very high value like "4294967274" (which is
    actually -EINVAL) for frequency:

    # cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
    4294967274

    Signed-off-by: Naga Chumbalkar
    CC: stable@kernel.org
    Signed-off-by: Dave Jones

    Naga Chumbalkar
     
  • kallsyms has a virtual file name [kernel.kallsyms]. Currently, it can't
    be added to buildid cache successfully because the code
    (build_id_cache__add_s) tries to resolve [kernel.kallsyms] to a real
    absolute pathname and that fails.

    Fixes it by not resolving it and just use the name [kernel.kallsyms].
    So dir ~/.debug/[kernel.kallsyms] is created.

    Original bug report at:
    https://lkml.org/lkml/2011/3/1/524

    Tested-by: Han Pingtian
    Cc: Han Pingtian
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Lin Ming
    Signed-off-by: Arnaldo Carvalho de Melo

    Lin Ming
     

09 Mar, 2011

3 commits