1. 14 Jul, 2013 4 commits
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 · 63345b47
      Linus Torvalds authored
      Pull x86 platform driver updates from Matthew Garrett:
       "Nothing overly exciting here - a couple of new drivers that don't do a
        great deal, along with some miscellaneous fixes and a couple of small
        feature enablement patches"
      
      * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86:
        x86 platform drivers: fix gpio leak
        toshiba_acpi: Add dependency on SERIO_I8042
        asus-nb-wmi: set wapf=4 for ASUSTeK COMPUTER INC. 1015E/U
        Add trivial driver to disable Intel Smart Connect
        Add support driver for Intel Rapid Start Technology
        hp-wmi: add supports for POST code error
        asus-wmi: control wlan-led only if wapf == 4
        drivers/platform/x86/intel_ips: Convert to module_pci_driver
        asus-nb-wmi: ignore ALS notification key code
        asus-wmi: append newline to messages
        x86: asus-laptop: fix invalid point access
        x86: msi-laptop: fix memleak
        amilo-rfkill: Add dependency on SERIO_I8042
        dell-laptop: fix error return code in dell_init()
        hp-wmi: Enable hotkeys on some systems
      63345b47
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 18fb38e2
      Linus Torvalds authored
      Pull second round of input updates from Dmitry Torokhov:
       "An update to Elantech driver to support hardware v7, fix to the new
        cyttsp4 driver to use proper addressing, ads7846 device tree support
        and nspire-keypad got a small cleanup."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: nspire-keypad - replace magic offset with define
        Input: elantech - fix for newer hardware versions (v7)
        Input: cyttsp4 - use 16bit address for I2C/SPI communication
        Input: ads7846 - add device tree bindings
        Input: ads7846 - make sure we do not change platform data
      18fb38e2
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · be9c6d91
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "Just a bunch of small fixes and tidy ups:
      
         1) Finish the "busy_poll" renames, from Eliezer Tamir.
      
         2) Fix RCU stalls in IFB driver, from Ding Tianhong.
      
         3) Linearize buffers properly in tun/macvtap zerocopy code.
      
         4) Don't crash on rmmod in vxlan, from Pravin B Shelar.
      
         5) Spinlock used before init in alx driver, from Maarten Lankhorst.
      
         6) A sparse warning fix in bnx2x broke TSO checksums, fix from Dmitry
            Kravkov.
      
         7) Dummy and ifb driver load failure paths can oops, fixes from Tan
            Xiaojun and Ding Tianhong.
      
         8) Correct MTU calculations in IP tunnels, from Alexander Duyck.
      
         9) Account all TCP retransmits in SNMP stats properly, from Yuchung
            Cheng.
      
        10) atl1e and via-rhine do not handle DMA mapping failures properly,
            from Neil Horman.
      
        11) Various equal-cost multipath route fixes in ipv6 from Hannes
            Frederic Sowa"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (36 commits)
        ipv6: only static routes qualify for equal cost multipathing
        via-rhine: fix dma mapping errors
        atl1e: fix dma mapping warnings
        tcp: account all retransmit failures
        usb/net/r815x: fix cast to restricted __le32
        usb/net/r8152: fix integer overflow in expression
        net: access page->private by using page_private
        net: strict_strtoul is obsolete, use kstrtoul instead
        drivers/net/ieee802154: don't use devm_pinctrl_get_select_default() in probe
        drivers/net/ethernet/cadence: don't use devm_pinctrl_get_select_default() in probe
        drivers/net/can/c_can: don't use devm_pinctrl_get_select_default() in probe
        net/usb: add relative mii functions for r815x
        net/tipc: use %*phC to dump small buffers in hex form
        qlcnic: Adding Maintainers.
        gre: Fix MTU sizing check for gretap tunnels
        pkt_sched: sch_qfq: remove forward declaration of qfq_update_agg_ts
        pkt_sched: sch_qfq: improve efficiency of make_eligible
        gso: Update tunnel segmentation to support Tx checksum offload
        inet: fix spacing in assignment
        ifb: fix oops when loading the ifb failed
        ...
      be9c6d91
    • Linus Torvalds's avatar
      Merge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 03ce3ca4
      Linus Torvalds authored
      Pull final round of SCSI updates from James Bottomley:
       "This is the remaining set of SCSI patches for the merge window.  It's
        mostly driver updates (scsi_debug, qla2xxx, storvsc, mp3sas).  There
        are also several bug fixes in fcoe, libfc, and megaraid_sas.  We also
        have a couple of core changes to try to make device destruction more
        deterministic"
      
      * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (46 commits)
        [SCSI] scsi constants: command, sense key + additional sense strings
        fcoe: Reduce number of sparse warnings
        fcoe: Stop fc_rport_priv structure leak
        libfcoe: Fix meaningless log statement
        libfc: Differentiate echange timer cancellation debug statements
        libfc: Remove extra space in fc_exch_timer_cancel definition
        fcoe: fix the link error status block sparse warnings
        fcoe: Fix smatch warning in fcoe_fdmi_info function
        libfc: Reject PLOGI from nodes with incompatible role
        [SCSI] enable destruction of blocked devices which fail LUN scanning
        [SCSI] Fix race between starved list and device removal
        [SCSI] megaraid_sas: fix a bug for 64 bit arches
        [SCSI] scsi_debug: reduce duplication between prot_verify_read and prot_verify_write
        [SCSI] scsi_debug: simplify offset calculation for dif_storep
        [SCSI] scsi_debug: invalidate protection info for unmapped region
        [SCSI] scsi_debug: fix NULL pointer dereference with parameters dif=0 dix=1
        [SCSI] scsi_debug: fix incorrectly nested kmap_atomic()
        [SCSI] scsi_debug: fix invalid address passed to kunmap_atomic()
        [SCSI] mpt3sas: Bump driver version to v02.100.00.00
        [SCSI] mpt3sas: when async scanning is enabled then while scanning, devices are removed but their transport layer entries are not removed
        ...
      03ce3ca4
  2. 13 Jul, 2013 16 commits
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f8acc450
      Linus Torvalds authored
      Pull scheduler fix from Thomas Gleixner:
       "Fix a potential deadlock versus hrtimers"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Fix HRTICK
      f8acc450
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 505608d2
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       - core fix for missing round up in the generic irq chip implementation
       - new irq chip for MOXA SoCs
       - a few fixes and cleanups in the irqchip drivers
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip: Add support for MOXA ART SoCs
        genirq: generic chip: Use DIV_ROUND_UP to calculate numchips
        irqchip: nvic: Fix wrong num_ct argument for irq_alloc_domain_generic_chips()
        irqchip: sun4i: Staticize sun4i_irq_ack()
        irqchip: vt8500: Staticize local symbols
      505608d2
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0da27366
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       - watchdog fixes for full dynticks
       - improved debug output for full dynticks
       - remove an obsolete full dynticks check
       - two ARM SoC clocksource drivers for sharing across SoCs
       - tick broadcast fix for CPU hotplug
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tick: broadcast: Check broadcast mode on CPU hotplug
        clocksource: arm_global_timer: Add ARM global timer support
        clocksource: Add Marvell Orion SoC timer
        nohz: Remove obsolete check for full dynticks CPUs to be RCU nocbs
        watchdog: Boot-disable by default on full dynticks
        watchdog: Rename confusing state variable
        watchdog: Register / unregister watchdog kthreads on sysctl control
        nohz: Warn if the machine can not perform nohz_full
      0da27366
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 560ae371
      Linus Torvalds authored
      Pull perf fixes from Thomas Gleixner:
       - fix for do_div() abuse on x86
       - locking fix in perf core
       - a pile of (build) fixes and cleanups in perf tools
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
        perf/x86: Fix incorrect use of do_div() in NMI warning
        perf: Fix perf_lock_task_context() vs RCU
        perf: Remove WARN_ON_ONCE() check in __perf_event_enable() for valid scenario
        perf: Clone child context from parent context pmu
        perf script: Fix broken include in Context.xs
        perf tools: Fix -ldw/-lelf link test when static linking
        perf tools: Revert regression in configuration of Python support
        perf tools: Fix perf version generation
        perf stat: Fix per-socket output bug for uncore events
        perf symbols: Fix vdso list searching
        perf evsel: Fix missing increment in sample parsing
        perf tools: Update symbol_conf.nr_events when processing attribute events
        perf tools: Fix new_term() missing free on error path
        perf tools: Fix parse_events_terms() segfault on error path
        perf evsel: Fix count parameter to read call in event_format__new
        perf tools: fix a typo of a Power7 event name
        perf tools: Fix -x/--exclude-other option for report command
        perf evlist: Enhance perf_evlist__start_workload()
        perf record: Remove -f/--force option
        perf record: Remove -A/--append option
        ...
      560ae371
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4fa109b1
      Linus Torvalds authored
      Pull core locking updates from Thomas Gleixner:
       "Header cleanup as requested by Linus"
      
      (This is the "don't include support for ww_mutex in a header file that
      everybody wants, when almost nobody wants the ww part" change)
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        mutex: Move ww_mutex definitions to ww_mutex.h
      4fa109b1
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9663398a
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "This is our first set of fixes from arm-soc for 3.11.
         - A handful of build and warning fixes from Arnd
         - A collection of OMAP fixes
         - defconfig updates to make the default configs more useful for real
           use (and testing) out of the box on hardware
      
        And a couple of other small fixes.  Some of these have been recently
        applied but it's normally how we deal with fixes, with less bake time
        in -next needed"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (32 commits)
        arm: multi_v7_defconfig: Tweaks for omap and sunxi
        arm: multi_v7_defconfig: add i.MX options and NFS root
        ARM: omap2: add select of TI_PRIV_EDMA
        ARM: exynos: select PM_GENERIC_DOMAINS only when used
        ARM: ixp4xx: avoid circular header dependency
        ARM: OMAP: omap_common_late_init may be unused
        ARM: sti: move DEBUG_STI_UART into alphabetical order
        ARM: OMAP: build mach-omap code only if needed
        ARM: zynq: use DT_MACHINE_START
        ARM: omap5: omap5 has SCU and TWD
        ARM: OMAP2+: omap2plus_defconfig: Enable appended DTB support
        ARM: OMAP2+: Enable TI_EDMA in omap2plus_defconfig
        ARM: OMAP2+: omap2plus_defconfig: enable DRA752 thermal support by default
        ARM: OMAP2+: omap2plus_defconfig: enable TI bandgap driver
        ARM: OMAP2+: devices: remove duplicated include from devices.c
        ARM: OMAP3: igep0020: Set DSS pins in correct mux mode.
        ARM: OMAP2+: N900: enable N900-specific drivers even if device tree is enabled
        ARM: OMAP2+: Cocci spatch "ptr_ret.spatch"
        ARM: OMAP2+: Remove obsolete Makefile line
        ARM: OMAP5: Enable Cortex A15 errata 798181
        ...
      9663398a
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · bfd65dd9
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "A few fixes for ARM, mostly just one liners with the exception of the
        missing section specification.  We decided not to rely on .previous to
        fix this but to explicitly state the section we want the code to be
        in."
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7778/1: smp_twd: twd_update_frequency need be run on all online CPUs
        ARM: 7782/1: Kconfig: Let ARM_ERRATA_364296 not depend on CONFIG_SMP
        ARM: mm: fix boot on SA1110 Assabet
        ARM: 7781/1: mmu: Add debug_ll_io_init() mappings to early mappings
        ARM: 7780/1: add missing linker section markup to head-common.S
      bfd65dd9
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · d1447464
      Linus Torvalds authored
      Pull MIPS updates from Ralf Baechle:
       "MIPS updates:
      
         - All the things that didn't make 3.10.
         - Removes the Windriver PPMC platform.  Nobody will miss it.
         - Remove a workaround from kernel/irq/irqdomain.c which was there
           exclusivly for MIPS.  Patch by Grant Likely.
         - More small improvments for the SEAD 3 platform
         - Improvments on the BMIPS / SMP support for the BCM63xx series.
         - Various cleanups of dead leftovers.
         - Platform support for the Cavium Octeon-based EdgeRouter Lite.
      
        Two large KVM patchsets didn't make it for this pull request because
        their respective authors are vacationing"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (124 commits)
        MIPS: Kconfig: Add missing MODULES dependency to VPE_LOADER
        MIPS: BCM63xx: CLK: Add dummy clk_{set,round}_rate() functions
        MIPS: SEAD3: Disable L2 cache on SEAD-3.
        MIPS: BCM63xx: Enable second core SMP on BCM6328 if available
        MIPS: BCM63xx: Add SMP support to prom.c
        MIPS: define write{b,w,l,q}_relaxed
        MIPS: Expose missing pci_io{map,unmap} declarations
        MIPS: Malta: Update GCMP detection.
        Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET"
        MIPS: APSP: Remove <asm/kspd.h>
        SSB: Kconfig: Amend SSB_EMBEDDED dependencies
        MIPS: microMIPS: Fix improper definition of ISA exception bit.
        MIPS: Don't try to decode microMIPS branch instructions where they cannot exist.
        MIPS: Declare emulate_load_store_microMIPS as a static function.
        MIPS: Fix typos and cleanup comment
        MIPS: Cleanup indentation and whitespace
        MIPS: BMIPS: support booting from physical CPU other than 0
        MIPS: Only set cpu_has_mmips if SYS_SUPPORTS_MICROMIPS
        MIPS: GIC: Fix gic_set_affinity infinite loop
        MIPS: Don't save/restore OCTEON wide multiplier state on syscalls.
        ...
      d1447464
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 833e6834
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
       - lots of devm_ conversions and cleanup
       - platform_set_drvdata cleanups
       - s3c2410: dev_err/dev_info + dev_pm_ops
       - watchdog_core: don't try to stop device if not running fix
       - wdrtas: use print_hex_dump
       - xilinx cleanups
       - orion_wdt fixes
       - softdog cleanup
       - hpwdt: check on UEFI bits
       - deletion of mpcore_wdt driver
       - addition of broadcom BCM2835 watchdog timer driver
       - addition of MEN A21 watcdog devices
      
      * git://www.linux-watchdog.org/linux-watchdog: (38 commits)
        watchdog: hpwdt: Add check for UEFI bits
        watchdog: softdog: remove replaceable ping operation
        watchdog: New watchdog driver for MEN A21 watchdogs
        Watchdog: fix clearing of the watchdog interrupt
        Watchdog: allow orion_wdt to be built for Dove
        watchdog: Add Broadcom BCM2835 watchdog timer driver
        watchdog: delete mpcore_wdt driver
        watchdog: xilinx: Setup the origin compatible string
        watchdog: xilinx: Fix driver header
        watchdog: wdrtas: don't use custom version of print_hex_dump
        watchdog: core: don't try to stop device if not running
        watchdog: jz4740: Pass device to clk_get
        watchdog: twl4030: Remove redundant platform_set_drvdata()
        watchdog: mpcore: Remove redundant platform_set_drvdata()
        watchdog: da9055: use platform_{get,set}_drvdata()
        watchdog: da9052: use platform_{get,set}_drvdata()
        watchdog: cpwd: use platform_{get,set}_drvdata()
        watchdog: s3c2410_wdt: convert s3c2410wdt to dev_pm_ops
        watchdog: s3c2410_wdt: use dev_err()/dev_info() instead of pr_err()/pr_info()
        watchdog: wm831x: use platform_{get,set}_drvdata()
        ...
      833e6834
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · c5524413
      Linus Torvalds authored
      Pull InfiniBand/RDMA changes from Roland Dreier:
       - AF_IB (native IB addressing) for CMA from Sean Hefty
       - new mlx5 driver for Mellanox Connect-IB adapters (including post
         merge request fixes)
       - SRP fixes from Bart Van Assche (including fix to first merge request)
       - qib HW driver updates
       - resurrection of ocrdma HW driver development
       - uverbs conversion to create fds with O_CLOEXEC set
       - other small changes and fixes
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (66 commits)
        mlx5: Return -EFAULT instead of -EPERM
        IB/qib: Log all SDMA errors unconditionally
        IB/qib: Fix module-level leak
        mlx5_core: Adjust hca_cap.uar_page_sz to conform to Connect-IB spec
        IB/srp: Let srp_abort() return FAST_IO_FAIL if TL offline
        IB/uverbs: Use get_unused_fd_flags(O_CLOEXEC) instead of get_unused_fd()
        mlx5_core: Fixes for sparse warnings
        IB/mlx5: Make profile[] static in main.c
        mlx5: Fix parameter type of health_handler_t
        mlx5: Add driver for Mellanox Connect-IB adapters
        IB/core: Add reserved values to enums for low-level driver use
        IB/srp: Bump driver version and release date
        IB/srp: Make HCA completion vector configurable
        IB/srp: Maintain a single connection per I_T nexus
        IB/srp: Fail I/O fast if target offline
        IB/srp: Skip host settle delay
        IB/srp: Avoid skipping srp_reset_host() after a transport error
        IB/srp: Fix remove_one crash due to resource exhaustion
        IB/qib: New transmitter tunning settings for Dell 1.1 backplane
        IB/core: Fix error return code in add_port()
        ...
      c5524413
    • Linus Torvalds's avatar
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 85865511
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
       "This series contain:
         - new i2c video drivers: ml86v7667 (video decoder),
                                  ths8200 (video encoder)
         - a new video driver for EasyCap cards based on Fushicai USBTV007
         - Improved support for OF and embedded systems, with V4L2 async
           initialization and a better support for clocks
         - API cleanups on the ioctls used by the v4l2 debug tool
         - Lots of cleanups
         - As usual, several driver improvements and new cards additions
         - Revert two changesets that change the minimal symbol rate for
           stv0399, as request by Manu
         - Update MAINTAINERS and other files to point to my new e-mail"
      
      * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (378 commits)
        MAINTAINERS & ABI: Update to point to my new email
        [media] stb0899: restore minimal rate to 5Mbauds
        [media] exynos4-is: Correct colorspace handling at FIMC-LITE
        [media] exynos4-is: Set valid initial format on FIMC.n subdevs
        [media] exynos4-is: Set valid initial format on FIMC-IS-ISP subdev pads
        [media] exynos4-is: Fix format propagation on FIMC-IS-ISP subdev
        [media] exynos4-is: Set valid initial format at FIMC-LITE
        [media] exynos4-is: Fix format propagation on FIMC-LITE.n subdevs
        [media] MAINTAINERS: Update S5P/Exynos FIMC driver entry
        [media] Documentation: Update driver's directory in video4linux/fimc.txt
        [media] exynos4-is: Change fimc-is firmware file names
        [media] exynos4-is: Add support for Exynos5250 MIPI-CSIS
        [media] exynos4-is: Add Exynos5250 SoC support to fimc-lite driver
        [media] exynos4-is: Drop drvdata handling in fimc-lite for non-dt platforms
        [media] media: i2c: tvp514x: remove manual setting of subdev name
        [media] media: i2c: tvp7002: remove manual setting of subdev name
        [media] mem2mem: set missing v4l2_dev pointer
        [media] wl128x: add missing struct v4l2_device
        [media] tvp514x: Fix init seqeunce
        [media] saa7134: Fix sparse warnings by adding __user annotation
        ...
      85865511
    • Linus Torvalds's avatar
      Merge tag 'for-linus-v3.11-rc1-2' of git://oss.sgi.com/xfs/xfs · 239dab46
      Linus Torvalds authored
      Pull more xfs updates from Ben Myers:
       "Here are a fix for xfs_fsr, a cleanup in bulkstat, a cleanup in
        xfs_open_by_handle, updated mount options documentation, a cleanup in
        xfs_bmapi_write, a fix for the size of dquot log reservations, a fix
        for sgid inheritance when acls are in use, a fix for cleaning up
        quotainfo structures, and some more of the work which allows group and
        project quotas to be used together.
      
        We had a few more in this last quota category that we might have liked
        to get in, but it looks there are still a few items that need to be
        addressed.
      
         - fix for xfs_fsr returning -EINVAL
         - cleanup in xfs_bulkstat
         - cleanup in xfs_open_by_handle
         - update mount options documentation
         - clean up local format handling in xfs_bmapi_write
         - fix dquot log reservations which were too small
         - fix sgid inheritance for subdirectories when default acls are in use
         - add project quota fields to various structures
         - fix teardown of quotainfo structures when quotas are turned off"
      
      * tag 'for-linus-v3.11-rc1-2' of git://oss.sgi.com/xfs/xfs:
        xfs: Fix the logic check for all quotas being turned off
        xfs: Add pquota fields where gquota is used.
        xfs: fix sgid inheritance for subdirectories inheriting default acls [V3]
        xfs: dquot log reservations are too small
        xfs: remove local fork format handling from xfs_bmapi_write()
        xfs: update mount options documentation
        xfs: use get_unused_fd_flags(0) instead of get_unused_fd()
        xfs: clean up unused codes at xfs_bulkstat()
        xfs: use XFS_BMAP_BMDR_SPACE vs. XFS_BROOT_SIZE_ADJ
      239dab46
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 · f1c41088
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Fixes for 4 cifs bugs, including a reconnect problem, a problem
        parsing responses to SMB2 open request, and setting nlink incorrectly
        to some servers which don't report it properly on the wire.  Also
        improves data integrity on reconnect with series from Pavel which adds
        durable handle support for SMB2."
      
      * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6:
        CIFS: Fix a deadlock when a file is reopened
        CIFS: Reopen the file if reconnect durable handle failed
        [CIFS] Fix minor endian error in durable handle patch series
        CIFS: Reconnect durable handles for SMB2
        CIFS: Make SMB2_open use cifs_open_parms struct
        CIFS: Introduce cifs_open_parms struct
        CIFS: Request durable open for SMB2 opens
        CIFS: Simplify SMB2 create context handling
        CIFS: Simplify SMB2_open code path
        CIFS: Respect create_options in smb2_open_file
        CIFS: Fix lease context buffer parsing
        [CIFS] use sensible file nlink values if unprovided
        Limit allocation of crypto mechanisms to dialect which requires
      f1c41088
    • Olof Johansson's avatar
      arm: multi_v7_defconfig: Tweaks for omap and sunxi · d4e1c7ef
      Olof Johansson authored
      
      
      OMAP recently changed how the platforms are configured, so OMAP2/3/4 SoC
      support is no longer enabled by default. Add them back.
      
      Enable new ethernet driver for sunxi.
      
      The i.MX console options moved due to resorting, no functional change.
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      d4e1c7ef
    • Dmitry Torokhov's avatar
      Merge branch 'next' into for-linus · 88ce3c3c
      Dmitry Torokhov authored
      Bring in second round of updates for 3.11.
      88ce3c3c
    • James Bottomley's avatar
      Merge tag 'fcoe' into for-linus · 622f9a8e
      James Bottomley authored
      A short series of fixes to libfc, libfcoe and fcoe.
      Most patches fix formatting problems, one changes
      the behavior of which discovered ports can/will be
      logged into and another fixes a memory leak.
      622f9a8e
  3. 12 Jul, 2013 20 commits
    • Hannes Frederic Sowa's avatar
      ipv6: only static routes qualify for equal cost multipathing · 307f2fb9
      Hannes Frederic Sowa authored
      
      
      Static routes in this case are non-expiring routes which did not get
      configured by autoconf or by icmpv6 redirects.
      
      To make sure we actually get an ecmp route while searching for the first
      one in this fib6_node's leafs, also make sure it matches the ecmp route
      assumptions.
      
      v2:
      a) Removed RTF_EXPIRE check in dst.from chain. The check of RTF_ADDRCONF
         already ensures that this route, even if added again without
         RTF_EXPIRES (in case of a RA announcement with infinite timeout),
         does not cause the rt6i_nsiblings logic to go wrong if a later RA
         updates the expiration time later.
      
      v3:
      a) Allow RTF_EXPIRES routes to enter the ecmp route set. We have to do so,
         because an pmtu event could update the RTF_EXPIRES flag and we would
         not count this route, if another route joins this set. We now filter
         only for RTF_GATEWAY|RTF_ADDRCONF|RTF_DYNAMIC, which are flags that
         don't get changed after rt6_info construction.
      
      Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: default avatarHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      307f2fb9
    • Neil Horman's avatar
      via-rhine: fix dma mapping errors · 9b4fe5fb
      Neil Horman authored
      this bug:
      https://bugzilla.redhat.com/show_bug.cgi?id=951695
      
      Reported a dma debug backtrace:
      
      WARNING: at lib/dma-debug.c:937 check_unmap+0x47d/0x930()
      Hardware name: To Be Filled By O.E.M.
      via-rhine 0000:00:12.0: DMA-API: device driver failed to check map error[device
      address=0x0000000075a837b2] [size=90 bytes] [mapped as single]
      Modules linked in: ip6_tables gspca_spca561 gspca_main videodev media
      snd_hda_codec_realtek snd_hda_intel i2c_viapro snd_hda_codec snd_hwdep snd_seq
      ppdev mperf via_rhine coretemp snd_pcm mii microcode snd_page_alloc snd_timer
      snd_mpu401 snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore parport_pc
      parport shpchp ata_generic pata_acpi radeon i2c_algo_bit drm_kms_helper ttm drm
      pata_via sata_via i2c_core uinput
      Pid: 295, comm: systemd-journal Not tainted 3.9.0-0.rc6.git2.1.fc20.x86_64 #1
      
      
      Call Trace:
       <IRQ>  [<ffffffff81068dd0>] warn_slowpath_common+0x70/0xa0
       [<ffffffff81068e4c>] warn_slowpath_fmt+0x4c/0x50
       [<ffffffff8137ec6d>] check_unmap+0x47d/0x930
       [<ffffffff810ace9f>] ? local_clock+0x5f/0x70
       [<ffffffff8137f17f>] debug_dma_unmap_page+0x5f/0x70
       [<ffffffffa0225edc>] ? rhine_ack_events.isra.14+0x3c/0x50 [via_rhine]
       [<ffffffffa02275f8>] rhine_napipoll+0x1d8/0xd80 [via_rhine]
       [<ffffffff815d3d51>] ? net_rx_action+0xa1/0x380
       [<ffffffff815d3e22>] net_rx_action+0x172/0x380
       [<ffffffff8107345f>] __do_softirq+0xff/0x400
       [<ffffffff81073925>] irq_exit+0xb5/0xc0
       [<ffffffff81724cd6>] do_IRQ+0x56/0xc0
       [<ffffffff81719ff2>] common_interrupt+0x72/0x72
       <EOI>  [<ffffffff8170ff57>] ? __slab_alloc+0x4c2/0x526
       [<ffffffff811992e0>] ? mmap_region+0x2b0/0x5a0
       [<ffffffff810d5807>] ? __lock_is_held+0x57/0x80
       [<ffffffff811992e0>] ? mmap_region+0x2b0/0x5a0
       [<ffffffff811bf1bf>] kmem_cache_alloc+0x2df/0x360
       [<ffffffff811992e0>] mmap_region+0x2b0/0x5a0
       [<ffffffff811998e6>] do_mmap_pgoff+0x316/0x3d0
       [<ffffffff81183ca0>] vm_mmap_pgoff+0x90/0xc0
       [<ffffffff81197d6c>] sys_mmap_pgoff+0x4c/0x190
       [<ffffffff81367d7e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
       [<ffffffff8101eb42>] sys_mmap+0x22/0x30
       [<ffffffff81722fd9>] system_call_fastpath+0x16/0x1b
      
      Usual problem with the usual fix, add the appropriate calls to dma_mapping_error
      where appropriate
      
      Untested, as I don't have hardware, but its pretty straightforward
      
      Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      CC: David S. Miller <davem@davemloft.net>
      CC: Roger Luethi <rl@hellgate.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9b4fe5fb
    • Neil Horman's avatar
      atl1e: fix dma mapping warnings · 352900b5
      Neil Horman authored
      Recently had this backtrace reported:
      WARNING: at lib/dma-debug.c:937 check_unmap+0x47d/0x930()
      Hardware name: System Product Name
      ATL1E 0000:02:00.0: DMA-API: device driver failed to check map error[device
      address=0x00000000cbfd1000] [size=90 bytes] [mapped as single]
      Modules linked in: xt_conntrack nf_conntrack ebtable_filter ebtables
      ip6table_filter ip6_tables snd_hda_codec_hdmi snd_hda_codec_realtek iTCO_wdt
      iTCO_vendor_support snd_hda_intel acpi_cpufreq mperf coretemp btrfs zlib_deflate
      snd_hda_codec snd_hwdep microcode raid6_pq libcrc32c snd_seq usblp serio_raw xor
      snd_seq_device joydev snd_pcm snd_page_alloc snd_timer snd lpc_ich i2c_i801
      soundcore mfd_core atl1e asus_atk0110 ata_generic pata_acpi radeon i2c_algo_bit
      drm_kms_helper ttm drm i2c_core pata_marvell uinput
      Pid: 314, comm: systemd-journal Not tainted 3.9.0-0.rc6.git2.3.fc19.x86_64 #1
      Call Trace:
       <IRQ>  [<ffffffff81069106>] warn_slowpath_common+0x66/0x80
       [<ffffffff8106916c>] warn_slowpath_fmt+0x4c/0x50
       [<ffffffff8138151d>] check_unmap+0x47d/0x930
       [<ffffffff810ad048>] ? sched_clock_cpu+0xa8/0x100
       [<ffffffff81381a2f>] debug_dma_unmap_page+0x5f/0x70
       [<ffffffff8137ce30>] ? unmap_single+0x20/0x30
       [<ffffffffa01569a1>] atl1e_intr+0x3a1/0x5b0 [atl1e]
       [<ffffffff810d53fd>] ? trace_hardirqs_off+0xd/0x10
       [<ffffffff81119636>] handle_irq_event_percpu+0x56/0x390
       [<ffffffff811199ad>] handle_irq_event+0x3d/0x60
       [<ffffffff8111cb6a>] handle_fasteoi_irq+0x5a/0x100
       [<ffffffff8101c36f>] handle_irq+0xbf/0x150
       [<ffffffff811dcb2f>] ? file_sb_list_del+0x3f/0x50
       [<ffffffff81073b10>] ? irq_enter+0x50/0xa0
       [<ffffffff8172738d>] do_IRQ+0x4d/0xc0
       [<ffffffff811dcb2f>] ? file_sb_list_del+0x3f/0x50
       [<ffffffff8171c6b2>] common_interrupt+0x72/0x72
       <EOI>  [<ffffffff810db5b2>] ? lock_release+0xc2/0x310
       [<ffffffff8109ea04>] lg_local_unlock_cpu+0x24/0x50
       [<ffffffff811dcb2f>] file_sb_list_del+0x3f/0x50
       [<ffffffff811dcb6d>] fput+0x2d/0xc0
       [<ffffffff811d8ea1>] filp_close+0x61/0x90
       [<ffffffff811fae4d>] __close_fd+0x8d/0x150
       [<ffffffff811d8ef0>] sys_close+0x20/0x50
       [<ffffffff81725699>] system_call_fastpath+0x16/0x1b
      
      The usual straighforward failure to check for dma_mapping_error after a map
      operation is completed.
      
      This patch should fix it, the reporter wandered off after filing this bz:
      https://bugzilla.redhat.com/show_bug.cgi?id=954170
      
      
      
      and I don't have hardware to test, but the fix is pretty straightforward, so I
      figured I'd post it for review.
      
      Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      CC: Jay Cliburn <jcliburn@gmail.com>
      CC: Chris Snook <chris.snook@gmail.com>
      CC: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      352900b5
    • Yuchung Cheng's avatar
      tcp: account all retransmit failures · 24ab6bec
      Yuchung Cheng authored
      
      
      Change snmp RETRANSFAILS stat to include timeout retransmit failures
      in addition to other loss recoveries.
      
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Acked-by: default avatarNeal Cardwell <ncardwell@google.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      24ab6bec
    • hayeswang's avatar
      usb/net/r815x: fix cast to restricted __le32 · e7638524
      hayeswang authored
      
      
      >> drivers/net/usb/r815x.c:38:16: sparse: cast to restricted __le32
      >> drivers/net/usb/r815x.c:67:15: sparse: cast to restricted __le32
      >> drivers/net/usb/r815x.c:69:13: sparse: incorrect type in assignment (different base types)
         drivers/net/usb/r815x.c:69:13:    expected unsigned int [unsigned] [addressable] [assigned] [usertype] tmp
         drivers/net/usb/r815x.c:69:13:    got restricted __le32 [usertype] <noident>
      
      Signed-off-by: default avatarHayes Wang <hayeswang@realtek.com>
      Spotted-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e7638524
    • hayeswang's avatar
      usb/net/r8152: fix integer overflow in expression · 3ff25e3c
      hayeswang authored
      
      
      config: make ARCH=avr32 allyesconfig
      drivers/net/usb/r8152.c: In function 'rtl8152_start_xmit':
      drivers/net/usb/r8152.c:956: warning: integer overflow in expression
      
         955	memset(tx_desc, 0, sizeof(*tx_desc));
       > 956	tx_desc->opts1 = cpu_to_le32((len & TX_LEN_MASK) | TX_FS | TX_LS);
         957	tp->tx_skb = skb;
      
      Signed-off-by: default avatarHayes Wang <hayeswang@realtek.com>
      Spotted-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3ff25e3c
    • Sunghan Suh's avatar
      40dadff2
    • “Cosmin's avatar
      net: strict_strtoul is obsolete, use kstrtoul instead · 92338dc2
      “Cosmin authored
      
      
      patch found using checkpatch.pl
      
      Signed-off-by: default avatarCosmin Stanescu <cosmin90stanescu@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      92338dc2
    • Olof Johansson's avatar
      Merge tag 'ux500-defconfig-for-arm-soc' of... · 1b4fcb85
      Olof Johansson authored
      Merge tag 'ux500-defconfig-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into fixes
      
      From Linus Walleij:
      Ux500 defconfig changes:
      - Update base due to different Kconfig changes
      - Select watchdog, MUSB, Ux500 ALSA SoC, various MMC/SD
        features and enable highmem
      
      * tag 'ux500-defconfig-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson
      
      :
        ARM: ux500: Enable HIGHMEM in the u8500 defconfig
        ARM: ux500: Update MMC configs for u8500 defconfig
        ARM: ux500: select SND_SOC_UX500 for ux500
        ARM: ux500: update defconfig base
        ARM: ux500: select WATCHDOG and MUSB for ux500
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      1b4fcb85
    • Vincent Stehlé's avatar
      arm: multi_v7_defconfig: add i.MX options and NFS root · 1157d73d
      Vincent Stehlé authored
      
      
      - Add i.MX serial console support. This gives us the boot messages on
        UART on e.g. the i.MX6Q sabre sd platform.
      - Add the necessary config options, to allow booting with NFS root on
        an i.MX6 sabre sd.
      - Add Freescale LPUART serial console support. This gives us the boot
        messages on UART on e.g. the Vybrid VF610 Tower board.
      
      Signed-off-by: default avatarVincent Stehlé <vincent.stehle@freescale.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      [olof: squashed three commits down to one]
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      1157d73d
    • Olof Johansson's avatar
      Merge tag 'omap-for-v3.11/fixes-for-merge-window' of... · f4b96f5e
      Olof Johansson authored
      Merge tag 'omap-for-v3.11/fixes-for-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      Omap fixes and minor defconfig updates that would be good to
      get in before -rc1.
      
      * tag 'omap-for-v3.11/fixes-for-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap
      
      :
        ARM: OMAP2+: omap2plus_defconfig: Enable appended DTB support
        ARM: OMAP2+: Enable TI_EDMA in omap2plus_defconfig
        ARM: OMAP2+: omap2plus_defconfig: enable DRA752 thermal support by default
        ARM: OMAP2+: omap2plus_defconfig: enable TI bandgap driver
        ARM: OMAP2+: devices: remove duplicated include from devices.c
        ARM: OMAP3: igep0020: Set DSS pins in correct mux mode.
        ARM: OMAP2+: N900: enable N900-specific drivers even if device tree is enabled
        ARM: OMAP2+: Cocci spatch "ptr_ret.spatch"
        ARM: OMAP2+: Remove obsolete Makefile line
        ARM: OMAP5: Enable Cortex A15 errata 798181
        ARM: scu: provide inline dummy functions when SCU is not present
        ARM: OMAP4: sleep: build OMAP4 specific functions only for OMAP4
        ARM: OMAP2+: timer: initialize before using oh_name
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      
      Add/move/change conflicts in arch/arm/mach-omap2/Kconfig resolved.
      f4b96f5e
    • Ralf Baechle's avatar
      Merge branch '3.10-fixes' into mips-for-linux-next · 6ac5310e
      Ralf Baechle authored
      This that should have been fixed but weren't, way to much, intrusive
      and late.
      6ac5310e
    • Thomas Gleixner's avatar
      Merge branch 'timers/clockevents' of... · b0ec636c
      Thomas Gleixner authored
      Merge branch 'timers/clockevents' of git://git.linaro.org/people/dlezcano/clockevents into timers/urgent
      
      * New clocksource drivers for ARM SoCs to share
      b0ec636c
    • Dave Hansen's avatar
      perf/x86: Fix incorrect use of do_div() in NMI warning · baf64b85
      Dave Hansen authored and Ingo Molnar's avatar Ingo Molnar committed
      I completely botched understanding the calling conventions of
      do_div().  I assumed that do_div() returned the result instead
      of realizing that it modifies its argument and returns a
      remainder.  The side-effect from this would be bogus numbers
      for the "msecs" value in the warning messages:
      
      	INFO: NMI handler (perf_event_nmi_handler) took too long to run: 0.114 msecs
      
      Note, there was a second fix posted by Stephane Eranian for
      a separate patch which I also botched:
      
      	http://lkml.kernel.org/r/20130704223010.GA30625@quad
      
      
      
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Cc: Dave Hansen <dave@sr71.net>
      Link: http://lkml.kernel.org/r/20130708214404.B0B6EA66@viggo.jf.intel.com
      
      
      Signed-off-by: Ingo Molnar's avatarIngo Molnar <mingo@kernel.org>
      baf64b85
    • Peter Zijlstra's avatar
      sched: Fix HRTICK · 971ee28c
      Peter Zijlstra authored and Ingo Molnar's avatar Ingo Molnar committed
      
      
      David reported that the HRTICK sched feature was borken; which was enough
      motivation for me to finally fix it ;-)
      
      We should not allow hrtimer code to do softirq wakeups while holding scheduler
      locks. The hrtimer code only needs this when we accidentally try to program an
      expired time. We don't much care about those anyway since we have the regular
      tick to fall back to.
      
      Reported-by: default avatarDavid Ahern <dsahern@gmail.com>
      Tested-by: default avatarDavid Ahern <dsahern@gmail.com>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20130628091853.GE29209@dyad.programming.kicks-ass.net
      
      
      Signed-off-by: Ingo Molnar's avatarIngo Molnar <mingo@kernel.org>
      971ee28c
    • Stephen Boyd's avatar
      tick: broadcast: Check broadcast mode on CPU hotplug · a272dcca
      Stephen Boyd authored
      
      
      On ARM systems the dummy clockevent is registered with the cpu
      hotplug notifier chain before any other per-cpu clockevent. This
      has the side-effect of causing the dummy clockevent to be
      registered first in every hotplug sequence. Because the dummy is
      first, we'll try to turn the broadcast source on but the code in
      tick_device_uses_broadcast() assumes the broadcast source is in
      periodic mode and calls tick_broadcast_start_periodic()
      unconditionally.
      
      On boot this isn't a problem because we typically haven't
      switched into oneshot mode yet (if at all). During hotplug, if
      the broadcast source isn't in periodic mode we'll replace the
      broadcast oneshot handler with the broadcast periodic handler and
      start emulating oneshot mode when we shouldn't. Due to the way
      the broadcast oneshot handler programs the next_event it's
      possible for it to contain KTIME_MAX and cause us to hang the
      system when the periodic handler tries to program the next tick.
      Fix this by using the appropriate function to start the broadcast
      source.
      
      Reported-by: default avatarStephen Warren <swarren@nvidia.com>
      Tested-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Cc: Mark Rutland <Mark.Rutland@arm.com>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: ARM kernel mailing list <linux-arm-kernel@lists.infradead.org>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Joseph Lo <josephl@nvidia.com>
      Link: http://lkml.kernel.org/r/20130711140059.GA27430@codeaurora.org
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      a272dcca
    • Thomas Gleixner's avatar
      Merge branch 'linus' into timers/urgent · f2006e27
      Thomas Gleixner authored
      
      
      Get upstream changes so we can apply fixes against them
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      f2006e27
    • Maarten Lankhorst's avatar
      mutex: Move ww_mutex definitions to ww_mutex.h · 1b375dc3
      Maarten Lankhorst authored and Ingo Molnar's avatar Ingo Molnar committed
      
      
      Move the definitions for wound/wait mutexes out to a separate
      header, ww_mutex.h. This reduces clutter in mutex.h, and
      increases readability.
      
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@canonical.com>
      Acked-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: default avatarRik van Riel <riel@redhat.com>
      Acked-by: default avatarMaarten Lankhorst <maarten.lankhorst@canonical.com>
      Cc: Dave Airlie <airlied@gmail.com>
      Link: http://lkml.kernel.org/r/51D675DC.3000907@canonical.com
      
      
      [ Tidied up the code a bit. ]
      Signed-off-by: Ingo Molnar's avatarIngo Molnar <mingo@kernel.org>
      1b375dc3
    • Peter Zijlstra's avatar
      perf: Fix perf_lock_task_context() vs RCU · 058ebd0e
      Peter Zijlstra authored and Ingo Molnar's avatar Ingo Molnar committed
      Jiri managed to trigger this warning:
      
       [] ======================================================
       [] [ INFO: possible circular locking dependency detected ]
       [] 3.10.0+ #228 Tainted: G        W
       [] -------------------------------------------------------
       [] p/6613 is trying to acquire lock:
       []  (rcu_node_0){..-...}, at: [<ffffffff810ca797>] rcu_read_unlock_special+0xa7/0x250
       []
       [] but task is already holding lock:
       []  (&ctx->lock){-.-...}, at: [<ffffffff810f2879>] perf_lock_task_context+0xd9/0x2c0
       []
       [] which lock already depends on the new lock.
       []
       [] the existing dependency chain (in reverse order) is:
       []
       [] -> #4 (&ctx->lock){-.-...}:
       [] -> #3 (&rq->lock){-.-.-.}:
       [] -> #2 (&p->pi_lock){-.-.-.}:
       [] -> #1
      
       (&rnp->nocb_gp_wq[1]){......}:
       [] -> #0 (rcu_node_0){..-...}:
      
      Paul was quick to explain that due to preemptible RCU we cannot call
      rcu_read_unlock() while holding scheduler (or nested) locks when part
      of the read side critical section was preemptible.
      
      Therefore solve it by making the entire RCU read side non-preemptible.
      
      Also pull out the retry from under the non-preempt to play nice with RT.
      
      Reported-by: default avatarJiri Olsa <jolsa@redhat.com>
      Helped-out-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: Ingo Molnar's avatarIngo Molnar <mingo@kernel.org>
      058ebd0e
    • Jiri Olsa's avatar
      perf: Remove WARN_ON_ONCE() check in __perf_event_enable() for valid scenario · 06f41796
      Jiri Olsa authored and Ingo Molnar's avatar Ingo Molnar committed
      
      
      The '!ctx->is_active' check has a valid scenario, so
      there's no need for the warning.
      
      The reason is that there's a time window between the
      'ctx->is_active' check in the perf_event_enable() function
      and the __perf_event_enable() function having:
      
        - IRQs on
        - ctx->lock unlocked
      
      where the task could be killed and 'ctx' deactivated by
      perf_event_exit_task(), ending up with the warning below.
      
      So remove the WARN_ON_ONCE() check and add comments to
      explain it all.
      
      This addresses the following warning reported by Vince Weaver:
      
      [  324.983534] ------------[ cut here ]------------
      [  324.984420] WARNING: at kernel/events/core.c:1953 __perf_event_enable+0x187/0x190()
      [  324.984420] Modules linked in:
      [  324.984420] CPU: 19 PID: 2715 Comm: nmi_bug_snb Not tainted 3.10.0+ #246
      [  324.984420] Hardware name: Supermicro X8DTN/X8DTN, BIOS 4.6.3 01/08/2010
      [  324.984420]  0000000000000009 ffff88043fce3ec8 ffffffff8160ea0b ffff88043fce3f00
      [  324.984420]  ffffffff81080ff0 ffff8802314fdc00 ffff880231a8f800 ffff88043fcf7860
      [  324.984420]  0000000000000286 ffff880231a8f800 ffff88043fce3f10 ffffffff8108103a
      [  324.984420] Call Trace:
      [  324.984420]  <IRQ>  [<ffffffff8160ea0b>] dump_stack+0x19/0x1b
      [  324.984420]  [<ffffffff81080ff0>] warn_slowpath_common+0x70/0xa0
      [  324.984420]  [<ffffffff8108103a>] warn_slowpath_null+0x1a/0x20
      [  324.984420]  [<ffffffff81134437>] __perf_event_enable+0x187/0x190
      [  324.984420]  [<ffffffff81130030>] remote_function+0x40/0x50
      [  324.984420]  [<ffffffff810e51de>] generic_smp_call_function_single_interrupt+0xbe/0x130
      [  324.984420]  [<ffffffff81066a47>] smp_call_function_single_interrupt+0x27/0x40
      [  324.984420]  [<ffffffff8161fd2f>] call_function_single_interrupt+0x6f/0x80
      [  324.984420]  <EOI>  [<ffffffff816161a1>] ? _raw_spin_unlock_irqrestore+0x41/0x70
      [  324.984420]  [<ffffffff8113799d>] perf_event_exit_task+0x14d/0x210
      [  324.984420]  [<ffffffff810acd04>] ? switch_task_namespaces+0x24/0x60
      [  324.984420]  [<ffffffff81086946>] do_exit+0x2b6/0xa40
      [  324.984420]  [<ffffffff8161615c>] ? _raw_spin_unlock_irq+0x2c/0x30
      [  324.984420]  [<ffffffff81087279>] do_group_exit+0x49/0xc0
      [  324.984420]  [<ffffffff81096854>] get_signal_to_deliver+0x254/0x620
      [  324.984420]  [<ffffffff81043057>] do_signal+0x57/0x5a0
      [  324.984420]  [<ffffffff8161a164>] ? __do_page_fault+0x2a4/0x4e0
      [  324.984420]  [<ffffffff8161665c>] ? retint_restore_args+0xe/0xe
      [  324.984420]  [<ffffffff816166cd>] ? retint_signal+0x11/0x84
      [  324.984420]  [<ffffffff81043605>] do_notify_resume+0x65/0x80
      [  324.984420]  [<ffffffff81616702>] retint_signal+0x46/0x84
      [  324.984420] ---[ end trace 442ec2f04db3771a ]---
      
      Reported-by: default avatarVince Weaver <vincent.weaver@maine.edu>
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      Suggested-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1373384651-6109-2-git-send-email-jolsa@redhat.com
      
      
      Signed-off-by: Ingo Molnar's avatarIngo Molnar <mingo@kernel.org>
      06f41796