20 Dec, 2009

4 commits

  • …el/git/tip/linux-2.6-tip

    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    timers: Remove duplicate setting of new_base in __mod_timer()
    clockevents: Prevent clockevent_devices list corruption on cpu hotplug

    Linus Torvalds
     
  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
    [S390] Use strim instead of strstrip to avoid false warnings.
    [S390] qdio: add counter for input queue full condition
    [S390] qdio: remove superfluous log entries and WARN_ONs.
    [S390] ptrace: dont abuse PT_PTRACED
    [S390] cio: fix channel path vary
    [S390] drivers: Correct size given to memset
    [S390] tape: Add pr_fmt() macro to all tape source files
    [S390] rename NT_PRXSTATUS to NT_S390_HIGHREGS
    [S390] tty: PTR_ERR return of wrong pointer in fs3270_open()
    [S390] s390: PTR_ERR return of wrong pointer in fallback_init_cip()
    [S390] dasd: PTR_ERR return of wrong pointer in
    [S390] dasd: move dasd-diag kmsg to dasd
    [S390] cio: fix drvdata usage for the console subchannel
    [S390] wire up sys_recvmmsg

    Linus Torvalds
     
  • Several leaks in audit_tree didn't get caught by commit
    318b6d3d7ddbcad3d6867e630711b8a705d873d7, including the leak on normal
    exit in case of multiple rules refering to the same chunk.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • ... aka "Al had badly fscked up when writing that thing and nobody
    noticed until Eric had fixed leaks that used to mask the breakage".

    The function essentially creates a copy of old array sans one element
    and replaces the references to elements of original (they are on cyclic
    lists) with those to corresponding elements of new one. After that the
    old one is fair game for freeing.

    First of all, there's a dumb braino: when we get to list_replace_init we
    use indices for wrong arrays - position in new one with the old array
    and vice versa.

    Another bug is more subtle - termination condition is wrong if the
    element to be excluded happens to be the last one. We shouldn't go
    until we fill the new array, we should go until we'd finished the old
    one. Otherwise the element we are trying to kill will remain on the
    cyclic lists...

    That crap used to be masked by several leaks, so it was not quite
    trivial to hit. Eric had fixed some of those leaks a while ago and the
    shit had hit the fan...

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

19 Dec, 2009

15 commits


18 Dec, 2009

21 commits

  • Linus Torvalds
     
  • …/rusty/linux-2.6-for-linus

    * 'cpumask-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
    cpumask: rename tsk_cpumask to tsk_cpus_allowed
    cpumask: don't recommend set_cpus_allowed hack in Documentation/cpu-hotplug.txt
    cpumask: avoid dereferencing struct cpumask
    cpumask: convert drivers/idle/i7300_idle.c to cpumask_var_t
    cpumask: use modern cpumask style in drivers/scsi/fcoe/fcoe.c
    cpumask: avoid deprecated function in mm/slab.c
    cpumask: use cpu_online in kernel/perf_event.c

    Linus Torvalds
     
  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
    Keys: KEYCTL_SESSION_TO_PARENT needs TIF_NOTIFY_RESUME architecture support
    NOMMU: Optimise away the {dac_,}mmap_min_addr tests
    security/min_addr.c: make init_mmap_min_addr() static
    keys: PTR_ERR return of wrong pointer in keyctl_get_security()

    Linus Torvalds
     
  • …/git/tmlind/linux-omap-2.6

    * 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:
    OMAP3: serial - fix bug introduced in
    mfd: twl: fix twl4030 rename for remaining driver, board files
    USB ehci: replace mach header with plat
    omap3: Allow EHCI to be built on OMAP3

    Linus Torvalds
     
  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    hwmon: (w83627hf) Fix for "No such device"
    hwmon: (sht15) Off-by-one error in array index + incorrect constants
    hwmon: Add driver for VIA CPU core temperature
    hwmon: (smsc47m1) Enable device if needed
    hwmon: (smsc47m1) Fail module loading on error
    hwmon: (smsc47m1) Only request I/O ports we really use
    hwmon: New driver for AMD Family 10h/11h CPUs

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (40 commits)
    [SCSI] 3w-9xxx fix bug in sgl loading
    [SCSI] fcoe, libfc: adds enable/disable for fcoe interface
    [SCSI] libfc: reduce hold time on SCSI host lock
    [SCSI] libfc: remote port gets stuck in restart state without really restarting
    [SCSI] pm8001: misc code cleanup
    [SCSI] pm8001: enable read HBA SAS address from VPD
    [SCSI] pm8001: do not reset local sata as it will not be found if reset
    [SCSI] pm8001: bit set pm8001_ha->flags
    [SCSI] pm8001:fix potential NULL pointer dereference
    [SCSI] pm8001: set SSC down-spreading only to get less errors on some 6G device.
    [SCSI] pm8001: fix endian issues with SAS address
    [SCSI] pm8001: enhance error handle for IO patch
    [SCSI] pm8001: Fix for sata io circular lock dependency.
    [SCSI] hpsa: add driver for HP Smart Array controllers.
    [SCSI] cxgb3i: always use negative errno in case of error
    [SCSI] bnx2i: minor code cleanup and update driver version
    [SCSI] bnx2i: Task management ABORT TASK fixes
    [SCSI] bnx2i: update CQ arming algorith for 5771x chipsets
    [SCSI] bnx2i: Adjust sq_size module parametr to power of 2 only if a non-zero value is specified
    [SCSI] bnx2i: Add 5771E device support to bnx2i driver
    ...

    Linus Torvalds
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (71 commits)
    MIPS: Lasat: Fix botched changes to sysctl code.
    RTC: rtc-cmos.c: Fix warning on MIPS
    MIPS: Cleanup random differences beween lmo and Linus' kernel.
    MIPS: No longer hardwire CONFIG_EMBEDDED to y
    MIPS: Fix and enhance built-in kernel command line
    MIPS: eXcite: Remove platform.
    MIPS: Loongson: Cleanups of serial port support
    MIPS: Lemote 2F: Suspend CS5536 MFGPT Timer
    MIPS: Excite: move iodev_remove to .devexit.text
    MIPS: Lasat: Convert to proc_fops / seq_file
    MIPS: Cleanup signal code initialization
    MIPS: Modularize COP2 handling
    MIPS: Move EARLY_PRINTK to Kconfig.debug
    MIPS: Yeeloong 2F: Cleanup reset logic using the new ec_write function
    MIPS: Yeeloong 2F: Add LID open event as the wakeup event
    MIPS: Yeeloong 2F: Add basic EC operations
    MIPS: Move several variables from .bss to .init.data
    MIPS: Tracing: Make function graph tracer work with -mmcount-ra-address
    MIPS: Tracing: Reserve $12(t0) for mcount-ra-address of gcc 4.5
    MIPS: Tracing: Make ftrace for MIPS work without -fno-omit-frame-pointer
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
    Btrfs: make sure fallocate properly starts a transaction
    Btrfs: make metadata chunks smaller
    Btrfs: Show discard option in /proc/mounts
    Btrfs: deny sys_link across subvolumes.
    Btrfs: fail mount on bad mount options
    Btrfs: don't add extent 0 to the free space cache v2
    Btrfs: Fix per root used space accounting
    Btrfs: Fix btrfs_drop_extent_cache for skip pinned case
    Btrfs: Add delayed iput
    Btrfs: Pass transaction handle to security and ACL initialization functions
    Btrfs: Make truncate(2) more ENOSPC friendly
    Btrfs: Make fallocate(2) more ENOSPC friendly
    Btrfs: Avoid orphan inodes cleanup during committing transaction
    Btrfs: Avoid orphan inodes cleanup while replaying log
    Btrfs: Fix disk_i_size update corner case
    Btrfs: Rewrite btrfs_drop_extents
    Btrfs: Add btrfs_duplicate_item
    Btrfs: Avoid superfluous tree-log writeout

    Linus Torvalds
     
  • * 'kmemleak' of git://linux-arm.org/linux-2.6:
    kmemleak: fix kconfig for crc32 build error
    kmemleak: Reduce the false positives by checking for modified objects
    kmemleak: Show the age of an unreferenced object
    kmemleak: Release the object lock before calling put_object()
    kmemleak: Scan the _ftrace_events section in modules
    kmemleak: Simplify the kmemleak_scan_area() function prototype
    kmemleak: Do not use off-slab management with SLAB_NOLEAKTRACE

    Linus Torvalds
     
  • * 'next-spi' of git://git.secretlab.ca/git/linux-2.6:
    spi: spi_txx9.c: use resource_size()
    spi: spi_sh_sci.c: use resource_size()
    spi: spi_mpc8xxx.c: use resource_size()
    spi: spi_bfin5xx.c: use resource_size()
    spi: atmel_spi.c: use resource_size()
    spi: Add s3c64xx SPI Controller driver
    atmel_spi: fix dma addr calculation for len > BUFFER_SIZE
    spi_s3c24xx: add FIQ pseudo-DMA support
    spi: controller driver for Designware SPI core
    spidev: add proper section markers
    spidev: use DECLARE_BITMAP instead of declaring the array

    Linus Torvalds
     
  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
    backlight: mbp_nvidia_bl - add two more MacBookPro variants
    backlight: Pass device through notify callback in the pwm driver
    backlight: PTR_ERR return of wrong pointer in cr_backlight_probe()
    backlight: Constify struct backlight_ops
    backlight/thinkpad-acpi: issue backlight class events

    Fix up trivial conflicts in thinkpad-acpi support (backlight support
    already merged earlier).

    Linus Torvalds
     
  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds:
    leds: leds-pwm: Set led_classdev max_brightness
    leds: leds-lp3944.h - remove unneeded includes
    leds: use default-on trigger for Cobalt Qube
    leds: drivers/leds/leds-ss4200.c: fix return statement
    leds: leds-pca9532.h- indent with tabs, not spaces
    leds: Add LED class driver for regulator driven LEDs.
    leds: leds-cobalt-qube.c: use resource_size()
    leds: leds-cobalt-raq.c - use resource_size()
    leds: Add driver for ADP5520/ADP5501 MFD PMICs
    leds: Add driver for LT3593 controlled LEDs
    leds-ss4200: Check pci_enable_device return
    leds: leds-alix2c - take port address from MSR
    leds: LED driver for Intel NAS SS4200 series (v5)

    Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
    PCMCIA: fix pxa2xx_lubbock modular build error
    [ARM] Update mach-types
    [ARM] pxa: fix no reference of cpu_is_pxa25x() in devices.c
    [ARM] pxa/cm-x300: add PWM backlight support
    revert "[ARM] pxa/cm-x300: add PWM backlight support"
    ARM: use flush_kernel_dcache_area() for dmabounce
    ARM: add size argument to __cpuc_flush_dcache_page
    ARM: 5848/1: kill flush_ioremap_region()
    ARM: cache-l2x0: make better use of background cache handling
    ARM: cache-l2x0: avoid taking spinlock for every iteration
    [ARM] Kirkwood: Add LaCie Network Space v2 support
    ARM: dove: fix the mm mmu flags of the pj4 procinfo

    Linus Torvalds
     
  • Fix kernel-doc warnings in printk.c:

    Warning(kernel/printk.c:1422): No description found for parameter 'dumper'
    Warning(kernel/printk.c:1422): Excess function parameter 'dump' description in 'kmsg_dump_register'
    Warning(kernel/printk.c:1451): No description found for parameter 'dumper'
    Warning(kernel/printk.c:1451): Excess function parameter 'dump' description in 'kmsg_dump_unregister'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • I added blk_run_backing_dev on page_cache_async_readahead so readahead I/O
    is unpluged to improve throughput on especially RAID environment.

    The normal case is, if page N become uptodate at time T(N), then T(N)
    Acked-by: Wu Fengguang
    Cc: Jens Axboe
    Cc: KOSAKI Motohiro
    Tested-by: Ronald
    Cc: Bart Van Assche
    Cc: Vladislav Bolkhovitin
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hisashi Hifumi
     
  • RTC core won't allow wakeup alarms to be set if RTC devices' parent (i.e.
    i2c_client or spi_device) isn't wakeup capable.

    For I2C devices there is I2C_CLIENT_WAKE flag exists that we can pass via
    board info, and if set, I2C core will initialize wakeup capability. For
    SPI devices there is no such flag at all.

    I believe that it's not platform code responsibility to allow or disallow
    wakeups, instead, drivers themselves should set the capability if a device
    can trigger wakeups.

    That's what drivers/base/power/sysfs.c says:

    * It is the responsibility of device drivers to enable (or disable)
    * wakeup signaling as part of changing device power states, respecting
    * the policy choices provided through the driver model.

    I2C and SPI RTC devices send wakeup events via interrupt lines, so we
    should set the wakeup capability if IRQ is routed.

    Ideally we should also check irq for wakeup capability before setting
    device's capability, i.e.

    if (can_irq_wake(irq))
    device_set_wakeup_capable(&client->dev, 1);

    But there is no can_irq_wake() call exist, and it is not that trivial to
    implement it for all interrupts controllers and complex/cascaded setups.

    drivers/base/power/sysfs.c also covers these cases:

    * Devices may not be able to generate wakeup events from all power
    * states. Also, the events may be ignored in some configurations;
    * for example, they might need help from other devices that aren't
    * active

    So there is no guarantee that wakeup will actually work, and so I think
    there is no point in being pedantic wrt checking IRQ wakeup capability.

    Signed-off-by: Anton Vorontsov
    Cc: David Brownell
    Cc: Ben Dooks
    Cc: Jean Delvare
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • Add support for the Secure Digital Host Controller Interface found on the
    "Hollywood" chipset of the Nintendo Wii video game console.

    Signed-off-by: Albert Herranz
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Albert Herranz
     
  • This patch breaks down sdhci-of into a core portion and a eSDHC portion,
    clearing the path to easily support additional hardware using the same OF
    driver.

    Signed-off-by: Albert Herranz
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Albert Herranz
     
  • This patch renames sdhci-of.c to sdhci-of-core.c before reorganizing the
    driver to support additional hardware.

    The driver is still built as sdhci-of despite the rename of the file. No
    functional change.

    Signed-off-by: Albert Herranz
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Albert Herranz
     
  • Signed-off-by: Albert Herranz
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Albert Herranz
     
  • Daniel Drake noticed a crash in the error path of mmc_attach_sdio(). This
    bug is discussed at http://dev.laptop.org/ticket/9707.

    BUG: unable to handle kernel paging request at 6b6b6c57
    IP: [] sdio_remove_func+0x9/0x27
    Call Trace:
    [] ? mmc_sdio_remove+0x34/0x65
    [] ? mmc_attach_sdio+0x217/0x240
    [] ? mmc_rescan+0x1a2/0x20f
    [] ? worker_thread+0x156/0x1e

    We need to accurately track how many SDIO functions have been initialised
    (and keep card->sdio_funcs in sync) so that we don't try to remove more
    functions than we initialised if we hit the error path in
    mmc_attach_sdio().

    Without this patch if we hit the error path in mmc_attach_sdio() we run
    the risk of deferencing invalid memory in sdio_remove_func(), leading to a
    crash.

    Signed-off-by: Matt Fleming
    Cc: Daniel Drake
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Fleming