1. 10 May, 2023 3 commits
  2. 09 May, 2023 1 commit
  3. 06 May, 2023 3 commits
    • Linus Torvalds's avatar
      Merge tag 'net-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · ed23734c
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from netfilter.
      
        Current release - regressions:
      
         - sched: act_pedit: free pedit keys on bail from offset check
      
        Current release - new code bugs:
      
         - pds_core:
            - Kconfig fixes (DEBUGFS and AUXILIARY_BUS)
            - fix mutex double unlock in error path
      
        Previous releases - regressions:
      
         - sched: cls_api: remove block_cb from driver_list before freeing
      
         - nf_tables: fix ct untracked match breakage
      
         - eth: mtk_eth_soc: drop generic vlan rx offload
      
         - sched: flower: fix error handler on replace
      
        Previous releases - always broken:
      
         - tcp: fix skb_copy_ubufs() vs BIG TCP
      
         - ipv6: fix skb hash for some RST packets
      
         - af_packet: don't send zero-byte data in packet_sendmsg_spkt()
      
         - rxrpc: timeout handling fixes after moving client call connection
           to the I/O thread
      
         - ixgbe: fix panic during XDP_TX with > 64 CPUs
      
         - igc: RMW the SRRCTL register to prevent losing timestamp config
      
         - dsa: mt7530: fix corrupt frames using TRGMII on 40 MHz XTAL MT7621
      
         - r8152:
            - fix flow control issue of RTL8156A
            - fix the poor throughput for 2.5G devices
            - move setting r8153b_rx_agg_chg_indicate() to fix coalescing
            - enable autosuspend
      
         - ncsi: clear Tx enable mode when handling a Config required AEN
      
         - octeontx2-pf: macsec: fixes for CN10KB ASIC rev
      
        Misc:
      
         - 9p: remove INET dependency"
      
      * tag 'net-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (69 commits)
        net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop()
        pds_core: fix mutex double unlock in error path
        net/sched: flower: fix error handler on replace
        Revert "net/sched: flower: Fix wrong handle assignment during filter change"
        net/sched: flower: fix filter idr initialization
        net: fec: correct the counting of XDP sent frames
        bonding: add xdp_features support
        net: enetc: check the index of the SFI rather than the handle
        sfc: Add back mailing list
        virtio_net: suppress cpu stall when free_unused_bufs
        ice: block LAN in case of VF to VF offload
        net: dsa: mt7530: fix network connectivity with multiple CPU ports
        net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621
        9p: Remove INET dependency
        netfilter: nf_tables: fix ct untracked match breakage
        af_packet: Don't send zero-byte data in packet_sendmsg_spkt().
        igc: read before write to SRRCTL register
        pds_core: add AUXILIARY_BUS and NET_DEVLINK to Kconfig
        pds_core: remove CONFIG_DEBUG_FS from makefile
        ionic: catch failure from devlink_alloc
        ...
      ed23734c
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.4-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · a5e21900
      Linus Torvalds authored
      Pull more i2c updates from Wolfram Sang:
       "Some more driver bugfixes and a DT binding conversion"
      
      * tag 'i2c-for-6.4-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        dt-bindings: i2c: brcm,kona-i2c: convert to YAML
        i2c: gxp: fix build failure without CONFIG_I2C_SLAVE
        i2c: imx-lpi2c: avoid taking clk_prepare mutex in PM callbacks
        i2c: omap: Fix standard mode false ACK readings
        i2c: tegra: Fix PEC support for SMBUS block read
      a5e21900
    • Lukas Bulwahn's avatar
      s390: remove the unneeded select GCC12_NO_ARRAY_BOUNDS · c12753d5
      Lukas Bulwahn authored
      Commit 0da6e5fd ("gcc: disable '-Warray-bounds' for gcc-13 too") makes
      config GCC11_NO_ARRAY_BOUNDS to be for disabling -Warray-bounds in any gcc
      version 11 and upwards, and with that, removes the GCC12_NO_ARRAY_BOUNDS
      config as it is now covered by the semantics of GCC11_NO_ARRAY_BOUNDS.
      
      As GCC11_NO_ARRAY_BOUNDS is yes by default, there is no need for the s390
      architecture to explicitly select GCC11_NO_ARRAY_BOUNDS. Hence, the select
      GCC12_NO_ARRAY_BOUNDS in arch/s390/Kconfig can simply be dropped.
      
      Remove the unneeded "select GCC12_NO_ARRAY_BOUNDS".
      Signed-off-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c12753d5
  4. 05 May, 2023 33 commits
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 644bca1d
      Jakub Kicinski authored
      There's a fix which landed in net-next, pull it in along
      with the couple of minor cleanups.
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      644bca1d
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 418d5c98
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Add Conor Dooley as a DT binding maintainer
      
       - Swap the order of parsing /memreserve/ and /reserved-memory nodes so
         that the /reserved-memory nodes which have more information are
         handled first
      
       - Fix some property dependencies in riscv,pmu binding
      
       - Update maintainers entries on a couple of bindings
      
      * tag 'devicetree-fixes-for-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        MAINTAINERS: add Conor as a dt-bindings maintainer
        dt-bindings: perf: riscv,pmu: fix property dependencies
        dt-bindings: xilinx: Remove Naga from memory and mtd bindings
        of: fdt: Scan /memreserve/ last
        dt-bindings: clock: r9a06g032-sysctrl: Change maintainer to Fabrizio Castro
        dt-bindings: pinctrl: renesas,rzv2m: Change maintainer to Fabrizio Castro
        dt-bindings: pinctrl: renesas,rzn1: Change maintainer to Fabrizio Castro
        dt-bindings: i2c: renesas,rzv2m: Change maintainer to Fabrizio Castro
      418d5c98
    • Linus Torvalds's avatar
      Merge tag 'docs-6.4-2' of git://git.lwn.net/linux · 647681bf
      Linus Torvalds authored
      Pull more documentation updates from Jonathan Corbet:
       "A handful of late-arriving documentation fixes, plus one Spanish
        translation that has been ready for some time but got applied late"
      
      * tag 'docs-6.4-2' of git://git.lwn.net/linux:
        docs/sp_SP: Add translation of process/adding-syscalls
        CREDITS: Update email address for Mat Martineau
        Documentation: update kernel stack for x86_64
        docs: Remove unnecessary unicode character
        docs: fix "Reviewd" typo
        Documentation: timers: hrtimers: Make hybrid union historical
        docs/admin-guide/mm/ksm.rst fix intraface -> interface typo
        doc:it_IT: fix some typos
      647681bf
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · e919a3f7
      Linus Torvalds authored
      Pull more tracing updates from Steven Rostedt:
      
       - Make buffer_percent read/write.
      
         The buffer_percent file is how users can state how long to block on
         the tracing buffer depending on how much is in the buffer. When it
         hits the "buffer_percent" it will wake the task waiting on the
         buffer. For some reason it was set to read-only.
      
         This was not noticed because testing was done as root without
         SELinux, but with SELinux it will prevent even root to write to it
         without having CAP_DAC_OVERRIDE.
      
       - The "touched_functions" was added this merge window, but one of the
         reasons for adding it was not implemented.
      
         That was to show what functions were not only touched, but had either
         a direct trampoline attached to it, or a kprobe or live kernel
         patching that can "hijack" the function to run a different function.
         The point is to know if there's functions in the kernel that may not
         be behaving as the kernel code shows. This can be used for debugging.
      
         TODO: Add this information to kernel oops too.
      
      * tag 'trace-v6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        ftrace: Add MODIFIED flag to show if IPMODIFY or direct was attached
        tracing: Fix permissions for the buffer_percent file
      e919a3f7
    • Linus Torvalds's avatar
      Merge tag 'locking-core-2023-05-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b115d85a
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
      
       - Introduce local{,64}_try_cmpxchg() - a slightly more optimal
         primitive, which will be used in perf events ring-buffer code
      
       - Simplify/modify rwsems on PREEMPT_RT, to address writer starvation
      
       - Misc cleanups/fixes
      
      * tag 'locking-core-2023-05-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/atomic: Correct (cmp)xchg() instrumentation
        locking/x86: Define arch_try_cmpxchg_local()
        locking/arch: Wire up local_try_cmpxchg()
        locking/generic: Wire up local{,64}_try_cmpxchg()
        locking/atomic: Add generic try_cmpxchg{,64}_local() support
        locking/rwbase: Mitigate indefinite writer starvation
        locking/arch: Rename all internal __xchg() names to __arch_xchg()
      b115d85a
    • Linus Torvalds's avatar
      Merge branch 'x86-uaccess-cleanup': x86 uaccess header cleanups · d5ed10bb
      Linus Torvalds authored
      Merge my x86 uaccess updates branch.
      
      The LAM ("Linear Address Masking") updates in this release made me
      unhappy about how "access_ok()" was done, and it actually turned out to
      have a couple of small bugs in it too.  This is my cleanup of the code:
      
       - use the sign bit of the __user pointer rather than masking the
         address and checking it against the TASK_SIZE range.
      
         We already did this part for the get/put_user() side, but
         'access_ok()' did the naïve "mask and range check" thing, which not
         only generates nasty code, but also ended up meaning that __access_ok
         itself didn't do a good job, and so copy_from_user_nmi() didn't get
         the check right.
      
       - move all the code that is 64-bit only into the 64-bit version of the
         header file, so that we don't unnecessarily pollute the shared x86
         code and make it look like LAM might work in 32-bit too.
      
       - fix a bug in the address masking (that doesn't end up mattering: in
         this case the fix was to just remove the buggy code entirely).
      
       - a couple of trivial cleanups and added commentary about the
         access_ok() rules.
      
      * x86-uaccess-cleanup:
        x86-64: mm: clarify the 'positive addresses' user address rules
        x86: mm: remove 'sign' games from LAM untagged_addr*() macros
        x86: uaccess: move 32-bit and 64-bit parts into proper <asm/uaccess_N.h> header
        x86: mm: remove architecture-specific 'access_ok()' define
        x86-64: make access_ok() independent of LAM
      d5ed10bb
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.4-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 982365a8
      Linus Torvalds authored
      Pull more RISC-V updates from Palmer Dabbelt:
      
       - Support for hibernation
      
       - The .rela.dyn section has been moved to the init area
      
       - A fix for the SBI probing to allow for implementation-defined
         behavior
      
       - Various other fixes and cleanups throughout the tree
      
      * tag 'riscv-for-linus-6.4-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        RISC-V: include cpufeature.h in cpufeature.c
        riscv: Move .rela.dyn to the init sections
        dt-bindings: riscv: explicitly mention assumption of Zicsr & Zifencei support
        riscv: compat_syscall_table: Fixup compile warning
        RISC-V: fixup in-flight collision with ARCH_WANT_OPTIMIZE_VMEMMAP rename
        RISC-V: fix sifive and thead section mismatches in errata
        RISC-V: Align SBI probe implementation with spec
        riscv: mm: remove redundant parameter of create_fdt_early_page_table
        riscv: Adjust dependencies of HAVE_DYNAMIC_FTRACE selection
        RISC-V: Add arch functions to support hibernation/suspend-to-disk
        RISC-V: mm: Enable huge page support to kernel_page_present() function
        RISC-V: Factor out common code of __cpu_resume_enter()
        RISC-V: Change suspend_save_csrs and suspend_restore_csrs to public function
      982365a8
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 493804a6
      Linus Torvalds authored
      Pull more kvm updates from Paolo Bonzini:
       "This includes the 6.4 changes for RISC-V, and a few bugfix patches for
        other architectures. For x86, this closes a longstanding performance
        issue in the newer and (usually) more scalable page table management
        code.
      
        RISC-V:
         - ONE_REG interface to enable/disable SBI extensions
         - Zbb extension for Guest/VM
         - AIA CSR virtualization
      
        x86:
         - Fix a long-standing TDP MMU flaw, where unloading roots on a vCPU
           can result in the root being freed even though the root is
           completely valid and can be reused as-is (with a TLB flush).
      
        s390:
         - A couple of bugfixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: s390: fix race in gmap_make_secure()
        KVM: s390: pv: fix asynchronous teardown for small VMs
        KVM: x86: Preserve TDP MMU roots until they are explicitly invalidated
        RISC-V: KVM: Virtualize per-HART AIA CSRs
        RISC-V: KVM: Use bitmap for irqs_pending and irqs_pending_mask
        RISC-V: KVM: Add ONE_REG interface for AIA CSRs
        RISC-V: KVM: Implement subtype for CSR ONE_REG interface
        RISC-V: KVM: Initial skeletal support for AIA
        RISC-V: KVM: Drop the _MASK suffix from hgatp.VMID mask defines
        RISC-V: Detect AIA CSRs from ISA string
        RISC-V: Add AIA related CSR defines
        RISC-V: KVM: Allow Zbb extension for Guest/VM
        RISC-V: KVM: Add ONE_REG interface to enable/disable SBI extensions
        RISC-V: KVM: Alphabetize selects
        KVM: RISC-V: Retry fault if vma_lookup() results become invalid
      493804a6
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.4-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7163a211
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "Remove an ACPI backlight quirk for Lenovo ThinkPad W530, added during
        the 6.3 cycle, that turned out to do more harm than help (Hans de
        Goede)"
      
      * tag 'acpi-6.4-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: video: Remove acpi_backlight=video quirk for Lenovo ThinkPad W530
      7163a211
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.4-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 817e1af1
      Linus Torvalds authored
      Pull thermal control fixes from Rafael Wysocki:
       "These fix a NULL pointer dereference in the Intel powerclamp driver
        introduced during the 6.3 cycle and update MAINTAINERS to match recent
        code changes.
      
        Specifics:
      
         - Fix NULL pointer access in the Intel powerclamp thermal driver that
           occurs on attempts to set the cooling device state to 0 in the
           default configuration (Srinivas Pandruvada)
      
         - Drop the stale MAINTAINERS entry for the Intel Menlow thermal
           driver that has been removed recently (Lukas Bulwahn)"
      
      * tag 'thermal-6.4-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        MAINTAINERS: remove section INTEL MENLOW THERMAL DRIVER
        thermal: intel: powerclamp: Fix NULL pointer access issue
      817e1af1
    • Linus Torvalds's avatar
      Merge tag 'phy-fixes-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy · b49178e6
      Linus Torvalds authored
      Pull phy fixes from Vinod Koul:
      
       - Fix for mediatek driver warning for variable used uninitialized and
         for wrong pll math
      
      * tag 'phy-fixes-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy:
        phy: mediatek: hdmi: mt8195: fix wrong pll calculus
        phy: mediatek: hdmi: mt8195: fix uninitialized variable usage in pll_calc
      b49178e6
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2023-05-05' of git://anongit.freedesktop.org/drm/drm · 084f51d4
      Linus Torvalds authored
      Pull more drm fixes from Dave Airlie:
       "This is the fixes for the last couple of weeks for i915 and last 3
        weeks for amdgpu, lots of them but pretty scattered around and all
        pretty small.
      
        amdgpu:
         - SR-IOV fixes
         - DCN 3.2 fixes
         - DC mclk handling fixes
         - eDP fixes
         - SubVP fixes
         - HDCP regression fix
         - DSC fixes
         - DC FP fixes
         - DCN 3.x fixes
         - Display flickering fix when switching between vram and gtt
         - Z8 power saving fix
         - Fix hang when skipping modeset
         - GPU reset fixes
         - Doorbell fix when resizing BARs
         - Fix spurious warnings in gmc
         - Locking fix for AMDGPU_SCHED IOCTL
         - SR-IOV fix
         - DCN 3.1.4 fix
         - DCN 3.2 fix
         - Fix job cleanup when CS is aborted
      
        i915:
         - skl pipe source size check
         - mtl transcoder mask fix
         - DSI power on sequence fix
         - GuC versioning corner case fix"
      
      * tag 'drm-next-2023-05-05' of git://anongit.freedesktop.org/drm/drm: (48 commits)
        drm/amdgpu: drop redundant sched job cleanup when cs is aborted
        drm/amd/display: filter out invalid bits in pipe_fuses
        drm/amd/display: Change default Z8 watermark values
        drm/amdgpu: disable SDMA WPTR_POLL_ENABLE for SR-IOV
        drm/amdgpu: add a missing lock for AMDGPU_SCHED
        drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini()
        drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v10_0_hw_fini
        drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v11_0_hw_fini
        drm/amdgpu: Enable doorbell selfring after resize FB BAR
        drm/amdgpu: Use the default reset when loading or reloading the driver
        drm/amdgpu: Fix mode2 reset for sienna cichlid
        drm/i915/dsi: Use unconditional msleep() instead of intel_dsi_msleep()
        drm/i915/mtl: Add the missing CPU transcoder mask in intel_device_info
        drm/i915/guc: Actually return an error if GuC version range check fails
        drm/amd/display: Lowering min Z8 residency time
        drm/amd/display: fix flickering caused by S/G mode
        drm/amd/display: Set min_width and min_height capability for DCN30
        drm/amd/display: Isolate remaining FPU code in DCN32
        drm/amd/display: Update bounding box values for DCN321
        drm/amd/display: Do not clear GPINT register when releasing DMUB from reset
        ...
      084f51d4
    • Steven Rostedt (Google)'s avatar
      ftrace: Add MODIFIED flag to show if IPMODIFY or direct was attached · 6ce2c04f
      Steven Rostedt (Google) authored
      If a function had ever had IPMODIFY or DIRECT attached to it, where this
      is how live kernel patching and BPF overrides work, mark them and display
      an "M" in the enabled_functions and touched_functions files. This can be
      used for debugging. If a function had been modified and later there's a bug
      in the code related to that function, this can be used to know if the cause
      is possibly from a live kernel patch or a BPF program that changed the
      behavior of the code.
      
      Also update the documentation on the enabled_functions and
      touched_functions output, as it was missing direct callers and CALL_OPS.
      And include this new modify attribute.
      
      Link: https://lore.kernel.org/linux-trace-kernel/20230502213233.004e3ae4@gandalf.local.home
      
      Cc: Mark Rutland <mark.rutland@arm.com>
      Acked-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      6ce2c04f
    • Lukas Bulwahn's avatar
      MAINTAINERS: remove section INTEL MENLOW THERMAL DRIVER · 2492ba4c
      Lukas Bulwahn authored
      Commit 2b6a7409 ("thermal: intel: menlow: Get rid of this driver")
      removes the driver drivers/thermal/intel/intel_menlow.c, but misses to
      remove its reference in MAINTAINERS.
      
      Hence, ./scripts/get_maintainer.pl --self-test=patterns complains about a
      broken reference.
      
      Remove the INTEL MENLOW THERMAL DRIVER section in MAINTAINERS.
      
      Fixes: 2b6a7409 ("thermal: intel: menlow: Get rid of this driver")
      Signed-off-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      2492ba4c
    • Conor Dooley's avatar
      MAINTAINERS: add Conor as a dt-bindings maintainer · 6997f847
      Conor Dooley authored
      Rob asked if I would be interested in helping with the dt-bindings
      maintenance, and since I am a glutton for punishment I accepted.
      Signed-off-by: default avatarConor Dooley <conor.dooley@microchip.com>
      Acked-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Link: https://lore.kernel.org/r/20230504-renderer-alive-1c01d431b2a7@spudSigned-off-by: default avatarRob Herring <robh@kernel.org>
      6997f847
    • Paolo Bonzini's avatar
      Merge tag 'kvm-s390-next-6.4-2' of... · 7a8016d9
      Paolo Bonzini authored
      Merge tag 'kvm-s390-next-6.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
      
      For 6.4
      7a8016d9
    • Paolo Bonzini's avatar
      Merge tag 'kvm-x86-mmu-6.4-2' of https://github.com/kvm-x86/linux into HEAD · 29b38e76
      Paolo Bonzini authored
      Fix a long-standing flaw in x86's TDP MMU where unloading roots on a vCPU can
      result in the root being freed even though the root is completely valid and
      can be reused as-is (with a TLB flush).
      29b38e76
    • Paolo Bonzini's avatar
      Merge tag 'kvm-riscv-6.4-1' of https://github.com/kvm-riscv/linux into HEAD · d4fba4df
      Paolo Bonzini authored
      KVM/riscv changes for 6.4
      
      - ONE_REG interface to enable/disable SBI extensions
      - Zbb extension for Guest/VM
      - AIA CSR virtualization
      d4fba4df
    • Florian Fainelli's avatar
      net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop() · 93e0401e
      Florian Fainelli authored
      The call to phy_stop() races with the later call to phy_disconnect(),
      resulting in concurrent phy_suspend() calls being run from different
      CPUs. The final call to phy_disconnect() ensures that the PHY is
      stopped and suspended, too.
      
      Fixes: c96e731c ("net: bcmgenet: connect and disconnect from the PHY state machine")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      93e0401e
    • Shannon Nelson's avatar
      pds_core: fix mutex double unlock in error path · 1e76f427
      Shannon Nelson authored
      Fix a double unlock in an error handling path by unlocking as soon as
      the error is seen and removing unlocks in the error cleanup path.
      
      Link: https://lore.kernel.org/kernel-janitors/209a09f6-5ec6-40c7-a5ec-6260d8f54d25@kili.mountain/
      Fixes: 523847df ("pds_core: add devcmd device interfaces")
      Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Signed-off-by: default avatarShannon Nelson <shannon.nelson@amd.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1e76f427
    • David S. Miller's avatar
      Merge branch 'tc-action-fixes' · 1a304495
      David S. Miller authored
      Vlad Buslov says:
      
      ====================
      Fixes for miss to tc action series
      
      Changes V1 -> V2:
      
      - Added new patch reverting Ivan's fix for the same issue.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1a304495
    • Vlad Buslov's avatar
      net/sched: flower: fix error handler on replace · fd741f0d
      Vlad Buslov authored
      When replacing a filter (i.e. 'fold' pointer is not NULL) the insertion of
      new filter to idr is postponed until later in code since handle is already
      provided by the user. However, the error handling code in fl_change()
      always assumes that the new filter had been inserted into idr. If error
      handler is reached when replacing existing filter it may remove it from idr
      therefore making it unreachable for delete or dump afterwards. Fix the
      issue by verifying that 'fold' argument wasn't provided by caller before
      calling idr_remove().
      
      Fixes: 08a0063d ("net/sched: flower: Move filter handle initialization earlier")
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Reviewed-by: default avatarPedro Tammela <pctammela@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fd741f0d
    • Vlad Buslov's avatar
      Revert "net/sched: flower: Fix wrong handle assignment during filter change" · 5110f3ff
      Vlad Buslov authored
      This reverts commit 32eff6ba.
      
      Superseded by the following commit in this series.
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5110f3ff
    • Vlad Buslov's avatar
      net/sched: flower: fix filter idr initialization · dd4f6bbf
      Vlad Buslov authored
      The cited commit moved idr initialization too early in fl_change() which
      allows concurrent users to access the filter that is still being
      initialized and is in inconsistent state, which, in turn, can cause NULL
      pointer dereference [0]. Since there is no obvious way to fix the ordering
      without reverting the whole cited commit, alternative approach taken to
      first insert NULL pointer into idr in order to allocate the handle but
      still cause fl_get() to return NULL and prevent concurrent users from
      seeing the filter while providing miss-to-action infrastructure with valid
      handle id early in fl_change().
      
      [  152.434728] general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN
      [  152.436163] KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
      [  152.437269] CPU: 4 PID: 3877 Comm: tc Not tainted 6.3.0-rc4+ #5
      [  152.438110] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
      [  152.439644] RIP: 0010:fl_dump_key+0x8b/0x1d10 [cls_flower]
      [  152.440461] Code: 01 f2 02 f2 c7 40 08 04 f2 04 f2 c7 40 0c 04 f3 f3 f3 65 48 8b 04 25 28 00 00 00 48 89 84 24 00 01 00 00 48 89 c8 48 c1 e8 03 <0f> b6 04 10 84 c0 74 08 3c 03 0f 8e 98 19 00 00 8b 13 85 d2 74 57
      [  152.442885] RSP: 0018:ffff88817a28f158 EFLAGS: 00010246
      [  152.443851] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
      [  152.444826] RDX: dffffc0000000000 RSI: ffffffff8500ae80 RDI: ffff88810a987900
      [  152.445791] RBP: ffff888179d88240 R08: ffff888179d8845c R09: ffff888179d88240
      [  152.446780] R10: ffffed102f451e48 R11: 00000000fffffff2 R12: ffff88810a987900
      [  152.447741] R13: ffffffff8500ae80 R14: ffff88810a987900 R15: ffff888149b3c738
      [  152.448756] FS:  00007f5eb2a34800(0000) GS:ffff88881ec00000(0000) knlGS:0000000000000000
      [  152.449888] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  152.450685] CR2: 000000000046ad19 CR3: 000000010b0bd006 CR4: 0000000000370ea0
      [  152.451641] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  152.452628] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  152.453588] Call Trace:
      [  152.454032]  <TASK>
      [  152.454447]  ? netlink_sendmsg+0x7a1/0xcb0
      [  152.455109]  ? sock_sendmsg+0xc5/0x190
      [  152.455689]  ? ____sys_sendmsg+0x535/0x6b0
      [  152.456320]  ? ___sys_sendmsg+0xeb/0x170
      [  152.456916]  ? do_syscall_64+0x3d/0x90
      [  152.457529]  ? entry_SYSCALL_64_after_hwframe+0x46/0xb0
      [  152.458321]  ? ___sys_sendmsg+0xeb/0x170
      [  152.458958]  ? __sys_sendmsg+0xb5/0x140
      [  152.459564]  ? do_syscall_64+0x3d/0x90
      [  152.460122]  ? entry_SYSCALL_64_after_hwframe+0x46/0xb0
      [  152.460852]  ? fl_dump_key_options.part.0+0xea0/0xea0 [cls_flower]
      [  152.461710]  ? _raw_spin_lock+0x7a/0xd0
      [  152.462299]  ? _raw_read_lock_irq+0x30/0x30
      [  152.462924]  ? nla_put+0x15e/0x1c0
      [  152.463480]  fl_dump+0x228/0x650 [cls_flower]
      [  152.464112]  ? fl_tmplt_dump+0x210/0x210 [cls_flower]
      [  152.464854]  ? __kmem_cache_alloc_node+0x1a7/0x330
      [  152.465592]  ? nla_put+0x15e/0x1c0
      [  152.466160]  tcf_fill_node+0x515/0x9a0
      [  152.466766]  ? tc_setup_offload_action+0xf0/0xf0
      [  152.467463]  ? __alloc_skb+0x13c/0x2a0
      [  152.468067]  ? __build_skb_around+0x330/0x330
      [  152.468814]  ? fl_get+0x107/0x1a0 [cls_flower]
      [  152.469503]  tc_del_tfilter+0x718/0x1330
      [  152.470115]  ? is_bpf_text_address+0xa/0x20
      [  152.470765]  ? tc_ctl_chain+0xee0/0xee0
      [  152.471335]  ? __kernel_text_address+0xe/0x30
      [  152.471948]  ? unwind_get_return_address+0x56/0xa0
      [  152.472639]  ? __thaw_task+0x150/0x150
      [  152.473218]  ? arch_stack_walk+0x98/0xf0
      [  152.473839]  ? __stack_depot_save+0x35/0x4c0
      [  152.474501]  ? stack_trace_save+0x91/0xc0
      [  152.475119]  ? security_capable+0x51/0x90
      [  152.475741]  rtnetlink_rcv_msg+0x2c1/0x9d0
      [  152.476387]  ? rtnl_calcit.isra.0+0x2b0/0x2b0
      [  152.477042]  ? __sys_sendmsg+0xb5/0x140
      [  152.477664]  ? do_syscall_64+0x3d/0x90
      [  152.478255]  ? entry_SYSCALL_64_after_hwframe+0x46/0xb0
      [  152.479010]  ? __stack_depot_save+0x35/0x4c0
      [  152.479679]  ? __stack_depot_save+0x35/0x4c0
      [  152.480346]  netlink_rcv_skb+0x12c/0x360
      [  152.480929]  ? rtnl_calcit.isra.0+0x2b0/0x2b0
      [  152.481517]  ? do_syscall_64+0x3d/0x90
      [  152.482061]  ? netlink_ack+0x1550/0x1550
      [  152.482612]  ? rhashtable_walk_peek+0x170/0x170
      [  152.483262]  ? kmem_cache_alloc_node+0x1af/0x390
      [  152.483875]  ? _copy_from_iter+0x3d6/0xc70
      [  152.484528]  netlink_unicast+0x553/0x790
      [  152.485168]  ? netlink_attachskb+0x6a0/0x6a0
      [  152.485848]  ? unwind_next_frame+0x11cc/0x1a10
      [  152.486538]  ? arch_stack_walk+0x61/0xf0
      [  152.487169]  netlink_sendmsg+0x7a1/0xcb0
      [  152.487799]  ? netlink_unicast+0x790/0x790
      [  152.488355]  ? iovec_from_user.part.0+0x4d/0x220
      [  152.488990]  ? _raw_spin_lock+0x7a/0xd0
      [  152.489598]  ? netlink_unicast+0x790/0x790
      [  152.490236]  sock_sendmsg+0xc5/0x190
      [  152.490796]  ____sys_sendmsg+0x535/0x6b0
      [  152.491394]  ? import_iovec+0x7/0x10
      [  152.491964]  ? kernel_sendmsg+0x30/0x30
      [  152.492561]  ? __copy_msghdr+0x3c0/0x3c0
      [  152.493160]  ? do_syscall_64+0x3d/0x90
      [  152.493706]  ___sys_sendmsg+0xeb/0x170
      [  152.494283]  ? may_open_dev+0xd0/0xd0
      [  152.494858]  ? copy_msghdr_from_user+0x110/0x110
      [  152.495541]  ? __handle_mm_fault+0x2678/0x4ad0
      [  152.496205]  ? copy_page_range+0x2360/0x2360
      [  152.496862]  ? __fget_light+0x57/0x520
      [  152.497449]  ? mas_find+0x1c0/0x1c0
      [  152.498026]  ? sockfd_lookup_light+0x1a/0x140
      [  152.498703]  __sys_sendmsg+0xb5/0x140
      [  152.499306]  ? __sys_sendmsg_sock+0x20/0x20
      [  152.499951]  ? do_user_addr_fault+0x369/0xd80
      [  152.500595]  do_syscall_64+0x3d/0x90
      [  152.501185]  entry_SYSCALL_64_after_hwframe+0x46/0xb0
      [  152.501917] RIP: 0033:0x7f5eb294f887
      [  152.502494] Code: 0a 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b9 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10
      [  152.505008] RSP: 002b:00007ffd2c708f78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
      [  152.506152] RAX: ffffffffffffffda RBX: 00000000642d9472 RCX: 00007f5eb294f887
      [  152.507134] RDX: 0000000000000000 RSI: 00007ffd2c708fe0 RDI: 0000000000000003
      [  152.508113] RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
      [  152.509119] R10: 00007f5eb2808708 R11: 0000000000000246 R12: 0000000000000001
      [  152.510068] R13: 0000000000000000 R14: 00007ffd2c70d1b8 R15: 0000000000485400
      [  152.511031]  </TASK>
      [  152.511444] Modules linked in: cls_flower sch_ingress openvswitch nsh mlx5_vdpa vringh vhost_iotlb vdpa mlx5_ib mlx5_core rpcrdma rdma_ucm ib_iser libiscsi scsi_transport_iscsi ib_umad rdma_cm ib_ipoib iw_cm ib_cm ib_uverbs ib_core xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xt_addrtype iptable_nat nf_nat br_netfilter overlay zram zsmalloc fuse [last unloaded: mlx5_core]
      [  152.515720] ---[ end trace 0000000000000000 ]---
      
      Fixes: 08a0063d ("net/sched: flower: Move filter handle initialization earlier")
      Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
      Reviewed-by: default avatarPedro Tammela <pctammela@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dd4f6bbf
    • Shenwei Wang's avatar
      net: fec: correct the counting of XDP sent frames · 26312c68
      Shenwei Wang authored
      In the current xdp_xmit implementation, if any single frame fails to
      transmit due to insufficient buffer descriptors, the function nevertheless
      reports success in sending all frames. This results in erroneously
      indicating that frames were transmitted when in fact they were dropped.
      
      This patch fixes the issue by ensureing the return value properly
      indicates the actual number of frames successfully transmitted, rather than
      potentially reporting success for all frames when some could not transmit.
      
      Fixes: 6d6b39f1 ("net: fec: add initial XDP support")
      Signed-off-by: default avatarGagandeep Singh <g.singh@nxp.com>
      Signed-off-by: default avatarShenwei Wang <shenwei.wang@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      26312c68
    • Lorenzo Bianconi's avatar
      bonding: add xdp_features support · cb9e6e58
      Lorenzo Bianconi authored
      Introduce xdp_features support for bonding driver according to the slave
      devices attached to the master one. xdp_features is required whenever we
      want to xdp_redirect traffic into a bond device and then into selected
      slaves attached to it.
      Reviewed-by: default avatarSimon Horman <simon.horman@corigine.com>
      Acked-by: default avatarJay Vosburgh <jay.vosburgh@canonical.com>
      Fixes: 66c0e13a ("drivers: net: turn on XDP features")
      Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
      Reviewed-by: default avatarJussi Maki <joamaki@gmail.com>
      Tested-by: default avatarJussi Maki <joamaki@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cb9e6e58
    • Wei Fang's avatar
      net: enetc: check the index of the SFI rather than the handle · 299efdc2
      Wei Fang authored
      We should check whether the current SFI (Stream Filter Instance) table
      is full before creating a new SFI entry. However, the previous logic
      checks the handle by mistake and might lead to unpredictable behavior.
      
      Fixes: 888ae5a3 ("net: enetc: add tc flower psfp offload driver")
      Signed-off-by: default avatarWei Fang <wei.fang@nxp.com>
      Reviewed-by: default avatarLeon Romanovsky <leonro@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      299efdc2
    • Martin Habets's avatar
      sfc: Add back mailing list · c00ce547
      Martin Habets authored
      We used to have a mailing list in the MAINTAINERS file, but removed this
      when we became part of Xilinx as it stopped working.
      Now inside AMD we have the list again. Add it back so patches will be seen
      by all sfc developers.
      Signed-off-by: default avatarMartin Habets <habetsm.xilinx@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c00ce547
    • Wenliang Wang's avatar
      virtio_net: suppress cpu stall when free_unused_bufs · f8bb5104
      Wenliang Wang authored
      For multi-queue and large ring-size use case, the following error
      occurred when free_unused_bufs:
      rcu: INFO: rcu_sched self-detected stall on CPU.
      
      Fixes: 986a4f4d ("virtio_net: multiqueue support")
      Signed-off-by: default avatarWenliang Wang <wangwenliang.1995@bytedance.com>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f8bb5104
    • Michal Swiatkowski's avatar
      ice: block LAN in case of VF to VF offload · 9f699b71
      Michal Swiatkowski authored
      VF to VF traffic shouldn't go outside. To enforce it, set only the loopback
      enable bit in case of all ingress type rules added via the tc tool.
      
      Fixes: 0d08a441 ("ice: ndo_setup_tc implementation for PF")
      Reported-by: default avatarSujai Buvaneswaran <Sujai.Buvaneswaran@intel.com>
      Signed-off-by: default avatarMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
      Tested-by: default avatarGeorge Kuruvinakunnel <george.kuruvinakunnel@intel.com>
      Reviewed-by: default avatarSimon Horman <simon.horman@corigine.com>
      Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
      Reviewed-by: default avatarLeon Romanovsky <leonro@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9f699b71
    • Arınç ÜNAL's avatar
      net: dsa: mt7530: fix network connectivity with multiple CPU ports · 120a56b0
      Arınç ÜNAL authored
      On mt753x_cpu_port_enable() there's code that enables flooding for the CPU
      port only. Since mt753x_cpu_port_enable() runs twice when both CPU ports
      are enabled, port 6 becomes the only port to forward the frames to. But
      port 5 is the active port, so no frames received from the user ports will
      be forwarded to port 5 which breaks network connectivity.
      
      Every bit of the BC_FFP, UNM_FFP, and UNU_FFP bits represents a port. Fix
      this issue by setting the bit that corresponds to the CPU port without
      overwriting the other bits.
      
      Clear the bits beforehand only for the MT7531 switch. According to the
      documents MT7621 Giga Switch Programming Guide v0.3 and MT7531 Reference
      Manual for Development Board v1.0, after reset, the BC_FFP, UNM_FFP, and
      UNU_FFP bits are set to 1 for MT7531, 0 for MT7530.
      
      The commit 5e5502e0 ("net: dsa: mt7530: fix roaming from DSA user
      ports") silently changed the method to set the bits on the MT7530_MFC.
      Instead of clearing the relevant bits before mt7530_cpu_port_enable()
      which runs under a for loop, the commit started doing it on
      mt7530_cpu_port_enable().
      
      Back then, this didn't really matter as only a single CPU port could be
      used since the CPU port number was hardcoded. The driver was later changed
      with commit 1f9a6abe ("net: dsa: mt7530: get cpu-port via dp->cpu_dp
      instead of constant") to retrieve the CPU port via dp->cpu_dp. With that,
      this silent change became an issue for when using multiple CPU ports.
      
      Fixes: 5e5502e0 ("net: dsa: mt7530: fix roaming from DSA user ports")
      Signed-off-by: default avatarArınç ÜNAL <arinc.unal@arinc9.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      120a56b0
    • Arınç ÜNAL's avatar
      net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621 · 37c218d8
      Arınç ÜNAL authored
      The multi-chip module MT7530 switch with a 40 MHz oscillator on the
      MT7621AT, MT7621DAT, and MT7621ST SoCs forwards corrupt frames using
      trgmii.
      
      This is caused by the assumption that MT7621 SoCs have got 150 MHz PLL,
      hence using the ncpo1 value, 0x0780.
      
      My testing shows this value works on Unielec U7621-06, Bartel's testing
      shows it won't work on Hi-Link HLK-MT7621A and Netgear WAC104. All devices
      tested have got 40 MHz oscillators.
      
      Using the value for 125 MHz PLL, 0x0640, works on all boards at hand. The
      definitions for 125 MHz PLL exist on the Banana Pi BPI-R2 BSP source code
      whilst 150 MHz PLL don't.
      
      Forwarding frames using trgmii on the MCM MT7530 switch with a 25 MHz
      oscillator on the said MT7621 SoCs works fine because the ncpo1 value
      defined for it is for 125 MHz PLL.
      
      Change the 150 MHz PLL comment to 125 MHz PLL, and use the 125 MHz PLL
      ncpo1 values for both oscillator frequencies.
      
      Link: https://github.com/BPI-SINOVOIP/BPI-R2-bsp/blob/81d24bbce7d99524d0771a8bdb2d6663e4eb4faa/u-boot-mt/drivers/net/rt2880_eth.c#L2195
      Fixes: 7ef6f6f8 ("net: dsa: mt7530: Add MT7621 TRGMII mode support")
      Tested-by: default avatarBartel Eerdekens <bartel.eerdekens@constell8.be>
      Signed-off-by: default avatarArınç ÜNAL <arinc.unal@arinc9.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      37c218d8
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-6.4-rc1' of git://www.linux-watchdog.org/linux-watchdog · 78b421b6
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - Add watchdog driver for StarFive JH7100 and JH7110 Soc
      
       - Add Rockchip RK3588 devices
      
       - Add Qualcom IPQ5332 APSS, QCM2290 KPSS and SM6115 SoC devices
      
       - Add Mediatke MT8365 and MT6735 devices
      
       - Watchdog-core: Always set WDOG_HW_RUNNING when starting watchdog
      
       - Convert watchdog platform drivers to return void on the remove
         callback
      
       - Convert to devm_clk_get_enabled() helpers
      
       - ... and other small fixes and improvements
      
      * tag 'linux-watchdog-6.4-rc1' of git://www.linux-watchdog.org/linux-watchdog: (72 commits)
        watchdog: dw_wdt: Simplify clk management
        watchdog: dw_wdt: Fix the error handling path of dw_wdt_drv_probe()
        watchdog: starfive: Fix the warning of starfive_wdt_match
        watchdog: starfive: Fix the probe return error if PM and early_enable are both disabled
        MAINTAINERS: Add fragment for Xilinx watchdog driver
        watchdog: menz069_wdt: fix timeout setting
        watchdog: menz069_wdt: fix watchdog initialisation
        dt-bindings: watchdog: alphascale-asm9260: convert to DT schema
        watchdog: loongson1_wdt: Implement restart handler
        dt-bindings: watchdog: Document Qualcomm SM6115 watchdog
        dt-bindings: watchdog: realtek,otto-wdt: simplify requiring interrupt-names
        dt-bindings: watchdog: toshiba,visconti-wdt: simplify with unevaluatedProperties
        dt-bindings: watchdog: fsl-imx7ulp-wdt: simplify with unevaluatedProperties
        dt-bindings: watchdog: arm,sp805: drop unneeded minItems
        dt-bindings: watchdog: drop duplicated GPIO watchdog bindings
        dt-bindings: reset: Add binding for MediaTek MT6735 TOPRGU/WDT
        drivers: watchdog: Add StarFive Watchdog driver
        dt-bindings: watchdog: Add watchdog for StarFive JH7100 and JH7110
        dt-bindings: watchdog: indentation, quotes and white-space cleanup
        watchdog: ebc-c384_wdt: Mark status as orphaned
        ...
      78b421b6