1. 20 Feb, 2017 12 commits
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 828cad8e
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this (fairly busy) cycle were:
         - There was a class of scheduler bugs related to forgetting to update
           the rq-clock timestamp which can cause weird and hard to debug
           problems, so there's a new debug facility for this: which uncovered
           a whole lot of bugs which convinced us that we want to keep the
           debug facility.
           (Peter Zijlstra, Matt Fleming)
         - Various cputime related updates: eliminate cputime and use u64
           nanoseconds directly, simplify and improve the arch interfaces,
           implement delayed accounting more widely, etc. - (Frederic
         - Move code around for better structure plus cleanups (Ingo Molnar)
         - Move IO schedule accounting deeper into the scheduler plus related
           changes to improve the situation (Tejun Heo)
         - ... plus a round of sched/rt and sched/deadline fixes, plus other
           fixes, updats and cleanups"
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (85 commits)
        sched/core: Remove unlikely() annotation from sched_move_task()
        sched/autogroup: Rename auto_group.[ch] to autogroup.[ch]
        sched/topology: Split out scheduler topology code from core.c into topology.c
        sched/core: Remove unnecessary #include headers
        sched/rq_clock: Consolidate the ordering of the rq_clock methods
        delayacct: Include <uapi/linux/taskstats.h>
        sched/core: Clean up comments
        sched/rt: Show the 'sched_rr_timeslice' SCHED_RR timeslice tuning knob in milliseconds
        sched/clock: Add dummy clear_sched_clock_stable() stub function
        sched/cputime: Remove generic asm headers
        sched/cputime: Remove unused nsec_to_cputime()
        s390, sched/cputime: Remove unused cputime definitions
        powerpc, sched/cputime: Remove unused cputime definitions
        s390, sched/cputime: Make arch_cpu_idle_time() to return nsecs
        ia64, sched/cputime: Remove unused cputime definitions
        ia64: Convert vtime to use nsec units directly
        ia64, sched/cputime: Move the nsecs based cputime headers to the last arch using it
        sched/cputime: Remove jiffies based cputime
        sched/cputime, vtime: Return nsecs instead of cputime_t to account
        sched/cputime: Complete nsec conversion of tick based accounting
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 60c906ba
      Linus Torvalds authored
      Pull RAS updates from Ingo Molnar:
       "The main changes in this cycle were:
        - Assign notifier chain priorities for all RAS related handlers to
          make the ordering explicit (Borislav Petkov)
        - Improve the AMD MCA banks sysfs output (Yazen Ghannam)
        - Various cleanups and restructuring of the x86 RAS code (Borislav
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ras, EDAC, acpi: Assign MCE notifier handlers a priority
        x86/ras: Get rid of mce_process_work()
        EDAC/mce/amd: Dump TSC value
        EDAC/mce/amd: Unexport amd_decode_mce()
        x86/ras/amd/inj: Change dependency
        x86/ras: Flip the TSC-adding logic
        x86/ras/amd: Make sysfs names of banks more user-friendly
        x86/ras/therm_throt: Do not log a fake MCE for thermal events
        x86/ras/inject: Make it depend on X86_LOCAL_APIC=y
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7f4eb0a6
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "On the kernel side the main changes in this cycle were:
         - Add Intel Kaby Lake CPU support (Srinivas Pandruvada)
         - AMD uncore driver updates for fam17 (Janakarajan Natarajan)
         - Intel/PT updates and core events optimizations and cleanups
           (Alexander Shishkin)
         - cgroups events fixes (David Carrillo-Cisneros)
         - kprobes improvements (Masami Hiramatsu)
         - ... plus misc fixes and updates.
        On the tooling side the main changes were:
         - Support clang build in tools/{perf,lib/{bpf,traceevent,api}} with
           CC=clang, to, for instance, take advantage of better warnings
           (Arnaldo Carvalho de Melo):
         - Introduce the 'delta-abs' 'perf diff' compute method, that orders
           the histogram entries by the absolute value of the percentage delta
           for a function in two perf.data files, i.e. the functions that
           changed the most (increase or decrease in samples) comes first
           (Namhyung Kim)
         - Add support for parsing Intel uncore vendor event files and add
           uncore vendor events for the Intel server processors (Haswell,
           Broadwell, IvyBridge), Xeon Phi (Knights Landing) and Broadwell DE
           (Andi Kleen)
         - Introduce 'perf ftrace' a perf front end to the kernel's ftrace
           function and function_graph tracer, defaulting to the
           "function_graph" tracer, more work will be done in reviving this
           effort, forward porting it from its initial patch submission
           (Namhyung Kim)
         - Add 'e' and 'c' hotkeys to expand/collapse call chains for a single
           hist entry in the 'perf report' and 'perf top' TUI (Jiri Olsa)
         - Account thread wait time (off CPU time) separately: sleep, iowait
           and preempt, based on the prev_state of the last event, show the
           breakdown when using "perf sched timehist --state" (Namhyumg Kim)
         - Add more triggers to switch the output file (perf.data.TIMESTAMP).
           Now, in addition to switching to a different output file when
           receiving a SIGUSR2, one can also specify file size and time based
                 perf record -a --switch-output=signal
           is equivalent to what we had before:
                 perf record -a --switch-output
           While we can also ask for the file to be "sliced" by size, taking
           into account that that will happen only when we get woken up by the
           kernel, i.e. one has to take into account the --mmap-pages (the
           size of the perf mmap ring buffer):
                 perf record -a --switch-output=2G
           will break the perf.data output into multiple files limited to 2GB
           of samples, right when generating the output.
           For time based samples, alert() will be used, so to have 1 minute
           limited perf.data output files:
                perf record -a --switch-output=1m
           (Jiri Olsa)
         - Improve 'perf trace' (Arnaldo Carvalho de Melo)
         - 'perf kallsyms' toy tool to look for extended symbol information on
           the running kernel and demonstrate the machine/thread/symbol APIs
           for use in other tools, such as 'perf probe' (Arnaldo Carvalho de
         - ... plus tons of other changes, see the shortlog and Git log for
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (131 commits)
        perf tools: Add missing parse_events_error() prototype
        perf pmu: Fix check for unset alias->unit array
        perf tools: Be consistent on the type of map->symbols[] interator
        perf intel pt decoder: clang has no -Wno-override-init
        perf evsel: Do not put a variable sized type not at the end of a struct
        perf probe: Avoid accessing uninitialized 'map' variable
        perf tools: Do not put a variable sized type not at the end of a struct
        perf record: Do not put a variable sized type not at the end of a struct
        perf tests: Synthesize struct instead of using field after variable sized type
        perf bench numa: Make sure dprintf() is not defined
        Revert "perf bench futex: Sanitize numeric parameters"
        tools lib subcmd: Make it an error to pass a signed value to OPTION_UINTEGER
        tools: Set the maximum optimization level according to the compiler being used
        tools: Suppress request for warning options not existent in clang
        samples/bpf: Reset global variables
        samples/bpf: Ignore already processed ELF sections
        samples/bpf: Add missing header
        perf symbols: dso->name is an array, no need to check it against NULL
        perf tests record: No need to test an array against NULL
        perf symbols: No need to check if sym->name is NULL
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 32e2d7c8
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
       "The main changes in this cycle were:
         - Changes to the EFI init code to establish whether secure boot
           authentication was performed at boot time. (Josh Boyer, David
         - Wire up the UEFI memory attributes table for x86. This eliminates
           any runtime memory regions that are both writable and executable,
           on recent firmware versions. (Sai Praneeth)
         - Move the BGRT init code to an earlier stage so that we can still
           use efi_mem_reserve(). (Dave Young)
         - Preserve debug symbols in the ARM/arm64 UEFI stub (Ard Biesheuvel)
         - Code deduplication work and various other cleanups (Lukas Wunner)
         - ... plus various other fixes and cleanups"
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi/libstub: Make file I/O chunking x86-specific
        efi: Print the secure boot status in x86 setup_arch()
        efi: Disable secure boot if shim is in insecure mode
        efi: Get and store the secure boot status
        efi: Add SHIM and image security database GUID definitions
        arm/efi: Allow invocation of arbitrary runtime services
        x86/efi: Allow invocation of arbitrary runtime services
        efi/libstub: Preserve .debug sections after absolute relocation check
        efi/x86: Add debug code to print cooked memmap
        efi/x86: Move the EFI BGRT init code to early init code
        efi: Use typed function pointers for the runtime services table
        efi/esrt: Fix typo in pr_err() message
        x86/efi: Add support for EFI_MEMORY_ATTRIBUTES_TABLE
        efi: Introduce the EFI_MEM_ATTR bit and set it from the memory attributes table
        efi: Make EFI_MEMORY_ATTRIBUTES_TABLE initialization common across all architectures
        x86/efi: Deduplicate efi_char16_printk()
        efi: Deduplicate efi_file_size() / _read() / _close()
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f7458a5d
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The RCU changes in this cycle are:
         - Dynticks updates, consolidating open-coded counter accesses into a
           well-defined API
         - SRCU updates: Simplify algorithm, add formal verification
         - Documentation updates
         - Miscellaneous fixes
         - Torture-test updates
        Most of the diffstat comes from the relatively large documentation
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (42 commits)
        srcu: Reduce probability of SRCU ->unlock_count[] counter overflow
        rcutorture: Add CBMC-based formal verification for SRCU
        srcu: Force full grace-period ordering
        srcu: Implement more-efficient reader counts
        rcu: Adjust FQS offline checks for exact online-CPU detection
        rcu: Check cond_resched_rcu_qs() state less often to reduce GP overhead
        rcu: Abstract extended quiescent state determination
        rcu: Abstract dynticks extended quiescent state enter/exit operations
        rcu: Add lockdep checks to synchronous expedited primitives
        rcu: Eliminate unused expedited_normal counter
        llist: Clarify comments about when locking is needed
        rcu: Fix comment in rcu_organize_nocb_kthreads()
        rcu: Enable RCU tracepoints by default to aid in debugging
        rcu: Make rcu_cpu_starting() use its "cpu" argument
        rcu: Add comment headers to expedited-grace-period counter functions
        rcu: Don't wake rcuc/X kthreads on NOCB CPUs
        rcu: Re-enable TASKS_RCU for User Mode Linux
        rcu: Once again use NMI-based stack traces in stall warnings
        rcu: Remove short-term CPU kicking
        rcu: Add long-term CPU kicking
    • Linus Torvalds's avatar
      Merge branch 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 575260e3
      Linus Torvalds authored
      Pull debugobjects updates from Ingo Molnar:
       "A number of scalability improvements by Waimang Long"
      * 'core-debugobjects-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        debugobjects: Improve variable naming
        debugobjects: Reduce contention on the global pool_lock
        debugobjects: Scale thresholds with # of CPUs
        debugobjects: Track number of kmem_cache_alloc/kmem_cache_free done
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1cd4027c
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "This update provides:
         - Yet another two irq controller chip drivers
         - A few updates and fixes for GICV3
         - A resource managed function for interrupt allocation
         - Fixes, updates and enhancements all over the place"
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/qcom: Fix error handling
        genirq: Clarify logic calculating bogus irqreturn_t values
        genirq/msi: Add stubs for get_cached_msi_msg/pci_write_msi_msg
        genirq/devres: Use dev_name(dev) as default for devname
        genirq: Fix /proc/interrupts output alignment
        irqdesc: Add a resource managed version of irq_alloc_descs()
        irqchip/gic-v3-its: Zero command on allocation
        irqchip/gic-v3-its: Fix command buffer allocation
        irqchip/mips-gic: Fix local interrupts
        irqchip: Add a driver for Cortina Gemini
        irqchip: DT bindings for Cortina Gemini irqchip
        irqchip/gic-v3: Remove duplicate definition of GICD_TYPER_LPIS
        irqchip/gic-v3-its: Rename MAPVI to MAPTI
        irqchip/gic-v3-its: Drop deprecated GITS_BASER_TYPE_CPU
        irqchip/gic-v3-its: Refactor command encoding
        irqchip/gic-v3-its: Enable cacheable attribute Read-allocate hints
        irqchip/qcom: Add IRQ combiner driver
        ACPI: Add support for ResourceSource/IRQ domain mapping
        ACPI: Generic GSI: Do not attempt to map non-GSI IRQs during bus scan
        irq/platform-msi: Fix comment about maximal MSIs
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 20dcfe1b
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "Nothing exciting, just the usual pile of fixes, updates and cleanups:
         - A bunch of clocksource driver updates
         - Removal of CONFIG_TIMER_STATS and the related /proc file
         - More posix timer slim down work
         - A scalability enhancement in the tick broadcast code
         - Math cleanups"
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        hrtimer: Catch invalid clockids again
        math64, tile: Fix build failure
        clocksource/drivers/arm_arch_timer:: Mark cyclecounter __ro_after_init
        timerfd: Protect the might cancel mechanism proper
        timer_list: Remove useless cast when printing
        time: Remove CONFIG_TIMER_STATS
        clocksource/drivers/arm_arch_timer: Work around Hisilicon erratum 161010101
        clocksource/drivers/arm_arch_timer: Introduce generic errata handling infrastructure
        clocksource/drivers/arm_arch_timer: Remove fsl-a008585 parameter
        clocksource/drivers/arm_arch_timer: Add dt binding for hisilicon-161010101 erratum
        clocksource/drivers/ostm: Add renesas-ostm timer driver
        clocksource/drivers/ostm: Document renesas-ostm timer DT bindings
        clocksource/drivers/tcb_clksrc: Use 32 bit tcb as sched_clock
        clocksource/drivers/gemini: Add driver for the Cortina Gemini
        clocksource: add DT bindings for Cortina Gemini
        clockevents: Add a clkevt-of mechanism like clksrc-of
        tick/broadcast: Reduce lock cacheline contention
        timers: Omit POSIX timer stuff from task_struct when disabled
        x86/timer: Make delay() work during early bootup
        delay: Add explanation of udelay() inaccuracy
    • Linus Torvalds's avatar
      Merge tag 'for-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · c9b9f207
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "New drivers:
         - sbs-charger driver
         - max14656_charger_detector
         - axp20x_ac_power
        New chip/feature support"
         - axp20x_usb_power: add AXP223 support
         - tps65217: add usb charger support
         - qcom_smbb: support otg regulator
         - at91-reset: add samx7 support
        Dropped drivers:
         - intel_mid_battery (platform was dropped)
         - at91-poweroff: avoid wearing off LPDDR memory
         - replace deprecated extcon API
         - lots of cleanup and style fixes
         - misc minor functionality fixes"
      * tag 'for-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (84 commits)
        power: supply: add AC power supply driver for AXP20X and AXP22X PMICs
        dt-bindings: power: supply: add AXP20X/AXP22X AC power supply
        power: supply: axp20x_usb_power: use IIO channels when available
        power: supply: max14656: Export I2C and OF device ID as module aliases
        power: supply: bq2415x: check for NULL acpi_id to avoid null pointer dereference
        power: supply: bq24190_charger: Adjust formatting
        power: supply: bq24190_charger: Handle fault before status on interrupt
        power: supply: bq24190_charger: Don't read fault register outside irq_handle_thread()
        power: supply: bq24190_charger: Call power_supply_changed() for relevant component
        power: supply: bq24190_charger: Install irq_handler_thread() at end of probe()
        power: supply: bq24190_charger: Call set_mode_host() on pm_resume()
        power: supply: bq24190_charger: Fix irq trigger to IRQF_TRIGGER_FALLING
        power: supply: qcom_smbb: add regulator dependency
        power: reset: at91-reset: remove leftover platform_device_id
        power: reset: at91-reset: add samx7 support
        power: supply: max14656: fix platform_no_drv_owner.cocci warnings
        power: supply: pcf50633-charger: Compress return logic into one line.
        power: supply: ab8500_btemp: Compress return logic into one line.
        power: reset: at91-poweroff: timely shutdown LPDDR memories
        ARM: at91: define LPDDR types
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 345fb0a9
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
       - Make amd64_edac still load on a machine with unpopulated nodes +
         cleanups (Yazen Ghannam)
       - Expose per-DIMM error counts in sysfs (Aaron Miller)
       - Add T2080 l2-cache support to mpc85xx (Chris Packham)
       - Random other small improvements/cleanups/fixlets
      * tag 'edac_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, mce_amd: Print IPID and Syndrome on a separate line
        EDAC, amd64: Bump driver version
        MAINTAINERS, EDAC: Update email for Thor Thayer
        EDAC, fsl_ddr: Make locally used symbols static
        EDAC, mpc85xx: Add T2080 l2-cache support
        EDAC, amd64: Add x86cpuid sanity check during init
        EDAC, amd64: Don't treat ECC disabled as failure
        EDAC: Add routine to check if MC devices list is empty
        EDAC, amd64: Remove unused printing macros
        EDAC, amd64: Rework messages in ecc_enabled()
        EDAC, amd64: Move global code out of instance functions
        EDAC, amd64: Free unused memory when init_one_instance() fails
        EDAC, mce_amd: Give more context to deferred error message
        EDAC, i7300: Test for the second channel properly
        EDAC, sb_edac: Get rid of ->show_interleave_mode()
        EDAC: Expose per-DIMM error counts in sysfs
        EDAC, amd64: Save and return err code from probe_one_instance()
        EDAC, i82975x: Add ioremap_nocache() error handling
        EDAC: Fix typos in enum mem_type comments
        EDAC: Make dev_attr_sdram_scrub_rate static
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.11' of... · 507b5007
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      Pull hwmon updates from Guenter Roeck:
       - new driver for stts751
       - it87: Added support for IT8622E and IT8792E; improved support for
         other chips
       - lm70: Added support for TMP122/124
       - use permission-specific DEVICE_ATTR variants where possible
       - fixed overflows in various drivers
       - minor improvements in various drivers
      * tag 'hwmon-for-linus-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (95 commits)
        hwmon: (sht15) Add device tree support
        devicetree: add lm90 thermal_zone sensor support
        hwmon: (it87) Add support for IT8792E
        hwmon: (it87) Do not overwrite bit 2..6 of pwm control registers
        hwmon: (it87) Fix pwm4 detection for IT8620 and IT8628
        hwmon: (it87) Ensure that pwm control cache is current before updating values
        hwmon: (it87) Improve IT8622 support
        hwmon: (it87) Add support for IT8622E
        hwmon: (it87) Add feature flag indicating that VIN3 is connected to 5V
        DT: add binding documentation for STTS751
        hwmon: new driver for ST stts751 thermal sensor
        hwmon: Register thermal zone only if 'dev' parameter was provided
        hwmon: Relax name attribute validation for new APIs
        hwmon: Update documentation to clarify rules for the 'name' attribute
        hwmon: Make name attribute mandatory for new APIs
        hwmon: (lm70) Add support for TI TMP122/124
        hwmon: (lm70) Utilize dev_warn instead of pr_warn
        hwmon: (ltc4151) Export OF device ID table as module aliases
        hwmon: (adc128d818) Preserve operation mode
        hwmon: (adc128d818) Support operation modes 1-3
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20170212' of git://git.infradead.org/linux-mtd · ce1bf979
      Linus Torvalds authored
      Pull MTD updates from Brian Norris:
       "MTD updates for 4.11:
         - new kernel API for retrieving max bad blocks per die (not used yet)
         - track (and expose via sysfs) a partition's device tree node
         - support a "label" device tree property for naming an MTD
         - sunxi: avoid busy-waiting for NAND events
         - ifc: fix ECC handling on IFC v1.0
         - OX820: add explicit dependency on ARCH_OXNAS in Kconfig
         - core: add a new manufacture ID and fix a kernel-doc warning
         - fsmc: kill pdata support
         - lpc32xx_slc: remove unneeded NULL check
         - support dynamic "max bad blocks" detection via ONFI
        SPI NOR:
         - add support for the 4-byte address instruction set
         - add support for new memory parts
         - add support to S3AN memories
         - add support to the Intel SPI controller
         - add support to the Aspeed AST2400 and AST2550 controllers
         - support max SPI message sizes in m25p80_read()
         - fixes for the Candence and Freescale QSPI drivers
         - add support for Gemini flash probing
         - bcm47xxsflash: add support for reading outside memory-mapped window
         - bcm47xxparts: extend to support multiple TRX partitions
         - misc fixes and typos
        Extra note: we've pulled in an MFD subtree from Lee Jones as a
        dependency for a new Intel SPI NOR driver"
      [ Kudos to Brian for sending pull request a week early:
         "I refuse to acknowledge the existence of 4.10-rc8 and am therefore
          sending our MTD changes for 4.11 now"
        which is all good ]
      * tag 'for-linus-20170212' of git://git.infradead.org/linux-mtd: (52 commits)
        mtd: aspeed: remove redundant dev_err call in aspeed_smc_probe()
        dt-bindings: mtd: add a common label property to all mtd devices
        mtd: name the mtd device with an optional label property
        mtd: physmap_of: fixup gemini/versatile dependencies
        mtd: spi-nor: cqspi: remove redundant dead code on error return check
        Documentation: mtk-quadspi: update DT bindings
        mtd: fsl-quadspi: Rename SEQID_QUAD_READ to SEQID_READ
        mtd:fsl-quadspi:use the property fields of SPI-NOR
        mtd: spi-nor: Add support for gd25q16
        mtd: spi-nor: Fix S3AN addressing calculation
        mtd: aspeed: fix compile warning in aspeed_smc_read_from_ahb()
        mtd: spi-nor: add dt support for Everspin MRAMs
        mtd: spi-nor: Add lock/unlock support for f25l32pa
        mtd: spi-nor: add a stateless method to support memory size above 128Mib
        mtd: spi-nor: rename SPINOR_OP_* macros of the 4-byte address op codes
        mtd: m25p80: consider max message size in m25p80_read
        mtd: spi-nor: bindings for the Aspeed memory controllers
        mtd: aspeed: add memory controllers for the Aspeed AST2400 SoC
        mtd: spi-nor: add memory controllers for the Aspeed AST2500 SoC
        mtd: spi-nor: remove WARN_ONCE() message in spi_nor_write()
  2. 19 Feb, 2017 12 commits
  3. 18 Feb, 2017 2 commits
  4. 17 Feb, 2017 14 commits
    • David S. Miller's avatar
      irda: Fix lockdep annotations in hashbin_delete(). · 4c03b862
      David S. Miller authored
      A nested lock depth was added to the hasbin_delete() code but it
      doesn't actually work some well and results in tons of lockdep splats.
      Fix the code instead to properly drop the lock around the operation
      and just keep peeking the head of the hashbin queue.
      Reported-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Tested-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 6dc39c50
      Linus Torvalds authored
      Pull block layer fix from Jens Axboe:
       "A single fix for a lockdep splat reported by Thomas and Gabriel"
      * 'for-linus' of git://git.kernel.dk/linux-block:
        cfq-iosched: don't call wbt_disable_default() with IRQs disabled
    • Paolo Abeni's avatar
      vxlan: fix oops in dev_fill_metadata_dst · 22f0708a
      Paolo Abeni authored
      Since the commit 0c1d70af ("net: use dst_cache for vxlan device")
      vxlan_fill_metadata_dst() calls vxlan_get_route() passing a NULL
      dst_cache pointer, so the latter should explicitly check for
      valid dst_cache ptr. Unfortunately the commit d71785ff ("net: add
      dst_cache to ovs vxlan lwtunnel") removed said check.
      As a result is possible to trigger a null pointer access calling
      vxlan_fill_metadata_dst(), e.g. with:
      ovs-vsctl add-br ovs-br0
      ovs-vsctl add-port ovs-br0 vxlan0 -- set interface vxlan0 \
      	type=vxlan options:remote_ip= \
      	options:key=1234 options:dst_port=4789 ofport_request=10
      ip address add dev ovs-br0
      ovs-vsctl set Bridge ovs-br0 ipfix=@i -- --id=@i create IPFIX \
      	targets=\"\" sampling=1
      iperf -c -u -l 1000 -b 10M -t 1 -p 1234
      This commit addresses the issue passing to vxlan_get_route() the
      dst_cache already available into the lwt info processed by
      Fixes: d71785ff
       ("net: add dst_cache to ovs vxlan lwtunnel")
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Acked-by: default avatarJiri Benc <jbenc@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Andrey Konovalov's avatar
      dccp: fix freeing skb too early for IPV6_RECVPKTINFO · 5edabca9
      Andrey Konovalov authored
      In the current DCCP implementation an skb for a DCCP_PKT_REQUEST packet
      is forcibly freed via __kfree_skb in dccp_rcv_state_process if
      dccp_v6_conn_request successfully returns.
      However, if IPV6_RECVPKTINFO is set on a socket, the address of the skb
      is saved to ireq->pktopts and the ref count for skb is incremented in
      dccp_v6_conn_request, so skb is still in use. Nevertheless, it gets freed
      in dccp_rcv_state_process.
      Fix by calling consume_skb instead of doing goto discard and therefore
      calling __kfree_skb.
      Similar fixes for TCP:
      fb7e2399 [TCP]: skb is unexpectedly freed.
       tcp: SYN packets are now
      simply consumed
      Signed-off-by: default avatarAndrey Konovalov <andreyknvl@google.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.10-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 2fe1e8a7
      Linus Torvalds authored
      Pull powerpc fix from Michael Ellerman:
       "One fix from Paul: we can not use the radix MMU under a hypervisor for
        Although the code checked if the processor supports radix, that is not
      * tag 'powerpc-4.10-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/64: Disable use of radix under a hypervisor
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · a0d5ef45
      Linus Torvalds authored
      Pull input fix from Dmitry Torokhov:
       "Just a single change to Elan touchpad driver to recognize a new ACPI
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: elan_i2c - add ELAN0605 to the ACPI table
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 444a034d
      Linus Torvalds authored
      Pull i2c fix from Wolfram Sang:
       "I2C has a revert to fix a regression"
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        Revert "i2c: designware: detect when dynamic tar update is possible"
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 6adfd6ac
      Linus Torvalds authored
      Pull MMC fix from Ulf Hansson:
       "Fix multi-bit bus width without high-speed mode for MMC"
      * tag 'mmc-v4.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: core: fix multi-bit bus width without high-speed mode
    • Linus Torvalds's avatar
      Merge tag 'ntb-4.10-bugfixes' of git://github.com/jonmason/ntb · 7ed1b125
      Linus Torvalds authored
      Pull NTB bugfixes frfom Jon Mason:
       "NTB bug fixes to address a crash when unloading the ntb module, a DMA
        engine unmap leak, allowing the proper queue choice, and clearing the
        SKX irq bit"
      * tag 'ntb-4.10-bugfixes' of git://github.com/jonmason/ntb:
        ntb: ntb_hw_intel: link_poll isn't clearing the pending status properly
        ntb_transport: Pick an unused queue
        ntb: ntb_perf missing dmaengine_unmap_put
        NTB: ntb_transport: fix debugfs_remove_recursive
    • Dan Carpenter's avatar
      dpaa_eth: small leak on error · 785f3577
      Dan Carpenter authored
      This should be >= instead of > here.  It means that we don't increment
      the free count enough so it becomes off by one.
      Fixes: 9ad1a374
       ("dpaa_eth: add support for DPAA Ethernet")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Arnd Bergmann's avatar
      Merge tag 'reset-for-4.10-fixes' of https://git.pengutronix.de/git/pza/linux into fixes · 6fe1bfc4
      Arnd Bergmann authored
      Pull "Reset controller fixes for v4.10" from Philipp Zabel:
      - Remove erroneous negation of the error check of the reset function
        to decrement trigger_count in the error case, not on success. This
        fixes shared resets to actually only trigger once, as intended.
      * tag 'reset-for-4.10-fixes' of https://git.pengutronix.de/git/pza/linux:
        reset: fix shared reset triggered_count decrement on error
    • Anoob Soman's avatar
      packet: Do not call fanout_release from atomic contexts · 2bd624b4
      Anoob Soman authored
      Commit 66644982 ("packet: call fanout_release, while UNREGISTERING a
      netdev"), unfortunately, introduced the following issues.
      1. calling mutex_lock(&fanout_mutex) (fanout_release()) from inside
      rcu_read-side critical section. rcu_read_lock disables preemption, most often,
      which prohibits calling sleeping functions.
      [  ] include/linux/rcupdate.h:560 Illegal context switch in RCU read-side critical section!
      [  ]
      [  ] rcu_scheduler_active = 1, debug_locks = 0
      [  ] 4 locks held by ovs-vswitchd/1969:
      [  ]  #0:  (cb_lock){++++++}, at: [<ffffffff8158a6c9>] genl_rcv+0x19/0x40
      [  ]  #1:  (ovs_mutex){+.+.+.}, at: [<ffffffffa04878ca>] ovs_vport_cmd_del+0x4a/0x100 [openvswitch]
      [  ]  #2:  (rtnl_mutex){+.+.+.}, at: [<ffffffff81564157>] rtnl_lock+0x17/0x20
      [  ]  #3:  (rcu_read_lock){......}, at: [<ffffffff81614165>] packet_notifier+0x5/0x3f0
      [  ]
      [  ] Call Trace:
      [  ]  [<ffffffff813770c1>] dump_stack+0x85/0xc4
      [  ]  [<ffffffff810c9077>] lockdep_rcu_suspicious+0x107/0x110
      [  ]  [<ffffffff810a2da7>] ___might_sleep+0x57/0x210
      [  ]  [<ffffffff810a2fd0>] __might_sleep+0x70/0x90
      [  ]  [<ffffffff8162e80c>] mutex_lock_nested+0x3c/0x3a0
      [  ]  [<ffffffff810de93f>] ? vprintk_default+0x1f/0x30
      [  ]  [<ffffffff81186e88>] ? printk+0x4d/0x4f
      [  ]  [<ffffffff816106dd>] fanout_release+0x1d/0xe0
      [  ]  [<ffffffff81614459>] packet_notifier+0x2f9/0x3f0
      2. calling mutex_lock(&fanout_mutex) inside spin_lock(&po->bind_lock).
      "sleeping function called from invalid context"
      [  ] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:620
      [  ] in_atomic(): 1, irqs_disabled(): 0, pid: 1969, name: ovs-vswitchd
      [  ] INFO: lockdep is turned off.
      [  ] Call Trace:
      [  ]  [<ffffffff813770c1>] dump_stack+0x85/0xc4
      [  ]  [<ffffffff810a2f52>] ___might_sleep+0x202/0x210
      [  ]  [<ffffffff810a2fd0>] __might_sleep+0x70/0x90
      [  ]  [<ffffffff8162e80c>] mutex_lock_nested+0x3c/0x3a0
      [  ]  [<ffffffff816106dd>] fanout_release+0x1d/0xe0
      [  ]  [<ffffffff81614459>] packet_notifier+0x2f9/0x3f0
      3. calling dev_remove_pack(&fanout->prot_hook), from inside
      spin_lock(&po->bind_lock) or rcu_read-side critical-section. dev_remove_pack()
      -> synchronize_net(), which might sleep.
      [  ] BUG: scheduling while atomic: ovs-vswitchd/1969/0x00000002
      [  ] INFO: lockdep is turned off.
      [  ] Call Trace:
      [  ]  [<ffffffff813770c1>] dump_stack+0x85/0xc4
      [  ]  [<ffffffff81186274>] __schedule_bug+0x64/0x73
      [  ]  [<ffffffff8162b8cb>] __schedule+0x6b/0xd10
      [  ]  [<ffffffff8162c5db>] schedule+0x6b/0x80
      [  ]  [<ffffffff81630b1d>] schedule_timeout+0x38d/0x410
      [  ]  [<ffffffff810ea3fd>] synchronize_sched_expedited+0x53d/0x810
      [  ]  [<ffffffff810ea6de>] synchronize_rcu_expedited+0xe/0x10
      [  ]  [<ffffffff8154eab5>] synchronize_net+0x35/0x50
      [  ]  [<ffffffff8154eae3>] dev_remove_pack+0x13/0x20
      [  ]  [<ffffffff8161077e>] fanout_release+0xbe/0xe0
      [  ]  [<ffffffff81614459>] packet_notifier+0x2f9/0x3f0
      4. fanout_release() races with calls from different CPU.
      To fix the above problems, remove the call to fanout_release() under
      rcu_read_lock(). Instead, call __dev_remove_pack(&fanout->prot_hook) and
      netdev_run_todo will be happy that &dev->ptype_specific list is empty. In order
      to achieve this, I moved dev_{add,remove}_pack() out of fanout_{add,release} to
      __fanout_{link,unlink}. So, call to {,__}unregister_prot_hook() will make sure
      fanout->prot_hook is removed as well.
      Fixes: 66644982
       ("packet: call fanout_release, while UNREGISTERING a netdev")
      Reported-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarAnoob Soman <anoob.soman@citrix.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Jerome Brunet's avatar
      reset: fix shared reset triggered_count decrement on error · e5a1dade
      Jerome Brunet authored
      For a shared reset, when the reset is successful, the triggered_count is
      incremented when trying to call the reset callback, so that another device
      sharing the same reset line won't trigger it again. If the reset has not
      been triggered successfully, the trigger_count should be decremented.
      The code does the opposite, and decrements the trigger_count on success.
      As a consequence, another device sharing the reset will be able to trigger
      it again.
      Fixed be removing negation in from of the error code of the reset function.
      Fixes: 7da33a37
       ("reset: allow using reset_control_reset with shared reset")
      Signed-off-by: default avatarJerome Brunet <jbrunet@baylibre.com>
      Acked-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
      Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
    • Dave Jiang's avatar
      ntb: ntb_hw_intel: link_poll isn't clearing the pending status properly · 939ada5f
      Dave Jiang authored
      On Skylake hardware, the link_poll isn't clearing the pending interrupt
      bit.  Adding a new function for SKX that handles clearing of status bit the
      right way.
      Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
      Fixes: 783dfa6c
       ("ntb: Adding Skylake Xeon NTB support")
      Signed-off-by: default avatarJon Mason <jdmason@kudzu.us>