17 Mar, 2011

6 commits


16 Mar, 2011

34 commits

  • iprune_sem is continously giving us lockdep warnings because we do take it in
    read mode in the reclaim path, but we're also doing non-NOFS allocations under
    it taken in write mode.

    Taking a bit deeper look at it I think it's fixable quite trivially:

    - for invalidate_inodes we do not need iprune_sem at all. We have an active
    reference on the superblock, so the filesystem is not going away until it
    has finished.
    - for evict_inodes we do need it, to make sure prune_icache has done it's
    work before we tear down the superblock. But there is no reason to
    hold it over the actual reclaim operation - it's enough to cycle through
    it after the actual reclaim to make sure we wait for any pending
    prune_icache to complete. We just have to remove the WARN_ON for
    otherwise busy inodes as they can actually happen now.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     
  • [AV: on architectures where default conflicts with existing
    flags, that is]

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

    Stephen Rothwell
     
  • commit 574197e0de46a8a4db5c54ef7b65e43ffa8873a7 had a missing
    piece, breaking the loop detection ;-/

    Signed-off-by: Al Viro

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

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)
    x86: Clean up apic.c and apic.h
    x86: Remove superflous goal definition of tsc_sync
    x86: dt: Correct local apic documentation in device tree bindings
    x86: dt: Cleanup local apic setup
    x86: dt: Fix OLPC=y/INTEL_CE=n build
    rtc: cmos: Add OF bindings
    x86: ce4100: Use OF to setup devices
    x86: ioapic: Add OF bindings for IO_APIC
    x86: dtb: Add generic bus probe
    x86: dtb: Add support for PCI devices backed by dtb nodes
    x86: dtb: Add device tree support for HPET
    x86: dtb: Add early parsing of IO_APIC
    x86: dtb: Add irq domain abstraction
    x86: dtb: Add a device tree for CE4100
    x86: Add device tree support
    x86: e820: Remove conditional early mapping in parse_e820_ext
    x86: OLPC: Make OLPC=n build again
    x86: OLPC: Remove extra OLPC_OPENFIRMWARE_DT indirection
    x86: OLPC: Cleanup config maze completely
    x86: OLPC: Hide OLPC_OPENFIRMWARE config switch
    ...

    Fix up conflicts in arch/x86/platform/ce4100/ce4100.c

    Linus Torvalds
     
  • * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (93 commits)
    x86, tlb, UV: Do small micro-optimization for native_flush_tlb_others()
    x86-64, NUMA: Don't call numa_set_distanc() for all possible node combinations during emulation
    x86-64, NUMA: Don't assume phys node 0 is always online in numa_emulation()
    x86-64, NUMA: Clean up initmem_init()
    x86-64, NUMA: Fix numa_emulation code with node0 without RAM
    x86-64, NUMA: Revert NUMA affine page table allocation
    x86: Work around old gas bug
    x86-64, NUMA: Better explain numa_distance handling
    x86-64, NUMA: Fix distance table handling
    mm: Move early_node_map[] reverse scan helpers under HAVE_MEMBLOCK
    x86-64, NUMA: Fix size of numa_distance array
    x86: Rename e820_table_* to pgt_buf_*
    bootmem: Move __alloc_memory_core_early() to nobootmem.c
    bootmem: Move contig_page_data definition to bootmem.c/nobootmem.c
    bootmem: Separate out CONFIG_NO_BOOTMEM code into nobootmem.c
    x86-64, NUMA: Seperate out numa_alloc_distance() from numa_set_distance()
    x86-64, NUMA: Add proper function comments to global functions
    x86-64, NUMA: Move NUMA emulation into numa_emulation.c
    x86-64, NUMA: Prepare numa_emulation() for moving NUMA emulation into a separate file
    x86-64, NUMA: Do not scan two times for setup_node_bootmem()
    ...

    Fix up conflicts in arch/x86/kernel/smpboot.c

    Linus Torvalds
     
  • * 'x86-mem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86-64, mem: Convert memmove() to assembly file and fix return value bug

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

    * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, microcode, AMD: Fix signedness bug in generic_load_microcode()
    x86, microcode, AMD: Extend ucode size verification
    x86, microcode, AMD: Cleanup dmesg output
    x86, microcode, AMD: Remove unneeded memset call
    x86, microcode, AMD: Simplify get_next_ucode
    x86, microcode, AMD: Simplify install_equiv_cpu_table
    x86, microcode, AMD: Release firmware on error
    x86, microcode: Correct sysdev_add error path

    Linus Torvalds
     
  • * 'um-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    um: Select GENERIC_HARDIRQS_NO_DEPRECATED
    um: Use proper accessors in show_interrupts()
    um: Convert irq_chips to new functions
    um: Remove stale irq_chip.end

    Linus Torvalds
     
  • * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (116 commits)
    x86: Enable forced interrupt threading support
    x86: Mark low level interrupts IRQF_NO_THREAD
    x86: Use generic show_interrupts
    x86: ioapic: Avoid redundant lookup of irq_cfg
    x86: ioapic: Use new move_irq functions
    x86: Use the proper accessors in fixup_irqs()
    x86: ioapic: Use irq_data->state
    x86: ioapic: Simplify irq chip and handler setup
    x86: Cleanup the genirq name space
    genirq: Add chip flag to force mask on suspend
    genirq: Add desc->irq_data accessor
    genirq: Add comments to Kconfig switches
    genirq: Fixup fasteoi handler for oneshot mode
    genirq: Provide forced interrupt threading
    sched: Switch wait_task_inactive to schedule_hrtimeout()
    genirq: Add IRQF_NO_THREAD
    genirq: Allow shared oneshot interrupts
    genirq: Prepare the handling of shared oneshot interrupts
    genirq: Make warning in handle_percpu_event useful
    x86: ioapic: Move trigger defines to io_apic.h
    ...

    Fix up trivial(?) conflicts in arch/x86/pci/xen.c due to genirq name
    space changes clashing with the Xen cleanups. The set_irq_msi() had
    moved to xen_bind_pirq_msi_to_irq().

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

    * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Combine printk()s in show_regs_common()
    x86: Don't call dump_stack() from arch_trigger_all_cpu_backtrace_handler()

    Linus Torvalds
     
  • * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Fix and clean up generic_processor_info()
    x86: Don't copy per_cpu cpuinfo for BSP two times
    x86: Move llc_shared_map out of cpu_info

    Linus Torvalds
     
  • * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, binutils, xen: Fix another wrong size directive
    x86: Remove dead config option X86_CPU
    x86: Really print supported CPUs if PROCESSOR_SELECT=y
    x86: Fix a bogus unwind annotation in lib/semaphore_32.S
    um, x86-64: Fix UML build after adding CFI annotations to lib/rwsem_64.S
    x86: Remove unused bits from lib/thunk_*.S
    x86: Use {push,pop}_cfi in more places
    x86-64: Add CFI annotations to lib/rwsem_64.S
    x86, asm: Cleanup unnecssary macros in asm-offsets.c
    x86, system.h: Drop unused __SAVE/__RESTORE macros
    x86: Use bitmap library functions
    x86: Partly unify asm-offsets_{32,64}.c
    x86: Reduce back the alignment of the per-CPU data section

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

    * 'timers-rtc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    RTC: Fix up rtc.txt documentation to reflect changes to generic rtc layer
    RTC: sa1100: Update the sa1100 RTC driver.
    RTC: Fix the cross interrupt issue on rtc-test.
    RTC: Remove UIE and PIE information from the sa1100 driver proc.
    RTC: Include information about UIE and PIE in RTC driver proc.
    RTC: Clean out UIE icotl implementations
    RTC: Cleanup rtc_class_ops->update_irq_enable()
    RTC: Cleanup rtc_class_ops->irq_set_freq()
    RTC: Cleanup rtc_class_ops->irq_set_state
    RTC: Initialize kernel state from RTC

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

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (62 commits)
    posix-clocks: Check write permissions in posix syscalls
    hrtimer: Remove empty hrtimer_init_hres_timer()
    hrtimer: Update hrtimer->state documentation
    hrtimer: Update base[CLOCK_BOOTTIME].offset correctly
    timers: Export CLOCK_BOOTTIME via the posix timers interface
    timers: Add CLOCK_BOOTTIME hrtimer base
    time: Extend get_xtime_and_monotonic_offset() to also return sleep
    time: Introduce get_monotonic_boottime and ktime_get_boottime
    hrtimers: extend hrtimer base code to handle more then 2 clockids
    ntp: Remove redundant and incorrect parameter check
    mn10300: Switch do_timer() to xtimer_update()
    posix clocks: Introduce dynamic clocks
    posix-timers: Cleanup namespace
    posix-timers: Add support for fd based clocks
    x86: Add clock_adjtime for x86
    posix-timers: Introduce a syscall for clock tuning.
    time: Splitout compat timex accessors
    ntp: Add ADJ_SETOFFSET mode bit
    time: Introduce timekeeping_inject_offset
    posix-timer: Update comment
    ...

    Fix up new system-call-related conflicts in
    arch/x86/ia32/ia32entry.S
    arch/x86/include/asm/unistd_32.h
    arch/x86/include/asm/unistd_64.h
    arch/x86/kernel/syscall_table_32.S
    (name_to_handle_at()/open_by_handle_at() vs clock_adjtime()), and some
    due to movement of get_jiffies_64() in:
    kernel/time.c

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

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (26 commits)
    sched: Resched proper CPU on yield_to()
    sched: Allow users with sufficient RLIMIT_NICE to change from SCHED_IDLE policy
    sched: Allow SCHED_BATCH to preempt SCHED_IDLE tasks
    sched: Clean up the IRQ_TIME_ACCOUNTING code
    sched: Add #ifdef around irq time accounting functions
    sched, autogroup: Stop claiming ownership of the root task group
    sched, autogroup: Stop going ahead if autogroup is disabled
    sched, autogroup, sysctl: Use proc_dointvec_minmax() instead
    sched: Fix the group_imb logic
    sched: Clean up some f_b_g() comments
    sched: Clean up remnants of sd_idle
    sched: Wholesale removal of sd_idle logic
    sched: Add yield_to(task, preempt) functionality
    sched: Use a buddy to implement yield_task_fair()
    sched: Limit the scope of clear_buddies
    sched: Check the right ->nr_running in yield_task_fair()
    sched: Avoid expensive initial update_cfs_load(), on UP too
    sched: Fix switch_from_fair()
    sched: Simplify the idle scheduling class
    softirqs: Account ksoftirqd time as cpustat softirq
    ...

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

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (184 commits)
    perf probe: Clean up probe_point_lazy_walker() return value
    tracing: Fix irqoff selftest expanding max buffer
    tracing: Align 4 byte ints together in struct tracer
    tracing: Export trace_set_clr_event()
    tracing: Explain about unstable clock on resume with ring buffer warning
    ftrace/graph: Trace function entry before updating index
    ftrace: Add .ref.text as one of the safe areas to trace
    tracing: Adjust conditional expression latency formatting.
    tracing: Fix event alignment: skb:kfree_skb
    tracing: Fix event alignment: mce:mce_record
    tracing: Fix event alignment: kvm:kvm_hv_hypercall
    tracing: Fix event alignment: module:module_request
    tracing: Fix event alignment: ftrace:context_switch and ftrace:wakeup
    tracing: Remove lock_depth from event entry
    perf header: Stop using 'self'
    perf session: Use evlist/evsel for managing perf.data attributes
    perf top: Don't let events to eat up whole header line
    perf top: Fix events overflow in top command
    ring-buffer: Remove unused #include <linux/trace_irq.h>
    tracing: Add an 'overwrite' trace_option.
    ...

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

    * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    rtmutex: tester: Remove the remaining BKL leftovers
    lockdep/timers: Explain in detail the locking problems del_timer_sync() may cause
    rtmutex: Simplify PI algorithm and make highest prio task get lock
    rwsem: Remove redundant asmregparm annotation
    rwsem: Move duplicate function prototypes to linux/rwsem.h
    rwsem: Unify the duplicate rwsem_is_locked() inlines
    rwsem: Move duplicate init macros and functions to linux/rwsem.h
    rwsem: Move duplicate struct rwsem declaration to linux/rwsem.h
    x86: Cleanup rwsem_count_t typedef
    rwsem: Cleanup includes
    locking: Remove deprecated lock initializers
    cred: Replace deprecated spinlock initialization
    kthread: Replace deprecated spinlock initialization
    xtensa: Replace deprecated spinlock initialization
    um: Replace deprecated spinlock initialization
    sparc: Replace deprecated spinlock initialization
    mips: Replace deprecated spinlock initialization
    cris: Replace deprecated spinlock initialization
    alpha: Replace deprecated spinlock initialization
    rtmutex-tester: Remove BKL tests

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

    * 'core-futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    arm: Remove bogus comment in futex_atomic_cmpxchg_inatomic()
    futex: Deobfuscate handle_futex_death()
    plist: Add priority list test
    plist: Shrink struct plist_head
    futex,plist: Remove debug lock assignment from plist_node
    futex,plist: Pass the real head of the priority list to plist_del()
    futex: Sanitize futex ops argument types
    futex: Sanitize cmpxchg_futex_value_locked API
    futex: Remove redundant pagefault_disable in futex_atomic_cmpxchg_inatomic()
    futex: Avoid redudant evaluation of task_pid_vnr()
    futex: Update futex_wait_setup comments about locking

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

    * 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    debugobjects: Add hint for better object identification

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (57 commits)
    tidy the trailing symlinks traversal up
    Turn resolution of trailing symlinks iterative everywhere
    simplify link_path_walk() tail
    Make trailing symlink resolution in path_lookupat() iterative
    update nd->inode in __do_follow_link() instead of after do_follow_link()
    pull handling of one pathname component into a helper
    fs: allow AT_EMPTY_PATH in linkat(), limit that to CAP_DAC_READ_SEARCH
    Allow passing O_PATH descriptors via SCM_RIGHTS datagrams
    readlinkat(), fchownat() and fstatat() with empty relative pathnames
    Allow O_PATH for symlinks
    New kind of open files - "location only".
    ext4: Copy fs UUID to superblock
    ext3: Copy fs UUID to superblock.
    vfs: Export file system uuid via /proc//mountinfo
    unistd.h: Add new syscalls numbers to asm-generic
    x86: Add new syscalls for x86_64
    x86: Add new syscalls for x86_32
    fs: Remove i_nlink check from file system link callback
    fs: Don't allow to create hardlink for deleted file
    vfs: Add open by file handle support
    ...

    Linus Torvalds
     
  • The new vfs locking scheme introduced in 2.6.38 breaks NFS sillyrename
    because the latter relies on being able to determine the parent
    directory of the dentry in the ->iput() callback in order to send the
    appropriate unlink rpc call.

    Looking at the code that cares about races with dput(), there doesn't
    seem to be anything that specifically uses d_parent as a test for
    whether or not there is a race:
    - __d_lookup_rcu(), __d_lookup() all test for d_hashed() after d_parent
    - shrink_dcache_for_umount() is safe since nothing else can rearrange
    the dentries in that super block.
    - have_submount(), select_parent() and d_genocide() can test for a
    deletion if we set the DCACHE_DISCONNECTED flag when the dentry
    is removed from the parent's d_subdirs list.

    Signed-off-by: Trond Myklebust
    Cc: stable@kernel.org (2.6.38, needs commit c826cb7dfce8 "dcache.c:
    create helper function for duplicated functionality" )
    Signed-off-by: Linus Torvalds

    Trond Myklebust
     
  • This creates a helper function for he "try to ascend into the parent
    directory" case, which was written out in triplicate before. With all
    the locking and subtle sequence number stuff, we really don't want to
    duplicate that kind of code.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * pull the handling of current->total_link_count into
    __do_follow_link()
    * put the common "do ->put_link() if needed and path_put() the link"
    stuff into a helper (put_link(nd, link, cookie))
    * rename __do_follow_link() to follow_link(), while we are at it

    Signed-off-by: Al Viro

    Al Viro
     
  • The last remaining place (resolution of nested symlink) converted
    to the loop of the same kind we have in path_lookupat() and
    path_openat().

    Note that we still *do* have a recursion in pathname resolution;
    can't avoid it, really. However, it's strictly for nested symlinks
    now - i.e. ones in the middle of a pathname.

    link_path_walk() has lost the tail now - it always walks everything
    except the last component.

    do_follow_link() renamed to nested_symlink() and moved down.

    Signed-off-by: Al Viro

    Al Viro
     
  • Now that link_path_walk() is called without LOOKUP_PARENT
    only from do_follow_link(), we can simplify the checks in
    last component handling. First of all, checking if we'd
    arrived to a directory is not needed - the caller will check
    it anyway. And LOOKUP_FOLLOW is guaranteed to be there,
    since we only get to that place with nd->depth > 0.

    Signed-off-by: Al Viro

    Al Viro
     
  • Now the only caller of link_path_walk() that does *not* pass
    LOOKUP_PARENT is do_follow_link()

    Signed-off-by: Al Viro

    Al Viro
     
  • ... and note that we only need to do it for LAST_BIND symlinks

    Signed-off-by: Al Viro

    Al Viro
     
  • new helper: walk_component(). Handles everything except symlinks;
    returns negative on error, 0 on success and 1 on symlinks we decided
    to follow. Drops out of RCU mode on such symlinks.

    link_path_walk() and do_last() switched to using that.

    Signed-off-by: Al Viro

    Al Viro
     
  • We don't want to allow creation of private hardlinks by different application
    using the fd passed to them via SCM_RIGHTS. So limit the null relative name
    usage in linkat syscall to CAP_DAC_READ_SEARCH

    Signed-off-by: Aneesh Kumar K.V

    Aneesh Kumar K.V
     
  • Newer compilers (gcc 4.6) complains about:

    return ret < 0 ?: 0;

    For the following reason:

    util/probe-finder.c: In function ‘probe_point_lazy_walker’:
    util/probe-finder.c:1331:18: error: the omitted middle operand in ?: will always be ‘true’, suggest explicit middle operand [-Werror=parentheses]

    And indeed the return value is a somewhat obscure (but correct) value
    of 'true', so return 'ret' instead - this is cleaner and unconfuses
    GCC as well.

    Cc: Arnaldo Carvalho de Melo
    Cc: Masami Hiramatsu
    Cc: Frederic Weisbecker
    Cc: Masami Hiramatsu
    Cc: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • * 'for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm:
    xen: suspend: remove xen_hvm_suspend
    xen: suspend: pull pre/post suspend hooks out into suspend_info
    xen: suspend: move arch specific pre/post suspend hooks into generic hooks
    xen: suspend: refactor non-arch specific pre/post suspend hooks
    xen: suspend: add "arch" to pre/post suspend hooks
    xen: suspend: pass extra hypercall argument via suspend_info struct
    xen: suspend: refactor cancellation flag into a structure
    xen: suspend: use HYPERVISOR_suspend for PVHVM case instead of open coding
    xen: switch to new schedop hypercall by default.
    xen: use new schedop interface for suspend
    xen: do not respond to unknown xenstore control requests
    xen: fix compile issue if XEN is enabled but XEN_PVHVM is disabled
    xen: PV on HVM: support PV spinlocks and IPIs
    xen: make the ballon driver work for hvm domains
    xen-blkfront: handle Xen major numbers other than XENVBD
    xen: do not use xen_info on HVM, set pv_info name to "Xen HVM"
    xen: no need to delay xen_setup_shutdown_event for hvm guests anymore

    Linus Torvalds
     
  • …git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen

    * 'stable/ia64' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: ia64 build broken due to "xen: switch to new schedop hypercall by default."

    * 'stable/blkfront-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: Union the blkif_request request specific fields

    * 'stable/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: annotate functions which only call into __init at start of day
    xen p2m: annotate variable which appears unused
    xen: events: mark cpu_evtchn_mask_p as __refdata

    Linus Torvalds
     
  • * 'stable/irq.cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: events: remove dom0 specific xen_create_msi_irq
    xen: events: use xen_bind_pirq_msi_to_irq from xen_create_msi_irq
    xen: events: push set_irq_msi down into xen_create_msi_irq
    xen: events: update pirq_to_irq in xen_create_msi_irq
    xen: events: refactor xen_create_msi_irq slightly
    xen: events: separate MSI PIRQ allocation from PIRQ binding to IRQ
    xen: events: assume PHYSDEVOP_get_free_pirq exists
    xen: pci: collapse apic_register_gsi_xen_hvm and xen_hvm_register_pirq
    xen: events: return irq from xen_allocate_pirq_msi
    xen: events: drop XEN_ALLOC_IRQ flag to xen_allocate_pirq_msi
    xen: events: do not leak IRQ from xen_allocate_pirq_msi when no pirq available.
    xen: pci: only define xen_initdom_setup_msi_irqs if CONFIG_XEN_DOM0

    Linus Torvalds
     
  • …el.org/pub/scm/linux/kernel/git/konrad/xen

    * 'stable/irq.rework' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/irq: Cleanup up the pirq_to_irq for DomU PV PCI passthrough guests as well.
    xen: Use IRQF_FORCE_RESUME
    xen/timer: Missing IRQF_NO_SUSPEND in timer code broke suspend.
    xen: Fix compile error introduced by "switch to new irq_chip functions"
    xen: Switch to new irq_chip functions
    xen: Remove stale irq_chip.end
    xen: events: do not free legacy IRQs
    xen: events: allocate GSIs and dynamic IRQs from separate IRQ ranges.
    xen: events: add xen_allocate_irq_{dynamic, gsi} and xen_free_irq
    xen:events: move find_unbound_irq inside CONFIG_PCI_MSI
    xen: handled remapped IRQs when enabling a pcifront PCI device.
    genirq: Add IRQF_FORCE_RESUME

    * 'stable/pcifront-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    pci/xen: When free-ing MSI-X/MSI irq->desc also use generic code.
    pci/xen: Cleanup: convert int** to int[]
    pci/xen: Use xen_allocate_pirq_msi instead of xen_allocate_pirq
    xen-pcifront: Sanity check the MSI/MSI-X values
    xen-pcifront: don't use flush_scheduled_work()

    Linus Torvalds