01 Apr, 2020

7 commits

  • Pull x86 fpu updates from Ingo Molnar:
    "Misc changes:

    - add a pkey sanity check

    - three commits to improve and future-proof xstate/xfeature handling
    some more"

    * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/pkeys: Add check for pkey "overflow"
    x86/fpu/xstate: Warn when checking alignment of disabled xfeatures
    x86/fpu/xstate: Fix XSAVES offsets in setup_xstate_comp()
    x86/fpu/xstate: Fix last_good_offset in setup_xstate_features()

    Linus Torvalds
     
  • Pull x86 cleanups from Ingo Molnar:
    "This topic tree contains more commits than usual:

    - most of it are uaccess cleanups/reorganization by Al

    - there's a bunch of prototype declaration (--Wmissing-prototypes)
    cleanups

    - misc other cleanups all around the map"

    * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
    x86/mm/set_memory: Fix -Wmissing-prototypes warnings
    x86/efi: Add a prototype for efi_arch_mem_reserve()
    x86/mm: Mark setup_emu2phys_nid() static
    x86/jump_label: Move 'inline' keyword placement
    x86/platform/uv: Add a missing prototype for uv_bau_message_interrupt()
    kill uaccess_try()
    x86: unsafe_put-style macro for sigmask
    x86: x32_setup_rt_frame(): consolidate uaccess areas
    x86: __setup_rt_frame(): consolidate uaccess areas
    x86: __setup_frame(): consolidate uaccess areas
    x86: setup_sigcontext(): list user_access_{begin,end}() into callers
    x86: get rid of put_user_try in __setup_rt_frame() (both 32bit and 64bit)
    x86: ia32_setup_rt_frame(): consolidate uaccess areas
    x86: ia32_setup_frame(): consolidate uaccess areas
    x86: ia32_setup_sigcontext(): lift user_access_{begin,end}() into the callers
    x86/alternatives: Mark text_poke_loc_init() static
    x86/cpu: Fix a -Wmissing-prototypes warning for init_ia32_feat_ctl()
    x86/mm: Drop pud_mknotpresent()
    x86: Replace setup_irq() by request_irq()
    x86/configs: Slightly reduce defconfigs
    ...

    Linus Torvalds
     
  • Pull x86 build updates from Ingo Molnar:
    "A handful of updates: two linker script cleanups and a stock
    defconfig+allmodconfig bootability fix"

    * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/vdso: Discard .note.gnu.property sections in vDSO
    x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS
    x86/Kconfig: Make CMDLINE_OVERRIDE depend on non-empty CMDLINE

    Linus Torvalds
     
  • Pull x86 boot updates from Ingo Molnar:
    "Misc cleanups and small enhancements all around the map"

    * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/boot/compressed: Fix debug_puthex() parameter type
    x86/setup: Fix static memory detection
    x86/vmlinux: Drop unneeded linker script discard of .eh_frame
    x86/*/Makefile: Use -fno-asynchronous-unwind-tables to suppress .eh_frame sections
    x86/boot/compressed: Remove .eh_frame section from bzImage
    x86/boot/compressed/64: Remove .bss/.pgtable from bzImage
    x86/boot/compressed/64: Use 32-bit (zero-extended) MOV for z_output_len
    x86/boot/compressed/64: Use LEA to initialize boot stack pointer

    Linus Torvalds
     
  • Pull arm64 updates from Catalin Marinas:
    "The bulk is in-kernel pointer authentication, activity monitors and
    lots of asm symbol annotations. I also queued the sys_mremap() patch
    commenting the asymmetry in the address untagging.

    Summary:

    - In-kernel Pointer Authentication support (previously only offered
    to user space).

    - ARM Activity Monitors (AMU) extension support allowing better CPU
    utilisation numbers for the scheduler (frequency invariance).

    - Memory hot-remove support for arm64.

    - Lots of asm annotations (SYM_*) in preparation for the in-kernel
    Branch Target Identification (BTI) support.

    - arm64 perf updates: ARMv8.5-PMU 64-bit counters, refactoring the
    PMU init callbacks, support for new DT compatibles.

    - IPv6 header checksum optimisation.

    - Fixes: SDEI (software delegated exception interface) double-lock on
    hibernate with shared events.

    - Minor clean-ups and refactoring: cpu_ops accessor,
    cpu_do_switch_mm() converted to C, cpufeature finalisation helper.

    - sys_mremap() comment explaining the asymmetric address untagging
    behaviour"

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (81 commits)
    mm/mremap: Add comment explaining the untagging behaviour of mremap()
    arm64: head: Convert install_el2_stub to SYM_INNER_LABEL
    arm64: Introduce get_cpu_ops() helper function
    arm64: Rename cpu_read_ops() to init_cpu_ops()
    arm64: Declare ACPI parking protocol CPU operation if needed
    arm64: move kimage_vaddr to .rodata
    arm64: use mov_q instead of literal ldr
    arm64: Kconfig: verify binutils support for ARM64_PTR_AUTH
    lkdtm: arm64: test kernel pointer authentication
    arm64: compile the kernel with ptrauth return address signing
    kconfig: Add support for 'as-option'
    arm64: suspend: restore the kernel ptrauth keys
    arm64: __show_regs: strip PAC from lr in printk
    arm64: unwind: strip PAC from kernel addresses
    arm64: mask PAC bits of __builtin_return_address
    arm64: initialize ptrauth keys for kernel booting task
    arm64: initialize and switch ptrauth kernel keys
    arm64: enable ptrauth earlier
    arm64: cpufeature: handle conflicts based on capability
    arm64: cpufeature: Move cpu capability helpers inside C file
    ...

    Linus Torvalds
     
  • Pull microblaze updates from Michal Simek:

    - convert license headers to SPDX

    - cleanup header handling and use asm-generic one

    - get rid of earlyprintk residues

    - define barriers and use it in the code

    - get rid of setup_irq() for timer

    - various small addons and fixes

    * tag 'microblaze-v5.7-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Replace setup_irq() by request_irq()
    microblaze: Stop printing the virtual memory layout
    microblaze: Use asm generic cmpxchg.h for !SMP case
    microblaze: Define percpu sestion in linker file
    microblaze: Remove unused boot_cpuid variable
    microblaze: Add missing irqflags.h header
    microblaze: Add sync to tlb operations
    microblaze: Define microblaze barrier
    microblaze: Remove empty headers
    microblaze: Remove early printk setup
    microblaze: Remove architecture tlb.h and use generic one
    microblaze: Convert headers to SPDX license
    microblaze: Fix _reset() function
    microblaze: Kernel parameters should be parsed earlier

    Linus Torvalds
     
  • Pull ia64 updates from Tony Luck:
    "Couple of cleanup patches"

    * tag 'please-pull-ia64_for_5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    tty/serial: cleanup after ioc*_serial driver removal
    ia64: replace setup_irq() by request_irq()

    Linus Torvalds
     

31 Mar, 2020

33 commits

  • Pull MIPS updates from Thomas Bogendoerfer:

    - loongson64 irq rework

    - dmi support loongson

    - replace setup_irq() by request_irq()

    - jazz cleanups

    - minor cleanups and fixes

    * tag 'mips_5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (44 commits)
    MIPS: ralink: mt7621: Fix soc_device introduction
    MIPS: Exclude more dsemul code when CONFIG_MIPS_FP_SUPPORT=n
    MIPS/tlbex: Fix LDDIR usage in setup_pw() for Loongson-3
    MIPS: do not compile generic functions for CONFIG_CAVIUM_OCTEON_SOC
    MAINTAINERS: Update Loongson64 entry
    MIPS: Loongson64: Load built-in dtbs
    MIPS: Loongson64: Add generic dts
    dt-bindings: mips: Add loongson boards
    MIPS: Loongson64: Drop legacy IRQ code
    dt-bindings: interrupt-controller: Add Loongson-3 HTPIC
    irqchip: Add driver for Loongson-3 HyperTransport PIC controller
    dt-bindings: interrupt-controller: Add Loongson LIOINTC
    irqchip: loongson-liointc: Workaround LPC IRQ Errata
    irqchip: Add driver for Loongson I/O Local Interrupt Controller
    docs: mips: remove no longer needed au1xxx_ide.rst documentation
    MIPS: Alchemy: remove no longer used au1xxx_ide.h header
    ide: remove no longer used au1xxx-ide driver
    MIPS: Add support for Desktop Management Interface (DMI)
    firmware: dmi: Add macro SMBIOS_ENTRY_POINT_SCAN_START
    MIPS: ralink: mt7621: introduce 'soc_device' initialization
    ...

    Linus Torvalds
     
  • Pull m68k updates from Geert Uytterhoeven:

    - pagetable layout rewrite, to facilitate global READ_ONCE() rework

    - Zorro (Amiga) and DIO (HP 9000/300) bus cleanups

    - defconfig updates

    - minor cleanups and fixes

    * tag 'm68k-for-v5.7-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (23 commits)
    m68k: defconfig: Update defconfigs for v5.6-rc4
    zorro: Replace zero-length array with flexible-array member
    m68k: Switch to asm-generic/hardirq.h
    fbdev: c2p: Use BUILD_BUG() instead of custom solution
    dio: Remove unused dio_dev_driver()
    dio: Fix dio_bus_match() kerneldoc
    dio: Make dio_match_device() static
    zorro: Move zorro_bus_type to bus-private header file
    zorro: Remove unused zorro_dev_driver()
    zorro: Use zorro_match_device() helper in zorro_bus_match()
    zorro: Fix zorro_bus_match() kerneldoc
    zorro: Make zorro_match_device() static
    m68k: Fix Kconfig indentation
    m68k: mm: Change ColdFire pgtable_t
    m68k: mm: Fully initialize the page-table allocator
    m68k: mm: Extend table allocator for multiple sizes
    m68k: mm: Use table allocator for pgtables
    m68k: mm: Improve kernel_page_table()
    m68k: mm: Restructure Motorola MMU page-table layout
    m68k: mm: Move the pointer table allocator to motorola.c
    ...

    Linus Torvalds
     
  • Pull x86 timer updates from Thomas Gleixner:
    "A series of commits to make the MSR derived CPU and TSC frequency more
    accurate.

    It turned out that the frequency tables which have been taken from the
    SDM are inaccurate because the SDM provides truncated and rounded
    values, e.g. 83.3Mhz (83.3333...) or 116.7Mhz (116.6666...).

    This causes time drift in the range of ~1 second per hour (20-30
    seconds per day). On some of these SoCs it's not possible to
    recalibrate the TSC because there is no reference (PIT, HPET)
    available.

    With some reverse engineering it was established that the possible
    frequencies are derived from the base clock with fixed multiplier /
    divider pairs.

    For the CPU models which have a known crystal frequency the kernel now
    uses multiplier / divider pairs which bring the frequencies closer to
    reality and fix the observed time drift issues"

    * tag 'x86-timers-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/tsc_msr: Make MSR derived TSC frequency more accurate
    x86/tsc_msr: Fix MSR_FSB_FREQ mask for Cherry Trail devices
    x86/tsc_msr: Use named struct initializers

    Linus Torvalds
     
  • Pull x86 splitlock updates from Thomas Gleixner:
    "Support for 'split lock' detection:

    Atomic operations (lock prefixed instructions) which span two cache
    lines have to acquire the global bus lock. This is at least 1k cycles
    slower than an atomic operation within a cache line and disrupts
    performance on other cores. Aside of performance disruption this is a
    unpriviledged form of DoS.

    Some newer CPUs have the capability to raise an #AC trap when such an
    operation is attempted. The detection is by default enabled in warning
    mode which will warn once when a user space application is caught. A
    command line option allows to disable the detection or to select fatal
    mode which will terminate offending applications with SIGBUS"

    * tag 'x86-splitlock-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/split_lock: Avoid runtime reads of the TEST_CTRL MSR
    x86/split_lock: Rework the initialization flow of split lock detection
    x86/split_lock: Enable split lock detection by kernel

    Linus Torvalds
     
  • Pull x86 entry code updates from Thomas Gleixner:

    - Convert the 32bit syscalls to be pt_regs based which removes the
    requirement to push all 6 potential arguments onto the stack and
    consolidates the interface with the 64bit variant

    - The first small portion of the exception and syscall related entry
    code consolidation which aims to address the recently discovered
    issues vs. RCU, int3, NMI and some other exceptions which can
    interrupt any context. The bulk of the changes is still work in
    progress and aimed for 5.8.

    - A few lockdep namespace cleanups which have been applied into this
    branch to keep the prerequisites for the ongoing work confined.

    * tag 'x86-entry-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (35 commits)
    x86/entry: Fix build error x86 with !CONFIG_POSIX_TIMERS
    lockdep: Rename trace_{hard,soft}{irq_context,irqs_enabled}()
    lockdep: Rename trace_softirqs_{on,off}()
    lockdep: Rename trace_hardirq_{enter,exit}()
    x86/entry: Rename ___preempt_schedule
    x86: Remove unneeded includes
    x86/entry: Drop asmlinkage from syscalls
    x86/entry/32: Enable pt_regs based syscalls
    x86/entry/32: Use IA32-specific wrappers for syscalls taking 64-bit arguments
    x86/entry/32: Rename 32-bit specific syscalls
    x86/entry/32: Clean up syscall_32.tbl
    x86/entry: Remove ABI prefixes from functions in syscall tables
    x86/entry/64: Add __SYSCALL_COMMON()
    x86/entry: Remove syscall qualifier support
    x86/entry/64: Remove ptregs qualifier from syscall table
    x86/entry: Move max syscall number calculation to syscallhdr.sh
    x86/entry/64: Split X32 syscall table into its own file
    x86/entry/64: Move sys_ni_syscall stub to common.c
    x86/entry/64: Use syscall wrappers for x32_rt_sigreturn
    x86/entry: Refactor SYS_NI macros
    ...

    Linus Torvalds
     
  • Pull timekeeping and timer updates from Thomas Gleixner:
    "Core:

    - Consolidation of the vDSO build infrastructure to address the
    difficulties of cross-builds for ARM64 compat vDSO libraries by
    restricting the exposure of header content to the vDSO build.

    This is achieved by splitting out header content into separate
    headers. which contain only the minimaly required information which
    is necessary to build the vDSO. These new headers are included from
    the kernel headers and the vDSO specific files.

    - Enhancements to the generic vDSO library allowing more fine grained
    control over the compiled in code, further reducing architecture
    specific storage and preparing for adopting the generic library by
    PPC.

    - Cleanup and consolidation of the exit related code in posix CPU
    timers.

    - Small cleanups and enhancements here and there

    Drivers:

    - The obligatory new drivers: Ingenic JZ47xx and X1000 TCU support

    - Correct the clock rate of PIT64b global clock

    - setup_irq() cleanup

    - Preparation for PWM and suspend support for the TI DM timer

    - Expand the fttmr010 driver to support ast2600 systems

    - The usual small fixes, enhancements and cleanups all over the
    place"

    * tag 'timers-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (80 commits)
    Revert "clocksource/drivers/timer-probe: Avoid creating dead devices"
    vdso: Fix clocksource.h macro detection
    um: Fix header inclusion
    arm64: vdso32: Enable Clang Compilation
    lib/vdso: Enable common headers
    arm: vdso: Enable arm to use common headers
    x86/vdso: Enable x86 to use common headers
    mips: vdso: Enable mips to use common headers
    arm64: vdso32: Include common headers in the vdso library
    arm64: vdso: Include common headers in the vdso library
    arm64: Introduce asm/vdso/processor.h
    arm64: vdso32: Code clean up
    linux/elfnote.h: Replace elf.h with UAPI equivalent
    scripts: Fix the inclusion order in modpost
    common: Introduce processor.h
    linux/ktime.h: Extract common header for vDSO
    linux/jiffies.h: Extract common header for vDSO
    linux/time64.h: Extract common header for vDSO
    linux/time32.h: Extract common header for vDSO
    linux/time.h: Extract common header for vDSO
    ...

    Linus Torvalds
     
  • Pull NOHZ update from Thomas Gleixner:
    "Remove TIF_NOHZ from three architectures

    These architectures use a static key to decide whether context
    tracking needs to be invoked and the TIF_NOHZ flag just causes a
    pointless slowpath execution for nothing"

    * tag 'timers-nohz-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    arm64: Remove TIF_NOHZ
    arm: Remove TIF_NOHZ
    x86: Remove TIF_NOHZ
    context-tracking: Introduce CONFIG_HAVE_TIF_NOHZ
    x86/entry: Remove _TIF_NOHZ from _TIF_WORK_SYSCALL_ENTRY

    Linus Torvalds
     
  • Pull core SMP updates from Thomas Gleixner:
    "CPU (hotplug) updates:

    - Support for locked CSD objects in smp_call_function_single_async()
    which allows to simplify callsites in the scheduler core and MIPS

    - Treewide consolidation of CPU hotplug functions which ensures the
    consistency between the sysfs interface and kernel state. The low
    level functions cpu_up/down() are now confined to the core code and
    not longer accessible from random code"

    * tag 'smp-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
    cpu/hotplug: Ignore pm_wakeup_pending() for disable_nonboot_cpus()
    cpu/hotplug: Hide cpu_up/down()
    cpu/hotplug: Move bringup of secondary CPUs out of smp_init()
    torture: Replace cpu_up/down() with add/remove_cpu()
    firmware: psci: Replace cpu_up/down() with add/remove_cpu()
    xen/cpuhotplug: Replace cpu_up/down() with device_online/offline()
    parisc: Replace cpu_up/down() with add/remove_cpu()
    sparc: Replace cpu_up/down() with add/remove_cpu()
    powerpc: Replace cpu_up/down() with add/remove_cpu()
    x86/smp: Replace cpu_up/down() with add/remove_cpu()
    arm64: hibernate: Use bringup_hibernate_cpu()
    cpu/hotplug: Provide bringup_hibernate_cpu()
    arm64: Use reboot_cpu instead of hardconding it to 0
    arm64: Don't use disable_nonboot_cpus()
    ARM: Use reboot_cpu instead of hardcoding it to 0
    ARM: Don't use disable_nonboot_cpus()
    ia64: Replace cpu_down() with smp_shutdown_nonboot_cpus()
    cpu/hotplug: Create a new function to shutdown nonboot cpus
    cpu/hotplug: Add new {add,remove}_cpu() functions
    sched/core: Remove rq.hrtick_csd_pending
    ...

    Linus Torvalds
     
  • Pull irq updates from Thomas Gleixner:
    "Updates for the interrupt subsystem:

    Treewide:

    - Cleanup of setup_irq() which is not longer required because the
    memory allocator is available early.

    Most cleanup changes come through the various maintainer trees, so
    the final removal of setup_irq() is postponed towards the end of
    the merge window.

    Core:

    - Protection against unsafe invocation of interrupt handlers and
    unsafe interrupt injection including a fixup of the offending
    PCI/AER error injection mechanism.

    Invoking interrupt handlers from arbitrary contexts, i.e. outside
    of an actual interrupt, can cause inconsistent state on the
    fragile x86 interrupt affinity changing hardware trainwreck.

    Drivers:

    - Second wave of support for the new ARM GICv4.1

    - Multi-instance support for Xilinx and PLIC interrupt controllers

    - CPU-Hotplug support for PLIC

    - The obligatory new driver for X1000 TCU

    - Enhancements, cleanups and fixes all over the place"

    * tag 'irq-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (58 commits)
    unicore32: Replace setup_irq() by request_irq()
    sh: Replace setup_irq() by request_irq()
    hexagon: Replace setup_irq() by request_irq()
    c6x: Replace setup_irq() by request_irq()
    alpha: Replace setup_irq() by request_irq()
    irqchip/gic-v4.1: Eagerly vmap vPEs
    irqchip/gic-v4.1: Add VSGI property setup
    irqchip/gic-v4.1: Add VSGI allocation/teardown
    irqchip/gic-v4.1: Move doorbell management to the GICv4 abstraction layer
    irqchip/gic-v4.1: Plumb set_vcpu_affinity SGI callbacks
    irqchip/gic-v4.1: Plumb get/set_irqchip_state SGI callbacks
    irqchip/gic-v4.1: Plumb mask/unmask SGI callbacks
    irqchip/gic-v4.1: Add initial SGI configuration
    irqchip/gic-v4.1: Plumb skeletal VSGI irqchip
    irqchip/stm32: Retrigger both in eoi and unmask callbacks
    irqchip/gic-v3: Move irq_domain_update_bus_token to after checking for NULL domain
    irqchip/xilinx: Do not call irq_set_default_host()
    irqchip/xilinx: Enable generic irq multi handler
    irqchip/xilinx: Fill error code when irq domain registration fails
    irqchip/xilinx: Add support for multiple instances
    ...

    Linus Torvalds
     
  • There's a semantic conflict in the Octeon staging network driver, which
    used the skb_reset_tc() function to reset skb state when re-using an
    skb. But that inline helper function was removed in mainline by commit
    2c64605b590e ("net: Fix CONFIG_NET_CLS_ACT=n and
    CONFIG_NFT_FWD_NETDEV={y, m} build").

    Fix it by using skb_reset_redirect() instead. Also move it out of the

    This code path only ends up triggering if REUSE_SKBUFFS_WITHOUT_FREE is
    enabled, which in turn only happens if you don't have CONFIG_NETFILTER
    configured. Which was how this wasn't caught by the usual allmodconfig
    builds.

    Signed-off-by: Randy Dunlap
    Reported-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Pull scheduler updates from Ingo Molnar:
    "The main changes in this cycle are:

    - Various NUMA scheduling updates: harmonize the load-balancer and
    NUMA placement logic to not work against each other. The intended
    result is better locality, better utilization and fewer migrations.

    - Introduce Thermal Pressure tracking and optimizations, to improve
    task placement on thermally overloaded systems.

    - Implement frequency invariant scheduler accounting on (some) x86
    CPUs. This is done by observing and sampling the 'recent' CPU
    frequency average at ~tick boundaries. The CPU provides this data
    via the APERF/MPERF MSRs. This hopefully makes our capacity
    estimates more precise and keeps tasks on the same CPU better even
    if it might seem overloaded at a lower momentary frequency. (As
    usual, turbo mode is a complication that we resolve by observing
    the maximum frequency and renormalizing to it.)

    - Add asymmetric CPU capacity wakeup scan to improve capacity
    utilization on asymmetric topologies. (big.LITTLE systems)

    - PSI fixes and optimizations.

    - RT scheduling capacity awareness fixes & improvements.

    - Optimize the CONFIG_RT_GROUP_SCHED constraints code.

    - Misc fixes, cleanups and optimizations - see the changelog for
    details"

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (62 commits)
    threads: Update PID limit comment according to futex UAPI change
    sched/fair: Fix condition of avg_load calculation
    sched/rt: cpupri_find: Trigger a full search as fallback
    kthread: Do not preempt current task if it is going to call schedule()
    sched/fair: Improve spreading of utilization
    sched: Avoid scale real weight down to zero
    psi: Move PF_MEMSTALL out of task->flags
    MAINTAINERS: Add maintenance information for psi
    psi: Optimize switching tasks inside shared cgroups
    psi: Fix cpu.pressure for cpu.max and competing cgroups
    sched/core: Distribute tasks within affinity masks
    sched/fair: Fix enqueue_task_fair warning
    thermal/cpu-cooling, sched/core: Move the arch_set_thermal_pressure() API to generic scheduler code
    sched/rt: Remove unnecessary push for unfit tasks
    sched/rt: Allow pulling unfitting task
    sched/rt: Optimize cpupri_find() on non-heterogenous systems
    sched/rt: Re-instate old behavior in select_task_rq_rt()
    sched/rt: cpupri_find: Implement fallback mechanism for !fit case
    sched/fair: Fix reordering of enqueue/dequeue_task_fair()
    sched/fair: Fix runnable_avg for throttled cfs
    ...

    Linus Torvalds
     
  • Pull perf updates from Ingo Molnar:
    "The main changes in this cycle were:

    Kernel side changes:

    - A couple of x86/cpu cleanups and changes were grandfathered in due
    to patch dependencies. These clean up the set of CPU model/family
    matching macros with a consistent namespace and C99 initializer
    style.

    - A bunch of updates to various low level PMU drivers:
    * AMD Family 19h L3 uncore PMU
    * Intel Tiger Lake uncore support
    * misc fixes to LBR TOS sampling

    - optprobe fixes

    - perf/cgroup: optimize cgroup event sched-in processing

    - misc cleanups and fixes

    Tooling side changes are to:

    - perf {annotate,expr,record,report,stat,test}

    - perl scripting

    - libapi, libperf and libtraceevent

    - vendor events on Intel and S390, ARM cs-etm

    - Intel PT updates

    - Documentation changes and updates to core facilities

    - misc cleanups, fixes and other enhancements"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (89 commits)
    cpufreq/intel_pstate: Fix wrong macro conversion
    x86/cpu: Cleanup the now unused CPU match macros
    hwrng: via_rng: Convert to new X86 CPU match macros
    crypto: Convert to new CPU match macros
    ASoC: Intel: Convert to new X86 CPU match macros
    powercap/intel_rapl: Convert to new X86 CPU match macros
    PCI: intel-mid: Convert to new X86 CPU match macros
    mmc: sdhci-acpi: Convert to new X86 CPU match macros
    intel_idle: Convert to new X86 CPU match macros
    extcon: axp288: Convert to new X86 CPU match macros
    thermal: Convert to new X86 CPU match macros
    hwmon: Convert to new X86 CPU match macros
    platform/x86: Convert to new CPU match macros
    EDAC: Convert to new X86 CPU match macros
    cpufreq: Convert to new X86 CPU match macros
    ACPI: Convert to new X86 CPU match macros
    x86/platform: Convert to new CPU match macros
    x86/kernel: Convert to new CPU match macros
    x86/kvm: Convert to new CPU match macros
    x86/perf/events: Convert to new CPU match macros
    ...

    Linus Torvalds
     
  • Pull locking updates from Ingo Molnar:
    "The main changes in this cycle were:

    - Continued user-access cleanups in the futex code.

    - percpu-rwsem rewrite that uses its own waitqueue and atomic_t
    instead of an embedded rwsem. This addresses a couple of
    weaknesses, but the primary motivation was complications on the -rt
    kernel.

    - Introduce raw lock nesting detection on lockdep
    (CONFIG_PROVE_RAW_LOCK_NESTING=y), document the raw_lock vs. normal
    lock differences. This too originates from -rt.

    - Reuse lockdep zapped chain_hlocks entries, to conserve RAM
    footprint on distro-ish kernels running into the "BUG:
    MAX_LOCKDEP_CHAIN_HLOCKS too low!" depletion of the lockdep
    chain-entries pool.

    - Misc cleanups, smaller fixes and enhancements - see the changelog
    for details"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (55 commits)
    fs/buffer: Make BH_Uptodate_Lock bit_spin_lock a regular spinlock_t
    thermal/x86_pkg_temp: Make pkg_temp_lock a raw_spinlock_t
    Documentation/locking/locktypes: Minor copy editor fixes
    Documentation/locking/locktypes: Further clarifications and wordsmithing
    m68knommu: Remove mm.h include from uaccess_no.h
    x86: get rid of user_atomic_cmpxchg_inatomic()
    generic arch_futex_atomic_op_inuser() doesn't need access_ok()
    x86: don't reload after cmpxchg in unsafe_atomic_op2() loop
    x86: convert arch_futex_atomic_op_inuser() to user_access_begin/user_access_end()
    objtool: whitelist __sanitizer_cov_trace_switch()
    [parisc, s390, sparc64] no need for access_ok() in futex handling
    sh: no need of access_ok() in arch_futex_atomic_op_inuser()
    futex: arch_futex_atomic_op_inuser() calling conventions change
    completion: Use lockdep_assert_RT_in_threaded_ctx() in complete_all()
    lockdep: Add posixtimer context tracing bits
    lockdep: Annotate irq_work
    lockdep: Add hrtimer context tracing bits
    lockdep: Introduce wait-type checks
    completion: Use simple wait queues
    sched/swait: Prepare usage in completions
    ...

    Linus Torvalds
     
  • Pull EFI updates from Ingo Molnar:
    "The EFI changes in this cycle are much larger than usual, for two
    (positive) reasons:

    - The GRUB project is showing signs of life again, resulting in the
    introduction of the generic Linux/UEFI boot protocol, instead of
    x86 specific hacks which are increasingly difficult to maintain.
    There's hope that all future extensions will now go through that
    boot protocol.

    - Preparatory work for RISC-V EFI support.

    The main changes are:

    - Boot time GDT handling changes

    - Simplify handling of EFI properties table on arm64

    - Generic EFI stub cleanups, to improve command line handling, file
    I/O, memory allocation, etc.

    - Introduce a generic initrd loading method based on calling back
    into the firmware, instead of relying on the x86 EFI handover
    protocol or device tree.

    - Introduce a mixed mode boot method that does not rely on the x86
    EFI handover protocol either, and could potentially be adopted by
    other architectures (if another one ever surfaces where one
    execution mode is a superset of another)

    - Clean up the contents of 'struct efi', and move out everything that
    doesn't need to be stored there.

    - Incorporate support for UEFI spec v2.8A changes that permit
    firmware implementations to return EFI_UNSUPPORTED from UEFI
    runtime services at OS runtime, and expose a mask of which ones are
    supported or unsupported via a configuration table.

    - Partial fix for the lack of by-VA cache maintenance in the
    decompressor on 32-bit ARM.

    - Changes to load device firmware from EFI boot service memory
    regions

    - Various documentation updates and minor code cleanups and fixes"

    * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (114 commits)
    efi/libstub/arm: Fix spurious message that an initrd was loaded
    efi/libstub/arm64: Avoid image_base value from efi_loaded_image
    partitions/efi: Fix partition name parsing in GUID partition entry
    efi/x86: Fix cast of image argument
    efi/libstub/x86: Use ULONG_MAX as upper bound for all allocations
    efi: Fix a mistype in comments mentioning efivar_entry_iter_begin()
    efi/libstub: Avoid linking libstub/lib-ksyms.o into vmlinux
    efi/x86: Preserve %ebx correctly in efi_set_virtual_address_map()
    efi/x86: Ignore the memory attributes table on i386
    efi/x86: Don't relocate the kernel unless necessary
    efi/x86: Remove extra headroom for setup block
    efi/x86: Add kernel preferred address to PE header
    efi/x86: Decompress at start of PE image load address
    x86/boot/compressed/32: Save the output address instead of recalculating it
    efi/libstub/x86: Deal with exit() boot service returning
    x86/boot: Use unsigned comparison for addresses
    efi/x86: Avoid using code32_start
    efi/x86: Make efi32_pe_entry() more readable
    efi/x86: Respect 32-bit ABI in efi32_pe_entry()
    efi/x86: Annotate the LOADED_IMAGE_PROTOCOL_GUID with SYM_DATA
    ...

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "The main changes in this cycle were:

    - Make kfree_rcu() use kfree_bulk() for added performance

    - RCU updates

    - Callback-overload handling updates

    - Tasks-RCU KCSAN and sparse updates

    - Locking torture test and RCU torture test updates

    - Documentation updates

    - Miscellaneous fixes"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (74 commits)
    rcu: Make rcu_barrier() account for offline no-CBs CPUs
    rcu: Mark rcu_state.gp_seq to detect concurrent writes
    Documentation/memory-barriers: Fix typos
    doc: Add rcutorture scripting to torture.txt
    doc/RCU/rcu: Use https instead of http if possible
    doc/RCU/rcu: Use absolute paths for non-rst files
    doc/RCU/rcu: Use ':ref:' for links to other docs
    doc/RCU/listRCU: Update example function name
    doc/RCU/listRCU: Fix typos in a example code snippets
    doc/RCU/Design: Remove remaining HTML tags in ReST files
    doc: Add some more RCU list patterns in the kernel
    rcutorture: Set KCSAN Kconfig options to detect more data races
    rcutorture: Manually clean up after rcu_barrier() failure
    rcutorture: Make rcu_torture_barrier_cbs() post from corresponding CPU
    rcuperf: Measure memory footprint during kfree_rcu() test
    rcutorture: Annotation lockless accesses to rcu_torture_current
    rcutorture: Add READ_ONCE() to rcu_torture_count and rcu_torture_batch
    rcutorture: Fix stray access to rcu_fwd_cb_nodelay
    rcutorture: Fix rcu_torture_one_read()/rcu_torture_writer() data race
    rcutorture: Make kvm-find-errors.sh abort on bad directory
    ...

    Linus Torvalds
     
  • Pull objtool updates from Ingo Molnar:
    "The biggest changes in this cycle were the vmlinux.o optimizations by
    Peter Zijlstra, which are preparatory and optimization work to run
    objtool against the much richer vmlinux.o object file, to perform
    new, whole-program section based logic. That work exposed a handful
    of problems with the existing code, which fixes and optimizations are
    merged here. The complete 'vmlinux.o and noinstr' work is still work
    in progress, targeted for v5.8.

    There's also assorted fixes and enhancements from Josh Poimboeuf.

    In particular I'd like to draw attention to commit 644592d328370,
    which turns fatal objtool errors into failed kernel builds. This
    behavior is IMO now justified on multiple grounds (it's easy currently
    to not notice an essentially corrupted kernel build), and the commit
    has been in -next testing for several weeks, but there could still be
    build failures with old or weird toolchains. Should that be widespread
    or high profile enough then I'd suggest a quick revert, to not hold up
    the merge window"

    * 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
    objtool: Re-arrange validate_functions()
    objtool: Optimize find_rela_by_dest_range()
    objtool: Delete cleanup()
    objtool: Optimize read_sections()
    objtool: Optimize find_symbol_by_name()
    objtool: Resize insn_hash
    objtool: Rename find_containing_func()
    objtool: Optimize find_symbol_*() and read_symbols()
    objtool: Optimize find_section_by_name()
    objtool: Optimize find_section_by_index()
    objtool: Add a statistics mode
    objtool: Optimize find_symbol_by_index()
    x86/kexec: Make relocate_kernel_64.S objtool clean
    x86/kexec: Use RIP relative addressing
    objtool: Rename func_for_each_insn_all()
    objtool: Rename func_for_each_insn()
    objtool: Introduce validate_return()
    objtool: Improve call destination function detection
    objtool: Fix clang switch table edge case
    objtool: Add relocation check for alternative sections
    ...

    Linus Torvalds
     
  • Pull PNP subsystem updates from Rafael Wysocki:

    - Update MAINTAINERS to cover include/linux/pnp.h and add the
    linux-acpi list to the PNP entry in it

    - add the const modifier to the name field definition in struct
    pnp_driver

    - drop a pointer case in the RTC CMOS driver that has become redundant

    All by Corentin Labbe.

    * tag 'pnp-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    MAINTAINERS: Add linux-acpi list to PNP
    rtc: cmos: remove useless cast for driver_name
    PNP: constify driver name
    PNP: add missing include/linux/pnp.h to MAINTAINERS

    Linus Torvalds
     
  • Pull ACPI updates from Rafael Wysocki:

    - Update the ACPICA code in the kernel to the 20200214 upstream
    release including:

    * Fix to re-enable the sleep button after wakeup (Anchal
    Agarwal).

    * Fixes for mistakes in comments and typos (Bob Moore).

    * ASL-ASL+ converter updates (Erik Kaneda).

    * Type casting cleanups (Sven Barth).

    - Clean up the intialization of the EC driver and eliminate some dead
    code from it (Rafael Wysocki).

    - Clean up the quirk tables in the AC and battery drivers (Hans de
    Goede).

    - Fix the global lock handling on x86 to ignore unspecified bit
    positions in the global lock field (Jan Engelhardt).

    - Add a new "tiny" driver for ACPI button devices exposed by VMs to
    guest kernels to send signals directly to init (Josh Triplett).

    - Add a kernel parameter to disable ACPI BGRT on x86 (Alex Hung).

    - Make the ACPI PCI host bridge and fan drivers use scnprintf() to
    avoid potential buffer overflows (Takashi Iwai).

    - Clean up assorted pieces of code:

    * Reorder "asmlinkage" to make g++ happy (Alexey Dobriyan).

    * Drop unneeded variable initialization (Colin Ian King).

    * Add missing __acquires/__releases annotations (Jules Irenge).

    * Replace list_for_each_safe() with list_for_each_entry_safe()
    (chenqiwu)"

    * tag 'acpi-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (31 commits)
    ACPICA: Update version to 20200214
    ACPI: PCI: Use scnprintf() for avoiding potential buffer overflow
    ACPI: fan: Use scnprintf() for avoiding potential buffer overflow
    ACPI: EC: Eliminate EC_FLAGS_QUERY_HANDSHAKE
    ACPI: EC: Do not clear boot_ec_is_ecdt in acpi_ec_add()
    ACPI: EC: Simplify acpi_ec_ecdt_start() and acpi_ec_init()
    ACPI: EC: Consolidate event handler installation code
    acpi/x86: ignore unspecified bit positions in the ACPI global lock field
    acpi/x86: add a kernel parameter to disable ACPI BGRT
    x86/acpi: make "asmlinkage" part first thing in the function definition
    ACPI: list_for_each_safe() -> list_for_each_entry_safe()
    ACPI: video: remove redundant assignments to variable result
    ACPI: OSL: Add missing __acquires/__releases annotations
    ACPI / battery: Cleanup Lenovo Ideapad Miix 320 DMI table entry
    ACPI / AC: Cleanup DMI quirk table
    ACPI: EC: Use fast path in acpi_ec_add() for DSDT boot EC
    ACPI: EC: Simplify acpi_ec_add()
    ACPI: EC: Drop AE_NOT_FOUND special case from ec_install_handlers()
    ACPI: EC: Avoid passing redundant argument to functions
    ACPI: EC: Avoid printing confusing messages in acpi_ec_setup()
    ...

    Linus Torvalds
     
  • Pull power management updates from Rafael Wysocki:
    "These clean up and rework the PM QoS API, address a suspend-to-idle
    wakeup regression on some ACPI-based platforms, clean up and extend a
    few cpuidle drivers, update multiple cpufreq drivers and cpufreq
    documentation, and fix a number of issues in devfreq and several other
    things all over.

    Specifics:

    - Clean up and rework the PM QoS API to simplify the code and reduce
    the size of it (Rafael Wysocki).

    - Fix a suspend-to-idle wakeup regression on Dell XPS13 9370 and
    similar platforms where the USB plug/unplug events are handled by
    the EC (Rafael Wysocki).

    - CLean up the intel_idle and PSCI cpuidle drivers (Rafael Wysocki,
    Ulf Hansson).

    - Extend the haltpoll cpuidle driver so that it can be forced to run
    on some systems where it refused to load (Maciej Szmigiero).

    - Convert several cpufreq documents to the .rst format and move the
    legacy driver documentation into one common file (Mauro Carvalho
    Chehab, Rafael Wysocki).

    - Update several cpufreq drivers:

    * Extend and fix the imx-cpufreq-dt driver (Anson Huang).

    * Improve the -EPROBE_DEFER handling and fix unwanted CPU
    overclocking on i.MX6ULL in imx6q-cpufreq (Anson Huang,
    Christoph Niedermaier).

    * Add support for Krait based SoCs to the qcom driver (Ansuel
    Smith).

    * Add support for OPP_PLUS to ti-cpufreq (Lokesh Vutla).

    * Add platform specific intermediate callbacks support to
    cpufreq-dt and update the imx6q driver (Peng Fan).

    * Simplify and consolidate some pieces of the intel_pstate
    driver and update its documentation (Rafael Wysocki, Alex
    Hung).

    - Fix several devfreq issues:

    * Remove unneeded extern keyword from a devfreq header file and
    use the DEVFREQ_GOV_UPDATE_INTERNAL event name instead of
    DEVFREQ_GOV_INTERNAL (Chanwoo Choi).

    * Fix the handling of dev_pm_qos_remove_request() result
    (Leonard Crestez).

    * Use constant name for userspace governor (Pierre Kuo).

    * Get rid of doc warnings and fix a typo (Christophe JAILLET).

    - Use built-in RCU list checking in some places in the PM core to
    avoid false-positive RCU usage warnings (Madhuparna Bhowmik).

    - Add explicit READ_ONCE()/WRITE_ONCE() annotations to low-level PM
    QoS routines (Qian Cai).

    - Fix removal of wakeup sources to avoid NULL pointer dereferences in
    a corner case (Neeraj Upadhyay).

    - Clean up the handling of hibernate compat ioctls and fix the
    related documentation (Eric Biggers).

    - Update the idle_inject power capping driver to use variable-length
    arrays instead of zero-length arrays (Gustavo Silva).

    - Fix list format in a PM QoS document (Randy Dunlap).

    - Make the cpufreq stats module use scnprintf() to avoid potential
    buffer overflows (Takashi Iwai).

    - Add pm_runtime_get_if_active() to PM-runtime API (Sakari Ailus).

    - Allow no domain-idle-states DT property in generic PM domains (Ulf
    Hansson).

    - Fix a broken y-axis scale in the intel_pstate_tracer utility (Doug
    Smythies)"

    * tag 'pm-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (78 commits)
    cpufreq: intel_pstate: Simplify intel_pstate_cpu_init()
    tools/power/x86/intel_pstate_tracer: fix a broken y-axis scale
    ACPI: PM: s2idle: Refine active GPEs check
    ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE
    PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not there
    PM / devfreq: Get rid of some doc warnings
    PM / devfreq: Fix handling dev_pm_qos_remove_request result
    PM / devfreq: Fix a typo in a comment
    PM / devfreq: Change to DEVFREQ_GOV_UPDATE_INTERVAL event name
    PM / devfreq: Remove unneeded extern keyword
    PM / devfreq: Use constant name of userspace governor
    ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late()
    cpufreq: qcom: Add support for krait based socs
    cpufreq: imx6q-cpufreq: Improve the logic of -EPROBE_DEFER handling
    cpufreq: Use scnprintf() for avoiding potential buffer overflow
    cpuidle: psci: Split psci_dt_cpu_init_idle()
    PM / Domains: Allow no domain-idle-states DT property in genpd when parsing
    PM / hibernate: Remove unnecessary compat ioctl overrides
    PM: hibernate: fix docs for ioctls that return loff_t via pointer
    Documentation: intel_pstate: update links for references
    ...

    Linus Torvalds
     
  • Pull spi and regulator updates from Mark Brown:
    "At one point in the release cycle I managed to fat finger things and
    apply some SPI fixes onto a regulator branch and merge that into the
    SPI tree, then pull in a change shared with the MTD tree moving the
    Mediatek quadspi driver over to become the Mediatek spi-nor driver in
    the SPI tree.

    This has made a mess which I only just noticed while preparing this
    and I can't see a sensible way to unpick things due to other
    subsequent merge commits especially the pull from MTD so it looks like
    the most sensible thing to do is give up and combine the two pull
    requests.

    Fortunately both subsystems were fairly quiet this cycle, the
    highlights are:

    regulator:

    - Support for Monoloithic Power Systems MP5416, MP8867 and MPS8869
    and Qualcomm PMI8994 and SMB208.

    SPI:

    - Lots of enhancements for spi-fsl-dspi, including XSPI mode support,
    from Vladimir Oltean.

    - Support for amlogic Meson G12A, IBM FSI, Mediatek spi-nor (moved
    from MTD), NXP i.MX8Mx, Rockchip PX30, RK3308 and RK3328, and
    Qualcomm Atheros AR934x/QCA95xx"

    * tag 'regulator-spi-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc: (118 commits)
    spi: efm32: Convert to use GPIO descriptors
    regulator: qcom_smd: Add pmi8994 regulator support
    regulator: da9063: Fix get_mode() functions to read sleep field
    spi: spi-fsl-lpspi: Replace zero-length array with flexible-array member
    spi: spi-s3c24xx: Replace zero-length array with flexible-array member
    spi: stm32: Fix comments compilation warnings
    spi: atmel-quadspi: Add verbose debug facilities to monitor register accesses
    spi: spi-fsl-dspi: Add support for LS1028A
    spi: spi-fsl-dspi: Move invariant configs out of dspi_transfer_one_message
    spi: spi-fsl-dspi: Fix interrupt-less DMA mode taking an XSPI code path
    spi: spi-fsl-dspi: Avoid NULL pointer in dspi_slave_abort for non-DMA mode
    spi: spi-fsl-dspi: Replace interruptible wait queue with a simple completion
    spi: spi-fsl-dspi: Protect against races on dspi->words_in_flight
    spi: spi-fsl-dspi: Avoid reading more data than written in EOQ mode
    spi: spi-fsl-dspi: Fix bits-per-word acceleration in DMA mode
    spi: spi-fsl-dspi: Fix little endian access to PUSHR CMD and TXDATA
    spi: spi-fsl-dspi: Don't access reserved fields in SPI_MCR
    regulator: driver.h: fix regulator_map_* function names
    regulator: da9063: fix suspend
    spi: mxs: Drop GPIO includes
    ...

    Linus Torvalds
     
  • Pull regma: update from Mark Brown:
    "Only one small documentation fix for regmap this time around"

    * tag 'regmap-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
    regmap: wrong descriptions in regmap_range_cfg

    Linus Torvalds
     
  • Pull staging and IIO driver updates from Greg KH:
    "Here is the big staging and IIO driver pull request for 5.7-rc1.

    We again end up deleting more code than we added here, thanks to
    finally getting rid of the old and obsolete wireless USB stuff, and
    the exfat code (which is coming in again through the vfs tree in a
    much cleaner version).

    But some code does come back, with the octeon drivers being found to
    actually be used in the wild, so those deletions are now reverted.

    Other than those major things, just loads and loads of tiny checkpatch
    cleanups all over the place, along with new IIO drivers and fixes.

    All have been in linux-next with no reported issues"

    [ Stephen Rothwell points out some reported issues due to merge conflicts ]

    * tag 'staging-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (415 commits)
    staging: vt6656: Use DIV_ROUND_UP macro instead of specific code
    staging: remove hp100 driver
    staging: wilc1000: Use crc7 in lib/ rather than a private copy
    Staging: rtl8192u: ieee80211: Use netdev_alert().
    Staging: rtl8192u: ieee80211: Use netdev_info() with network devices.
    Staging: rtl8192u: ieee80211: Use netdev_warn() for network devices.
    Staging: rtl8192u: ieee80211: Use netdev_dbg() for debug messages.
    staging: wlan-ng: fix use-after-free Read in hfa384x_usbin_callback
    staging: rtl8723bs: hal: Remove NULL check before kfree
    staging: rtl8723bs: hal: Correct typos in comments
    staging: rtl8723bs: os_dep: Correct typos in comments
    staging: rtl8723bs: core: Correct typos in comments
    staging: rtl8723bs: hal: Remove unnecessary cast on void pointer
    staging: rtl8188eu: cleanup long line in odm.c
    staging: rtl8723bs: hal: Compress return logic
    staging: rtl8723bs: rtw_cmd: Compress lines for immediate return
    staging: rtl8723bs: rtw_efuse: Compress lines for immediate return
    staging: wilc1000: remove label from examples in DT binding documentation
    staging: rtl8723bs: Remove blank line before '}' brace
    Staging: rtl8188eu: hal: Add space around operators
    ...

    Linus Torvalds
     
  • Pull driver core updates from Greg KH:
    "Here is the "big" set of driver core changes for 5.7-rc1.

    Nothing huge in here, just lots of little firmware core changes and
    use of new apis, a libfs fix, a debugfs api change, and some driver
    core deferred probe rework.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'driver-core-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (44 commits)
    Revert "driver core: Set fw_devlink to "permissive" behavior by default"
    driver core: Set fw_devlink to "permissive" behavior by default
    driver core: Replace open-coded list_last_entry()
    driver core: Read atomic counter once in driver_probe_done()
    libfs: fix infoleak in simple_attr_read()
    driver core: Add device links from fwnode only for the primary device
    platform/x86: touchscreen_dmi: Add info for the Chuwi Vi8 Plus tablet
    platform/x86: touchscreen_dmi: Add EFI embedded firmware info support
    Input: icn8505 - Switch to firmware_request_platform for retreiving the fw
    Input: silead - Switch to firmware_request_platform for retreiving the fw
    selftests: firmware: Add firmware_request_platform tests
    test_firmware: add support for firmware_request_platform
    firmware: Add new platform fallback mechanism and firmware_request_platform()
    Revert "drivers: base: power: wakeup.c: Use built-in RCU list checking"
    drivers: base: power: wakeup.c: Use built-in RCU list checking
    component: allow missing unbind callback
    debugfs: remove return value of debugfs_create_file_size()
    debugfs: Check module state before warning in {full/open}_proxy_open()
    firmware: fix a double abort case with fw_load_sysfs_fallback
    arch_topology: Fix putting invalid cpu clk
    ...

    Linus Torvalds
     
  • Pull USB / PHY updates from Greg KH:
    "Here are the big set of USB and PHY driver patches for 5.7-rc1.

    Nothing huge here, some new PHY drivers, loads of USB gadget fixes and
    updates, xhci updates, usb-serial driver updates and new device ids,
    and other minor things. Full details in the shortlog.

    All have been in linux-next for a while with no reported issues"

    * tag 'usb-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (239 commits)
    USB: cdc-acm: restore capability check order
    usb: cdns3: make signed 1 bit bitfields unsigned
    usb: gadget: fsl: remove unused variable 'driver_desc'
    usb: gadget: f_fs: Fix use after free issue as part of queue failure
    usb: typec: Correct the documentation for typec_cable_put()
    USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback
    USB: serial: option: add Wistron Neweb D19Q1
    USB: serial: option: add BroadMobi BM806U
    USB: serial: option: add support for ASKEY WWHC050
    usb: core: Add ACPI support for USB interface devices
    driver core: platform: Reimplement devm_platform_ioremap_resource
    usb: dwc2: convert to devm_platform_get_and_ioremap_resource
    usb: host: hisilicon: convert to devm_platform_get_and_ioremap_resource
    usb: host: xhci-plat: convert to devm_platform_get_and_ioremap_resource
    drivers: provide devm_platform_get_and_ioremap_resource()
    phy: qcom-qusb2: Add new overriding tuning parameters in QUSB2 V2 PHY
    phy: qcom-qusb2: Add support for overriding tuning parameters in QUSB2 V2 PHY
    dt-bindings: phy: qcom-qusb2: Add support for overriding Phy tuning parameters
    phy: qcom-qusb2: Add generic QUSB2 V2 PHY support
    dt-bindings: phy: qcom,qusb2: Add compatibles for QUSB2 V2 phy and SC7180
    ...

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:

    - New sensor driver: imx219

    - Support for some new pixelformats

    - Support for Sun8i SoC

    - Added more codecs to meson vdec driver

    - Prepare for removing the legacy usbvision driver by moving it to
    staging. This driver has issues and use legacy core APIs. If nobody
    steps up to address those, it is time for its retirement.

    - Several cleanups and improvements on drivers, with the addition of
    new supported boards

    * tag 'media/v5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (236 commits)
    media: venus: firmware: Ignore secure call error on first resume
    media: mtk-vpu: load vpu firmware from the new location
    media: i2c: video-i2c: fix build errors due to 'imply hwmon'
    media: MAINTAINERS: add myself to co-maintain Hantro G1/G2 for i.MX8MQ
    media: hantro: add initial i.MX8MQ support
    media: dt-bindings: Document i.MX8MQ VPU bindings
    media: vivid: fix incorrect PA assignment to HDMI outputs
    media: hantro: Add linux-rockchip mailing list to MAINTAINERS
    media: cedrus: h264: Fix 4K decoding on H6
    media: siano: Use scnprintf() for avoiding potential buffer overflow
    media: rc: Use scnprintf() for avoiding potential buffer overflow
    media: allegro: create new struct for channel parameters
    media: allegro: move mail definitions to separate file
    media: allegro: pass buffers through firmware
    media: allegro: verify source and destination buffer in VCU response
    media: allegro: handle dependency of bitrate and bitrate_peak
    media: allegro: read bitrate mode directly from control
    media: allegro: make QP configurable
    media: allegro: make frame rate configurable
    media: allegro: skip filler data if possible
    ...

    Linus Torvalds
     
  • Pull hwmon updates from Guenter Roeck:

    - New driver for AXI fan control

    - Attenuator bypass support and support for inverting pwm output in
    adt7475 driver

    - Support for new power supply version in ibm-cffps driver

    - PMBus drivers:

    * support for multi-phase chips

    * ltc2978 driver: add support for LTC2972, LTC2979, LTC3884,
    LTC3889, LTC7880, LTM4664, LTM4677, LTM4678, LTM4680, and
    LTM4700/

    * tps53679 driver: add support for TPS53681, TPS53647, and TPS53667

    * isl68137 driver: support for various 2nd Gen Renesas digital
    multiphase chips added to isl68137 driver

    - Minor improvements and fixes in nct7904, ibmpowernv, lm73, ibmaem,
    and k10temp drivers

    * tag 'hwmon-for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (29 commits)
    docs: hwmon: Update documentation for isl68137 pmbus driver
    hwmon: (pmbus) add support for 2nd Gen Renesas digital multiphase
    hwmon: (pmbus/ibm-cffps) Add another PSU CCIN to version detection
    hwmon: (nct7904) Fix the incorrect quantity for fan & temp attributes
    hwmon: (ibmpowernv) Use scnprintf() for avoiding potential buffer overflow
    hwmon: (adt7475) Add support for inverting pwm output
    hwmon: (adt7475) Add attenuator bypass support
    dt-bindings: hwmon: Document adt7475 pwm-active-state property
    dt-bindings: hwmon: Document adt7475 bypass-attenuator property
    dt-bindings: hwmon: Document adt7475 binding
    hwmon: (lm73) Add support for of_match_table
    dt-bindings: Add TI LM73 as a trivial device
    hwmon: (pmbus/tps53679) Add documentation
    hwmon: (pmbus/tps53679) Add support for TPS53647 and TPS53667
    hwmon: (pmbus/tps53679) Add support for TPS53681
    hwmon: (pmbus/tps53679) Add support for IIN and PIN to TPS53679 and TPS53688
    hwmon: (pmbus/tps53679) Add support for multiple chips IDs
    hwmon: (pmbus) Implement multi-phase support
    hwmon: (pmbus) Add 'phase' parameter where needed for multi-phase support
    hwmon: (pmbus) Add IC_DEVICE_ID and IC_DEVICE_REV command definitions
    ...

    Linus Torvalds
     
  • Pull RAS updates from Borislav Petkov:

    - Do not report spurious MCEs on some Intel platforms caused by errata;
    by Prarit Bhargava.

    - Change dev-mcelog's hardcoded limit of 32 error records to a dynamic
    one, controlled by the number of logical CPUs, by Tony Luck.

    - Add support for the processor identification number (PPIN) on AMD, by
    Wei Huang.

    * tag 'ras_updates_for_5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/mce/amd: Add PPIN support for AMD MCE
    x86/mce/dev-mcelog: Dynamically allocate space for machine check records
    x86/mce: Do not log spurious corrected mce errors

    Linus Torvalds
     
  • Pull EDAC updates from Borislav Petkov:

    - A substantial edac_mc cleanup, sanitizing object freeing,
    streamlining and simplifying code flow, and getting rid of a lot of
    needless complexity in memory controller representation code, by
    Robert Richter.

    - A new EDAC driver for the ARM DMC-520 memory controller, by Lei Wang,
    Shiping Ji and others.

    - The usual sprinkling of misc cleanups and fixes all over the
    subsystem.

    * tag 'edac_updates_for_5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
    EDAC/armada_xp: Use scnprintf() for avoiding potential buffer overflow
    EDAC/synopsys: Do not dump uninitialized pinf->col
    EDAC: Add EDAC driver for DMC520
    dt-bindings: edac: Dmc-520.yaml
    EDAC/mce_amd: Print !SMCA processor warning only once
    EDAC/mc: Remove per layer counters
    EDAC/mc: Remove detail[] string and cleanup error string generation
    EDAC/mc: Pass the error descriptor to error reporting functions
    EDAC/mc: Remove enable_per_layer_report function argument
    EDAC/mc: Report "unknown memory" on too many DIMM labels found
    EDAC/mc: Carve out error increment into a separate function
    EDAC/mc: Determine mci pointer from the error descriptor
    EDAC: Store error type in struct edac_raw_error_desc
    EDAC/mc: Reorder functions edac_mc_alloc*()
    EDAC/mc: Split edac_mc_alloc() into smaller functions
    EDAC/mc: Change mci device removal to use put_device()

    Linus Torvalds
     
  • Pull pstore updates from Kees Cook:
    "These mostly some minor cleanups and a bug fix for an ftrace corner
    case:

    - Improve failure paths (chenqiwu)

    - Fix ftrace position index (Vasily Averin)

    - Use proper flexible-array member (Gustavo A. R. Silva)"

    * tag 'pstore-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    pstore/ram: Replace zero-length array with flexible-array member
    pstore: pstore_ftrace_seq_next should increase position index
    pstore/ram: remove unnecessary ramoops_unregister_dummy()
    pstore/platform: fix potential mem leak if pstore_init_fs failed

    Linus Torvalds
     
  • Pull seccomp updates from Kees Cook:
    "A couple of seccomp updates. They're both mostly bug fixes that I
    wanted to have sit in linux-next for a while:

    - allow TSYNC and USER_NOTIF together (Tycho Andersen)

    - add missing compat_ioctl for notify (Sven Schnelle)"

    * tag 'seccomp-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    seccomp: Add missing compat_ioctl for notify
    seccomp: allow TSYNC and USER_NOTIF together

    Linus Torvalds
     
  • Pull erofs updates from Gao Xiang:
    "Updates with a XArray adaptation, several fixes for shrinker and
    corrupted images are ready for this cycle.

    All commits have been stress tested with no noticeable smoke out and
    have been in linux-next as well.

    Summary:

    - Convert radix tree usage to XArray

    - Fix shrink scan count on multiple filesystem instances

    - Better handling for specific corrupted images

    - Update my email address in MAINTAINERS"

    * tag 'erofs-for-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
    MAINTAINERS: erofs: update my email address
    erofs: handle corrupted images whose decompressed size less than it'd be
    erofs: use LZ4_decompress_safe() for full decoding
    erofs: correct the remaining shrink objects
    erofs: convert workstn to XArray

    Linus Torvalds
     
  • Pull documentation updates from Jonathan Corbet:
    "This has been a busy cycle for documentation work.

    Highlights include:

    - Lots of RST conversion work by Mauro, Daniel ALmeida, and others.
    Maybe someday we'll get to the end of this stuff...maybe...

    - Some organizational work to bring some order to the core-api
    manual.

    - Various new docs and additions to the existing documentation.

    - Typo fixes, warning fixes, ..."

    * tag 'docs-5.7' of git://git.lwn.net/linux: (123 commits)
    Documentation: x86: exception-tables: document CONFIG_BUILDTIME_TABLE_SORT
    MAINTAINERS: adjust to filesystem doc ReST conversion
    docs: deprecated.rst: Add BUG()-family
    doc: zh_CN: add translation for virtiofs
    doc: zh_CN: index files in filesystems subdirectory
    docs: locking: Drop :c:func: throughout
    docs: locking: Add 'need' to hardirq section
    docs: conf.py: avoid thousands of duplicate label warning on Sphinx
    docs: prevent warnings due to autosectionlabel
    docs: fix reference to core-api/namespaces.rst
    docs: fix pointers to io-mapping.rst and io_ordering.rst files
    Documentation: Better document the softlockup_panic sysctl
    docs: hw-vuln: tsx_async_abort.rst: get rid of an unused ref
    docs: perf: imx-ddr.rst: get rid of a warning
    docs: filesystems: fuse.rst: supress a Sphinx warning
    docs: translations: it: avoid duplicate refs at programming-language.rst
    docs: driver.rst: supress two ReSt warnings
    docs: trace: events.rst: convert some new stuff to ReST format
    Documentation: Add io_ordering.rst to driver-api manual
    Documentation: Add io-mapping.rst to driver-api manual
    ...

    Linus Torvalds
     
  • Pull io_uring updates from Jens Axboe:
    "Here are the io_uring changes for this merge window. Light on new
    features this time around (just splice + buffer selection), lots of
    cleanups, fixes, and improvements to existing support. In particular,
    this contains:

    - Cleanup fixed file update handling for stack fallback (Hillf)

    - Re-work of how pollable async IO is handled, we no longer require
    thread offload to handle that. Instead we rely using poll to drive
    this, with task_work execution.

    - In conjunction with the above, allow expendable buffer selection,
    so that poll+recv (for example) no longer has to be a split
    operation.

    - Make sure we honor RLIMIT_FSIZE for buffered writes

    - Add support for splice (Pavel)

    - Linked work inheritance fixes and optimizations (Pavel)

    - Async work fixes and cleanups (Pavel)

    - Improve io-wq locking (Pavel)

    - Hashed link write improvements (Pavel)

    - SETUP_IOPOLL|SETUP_SQPOLL improvements (Xiaoguang)"

    * tag 'for-5.7/io_uring-2020-03-29' of git://git.kernel.dk/linux-block: (54 commits)
    io_uring: cleanup io_alloc_async_ctx()
    io_uring: fix missing 'return' in comment
    io-wq: handle hashed writes in chains
    io-uring: drop 'free_pfile' in struct io_file_put
    io-uring: drop completion when removing file
    io_uring: Fix ->data corruption on re-enqueue
    io-wq: close cancel gap for hashed linked work
    io_uring: make spdxcheck.py happy
    io_uring: honor original task RLIMIT_FSIZE
    io-wq: hash dependent work
    io-wq: split hashing and enqueueing
    io-wq: don't resched if there is no work
    io-wq: remove duplicated cancel code
    io_uring: fix truncated async read/readv and write/writev retry
    io_uring: dual license io_uring.h uapi header
    io_uring: io_uring_enter(2) don't poll while SETUP_IOPOLL|SETUP_SQPOLL enabled
    io_uring: Fix unused function warnings
    io_uring: add end-of-bits marker and build time verify it
    io_uring: provide means of removing buffers
    io_uring: add IOSQE_BUFFER_SELECT support for IORING_OP_RECVMSG
    ...

    Linus Torvalds