27 Jan, 2010

6 commits


26 Jan, 2010

2 commits


23 Jan, 2010

15 commits


22 Jan, 2010

6 commits


21 Jan, 2010

11 commits

  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata: retry FS IOs even if it has failed with AC_ERR_INVALID

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
    tty: fix race in tty_fasync
    serial: serial_cs: oxsemi quirk breaks resume
    serial: imx: bit &/| confusion
    serial: Fix crash if the minimum rate of the device is > 9600 baud
    serial-core: resume serial hardware with no_console_suspend
    serial: 8250_pnp: use wildcard for serial Wacom tablets
    nozomi: quick fix for the close/close bug
    compat_ioctl: Supress "unknown cmd" message on serial /dev/console

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
    Staging: hv: fix smp problems in the hyperv core code
    Staging: et131x: Fix 2.6.33rc1 regression in et131x
    Staging: asus_oled: fix oops in 2.6.32.2

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    Revert "sysdev: fix prototype for memory_sysdev_class show/store functions"
    driver-core: fix devtmpfs crash on s390

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
    USB: isp1362: fix build failure on ARM systems via irq_flags cleanup
    USB: isp1362: better 64bit printf warning fixes
    USB: fix usbstorage for 2770:915d delivers no FAT
    USB: Fix level of isp1760 Reloading ptd error message
    USB: FHCI: avoid NULL pointer dereference
    USB: Fix duplicate sysfs problem after device reset.
    USB: add speed values for USB 3.0 and wireless controllers
    USB: add missing delay during remote wakeup
    USB: EHCI & UHCI: fix race between root-hub suspend and port resume
    USB: EHCI: fix handling of unusual interrupt intervals
    USB: Don't use GFP_KERNEL while we cannot reset a storage device
    USB: fix bitmask merge error
    usb: serial: fix memory leak in generic driver
    USB: serial: fix USB serial fix kfifo_len locking

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    fs/bio.c: fix shadows sparse warning
    drbd: The kernel code is now equivalent to out of tree release 8.3.7
    drbd: Allow online resizing of DRBD devices while peer not reachable (needs to be explicitly forced)
    drbd: Don't go into StandAlone mode when authentification failes because of network error
    drivers/block/drbd/drbd_receiver.c: correct NULL test
    cfq-iosched: Respect ioprio_class when preempting
    genhd: overlapping variable definition
    block: removed unused as_io_context
    DM: Fix device mapper topology stacking
    block: bdev_stack_limits wrapper
    block: Fix discard alignment calculation and printing
    block: Correct handling of bottom device misaligment
    drbd: check on CONFIG_LBDAF, not LBD
    drivers/block/drbd: Correct NULL test
    drbd: Silenced an assert that could triggered after changing write ordering method
    drbd: Kconfig fix
    drbd: Fix for a race between IO and a detach operation [Bugz 262]
    drbd: Use drbd_crypto_is_hash() instead of an open coded check

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (23 commits)
    ACPI: delete acpi_processor_power_verify_c2()
    ACPI: allow C3 > 1000usec
    ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C
    ACPI: power_meter: remove double kfree()
    ACPI: processor: restrict early _PDC to opt-in platforms
    ACPI: Fix unused variable warning in sbs.c
    acpi: make ACPI device id constant
    sony-laptop - fix using of uninitialized variable
    ACPI: Fix section mismatch error for acpi_early_processor_set_pdc()
    eeepc-laptop: disable wireless hotplug for 1201N
    eeepc-laptop: add hotplug_disable parameter
    eeepc-laptop: switch to using sparse keymap library
    eeepc-laptop: dmi blacklist to disable pci hotplug code
    eeepc-laptop: disable cpu speed control on EeePC 701
    ACPI: don't cond_resched if irq is disabled
    ACPI: Remove unnecessary cast.
    ACPI: Advertise to BIOS in _OSC: _OST on _PPC changes
    ACPI: EC: Add wait for irq storm
    ACPI: SBS: Move SBS HC callback to faster Notify queue
    x86, ACPI: delete acpi_boot_table_init() return value
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:
    ecryptfs: use after free
    ecryptfs: Eliminate useless code
    ecryptfs: fix interpose/interpolate typos in comments
    ecryptfs: pass matching flags to interpose as defined and used there
    ecryptfs: remove unnecessary d_drop calls in ecryptfs_link
    ecryptfs: don't ignore return value from lock_rename
    ecryptfs: initialize private persistent file before dereferencing pointer
    eCryptfs: Remove mmap from directory operations
    eCryptfs: Add getattr function
    eCryptfs: Use notify_change for truncating lower inodes

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
    Btrfs: fix possible panic on unmount
    Btrfs: deal with NULL acl sent to btrfs_set_acl
    Btrfs: fix regression in orphan cleanup
    Btrfs: Fix race in btrfs_mark_extent_written
    Btrfs, fix memory leaks in error paths
    Btrfs: align offsets for btrfs_ordered_update_i_size
    btrfs: fix missing last-entry in readdir(3)

    Linus Torvalds
     
  • In free_unmap_area_noflush(), va->flags is marked as VM_LAZY_FREE first, and
    then vmap_lazy_nr is increased atomically.

    But, in __purge_vmap_area_lazy(), while traversing of vmap_are_list, nr
    is counted by checking VM_LAZY_FREE is set to va->flags. After counting
    the variable nr, kernel reads vmap_lazy_nr atomically and checks a
    BUG_ON condition whether nr is greater than vmap_lazy_nr to prevent
    vmap_lazy_nr from being negative.

    The problem is that, if interrupted right after marking VM_LAZY_FREE,
    increment of vmap_lazy_nr can be delayed. Consequently, BUG_ON
    condition can be met because nr is counted more than vmap_lazy_nr.

    It is highly probable when vmalloc/vfree are called frequently. This
    scenario have been verified by adding delay between marking VM_LAZY_FREE
    and increasing vmap_lazy_nr in free_unmap_area_noflush().

    Even the vmap_lazy_nr is for checking high watermark, it never be the
    strict watermark. Although the BUG_ON condition is to prevent
    vmap_lazy_nr from being negative, vmap_lazy_nr is signed variable. So,
    it could go down to negative value temporarily.

    Consequently, removing the BUG_ON condition is proper.

    A possible BUG_ON message is like the below.

    kernel BUG at mm/vmalloc.c:517!
    invalid opcode: 0000 [#1] SMP
    EIP: 0060:[] EFLAGS: 00010297 CPU: 3
    EIP is at __purge_vmap_area_lazy+0x144/0x150
    EAX: ee8a8818 EBX: c08e77d4 ECX: e7c7ae40 EDX: c08e77ec
    ESI: 000081fe EDI: e7c7ae60 EBP: e7c7ae64 ESP: e7c7ae3c
    DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    Call Trace:
    [] free_unmap_vmap_area_noflush+0x69/0x70
    [] remove_vm_area+0x22/0x70
    [] __vunmap+0x45/0xe0
    [] vmalloc+0x2c/0x30
    Code: 8d 59 e0 eb 04 66 90 89 cb 89 d0 e8 87 fe ff ff 8b 43 20 89 da 8d 48 e0 8d 43 20 3b 04 24 75 e7 fe 05 a8 a5 a3 c0 e9 78 ff ff ff 0b eb fe 90 8d b4 26 00 00 00 00 56 89 c6 b8 ac a5 a3 c0 31
    EIP: [] __purge_vmap_area_lazy+0x144/0x150 SS:ESP 0068:e7c7ae3c

    [ See also http://marc.info/?l=linux-kernel&m=126335856228090&w=2 ]

    Signed-off-by: Yongseok Koh
    Reviewed-by: Minchan Kim
    Cc: Nick Piggin
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yongseok Koh
     
  • * 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
    sh64: wire up sys_accept4.
    sh: unwire sys_recvmmsg.
    sh: ms7724: Correct sh-eth EEPROM polling timeout.

    Linus Torvalds