1. 25 Mar, 2022 2 commits
  2. 24 Mar, 2022 15 commits
    • Linus Torvalds's avatar
      Merge tag 'net-next-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 169e7776
      Linus Torvalds authored
      Pull networking updates from Jakub Kicinski:
       "The sprinkling of SPI drivers is because we added a new one and Mark
        sent us a SPI driver interface conversion pull request.
      
        Core
        ----
      
         - Introduce XDP multi-buffer support, allowing the use of XDP with
           jumbo frame MTUs and combination with Rx coalescing offloads (LRO).
      
         - Speed up netns dismantling (5x) and lower the memory cost a little.
           Remove unnecessary per-netns sockets. Scope some lists to a netns.
           Cut down RCU syncing. Use batch methods. Allow netdev registration
           to complete out of order.
      
         - Support distinguishing timestamp types (ingress vs egress) and
           maintaining them across packet scrubbing points (e.g. redirect).
      
         - Continue the work of annotating packet drop reasons throughout the
           stack.
      
         - Switch netdev error counters from an atomic to dynamically
           allocated per-CPU counters.
      
         - Rework a few preempt_disable(), local_irq_save() and busy waiting
           sections problematic on PREEMPT_RT.
      
         - Extend the ref_tracker to allow catching use-after-free bugs.
      
        BPF
        ---
      
         - Introduce "packing allocator" for BPF JIT images. JITed code is
           marked read only, and used to be allocated at page granularity.
           Custom allocator allows for more efficient memory use, lower iTLB
           pressure and prevents identity mapping huge pages from getting
           split.
      
         - Make use of BTF type annotations (e.g. __user, __percpu) to enforce
           the correct probe read access method, add appropriate helpers.
      
         - Convert the BPF preload to use light skeleton and drop the
           user-mode-driver dependency.
      
         - Allow XDP BPF_PROG_RUN test infra to send real packets, enabling
           its use as a packet generator.
      
         - Allow local storage memory to be allocated with GFP_KERNEL if
           called from a hook allowed to sleep.
      
         - Introduce fprobe (multi kprobe) to speed up mass attachment (arch
           bits to come later).
      
         - Add unstable conntrack lookup helpers for BPF by using the BPF
           kfunc infra.
      
         - Allow cgroup BPF progs to return custom errors to user space.
      
         - Add support for AF_UNIX iterator batching.
      
         - Allow iterator programs to use sleepable helpers.
      
         - Support JIT of add, and, or, xor and xchg atomic ops on arm64.
      
         - Add BTFGen support to bpftool which allows to use CO-RE in kernels
           without BTF info.
      
         - Large number of libbpf API improvements, cleanups and deprecations.
      
        Protocols
        ---------
      
         - Micro-optimize UDPv6 Tx, gaining up to 5% in test on dummy netdev.
      
         - Adjust TSO packet sizes based on min_rtt, allowing very low latency
           links (data centers) to always send full-sized TSO super-frames.
      
         - Make IPv6 flow label changes (AKA hash rethink) more configurable,
           via sysctl and setsockopt. Distinguish between server and client
           behavior.
      
         - VxLAN support to "collect metadata" devices to terminate only
           configured VNIs. This is similar to VLAN filtering in the bridge.
      
         - Support inserting IPv6 IOAM information to a fraction of frames.
      
         - Add protocol attribute to IP addresses to allow identifying where
           given address comes from (kernel-generated, DHCP etc.)
      
         - Support setting socket and IPv6 options via cmsg on ping6 sockets.
      
         - Reject mis-use of ECN bits in IP headers as part of DSCP/TOS.
           Define dscp_t and stop taking ECN bits into account in fib-rules.
      
         - Add support for locked bridge ports (for 802.1X).
      
         - tun: support NAPI for packets received from batched XDP buffs,
           doubling the performance in some scenarios.
      
         - IPv6 extension header handling in Open vSwitch.
      
         - Support IPv6 control message load balancing in bonding, prevent
           neighbor solicitation and advertisement from using the wrong port.
           Support NS/NA monitor selection similar to existing ARP monitor.
      
         - SMC
            - improve performance with TCP_CORK and sendfile()
            - support auto-corking
            - support TCP_NODELAY
      
         - MCTP (Management Component Transport Protocol)
            - add user space tag control interface
            - I2C binding driver (as specified by DMTF DSP0237)
      
         - Multi-BSSID beacon handling in AP mode for WiFi.
      
         - Bluetooth:
            - handle MSFT Monitor Device Event
            - add MGMT Adv Monitor Device Found/Lost events
      
         - Multi-Path TCP:
            - add support for the SO_SNDTIMEO socket option
            - lots of selftest cleanups and improvements
      
         - Increase the max PDU size in CAN ISOTP to 64 kB.
      
        Driver API
        ----------
      
         - Add HW counters for SW netdevs, a mechanism for devices which
           offload packet forwarding to report packet statistics back to
           software interfaces such as tunnels.
      
         - Select the default NIC queue count as a fraction of number of
           physical CPU cores, instead of hard-coding to 8.
      
         - Expose devlink instance locks to drivers. Allow device layer of
           drivers to use that lock directly instead of creating their own
           which always runs into ordering issues in devlink callbacks.
      
         - Add header/data split indication to guide user space enabling of
           TCP zero-copy Rx.
      
         - Allow configuring completion queue event size.
      
         - Refactor page_pool to enable fragmenting after allocation.
      
         - Add allocation and page reuse statistics to page_pool.
      
         - Improve Multiple Spanning Trees support in the bridge to allow
           reuse of topologies across VLANs, saving HW resources in switches.
      
         - DSA (Distributed Switch Architecture):
            - replay and offload of host VLAN entries
            - offload of static and local FDB entries on LAG interfaces
            - FDB isolation and unicast filtering
      
        New hardware / drivers
        ----------------------
      
         - Ethernet:
            - LAN937x T1 PHYs
            - Davicom DM9051 SPI NIC driver
            - Realtek RTL8367S, RTL8367RB-VB switch and MDIO
            - Microchip ksz8563 switches
            - Netronome NFP3800 SmartNICs
            - Fungible SmartNICs
            - MediaTek MT8195 switches
      
         - WiFi:
            - mt76: MediaTek mt7916
            - mt76: MediaTek mt7921u USB adapters
            - brcmfmac: Broadcom BCM43454/6
      
         - Mobile:
            - iosm: Intel M.2 7360 WWAN card
      
        Drivers
        -------
      
         - Convert many drivers to the new phylink API built for split PCS
           designs but also simplifying other cases.
      
         - Intel Ethernet NICs:
            - add TTY for GNSS module for E810T device
            - improve AF_XDP performance
            - GTP-C and GTP-U filter offload
            - QinQ VLAN support
      
         - Mellanox Ethernet NICs (mlx5):
            - support xdp->data_meta
            - multi-buffer XDP
            - offload tc push_eth and pop_eth actions
      
         - Netronome Ethernet NICs (nfp):
            - flow-independent tc action hardware offload (police / meter)
            - AF_XDP
      
         - Other Ethernet NICs:
            - at803x: fiber and SFP support
            - xgmac: mdio: preamble suppression and custom MDC frequencies
            - r8169: enable ASPM L1.2 if system vendor flags it as safe
            - macb/gem: ZynqMP SGMII
            - hns3: add TX push mode
            - dpaa2-eth: software TSO
            - lan743x: multi-queue, mdio, SGMII, PTP
            - axienet: NAPI and GRO support
      
         - Mellanox Ethernet switches (mlxsw):
            - source and dest IP address rewrites
            - RJ45 ports
      
         - Marvell Ethernet switches (prestera):
            - basic routing offload
            - multi-chain TC ACL offload
      
         - NXP embedded Ethernet switches (ocelot & felix):
            - PTP over UDP with the ocelot-8021q DSA tagging protocol
            - basic QoS classification on Felix DSA switch using dcbnl
            - port mirroring for ocelot switches
      
         - Microchip high-speed industrial Ethernet (sparx5):
            - offloading of bridge port flooding flags
            - PTP Hardware Clock
      
         - Other embedded switches:
            - lan966x: PTP Hardward Clock
            - qca8k: mdio read/write operations via crafted Ethernet packets
      
         - Qualcomm 802.11ax WiFi (ath11k):
            - add LDPC FEC type and 802.11ax High Efficiency data in radiotap
            - enable RX PPDU stats in monitor co-exist mode
      
         - Intel WiFi (iwlwifi):
            - UHB TAS enablement via BIOS
            - band disablement via BIOS
            - channel switch offload
            - 32 Rx AMPDU sessions in newer devices
      
         - MediaTek WiFi (mt76):
            - background radar detection
            - thermal management improvements on mt7915
            - SAR support for more mt76 platforms
            - MBSSID and 6 GHz band on mt7915
      
         - RealTek WiFi:
            - rtw89: AP mode
            - rtw89: 160 MHz channels and 6 GHz band
            - rtw89: hardware scan
      
         - Bluetooth:
            - mt7921s: wake on Bluetooth, SCO over I2S, wide-band-speed (WBS)
      
         - Microchip CAN (mcp251xfd):
            - multiple RX-FIFOs and runtime configurable RX/TX rings
            - internal PLL, runtime PM handling simplification
            - improve chip detection and error handling after wakeup"
      
      * tag 'net-next-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2521 commits)
        llc: fix netdevice reference leaks in llc_ui_bind()
        drivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via ethtool
        ice: don't allow to run ice_send_event_to_aux() in atomic ctx
        ice: fix 'scheduling while atomic' on aux critical err interrupt
        net/sched: fix incorrect vlan_push_eth dest field
        net: bridge: mst: Restrict info size queries to bridge ports
        net: marvell: prestera: add missing destroy_workqueue() in prestera_module_init()
        drivers: net: xgene: Fix regression in CRC stripping
        net: geneve: add missing netlink policy and size for IFLA_GENEVE_INNER_PROTO_INHERIT
        net: dsa: fix missing host-filtered multicast addresses
        net/mlx5e: Fix build warning, detected write beyond size of field
        iwlwifi: mvm: Don't fail if PPAG isn't supported
        selftests/bpf: Fix kprobe_multi test.
        Revert "rethook: x86: Add rethook x86 implementation"
        Revert "arm64: rethook: Add arm64 rethook implementation"
        Revert "powerpc: Add rethook support"
        Revert "ARM: rethook: Add rethook arm implementation"
        netdevice: add missing dm_private kdoc
        net: bridge: mst: prevent NULL deref in br_mst_info_size()
        selftests: forwarding: Use same VRF for port and VLAN upper
        ...
      169e7776
    • Linus Torvalds's avatar
      Merge tag 'vfio-v5.18-rc1' of https://github.com/awilliam/linux-vfio · 7403e6d8
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Introduce new device migration uAPI and implement device specific
         mlx5 vfio-pci variant driver supporting new protocol (Jason
         Gunthorpe, Yishai Hadas, Leon Romanovsky)
      
       - New HiSilicon acc vfio-pci variant driver, also supporting migration
         interface (Shameer Kolothum, Longfang Liu)
      
       - D3hot fixes for vfio-pci-core (Abhishek Sahu)
      
       - Document new vfio-pci variant driver acceptance criteria
         (Alex Williamson)
      
       - Fix UML build unresolved ioport_{un}map() functions
         (Alex Williamson)
      
       - Fix MAINTAINERS due to header movement (Lukas Bulwahn)
      
      * tag 'vfio-v5.18-rc1' of https://github.com/awilliam/linux-vfio: (31 commits)
        vfio-pci: Provide reviewers and acceptance criteria for variant drivers
        MAINTAINERS: adjust entry for header movement in hisilicon qm driver
        hisi_acc_vfio_pci: Use its own PCI reset_done error handler
        hisi_acc_vfio_pci: Add support for VFIO live migration
        crypto: hisilicon/qm: Set the VF QM state register
        hisi_acc_vfio_pci: Add helper to retrieve the struct pci_driver
        hisi_acc_vfio_pci: Restrict access to VF dev BAR2 migration region
        hisi_acc_vfio_pci: add new vfio_pci driver for HiSilicon ACC devices
        hisi_acc_qm: Move VF PCI device IDs to common header
        crypto: hisilicon/qm: Move few definitions to common header
        crypto: hisilicon/qm: Move the QM header to include/linux
        vfio/mlx5: Fix to not use 0 as NULL pointer
        PCI/IOV: Fix wrong kernel-doc identifier
        vfio/mlx5: Use its own PCI reset_done error handler
        vfio/pci: Expose vfio_pci_core_aer_err_detected()
        vfio/mlx5: Implement vfio_pci driver for mlx5 devices
        vfio/mlx5: Expose migration commands over mlx5 device
        vfio: Remove migration protocol v1 documentation
        vfio: Extend the device migration protocol with RUNNING_P2P
        vfio: Define device migration protocol v2
        ...
      7403e6d8
    • Linus Torvalds's avatar
      Merge tag 'hyperv-next-signed-20220322' of... · 66711cfe
      Linus Torvalds authored
      Merge tag 'hyperv-next-signed-20220322' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux
      
      Pull hyperv updates from Wei Liu:
       "Minor patches from various people"
      
      * tag 'hyperv-next-signed-20220322' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
        x86/hyperv: Output host build info as normal Windows version number
        hv_balloon: rate-limit "Unhandled message" warning
        drivers: hv: log when enabling crash_kexec_post_notifiers
        hv_utils: Add comment about max VMbus packet size in VSS driver
        Drivers: hv: Compare cpumasks and not their weights in init_vp_index()
        Drivers: hv: Rename 'alloced' to 'allocated'
        Drivers: hv: vmbus: Use struct_size() helper in kmalloc()
      66711cfe
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 1ebdbeb0
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "ARM:
         - Proper emulation of the OSLock feature of the debug architecture
      
         - Scalibility improvements for the MMU lock when dirty logging is on
      
         - New VMID allocator, which will eventually help with SVA in VMs
      
         - Better support for PMUs in heterogenous systems
      
         - PSCI 1.1 support, enabling support for SYSTEM_RESET2
      
         - Implement CONFIG_DEBUG_LIST at EL2
      
         - Make CONFIG_ARM64_ERRATUM_2077057 default y
      
         - Reduce the overhead of VM exit when no interrupt is pending
      
         - Remove traces of 32bit ARM host support from the documentation
      
         - Updated vgic selftests
      
         - Various cleanups, doc updates and spelling fixes
      
        RISC-V:
         - Prevent KVM_COMPAT from being selected
      
         - Optimize __kvm_riscv_switch_to() implementation
      
         - RISC-V SBI v0.3 support
      
        s390:
         - memop selftest
      
         - fix SCK locking
      
         - adapter interruptions virtualization for secure guests
      
         - add Claudio Imbrenda as maintainer
      
         - first step to do proper storage key checking
      
        x86:
         - Continue switching kvm_x86_ops to static_call(); introduce
           static_call_cond() and __static_call_ret0 when applicable.
      
         - Cleanup unused arguments in several functions
      
         - Synthesize AMD 0x80000021 leaf
      
         - Fixes and optimization for Hyper-V sparse-bank hypercalls
      
         - Implement Hyper-V's enlightened MSR bitmap for nested SVM
      
         - Remove MMU auditing
      
         - Eager splitting of page tables (new aka "TDP" MMU only) when dirty
           page tracking is enabled
      
         - Cleanup the implementation of the guest PGD cache
      
         - Preparation for the implementation of Intel IPI virtualization
      
         - Fix some segment descriptor checks in the emulator
      
         - Allow AMD AVIC support on systems with physical APIC ID above 255
      
         - Better API to disable virtualization quirks
      
         - Fixes and optimizations for the zapping of page tables:
      
            - Zap roots in two passes, avoiding RCU read-side critical
              sections that last too long for very large guests backed by 4
              KiB SPTEs.
      
            - Zap invalid and defunct roots asynchronously via
              concurrency-managed work queue.
      
            - Allowing yielding when zapping TDP MMU roots in response to the
              root's last reference being put.
      
            - Batch more TLB flushes with an RCU trick. Whoever frees the
              paging structure now holds RCU as a proxy for all vCPUs running
              in the guest, i.e. to prolongs the grace period on their behalf.
              It then kicks the the vCPUs out of guest mode before doing
              rcu_read_unlock().
      
        Generic:
         - Introduce __vcalloc and use it for very large allocations that need
           memcg accounting"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (246 commits)
        KVM: use kvcalloc for array allocations
        KVM: x86: Introduce KVM_CAP_DISABLE_QUIRKS2
        kvm: x86: Require const tsc for RT
        KVM: x86: synthesize CPUID leaf 0x80000021h if useful
        KVM: x86: add support for CPUID leaf 0x80000021
        KVM: x86: do not use KVM_X86_OP_OPTIONAL_RET0 for get_mt_mask
        Revert "KVM: x86/mmu: Zap only TDP MMU leafs in kvm_zap_gfn_range()"
        kvm: x86/mmu: Flush TLB before zap_gfn_range releases RCU
        KVM: arm64: fix typos in comments
        KVM: arm64: Generalise VM features into a set of flags
        KVM: s390: selftests: Add error memop tests
        KVM: s390: selftests: Add more copy memop tests
        KVM: s390: selftests: Add named stages for memop test
        KVM: s390: selftests: Add macro as abstraction for MEM_OP
        KVM: s390: selftests: Split memop tests
        KVM: s390x: fix SCK locking
        RISC-V: KVM: Implement SBI HSM suspend call
        RISC-V: KVM: Add common kvm_riscv_vcpu_wfi() function
        RISC-V: Add SBI HSM suspend related defines
        RISC-V: KVM: Implement SBI v0.3 SRST extension
        ...
      1ebdbeb0
    • Linus Torvalds's avatar
      Merge tag 'tomoyo-pr-20220322' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1 · efee6c79
      Linus Torvalds authored
      Pull tomoyo update from Tetsuo Handa:
       "Avoid unnecessarily leaking kernel command line arguments"
      
      * tag 'tomoyo-pr-20220322' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1:
        TOMOYO: fix __setup handlers return values
      efee6c79
    • Linus Torvalds's avatar
      Merge tag 'flexible-array-transformations-5.18-rc1' of... · 3ce62cf4
      Linus Torvalds authored
      Merge tag 'flexible-array-transformations-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux
      
      Pull flexible-array transformations from Gustavo Silva:
       "Treewide patch that replaces zero-length arrays with flexible-array
        members.
      
        This has been baking in linux-next for a whole development cycle"
      
      * tag 'flexible-array-transformations-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
        treewide: Replace zero-length arrays with flexible-array members
      3ce62cf4
    • Linus Torvalds's avatar
      Merge tag 'prlimit-tasklist_lock-for-v5.18' of... · cd4699c5
      Linus Torvalds authored
      Merge tag 'prlimit-tasklist_lock-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull tasklist_lock optimizations from Eric Biederman:
       "prlimit and getpriority tasklist_lock optimizations
      
        The tasklist_lock popped up as a scalability bottleneck on some
        testing workloads. The readlocks in do_prlimit and set/getpriority are
        not necessary in all cases.
      
        Based on a cycles profile, it looked like ~87% of the time was spent
        in the kernel, ~42% of which was just trying to get *some* spinlock
        (queued_spin_lock_slowpath, not necessarily the tasklist_lock).
      
        The big offenders (with rough percentages in cycles of the overall
        trace):
         - do_wait 11%
         - setpriority 8% (done previously in commit 7f8ca0ed)
         - kill 8%
         - do_exit 5%
         - clone 3%
         - prlimit64 2%   (this patchset)
         - getrlimit 1%   (this patchset)
      
        I can't easily test this patchset on the original workload for various
        reasons. Instead, I used the microbenchmark below to at least verify
        there was some improvement. This patchset had a 28% speedup (12% from
        baseline to set/getprio, then another 14% for prlimit).
      
        This series used to do the setpriority case, but an almost identical
        change was merged as commit 7f8ca0ed ("kernel/sys.c: only take
        tasklist_lock for get/setpriority(PRIO_PGRP)") so that has been
        dropped from here.
      
        One interesting thing is that my libc's getrlimit() was calling
        prlimit64, so hoisting the read_lock(tasklist_lock) into sys_prlimit64
        had no effect - it essentially optimized the older syscalls only. I
        didn't do that in this patchset, but figured I'd mention it since it
        was an option from the previous patch's discussion"
      
      micobenchmark.c:
      ---------------
      	int main(int argc, char **argv)
      	{
      		pid_t child;
      		struct rlimit rlim[1];
      
      		fork(); fork(); fork(); fork(); fork(); fork();
      
      		for (int i = 0; i < 5000; i++) {
      			child = fork();
      			if (child < 0)
      				exit(1);
      			if (child > 0) {
      				usleep(1000);
      				kill(child, SIGTERM);
      				waitpid(child, NULL, 0);
      			} else {
      				for (;;) {
      					setpriority(PRIO_PROCESS, 0,
      						    getpriority(PRIO_PROCESS, 0));
      					getrlimit(RLIMIT_CPU, rlim);
      				}
      			}
      		}
      
      		return 0;
      	}
      
      Link: https://lore.kernel.org/lkml/20211213220401.1039578-1-brho@google.com/ [v1]
      Link: https://lore.kernel.org/lkml/20220105212828.197013-1-brho@google.com/ [v2]
      Link: https://lore.kernel.org/lkml/20220106172041.522167-1-brho@google.com/ [v3]
      
      * tag 'prlimit-tasklist_lock-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        prlimit: do not grab the tasklist_lock
        prlimit: make do_prlimit() static
      cd4699c5
    • Linus Torvalds's avatar
      Merge tag 'fs.rt.v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · 2e2d4650
      Linus Torvalds authored
      Pull mount attributes PREEMPT_RT update from Christian Brauner:
       "This contains Sebastian's fix to make changing mount
        attributes/getting write access compatible with CONFIG_PREEMPT_RT.
      
        The change only applies when users explicitly opt-in to real-time via
        CONFIG_PREEMPT_RT otherwise things are exactly as before. We've waited
        quite a long time with this to make sure folks could take a good look"
      
      * tag 'fs.rt.v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        fs/namespace: Boost the mount_lock.lock owner instead of spinning on PREEMPT_RT.
      2e2d4650
    • Linus Torvalds's avatar
      Merge tag 'fs.v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · 15f2e3d6
      Linus Torvalds authored
      Pull mount_setattr updates from Christian Brauner:
       "This contains a few more patches to massage the mount_setattr()
        codepaths and one minor fix to reuse a helper we added some time back.
      
        The final two patches do similar cleanups in different ways. One patch
        is mine and the other is Al's who was nice enough to give me a branch
        for it.
      
        Since his came in later and my branch had been sitting in -next for
        quite some time we just put his on top instead of swap them"
      
      * tag 'fs.v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        mount_setattr(): clean the control flow and calling conventions
        fs: clean up mount_setattr control flow
        fs: don't open-code mnt_hold_writers()
        fs: simplify check in mount_setattr_commit()
        fs: add mnt_allow_writers() and simplify mount_setattr_prepare()
      15f2e3d6
    • Linus Torvalds's avatar
      Merge tag 'arm-dt-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · ed464352
      Linus Torvalds authored
      Pull ARM devicetree updates from Arnd Bergmann:
       "After a somewhat quiet 5.17 release, the size of the DT changes is a
        bit larger again. There are nine new SoC that get added, all of them
        related to existing platforms:
      
         - Airoha (formerly Mediatek/EcoNet) EN7523 networking SoC and EVB
      
         - Mediatek mt6582 tablet platform with the Prestigio PMT5008 3G
           tablet
      
         - Microchip Lan966 networking SoC and it evaluation board
      
         - Qualcomm Snapdragon 625/632 midrange phone SoCs, with the LG Nexus
           5X and Fairphone FP3 phones
      
         - Renesas RZ/G2LC and RZ/V2L general-purpose embedded SoCs, along
           with their evaluation boards
      
         - Samsung Exynos 850 phone SoC and reference board
      
         - Samsung Exynos7885 with the Samsung Galaxy A8 (2018) phone
      
         - Tesla FSD (Fully Self-Driving), an automotive SoC loosely derived
           from the Samsung Exynos family.
      
         - TI K3/AM62 SoC and reference board
      
        Support for additional functionality in existing dts files is added
        all over the place: Samsung, Renesas, Mstar, wpcm450, OMAP, AT91,
        Allwinner, i.MX, Tegra, Aspeed, Oxnas, Qualcomm, Mediatek, and
        Broadcom.
      
        Samsung has a rework for its pinctrl schema that is a bit tricky and
        requires driver changes to be included here.
      
        A few more platforms only have smaller cleanups and DT Schema fixes,
        this includes SoCFPGA, ux500, ixp4xx, STi, Xilinx Zynq, LG, and Juno.
      
        The new machines are really too many to list, but I'll do it anyway:
      
        Allwinner:
         - A20-Marsboard development board
      
        Amlogic:
         - Amediatek X96-AIR (Amlogic S905X3)
         - CYX A95XF3-AIR (Amlogic S905X3)
         - Haochuangy H96-Max (Amlogic S905X3)
         - Amlogic AQ222 (Amlogic S4)
         - OSMC Vero 4K+ (Amlogic S905D)
      
        Arm Juno:
         - Separate DT depending on SCMI firmware version
      
        Aspeed:
         - Quanta S6Q BMC (AST2600)
         - ASRock ROMED8HM3 (AST2500)
      
        Broadcom:
         - Raspberry Pi Zero 2 W
      
        Marvell MVEBU/Armada:
         - Ctera C200 V1 NAS (kirkwood)
         - Ctera C200 V2 NAS (armada-370)
      
        Mstar:
         - DongShanPiOne, a low-end embedded board
         - Miyoo Mini handheld game console
      
        NXP i.MX:
         - Numerous i.MX8M Mini based boards in even more variations, but
          none based on other SoCs this time:
          Protonic PRT8MM, emCON-MX8M Mini, Toradex Verdin, and
          Gateworks GW7903
      
        Qualcomm:
         - Google Herobrine R1 Chromebook platform (Snapdragon 7c Gen 3)
         - SHIFT6mq phone (Snapdragon 845)
         - Samsung Galaxy Book2 (Snapdragon 850)
         - Snapdragon 8 Gen 1 Hardware Development Kit
      
        TI OMAP:
         - SanCloud BeagleBone Enhanced WiFi
      
        Rockchip:
         - Pine64 PineNote ereader tablet (rk356x)
         - Bananapi-R2-Pro (rk356x)
      
        STM32:
         - emtrion emSBS-Argon embedded board (stm32mp157c)"
      
      * tag 'arm-dt-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (627 commits)
        arm64: dts: n5x: drop invalid property and fix edac node name
        arm64: dts: fsd: Add the MCT support
        arm64: dts: stingray: Fix spi clock name
        arm64: dts: ns2: Fix spi clock name
        ARM: dts: rockchip: Update regulator name for PX3
        ARM: dts: rockchip: Add #clock-cells value for rk805
        arm64: dts: rockchip: Add #clock-cells value for rk805
        arm64: dts: rockchip: Remove vcc13 and vcc14 for rk808
        arm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly
        ARM: dts: at91: sama7g5: Add NAND support
        ARM: dts: at91: sama7g5: add eic node
        ARM: dts: at91: sama7g5: Remove unused properties in i2c nodes
        ARM: dts: at91: sam9x60ek: modify vdd_1v5 regulator to vdd_1v15
        arm64: dts: lg: align pl330 node name with dtschema
        arm64: dts: lg: add dma-cells to pl330 node
        arm64: dts: juno: align pl330 node name with dtschema
        arm64: dts: broadcom: Fix sata nodename
        arm64: dts: n5x: add sdr edac support
        arm64: dts: agilex/stratix10: add clock-names to USB DWC2 node
        dt-bindings: usb: dwc2: add disable-over-current
        ...
      ed464352
    • Linus Torvalds's avatar
      Merge tag 'arm-drivers-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · b4bc93bd
      Linus Torvalds authored
      Pull ARM driver updates from Arnd Bergmann:
       "There are a few separately maintained driver subsystems that we merge
        through the SoC tree, notable changes are:
      
         - Memory controller updates, mainly for Tegra and Mediatek SoCs, and
           clarifications for the memory controller DT bindings
      
         - SCMI firmware interface updates, in particular a new transport
           based on OPTEE and support for atomic operations.
      
         - Cleanups to the TEE subsystem, refactoring its memory management
      
        For SoC specific drivers without a separate subsystem, changes include
      
         - Smaller updates and fixes for TI, AT91/SAMA5, Qualcomm and NXP
           Layerscape SoCs.
      
         - Driver support for Microchip SAMA5D29, Tesla FSD, Renesas RZ/G2L,
           and Qualcomm SM8450.
      
         - Better power management on Mediatek MT81xx, NXP i.MX8MQ and older
           NVIDIA Tegra chips"
      
      * tag 'arm-drivers-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (154 commits)
        ARM: spear: fix typos in comments
        soc/microchip: fix invalid free in mpfs_sys_controller_delete
        soc: s4: Add support for power domains controller
        dt-bindings: power: add Amlogic s4 power domains bindings
        ARM: at91: add support in soc driver for new SAMA5D29
        soc: mediatek: mmsys: add sw0_rst_offset in mmsys driver data
        dt-bindings: memory: renesas,rpc-if: Document RZ/V2L SoC
        memory: emif: check the pointer temp in get_device_details()
        memory: emif: Add check for setup_interrupts
        dt-bindings: arm: mediatek: mmsys: add support for MT8186
        dt-bindings: mediatek: add compatible for MT8186 pwrap
        soc: mediatek: pwrap: add pwrap driver for MT8186 SoC
        soc: mediatek: mmsys: add mmsys reset control for MT8186
        soc: mediatek: mtk-infracfg: Disable ACP on MT8192
        soc: ti: k3-socinfo: Add AM62x JTAG ID
        soc: mediatek: add MTK mutex support for MT8186
        soc: mediatek: mmsys: add mt8186 mmsys routing table
        soc: mediatek: pm-domains: Add support for mt8186
        dt-bindings: power: Add MT8186 power domains
        soc: mediatek: pm-domains: Add support for mt8195
        ...
      b4bc93bd
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · baaa68a9
      Linus Torvalds authored
      Pull ARM SoC updates from Arnd Bergmann:
       "SoC specific code is generally used for older platforms that don't
        (yet) use device tree to do the same things.
      
         - Support is added for i.MXRT10xx, a Cortex-M7 based microcontroller
           from NXP. At the moment this is still incomplete as other portions
           are merged through different trees.
      
         - Long abandoned support for running NOMMU ARMv4 or ARMv5 platforms
           gets removed, now the Arm NOMMU platforms are limited to the
           Cortex-M family of microcontrollers
      
         - Two old PXA boards get removed, along with corresponding driver
           bits.
      
         - Continued cleanup of the Intel IXP4xx platforms, removing some
           remnants of the old board files.
      
         - Minor Cleanups and fixes for Orion, PXA, MMP, Mstar, Samsung
      
         - CPU idle support for AT91
      
         - A system controller driver for Polarfire"
      
      * tag 'arm-soc-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (29 commits)
        ARM: remove support for NOMMU ARMv4/v5
        ARM: PXA: fix up decompressor code
        soc: microchip: make mpfs_sys_controller_put static
        ARM: pxa: remove Intel Imote2 and Stargate 2 boards
        ARM: mmp: Fix failure to remove sram device
        ARM: mstar: Select ARM_ERRATA_814220
        soc: add microchip polarfire soc system controller
        ARM: at91: Kconfig: select PM_OPP
        ARM: at91: PM: add cpu idle support for sama7g5
        ARM: at91: ddr: fix typo to align with datasheet naming
        ARM: at91: ddr: align macro definitions
        ARM: at91: ddr: remove CONFIG_SOC_SAMA7 dependency
        ARM: ixp4xx: Convert to SPARSE_IRQ and P2V
        ARM: ixp4xx: Drop all common code
        ARM: ixp4xx: Drop custom DMA coherency and bouncing
        ARM: ixp4xx: Remove feature bit accessors
        net: ixp4xx_hss: Check features using syscon
        net: ixp4xx_eth: Drop platform data support
        soc: ixp4xx-npe: Access syscon regs using regmap
        soc: ixp4xx: Add features from regmap helper
        ...
      baaa68a9
    • Linus Torvalds's avatar
      Merge tag 'arm-defconfig-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 8ffa5709
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "Various updates for the 32-bit and 64-bit defconfig files, mostly to
        enable additional hardware drivers for more machines, specifically for
        the Allwinner F1C100, Altera SoCFPGA, Broadcom, Microchip, Qualcomm,
        Airoha, Tegra, Renesas, and i.NX.
      
        The multi_v5_defconfig for older ARMv5 configs gets a rework for Andre
        Przywara to cleans up the multi_v5_defconfig for some cruft that has
        accumulated and drivers that got disabled unintentionally, while
        Anders Roxell makes it more useful for running under Qemu"
      
      * tag 'arm-defconfig-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (41 commits)
        ARM: configs: multi_v5: Enable Allwinner F1C100
        ARM: configs: clean up multi_v5_defconfig
        ARM: configs: multi_v5_defconfig: re-enable DRM_PANEL and FB_xxx
        ARM: configs: multi_v5_defconfig: re-enable CONFIG_V4L_PLATFORM_DRIVERS
        ARM: configs: multi_v5_defconfig: remove deleted platforms
        ARM: defconfig: add SMB347 charger driver for p4note
        arm: multi_v5: enable configs for versatile
        arm64: defconfig: enable Layerscape SFP driver
        ARM: configs: at91: sama7: Unselect CONFIG_DMATEST
        ARM: configs: at91: add eic
        arm64: defconfig: enable the CVP driver
        ARM: multi_v7_defconfig: Add support for Airoha EN7523 SoC
        ARM: multi_v7_defconfig: Enable BCM23550 and BCM53573
        ARM: multi_v7_defconfig: Enable Broadcom STB USB drivers
        ARM: configs: at91: sama7: add config for cpufreq
        ARM: configs: at91: sama7: enable cpu idle
        ARM: configs: at91: sama7: Enable crypto IPs and software algs
        ARM: configs: at91: sama7: Enable UBIFS_FS
        ARM: configs: at91: sama7: Enable NAND / SMC
        arm64: defconfig: tegra: Enable GPCDMA
        ...
      8ffa5709
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 194dfe88
      Linus Torvalds authored
      Pull asm-generic updates from Arnd Bergmann:
       "There are three sets of updates for 5.18 in the asm-generic tree:
      
         - The set_fs()/get_fs() infrastructure gets removed for good.
      
           This was already gone from all major architectures, but now we can
           finally remove it everywhere, which loses some particularly tricky
           and error-prone code. There is a small merge conflict against a
           parisc cleanup, the solution is to use their new version.
      
         - The nds32 architecture ends its tenure in the Linux kernel.
      
           The hardware is still used and the code is in reasonable shape, but
           the mainline port is not actively maintained any more, as all
           remaining users are thought to run vendor kernels that would never
           be updated to a future release.
      
         - A series from Masahiro Yamada cleans up some of the uapi header
           files to pass the compile-time checks"
      
      * tag 'asm-generic-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: (27 commits)
        nds32: Remove the architecture
        uaccess: remove CONFIG_SET_FS
        ia64: remove CONFIG_SET_FS support
        sh: remove CONFIG_SET_FS support
        sparc64: remove CONFIG_SET_FS support
        lib/test_lockup: fix kernel pointer check for separate address spaces
        uaccess: generalize access_ok()
        uaccess: fix type mismatch warnings from access_ok()
        arm64: simplify access_ok()
        m68k: fix access_ok for coldfire
        MIPS: use simpler access_ok()
        MIPS: Handle address errors for accesses above CPU max virtual user address
        uaccess: add generic __{get,put}_kernel_nofault
        nios2: drop access_ok() check from __put_user()
        x86: use more conventional access_ok() definition
        x86: remove __range_not_ok()
        sparc64: add __{get,put}_kernel_nofault()
        nds32: fix access_ok() checks in get/put_user
        uaccess: fix nios2 and microblaze get_user_8()
        sparc64: fix building assembly files
        ...
      194dfe88
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 9c0e6a89
      Linus Torvalds authored
      Pull ARM updates from Russell King:
       "Updates for IRQ stacks and virtually mapped stack support, and ftrace:
      
         - Support for IRQ and vmap'ed stacks
      
           This covers all the work related to implementing IRQ stacks and
           vmap'ed stacks for all 32-bit ARM systems that are currently
           supported by the Linux kernel, including RiscPC and Footbridge. It
           has been submitted for review in four different waves:
      
            - IRQ stacks support for v7 SMP systems [0]
      
            - vmap'ed stacks support for v7 SMP systems[1]
      
            - extending support for both IRQ stacks and vmap'ed stacks for all
              remaining configurations, including v6/v7 SMP multiplatform
              kernels and uniprocessor configurations including v7-M [2]
      
            - fixes and updates in [3]
      
         - ftrace fixes and cleanups
      
           Make all flavors of ftrace available on all builds, regardless of
           ISA choice, unwinder choice or compiler [4]:
      
            - use ADD not POP where possible
      
            - fix a couple of Thumb2 related issues
      
            - enable HAVE_FUNCTION_GRAPH_FP_TEST for robustness
      
            - enable the graph tracer with the EABI unwinder
      
            - avoid clobbering frame pointer registers to make Clang happy
      
         - Fixes for the above"
      
      [0] https://lore.kernel.org/linux-arm-kernel/20211115084732.3704393-1-ardb@kernel.org/
      [1] https://lore.kernel.org/linux-arm-kernel/20211122092816.2865873-1-ardb@kernel.org/
      [2] https://lore.kernel.org/linux-arm-kernel/20211206164659.1495084-1-ardb@kernel.org/
      [3] https://lore.kernel.org/linux-arm-kernel/20220124174744.1054712-1-ardb@kernel.org/
      [4] https://lore.kernel.org/linux-arm-kernel/20220203082204.1176734-1-ardb@kernel.org/
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (62 commits)
        ARM: fix building NOMMU ARMv4/v5 kernels
        ARM: unwind: only permit stack switch when unwinding call_with_stack()
        ARM: Revert "unwind: dump exception stack from calling frame"
        ARM: entry: fix unwinder problems caused by IRQ stacks
        ARM: unwind: set frame.pc correctly for current-thread unwinding
        ARM: 9184/1: return_address: disable again for CONFIG_ARM_UNWIND=y
        ARM: 9183/1: unwind: avoid spurious warnings on bogus code addresses
        Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel"
        ARM: mach-bcm: disable ftrace in SMC invocation routines
        ARM: cacheflush: avoid clobbering the frame pointer
        ARM: kprobes: treat R7 as the frame pointer register in Thumb2 builds
        ARM: ftrace: enable the graph tracer with the EABI unwinder
        ARM: unwind: track location of LR value in stack frame
        ARM: ftrace: enable HAVE_FUNCTION_GRAPH_FP_TEST
        ARM: ftrace: avoid unnecessary literal loads
        ARM: ftrace: avoid redundant loads or clobbering IP
        ARM: ftrace: use trampolines to keep .init.text in branching range
        ARM: ftrace: use ADD not POP to counter PUSH at entry
        ARM: ftrace: ensure that ADR takes the Thumb bit into account
        ARM: make get_current() and __my_cpu_offset() __always_inline
        ...
      9c0e6a89
  3. 23 Mar, 2022 23 commits
    • Linus Torvalds's avatar
      Merge tag 'm68knommu-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · e6aef349
      Linus Torvalds authored
      Pull m68knommu updates from Greg Ungerer:
       "A few fixes, nothing too exciting.
      
        Fix warnings when building for dragen2 targets (sparse and
        "screen_bits") and ucsimm targets. Fix compilation problems when test
        compiling for ColdFire targets with the mcf_edma driver enabled.
        Remove an incorrect clock definition for the ColdFire m5441x.
      
        Summary:
      
         - fix 'screen_bits' defined but not used
      
         - fix ucsimm sparse warnings
      
         - fix dragen2 warnings
      
         - fix test builds with the mcf_edma driver enabled"
      
      * tag 'm68knommu-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: coldfire/device.c: only build for MCF_EDMA when h/w macros are defined
        m68k: m5441x: remove erroneous clock disable
        m68knommu: fix ucsimm sparse warnings
        m68knommu: fix 'screen_bits' defined but not used
        m68knommu: fix warning: no previous prototype for 'init_dragen2'
      e6aef349
    • Linus Torvalds's avatar
      Merge tag 'sound-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 40037e4f
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "It's been a fairly calm development cycle. There are a few last-minute
        ALSA core fixes, most notably for covering PCM ioctl races, but the
        most of rest are device-specific changes.
      
        Below are some highlights:
      
        ALSA core:
      
         - Fixes for PCM ioctl races that may lead to UAF
      
         - Fix for oversized allocations in PCM OSS layer
      
        ASoC:
      
         - Start of moving SoF to support multiple IPC mechanisms
      
         - Use of NHLT ACPI table to reduce the amount of quirking required
           for Intel systems
      
         - Preliminary works forthcoming Intel AVS driver for legacy Intel DSP
           firmwares
      
         - Support for AMD PDM, Atmel PDMC, Awinic AW8738, i.MX cards with
           TLV320AIC31xx, Intel machines with CS35L41 and ESSX8336, Mediatek
           MT8181 wideband bluetooth, nVidia Tegra234, Qualcomm SC7280,
           Renesas RZ/V2L, Texas Instruments TAS585M
      
        HD-audio:
      
         - Driver re-binding fix for HD-audio
      
         - Updates for Intel ADL and Tegra234, various platform quirks for
           Dell, HP, Lenovo, ASUS, Samsung and Clevo machines
      
        USB-audio:
      
         - Quirk updates for Scarlett2, RODE, Corsair devices"
      
      * tag 'sound-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (486 commits)
        ALSA: hda/realtek: Add alc256-samsung-headphone fixup
        ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec
        ALSA: pcm: Add stream lock during PCM reset ioctl operations
        ALSA: pcm: Fix races among concurrent prealloc proc writes
        ALSA: pcm: Fix races among concurrent prepare and hw_params/hw_free calls
        ALSA: pcm: Fix races among concurrent read/write and buffer changes
        ALSA: pcm: Fix races among concurrent hw_params and hw_free calls
        ASoC: atmel: mchp-pdmc: print the correct property name
        MAINTAINERS: Add Shengjiu to maintainer list of sound/soc/fsl
        ASoC: SOF: Add a new dai_get_clk topology IPC op
        ASoC: SOF: topology: Add ops for setting up and tearing down pipelines
        ASoC: SOF: expose sof_route_setup()
        ASoC: SOF: Add dai_link_fixup PCM op for IPC3
        ASoC: SOF: Add trigger PCM op for IPC3
        ASoC: SOF: Define hw_params PCM op for IPC3
        ASoC: SOF: Introduce IPC3 PCM hw_free op
        ASoC: SOF: pcm: expose the sof_pcm_setup_connected_widgets() function
        ASoC: SOF: Introduce IPC-specific PCM ops
        ASoC: SOF: Add bytes_ext control IPC ops for IPC3
        ASoC: SOF: Add bytes_get/put control IPC ops for IPC3
        ...
      40037e4f
    • Linus Torvalds's avatar
      Merge tag 'media/v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 182966e1
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - a major reorg at platform Kconfig/Makefile files, organizing them per
         vendor. The other media Kconfig/Makefile files also sorted
      
       - New sensor drivers: hi847, isl7998x, ov08d10
      
       - New Amphion vpu decoder stateful driver
      
       - New Atmel microchip csi2dc driver
      
       - tegra-vde driver promoted from staging
      
       - atomisp: some fixes for it to work on BYT
      
       - imx7-mipi-csis driver promoted from staging and renamed
      
       - camss driver got initial support for VFE hardware version Titan 480
      
       - mtk-vcodec has gained support for MT8192
      
       - lots of driver changes, fixes and improvements
      
      * tag 'media/v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (417 commits)
        media: nxp: Restrict VIDEO_IMX_MIPI_CSIS to ARCH_MXC or COMPILE_TEST
        media: amphion: cleanup media device if register it fail
        media: amphion: fix some issues to improve robust
        media: amphion: fix some error related with undefined reference to __divdi3
        media: amphion: fix an issue that using pm_runtime_get_sync incorrectly
        media: vidtv: use vfree() for memory allocated with vzalloc()
        media: m5mols/m5mols.h: document new reset field
        media: pixfmt-yuv-planar.rst: fix PIX_FMT labels
        media: platform: Remove unnecessary print function dev_err()
        media: amphion: Add missing of_node_put() in vpu_core_parse_dt()
        media: mtk-vcodec: Add missing of_node_put() in mtk_vdec_hw_prob_done()
        media: platform: amphion: Fix build error without MAILBOX
        media: spi: Kconfig: Place SPI drivers on a single menu
        media: i2c: Kconfig: move camera drivers to the top
        media: atomisp: fix bad usage at error handling logic
        media: platform: rename mediatek/mtk-jpeg/ to mediatek/jpeg/
        media: media/*/Kconfig: sort entries
        media: Kconfig: cleanup VIDEO_DEV dependencies
        media: platform/*/Kconfig: make manufacturer menus more uniform
        media: platform: Create vendor/{Makefile,Kconfig} files
        ...
      182966e1
    • Linus Torvalds's avatar
      Merge tag 'for-5.18/fbdev-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 9c4b86eb
      Linus Torvalds authored
      Pull fbdev updates from Helge Deller:
       "Lots of small fixes and code cleanups across most of the fbdev
        drivers.
      
        This includes conversions to use helper functions, const conversions,
        spelling fixes, help text updates, adding return value checks, small
        build fixes, and much more"
      
      * tag 'for-5.18/fbdev-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (59 commits)
        video: fbdev: kyro: make read-only array ODValues static const
        video: fbdev: offb: fix warning comparing pointer to 0
        video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of
        video: fbdev: sm712fb: Fix crash in smtcfb_write()
        video: fbdev: s3c-fb: fix platform_get_irq.cocci warning
        video: fbdev: sm712fb: Fix crash in smtcfb_read()
        video: fbdev: via: check the return value of kstrdup()
        video: fbdev: au1100fb: Spelling s/palette/palette/
        video: fbdev: atari: Atari 2 bpp (STe) palette bugfix
        video: fbdev: atari: Remove unused atafb_setcolreg()
        video: fbdev: atari: Convert to standard round_up() helper
        video: fbdev: atari: Fix TT High video mode
        video: fbdev: udlfb: replace snprintf in show functions with sysfs_emit
        video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf()
        video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf()
        video: fbdev: omapfb: Use sysfs_emit() instead of snprintf()
        video: fbdev: s3c-fb: Use platform_get_irq() to get the interrupt
        video: fbdev: Fix wrong file path for pvr2fb.c in Kconfig help text
        video: fbdev: pxa3xx-gcu: Remove unnecessary print function dev_err()
        video: fbdev: pxa168fb: Remove unnecessary print function dev_err()
        ...
      9c4b86eb
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 5bebe2c9
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Convert to sysfs_emit() in favor of sprintf()
      
         - Improve fallback to speed modes if eMMC HS200 fails
      
        MMC host:
         - dw_mmc: Allow variants to set minimal supported clock rate
      
         - dw-mmc-rockchip: Fix problems with invalid clock rates
      
         - litex_mmc: Add new DT based driver for the LiteX's LiteSDCard
           interface
      
         - litex_mmc: Add Gabriel Somlo and Joel Stanley as co-maintainers for
           LiteX
      
         - mtk-sd: Add support for the Mediatek MT8186 variant
      
         - renesas_sdhi: Add support for RZ/G2UL variant
      
         - renesas_sdhi: Add support for RZ/V2L variant
      
         - rtsx_pci: Adjust power-on sequence to conform to the SD spec
      
         - sdhci-am654: Add support for TI's AM62 variant
      
         - sdhci_am654: Fixup support for TI's AM64 variant
      
         - sdhci-esdhc-imx: Add support for the imx93 variant
      
         - sdhci-msm: Add support for the msm8953 variant
      
         - sdhci-pci-gli: Add support for runtime PM for the GL9763E variant
      
         - sdhci-pci-gli: Adjustments of the SSC function for the GL975x
           variants
      
         - sdhci-tegra: Add support for wake on SD card event
      
         - sunxi-mmc: Add support for Allwinner's F1c100s variant
      
         - sunxi-mmc: Add support for D1 MMC variant"
      
      * tag 'mmc-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (37 commits)
        dt-bindings: mmc: renesas,sdhi: Document RZ/G2UL SoC
        mmc: tmio: remove outdated members from host struct
        mmc: mtk-sd: Silence delay phase calculation debug log
        mmc: davinci_mmc: Handle error for clk_enable
        mmc: sdhci-pci-gli: Add runtime PM for GL9763E
        mmc: core: Drop HS400 caps unless 8-bit bus is supported too
        mmc: host: Return an error when ->enable_sdio_irq() ops is missing
        mmc: core: Improve fallback to speed modes if eMMC HS200 fails
        dt-bindings: mmc: sunxi: add Allwinner F1c100s compatible
        mmc: dw-mmc-rockchip: Fix handling invalid clock rates
        mmc: dw_mmc: Support setting f_min from host drivers
        mmc: host: Drop commas after SoC match table sentinels
        mmc: rtsx: add 74 Clocks in power on flow
        dt-bindings: mmc: renesas,sdhi: Document RZ/V2L SoC
        mmc: sh_mmcif: Simplify division/shift logic
        mmc: sdhci_am654: Add Support for TI's AM62 SoC
        dt-bindings: mmc: imx-esdhc: Add imx93 compatible string
        dt-bindings: mmc: sdhci-am654: Add compatible string for AM62 SoC
        mmc: sdhci_am654: Fix the driver data of AM64 SoC
        mmc: core: use sysfs_emit() instead of sprintf()
        ...
      5bebe2c9
    • Linus Torvalds's avatar
      Merge tag 'ata-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · c7d4b153
      Linus Torvalds authored
      Pull ata updates from Damien Le Moal:
       "For this cycle, no big change but many small fixes and code cleanup to
        libata, the ahci driver and various pata drivers. In more details:
      
         - Code simplification in pata_platform using
           platform_get_mem_or_io(), from Lad.
      
         - Fix read-only arrays declarations as const in pata_atiixp and
           pata_pdc202xx_old, from Colin.
      
         - Various cleanups and code simplification in libata-scsi, from me.
      
         - Remove dead code in libata-acpi, from Sergey.
      
         - Skip device scan deboune delay for Marvell 88SE9235 adapters (ahci)
           to speedup boot, from Paul.
      
         - Simplify functions declaration and use for functions always
           returning 0 in libata-core, from Sergey.
      
         - Non-fatal error fixes and in the pata_hpt366 and pata_hpt3x2n
           drivers, from Sergey.
      
         - Various code cleanup in the pata_artop, pata_hpt37x, pata_hpt366,
           pata_hpt3x2n, pata_samsung_cf and sata_rcar drivers, from Sergey.
      
         - Some libata-sff and libata-scsi code cleanup (e.g. change functions
           to return "bool"), from Sergey.
      
         - Renae ahci_board_mobile to board_ahci_low_power to be more
           descriptive of the feature as that is also used on PC and server
           AHCI adapters, from Mario.
      
         - Cleanup of OF match tables, from Geert.
      
         - Simplify the pata_pxa driver initialization using
           platform_get_irq(), from Minghao"
      
      * tag 'ata-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (38 commits)
        ata: pata_pxa: Use platform_get_irq() to get the interrupt
        ata: Drop commas after OF match table sentinels
        ata: ahci: Rename CONFIG_SATA_LPM_MOBILE_POLICY configuration item
        ata: ahci: Rename `AHCI_HFLAG_IS_MOBILE`
        ata: ahci: Rename board_ahci_mobile
        ata: pata_hpt37x: merge transfer mode setting methods
        ata: libata-sff: use *switch* statement in ata_sff_dev_classify()
        ata: add/use ata_taskfile::{error|status} fields
        ata: Kconfig: fix sata gemini compile test condition
        ata: libata-scsi: use *switch* statements to check SCSI command codes
        ata: libata-sff: refactor ata_sff_altstatus()
        ata: libata-sff: refactor ata_sff_set_devctl()
        ata: libata-sff: make ata_resources_present() return 'bool'
        ata: pata_hpt3x2n: disable fast interrupts in prereset() method
        ata: pata_hpt37x: disable fast interrupts in prereset() method
        ata: pata_hpt366: disable fast interrupts in prereset() method
        ata: pata_mpc52xx: use GFP_KERNEL
        ata: sata_rcar: drop unused #define's
        ata: pata_hpt366: check channel enable bits
        ata: sata_rcar: make sata_rcar_ata_devchk() return 'bool'
        ...
      c7d4b153
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-kunit-5.18-rc1' of... · d51b1b33
      Linus Torvalds authored
      Merge tag 'linux-kselftest-kunit-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull KUnit updates from Shuah Khan:
      
       - changes to decrease macro layering string, integer, EQ/NE asserts
      
       - remove unused macros
      
       - several cleanups and fixes
      
       - new list tests for list_del_init_careful(), list_is_head() and
         list_entry_is_head()
      
      * tag 'linux-kselftest-kunit-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        list: test: Add a test for list_entry_is_head()
        list: test: Add a test for list_is_head()
        list: test: Add test for list_del_init_careful()
        kunit: cleanup assertion macro internal variables
        kunit: factor out str constants from binary assertion structs
        kunit: consolidate KUNIT_INIT_BINARY_ASSERT_STRUCT macros
        kunit: remove va_format from kunit_assert
        kunit: tool: drop mostly unused KunitResult.result field
        kunit: decrease macro layering for EQ/NE asserts
        kunit: decrease macro layering for integer asserts
        kunit: reduce layering in string assertion macros
        kunit: drop unused intermediate macros for ptr inequality checks
        kunit: make KUNIT_EXPECT_EQ() use KUNIT_EXPECT_EQ_MSG(), etc.
        kunit: drop unused assert_type from kunit_assert and clean up macros
        kunit: split out part of kunit_assert into a static const
        kunit: factor out kunit_base_assert_format() call into kunit_fail()
        kunit: drop unused kunit* field in kunit_assert
        kunit: move check if assertion passed into the macros
        kunit: add example test case showing off all the expect macros
      d51b1b33
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-next-5.18-rc1' of... · 23d1dea5
      Linus Torvalds authored
      Merge tag 'linux-kselftest-next-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest updates from Shuah Khan:
       "Several build and cleanup fixes:
      
         - removing obsolete config options
      
         - removing dependency on internal kernel macros
      
         - adding config options
      
         - several build fixes related to headers and install paths"
      
      * tag 'linux-kselftest-next-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (22 commits)
        selftests: Fix build when $(O) points to a relative path
        selftests: netfilter: fix a build error on openSUSE
        selftests: kvm: add generated file to the .gitignore
        selftests/exec: add generated files to .gitignore
        selftests: add kselftest_install to .gitignore
        selftests/rtc: continuously read RTC in a loop for 30s
        selftests/lkdtm: Add UBSAN config
        selftests/lkdtm: Remove dead config option
        selftests/exec: Rename file binfmt_script to binfmt_script.py
        selftests: Use -isystem instead of -I to include headers
        selftests: vm: remove dependecy from internal kernel macros
        selftests: vm: Add the uapi headers include variable
        selftests: mptcp: Add the uapi headers include variable
        selftests: net: Add the uapi headers include variable
        selftests: landlock: Add the uapi headers include variable
        selftests: kvm: Add the uapi headers include variable
        selftests: futex: Add the uapi headers include variable
        selftests: Correct the headers install path
        selftests: Add and export a kernel uapi headers path
        selftests: set the BUILD variable to absolute path
        ...
      23d1dea5
    • Linus Torvalds's avatar
      Merge branch 'for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 2fce7ea0
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
       "All trivial cleanups without meaningful behavior changes"
      
      * 'for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: cleanup comments
        cgroup: Fix cgroup_can_fork() and cgroup_post_fork() kernel-doc comment
        cgroup: rstat: retrieve current bstat to delta directly
        cgroup: rstat: use same convention to assign cgroup_base_stat
      2fce7ea0
    • Linus Torvalds's avatar
      Merge branch 'for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 78383162
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "Nothing major. Just follow-up cleanups from Lai after the earlier
        synchronization simplification"
      
      * 'for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Convert the type of pool->nr_running to int
        workqueue: Use wake_up_worker() in wq_worker_sleeping() instead of open code
        workqueue: Change the comments of the synchronization about the idle_list
        workqueue: Remove the mb() pair between wq_worker_sleeping() and insert_work()
      78383162
    • Linus Torvalds's avatar
      Merge tag 'slab-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · c5c009e2
      Linus Torvalds authored
      Pull slab updates from Vlastimil Babka:
      
       - A few non-trivial SLUB code cleanups, most notably a refactoring of
         deactivate_slab().
      
       - A bunch of trivial changes, such as removal of unused parameters,
         making stuff static, and employing helper functions.
      
      * tag 'slab-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
        mm: slub: Delete useless parameter of alloc_slab_page()
        mm: slab: Delete unused SLAB_DEACTIVATED flag
        mm/slub: remove forced_order parameter in calculate_sizes
        mm/slub: refactor deactivate_slab()
        mm/slub: limit number of node partial slabs only in cache creation
        mm/slub: use helper macro __ATTR_XX_MODE for SLAB_ATTR(_RO)
        mm/slab_common: use helper function is_power_of_2()
        mm/slob: make kmem_cache_boot static
      c5c009e2
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 1bc19105
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
      
       - New user_events interface. User space can register an event with the
         kernel describing the format of the event. Then it will receive a
         byte in a page mapping that it can check against. A privileged task
         can then enable that event like any other event, which will change
         the mapped byte to true, telling the user space application to start
         writing the event to the tracing buffer.
      
       - Add new "ftrace_boot_snapshot" kernel command line parameter. When
         set, the tracing buffer will be saved in the snapshot buffer at boot
         up when the kernel hands things over to user space. This will keep
         the traces that happened at boot up available even if user space boot
         up has tracing as well.
      
       - Have TRACE_EVENT_ENUM() also update trace event field type
         descriptions. Thus if a static array defines its size with an enum,
         the user space trace event parsers can still know how to parse that
         array.
      
       - Add new TRACE_CUSTOM_EVENT() macro. This acts the same as the
         TRACE_EVENT() macro, but will attach to an existing tracepoint. This
         will make one tracepoint be able to trace different content and not
         be stuck at only what the original TRACE_EVENT() macro exports.
      
       - Fixes to tracing error logging.
      
       - Better saving of cmdlines to PIDs when tracing (use the wakeup events
         for mapping).
      
      * tag 'trace-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (30 commits)
        tracing: Have type enum modifications copy the strings
        user_events: Add trace event call as root for low permission cases
        tracing/user_events: Use alloc_pages instead of kzalloc() for register pages
        tracing: Add snapshot at end of kernel boot up
        tracing: Have TRACE_DEFINE_ENUM affect trace event types as well
        tracing: Fix strncpy warning in trace_events_synth.c
        user_events: Prevent dyn_event delete racing with ioctl add/delete
        tracing: Add TRACE_CUSTOM_EVENT() macro
        tracing: Move the defines to create TRACE_EVENTS into their own files
        tracing: Add sample code for custom trace events
        tracing: Allow custom events to be added to the tracefs directory
        tracing: Fix last_cmd_set() string management in histogram code
        user_events: Fix potential uninitialized pointer while parsing field
        tracing: Fix allocation of last_cmd in last_cmd_set()
        user_events: Add documentation file
        user_events: Add sample code for typical usage
        user_events: Add self-test for validator boundaries
        user_events: Add self-test for perf_event integration
        user_events: Add self-test for dynamic_events integration
        user_events: Add self-test for ftrace integration
        ...
      1bc19105
    • Linus Torvalds's avatar
      Merge tag 'trace-rtla-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 20f463fb
      Linus Torvalds authored
      Pull RTLA tracing tool updates from Steven Rostedt:
       "Real Time Analysis Tool updatesfor 5.18:
      
         - Support for adjusting tracing_threashold
      
         - Add -a (auto) option to make it easier for users to debug in the field
      
         - Add -e option to add more events to the trace
      
         - Add --trigger option to add triggers to events
      
         - Add --filter option to filter events
      
         - Add support to save histograms to the file
      
         - Add --dma-latency to set /dev/cpu_dma_latency
      
         - Other fixes and cleanups"
      
      * tag 'trace-rtla-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        rtla: Tools main loop cleanup
        rtla/timerlat: Add --dma-latency option
        rtla/osnoise: Fix osnoise hist stop tracing message
        rtla: Check for trace off also in the trace instance
        rtla/trace: Save event histogram output to a file
        rtla: Add --filter support
        rtla/trace: Add trace event filter helpers
        rtla: Add --trigger support
        rtla/trace: Add trace event trigger helpers
        rtla: Add -e/--event support
        rtla/trace: Add trace events helpers
        rtla/timerlat: Add the automatic trace option
        rtla/osnoise: Add the automatic trace option
        rtla/osnoise: Add an option to set the threshold
        rtla/osnoise: Add support to adjust the tracing_thresh
      20f463fb
    • Linus Torvalds's avatar
      Merge tag 'printk-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · 3ef4ea3d
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Make %pK behave the same as %p for kptr_restrict == 0 also with
         no_hash_pointers parameter
      
       - Ignore the default console in the device tree also when console=null
         or console="" is used on the command line
      
       - Document console=null and console="" behavior
      
       - Prevent a deadlock and a livelock caused by console_lock in panic()
      
       - Make console_lock available for panicking CPU
      
       - Fast query for the next to-be-used sequence number
      
       - Use the expected return values in printk.devkmsg __setup handler
      
       - Use the correct atomic operations in wake_up_klogd() irq_work handler
      
       - Avoid possible unaligned access when handling %4cc printing format
      
      * tag 'printk-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
        printk: fix return value of printk.devkmsg __setup handler
        vsprintf: Fix %pK with kptr_restrict == 0
        printk: make suppress_panic_printk static
        printk: Set console_set_on_cmdline=1 when __add_preferred_console() is called with user_specified == true
        Docs: printk: add 'console=null|""' to admin/kernel-parameters
        printk: use atomic updates for klogd work
        printk: Drop console_sem during panic
        printk: Avoid livelock with heavy printk during panic
        printk: disable optimistic spin during panic
        printk: Add panic_in_progress helper
        vsprintf: Move space out of string literals in fourcc_string()
        vsprintf: Fix potential unaligned access
        printk: ringbuffer: Improve prb_next_seq() performance
      3ef4ea3d
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 89695196
      Jakub Kicinski authored
      Merge in overtime fixes, no conflicts.
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      89695196
    • Eric Dumazet's avatar
      llc: fix netdevice reference leaks in llc_ui_bind() · 764f4eb6
      Eric Dumazet authored
      Whenever llc_ui_bind() and/or llc_ui_autobind()
      took a reference on a netdevice but subsequently fail,
      they must properly release their reference
      or risk the infamous message from unregister_netdevice()
      at device dismantle.
      
      unregister_netdevice: waiting for eth0 to become free. Usage count = 3
      
      Fixes: 1da177e4 ("Linux-2.6.12-rc2")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatar赵子轩 <beraphin@gmail.com>
      Reported-by: default avatarStoyan Manolov <smanolov@suse.de>
      Link: https://lore.kernel.org/r/20220323004147.1990845-1-eric.dumazet@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      764f4eb6
    • Sondhauß, Jan's avatar
      drivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via ethtool · 2844e243
      Sondhauß, Jan authored
      cpsw_ethtool_begin directly returns the result of pm_runtime_get_sync
      when successful.
      pm_runtime_get_sync returns -error code on failure and 0 on successful
      resume but also 1 when the device is already active. So the common case
      for cpsw_ethtool_begin is to return 1. That leads to inconsistent calls
      to pm_runtime_put in the call-chain so that pm_runtime_put is called
      one too many times and as result leaving the cpsw dev behind suspended.
      
      The suspended cpsw dev leads to an access violation later on by
      different parts of the cpsw driver.
      
      Fix this by calling the return-friendly pm_runtime_resume_and_get
      function.
      
      Fixes: d43c65b0 ("ethtool: runtime-resume netdev parent in ethnl_ops_begin")
      Signed-off-by: default avatarJan Sondhauss <jan.sondhauss@wago.com>
      Reviewed-by: default avatarVignesh Raghavendra <vigneshr@ti.com>
      Link: https://lore.kernel.org/r/20220323084725.65864-1-jan.sondhauss@wago.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2844e243
    • Jakub Kicinski's avatar
      Merge branch 'ice-avoid-sleeping-scheduling-in-atomic-contexts' · f92fcb5c
      Jakub Kicinski authored
      Alexander Lobakin says:
      
      ====================
      ice: avoid sleeping/scheduling in atomic contexts
      
      The `ice_misc_intr() + ice_send_event_to_aux()` infamous pair failed
      once again.
      Fix yet another (hopefully last one) 'scheduling while atomic' splat
      and finally plug the hole to gracefully return prematurely when
      invoked in wrong context instead of panicking.
      ====================
      
      Link: https://lore.kernel.org/r/20220323124353.2762181-1-alexandr.lobakin@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f92fcb5c
    • Alexander Lobakin's avatar
      ice: don't allow to run ice_send_event_to_aux() in atomic ctx · 5a315693
      Alexander Lobakin authored
      ice_send_event_to_aux() eventually descends to mutex_lock()
      (-> might_sched()), so it must not be called under non-task
      context. However, at least two fixes have happened already for the
      bug splats occurred due to this function being called from atomic
      context.
      To make the emergency landings softer, bail out early when executed
      in non-task context emitting a warn splat only once. This way we
      trade some events being potentially lost for system stability and
      avoid any related hangs and crashes.
      
      Fixes: 348048e7 ("ice: Implement iidc operations")
      Signed-off-by: default avatarAlexander Lobakin <alexandr.lobakin@intel.com>
      Tested-by: default avatarMichal Kubiak <michal.kubiak@intel.com>
      Reviewed-by: default avatarMaciej Fijalkowski <maciej.fijalkowski@intel.com>
      Acked-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5a315693
    • Alexander Lobakin's avatar
      ice: fix 'scheduling while atomic' on aux critical err interrupt · 32d53c0a
      Alexander Lobakin authored
      There's a kernel BUG splat on processing aux critical error
      interrupts in ice_misc_intr():
      
      [ 2100.917085] BUG: scheduling while atomic: swapper/15/0/0x00010000
      ...
      [ 2101.060770] Call Trace:
      [ 2101.063229]  <IRQ>
      [ 2101.065252]  dump_stack+0x41/0x60
      [ 2101.068587]  __schedule_bug.cold.100+0x4c/0x58
      [ 2101.073060]  __schedule+0x6a4/0x830
      [ 2101.076570]  schedule+0x35/0xa0
      [ 2101.079727]  schedule_preempt_disabled+0xa/0x10
      [ 2101.084284]  __mutex_lock.isra.7+0x310/0x420
      [ 2101.088580]  ? ice_misc_intr+0x201/0x2e0 [ice]
      [ 2101.093078]  ice_send_event_to_aux+0x25/0x70 [ice]
      [ 2101.097921]  ice_misc_intr+0x220/0x2e0 [ice]
      [ 2101.102232]  __handle_irq_event_percpu+0x40/0x180
      [ 2101.106965]  handle_irq_event_percpu+0x30/0x80
      [ 2101.111434]  handle_irq_event+0x36/0x53
      [ 2101.115292]  handle_edge_irq+0x82/0x190
      [ 2101.119148]  handle_irq+0x1c/0x30
      [ 2101.122480]  do_IRQ+0x49/0xd0
      [ 2101.125465]  common_interrupt+0xf/0xf
      [ 2101.129146]  </IRQ>
      ...
      
      As Andrew correctly mentioned previously[0], the following call
      ladder happens:
      
      ice_misc_intr() <- hardirq
        ice_send_event_to_aux()
          device_lock()
            mutex_lock()
              might_sleep()
                might_resched() <- oops
      
      Add a new PF state bit which indicates that an aux critical error
      occurred and serve it in ice_service_task() in process context.
      The new ice_pf::oicr_err_reg is read-write in both hardirq and
      process contexts, but only 3 bits of non-critical data probably
      aren't worth explicit synchronizing (and they're even in the same
      byte [31:24]).
      
      [0] https://lore.kernel.org/all/YeSRUVmrdmlUXHDn@lunn.ch
      
      Fixes: 348048e7 ("ice: Implement iidc operations")
      Signed-off-by: default avatarAlexander Lobakin <alexandr.lobakin@intel.com>
      Tested-by: default avatarMichal Kubiak <michal.kubiak@intel.com>
      Acked-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      32d53c0a
    • Louis Peens's avatar
      net/sched: fix incorrect vlan_push_eth dest field · 054d5575
      Louis Peens authored
      Seems like a potential copy-paste bug slipped in here,
      the second memcpy should of course be populating src
      and not dest.
      
      Fixes: ab95465c ("net/sched: add vlan push_eth and pop_eth action to the hardware IR")
      Signed-off-by: default avatarLouis Peens <louis.peens@corigine.com>
      Link: https://lore.kernel.org/r/20220323092506.21639-1-louis.peens@corigine.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      054d5575
    • Tobias Waldekranz's avatar
      net: bridge: mst: Restrict info size queries to bridge ports · a911ad18
      Tobias Waldekranz authored
      Ensure that no bridge masters are ever considered for MST info
      dumping. MST states are only supported on bridge ports, not bridge
      masters - which br_mst_info_size relies on.
      
      Fixes: 122c2948 ("net: bridge: mst: Support setting and reporting MST port states")
      Signed-off-by: default avatarTobias Waldekranz <tobias@waldekranz.com>
      Link: https://lore.kernel.org/r/20220322133001.16181-1-tobias@waldekranz.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a911ad18
    • Yang Yingliang's avatar
      net: marvell: prestera: add missing destroy_workqueue() in prestera_module_init() · 4a6806cf
      Yang Yingliang authored
      Add the missing destroy_workqueue() before return from
      prestera_module_init() in the error handling case.
      
      Fixes: 4394fbcb ("net: marvell: prestera: handle fib notifications")
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      Link: https://lore.kernel.org/r/20220322090236.1439649-1-yangyingliang@huawei.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      4a6806cf