1. 10 Oct, 2022 16 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · cdf072ac
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "Major changes:
      
         - Changed location of tracing repo from personal git repo to:
           git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
      
         - Added Masami Hiramatsu as co-maintainer
      
         - Updated MAINTAINERS file to separate out FTRACE as it is more than
           just TRACING.
      
        Minor changes:
      
         - Added Mark Rutland as FTRACE reviewer
      
         - Updated user_events to make it on its way to remove the BROKEN tag.
           The changes should now be acceptable but will run it through a
           cycle and hopefully we can remove the BROKEN tag next release.
      
         - Added filtering to eprobes
      
         - Added a delta time to the benchmark trace event
      
         - Have the histogram and filter callbacks called via a switch
           statement instead of indirect functions. This speeds it up to avoid
           retpolines.
      
         - Add a way to wake up ring buffer waiters waiting for the ring
           buffer to fill up to its watermark.
      
         - New ioctl() on the trace_pipe_raw file to wake up ring buffer
           waiters.
      
         - Wake up waiters when the ring buffer is disabled. A reader may
           block when the ring buffer is disabled, but if it was blocked when
           the ring buffer is disabled it should then wake up.
      
        Fixes:
      
         - Allow splice to read partially read ring buffer pages. This fixes
           splice never moving forward.
      
         - Fix inverted compare that made the "shortest" ring buffer wait
           queue actually the longest.
      
         - Fix a race in the ring buffer between resetting a page when a
           writer goes to another page, and the reader.
      
         - Fix ftrace accounting bug when function hooks are added at boot up
           before the weak functions are set to "disabled".
      
         - Fix bug that freed a user allocated snapshot buffer when enabling a
           tracer.
      
         - Fix possible recursive locks in osnoise tracer
      
         - Fix recursive locking direct functions
      
         - Other minor clean ups and fixes"
      
      * tag 'trace-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (44 commits)
        ftrace: Create separate entry in MAINTAINERS for function hooks
        tracing: Update MAINTAINERS to reflect new tracing git repo
        tracing: Do not free snapshot if tracer is on cmdline
        ftrace: Still disable enabled records marked as disabled
        tracing/user_events: Move pages/locks into groups to prepare for namespaces
        tracing: Add Masami Hiramatsu as co-maintainer
        tracing: Remove unused variable 'dups'
        MAINTAINERS: add myself as a tracing reviewer
        ring-buffer: Fix race between reset page and reading page
        tracing/user_events: Update ABI documentation to align to bits vs bytes
        tracing/user_events: Use bits vs bytes for enabled status page data
        tracing/user_events: Use refcount instead of atomic for ref tracking
        tracing/user_events: Ensure user provided strings are safely formatted
        tracing/user_events: Use WRITE instead of READ for io vector import
        tracing/user_events: Use NULL for strstr checks
        tracing: Fix spelling mistake "preapre" -> "prepare"
        tracing: Wake up waiters when tracing is disabled
        tracing: Add ioctl() to force ring buffer waiters to wake up
        tracing: Wake up ring buffer waiters on closing of the file
        ring-buffer: Add ring_buffer_wake_waiters()
        ...
      cdf072ac
    • Linus Torvalds's avatar
      Merge tag 'sysctl-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · dc553428
      Linus Torvalds authored
      Pull sysctl updates from Luis Chamberlain:
       "Just some boring cleanups on the sysctl front for this release"
      
      * tag 'sysctl-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        kernel/sysctl-test: use SYSCTL_{ZERO/ONE_HUNDRED} instead of i_{zero/one_hundred}
        kernel/sysctl.c: move sysctl_vals and sysctl_long_vals to sysctl.c
        sysctl: remove max_extfrag_threshold
        kernel/sysctl.c: remove unnecessary (void*) conversions
        proc: remove initialization assignment
      dc553428
    • Aaron Tomlin's avatar
      module: tracking: Keep a record of tainted unloaded modules only · 47cc75aa
      Aaron Tomlin authored
      This ensures that no module record/or entry is added to the
      unloaded_tainted_modules list if it does not carry a taint.
      Reported-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Fixes: 99bd9956 ("module: Introduce module unload taint tracking")
      Signed-off-by: default avatarAaron Tomlin <atomlin@redhat.com>
      Acked-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      47cc75aa
    • Linus Torvalds's avatar
      Merge tag 'modules-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · 385f4a10
      Linus Torvalds authored
      Pull module updates from Luis Chamberlain:
      
       - minor enhancement for sysfs compression string (David Disseldorp)
      
       - debugfs interface to view unloaded tainted modules (Aaron Tomlin)
      
      * tag 'modules-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        module/decompress: generate sysfs string at compile time
        module: Add debugfs interface to view unloaded tainted modules
      385f4a10
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 8afc66e8
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - Remove potentially incomplete targets when Kbuid is interrupted by
         SIGINT etc in case GNU Make may miss to do that when stderr is piped
         to another program.
      
       - Rewrite the single target build so it works more correctly.
      
       - Fix rpm-pkg builds with V=1.
      
       - List top-level subdirectories in ./Kbuild.
      
       - Ignore auto-generated __kstrtab_* and __kstrtabns_* symbols in
         kallsyms.
      
       - Avoid two different modules in lib/zstd/ having shared code, which
         potentially causes building the common code as build-in and modular
         back-and-forth.
      
       - Unify two modpost invocations to optimize the build process.
      
       - Remove head-y syntax in favor of linker scripts for placing
         particular sections in the head of vmlinux.
      
       - Bump the minimal GNU Make version to 3.82.
      
       - Clean up misc Makefiles and scripts.
      
      * tag 'kbuild-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (41 commits)
        docs: bump minimal GNU Make version to 3.82
        ia64: simplify esi object addition in Makefile
        Revert "kbuild: Check if linker supports the -X option"
        kbuild: rebuild .vmlinux.export.o when its prerequisite is updated
        kbuild: move modules.builtin(.modinfo) rules to Makefile.vmlinux_o
        zstd: Fixing mixed module-builtin objects
        kallsyms: ignore __kstrtab_* and __kstrtabns_* symbols
        kallsyms: take the input file instead of reading stdin
        kallsyms: drop duplicated ignore patterns from kallsyms.c
        kbuild: reuse mksysmap output for kallsyms
        mksysmap: update comment about __crc_*
        kbuild: remove head-y syntax
        kbuild: use obj-y instead extra-y for objects placed at the head
        kbuild: hide error checker logs for V=1 builds
        kbuild: re-run modpost when it is updated
        kbuild: unify two modpost invocations
        kbuild: move vmlinux.o rule to the top Makefile
        kbuild: move .vmlinux.objs rule to Makefile.modpost
        kbuild: list sub-directories in ./Kbuild
        Makefile.compiler: replace cc-ifversion with compiler-specific macros
        ...
      8afc66e8
    • Linus Torvalds's avatar
      Merge tag 'livepatching-for-6.1' of... · 4de65c58
      Linus Torvalds authored
      Merge tag 'livepatching-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching
      
      Pull livepatching updates from Petr Mladek:
      
       - Fix race between fork and livepatch transition revert
      
       - Add sysfs entry that shows "patched" state for each object (module)
         that can be livepatched by the given livepatch
      
       - Some clean up
      
      * tag 'livepatching-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:
        selftests/livepatch: add sysfs test
        livepatch: add sysfs entry "patched" for each klp_object
        selftests/livepatch: normalize sysctl error message
        livepatch: Add a missing newline character in klp_module_coming()
        livepatch: fix race between fork and KLP transition
      4de65c58
    • Linus Torvalds's avatar
      Merge tag 'printk-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · b5204106
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Initialize pointer hashing using the system workqueue. It avoids
         taking locks in printk()/vsprintf() code path
      
       - Misc code clean up
      
      * tag 'printk-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
        printk: Mark __printk percpu data ready __ro_after_init
        printk: Remove bogus comment vs. boot consoles
        printk: Remove write only variable nr_ext_console_drivers
        printk: Declare log_wait properly
        printk: Make pr_flush() static
        lib/vsprintf: Initialize vsprintf's pointer hash once the random core is ready.
        lib/vsprintf: Remove static_branch_likely() from __ptr_to_hashval().
        lib/vnsprintf: add const modifier for param 'bitmap'
      b5204106
    • Linus Torvalds's avatar
      Merge tag 'cgroup-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · adf4bfc4
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
      
       - cpuset now support isolated cpus.partition type, which will enable
         dynamic CPU isolation
      
       - pids.peak added to remember the max number of pids used
      
       - holes in cgroup namespace plugged
      
       - internal cleanups
      
      * tag 'cgroup-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (25 commits)
        cgroup: use strscpy() is more robust and safer
        iocost_monitor: reorder BlkgIterator
        cgroup: simplify code in cgroup_apply_control
        cgroup: Make cgroup_get_from_id() prettier
        cgroup/cpuset: remove unreachable code
        cgroup: Remove CFTYPE_PRESSURE
        cgroup: Improve cftype add/rm error handling
        kselftest/cgroup: Add cpuset v2 partition root state test
        cgroup/cpuset: Update description of cpuset.cpus.partition in cgroup-v2.rst
        cgroup/cpuset: Make partition invalid if cpumask change violates exclusivity rule
        cgroup/cpuset: Relocate a code block in validate_change()
        cgroup/cpuset: Show invalid partition reason string
        cgroup/cpuset: Add a new isolated cpus.partition type
        cgroup/cpuset: Relax constraints to partition & cpus changes
        cgroup/cpuset: Allow no-task partition to have empty cpuset.cpus.effective
        cgroup/cpuset: Miscellaneous cleanups & add helper functions
        cgroup/cpuset: Enable update_tasks_cpumask() on top_cpuset
        cgroup: add pids.peak interface for pids controller
        cgroup: Remove data-race around cgrp_dfl_visible
        cgroup: Fix build failure when CONFIG_SHRINKER_DEBUG
        ...
      adf4bfc4
    • Linus Torvalds's avatar
      Merge tag 'random-6.1-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · 8adc0486
      Linus Torvalds authored
      Pull random number generator updates from Jason Donenfeld:
      
       - Huawei reported that when they updated their kernel from 4.4 to
         something much newer, some userspace code they had broke, the culprit
         being the accidental removal of O_NONBLOCK from /dev/random way back
         in 5.6. It's been gone for over 2 years now and this is the first
         we've heard of it, but userspace breakage is userspace breakage, so
         O_NONBLOCK is now back.
      
       - Use randomness from hardware RNGs much more often during early boot,
         at the same interval that crng reseeds are done, from Dominik.
      
       - A semantic change in hardware RNG throttling, so that the hwrng
         framework can properly feed random.c with randomness from hardware
         RNGs that aren't specifically marked as creditable.
      
         A related patch coming to you via Herbert's hwrng tree depends on
         this one, not to compile, but just to function properly, so you may
         want to merge this PULL before that one.
      
       - A fix to clamp credited bits from the interrupts pool to the size of
         the pool sample. This is mainly just a theoretical fix, as it'd be
         pretty hard to exceed it in practice.
      
       - Oracle reported that InfiniBand TCP latency regressed by around
         10-15% after a change a few cycles ago made at the request of the RT
         folks, in which we hoisted a somewhat rare operation (1 in 1024
         times) out of the hard IRQ handler and into a workqueue, a pretty
         common and boring pattern.
      
         It turns out, though, that scheduling a worker from there has
         overhead of its own, whereas scheduling a timer on that same CPU for
         the next jiffy amortizes better and doesn't incur the same overhead.
      
         I also eliminated a cache miss by moving the work_struct (and
         subsequently, the timer_list) to below a critical cache line, so that
         the more critical members that are accessed on every hard IRQ aren't
         split between two cache lines.
      
       - The boot-time initialization of the RNG has been split into two
         approximate phases: what we can accomplish before timekeeping is
         possible and what we can accomplish after.
      
         This winds up being useful so that we can use RDRAND to seed the RNG
         before CONFIG_SLAB_FREELIST_RANDOM=y systems initialize slabs, in
         addition to other early uses of randomness. The effect is that
         systems with RDRAND (or a bootloader seed) will never see any
         warnings at all when setting CONFIG_WARN_ALL_UNSEEDED_RANDOM=y. And
         kfence benefits from getting a better seed of its own.
      
       - Small systems without much entropy sometimes wind up putting some
         truncated serial number read from flash into hostname, so contribute
         utsname changes to the RNG, without crediting.
      
       - Add smaller batches to serve requests for smaller integers, and make
         use of them when people ask for random numbers bounded by a given
         compile-time constant. This has positive effects all over the tree,
         most notably in networking and kfence.
      
       - The original jitter algorithm intended (I believe) to schedule the
         timer for the next jiffy, not the next-next jiffy, yet it used
         mod_timer(jiffies + 1), which will fire on the next-next jiffy,
         instead of what I believe was intended, mod_timer(jiffies), which
         will fire on the next jiffy. So fix that.
      
       - Fix a comment typo, from William.
      
      * tag 'random-6.1-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        random: clear new batches when bringing new CPUs online
        random: fix typos in get_random_bytes() comment
        random: schedule jitter credit for next jiffy, not in two jiffies
        prandom: make use of smaller types in prandom_u32_max
        random: add 8-bit and 16-bit batches
        utsname: contribute changes to RNG
        random: use init_utsname() instead of utsname()
        kfence: use better stack hash seed
        random: split initialization into early step and later step
        random: use expired timer rather than wq for mixing fast pool
        random: avoid reading two cache lines on irq randomness
        random: clamp credited irq bits to maximum mixed
        random: throttle hwrng writes if no entropy is credited
        random: use hwgenerator randomness more frequently at early boot
        random: restore O_NONBLOCK support
      8adc0486
    • Linus Torvalds's avatar
      Merge tag 'slab-for-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · 52abb27a
      Linus Torvalds authored
      Pull slab fixes from Vlastimil Babka:
      
       - The "common kmalloc v4" series [1] by Hyeonggon Yoo.
      
         While the plan after LPC is to try again if it's possible to get rid
         of SLOB and SLAB (and if any critical aspect of those is not possible
         to achieve with SLUB today, modify it accordingly), it will take a
         while even in case there are no objections.
      
         Meanwhile this is a nice cleanup and some parts (e.g. to the
         tracepoints) will be useful even if we end up with a single slab
         implementation in the future:
      
            - Improves the mm/slab_common.c wrappers to allow deleting
              duplicated code between SLAB and SLUB.
      
            - Large kmalloc() allocations in SLAB are passed to page allocator
              like in SLUB, reducing number of kmalloc caches.
      
            - Removes the {kmem_cache_alloc,kmalloc}_node variants of
              tracepoints, node id parameter added to non-_node variants.
      
       - Addition of kmalloc_size_roundup()
      
         The first two patches from a series by Kees Cook [2] that introduce
         kmalloc_size_roundup(). This will allow merging of per-subsystem
         patches using the new function and ultimately stop (ab)using ksize()
         in a way that causes ongoing trouble for debugging functionality and
         static checkers.
      
       - Wasted kmalloc() memory tracking in debugfs alloc_traces
      
         A patch from Feng Tang that enhances the existing debugfs
         alloc_traces file for kmalloc caches with information about how much
         space is wasted by allocations that needs less space than the
         particular kmalloc cache provides.
      
       - My series [3] to fix validation races for caches with enabled
         debugging:
      
            - By decoupling the debug cache operation more from non-debug
              fastpaths, extra locking simplifications were possible and thus
              done afterwards.
      
            - Additional cleanup of PREEMPT_RT specific code on top, by Thomas
              Gleixner.
      
            - A late fix for slab page leaks caused by the series, by Feng
              Tang.
      
       - Smaller fixes and cleanups:
      
            - Unneeded variable removals, by ye xingchen
      
            - A cleanup removing a BUG_ON() in create_unique_id(), by Chao Yu
      
      Link: https://lore.kernel.org/all/20220817101826.236819-1-42.hyeyoo@gmail.com/ [1]
      Link: https://lore.kernel.org/all/20220923202822.2667581-1-keescook@chromium.org/ [2]
      Link: https://lore.kernel.org/all/20220823170400.26546-1-vbabka@suse.cz/ [3]
      
      * tag 'slab-for-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab: (30 commits)
        mm/slub: fix a slab missed to be freed problem
        slab: Introduce kmalloc_size_roundup()
        slab: Remove __malloc attribute from realloc functions
        mm/slub: clean up create_unique_id()
        mm/slub: enable debugging memory wasting of kmalloc
        slub: Make PREEMPT_RT support less convoluted
        mm/slub: simplify __cmpxchg_double_slab() and slab_[un]lock()
        mm/slub: convert object_map_lock to non-raw spinlock
        mm/slub: remove slab_lock() usage for debug operations
        mm/slub: restrict sysfs validation to debug caches and make it safe
        mm/sl[au]b: check if large object is valid in __ksize()
        mm/slab_common: move declaration of __ksize() to mm/slab.h
        mm/slab_common: drop kmem_alloc & avoid dereferencing fields when not using
        mm/slab_common: unify NUMA and UMA version of tracepoints
        mm/sl[au]b: cleanup kmem_cache_alloc[_node]_trace()
        mm/sl[au]b: generalize kmalloc subsystem
        mm/slub: move free_debug_processing() further
        mm/sl[au]b: introduce common alloc/free functions without tracepoint
        mm/slab: kmalloc: pass requests larger than order-1 page to page allocator
        mm/slab_common: cleanup kmalloc_large()
        ...
      52abb27a
    • Linus Torvalds's avatar
      Merge tag 'timers-core-2022-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 55be6084
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "A boring time, timekeeping, timers update:
      
         - No core code changes
      
         - No new clocksource/event driver
      
         - Cleanup of the TI DM clocksource/event driver
      
         - The usual set of device tree binding updates
      
         - Small improvement, fixes and cleanups all over the place"
      
      * tag 'timers-core-2022-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
        clocksource/drivers/arm_arch_timer: Fix CNTPCT_LO and CNTVCT_LO value
        clocksource/drivers/imx-sysctr: handle nxp,no-divider property
        dt-bindings: timer: nxp,sysctr-timer: add nxp,no-divider property
        clocksource/drivers/timer-ti-dm: Get clock in probe with devm_clk_get()
        clocksource/drivers/timer-ti-dm: Add flag to detect omap1
        clocksource/drivers/timer-ti-dm: Move struct omap_dm_timer fields to driver
        clocksource/drivers/timer-ti-dm: Use runtime PM directly and check errors
        clocksource/drivers/timer-ti-dm: Move private defines to the driver
        clocksource/drivers/timer-ti-dm: Simplify register access further
        clocksource/drivers/timer-ti-dm: Simplify register writes with dmtimer_write()
        clocksource/drivers/timer-ti-dm: Simplify register reads with dmtimer_read()
        clocksource/drivers/timer-ti-dm: Drop unused functions
        clocksource/drivers/timer-gxp: Add missing error handling in gxp_timer_probe
        clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921
        clocksource/drivers/exynos_mct: Enable building on ARTPEC
        clocksource/drivers/exynos_mct: Support local-timers property
        clocksource/drivers/exynos_mct: Support frc-shared property
        dt-bindings: timer: exynos4210-mct: Add ARTPEC-8 MCT support
        clocksource/drivers/sun4i: Add definition of clear interrupt
        clocksource/drivers/renesas-ostm: Add support for RZ/V2L SoC
        ...
      55be6084
    • Linus Torvalds's avatar
      Merge tag 'sched-rt-2022-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7f6dcffb
      Linus Torvalds authored
      Pull preempt RT updates from Thomas Gleixner:
       "Introduce preempt_[dis|enable_nested() and use it to clean up various
        places which have open coded PREEMPT_RT conditionals.
      
        On PREEMPT_RT enabled kernels, spinlocks and rwlocks are neither
        disabling preemption nor interrupts. Though there are a few places
        which depend on the implicit preemption/interrupt disable of those
        locks, e.g. seqcount write sections, per CPU statistics updates etc.
      
        PREEMPT_RT added open coded CONFIG_PREEMPT_RT conditionals to
        disable/enable preemption in the related code parts all over the
        place. That's hard to read and does not really explain why this is
        necessary.
      
        Linus suggested to use helper functions (preempt_disable_nested() and
        preempt_enable_nested()) and use those in the affected places. On !RT
        enabled kernels these functions are NOPs, but contain a lockdep assert
        to validate that preemption is actually disabled to catch call sites
        which do not have preemption disabled.
      
        Clean up the affected code paths in mm, dentry and lib"
      
      * tag 'sched-rt-2022-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        u64_stats: Streamline the implementation
        flex_proportions: Disable preemption entering the write section.
        mm/compaction: Get rid of RT ifdeffery
        mm/memcontrol: Replace the PREEMPT_RT conditionals
        mm/debug: Provide VM_WARN_ON_IRQS_ENABLED()
        mm/vmstat: Use preempt_[dis|en]able_nested()
        dentry: Use preempt_[dis|en]able_nested()
        preempt: Provide preempt_[dis|en]able_nested()
      7f6dcffb
    • Linus Torvalds's avatar
      Merge tag 'objtool-core-2022-10-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 65f109e1
      Linus Torvalds authored
      Pull objtool updates from Ingo Molnar:
      
       - Remove the "ANNOTATE_NOENDBR on ENDBR" warning: it's not really
         useful and only found a non-bug false positive so far.
      
       - Properly decode LOOP/LOOPE/LOOPNE, which were missing from the x86
         decoder. Because these instructions are rather ineffective, they
         never showed up in compiler output, but they are simple enough to
         support, so add them for completeness.
      
       - A bit more cross-arch preparatory work.
      
      * tag 'objtool-core-2022-10-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool,x86: Teach decode about LOOP* instructions
        objtool: Remove "ANNOTATE_NOENDBR on ENDBR" warning
        objtool: Use arch_jump_destination() in read_intra_function_calls()
      65f109e1
    • Linus Torvalds's avatar
      Merge tag 'locking-core-2022-10-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3e71f016
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
      
       - Disable preemption in rwsem_write_trylock()'s attempt to take the
         rwsem, to avoid RT tasks hogging the CPU, which managed to preempt
         this function after the owner has been cleared but before a new owner
         is set. Also add debug checks to enforce this.
      
       - Add __lockfunc to more slow path functions and add __sched to
         semaphore functions.
      
       - Mark spinlock APIs noinline when the respective CONFIG_INLINE_SPIN_*
         toggles are disabled, to reduce LTO text size.
      
       - Print more debug information when lockdep gets confused in
         look_up_lock_class().
      
       - Improve header file abuse checks.
      
       - Misc cleanups
      
      * tag 'locking-core-2022-10-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/lockdep: Print more debug information - report name and key when look_up_lock_class() got confused
        locking: Add __sched to semaphore functions
        locking/rwsem: Disable preemption while trying for rwsem lock
        locking: Detect includes rwlock.h outside of spinlock.h
        locking: Add __lockfunc to slow path functions
        locking/spinlocks: Mark spinlocks noinline when inline spinlocks are disabled
        selftests: futex: Fix 'the the' typo in comment
      3e71f016
    • Linus Torvalds's avatar
      Merge tag 'perf-core-2022-10-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3871d93b
      Linus Torvalds authored
      Pull perf events updates from Ingo Molnar:
       "PMU driver updates:
      
         - Add AMD Last Branch Record Extension Version 2 (LbrExtV2) feature
           support for Zen 4 processors.
      
         - Extend the perf ABI to provide branch speculation information, if
           available, and use this on CPUs that have it (eg. LbrExtV2).
      
         - Improve Intel PEBS TSC timestamp handling & integration.
      
         - Add Intel Raptor Lake S CPU support.
      
         - Add 'perf mem' and 'perf c2c' memory profiling support on AMD CPUs
           by utilizing IBS tagged load/store samples.
      
         - Clean up & optimize various x86 PMU details.
      
        HW breakpoints:
      
         - Big rework to optimize the code for systems with hundreds of CPUs
           and thousands of breakpoints:
      
            - Replace the nr_bp_mutex global mutex with the bp_cpuinfo_sem
              per-CPU rwsem that is read-locked during most of the key
              operations.
      
            - Improve the O(#cpus * #tasks) logic in toggle_bp_slot() and
              fetch_bp_busy_slots().
      
            - Apply micro-optimizations & cleanups.
      
        - Misc cleanups & enhancements"
      
      * tag 'perf-core-2022-10-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (75 commits)
        perf/hw_breakpoint: Annotate tsk->perf_event_mutex vs ctx->mutex
        perf: Fix pmu_filter_match()
        perf: Fix lockdep_assert_event_ctx()
        perf/x86/amd/lbr: Adjust LBR regardless of filtering
        perf/x86/utils: Fix uninitialized var in get_branch_type()
        perf/uapi: Define PERF_MEM_SNOOPX_PEER in kernel header file
        perf/x86/amd: Support PERF_SAMPLE_PHY_ADDR
        perf/x86/amd: Support PERF_SAMPLE_ADDR
        perf/x86/amd: Support PERF_SAMPLE_{WEIGHT|WEIGHT_STRUCT}
        perf/x86/amd: Support PERF_SAMPLE_DATA_SRC
        perf/x86/amd: Add IBS OP_DATA2 DataSrc bit definitions
        perf/mem: Introduce PERF_MEM_LVLNUM_{EXTN_MEM|IO}
        perf/x86/uncore: Add new Raptor Lake S support
        perf/x86/cstate: Add new Raptor Lake S support
        perf/x86/msr: Add new Raptor Lake S support
        perf/x86: Add new Raptor Lake S support
        bpf: Check flags for branch stack in bpf_read_branch_records helper
        perf, hw_breakpoint: Fix use-after-free if perf_event_open() fails
        perf: Use sample_flags for raw_data
        perf: Use sample_flags for addr
        ...
      3871d93b
    • Linus Torvalds's avatar
      Merge tag 'sched-core-2022-10-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 30c99993
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "Debuggability:
      
         - Change most occurances of BUG_ON() to WARN_ON_ONCE()
      
         - Reorganize & fix TASK_ state comparisons, turn it into a bitmap
      
         - Update/fix misc scheduler debugging facilities
      
        Load-balancing & regular scheduling:
      
         - Improve the behavior of the scheduler in presence of lot of
           SCHED_IDLE tasks - in particular they should not impact other
           scheduling classes.
      
         - Optimize task load tracking, cleanups & fixes
      
         - Clean up & simplify misc load-balancing code
      
        Freezer:
      
         - Rewrite the core freezer to behave better wrt thawing and be
           simpler in general, by replacing PF_FROZEN with TASK_FROZEN &
           fixing/adjusting all the fallout.
      
        Deadline scheduler:
      
         - Fix the DL capacity-aware code
      
         - Factor out dl_task_is_earliest_deadline() &
           replenish_dl_new_period()
      
         - Relax/optimize locking in task_non_contending()
      
        Cleanups:
      
         - Factor out the update_current_exec_runtime() helper
      
         - Various cleanups, simplifications"
      
      * tag 'sched-core-2022-10-07' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)
        sched: Fix more TASK_state comparisons
        sched: Fix TASK_state comparisons
        sched/fair: Move call to list_last_entry() in detach_tasks
        sched/fair: Cleanup loop_max and loop_break
        sched/fair: Make sure to try to detach at least one movable task
        sched: Show PF_flag holes
        freezer,sched: Rewrite core freezer logic
        sched: Widen TAKS_state literals
        sched/wait: Add wait_event_state()
        sched/completion: Add wait_for_completion_state()
        sched: Add TASK_ANY for wait_task_inactive()
        sched: Change wait_task_inactive()s match_state
        freezer,umh: Clean up freezer/initrd interaction
        freezer: Have {,un}lock_system_sleep() save/restore flags
        sched: Rename task_running() to task_on_cpu()
        sched/fair: Cleanup for SIS_PROP
        sched/fair: Default to false in test_idle_cores()
        sched/fair: Remove useless check in select_idle_core()
        sched/fair: Avoid double search on same cpu
        sched/fair: Remove redundant check in select_idle_smt()
        ...
      30c99993
  2. 09 Oct, 2022 10 commits
    • Linus Torvalds's avatar
      Merge tag 'ucount-rlimits-cleanups-for-v5.19' of... · 493ffd66
      Linus Torvalds authored
      Merge tag 'ucount-rlimits-cleanups-for-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull ucounts update from Eric Biederman:
       "Split rlimit and ucount values and max values
      
        After the ucount rlimit code was merged a bunch of small but
        siginificant bugs were found and fixed. At the time it was realized
        that part of the problem was that while the ucount rlimits were very
        similar to the oridinary ucounts (in being nested counts with limits)
        the semantics were slightly different and the code would be less error
        prone if there was less sharing.
      
        This is the long awaited cleanup that should hopefully keep things
        more comprehensible and less error prone for whoever needs to touch
        that code next"
      
      * tag 'ucount-rlimits-cleanups-for-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        ucounts: Split rlimit and ucount values and max values
      493ffd66
    • Linus Torvalds's avatar
      Merge tag 'signal-for-v5.20' of... · e572410e
      Linus Torvalds authored
      Merge tag 'signal-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull ptrace update from Eric Biederman:
       "ptrace: Stop supporting SIGKILL for PTRACE_EVENT_EXIT
      
        Recently I had a conversation where it was pointed out to me that
        SIGKILL sent to a tracee stropped in PTRACE_EVENT_EXIT is quite
        difficult for a tracer to handle.
      
        Keeping SIGKILL working after the process has been killed is pain from
        an implementation point of view.
      
        So since the debuggers don't want this behavior let's see if we can
        remove this wart for the userspace API
      
        If a regression is detected it should only need to be the last change
        that is the reverted. The other two are just general cleanups that
        make the last patch simpler"
      
      * tag 'signal-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        signal: Drop signals received after a fatal signal has been processed
        signal: Guarantee that SIGNAL_GROUP_EXIT is set on process exit
        signal: Ensure SIGNAL_GROUP_EXIT gets set in do_group_exit
      e572410e
    • Linus Torvalds's avatar
      Merge tag 'retire_mq_sysctls-for-v5.19' of... · 86fb9c53
      Linus Torvalds authored
      Merge tag 'retire_mq_sysctls-for-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull mqueue fix from Eric Biederman:
       "A fix for an unlikely but possible memory leak"
      
      * tag 'retire_mq_sysctls-for-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        ipc: mqueue: fix possible memory leak in init_mqueue_fs()
      86fb9c53
    • Linus Torvalds's avatar
      Merge tag 'interrupting_kthread_stop-for-v5.20' of... · c71370bd
      Linus Torvalds authored
      Merge tag 'interrupting_kthread_stop-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull kthread update from Eric Biederman:
       "Break out of wait loops on kthread_stop()
      
        This is a small tweak to kthread_stop so it breaks out of
        interruptible waits, that don't explicitly test for kthread_stop.
      
        These interruptible waits occassionaly occur in kernel threads do to
        code sharing"
      
      * tag 'interrupting_kthread_stop-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        signal: break out of wait loops on kthread_stop()
      c71370bd
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 4899a36f
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
      
       - Remove our now never-true definitions for pgd_huge() and p4d_leaf().
      
       - Add pte_needs_flush() and huge_pmd_needs_flush() for 64-bit.
      
       - Add support for syscall wrappers.
      
       - Add support for KFENCE on 64-bit.
      
       - Update 64-bit HV KVM to use the new guest state entry/exit accounting
         API.
      
       - Support execute-only memory when using the Radix MMU (P9 or later).
      
       - Implement CONFIG_PARAVIRT_TIME_ACCOUNTING for pseries guests.
      
       - Updates to our linker script to move more data into read-only
         sections.
      
       - Allow the VDSO to be randomised on 32-bit.
      
       - Many other small features and fixes.
      
      Thanks to Andrew Donnellan, Aneesh Kumar K.V, Arnd Bergmann, Athira
      Rajeev, Christophe Leroy, David Hildenbrand, Disha Goel, Fabiano Rosas,
      Gaosheng Cui, Gustavo A. R. Silva, Haren Myneni, Hari Bathini, Jilin
      Yuan, Joel Stanley, Kajol Jain, Kees Cook, Krzysztof Kozlowski, Laurent
      Dufour, Liang He, Li Huafei, Lukas Bulwahn, Madhavan Srinivasan, Nathan
      Chancellor, Nathan Lynch, Nicholas Miehlbradt, Nicholas Piggin, Pali
      Rohár, Rohan McLure, Russell Currey, Sachin Sant, Segher Boessenkool,
      Shrikanth Hegde, Tyrel Datwyler, Wolfram Sang, ye xingchen, and Zheng
      Yongjun.
      
      * tag 'powerpc-6.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (214 commits)
        KVM: PPC: Book3S HV: Fix stack frame regs marker
        powerpc: Don't add __powerpc_ prefix to syscall entry points
        powerpc/64s/interrupt: Fix stack frame regs marker
        powerpc/64: Fix msr_check_and_set/clear MSR[EE] race
        powerpc/64s/interrupt: Change must-hard-mask interrupt check from BUG to WARN
        powerpc/pseries: Add firmware details to the hardware description
        powerpc/powernv: Add opal details to the hardware description
        powerpc: Add device-tree model to the hardware description
        powerpc/64: Add logical PVR to the hardware description
        powerpc: Add PVR & CPU name to hardware description
        powerpc: Add hardware description string
        powerpc/configs: Enable PPC_UV in powernv_defconfig
        powerpc/configs: Update config files for removed/renamed symbols
        powerpc/mm: Fix UBSAN warning reported on hugetlb
        powerpc/mm: Always update max/min_low_pfn in mem_topology_setup()
        powerpc/mm/book3s/hash: Rename flush_tlb_pmd_range
        powerpc: Drops STABS_DEBUG from linker scripts
        powerpc/64s: Remove lost/old comment
        powerpc/64s: Remove old STAB comment
        powerpc: remove orphan systbl_chk.sh
        ...
      4899a36f
    • Linus Torvalds's avatar
      Merge tag 's390-6.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 03785a69
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Make use of the IBM z16 processor activity instrumentation facility
         extension to count neural network processor assist operations: add a
         new PMU device driver so that perf can make use of this.
      
       - Rework memcpy_real() to avoid DAT-off mode.
      
       - Rework absolute lowcore access code.
      
       - Various small fixes and improvements all over the code.
      
      * tag 's390-6.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/pci: remove unused bus_next field from struct zpci_dev
        s390/cio: remove unused ccw_device_force_console() declaration
        s390/pai: Add support for PAI Extension 1 NNPA counters
        s390/mm: fix no previous prototype warnings in maccess.c
        s390/mm: uninline copy_oldmem_kernel() function
        s390/mm,ptdump: add real memory copy page markers
        s390/mm: rework memcpy_real() to avoid DAT-off mode
        s390/dump: save IPL CPU registers once DAT is available
        s390/pci: convert high_memory to physical address
        s390/smp,ptdump: add absolute lowcore markers
        s390/smp: rework absolute lowcore access
        s390/smp: call smp_reinit_ipl_cpu() before scheduler is available
        s390/ptdump: add missing amode31 markers
        s390/mm: split lowcore pages with set_memory_4k()
        s390/mm: remove unused access parameter from do_fault_error()
        s390/delay: sync comment within __delay() with reality
        s390: move from strlcpy with unused retval to strscpy
      03785a69
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.1-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 2e64066d
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - Improvements to the CPU topology subsystem, which fix some issues
         where RISC-V would report bad topology information.
      
       - The default NR_CPUS has increased to XLEN, and the maximum
         configurable value is 512.
      
       - The CD-ROM filesystems have been enabled in the defconfig.
      
       - Support for THP_SWAP has been added for rv64 systems.
      
      There are also a handful of cleanups and fixes throughout the tree.
      
      * tag 'riscv-for-linus-6.1-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: enable THP_SWAP for RV64
        RISC-V: Print SSTC in canonical order
        riscv: compat: s/failed/unsupported if compat mode isn't supported
        RISC-V: Increase range and default value of NR_CPUS
        cpuidle: riscv-sbi: Fix CPU_PM_CPU_IDLE_ENTER_xyz() macro usage
        perf: RISC-V: throttle perf events
        perf: RISC-V: exclude invalid pmu counters from SBI calls
        riscv: enable CD-ROM file systems in defconfig
        riscv: topology: fix default topology reporting
        arm64: topology: move store_cpu_topology() to shared code
      2e64066d
    • Linus Torvalds's avatar
      Merge tag 'microblaze-v6.1' of git://git.monstr.eu/linux-2.6-microblaze · 57c92724
      Linus Torvalds authored
      Pull microblaze updates from Michal Simek:
       "This adds architecture support for error injection which can be done
        only via local memory (BRAM) with enabling path for recovery after
        reset.
      
        These patches targets Triple Modular Redundacy (TMR) configuration
        where 3 Microblazes are running in parallel with monitoring logic.
      
        When an error happens (or is injected) system goes to break handler
        with full CPU reset and system recovery back to origin context. More
        information can be found at [1]"
      
      Link: https://www.xilinx.com/content/dam/xilinx/support/documents/ip_documentation/tmr/v1_0/pg268-tmr.pdf [1]
      
      * tag 'microblaze-v6.1' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Add support for error injection
        microblaze: Add custom break vector handler for mb manager
        microblaze: Add xmb_manager_register function
      57c92724
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · ef688f8b
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "The first batch of KVM patches, mostly covering x86.
      
        ARM:
      
         - Account stage2 page table allocations in memory stats
      
        x86:
      
         - Account EPT/NPT arm64 page table allocations in memory stats
      
         - Tracepoint cleanups/fixes for nested VM-Enter and emulated MSR
           accesses
      
         - Drop eVMCS controls filtering for KVM on Hyper-V, all known
           versions of Hyper-V now support eVMCS fields associated with
           features that are enumerated to the guest
      
         - Use KVM's sanitized VMCS config as the basis for the values of
           nested VMX capabilities MSRs
      
         - A myriad event/exception fixes and cleanups. Most notably, pending
           exceptions morph into VM-Exits earlier, as soon as the exception is
           queued, instead of waiting until the next vmentry. This fixed a
           longstanding issue where the exceptions would incorrecly become
           double-faults instead of triggering a vmexit; the common case of
           page-fault vmexits had a special workaround, but now it's fixed for
           good
      
         - A handful of fixes for memory leaks in error paths
      
         - Cleanups for VMREAD trampoline and VMX's VM-Exit assembly flow
      
         - Never write to memory from non-sleepable kvm_vcpu_check_block()
      
         - Selftests refinements and cleanups
      
         - Misc typo cleanups
      
        Generic:
      
         - remove KVM_REQ_UNHALT"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (94 commits)
        KVM: remove KVM_REQ_UNHALT
        KVM: mips, x86: do not rely on KVM_REQ_UNHALT
        KVM: x86: never write to memory from kvm_vcpu_check_block()
        KVM: x86: Don't snapshot pending INIT/SIPI prior to checking nested events
        KVM: nVMX: Make event request on VMXOFF iff INIT/SIPI is pending
        KVM: nVMX: Make an event request if INIT or SIPI is pending on VM-Enter
        KVM: SVM: Make an event request if INIT or SIPI is pending when GIF is set
        KVM: x86: lapic does not have to process INIT if it is blocked
        KVM: x86: Rename kvm_apic_has_events() to make it INIT/SIPI specific
        KVM: x86: Rename and expose helper to detect if INIT/SIPI are allowed
        KVM: nVMX: Make an event request when pending an MTF nested VM-Exit
        KVM: x86: make vendor code check for all nested events
        mailmap: Update Oliver's email address
        KVM: x86: Allow force_emulation_prefix to be written without a reload
        KVM: selftests: Add an x86-only test to verify nested exception queueing
        KVM: selftests: Use uapi header to get VMX and SVM exit reasons/codes
        KVM: x86: Rename inject_pending_events() to kvm_check_and_inject_events()
        KVM: VMX: Update MTF and ICEBP comments to document KVM's subtle behavior
        KVM: x86: Treat pending TRIPLE_FAULT requests as pending exceptions
        KVM: x86: Morph pending exceptions to pending VM-Exits at queue time
        ...
      ef688f8b
    • Linus Torvalds's avatar
      Merge tag 'efi-next-for-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi · 0e470763
      Linus Torvalds authored
      Pull EFI updates from Ard Biesheuvel:
       "A bit more going on than usual in the EFI subsystem. The main driver
        for this has been the introduction of the LoonArch architecture last
        cycle, which inspired some cleanup and refactoring of the EFI code.
        Another driver for EFI changes this cycle and in the future is
        confidential compute.
      
        The LoongArch architecture does not use either struct bootparams or DT
        natively [yet], and so passing information between the EFI stub and
        the core kernel using either of those is undesirable. And in general,
        overloading DT has been a source of issues on arm64, so using DT for
        this on new architectures is a to avoid for the time being (even if we
        might converge on something DT based for non-x86 architectures in the
        future). For this reason, in addition to the patch that enables EFI
        boot for LoongArch, there are a number of refactoring patches applied
        on top of which separate the DT bits from the generic EFI stub bits.
        These changes are on a separate topich branch that has been shared
        with the LoongArch maintainers, who will include it in their pull
        request as well. This is not ideal, but the best way to manage the
        conflicts without stalling LoongArch for another cycle.
      
        Another development inspired by LoongArch is the newly added support
        for EFI based decompressors. Instead of adding yet another
        arch-specific incarnation of this pattern for LoongArch, we are
        introducing an EFI app based on the existing EFI libstub
        infrastructure that encapulates the decompression code we use on other
        architectures, but in a way that is fully generic. This has been
        developed and tested in collaboration with distro and systemd folks,
        who are eager to start using this for systemd-boot and also for arm64
        secure boot on Fedora. Note that the EFI zimage files this introduces
        can also be decompressed by non-EFI bootloaders if needed, as the
        image header describes the location of the payload inside the image,
        and the type of compression that was used. (Note that Fedora's arm64
        GRUB is buggy [0] so you'll need a recent version or switch to
        systemd-boot in order to use this.)
      
        Finally, we are adding TPM measurement of the kernel command line
        provided by EFI. There is an oversight in the TCG spec which results
        in a blind spot for command line arguments passed to loaded images,
        which means that either the loader or the stub needs to take the
        measurement. Given the combinatorial explosion I am anticipating when
        it comes to firmware/bootloader stacks and firmware based attestation
        protocols (SEV-SNP, TDX, DICE, DRTM), it is good to set a baseline now
        when it comes to EFI measured boot, which is that the kernel measures
        the initrd and command line. Intermediate loaders can measure
        additional assets if needed, but with the baseline in place, we can
        deploy measured boot in a meaningful way even if you boot into Linux
        straight from the EFI firmware.
      
        Summary:
      
         - implement EFI boot support for LoongArch
      
         - implement generic EFI compressed boot support for arm64, RISC-V and
           LoongArch, none of which implement a decompressor today
      
         - measure the kernel command line into the TPM if measured boot is in
           effect
      
         - refactor the EFI stub code in order to isolate DT dependencies for
           architectures other than x86
      
         - avoid calling SetVirtualAddressMap() on arm64 if the configured
           size of the VA space guarantees that doing so is unnecessary
      
         - move some ARM specific code out of the generic EFI source files
      
         - unmap kernel code from the x86 mixed mode 1:1 page tables"
      
      * tag 'efi-next-for-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi: (24 commits)
        efi/arm64: libstub: avoid SetVirtualAddressMap() when possible
        efi: zboot: create MemoryMapped() device path for the parent if needed
        efi: libstub: fix up the last remaining open coded boot service call
        efi/arm: libstub: move ARM specific code out of generic routines
        efi/libstub: measure EFI LoadOptions
        efi/libstub: refactor the initrd measuring functions
        efi/loongarch: libstub: remove dependency on flattened DT
        efi: libstub: install boot-time memory map as config table
        efi: libstub: remove DT dependency from generic stub
        efi: libstub: unify initrd loading between architectures
        efi: libstub: remove pointless goto kludge
        efi: libstub: simplify efi_get_memory_map() and struct efi_boot_memmap
        efi: libstub: avoid efi_get_memory_map() for allocating the virt map
        efi: libstub: drop pointless get_memory_map() call
        efi: libstub: fix type confusion for load_options_size
        arm64: efi: enable generic EFI compressed boot
        loongarch: efi: enable generic EFI compressed boot
        riscv: efi: enable generic EFI compressed boot
        efi/libstub: implement generic EFI zboot
        efi/libstub: move efi_system_table global var into separate object
        ...
      0e470763
  3. 08 Oct, 2022 6 commits
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v6.1' of git://git.linaro.org/landing-teams/working/fujitsu/integration · a6afa419
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - apple: implement poll and flush callbacks
      
       - qcom: fix clocks for IPQ6018 and IPQ8074 irq handler as not-a-thread
      
       - microchip: split reg-space into two
      
       - imx: RST channel fix
      
       - bcm: fix dma_map_sg error handling
      
       - misc: spelling fix in pcc driver
      
      * tag 'mailbox-v6.1' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        mailbox: qcom-ipcc: flag IRQ NO_THREAD
        mailbox: pcc: Fix spelling mistake "Plaform" -> "Platform"
        mailbox: bcm-ferxrm-mailbox: Fix error check for dma_map_sg
        mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock support
        dt-bindings: mailbox: qcom: correct clocks for IPQ6018 and IPQ8074
        dt-bindings: mailbox: qcom: set correct #clock-cells
        mailbox: mpfs: account for mbox offsets while sending
        mailbox: mpfs: fix handling of the reg property
        dt-bindings: mailbox: fix the mpfs' reg property
        mailbox: imx: fix RST channel support
        mailbox: apple: Implement poll_data() operation
        mailbox: apple: Implement flush() operation
      a6afa419
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · bdc753c7
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "We have some late breaking reports that a patch series to rework clk
        rate range support broke boot on some devices, so I've left that
        branch out of this. Hopefully we can get to that next week, or punt on
        it and let it bake another cycle. That means we don't really have any
        changes to the core framework this time around besides a few typo
        fixes. Instead this is all clk driver updates and fixes.
      
        The usual suspects are here (again), with Qualcomm dominating the
        diffstat. We look to have gained support for quite a few new Qualcomm
        SoCs and Dmitry worked on updating many of the existing Qualcomm
        drivers to use clk_parent_data. After that we have MediaTek drivers
        getting some much needed updates, in particular to support GPU DVFS.
        There are also quite a few Samsung clk driver patches, but that's
        mostly because there was a maintainer change and so last release we
        missed some of those patches.
      
        Overall things look normal, but I'm slowly reviewing core framework
        code nowadays and that shows given the rate range patches had to be
        yanked last minute. Let's hope this situation changes soon.
      
        New Drivers:
         - Support for Renesas VersaClock7 clock generator family
         - Add Spreadtrum UMS512 SoC clk support
         - New clock drivers for MediaTek Helio X10 MT6795
         - Display clks for Qualcomm SM6115, SM8450
         - GPU clks for Qualcomm SC8280XP
         - Qualcomm MSM8909 and SM6375 global and SMD RPM clk drivers
      
        Deleted Drivers:
         - Remove DaVinci DM644x and DM646x clk driver support
      
        Updates:
         - Convert Baikal-T1 CCU driver to platform driver
         - Split reset support out of primary Baikal-T1 CCU driver
         - Add some missing clks required for RPiVid Video Decoder on
           RaspberryPi
         - Mark PLLC critical on bcm2835
         - More devm helpers for fixed rate registration
         - Various PXA168 clk driver fixes
         - Add resets for MediaTek MT8195 PCIe and USB
         - Miscellaneous of_node_put() fixes
         - Nuke dt-bindings/clk path (again) by moving headers to
           dt-bindings/clock
         - Convert gpio-clk-gate binding to YAML
         - Various fixes to AMD/Xilinx Zynqmp clk driver
         - Graduate AMD/Xilinx "clocking wizard" driver from staging
         - Add missing DPI1_HDMI clock in MT8195 VDOSYS1
         - Clock driver changes to support GPU DVFS on MT8183, MT8192, MT8195
         - Fix GPU clock topology on MT8195
         - Propogate rate changes from GPU clock gate up the tree
         - Clock mux notifiers for GPU-related PLLs
         - Conversion of more "simple" drivers to mtk_clk_simple_probe()
         - Hook up mtk_clk_simple_remove() for "simple" MT8192 clock drivers
         - Fixes to previous |struct clk| to |struct clk_hw| conversion on
           MediaTek
         - Shrink MT8192 clock driver by deduplicating clock parent lists
         - Change order between 'sim_enet_root_clk' and 'enet_qos_root_clk'
           clocks for i.MX8MP
         - Drop unnecessary newline in i.MX8MM dt-bindings
         - Add more MU1 and SAI clocks dt-bindings Ids
         - Introduce slice busy bit check for i.MX93 composite clock
         - Introduce white list bit check for i.MX93 composite clock
         - Add new i.MX93 clock gate
         - Add MU1 and MU2 clocks to i.MX93 clock provider
         - Add SAI IPG clocks to i.MX93 clock provider
         - add generic clocks for U(S)ART available on SAMA5D2 SoCs
         - reset controller support for Polarfire clocks
         - .round_rate and .set rate support for clk-mpfs
         - code cleanup for clk-mpfs
         - PLL support for PolarFire SoC's Clock Conditioning Circuitry
         - Add watchdog, I2C, pin control/GPIO, and Ethernet clocks on R-Car
           V4H
         - Add SDHI, Timer (CMT/TMU), and SPI (MSIOF) clocks on R-Car S4-8
         - Add I2C clocks and resets on RZ/V2M
         - Document clock support for the RZ/Five SoC
         - mux-variant clock using the table variant to select parents
         - clock controller for the rv1126 soc
         - conversion of rk3128 to yaml and relicensing of the yaml bindings
           to gpl2+MIT (following dt-binding guildelines)
         - Exynos7885: add FSYS, TREX and MFC clock controllers
         - Exynos850: add IS and AUD (audio) clock controllers with bindings
         - ExynosAutov9: add FSYS clock controllers with bindings
         - ExynosAutov9: correct clock IDs in bindings of Peric 0 and 1 clock
           controllers, due to duplicated entries. This is an acceptable ABI
           break: recently developed/added platform so without legacies, acked
           by known users/developers
         - ExynosAutov9: add few missing Peric 0/1 gates
         - ExynosAutov9: correct register offsets of few Peric 0/1 clocks
         - Minor code improvements (use of_device_get_match_data() helper,
           code style)
         - Add Krzysztof Kozlowski as co-maintainer of Samsung SoC clocks, as
           he already maintainers that architecture/platform
         - Keep Qualcomm GDSCs enabled when PWRSTS_RET flag is there, solving
           retention issues during suspend of USB on Qualcomm sc7180/sc7280
           and SC8280XP
         - Qualcomm SM6115 and QCM2260 are moved to reuse PLL configuration
         - Qualcomm SDM660 SDCC1 moved to floor clk ops
         - Support for the APCS PLLs for Qualcomm IPQ8064, IPQ8074 and IPQ6018
           was added/fixed
         - The Qualcomm MSM8996 CPU clocks are updated with support for ACD
         - Support for Qualcomm SDM670 GCC and RPMh clks was added
         - Transition to parent_data, parent_hws and use of ARRAY_SIZE() for
           num_parents was done for many Qualcomm SoCs
         - Support for per-reset defined delay on Qualcomm was introduced"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (283 commits)
        clk: qcom: gcc-sm6375: Ensure unsigned long type
        clk: qcom: gcc-sm6375: Remove unused variables
        clk: qcom: kpss-xcc: convert to parent data API
        clk: introduce (devm_)hw_register_mux_parent_data_table API
        clk: allow building lan966x as a module
        clk: clk-xgene: simplify if-if to if-else
        clk: ast2600: BCLK comes from EPLL
        clk: clocking-wizard: Depend on HAS_IOMEM
        clk: clocking-wizard: Use dev_err_probe() helper
        clk: nxp: fix typo in comment
        clk: pxa: add a check for the return value of kzalloc()
        clk: vc5: Add support for IDT/Renesas VersaClock 5P49V6975
        dt-bindings: clock: vc5: Add 5P49V6975
        clk: mvebu: armada-37xx-tbg: Remove the unneeded result variable
        clk: ti: dra7-atl: Fix reference leak in of_dra7_atl_clk_probe
        clk: Renesas versaclock7 ccf device driver
        dt-bindings: Renesas versaclock7 device tree bindings
        clk: ti: Balance of_node_get() calls for of_find_node_by_name()
        clk: imx: scu: fix memleak on platform_device_add() fails
        clk: vc5: Use regmap_{set,clear}_bits() where appropriate
        ...
      bdc753c7
    • Linus Torvalds's avatar
      Merge tag 'gpio-updates-for-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · f0160397
      Linus Torvalds authored
      Pull gpio updates from Bartosz Golaszewski:
       "We have a single new driver, support for a bunch of new models,
        improvements in drivers and core gpiolib code as well device-tree
        bindings changes.
      
        Summary:
      
        New driver:
         - IMX System Controller Unit GPIOs
      
        GPIO core:
         - add fdinfo output for the GPIO character device file descriptors
           (allows user-space to determine which processes own which GPIO
           lines)
         - improvements to OF GPIO code
         - new quirk for Asus UM325UAZ in gpiolib-acpi
         - new quirk for Freescale SPI in gpiolib-of
      
        Driver improvements:
         - add a new macro that reduces the amount of boilerplate code in ISA
           drivers and use it in relevant drivers
         - support two new models in gpio-pca953x
         - support new model in gpio-f7188x
         - convert more drivers to use immutable irq chips
         - other minor tweaks
      
        Device-tree bindings:
         - add DT bindings for gpio-imx-scu
         - convert Xilinx GPIO bindings to YAML
         - reference the properties from the SPI peripheral device-tree
           bindings instead of providing custom ones in the GPIO controller
           document
         - add parsing of GPIO hog nodes to the DT bindings for gpio-mpfs-gpio
         - relax the node name requirements in gpio-stmpe
         - add new models for gpio-rcar and gpio-pxa95xx
         - add a new vendor prefix: Diodes (for Diodes, Inc.)
      
        Misc:
         - pulled in the immutable branch from the x86 platform drivers tree
           including support for a new simatic board that depends on GPIO
           changes"
      
      * tag 'gpio-updates-for-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (36 commits)
        gpio: tc3589x: Make irqchip immutable
        gpiolib: cdev: add fdinfo output for line request file descriptors
        gpio: twl4030: Reorder functions which allows to drop a forward declaraion
        gpiolib: fix OOB access in quirk callbacks
        gpiolib: of: factor out conversion from OF flags
        gpiolib: rework quirk handling in of_find_gpio()
        gpiolib: of: make Freescale SPI quirk similar to all others
        gpiolib: of: do not ignore requested index when applying quirks
        gpio: ws16c48: Ensure number of irq matches number of base
        gpio: 104-idio-16: Ensure number of irq matches number of base
        gpio: 104-idi-48: Ensure number of irq matches number of base
        gpio: 104-dio-48e: Ensure number of irq matches number of base
        counter: 104-quad-8: Ensure number of irq matches number of base
        isa: Introduce the module_isa_driver_with_irq helper macro
        gpio: pca953x: Add support for PCAL6534
        gpio: pca953x: Swap if statements to save later complexity
        gpio: pca953x: Fix pca953x_gpio_set_pull_up_down()
        dt-bindings: gpio: pca95xx: add entry for pcal6534 and PI4IOE5V6534Q
        dt-bindings: vendor-prefixes: add Diodes
        gpio: mt7621: Switch to use platform_get_irq() function
        ...
      f0160397
    • Linus Torvalds's avatar
      Merge tag 'staging-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 3002b7a3
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the large set of staging driver changes for 6.1-rc1.
      
        Nothing really interesting in here at all except we deleted a driver
        (fwserial) as no one had been using it for a long time. Other than
        that, just the normal cleanups and minor fixes:
      
         - rtl8723bs driver cleanups
      
         - loads of r8188eu driver cleanups, making the driver smaller and
           fixing up some firmware dependency issues.
      
         - vt6655 driver cleanups.
      
         - lots of other small staging driver cleanups.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (266 commits)
        staging: rtl8192e: Rename variable Bandwidth to avoid CamelCase
        staging: r8188eu: remove PHY_RFConfig8188E()
        staging: r8188eu: remove PHY_RF6052_Config8188E()
        staging: r8188eu: convert ODM_ReadAndConfig_AGC_TAB_1T_8188E() to int
        staging: r8188eu: convert ODM_ReadAndConfig_PHY_REG_1T_8188E() to int
        staging: r8188eu: convert ODM_ReadAndConfig_RadioA_1T_8188E() to int
        staging: r8188eu: convert ODM_ReadAndConfig_MAC_REG_8188E() to int
        staging: rtl8192e: cmdpkt: Use skb_put_data() instead of skb_put/memcpy pair
        staging: r8188eu: Use skb_put_data() instead of skb_put/memcpy pair
        staging: r8188eu: remove hal/odm_RegConfig8188E.c
        staging: r8188eu: make odm_ConfigRF_RadioA_8188E() static
        staging: r8188eu: make odm_ConfigMAC_8188E() static
        staging: r8188eu: don't check for stop/removal in the blink worker
        staging: r8188eu: don't check bSurpriseRemoved in SwLedOff
        staging: rtl8192e: Remove unused variables ForcedAMSDUMaxSize, ...
        staging: rtl8192e: Rename CurrentMPDU..., ForcedAMPDU... and ForcedMPDU...
        staging: rtl8192e: Rename SelfMimoPs, CurrentOpMode and bForcedShortGI
        staging: rtl8192e: Rename PeerMimoPs, IOTAction and IOTRaFunc
        staging: rtl8192e: Rename RxRe...WinSize, RxReorder... and RxReorderDr...
        staging: rtl8192e: Rename szRT2RTAggBuffer, bRegRxRe... and bCurRxReo...
        ...
      3002b7a3
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · a0947666
      Linus Torvalds authored
      Pull char/misc and other driver updates from Greg KH:
       "Here is the large set of char/misc and other small driver subsystem
        changes for 6.1-rc1. Loads of different things in here:
      
         - IIO driver updates, additions, and changes. Probably the largest
           part of the diffstat
      
         - habanalabs driver update with support for new hardware and
           features, the second largest part of the diff.
      
         - fpga subsystem driver updates and additions
      
         - mhi subsystem updates
      
         - Coresight driver updates
      
         - gnss subsystem updates
      
         - extcon driver updates
      
         - icc subsystem updates
      
         - fsi subsystem updates
      
         - nvmem subsystem and driver updates
      
         - misc driver updates
      
         - speakup driver additions for new features
      
         - lots of tiny driver updates and cleanups
      
        All of these have been in the linux-next tree for a while with no
        reported issues"
      
      * tag 'char-misc-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (411 commits)
        w1: Split memcpy() of struct cn_msg flexible array
        spmi: pmic-arb: increase SPMI transaction timeout delay
        spmi: pmic-arb: block access for invalid PMIC arbiter v5 SPMI writes
        spmi: pmic-arb: correct duplicate APID to PPID mapping logic
        spmi: pmic-arb: add support to dispatch interrupt based on IRQ status
        spmi: pmic-arb: check apid against limits before calling irq handler
        spmi: pmic-arb: do not ack and clear peripheral interrupts in cleanup_irq
        spmi: pmic-arb: handle spurious interrupt
        spmi: pmic-arb: add a print in cleanup_irq
        drivers: spmi: Directly use ida_alloc()/free()
        MAINTAINERS: add TI ECAP driver info
        counter: ti-ecap-capture: capture driver support for ECAP
        Documentation: ABI: sysfs-bus-counter: add frequency & num_overflows items
        dt-bindings: counter: add ti,am62-ecap-capture.yaml
        counter: Introduce the COUNTER_COMP_ARRAY component type
        counter: Consolidate Counter extension sysfs attribute creation
        counter: Introduce the Count capture component
        counter: 104-quad-8: Add Signal polarity component
        counter: Introduce the Signal polarity component
        counter: interrupt-cnt: Implement watch_validate callback
        ...
      a0947666
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · e8bc52cb
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here is the big set of driver core and debug printk changes for
        6.1-rc1. Included in here is:
      
         - dynamic debug updates for the core and the drm subsystem. The drm
           changes have all been acked by the relevant maintainers
      
         - kernfs fixes for syzbot reported problems
      
         - kernfs refactors and updates for cgroup requirements
      
         - magic number cleanups and removals from the kernel tree (they were
           not being used and they really did not actually do anything)
      
         - other tiny cleanups
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'driver-core-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (74 commits)
        docs: filesystems: sysfs: Make text and code for ->show() consistent
        Documentation: NBD_REQUEST_MAGIC isn't a magic number
        a.out: restore CMAGIC
        device property: Add const qualifier to device_get_match_data() parameter
        drm_print: add _ddebug descriptor to drm_*dbg prototypes
        drm_print: prefer bare printk KERN_DEBUG on generic fn
        drm_print: optimize drm_debug_enabled for jump-label
        drm-print: add drm_dbg_driver to improve namespace symmetry
        drm-print.h: include dyndbg header
        drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro
        drm_print: interpose drm_*dbg with forwarding macros
        drm: POC drm on dyndbg - use in core, 2 helpers, 3 drivers.
        drm_print: condense enum drm_debug_category
        debugfs: use DEFINE_SHOW_ATTRIBUTE to define debugfs_regset32_fops
        driver core: use IS_ERR_OR_NULL() helper in device_create_groups_vargs()
        Documentation: ENI155_MAGIC isn't a magic number
        Documentation: NBD_REPLY_MAGIC isn't a magic number
        nbd: remove define-only NBD_MAGIC, previously magic number
        Documentation: FW_HEADER_MAGIC isn't a magic number
        Documentation: EEPROM_MAGIC_VALUE isn't a magic number
        ...
      e8bc52cb
  4. 07 Oct, 2022 8 commits
    • Linus Torvalds's avatar
      Merge tag 'usb-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · d3dcbe24
      Linus Torvalds authored
      Pull USB / Thunderbolt updates from Greg KH:
       "Here is the big set of USB and Thunderbolt driver changes for 6.1-rc1.
      
        Nothing major in here, lots of little things with new devices
        supported and updates for a few drivers. Highlights include:
      
         - thunderbolt/USB4 devices supported a bit better than before, and
           some new ids to enable new hardware devices
      
         - USB gadget uvc updates for newer video formats and better v4l
           integration (the v4l portions were acked by those maintainers)
      
         - typec updates for tiny issues and more typec drivers for new chips.
      
         - xhci tiny updates for minor issues
      
         - big usb-serial ftdi_sio driver update to handle new devices better
      
         - lots of tiny dwc3 fixes and updates for the IP block that is
           showing up everywhere these days
      
         - dts updates for new devices being supported
      
         - other tiny janitorial and cleanups fixes for lots of different USB
           drivers. Full details are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (169 commits)
        usb: gadget: uvc: don't put item still in use
        usb: gadget: uvc: Fix argument to sizeof() in uvc_register_video()
        usb: host: ehci-exynos: switch to using gpiod API
        Revert "usb: dwc3: Don't switch OTG -> peripheral if extcon is present"
        Revert "USB: fixup for merge issue with "usb: dwc3: Don't switch OTG -> peripheral if extcon is present""
        dt-bindings: usb: Convert FOTG210 to dt schema
        usb: mtu3: fix failed runtime suspend in host only mode
        USB: omap_udc: Fix spelling mistake: "tranceiver_ctrl" -> "transceiver_ctrl"
        usb: typec: ucsi_ccg: Disable UCSI ALT support on Tegra
        usb: typec: Replace custom implementation of device_match_fwnode()
        usb: typec: ucsi: Don't warn on probe deferral
        usb: add quirks for Lenovo OneLink+ Dock
        MAINTAINERS: switch dwc3 to Thinh
        usb: idmouse: fix an uninit-value in idmouse_open
        USB: PHY: JZ4770: Switch to use dev_err_probe() helper
        usb: phy: generic: Switch to use dev_err_probe() helper
        usb: ulpi: use DEFINE_SHOW_ATTRIBUTE to simplify ulpi_regs
        usb: cdns3: remove dead code
        usb: cdc-wdm: Use skb_put_data() instead of skb_put/memcpy pair
        usb: musb: sunxi: Switch to use dev_err_probe() helper
        ...
      d3dcbe24
    • Linus Torvalds's avatar
      Merge tag 'tty-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 6181073d
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here is the big set of TTY and Serial driver updates for 6.1-rc1.
      
        Lots of cleanups in here, no real new functionality this time around,
        with the diffstat being that we removed more lines than we added!
      
        Included in here are:
      
         - termios unification cleanups from Al Viro, it's nice to finally get
           this work done
      
         - tty serial transmit cleanups in various drivers in preparation for
           more cleanup and unification in future releases (that work was not
           ready for this release)
      
         - n_gsm fixes and updates
      
         - ktermios cleanups and code reductions
      
         - dt bindings json conversions and updates for new devices
      
         - some serial driver updates for new devices
      
         - lots of other tiny cleanups and janitorial stuff. Full details in
           the shortlog.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'tty-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (102 commits)
        serial: cpm_uart: Don't request IRQ too early for console port
        tty: serial: do unlock on a common path in altera_jtaguart_console_putc()
        tty: serial: unify TX space reads under altera_jtaguart_tx_space()
        tty: serial: use FIELD_GET() in lqasc_tx_ready()
        tty: serial: extend lqasc_tx_ready() to lqasc_console_putchar()
        tty: serial: allow pxa.c to be COMPILE_TESTed
        serial: stm32: Fix unused-variable warning
        tty: serial: atmel: Add COMMON_CLK dependency to SERIAL_ATMEL
        serial: 8250: Fix restoring termios speed after suspend
        serial: Deassert Transmit Enable on probe in driver-specific way
        serial: 8250_dma: Convert to use uart_xmit_advance()
        serial: 8250_omap: Convert to use uart_xmit_advance()
        MAINTAINERS: Solve warning regarding inexistent atmel-usart binding
        serial: stm32: Deassert Transmit Enable on ->rs485_config()
        serial: ar933x: Deassert Transmit Enable on ->rs485_config()
        tty: serial: atmel: Use FIELD_PREP/FIELD_GET
        tty: serial: atmel: Make the driver aware of the existence of GCLK
        tty: serial: atmel: Only divide Clock Divisor if the IP is USART
        tty: serial: atmel: Separate mode clearing between UART and USART
        dt-bindings: serial: atmel,at91-usart: Add gclk as a possible USART clock
        ...
      6181073d
    • Linus Torvalds's avatar
      Merge tag 'soundwire-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire · 881eccbe
      Linus Torvalds authored
      Pull soundwire updates from Vinod Koul:
       "Updates for Intel, Cadence and Qualcomm drivers:
      
         - another round of Intel driver cleanup to prepare for future code
           reorg which is expected in next cycle (Pierre-Louis Bossart)
      
         - bus unattach notifications processing during re-enumeration along
           with Cadence driver updates for this (Richard Fitzgerald)
      
         - Qualcomm driver updates to handle device0 status (Srinivas
           Kandagatla)"
      
      * tag 'soundwire-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: (42 commits)
        soundwire: intel: add helper to stop bus
        soundwire: intel: introduce helpers to start bus
        soundwire: intel: introduce intel_shim_check_wake() helper
        soundwire: intel: simplify read ops assignment
        soundwire: intel: remove intel_init() wrapper
        soundwire: intel: move shim initialization before power up/down
        soundwire: intel: remove clock_stop parameter in intel_shim_init()
        soundwire: intel: move all PDI initialization under intel_register_dai()
        soundwire: intel: move DAI registration and debugfs init earlier
        soundwire: intel: simplify flow and use devm_ for DAI registration
        soundwire: intel: fix error handling on dai registration issues
        soundwire: cadence: Simplify error paths in cdns_xfer_msg()
        soundwire: cadence: Fix error check in cdns_xfer_msg()
        soundwire: cadence: Write to correct address for each FIFO chunk
        soundwire: bus: Fix wrong port number in sdw_handle_slave_alerts()
        soundwire: qcom: do not send status of device 0 during alert
        soundwire: qcom: update status from device id 1
        soundwire: cadence: Don't overwrite msg->buf during write commands
        soundwire: bus: Don't exit early if no device IDs were programmed
        soundwire: cadence: Fix lost ATTACHED interrupts when enumerating
        ...
      881eccbe
    • Linus Torvalds's avatar
      Merge tag 'phy-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy · 33e591de
      Linus Torvalds authored
      Pull phy updates from Vinod Koul:
       "This contains bunch of new device support and one new Sunplus driver
        along with updates which include another big round of qmp phy
        conversion.
      
        New support:
         - Qualcomm SC8280XP eDP & DP and USB3 UNI phy (Bjorn Andersson)
         - Rockchip rk3568 inno dsidphy (Chris Morgan)
         - ocelot-serdes phy yaml binding (Colin Foster)
         - Renesas gen2-usb phy yaml binding (Geert Uytterhoeven)
         - RGMII suport in lan966x driver (Horatiu Vultur)
         - Qualcomm SM6375 usb snps-femto-v2 bindings (Konrad Dybcio)
         - Rockchip rk356x csi-dphya (Michael Riesch)
         - Qualcomm sdm670 usb2 bindings (Richard Acayan)
         - Sunplus USB2 PHY (Vincent Shih)
      
        Updates:
         - Mediatek hdmi, ufs, tphy and xsphy updates to use bitfield helpers
           (Chunfeng Yun)
         - Continued Qualcomm qmp phy driver split and cleanup. More patches
           are under review and expected that next cycle might see completion
           of this activity (Dmitry Baryshkov & Johan Hovold)
         - TI wiz driver support for j7200 10g (Roger Quadros)
         - Qualcomm femto phy driver support for override params to help with
           tuning (Sandeep Maheswaram)
         - SGMII support in TI wiz driver (Siddharth Vadapalli)
         - dev_err_probe simplification (Yuan Can)"
      
      * tag 'phy-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy: (170 commits)
        phy: phy-mtk-dp: make array driving_params static const
        dt-bindings: phy: qcom,qusb2: document sdm670 compatible
        phy: qcom-qmp-pcie: fix resource mapping for SDM845 QHP PHY
        phy: rockchip-snps-pcie3: only look for rockchip,pipe-grf on rk3588
        phy: tegra: xusb: Enable usb role switch attribute
        phy: mediatek: fix build warning of FIELD_PREP()
        phy: qcom-qmp-usb: Use dev_err_probe() to simplify code
        phy: qcom-qmp-ufs: Use dev_err_probe() to simplify code
        phy: qcom-qmp-pcie-msm8996: Use dev_err_probe() to simplify code
        phy: qcom-qmp-combo: Use dev_err_probe() to simplify code
        phy: qualcomm: call clk_disable_unprepare in the error handling
        phy: intel: Use dev_err_probe() to simplify code
        phy: tegra: xusb: Use dev_err_probe() to simplify code
        phy: qcom-snps: Use dev_err_probe() to simplify code
        phy: qcom-qusb2: Use dev_err_probe() to simplify code
        phy: qcom-qmp-pcie: Use dev_err_probe() to simplify code
        phy: ti: phy-j721e-wiz: fix reference leaks in wiz_probe()
        phy: mediatek: mipi: remove register access helpers
        phy: mediatek: mipi: mt8183: use common helper to access registers
        phy: mediatek: mipi: mt8183: use GENMASK to generate bits mask
        ...
      33e591de
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · 416a2f4f
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "New Support:
      
         - MT6795 SoC dma controller (AngeloGioacchino Del Regno)
      
         - qcom-adm controller yaml binding (Christian Marangi)
      
         - Renesas r8a779g0 dma controller yaml binding (Geert Uytterhoeven)
      
         - Qualcomm SM6350 GPI dma controller (Luca Weiss)
      
        Updates:
      
         - STM32 DMA-MDMA chaining support (Amelie Delaunay)
      
         - make hsu driver use managed resources (Andy Shevchenko)
      
         - the usual round of idxd driver updates (Dave Jiang & Jerry
           Snitselaar)
      
         - apple dma driver iommu and pd properties and remove use
           of devres for irqs (Janne Grunau & Martin Povišer)
      
         - device_synchronize support for Xilinx zynqmp driver (Swati
           Agarwal)"
      
      * tag 'dmaengine-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (60 commits)
        dmaengine: ioat: remove unused declarations in dma.h
        dmaengine: ti: k3-udma: Respond TX done if DMA_PREP_INTERRUPT is not requested
        dmaengine: zynqmp_dma: Add device_synchronize support
        dt-bindings: dma: add additional pbus reset to qcom,adm
        dt-bindings: dma: rework qcom,adm Documentation to yaml schema
        dt-bindings: dma: apple,admac: Add iommus and power-domains properties
        dmaengine: dw-edma: Remove runtime PM support
        dmaengine: idxd: add configuration for concurrent batch descriptor processing
        dmaengine: idxd: add configuration for concurrent work descriptor processing
        dmaengine: idxd: add WQ operation cap restriction support
        dmanegine: idxd: reformat opcap output to match bitmap_parse() input
        dmaengine: idxd: convert ats_dis to a wq flag
        dmaengine: ioat: stop mod_timer from resurrecting deleted timer in __cleanup()
        dmaengine: qcom-adm: fix wrong calling convention for prep_slave_sg
        dmaengine: qcom-adm: fix wrong sizeof config in slave_config
        dmaengine: ti: k3-psil: add additional TX threads for j721e
        dmaengine: ti: k3-psil: add additional TX threads for j7200
        dmaengine: apple-admac: Trigger shared reset
        dmaengine: apple-admac: Do not use devres for IRQs
        dmaengine: ti: edma: Remove some unused functions
        ...
      416a2f4f
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 62e6e594
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "Updates to the usual drivers (qla2xxx, lpfc, ufs, hisi_sas, mpi3mr,
        mpt3sas, target). The biggest change (from my biased viewpoint) being
        that the mpi3mr now attached to the SAS transport class, making it the
        first fusion type device to do so.
      
        Beyond the usual bug fixing and security class reworks, there aren't a
        huge number of core changes"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (141 commits)
        scsi: iscsi: iscsi_tcp: Fix null-ptr-deref while calling getpeername()
        scsi: mpi3mr: Remove unnecessary cast
        scsi: stex: Properly zero out the passthrough command structure
        scsi: mpi3mr: Update driver version to 8.2.0.3.0
        scsi: mpi3mr: Fix scheduling while atomic type bug
        scsi: mpi3mr: Scan the devices during resume time
        scsi: mpi3mr: Free enclosure objects during driver unload
        scsi: mpi3mr: Handle 0xF003 Fault Code
        scsi: mpi3mr: Graceful handling of surprise removal of PCIe HBA
        scsi: mpi3mr: Schedule IRQ kthreads only on non-RT kernels
        scsi: mpi3mr: Support new power management framework
        scsi: mpi3mr: Update mpi3 header files
        scsi: mpt3sas: Revert "scsi: mpt3sas: Fix ioc->base_readl() use"
        scsi: mpt3sas: Revert "scsi: mpt3sas: Fix writel() use"
        scsi: wd33c93: Remove dead code related to the long-gone config WD33C93_PIO
        scsi: core: Add I/O timeout count for SCSI device
        scsi: qedf: Populate sysfs attributes for vport
        scsi: pm8001: Replace one-element array with flexible-array member
        scsi: 3w-xxxx: Replace one-element array with flexible-array member
        scsi: hptiop: Replace one-element array with flexible-array member in struct hpt_iop_request_ioctl_command()
        ...
      62e6e594
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · e08466a7
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "Not a big list of changes this cycle, mostly small things. The new
        MANA rdma driver should come next cycle along with a bunch of work on
        rxe.
      
        Summary:
      
         - Small bug fixes in mlx5, efa, rxe, hns, irdma, erdma, siw
      
         - rts tracing improvements
      
         - Code improvements: strlscpy conversion, unused parameter, spelling
           mistakes, unused variables, flex arrays
      
         - restrack device details report for hns
      
         - Simplify struct device initialization in SRP
      
         - Eliminate the never-used service_mask support in IB CM
      
         - Make rxe not print to the console for some kinds of network packets
      
         - Asymetric paths and router support in the CM through netlink
           messages
      
         - DMABUF importer support for mlx5devx umem's"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (84 commits)
        RDMA/rxe: Remove error/warning messages from packet receiver path
        RDMA/usnic: fix set-but-not-unused variable 'flags' warning
        IB/hfi1: Use skb_put_data() instead of skb_put/memcpy pair
        RDMA/hns: Unified Log Printing Style
        RDMA/hns: Replacing magic number with macros in apply_func_caps()
        RDMA/hns: Repacing 'dseg_len' by macros in fill_ext_sge_inl_data()
        RDMA/hns: Remove redundant 'max_srq_desc_sz' in caps
        RDMA/hns: Remove redundant 'num_mtt_segs' and 'max_extend_sg'
        RDMA/hns: Remove redundant 'phy_addr' in hns_roce_hem_list_find_mtt()
        RDMA/hns: Remove redundant 'use_lowmem' argument from hns_roce_init_hem_table()
        RDMA/hns: Remove redundant 'bt_level' for hem_list_alloc_item()
        RDMA/hns: Remove redundant 'attr_mask' in modify_qp_init_to_init()
        RDMA/hns: Remove unnecessary brackets when getting point
        RDMA/hns: Remove unnecessary braces for single statement blocks
        RDMA/hns: Cleanup for a spelling error of Asynchronous
        IB/rdmavt: Add __init/__exit annotations to module init/exit funcs
        RDMA/rxe: Remove redundant num_sge fields
        RDMA/mlx5: Enable ATS support for MRs and umems
        RDMA/mlx5: Add support for dmabuf to devx umem
        RDMA/core: Add UVERBS_ATTR_RAW_FD
        ...
      e08466a7
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · 1227db9e
      Linus Torvalds authored
      Pull MTD updates from Miquel Raynal:
       "Core MTD changes:
         - mtdchar: add MEMREAD ioctl
         - Add ECC error accounting for each read request
         - always initialize 'stats' in struct mtd_oob_ops
         - Track maximum number of bitflips for each read request
         - Fix repeated word in comment
         - Move from strlcpy with unused retval to strscpy
         - Fix a typo in a comment
         - Add binding for U-Boot bootloader partitions
      
        MTD device drivers changes:
         - FTL: use container_of() rather than cast
         - docg3:
            - Use correct function names in comment blocks
            - Check the return value of devm_ioremap() in the probe
         - physmap-core: Fix NULL pointer dereferencing in
           of_select_probe_type()
         - parsers: add Broadcom's U-Boot parser
      
        Raw NAND core changes:
         - Replace of_gpio_named_count() by gpiod_count()
         - Remove misguided comment of nand_get_device()
         - bbt: Use the bitmap API to allocate bitmaps
      
        Raw NAND controller drivers changes:
         - Meson:
            - Stop supporting legacy clocks
            - Refine resource getting in probe
            - Convert bindings to yaml
            - Fix clock handling and update the bindings accordingly
            - Fix bit map use in meson_nfc_ecc_correct()
         - bcm47xx:
            - Fix spelling typo in comment
         - STM32 FMC2:
            - Switch to using devm_fwnode_gpiod_get()
            - Fix dma_map_sg error check
         - Cadence:
            - Remove an unneeded result variable
         - Marvell:
            - Fix error handle regarding dma_map_sg
         - Orion:
            - Use devm_clk_get_optional()
         - Cafe:
            - Use correct function name in comment block
         - Atmel:
            - Unmap streaming DMA mappings
         - Arasan:
            - Stop using 0 as NULL pointer
         - GPMI:
            - Fix typo 'the the' in comment
         - BRCM:
            - Add individual glue driver selection
            - Move Kconfig to driver folder
         - FSL: Fix none ECC mode
         - Intel:
            - Use devm_platform_ioremap_resource_byname()
            - Remove unused clk_rate member from struct ebu_nand
            - Remove unused nand_pa member from ebu_nand_cs
            - Don't re-define NAND_DATA_IFACE_CHECK_ONLY
            - Remove undocumented compatible string
            - Fix compatible string in the bindings
            - Read the chip-select line from the correct OF node
            - Fix maximum chip select value in the bindings"
      
      * tag 'mtd/for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (43 commits)
        mtd: rawnand: meson: stop supporting legacy clocks
        dt-bindings: nand: meson: convert txt to yaml
        mtd: rawnand: meson: refine resource getting in probe
        mtd: rawnand: meson: fix the clock
        dt-bindings: nand: meson: fix meson nfc clock
        mtd: rawnand: bcm47xx: fix spelling typo in comment
        mtd: rawnand: stm32_fmc2: switch to using devm_fwnode_gpiod_get()
        mtd: rawnand: cadence: Remove an unneeded result variable
        mtd: rawnand: Replace of_gpio_named_count() by gpiod_count()
        mtd: rawnand: marvell: Fix error handle regarding dma_map_sg
        mtd: rawnand: stm32_fmc2: Fix dma_map_sg error check
        mtd: rawnand: remove misguided comment of nand_get_device()
        mtd: rawnand: orion: Use devm_clk_get_optional()
        mtd: rawnand: cafe: Use correct function name in comment block
        mtd: rawnand: atmel: Unmap streaming DMA mappings
        mtd: rawnand: meson: fix bit map use in meson_nfc_ecc_correct()
        mtd: rawnand: arasan: stop using 0 as NULL pointer
        mtd: rawnand: gpmi: Fix typo 'the the' in comment
        mtd: rawnand: brcmnand: Add individual glue driver selection
        mtd: rawnand: brcmnand: Move Kconfig to driver folder
        ...
      1227db9e