Skip to content
  1. Apr 09, 2020
  2. Apr 08, 2020
  3. Apr 07, 2020
    • Xiaoguang Wang's avatar
      io_uring: initialize fixed_file_data lock · f7fe9346
      Xiaoguang Wang authored
      
      
      syzbot reports below warning:
      INFO: trying to register non-static key.
      the code is fine but needs lockdep annotation.
      turning off the locking correctness validator.
      CPU: 1 PID: 7099 Comm: syz-executor897 Not tainted 5.6.0-next-20200406-syzkaller #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      Call Trace:
       __dump_stack lib/dump_stack.c:77 [inline]
       dump_stack+0x188/0x20d lib/dump_stack.c:118
       assign_lock_key kernel/locking/lockdep.c:913 [inline]
       register_lock_class+0x1664/0x1760 kernel/locking/lockdep.c:1225
       __lock_acquire+0x104/0x4e00 kernel/locking/lockdep.c:4223
       lock_acquire+0x1f2/0x8f0 kernel/locking/lockdep.c:4923
       __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
       _raw_spin_lock_irqsave+0x8c/0xbf kernel/locking/spinlock.c:159
       io_sqe_files_register fs/io_uring.c:6599 [inline]
       __io_uring_register+0x1fe8/0x2f00 fs/io_uring.c:8001
       __do_sys_io_uring_register fs/io_uring.c:8081 [inline]
       __se_sys_io_uring_register fs/io_uring.c:8063 [inline]
       __x64_sys_io_uring_register+0x192/0x560 fs/io_uring.c:8063
       do_syscall_64+0xf6/0x7d0 arch/x86/entry/common.c:295
       entry_SYSCALL_64_after_hwframe+0x49/0xb3
      RIP: 0033:0x440289
      Code: 18 89 d0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 48 89 f8 48 89 f7
      48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff
      ff 0f 83 fb 13 fc ff c3 66 2e 0f 1f 84 00 00 00 00
      RSP: 002b:00007ffff1bbf558 EFLAGS: 00000246 ORIG_RAX: 00000000000001ab
      RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 0000000000440289
      RDX: 0000000020000280 RSI: 0000000000000002 RDI: 0000000000000003
      RBP: 00000000006ca018 R08: 0000000000000000 R09: 00000000004002c8
      R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000401b10
      R13: 0000000000401ba0 R14: 0000000000000000 R15: 0000000000000000
      
      Initialize struct fixed_file_data's lock to fix this issue.
      
      Reported-by: default avatar <syzbot+e6eeca4a035da76b3065@syzkaller.appspotmail.com>
      Fixes: 05589553
      
       ("io_uring: refactor file register/unregister/update handling")
      Signed-off-by: default avatarXiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      f7fe9346
    • Colin Ian King's avatar
      io_uring: remove redundant variable pointer nxt and io_wq_assign_next call · 211fea18
      Colin Ian King authored
      
      
      An earlier commit "io_uring: remove @nxt from handlers" removed the
      setting of pointer nxt and now it is always null, hence the non-null
      check and call to io_wq_assign_next is redundant and can be removed.
      
      Addresses-Coverity: ("'Constant' variable guard")
      Reviewed-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      211fea18
  4. Apr 06, 2020
    • Pavel Begunkov's avatar
      io_uring: fix ctx refcounting in io_submit_sqes() · 48bdd849
      Pavel Begunkov authored
      If io_get_req() fails, it drops a ref. Then, awhile keeping @submitted
      unmodified, io_submit_sqes() breaks the loop and puts @nr - @submitted
      refs. For each submitted req a ref is dropped in io_put_req() and
      friends. So, for @nr taken refs there will be
      (@nr - @submitted + @submitted + 1) dropped.
      
      Remove ctx refcounting from io_get_req(), that at the same time makes
      it clearer.
      
      Fixes: 2b85edfc
      
       ("io_uring: batch getting pcpu references")
      Cc: stable@vger.kernel.org # v5.6
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      48bdd849
  5. Apr 04, 2020
  6. Apr 01, 2020
  7. Mar 31, 2020
    • Xiaoguang Wang's avatar
      io_uring: refactor file register/unregister/update handling · 05589553
      Xiaoguang Wang authored
      While diving into io_uring fileset register/unregister/update codes, we
      found one bug in the fileset update handling. io_uring fileset update
      use a percpu_ref variable to check whether we can put the previously
      registered file, only when the refcnt of the perfcpu_ref variable
      reaches zero, can we safely put these files. But this doesn't work so
      well. If applications always issue requests continually, this
      perfcpu_ref will never have an chance to reach zero, and it'll always be
      in atomic mode, also will defeat the gains introduced by fileset
      register/unresiger/update feature, which are used to reduce the atomic
      operation overhead of fput/fget.
      
      To fix this issue, while applications do IORING_REGISTER_FILES or
      IORING_REGISTER_FILES_UPDATE operations, we allocate a new percpu_ref
      and kill the old percpu_ref, new requests will use the new percpu_ref.
      Once all previous old requests complete, old percpu_refs will be dropped
      and registered files will be put safely.
      
      Link: https://lore.kernel.org/io-uring/5a8dac33-4ca2-4847-b091-f7dcd3ad0ff3@linux.alibaba.com/T/#t
      
      
      Signed-off-by: default avatarXiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      05589553
    • Linus Torvalds's avatar
      Merge tag 'x86-timers-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 458ef2a2
      Linus Torvalds authored
      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
      458ef2a2
    • Linus Torvalds's avatar
      Merge tag 'x86-splitlock-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2853d5fa
      Linus Torvalds authored
      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
      2853d5fa
    • Linus Torvalds's avatar
      Merge tag 'x86-entry-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d5f744f9
      Linus Torvalds authored
      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
        ...
      d5f744f9
    • Linus Torvalds's avatar
      Merge tag 'timers-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dbb381b6
      Linus Torvalds authored
      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
        ...
      dbb381b6
    • Linus Torvalds's avatar
      Merge tag 'timers-nohz-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 336622e9
      Linus Torvalds authored
      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
      336622e9
    • Linus Torvalds's avatar
      Merge tag 'smp-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 992a1a3b
      Linus Torvalds authored
      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()
        pa...
      992a1a3b
    • Linus Torvalds's avatar
      Merge tag 'irq-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2d385336
      Linus Torvalds authored
      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
        ...
      2d385336
    • Randy Dunlap's avatar
      staging/octeon: fix up merge error · 673b41e0
      Randy Dunlap authored
      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
      2c64605b
      
       ("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: default avatarRandy Dunlap <rdunlap@infradead.org>
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      673b41e0
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 642e53ea
      Linus Torvalds authored
      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
        ...
      642e53ea
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9b82f05f
      Linus Torvalds authored
      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
        ...
      9b82f05f
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4b9fd8a8
      Linus Torvalds authored
      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 ...
      4b9fd8a8
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a776c270
      Linus Torvalds authored
      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
        ...
      a776c270
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7c4fa150
      Linus Torvalds authored
      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
        ...
      7c4fa150
    • Linus Torvalds's avatar
      Merge branch 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d937a6df
      Linus Torvalds authored
      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 644592d3,
        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
        ...
      d937a6df
    • Linus Torvalds's avatar
      Merge tag 'pnp-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 2ce94bc4
      Linus Torvalds authored
      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
      2ce94bc4
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6d905081
      Linus Torvalds authored
      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()
        ...
      6d905081
    • Linus Torvalds's avatar
      Merge tag 'pm-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 49835c15
      Linus Torvalds authored
      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
        ...
      49835c15
    • Linus Torvalds's avatar
      Merge tag 'regulator-spi-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc · a231bed2
      Linus Torvalds authored
      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
        ...
      a231bed2
    • Linus Torvalds's avatar
      Merge tag 'regmap-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · e1299409
      Linus Torvalds authored
      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
      e1299409
    • Linus Torvalds's avatar
      Merge tag 'staging-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 4c6ef3b1
      Linus Torvalds authored
      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
        ...
      4c6ef3b1
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 59838093
      Linus Torvalds authored
      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
        ...
      59838093
    • Linus Torvalds's avatar
      Merge tag 'usb-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · db34c5ff
      Linus Torvalds authored
      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
        ...
      db34c5ff
    • Linus Torvalds's avatar
      Merge tag 'media/v5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 063d1942
      Linus Torvalds authored
      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
        ...
      063d1942