12 Jan, 2010

5 commits

  • The list macros use LIST_POISON1 and LIST_POISON2 as undereferencable
    pointers in order to trap erronous use of freed list_heads. Unfortunately
    userspace can arrange for those pointers to actually be dereferencable,
    potentially turning an oops to an expolit.

    To avoid this allow architectures (currently x86_64 only) to override
    the default values for these pointers with truly-undereferencable values.
    This is easy on x86_64 as the virtual address space is large and contains
    areas that cannot be mapped.

    Other 64-bit architectures will likely find similar unmapped ranges.

    [ingo: switch to 0xdead000000000000 as the unmapped area]
    [ingo: add comments, cleanup]
    [jaswinder: eliminate sparse warnings]

    Acked-by: Linus Torvalds
    Signed-off-by: Jaswinder Singh Rajput
    Signed-off-by: Ingo Molnar
    Signed-off-by: Avi Kivity
    Signed-off-by: Linus Torvalds

    Avi Kivity
     
  • Signed-off-by: Michael Hennerich
    Signed-off-by: Mike Frysinger
    Cc: Jean Delvare
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Hennerich
     
  • This patch series adds generic support for creating and extracting
    LZO-compressed kernel images, as well as support for using such images on
    the x86 and ARM architectures, and support for creating and using
    LZO-compressed initrd and initramfs images.

    Russell King said:

    : Testing on a Cortex A9 model:
    : - lzo decompressor is 65% of the time gzip takes to decompress a kernel
    : - lzo kernel is 9% larger than a gzip kernel
    :
    : which I'm happy to say confirms your figures when comparing the two.
    :
    : However, when comparing your new gzip code to the old gzip code:
    : - new is 99% of the size of the old code
    : - new takes 42% of the time to decompress than the old code
    :
    : What this means is that for a proper comparison, the results get even better:
    : - lzo is 7.5% larger than the old gzip'd kernel image
    : - lzo takes 28% of the time that the old gzip code took
    :
    : So the expense seems definitely worth the effort. The only reason I
    : can think of ever using gzip would be if you needed the additional
    : compression (eg, because you have limited flash to store the image.)
    :
    : I would argue that the default for ARM should therefore be LZO.

    This patch:

    The lzo compressor is worse than gzip at compression, but faster at
    extraction. Here are some figures for an ARM board I'm working on:

    Uncompressed size: 3.24Mo
    gzip 1.61Mo 0.72s
    lzo 1.75Mo 0.48s

    So for a compression ratio that is still relatively close to gzip, it's
    much faster to extract, at least in that case.

    This part contains:
    - Makefile routine to support lzo compression
    - Fixes to the existing lzo compressor so that it can be used in
    compressed kernels
    - wrapper around the existing lzo1x_decompress, as it only extracts one
    block at a time, while we need to extract a whole file here
    - config dialog for kernel compression

    [akpm@linux-foundation.org: coding-style fixes]
    [akpm@linux-foundation.org: cleanup]
    Signed-off-by: Albin Tonnerre
    Tested-by: Wu Zhangjin
    Acked-by: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Tested-by: Russell King
    Acked-by: Russell King
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Albin Tonnerre
     
  • It turns out that even zero-sized struct members (int foo[0];) will affect
    the struct layout, causing us in particular to lose 4 bytes in struct
    sock.

    This patch fixes the regression in CONFIG_KMEMCHECK=n case.

    Reported-by: Eric Dumazet
    Signed-off-by: Vegard Nossum
    Acked-by: Pekka Enberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vegard Nossum
     
  • Makes it consistent with the extern declaration, used when CONFIG_HIGHMEM
    is set Removes redundant casts in printout messages

    Signed-off-by: Andreas Fenkart
    Acked-by: Russell King
    Cc: Ralf Baechle
    Cc: David Howells
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Chen Liqin
    Cc: Lennox Wu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Fenkart
     

09 Jan, 2010

2 commits


08 Jan, 2010

2 commits


07 Jan, 2010

1 commit

  • When working with FDPIC, there are many shared mappings of read-only
    code regions between applications (the C library, applet packages like
    busybox, etc.), but the current do_mmap_pgoff() function will issue an
    icache flush whenever a VMA is added to an MM instead of only doing it
    when the map is initially created.

    The flush can instead be done when a region is first mmapped PROT_EXEC.
    Note that we may not rely on the first mapping of a region being
    executable - it's possible for it to be PROT_READ only, so we have to
    remember whether we've flushed the region or not, and then flush the
    entire region when a bit of it is made executable.

    However, this also affects the brk area. That will no longer be
    executable. We can mprotect() it to PROT_EXEC on MPU-mode kernels, but
    for NOMMU mode kernels, when it increases the brk allocation, making
    sys_brk() flush the extra from the icache should suffice. The brk area
    probably isn't used by NOMMU programs since the brk area can only use up
    the leavings from the stack allocation, where the stack allocation is
    larger than requested.

    Signed-off-by: David Howells
    Signed-off-by: Mike Frysinger
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     

05 Jan, 2010

1 commit

  • It turns out that some PCI devices require extra delays when changing
    power state from D3 to D0 (and the other way around). Although this
    is against the PCI specification, we can handle it quite easily by
    allowing drivers to define arbitrary D3 delays for devices known to
    require extra time for switching power states.

    Introduce additional field d3_delay in struct pci_dev and use it to
    store the value of the device's D0->D3 delay, in miliseconds. Make
    the PCI PM core code use the per-device d3_delay unless
    pci_pm_d3_delay is greater (in which case the latter is used).
    [This also allows the driver to specify d3_delay shorter than the
    10 ms required by the PCI standard if the device is known to be able
    to handle that.]

    Make the sky2 driver set d3_delay to 150 for devices handled by it.

    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=14730 which is a
    listed regression from 2.6.30.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Jesse Barnes

    Rafael J. Wysocki
     

04 Jan, 2010

2 commits

  • We want to be sure that compiler fetches the limit variable only
    once, so add helpers for fetching current and maximal resource
    limits which do that.

    Add them to sched.h (instead of resource.h) due to circular dependency
    sched.h->resource.h->task_struct
    Alternative would be to create a separate res_access.h or similar.

    Signed-off-by: Jiri Slaby
    Cc: James Morris
    Cc: Heiko Carstens
    Cc: Andrew Morton
    Cc: Ingo Molnar

    Jiri Slaby
     
  • It is an internal function. Move it inside __KERNEL__ ifdef, along
    with task_struct declaration.

    Then we get:
    --- /usr/include/linux/resource.h 2009-09-14 15:09:29.000000000 +0200
    +++ usr/include/linux/resource.h 2010-01-04 11:30:54.000000000 +0100
    @@ -3,8 +3,6 @@

    #include

    -struct task_struct;
    -
    /*
    * Resource control/accounting header file for linux
    */
    @@ -70,6 +68,5 @@
    */
    #include

    -int getrusage(struct task_struct *p, int who, struct rusage *ru);

    #endif

    ***********

    include/linux/Kbuild is untouched, since unifdef is run even on
    headers-y nowadays.

    Signed-off-by: Jiri Slaby

    Jiri Slaby
     

03 Jan, 2010

1 commit

  • …t/frederic/random-tracing

    * 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:
    reiserfs: Safely acquire i_mutex from xattr_rmdir
    reiserfs: Safely acquire i_mutex from reiserfs_for_each_xattr
    reiserfs: Fix journal mutex <-> inode mutex lock inversion
    reiserfs: Fix unwanted recursive reiserfs lock in reiserfs_unlink()
    reiserfs: Relax lock before open xattr dir in reiserfs_xattr_set_handle()
    reiserfs: Relax reiserfs lock while freeing the journal
    reiserfs: Fix reiserfs lock <-> i_mutex dependency inversion on xattr
    reiserfs: Warn on lock relax if taken recursively
    reiserfs: Fix reiserfs lock <-> i_xattr_sem dependency inversion
    reiserfs: Fix remaining in-reclaim-fs <-> reclaim-fs-on locking inversion
    reiserfs: Fix reiserfs lock <-> inode mutex dependency inversion
    reiserfs: Fix reiserfs lock and journal lock inversion dependency
    reiserfs: Fix possible recursive lock

    Linus Torvalds
     

02 Jan, 2010

2 commits

  • When we relax the reiserfs lock to avoid creating unwanted
    dependencies against others locks while grabbing these,
    we want to ensure it has not been taken recursively, otherwise
    the lock won't be really relaxed. Only its depth will be decreased.
    The unwanted dependency would then actually happen.

    To prevent from that, add a reiserfs_lock_check_recursive() call
    in the places that need it.

    Signed-off-by: Frederic Weisbecker
    Cc: Alexander Beregalov
    Cc: Chris Mason
    Cc: Ingo Molnar

    Frederic Weisbecker
     
  • i_xattr_sem depends on the reiserfs lock. But after we grab
    i_xattr_sem, we may relax/relock the reiserfs lock while waiting
    on a freezed filesystem, creating a dependency inversion between
    the two locks.

    In order to avoid the i_xattr_sem -> reiserfs lock dependency, let's
    create a reiserfs_down_read_safe() that acts like
    reiserfs_mutex_lock_safe(): relax the reiserfs lock while grabbing
    another lock to avoid undesired dependencies induced by the
    heivyweight reiserfs lock.

    This fixes the following warning:

    [ 990.005931] =======================================================
    [ 990.012373] [ INFO: possible circular locking dependency detected ]
    [ 990.013233] 2.6.33-rc1 #1
    [ 990.013233] -------------------------------------------------------
    [ 990.013233] dbench/1891 is trying to acquire lock:
    [ 990.013233] (&REISERFS_SB(s)->lock){+.+.+.}, at: [] reiserfs_write_lock+0x35/0x50
    [ 990.013233]
    [ 990.013233] but task is already holding lock:
    [ 990.013233] (&REISERFS_I(inode)->i_xattr_sem){+.+.+.}, at: [] reiserfs_xattr_set_handle+0x8a/0x470
    [ 990.013233]
    [ 990.013233] which lock already depends on the new lock.
    [ 990.013233]
    [ 990.013233]
    [ 990.013233] the existing dependency chain (in reverse order) is:
    [ 990.013233]
    [ 990.013233] -> #1 (&REISERFS_I(inode)->i_xattr_sem){+.+.+.}:
    [ 990.013233] [] __lock_acquire+0xf9c/0x1560
    [ 990.013233] [] lock_acquire+0x8f/0xb0
    [ 990.013233] [] down_write+0x44/0x80
    [ 990.013233] [] reiserfs_xattr_set_handle+0x8a/0x470
    [ 990.013233] [] reiserfs_xattr_set+0xb0/0x150
    [ 990.013233] [] user_set+0x8a/0x90
    [ 990.013233] [] reiserfs_setxattr+0xaa/0xb0
    [ 990.013233] [] __vfs_setxattr_noperm+0x36/0xa0
    [ 990.013233] [] vfs_setxattr+0xbc/0xc0
    [ 990.013233] [] setxattr+0xc0/0x150
    [ 990.013233] [] sys_fsetxattr+0x8d/0xa0
    [ 990.013233] [] system_call_fastpath+0x16/0x1b
    [ 990.013233]
    [ 990.013233] -> #0 (&REISERFS_SB(s)->lock){+.+.+.}:
    [ 990.013233] [] __lock_acquire+0x12d0/0x1560
    [ 990.013233] [] lock_acquire+0x8f/0xb0
    [ 990.013233] [] __mutex_lock_common+0x47/0x3b0
    [ 990.013233] [] mutex_lock_nested+0x3e/0x50
    [ 990.013233] [] reiserfs_write_lock+0x35/0x50
    [ 990.013233] [] reiserfs_prepare_write+0x45/0x180
    [ 990.013233] [] reiserfs_xattr_set_handle+0x2a6/0x470
    [ 990.013233] [] reiserfs_xattr_set+0xb0/0x150
    [ 990.013233] [] user_set+0x8a/0x90
    [ 990.013233] [] reiserfs_setxattr+0xaa/0xb0
    [ 990.013233] [] __vfs_setxattr_noperm+0x36/0xa0
    [ 990.013233] [] vfs_setxattr+0xbc/0xc0
    [ 990.013233] [] setxattr+0xc0/0x150
    [ 990.013233] [] sys_fsetxattr+0x8d/0xa0
    [ 990.013233] [] system_call_fastpath+0x16/0x1b
    [ 990.013233]
    [ 990.013233] other info that might help us debug this:
    [ 990.013233]
    [ 990.013233] 2 locks held by dbench/1891:
    [ 990.013233] #0: (&sb->s_type->i_mutex_key#12){+.+.+.}, at: [] vfs_setxattr+0x78/0xc0
    [ 990.013233] #1: (&REISERFS_I(inode)->i_xattr_sem){+.+.+.}, at: [] reiserfs_xattr_set_handle+0x8a/0x470
    [ 990.013233]
    [ 990.013233] stack backtrace:
    [ 990.013233] Pid: 1891, comm: dbench Not tainted 2.6.33-rc1 #1
    [ 990.013233] Call Trace:
    [ 990.013233] [] print_circular_bug+0xe9/0xf0
    [ 990.013233] [] __lock_acquire+0x12d0/0x1560
    [ 990.013233] [] ? reiserfs_xattr_set_handle+0x8a/0x470
    [ 990.013233] [] lock_acquire+0x8f/0xb0
    [ 990.013233] [] ? reiserfs_write_lock+0x35/0x50
    [ 990.013233] [] ? reiserfs_xattr_set_handle+0x8a/0x470
    [ 990.013233] [] __mutex_lock_common+0x47/0x3b0
    [ 990.013233] [] ? reiserfs_write_lock+0x35/0x50
    [ 990.013233] [] ? reiserfs_write_lock+0x35/0x50
    [ 990.013233] [] ? mark_held_locks+0x72/0xa0
    [ 990.013233] [] ? __mutex_unlock_slowpath+0xbd/0x140
    [ 990.013233] [] ? trace_hardirqs_on_caller+0x14d/0x1a0
    [ 990.013233] [] mutex_lock_nested+0x3e/0x50
    [ 990.013233] [] reiserfs_write_lock+0x35/0x50
    [ 990.013233] [] reiserfs_prepare_write+0x45/0x180
    [ 990.013233] [] reiserfs_xattr_set_handle+0x2a6/0x470
    [ 990.013233] [] reiserfs_xattr_set+0xb0/0x150
    [ 990.013233] [] ? __mutex_lock_common+0x284/0x3b0
    [ 990.013233] [] user_set+0x8a/0x90
    [ 990.013233] [] reiserfs_setxattr+0xaa/0xb0
    [ 990.013233] [] __vfs_setxattr_noperm+0x36/0xa0
    [ 990.013233] [] vfs_setxattr+0xbc/0xc0
    [ 990.013233] [] setxattr+0xc0/0x150
    [ 990.013233] [] ? sched_clock_cpu+0xb8/0x100
    [ 990.013233] [] ? trace_hardirqs_off+0xd/0x10
    [ 990.013233] [] ? cpu_clock+0x43/0x50
    [ 990.013233] [] ? fget+0xb0/0x110
    [ 990.013233] [] ? fget+0x0/0x110
    [ 990.013233] [] ? sysret_check+0x27/0x62
    [ 990.013233] [] sys_fsetxattr+0x8d/0xa0
    [ 990.013233] [] system_call_fastpath+0x16/0x1b

    Reported-and-tested-by: Christian Kujau
    Signed-off-by: Frederic Weisbecker
    Cc: Alexander Beregalov
    Cc: Chris Mason
    Cc: Ingo Molnar

    Frederic Weisbecker
     

01 Jan, 2010

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    firewire, ieee1394: update Kconfig help
    firewire, ieee1394: update MAINTAINERS entries
    firewire: ohci: always use packet-per-buffer mode for isochronous reception
    firewire: cdev: fix another memory leak in an error path
    firewire: fix use of multiple AV/C devices, allow multiple FCP listeners

    Comments from Stefan:

    Distributors who still ship the old stack (ieee1394, ohci1394,
    raw1394, sbp2, eth1394 and more) should now switch to the new one
    (firewire-core, firewire-ohci, firewire-sbp2, firewire-net). In the
    first iteration, those distributors might want to ship the old stack
    also (but blacklisted) as a fallback for their users if unforeseen
    problems with the newer replacement drivers are encountered.

    The older FireWire stack contains several known problems which are
    not going to be fixed; instead, those issues are addressed by the new
    stack. An incomplete list of these issues is kept in bugzilla:

    http://bugzilla.kernel.org/show_bug.cgi?id=10046

    We have a guide on migration from the older to the newer stack:

    http://ieee1394.wiki.kernel.org/index.php/Juju_Migration

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

    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    tracing: Fix sign fields in ftrace_define_fields_##call()
    tracing/syscalls: Fix typo in SYSCALL_DEFINE0
    tracing/kprobe: Show sign of fields in trace_kprobe format files
    ksym_tracer: Remove trace_stat
    ksym_tracer: Fix race when incrementing count
    ksym_tracer: Fix to allow writing newline to ksym_trace_filter
    ksym_tracer: Fix to make the tracer work
    tracing: Kconfig spelling fixes and cleanups
    tracing: Fix setting tracer specific options
    Documentation: Update ftrace-design.txt
    Documentation: Update tracepoint-analysis.txt
    Documentation: Update mmiotrace.txt

    Linus Torvalds
     

31 Dec, 2009

7 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
    ACPI: introduce kernel parameter acpi_sleep=sci_force_enable
    ACPI: WMI: Survive BIOS with duplicate GUIDs
    dell-wmi - fix condition to abort driver loading
    wmi: check find_guid() return value to prevent oops
    dell-wmi, hp-wmi, msi-wmi: check wmi_get_event_data() return value
    ACPI: hp-wmi, msi-wmi: clarify that wmi_install_notify_handler() returns an acpi_status
    dell-wmi: sys_init_module: 'dell_wmi'->init suspiciously returned 21, it should
    ACPI video: correct error-handling code
    ACPI video: no warning message if "acpi_backlight=vendor" is used
    ACPI: fix ACPI=n allmodconfig build
    thinkpad-acpi: improve Kconfig help text
    thinkpad-acpi: update volume subdriver documentation
    thinkpad-acpi: make volume subdriver optional
    thinkpad-acpi: don't fail to load the entire module due to ALSA problems
    thinkpad-acpi: don't take the first ALSA slot by default

    Linus Torvalds
     
  • Introduce kernel parameter acpi_sleep=sci_force_enable

    some laptop requires SCI_EN being set directly on resume,
    or else they hung somewhere in the resume code path.

    We already have a blacklist for these laptops but we still need
    this option, especially when debugging some suspend/resume problems,
    in case there are systems that need this workaround and are not yet
    in the blacklist.

    Signed-off-by: Zhang Rui
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Zhang Rui
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    ext4: Patch up how we claim metadata blocks for quota purposes
    ext4: Ensure zeroout blocks have no dirty metadata
    ext4: return correct wbc.nr_to_write in ext4_da_writepages
    ext4: Update documentation to correct the inode_readahead_blks option name
    jbd2: don't use __GFP_NOFAIL in journal_init_common()
    ext4: flush delalloc blocks when space is low
    fs-writeback: Add helper function to start writeback if idle
    ext4: Eliminate potential double free on error path
    ext4: fix unsigned long long printk warning in super.c
    ext4, jbd2: Add barriers for file systems with exernal journals
    ext4: replace BUG() with return -EIO in ext4_ext_get_blocks
    ext4: add module aliases for ext2 and ext3
    ext4: Don't ask about supporting ext2/3 in ext4 if ext4 is not configured
    ext4: remove unused #include

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI/cardbus: Add a fixup hook and fix powerpc
    PCI: change PCI nomenclature in drivers/pci/ (non-comment changes)
    PCI: change PCI nomenclature in drivers/pci/ (comment changes)
    PCI: fix section mismatch on update_res()
    PCI: add Intel 82599 Virtual Function specific reset method
    PCI: add Intel USB specific reset method
    PCI: support device-specific reset methods
    PCI: Handle case when no pci device can provide cache line size hint
    PCI/PM: Propagate wake-up enable for PCIe devices too
    vgaarbiter: fix a typo in the vgaarbiter Documentation

    Linus Torvalds
     
  • It's DECLARE_KFIFO, not DECLARED_KFIFO.

    Signed-off-by: Rolf Eike Beer
    Signed-off-by: Linus Torvalds

    Rolf Eike Beer
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    block: blk_rq_err_sectors cleanup
    block: Honor the gfp_mask for alloc_page() in blkdev_issue_discard()
    block: Fix incorrect alignment offset reporting and update documentation
    cfq-iosched: don't regard requests with long distance as close
    aoe: switch to the new bio_flush_dcache_pages() interface
    drivers/block/mg_disk.c: use resource_size()
    drivers/block/DAC960.c: use DAC960_V2_Controller
    block: Fix topology stacking for data and discard alignment
    drbd: remove unused #include
    drbd: remove duplicated #include
    drbd: Fix test of unsigned in _drbd_fault_random()
    drbd: Constify struct file_operations
    cfq-iosched: Remove prio_change logic for workload selection
    cfq-iosched: Get rid of nr_groups
    cfq-iosched: Remove the check for same cfq group from allow_merge
    drbd: fix test of unsigned in _drbd_fault_random()
    block: remove Documentation/block/as-iosched.txt

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (74 commits)
    Revert "b43: Enforce DMA descriptor memory constraints"
    iwmc3200wifi: fix array out-of-boundary access
    wl1251: timeout one too soon in wl1251_boot_run_firmware()
    mac80211: fix propagation of failed hardware reconfigurations
    mac80211: fix race with suspend and dynamic_ps_disable_work
    ath9k: fix missed error codes in the tx status check
    ath9k: wake hardware during AMPDU TX actions
    ath9k: wake hardware for interface IBSS/AP/Mesh removal
    ath9k: fix suspend by waking device prior to stop
    cfg80211: fix error path in cfg80211_wext_siwscan
    wl1271_cmd.c: cleanup char => u8
    iwlwifi: Storage class should be before const qualifier
    ath9k: Storage class should be before const qualifier
    cfg80211: fix race between deauth and assoc response
    wireless: remove remaining qual code
    rt2x00: Add USB ID for Linksys WUSB 600N rev 2.
    ath5k: fix SWI calibration interrupt storm
    mac80211: fix ibss join with fixed-bssid
    libertas: Remove carrier signaling from the scan code
    orinoco: fix GFP_KERNEL in orinoco_set_key with interrupts disabled
    ...

    Linus Torvalds
     

30 Dec, 2009

3 commits

  • The struct syscall_metadata variable name in SYSCALL_DEFINE0
    should be __syscall_meta__##sname instead of __syscall_meta_##sname
    to match the name that is in SYSCALL_DEFINE1/2/3/4/5/6.

    This error causes event_enter_##sname->data to point to the wrong
    location, which causes syscalls which are defined by SYSCALL_DEFINE0()
    not to be traced.

    Signed-off-by: Lai Jiangshan
    LKML-Reference:
    Acked-by: Frederic Weisbecker
    Signed-off-by: Steven Rostedt

    Lai Jiangshan
     
  • blk_rq_err_sectors() seems useless, get rid of it.

    Signed-off-by: Gui Jianfeng
    Signed-off-by: Jens Axboe

    Gui Jianfeng
     
  • Control of more than one AV/C device at once --- e.g. camcorders, tape
    decks, audio devices, TV tuners --- failed or worked only unreliably,
    depending on driver implementation. This affected kernelspace and
    userspace drivers alike and was caused by firewire-core's inability to
    accept multiple registrations of FCP listeners.

    The fix allows multiple address handlers to be registered for the FCP
    command and response registers. When a request for these registers is
    received, all handlers are invoked, and the Firewire response is
    generated by the core and not by any handler.

    The cdev API does not change, i.e., userspace is still expected to send
    a response for FCP requests; this response is silently ignored.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Stefan Richter (changelog, rebased, whitespace)

    Clemens Ladisch
     

29 Dec, 2009

1 commit

  • queue_sector_alignment_offset returned the wrong value which caused
    partitions to report an incorrect alignment_offset. Since offset
    alignment calculation is needed several places it has been split into a
    separate helper function. The topology stacking function has been
    updated accordingly.

    Furthermore, comments have been added to clarify how the stacking
    function works.

    Signed-off-by: Martin K. Petersen
    Tested-by: Mike Snitzer
    Signed-off-by: Jens Axboe

    Martin K. Petersen
     

26 Dec, 2009

1 commit

  • when using policy routing and the skb mark:
    there are cases where a back path validation requires us
    to use a different routing table for src ip validation than
    the one used for mapping ingress dst ip.
    One such a case is transparent proxying where we pretend to be
    the destination system and therefore the local table
    is used for incoming packets but possibly a main table would
    be used on outbound.
    Make the default behavior to allow the above and if users
    need to turn on the symmetry via sysctl src_valid_mark

    Signed-off-by: Jamal Hadi Salim
    Signed-off-by: David S. Miller

    Jamal Hadi Salim
     

25 Dec, 2009

2 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (34 commits)
    classmate-laptop: add support for Classmate PC ACPI devices
    hp-wmi: Fix two memleaks
    acer-wmi, msi-wmi: Remove needless DMI MODULE_ALIAS
    dell-wmi: do not keep driver loaded on unsupported boxes
    wmi: Free the allocated acpi objects through wmi_get_event_data
    drivers/platform/x86/acerhdf.c: check BIOS information whether it begins with string of table
    acerhdf: add new BIOS versions
    acerhdf: limit modalias matching to supported
    toshiba_acpi: convert to seq_file
    asus_acpi: convert to seq_file
    ACPI: do not select ACPI_DOCK from ATA_ACPI
    sony-laptop: enumerate rfkill devices using SN06
    sony-laptop: rfkill support for newer models
    ACPI: fix OSC regression that caused aer and pciehp not to load
    MAINTAINERS: add maintainer for msi-wmi driver
    fujitu-laptop: fix tests of acpi_evaluate_integer() return value
    arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c: avoid cross-CPU interrupts by using smp_call_function_any()
    ACPI: processor: remove _PDC object list from struct acpi_processor
    ACPI: processor: change acpi_processor_set_pdc() interface
    ACPI: processor: open code acpi_processor_cleanup_pdc
    ...

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:
    ocfs2/trivial: Use le16_to_cpu for a disk value in xattr.c
    ocfs2/trivial: Use proper mask for 2 places in hearbeat.c
    Ocfs2: Let ocfs2 support fiemap for symlink and fast symlink.
    Ocfs2: Should ocfs2 support fiemap for S_IFDIR inode?
    ocfs2: Use FIEMAP_EXTENT_SHARED
    fiemap: Add new extent flag FIEMAP_EXTENT_SHARED
    ocfs2: replace u8 by __u8 in ocfs2_fs.h
    ocfs2: explicit declare uninitialized var in user_cluster_connect()
    ocfs2-devel: remove redundant OCFS2_MOUNT_POSIX_ACL check in ocfs2_get_acl_nolock()
    ocfs2: return -EAGAIN instead of EAGAIN in dlm
    ocfs2/cluster: Make fence method configurable - v2
    ocfs2: Set MS_POSIXACL on remount
    ocfs2: Make acl use the default
    ocfs2: Always include ACL support

    Linus Torvalds
     

24 Dec, 2009

8 commits

  • Len Brown
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    devtmpfs: unlock mutex in case of string allocation error
    Driver core: export platform_device_register_data as a GPL symbol
    driver core: Prevent reference to freed memory on error path
    Driver-core: Fix bogus 0 error return in device_add()
    Driver core: driver_attribute parameters can often be const*
    Driver core: bin_attribute parameters can often be const*
    Driver core: device_attribute parameters can often be const*
    Doc/stable rules: add new cherry-pick logic
    vfs: get_sb_single() - do not pass options twice
    devtmpfs: Convert dirlock to a mutex

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
    Staging/vt66*: kconfig, depends on WLAN
    Staging: batman-adv: introduce missing kfree
    Staging: batman-adv: Add Kconfig dependancies on PROC_FS and PACKET.
    Staging: panel: Adjust range for PANEL_KEYPAD in Kconfig
    Staging: panel: Fix compilation error with custom lcd charset
    Staging: ramzswap: remove ARM specific d-cache hack
    Staging: rtl8192x: fix printk formats
    Staging: wlan-ng: fix Correct size given to memset
    staging: rtl8192su: add USB VID/PID for HWNUm-300
    staging: fix rtl8192su compilation errors with mac80211
    staging: fix rtl8192e compilation errors with mac80211
    Staging: fix rtl8187se compilation errors with mac80211
    Staging: rtl8192su: fix test for negative error in rtl8192_rx_isr()
    Staging: comedi: jr3_pci: Don't ioremap too much space. Check result.
    Staging: comedi: removed "depricated" from COMEDI_CB_BLOCK
    Staging: comedi: usbdux.c: fix locking up of the driver when the comedi ringbuffer runs empty
    Staging: dst: remove from the tree
    Staging: sm7xx: add a new framebuffer driver
    Staging: batman: fix debug Kconfig option

    Linus Torvalds
     
  • DST is dead, no one is using it and upstream
    has abandoned it, so remove it from the tree because
    it is not going anywhere.

    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Many struct driver_attribute descriptors are purely read-only
    structures, and there's no need to change them. Therefore make
    the promise not to, which will let those descriptors be put in
    a ro section.

    Signed-off-by: Phil Carmody
    Signed-off-by: Greg Kroah-Hartman

    Phil Carmody
     
  • Many struct bin_attribute descriptors are purely read-only
    structures, and there's no need to change them. Therefore
    make the promise not to, which will let those descriptors
    be put in a ro section.

    Signed-off-by: Phil Carmody
    Signed-off-by: Greg Kroah-Hartman

    Phil Carmody
     
  • Most device_attributes are const, and are begging to be
    put in a ro section. However, the create and remove
    file interfaces were failing to propagate the const promise
    which the only functions they call offer.

    Signed-off-by: Phil Carmody
    Signed-off-by: Greg Kroah-Hartman

    Phil Carmody
     
  • Fix kernel-doc errors and warnings in new header file kfifo.h.
    Don't use kernel-doc "/**" for internal functions whose comments
    are not in kernel-doc format.

    kernel-doc section header names (like "Note:") must be unique
    per function. Looks like I need to document that.

    Error(include/linux/kfifo.h:76): duplicate section name 'Note'
    Warning(include/linux/kfifo.h:88): Excess function parameter 'size' description in 'INIT_KFIFO'
    Error(include/linux/kfifo.h:101): duplicate section name 'Note'
    Warning(include/linux/kfifo.h:257): No description found for parameter 'fifo'
    (many of this last type, from internal functions)

    Signed-off-by: Randy Dunlap
    Cc: Stefani Seibold
    Signed-off-by: Linus Torvalds

    Randy Dunlap