16 Feb, 2011

9 commits

  • * 'tools-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:
    tools: turbostat: style updates
    tools: turbostat: fix bitwise and operand

    Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (21 commits)
    dmaengine: add slave-dma maintainer
    dma: ipu_idmac: do not lose valid received data in the irq handler
    dmaengine: imx-sdma: fix up param for the last BD in sdma_prep_slave_sg()
    dmaengine: imx-sdma: correct sdmac->status in sdma_handle_channel_loop()
    dmaengine: imx-sdma: return sdmac->status in sdma_tx_status()
    dmaengine: imx-sdma: set sdmac->status to DMA_ERROR in err_out of sdma_prep_slave_sg()
    dmaengine: imx-sdma: remove IMX_DMA_SG_LOOP handling in sdma_prep_slave_sg()
    dmaengine i.MX dma: initialize dma capabilities outside channel loop
    dmaengine i.MX DMA: do not initialize chan_id field
    dmaengine i.MX dma: check sg entries for valid addresses and lengths
    dmaengine i.MX dma: set maximum segment size for our device
    dmaengine i.MX SDMA: reserve channel 0 by not registering it
    dmaengine i.MX SDMA: initialize dma capabilities outside channel loop
    dmaengine i.MX SDMA: do not initialize chan_id field
    dmaengine i.MX sdma: check sg entries for valid addresses and lengths
    dmaengine i.MX sdma: set maximum segment size for our device
    DMA: PL08x: fix channel pausing to timeout rather than lockup
    DMA: PL08x: fix infinite wait when terminating transfers
    dmaengine: imx-sdma: fix inconsistent naming in sdma_assign_cookie()
    dmaengine: imx-sdma: propagate error in sdma_probe() instead of returning 0
    ...

    Linus Torvalds
     
  • * 'for-2.6.38' of git://linux-nfs.org/~bfields/linux:
    nfsd: break lease on unlink due to rename
    nfsd4: acquire only one lease per file
    nfsd4: modify fi_delegations under recall_lock
    nfsd4: remove unused deleg dprintk's.
    nfsd4: split lease setting into separate function
    nfsd4: fix leak on allocation error
    nfsd4: add helper function for lease setup
    nfsd4: split up nfsd_break_deleg_cb
    NFSD: memory corruption due to writing beyond the stat array
    NFSD: use nfserr for status after decode_cb_op_status
    nfsd: don't leak dentry count on mnt_want_write failure

    Linus Torvalds
     
  • …kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    Revert "lockdep, timer: Fix del_timer_sync() annotation"

    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    timer debug: Hide kernel addresses via %pK in /proc/timer_list

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

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Fix text_poke_smp_batch() deadlock
    perf tools: Fix thread_map event synthesizing in top and record
    watchdog, nmi: Lower the severity of error messages
    ARM: oprofile: Fix backtraces in timer mode
    oprofile: Fix usage of CONFIG_HW_PERF_EVENTS for oprofile_perf_init and friends

    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, dmi, debug: Log board name (when present) in dmesg/oops output
    x86, ioapic: Don't warn about non-existing IOAPICs if we have none
    x86: Fix mwait_usable section mismatch
    x86: Readd missing irq_to_desc() in fixup_irq()
    x86: Fix section mismatch in LAPIC initialization

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: matrix_keypad - increase the limit of rows and columns
    Input: wacom - fix error path in wacom_probe()
    Input: ads7846 - check proper condition when freeing gpio
    Revert "Input: do not pass injected events back to the originating handler"
    Input: sysrq - rework re-inject logic
    Input: serio - clear pending rescans after sysfs driver rebind
    Input: rotary_encoder - use proper irqflags
    Input: wacom_w8001 - report resolution to userland

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    get rid of nameidata_dentry_drop_rcu() calling nameidata_drop_rcu()
    drop out of RCU in return_reval
    split do_revalidate() into RCU and non-RCU cases
    in do_lookup() split RCU and non-RCU cases of need_revalidate
    nothing in do_follow_link() is going to see RCU

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
    Btrfs: check return value of alloc_extent_map()
    Btrfs - Fix memory leak in btrfs_init_new_device()
    btrfs: prevent heap corruption in btrfs_ioctl_space_info()
    Btrfs: Fix balance panic
    Btrfs: don't release pages when we can't clear the uptodate bits
    Btrfs: fix page->private races

    Linus Torvalds
     

15 Feb, 2011

18 commits

  • task_show_regs used to be a debugging aid in the early bringup days
    of Linux on s390. /proc//status is a world readable file, it
    is not a good idea to show the registers of a process. The only
    correct fix is to remove task_show_regs.

    Reported-by: Al Viro
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Linus Torvalds

    Martin Schwidefsky
     
  • can't happen anymore and didn't work right anyway

    Signed-off-by: Al Viro

    Al Viro
     
  • ... thus killing the need to handle drop-from-RCU in d_revalidate()

    Signed-off-by: Al Viro

    Al Viro
     
  • fixing oopsen in lookup_one_len()

    Signed-off-by: Al Viro

    Al Viro
     
  • and use unlikely() instead of gotos, for fsck sake...

    Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • The "Type 2" SMBIOS record that contains Board Name is not
    strictly required and may be absent in the SMBIOS on some
    platforms.

    ( Please note that Type 2 is not listed in Table 3 in Sec 6.2
    ("Required Structures and Data") of the SMBIOS v2.7
    Specification. )

    Use the Manufacturer Name (aka System Vendor) name.
    Print Board Name only when it is present.

    Before the fix:
    (i) dmesg output: DMI: /ProLiant DL380 G6, BIOS P62 01/29/2011
    (ii) oops output: Pid: 2170, comm: bash Not tainted 2.6.38-rc4+ #3 /ProLiant DL380 G6

    After the fix:
    (i) dmesg output: DMI: HP ProLiant DL380 G6, BIOS P62 01/29/2011
    (ii) oops output: Pid: 2278, comm: bash Not tainted 2.6.38-rc4+ #4 HP ProLiant DL380 G6

    Signed-off-by: Naga Chumbalkar
    Reviewed-by: Bjorn Helgaas
    Cc: # .3x - good for debugging, please apply as far back as it applies cleanly
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Naga Chumbalkar
     
  • mp_find_ioapic() prints errors like:

    ERROR: Unable to locate IOAPIC for GSI 13

    if it can't find the IOAPIC that manages that specific GSI. I
    see errors like that at every boot of a laptop that apparently
    doesn't have any IOAPICs.

    But if there are no IOAPICs it doesn't seem to be an error that
    none can be found. A solution that gets rid of this message is
    to directly return if nr_ioapics (still) is zero. (But keep
    returning -1 in that case, so nothing breaks from this change.)

    The call chain that generates this error is:

    pnpacpi_allocated_resource()
    case ACPI_RESOURCE_TYPE_IRQ:
    pnpacpi_parse_allocated_irqresource()
    acpi_get_override_irq()
    mp_find_ioapic()

    Signed-off-by: Paul Bolle
    Signed-off-by: Ingo Molnar

    Paul Bolle
     
  • …file into perf/urgent

    Ingo Molnar
     
  • * 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm:
    ARM: 6657/1: hw_breakpoint: fix ptrace breakpoint advertising on unsupported arch
    ARM: 6656/1: hw_breakpoint: avoid UNPREDICTABLE behaviour when reading DBGDSCR
    ARM: 6658/1: collie: do actually pass locomo_info to locomo driver
    ARM: 6659/1: Thumb-2: Make CONFIG_OABI_COMPAT depend on !CONFIG_THUMB2_KERNEL
    ARM: 6654/1: perf/oprofile: fix off-by-one in stack check
    ARM: fixup SMP alternatives in modules
    ARM: make SWP emulation explicit on !CPU_USE_DOMAINS
    ARM: Avoid building unsafe kernels on OMAP2 and MX3
    ARM: pxa: Properly configure PWM period for palm27x
    ARM: pxa: only save/restore registers when pm functions are defined
    ARM: pxa/colibri: use correct SD detect pin
    ARM: pxa: fix mfpr_sync to read from valid offset

    Linus Torvalds
     
  • I add the check on the return value of alloc_extent_map() to several places.
    In addition, alloc_extent_map() returns only the address or NULL.
    Therefore, check by IS_ERR() is unnecessary. So, I remove IS_ERR() checking.

    Signed-off-by: Tsutomu Itoh
    Signed-off-by: Chris Mason

    Tsutomu Itoh
     
  • Memory allocated by calling kstrdup() should be freed.

    Signed-off-by: Ilya Dryomov
    Signed-off-by: Chris Mason

    Ilya Dryomov
     
  • Commit bf5fc093c5b625e4259203f1cee7ca73488a5620 refactored
    btrfs_ioctl_space_info() and introduced several security issues.

    space_args.space_slots is an unsigned 64-bit type controlled by a
    possibly unprivileged caller. The comparison as a signed int type
    allows providing values that are treated as negative and cause the
    subsequent allocation size calculation to wrap, or be truncated to 0.
    By providing a size that's truncated to 0, kmalloc() will return
    ZERO_SIZE_PTR. It's also possible to provide a value smaller than the
    slot count. The subsequent loop ignores the allocation size when
    copying data in, resulting in a heap overflow or write to ZERO_SIZE_PTR.

    The fix changes the slot count type and comparison typecast to u64,
    which prevents truncation or signedness errors, and also ensures that we
    don't copy more data than we've allocated in the subsequent loop. Note
    that zero-size allocations are no longer possible since there is already
    an explicit check for space_args.space_slots being 0 and truncation of
    this value is no longer an issue.

    Signed-off-by: Dan Rosenberg
    Signed-off-by: Josef Bacik
    Reviewed-by: Josef Bacik
    Signed-off-by: Chris Mason

    Dan Rosenberg
     
  • Mark the cloned backref_node as checked in clone_backref_node()

    Signed-off-by: Yan, Zheng
    Signed-off-by: Chris Mason

    Yan, Zheng
     
  • * 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6:
    Revert "dt: add documentation of ARM dt boot interface"

    Linus Torvalds
     
  • * 'rtc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    RTC: Fix minor compile warning
    RTC: Convert rtc drivers to use the alarm_irq_enable method
    RTC: Fix rtc driver ioctl specific shortcutting

    Linus Torvalds
     
  • Btrfs tracks uptodate state in an rbtree as well as in the
    page bits. This is supposed to enable us to use block sizes other than
    the page size, but there are a few parts still missing before that
    completely works.

    But, our readpage routine trusts this additional range based tracking
    of uptodateness, much in the same way the buffer head up to date bits
    are trusted for the other filesystems.

    The problem is that sometimes we need to allocate memory in order to
    split records in the rbtree, even when we are just clearing bits. This
    can be difficult when our clearing function is called GFP_ATOMIC, which
    can happen in the releasepage path.

    So, what happens today looks like this:

    releasepage called with GFP_ATOMIC
    btrfs_releasepage calls clear_extent_bit
    clear_extent_bit fails to allocate ram, leaving the up to date bit set
    btrfs_releasepage returns success

    The end result is the page being gone, but btrfs thinking the range is
    up to date. Later on if someone tries to read that same page, the
    btrfs readpage code will return immediately thinking the page is already
    up to date.

    This commit fixes things to fail the releasepage when we can't clear the
    extent state bits. It covers both data pages and metadata tree blocks.

    Signed-off-by: Chris Mason

    Chris Mason
     
  • There is a race where btrfs_releasepage can drop the
    page->private contents just as alloc_extent_buffer is setting
    up pages for metadata. Because of how the Btrfs page flags work,
    this results in us skipping the crc on the page during IO.

    This patch sovles the race by waiting until after the extent buffer
    is inserted into the radix tree before it sets page private.

    Signed-off-by: Chris Mason

    Chris Mason
     

14 Feb, 2011

13 commits