1. 09 Jun, 2023 19 commits
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · dbfa18c5
      Linus Torvalds authored
      Pull virtio bug fixes from Michael Tsirkin:
       "A bunch of fixes all over the place"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        tools/virtio: use canonical ftrace path
        vhost_vdpa: support PACKED when setting-getting vring_base
        vhost: support PACKED when setting-getting vring_base
        vhost: Fix worker hangs due to missed wake up calls
        vhost: Fix crash during early vhost_transport_send_pkt calls
        vhost_net: revert upend_idx only on retriable error
        vhost_vdpa: tell vqs about the negotiated
        vdpa/mlx5: Fix hang when cvq commands are triggered during device unregister
        tools/virtio: Add .gitignore for ringtest
        tools/virtio: Fix arm64 ringtest compilation error
        vduse: avoid empty string for dev name
        vhost: use kzalloc() instead of kmalloc() followed by memset()
      dbfa18c5
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.4-rc6' of https://github.com/ceph/ceph-client · 7e8c948b
      Linus Torvalds authored
      Pull ceph fixes from Ilya Dryomov:
       "A fix for a potential data corruption in differential backup and
        snapshot-based mirroring scenarios in RBD and a reference counting
        fixup to avoid use-after-free in CephFS, all marked for stable"
      
      * tag 'ceph-for-6.4-rc6' of https://github.com/ceph/ceph-client:
        ceph: fix use-after-free bug for inodes when flushing capsnaps
        rbd: get snapshot context after exclusive lock is ensured to be held
        rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting
      7e8c948b
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 0f506c7f
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
      
       - A fix to avoid ISA-disallowed privilege mappings that can result from
         WRITE+EXEC mmap requests from userspace.
      
       - A fix for kfence to handle the huge pages.
      
       - A fix to avoid converting misaligned VAs to huge pages.
      
       - ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE has been selected so kprobe
         can understand user pointers.
      
      * tag 'riscv-for-linus-6.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: fix kprobe __user string arg print fault issue
        riscv: Check the virtual alignment before choosing a map size
        riscv: Fix kfence now that the linear mapping can be backed by PUD/P4D/PGD
        riscv: mm: Ensure prot of VM_WRITE and VM_EXEC must be readable
      0f506c7f
    • Linus Torvalds's avatar
      Merge tag 's390-6.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 87aceaa7
      Linus Torvalds authored
      Pull s390 fixes from Alexander Gordeev:
      
       - Avoid linker error for randomly generated config file that has
         CONFIG_BRANCH_PROFILE_NONE enabled and make it similar to riscv, x86
         and also to commit 4bf3ec38 ("s390: disable branch profiling for
         vdso").
      
       - Currently, if the device is offline and all the channel paths are
         either configured or varied offline, the associated subchannel gets
         unregistered. Don't unregister the subchannel, instead unregister
         offline device.
      
      * tag 's390-6.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/purgatory: disable branch profiling
        s390/cio: unregister device when the only path is gone
      87aceaa7
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 92d22212
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
       "Two fixes for the GPIO testing module and one commit making Andy a
        reviewer for the GPIO subsystem:
      
         - fix a memory corruption bug in gpio-sim
      
         - fix inconsistencies in user-space configuration of gpio-sim
      
         - make Andy Shevchenko a reviewer for the GPIO subsystem"
      
      * tag 'gpio-fixes-for-v6.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        MAINTAINERS: add Andy Shevchenko as reviewer for the GPIO subsystem
        gpio: sim: quietly ignore configured lines outside the bank
        gpio: sim: fix memory corruption when adding named lines and unnamed hogs
      92d22212
    • Ross Zwisler's avatar
      tools/virtio: use canonical ftrace path · 07496eea
      Ross Zwisler authored
      The canonical location for the tracefs filesystem is at /sys/kernel/tracing.
      
      But, from Documentation/trace/ftrace.rst:
      
        Before 4.1, all ftrace tracing control files were within the debugfs
        file system, which is typically located at /sys/kernel/debug/tracing.
        For backward compatibility, when mounting the debugfs file system,
        the tracefs file system will be automatically mounted at:
      
        /sys/kernel/debug/tracing
      
      A few spots in tools/virtio still refer to this older debugfs
      path, so let's update them to avoid confusion.
      Signed-off-by: default avatarRoss Zwisler <zwisler@google.com>
      Message-Id: <20230215223350.2658616-6-zwisler@google.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: default avatarMukesh Ojha <quic_mojha@quicinc.com>
      07496eea
    • Shannon Nelson's avatar
      vhost_vdpa: support PACKED when setting-getting vring_base · beee7fdb
      Shannon Nelson authored
      Use the right structs for PACKED or split vqs when setting and
      getting the vring base.
      
      Fixes: 4c8cf318 ("vhost: introduce vDPA-based backend")
      Signed-off-by: default avatarShannon Nelson <shannon.nelson@amd.com>
      Message-Id: <20230424225031.18947-4-shannon.nelson@amd.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      beee7fdb
    • Shannon Nelson's avatar
      vhost: support PACKED when setting-getting vring_base · 55d8122f
      Shannon Nelson authored
      Use the right structs for PACKED or split vqs when setting and
      getting the vring base.
      
      Fixes: 4c8cf318 ("vhost: introduce vDPA-based backend")
      Signed-off-by: default avatarShannon Nelson <shannon.nelson@amd.com>
      Message-Id: <20230424225031.18947-3-shannon.nelson@amd.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      55d8122f
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 333a396d
      Linus Torvalds authored
      Pull pin control fix from Linus Walleij:
       "A single fix for the Meson driver, nothing else has surfaced so far
        this cycle"
      
      * tag 'pinctrl-v6.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: meson-axg: add missing GPIOA_18 gpio group
      333a396d
    • Linus Torvalds's avatar
      Merge tag 'sound-6.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 697fa9b5
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Lots of small fixes, and almost all are device-specific.
      
        A few of them are the fixes for the old regressions by the fast kctl
        lookups (introduced around 5.19). Others are ASoC simple-card fixes,
        selftest compile warning fixes, ASoC AMD quirks, various ASoC codec
        fixes as well as usual HD-audio quirks"
      
      * tag 'sound-6.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (26 commits)
        ALSA: hda/realtek: Enable 4 amplifiers instead of 2 on a HP platform
        ALSA: hda: Fix kctl->id initialization
        ALSA: gus: Fix kctl->id initialization
        ALSA: cmipci: Fix kctl->id initialization
        ALSA: ymfpci: Fix kctl->id initialization
        ALSA: ice1712,ice1724: fix the kcontrol->id initialization
        ALSA: hda/realtek: Add quirk for Clevo NS50AU
        ALSA: hda/realtek: Add quirks for Asus ROG 2024 laptops using CS35L41
        ALSA: hda/realtek: Add "Intel Reference board" and "NUC 13" SSID in the ALC256
        ALSA: hda/realtek: Add Lenovo P3 Tower platform
        ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01
        selftests: alsa: pcm-test: Fix compiler warnings about the format
        ASoC: fsl_sai: Enable BCI bit if SAI works on synchronous mode with BYP asserted
        ASoC: simple-card-utils: fix PCM constraint error check
        ASoC: cs35l56: Remove NULL check from cs35l56_sdw_dai_set_stream()
        ASoC: max98363: limit the number of channel to 1
        ASoC: max98363: Removed 32bit support
        ASoC: mediatek: mt8195: fix use-after-free in driver remove path
        ASoC: mediatek: mt8188: fix use-after-free in driver remove path
        ASoC: amd: yc: Add Thinkpad Neo14 to quirks list for acp6x
        ...
      697fa9b5
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 8fc1c596
      Linus Torvalds authored
      Pull ext4 fix from Ted Ts'o:
       "Fix an ext4 regression which breaks remounting r/w file systems that
        have the quota feature enabled"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: only check dquot_initialize_needed() when debugging
        Revert "ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled"
      8fc1c596
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2023-06-09' of git://anongit.freedesktop.org/drm/drm · 33f2b578
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Bit busier and a bit more scattered than usual. amdgpu is the main
        one, with ivpu and msm having a few fixes, then i915, exynos, ast,
        lima, radeon with some misc bits, but overall nothing standing out.
      
        fb-helper:
         - Fill in fb-helper vars more correctly
      
        amdgpu:
         - S0ix fixes
         - GPU reset fixes
         - SMU13 fixes
         - SMU11 fixes
         - Misc Display fixes
         - Revert RV/RV2/PCO clock counter changes
         - Fix Stoney xclk value
         - Fix reserved vram debug info
      
        radeon:
         - Fix a potential use after free
      
        i915:
         - CDCLK voltage fix for ADL-P
         - eDP wake sync pulse fix
         - Two error handling fixes to selftests
      
        exynos:
         - Fix wrong return in Exynos vidi driver
         - Fix use-after-free issue to Exynos g2d driver
      
        ast:
         - resume and modeset fixes for ast
      
        ivpu:
         - Assorted ivpu fixes
      
        lima:
         - lima context destroy fix
      
        msm:
         - Fix max segment size to address splat on newer a6xx
         - Disable PSR by default w/ modparam to re-enable, since there still
           seems to be a lingering issue
         - Fix HPD issue
         - Fix issue with unitialized GMU mutex"
      
      * tag 'drm-fixes-2023-06-09' of git://anongit.freedesktop.org/drm/drm: (32 commits)
        drm/msm/a6xx: initialize GMU mutex earlier
        drm/msm/dp: enable HDP plugin/unplugged interrupts at hpd_enable/disable
        accel/ivpu: Fix sporadic VPU boot failure
        accel/ivpu: Do not use mutex_lock_interruptible
        accel/ivpu: Do not trigger extra VPU reset if the VPU is idle
        drm/amd/display: Reduce sdp bw after urgent to 90%
        drm/amdgpu: change reserved vram info print
        drm/amdgpu: fix xclk freq on CHIP_STONEY
        drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl
        Revert "drm/amdgpu: switch to golden tsc registers for raven/raven2"
        Revert "drm/amdgpu: Differentiate between Raven2 and Raven/Picasso according to revision id"
        Revert "drm/amdgpu: change the reference clock for raven/raven2"
        drm/amd/display: add ODM case when looking for first split pipe
        drm/amd: Make lack of `ACPI_FADT_LOW_POWER_S0` or `CONFIG_AMD_PMC` louder during suspend path
        drm/amd/pm: conditionally disable pcie lane switching for some sienna_cichlid SKUs
        drm/amd/pm: Fix power context allocation in SMU13
        drm/amdgpu: fix Null pointer dereference error in amdgpu_device_recover_vram
        drm/amd: Disallow s0ix without BIOS support again
        drm/i915/selftests: Add some missing error propagation
        drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl
        ...
      33f2b578
    • Linus Torvalds's avatar
      Merge tag 'cgroup-for-6.4-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 9cd6357f
      Linus Torvalds authored
      Pull cgroup fixes from Tejun Heo:
      
       - Fix css_set reference leaks on fork failures
      
       - Fix CPU hotplug locking in cgroup_transfer_tasks() which is used by
         cgroup1 cpuset
      
       - Doc update
      
      * tag 'cgroup-for-6.4-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: Documentation: Clarify usage of memory limits
        cgroup: always put cset in cgroup_css_set_put_fork
        cgroup: fix missing cpus_read_{lock,unlock}() in cgroup_transfer_tasks()
      9cd6357f
    • Dave Airlie's avatar
      Merge tag 'drm-msm-fixes-2023-06-08' of https://gitlab.freedesktop.org/drm/msm into drm-fixes · 986c34b4
      Dave Airlie authored
      A few more late fixes for v6.4-rc6
      
      + Fix max segment size to address splat on newer a6xx
      + Disable PSR by default w/ modparam to re-enable, since there
        still seems to be a lingering issue
      + Fix HPD issue
      + Fix issue with unitialized GMU mutex
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Rob Clark <robdclark@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGufjVZRNT6YfQ7YUXFC7Cz95wdLF7QHAYkiGfp+3Xc3DQ@mail.gmail.com
      986c34b4
    • Dmitry Baryshkov's avatar
      drm/msm/a6xx: initialize GMU mutex earlier · 12abd735
      Dmitry Baryshkov authored
      Move GMU mutex initialization earlier to make sure that it is always
      initialized. a6xx_destroy can be called from ther failure path before
      GMU initialization.
      
      This fixes the following backtrace:
      
      ------------[ cut here ]------------
      DEBUG_LOCKS_WARN_ON(lock->magic != lock)
      WARNING: CPU: 0 PID: 58 at kernel/locking/mutex.c:582 __mutex_lock+0x1ec/0x3d0
      Modules linked in:
      CPU: 0 PID: 58 Comm: kworker/u16:1 Not tainted 6.3.0-rc5-00155-g187c06436519 #565
      Hardware name: Qualcomm Technologies, Inc. SM8350 HDK (DT)
      Workqueue: events_unbound deferred_probe_work_func
      pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
      pc : __mutex_lock+0x1ec/0x3d0
      lr : __mutex_lock+0x1ec/0x3d0
      sp : ffff800008993620
      x29: ffff800008993620 x28: 0000000000000002 x27: ffff47b253c52800
      x26: 0000000001000606 x25: ffff47b240bb2810 x24: fffffffffffffff4
      x23: 0000000000000000 x22: ffffc38bba15ac14 x21: 0000000000000002
      x20: ffff800008993690 x19: ffff47b2430cc668 x18: fffffffffffe98f0
      x17: 6f74616c75676572 x16: 20796d6d75642067 x15: 0000000000000038
      x14: 0000000000000000 x13: ffffc38bbba050b8 x12: 0000000000000666
      x11: 0000000000000222 x10: ffffc38bbba603e8 x9 : ffffc38bbba050b8
      x8 : 00000000ffffefff x7 : ffffc38bbba5d0b8 x6 : 0000000000000222
      x5 : 000000000000bff4 x4 : 40000000fffff222 x3 : 0000000000000000
      x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff47b240cb1880
      Call trace:
       __mutex_lock+0x1ec/0x3d0
       mutex_lock_nested+0x2c/0x38
       a6xx_destroy+0xa0/0x138
       a6xx_gpu_init+0x41c/0x618
       adreno_bind+0x188/0x290
       component_bind_all+0x118/0x248
       msm_drm_bind+0x1c0/0x670
       try_to_bring_up_aggregate_device+0x164/0x1d0
       __component_add+0xa8/0x16c
       component_add+0x14/0x20
       dsi_dev_attach+0x20/0x2c
       dsi_host_attach+0x9c/0x144
       devm_mipi_dsi_attach+0x34/0xac
       lt9611uxc_attach_dsi.isra.0+0x84/0xfc
       lt9611uxc_probe+0x5b8/0x67c
       i2c_device_probe+0x1ac/0x358
       really_probe+0x148/0x2ac
       __driver_probe_device+0x78/0xe0
       driver_probe_device+0x3c/0x160
       __device_attach_driver+0xb8/0x138
       bus_for_each_drv+0x84/0xe0
       __device_attach+0x9c/0x188
       device_initial_probe+0x14/0x20
       bus_probe_device+0xac/0xb0
       deferred_probe_work_func+0x8c/0xc8
       process_one_work+0x2bc/0x594
       worker_thread+0x228/0x438
       kthread+0x108/0x10c
       ret_from_fork+0x10/0x20
      irq event stamp: 299345
      hardirqs last  enabled at (299345): [<ffffc38bb9ba61e4>] put_cpu_partial+0x1c8/0x22c
      hardirqs last disabled at (299344): [<ffffc38bb9ba61dc>] put_cpu_partial+0x1c0/0x22c
      softirqs last  enabled at (296752): [<ffffc38bb9890434>] _stext+0x434/0x4e8
      softirqs last disabled at (296741): [<ffffc38bb989669c>] ____do_softirq+0x10/0x1c
      ---[ end trace 0000000000000000 ]---
      
      Fixes: 4cd15a3e ("drm/msm/a6xx: Make GPU destroy a bit safer")
      Cc: Douglas Anderson <dianders@chromium.org>
      Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
      Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
      Patchwork: https://patchwork.freedesktop.org/patch/531540/Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      12abd735
    • Kuogee Hsieh's avatar
      drm/msm/dp: enable HDP plugin/unplugged interrupts at hpd_enable/disable · a8e981ac
      Kuogee Hsieh authored
      The internal_hpd flag is set to true by dp_bridge_hpd_enable() and set to
      false by dp_bridge_hpd_disable() to handle GPIO pinmuxed into DP controller
      case. HDP related interrupts can not be enabled until internal_hpd is set
      to true. At current implementation dp_display_config_hpd() will initialize
      DP host controller first followed by enabling HDP related interrupts if
      internal_hpd was true at that time. Enable HDP related interrupts depends on
      internal_hpd status may leave system with DP driver host is in running state
      but without HDP related interrupts being enabled. This will prevent external
      display from being detected. Eliminated this dependency by moving HDP related
      interrupts enable/disable be done at dp_bridge_hpd_enable/disable() directly
      regardless of internal_hpd status.
      
      Changes in V3:
      -- dp_catalog_ctrl_hpd_enable() and dp_catalog_ctrl_hpd_disable()
      -- rewording ocmmit text
      
      Changes in V4:
      -- replace dp_display_config_hpd() with dp_display_host_start()
      -- move enable_irq() at dp_display_host_start();
      
      Changes in V5:
      -- replace dp_display_host_start() with dp_display_host_init()
      
      Changes in V6:
      -- squash remove enable_irq() and disable_irq()
      
      Fixes: cd198cad ("drm/msm/dp: Rely on hpd_enable/disable callbacks")
      Signed-off-by: default avatarKuogee Hsieh <quic_khsieh@quicinc.com>
      Tested-by: Leonard Lausen <leonard@lausen.nl> # on sc7180 lazor
      Reviewed-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
      Reviewed-by: default avatarBjorn Andersson <andersson@kernel.org>
      Tested-by: default avatarBjorn Andersson <andersson@kernel.org>
      Reviewed-by: default avatarAbhinav Kumar <quic_abhinavk@quicinc.com>
      Link: https://lore.kernel.org/r/1684878756-17830-1-git-send-email-quic_khsieh@quicinc.comSigned-off-by: default avatarRob Clark <robdclark@chromium.org>
      a8e981ac
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2023-06-08' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · bcd84301
      Dave Airlie authored
      drm-misc-fixes for v6.4-rc6:
      - resume and modeset fixes for ast.
      - Fill in fb-helper vars more correctly.
      - Assorted ivpu fixes.
      - lima context destroy fix.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/ea6b88ec-b653-3781-0b68-cd0275c27923@linux.intel.com
      bcd84301
    • Dave Airlie's avatar
      Merge tag 'exynos-drm-fixes-for-v6.4-rc6' of... · 02b8f0b7
      Dave Airlie authored
      Merge tag 'exynos-drm-fixes-for-v6.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes
      
      Two fixups
      - Fix wrong return in Exynos vidi driver.
      - Fix use-after-free issue to Exynos g2d driver.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Inki Dae <inki.dae@samsung.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230607043148.43303-1-inki.dae@samsung.com
      02b8f0b7
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2023-06-08' of... · d6d4f0a1
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2023-06-08' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      CDCLK voltage fix for ADL-P and eDP wake sync pulse fix.
      Two error handling fixes to selftests (to appease static checkers)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/ZIGUHBz7+LsqN2nm@jlahtine-mobl.ger.corp.intel.com
      d6d4f0a1
  2. 08 Jun, 2023 21 commits
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-6.4-2023-06-07' of... · b1913ff4
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-6.4-2023-06-07' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
      
      amd-drm-fixes-6.4-2023-06-07:
      
      amdgpu:
      - S0ix fixes
      - GPU reset fixes
      - SMU13 fixes
      - SMU11 fixes
      - Misc Display fixes
      - Revert RV/RV2/PCO clock counter changes
      - Fix Stoney xclk value
      - Fix reserved vram debug info
      
      radeon:
      - Fix a potential use after free
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230607213740.7723-1-alexander.deucher@amd.com
      b1913ff4
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 8d15d5e1
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "Two tiny arm64 fixes for -rc6.
      
        One fixes a build breakage when MAX_ORDER can be nonsensical if
        CONFIG_EXPERT=y and the other fixes the address masking for perf's
        page fault software events so that it is consistent amongst them:
      
         - Fix build breakage due to bogus MAX_ORDER definitions on !4k pages
      
         - Avoid masking fault address for perf software events"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: pass original fault address to handle_mm_fault() in PER_VMA_LOCK block
        arm64: Remove the ARCH_FORCE_MAX_ORDER config input prompt
      8d15d5e1
    • Mike Christie's avatar
      vhost: Fix worker hangs due to missed wake up calls · 4b13cbef
      Mike Christie authored
      We can race where we have added work to the work_list, but
      vhost_task_fn has passed that check but not yet set us into
      TASK_INTERRUPTIBLE. wake_up_process will see us in TASK_RUNNING and
      just return.
      
      This bug was intoduced in commit f9010dbd ("fork, vhost: Use
      CLONE_THREAD to fix freezer/ps regression") when I moved the setting
      of TASK_INTERRUPTIBLE to simplfy the code and avoid get_signal from
      logging warnings about being in the wrong state. This moves the setting
      of TASK_INTERRUPTIBLE back to before we test if we need to stop the
      task to avoid a possible race there as well. We then have vhost_worker
      set TASK_RUNNING if it finds work similar to before.
      
      Fixes: f9010dbd ("fork, vhost: Use CLONE_THREAD to fix freezer/ps regression")
      Signed-off-by: default avatarMike Christie <michael.christie@oracle.com>
      Message-Id: <20230607192338.6041-3-michael.christie@oracle.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      4b13cbef
    • Mike Christie's avatar
      vhost: Fix crash during early vhost_transport_send_pkt calls · a284f09e
      Mike Christie authored
      If userspace does VHOST_VSOCK_SET_GUEST_CID before VHOST_SET_OWNER we
      can race where:
      1. thread0 calls vhost_transport_send_pkt -> vhost_work_queue
      2. thread1 does VHOST_SET_OWNER which calls vhost_worker_create.
      3. vhost_worker_create will set the dev->worker pointer before setting
      the worker->vtsk pointer.
      4. thread0's vhost_work_queue will see the dev->worker pointer is
      set and try to call vhost_task_wake using not yet set worker->vtsk
      pointer.
      5. We then crash since vtsk is NULL.
      
      Before commit 6e890c5d ("vhost: use vhost_tasks for worker
      threads"), we only had the worker pointer so we could just check it to
      see if VHOST_SET_OWNER has been done. After that commit we have the
      vhost_worker and vhost_task pointer, so we can now hit the bug above.
      
      This patch embeds the vhost_worker in the vhost_dev and moves the work
      list initialization back to vhost_dev_init, so we can just check the
      worker.vtsk pointer to check if VHOST_SET_OWNER has been done like
      before.
      
      Fixes: 6e890c5d ("vhost: use vhost_tasks for worker threads")
      Signed-off-by: default avatarMike Christie <michael.christie@oracle.com>
      Message-Id: <20230607192338.6041-2-michael.christie@oracle.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reported-by: syzbot+d0d442c22fa8db45ff0e@syzkaller.appspotmail.com
      Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
      a284f09e
    • Andrey Smetanin's avatar
      vhost_net: revert upend_idx only on retriable error · 1f5d2e3b
      Andrey Smetanin authored
      Fix possible virtqueue used buffers leak and corresponding stuck
      in case of temporary -EIO from sendmsg() which is produced by
      tun driver while backend device is not up.
      
      In case of no-retriable error and zcopy do not revert upend_idx
      to pass packet data (that is update used_idx in corresponding
      vhost_zerocopy_signal_used()) as if packet data has been
      transferred successfully.
      
      v2: set vq->heads[ubuf->desc].len equal to VHOST_DMA_DONE_LEN
      in case of fake successful transmit.
      Signed-off-by: default avatarAndrey Smetanin <asmetanin@yandex-team.ru>
      Message-Id: <20230424204411.24888-1-asmetanin@yandex-team.ru>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarAndrey Smetanin <asmetanin@yandex-team.ru>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      1f5d2e3b
    • Shannon Nelson's avatar
      vhost_vdpa: tell vqs about the negotiated · 376daf31
      Shannon Nelson authored
      As is done in the net, iscsi, and vsock vhost support, let the vdpa vqs
      know about the features that have been negotiated.  This allows vhost
      to more safely make decisions based on the features, such as when using
      PACKED vs split queues.
      Signed-off-by: default avatarShannon Nelson <shannon.nelson@amd.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      Message-Id: <20230424225031.18947-2-shannon.nelson@amd.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      376daf31
    • Dragos Tatulea's avatar
      vdpa/mlx5: Fix hang when cvq commands are triggered during device unregister · 73790bdf
      Dragos Tatulea authored
      Currently the vdpa device is unregistered after the workqueue that
      processes vq commands is disabled. However, the device unregister
      process can still send commands to the cvq (a vlan delete for example)
      which leads to a hang because the handing workqueue has been disabled
      and the command never finishes:
      
       [ 2263.095764] rcu: INFO: rcu_sched self-detected stall on CPU
       [ 2263.096307] rcu:        9-....: (5250 ticks this GP) idle=dac4/1/0x4000000000000000 softirq=111009/111009 fqs=2544
       [ 2263.097154] rcu:        (t=5251 jiffies g=393549 q=347 ncpus=10)
       [ 2263.097648] CPU: 9 PID: 94300 Comm: kworker/u20:2 Not tainted 6.3.0-rc6_for_upstream_min_debug_2023_04_14_00_02 #1
       [ 2263.098535] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
       [ 2263.099481] Workqueue: mlx5_events mlx5_vhca_state_work_handler [mlx5_core]
       [ 2263.100143] RIP: 0010:virtnet_send_command+0x109/0x170
       [ 2263.100621] Code: 1d df f5 ff 85 c0 78 5c 48 8b 7b 08 e8 d0 c5 f5 ff 84 c0 75 11 eb 22 48 8b 7b 08 e8 01 b7 f5 ff 84 c0 75 15 f3 90 48 8b 7b 08 <48> 8d 74 24 04 e8 8d c5 f5 ff 48 85 c0 74 de 48 8b 83 f8 00 00 00
       [ 2263.102148] RSP: 0018:ffff888139cf36e8 EFLAGS: 00000246
       [ 2263.102624] RAX: 0000000000000000 RBX: ffff888166bea940 RCX: 0000000000000001
       [ 2263.103244] RDX: 0000000000000000 RSI: ffff888139cf36ec RDI: ffff888146763800
       [ 2263.103864] RBP: ffff888139cf3710 R08: ffff88810d201000 R09: 0000000000000000
       [ 2263.104473] R10: 0000000000000002 R11: 0000000000000003 R12: 0000000000000002
       [ 2263.105082] R13: 0000000000000002 R14: ffff888114528400 R15: ffff888166bea000
       [ 2263.105689] FS:  0000000000000000(0000) GS:ffff88852cc80000(0000) knlGS:0000000000000000
       [ 2263.106404] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
       [ 2263.106925] CR2: 00007f31f394b000 CR3: 000000010615b006 CR4: 0000000000370ea0
       [ 2263.107542] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
       [ 2263.108163] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
       [ 2263.108769] Call Trace:
       [ 2263.109059]  <TASK>
       [ 2263.109320]  ? check_preempt_wakeup+0x11f/0x230
       [ 2263.109750]  virtnet_vlan_rx_kill_vid+0x5a/0xa0
       [ 2263.110180]  vlan_vid_del+0x9c/0x170
       [ 2263.110546]  vlan_device_event+0x351/0x760 [8021q]
       [ 2263.111004]  raw_notifier_call_chain+0x41/0x60
       [ 2263.111426]  dev_close_many+0xcb/0x120
       [ 2263.111808]  unregister_netdevice_many_notify+0x130/0x770
       [ 2263.112297]  ? wq_worker_running+0xa/0x30
       [ 2263.112688]  unregister_netdevice_queue+0x89/0xc0
       [ 2263.113128]  unregister_netdev+0x18/0x20
       [ 2263.113512]  virtnet_remove+0x4f/0x230
       [ 2263.113885]  virtio_dev_remove+0x31/0x70
       [ 2263.114273]  device_release_driver_internal+0x18f/0x1f0
       [ 2263.114746]  bus_remove_device+0xc6/0x130
       [ 2263.115146]  device_del+0x173/0x3c0
       [ 2263.115502]  ? kernfs_find_ns+0x35/0xd0
       [ 2263.115895]  device_unregister+0x1a/0x60
       [ 2263.116279]  unregister_virtio_device+0x11/0x20
       [ 2263.116706]  device_release_driver_internal+0x18f/0x1f0
       [ 2263.117182]  bus_remove_device+0xc6/0x130
       [ 2263.117576]  device_del+0x173/0x3c0
       [ 2263.117929]  ? vdpa_dev_remove+0x20/0x20 [vdpa]
       [ 2263.118364]  device_unregister+0x1a/0x60
       [ 2263.118752]  mlx5_vdpa_dev_del+0x4c/0x80 [mlx5_vdpa]
       [ 2263.119232]  vdpa_match_remove+0x21/0x30 [vdpa]
       [ 2263.119663]  bus_for_each_dev+0x71/0xc0
       [ 2263.120054]  vdpa_mgmtdev_unregister+0x57/0x70 [vdpa]
       [ 2263.120520]  mlx5v_remove+0x12/0x20 [mlx5_vdpa]
       [ 2263.120953]  auxiliary_bus_remove+0x18/0x30
       [ 2263.121356]  device_release_driver_internal+0x18f/0x1f0
       [ 2263.121830]  bus_remove_device+0xc6/0x130
       [ 2263.122223]  device_del+0x173/0x3c0
       [ 2263.122581]  ? devl_param_driverinit_value_get+0x29/0x90
       [ 2263.123070]  mlx5_rescan_drivers_locked+0xc4/0x2d0 [mlx5_core]
       [ 2263.123633]  mlx5_unregister_device+0x54/0x80 [mlx5_core]
       [ 2263.124169]  mlx5_uninit_one+0x54/0x150 [mlx5_core]
       [ 2263.124656]  mlx5_sf_dev_remove+0x45/0x90 [mlx5_core]
       [ 2263.125153]  auxiliary_bus_remove+0x18/0x30
       [ 2263.125560]  device_release_driver_internal+0x18f/0x1f0
       [ 2263.126052]  bus_remove_device+0xc6/0x130
       [ 2263.126451]  device_del+0x173/0x3c0
       [ 2263.126815]  mlx5_sf_dev_remove+0x39/0xf0 [mlx5_core]
       [ 2263.127318]  mlx5_sf_dev_state_change_handler+0x178/0x270 [mlx5_core]
       [ 2263.127920]  blocking_notifier_call_chain+0x5a/0x80
       [ 2263.128379]  mlx5_vhca_state_work_handler+0x151/0x200 [mlx5_core]
       [ 2263.128951]  process_one_work+0x1bb/0x3c0
       [ 2263.129355]  ? process_one_work+0x3c0/0x3c0
       [ 2263.129766]  worker_thread+0x4d/0x3c0
       [ 2263.130140]  ? process_one_work+0x3c0/0x3c0
       [ 2263.130548]  kthread+0xb9/0xe0
       [ 2263.130895]  ? kthread_complete_and_exit+0x20/0x20
       [ 2263.131349]  ret_from_fork+0x1f/0x30
       [ 2263.131717]  </TASK>
      
      The fix is to disable and destroy the workqueue after the device
      unregister. It is expected that vhost will not trigger kicks after
      the unregister. But even if it would, the wq is disabled already by
      setting the pointer to NULL (done so in the referenced commit).
      
      Fixes: ad6dc1da ("vdpa/mlx5: Avoid processing works if workqueue was destroyed")
      Signed-off-by: default avatarDragos Tatulea <dtatulea@nvidia.com>
      Message-Id: <20230516095800.3549932-1-dtatulea@nvidia.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: default avatarTariq Toukan <tariqt@nvidia.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      73790bdf
    • Rong Tao's avatar
      tools/virtio: Add .gitignore for ringtest · c66dbc39
      Rong Tao authored
      Ignore executables for ringtest.
      Signed-off-by: default avatarRong Tao <rongtao@cestc.cn>
      Message-Id: <tencent_C121802C93CB4095C6D7D95113442E830A07@qq.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      c66dbc39
    • Rong Tao's avatar
      tools/virtio: Fix arm64 ringtest compilation error · 57380fd1
      Rong Tao authored
      Add cpu_relax() for arm64 instead of directly assert(), and add assert.h
      header file. Also, add smp_wmb and smp_mb for arm64.
      
      Compilation error as follows, avoid __always_inline undefined.
      
          $ make
          cc -Wall -pthread -O2 -ggdb -flto -fwhole-program -c -o ring.o ring.c
          In file included from ring.c:10:
          main.h: In function ‘busy_wait’:
          main.h:99:21: warning: implicit declaration of function ‘assert’
          [-Wimplicit-function-declaration]
          99 | #define cpu_relax() assert(0)
              |                     ^~~~~~
          main.h:107:17: note: in expansion of macro ‘cpu_relax’
          107 |                 cpu_relax();
              |                 ^~~~~~~~~
          main.h:12:1: note: ‘assert’ is defined in header ‘<assert.h>’; did you
          forget to ‘#include <assert.h>’?
          11 | #include <stdbool.h>
          +++ |+#include <assert.h>
          12 |
          main.h: At top level:
          main.h:143:23: error: expected ‘;’ before ‘void’
          143 | static __always_inline
              |                       ^
              |                       ;
          144 | void __read_once_size(const volatile void *p, void *res, int
          size)
              | ~~~~
          main.h:158:23: error: expected ‘;’ before ‘void’
          158 | static __always_inline void __write_once_size(volatile void *p,
          void *res, int size)
              |                       ^~~~~
              |                       ;
          make: *** [<builtin>: ring.o] Error 1
      Signed-off-by: default avatarRong Tao <rongtao@cestc.cn>
      Message-Id: <tencent_F53E159DD7925174445D830DA19FACF44B07@qq.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      57380fd1
    • Sheng Zhao's avatar
      vduse: avoid empty string for dev name · a90e8608
      Sheng Zhao authored
      Syzkaller hits a kernel WARN when the first character of the dev name
      provided is NULL. Solution is to add a NULL check before calling
      cdev_device_add() in vduse_create_dev().
      
      kobject: (0000000072042169): attempted to be registered with empty name!
      WARNING: CPU: 0 PID: 112695 at lib/kobject.c:236
      Call Trace:
       kobject_add_varg linux/src/lib/kobject.c:390 [inline]
       kobject_add+0xf6/0x150 linux/src/lib/kobject.c:442
       device_add+0x28f/0xc20 linux/src/drivers/base/core.c:2167
       cdev_device_add+0x83/0xc0 linux/src/fs/char_dev.c:546
       vduse_create_dev linux/src/drivers/vdpa/vdpa_user/vduse_dev.c:2254 [inline]
       vduse_ioctl+0x7b5/0xf30 linux/src/drivers/vdpa/vdpa_user/vduse_dev.c:2316
       vfs_ioctl linux/src/fs/ioctl.c:47 [inline]
       file_ioctl linux/src/fs/ioctl.c:510 [inline]
       do_vfs_ioctl+0x14b/0xa80 linux/src/fs/ioctl.c:697
       ksys_ioctl+0x7c/0xa0 linux/src/fs/ioctl.c:714
       __do_sys_ioctl linux/src/fs/ioctl.c:721 [inline]
       __se_sys_ioctl linux/src/fs/ioctl.c:719 [inline]
       __x64_sys_ioctl+0x42/0x50 linux/src/fs/ioctl.c:719
       do_syscall_64+0x94/0x330 linux/src/arch/x86/entry/common.c:291
       entry_SYSCALL_64_after_hwframe+0x44/0xa9
      
      Fixes: c8a6153b ("vduse: Introduce VDUSE - vDPA Device in Userspace")
      Cc: "Xie Yongji" <xieyongji@bytedance.com>
      Reported-by: default avatarXianjun Zeng <zengxianjun@bytedance.com>
      Signed-off-by: default avatarSheng Zhao <sheng.zhao@bytedance.com>
      Message-Id: <20230530033626.1266794-1-sheng.zhao@bytedance.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      Reviewed-by: default avatarXie Yongji <xieyongji@bytedance.com>
      Cc: "Michael S. Tsirkin"<mst@redhat.com>, "Jason Wang"<jasowang@redhat.com>,
      Reviewed-by: default avatarXie Yongji <xieyongji@bytedance.com>
      a90e8608
    • Ruan Jinjie's avatar
      riscv: fix kprobe __user string arg print fault issue · 99a670b2
      Ruan Jinjie authored
      On riscv qemu platform, when add kprobe event on do_sys_open() to show
      filename string arg, it just print fault as follow:
      
      echo 'p:myprobe do_sys_open dfd=$arg1 filename=+0($arg2):string flags=$arg3
      mode=$arg4' > kprobe_events
      
      bash-166     [000] ...1.   360.195367: myprobe: (do_sys_open+0x0/0x84)
      dfd=0xffffffffffffff9c filename=(fault) flags=0x8241 mode=0x1b6
      
      bash-166     [000] ...1.   360.219369: myprobe: (do_sys_open+0x0/0x84)
      dfd=0xffffffffffffff9c filename=(fault) flags=0x8241 mode=0x1b6
      
      bash-191     [000] ...1.   360.378827: myprobe: (do_sys_open+0x0/0x84)
      dfd=0xffffffffffffff9c filename=(fault) flags=0x98800 mode=0x0
      
      As riscv do not select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE,
      the +0($arg2) addr is processed as a kernel address though it is a
      userspace address, cause the above filename=(fault) print. So select
      ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE to avoid the issue, after that the
      kprobe trace is ok as below:
      
      bash-166     [000] ...1.    96.767641: myprobe: (do_sys_open+0x0/0x84)
      dfd=0xffffffffffffff9c filename="/dev/null" flags=0x8241 mode=0x1b6
      
      bash-166     [000] ...1.    96.793751: myprobe: (do_sys_open+0x0/0x84)
      dfd=0xffffffffffffff9c filename="/dev/null" flags=0x8241 mode=0x1b6
      
      bash-177     [000] ...1.    96.962354: myprobe: (do_sys_open+0x0/0x84)
      dfd=0xffffffffffffff9c filename="/sys/kernel/debug/tracing/events/kprobes/"
      flags=0x98800 mode=0x0
      Signed-off-by: default avatarRuan Jinjie <ruanjinjie@huawei.com>
      Acked-by: default avatarBjörn Töpel <bjorn@rivosinc.com>
      Fixes: 0ebeea8c ("bpf: Restrict bpf_probe_read{, str}() only to archs where they work")
      Link: https://lore.kernel.org/r/20230504072910.3742842-1-ruanjinjie@huawei.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      99a670b2
    • Linus Torvalds's avatar
      Merge tag 'net-6.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 25041a4c
      Linus Torvalds authored
      Pull networking fixes from Paolo Abeni:
       "Including fixes from can, wifi, netfilter, bluetooth and ebpf.
      
        Current release - regressions:
      
         - bpf: sockmap: avoid potential NULL dereference in
           sk_psock_verdict_data_ready()
      
         - wifi: iwlwifi: fix -Warray-bounds bug in iwl_mvm_wait_d3_notif()
      
         - phylink: actually fix ksettings_set() ethtool call
      
         - eth: dwmac-qcom-ethqos: fix a regression on EMAC < 3
      
        Current release - new code bugs:
      
         - wifi: mt76: fix possible NULL pointer dereference in
           mt7996_mac_write_txwi()
      
        Previous releases - regressions:
      
         - netfilter: fix NULL pointer dereference in nf_confirm_cthelper
      
         - wifi: rtw88/rtw89: correct PS calculation for SUPPORTS_DYNAMIC_PS
      
         - openvswitch: fix upcall counter access before allocation
      
         - bluetooth:
            - fix use-after-free in hci_remove_ltk/hci_remove_irk
            - fix l2cap_disconnect_req deadlock
      
         - nic: bnxt_en: prevent kernel panic when receiving unexpected
           PHC_UPDATE event
      
        Previous releases - always broken:
      
         - core: annotate rfs lockless accesses
      
         - sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values
      
         - netfilter: add null check for nla_nest_start_noflag() in
           nft_dump_basechain_hook()
      
         - bpf: fix UAF in task local storage
      
         - ipv4: ping_group_range: allow GID from 2147483648 to 4294967294
      
         - ipv6: rpl: fix route of death.
      
         - tcp: gso: really support BIG TCP
      
         - mptcp: fixes for user-space PM address advertisement
      
         - smc: avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT
      
         - can: avoid possible use-after-free when j1939_can_rx_register fails
      
         - batman-adv: fix UaF while rescheduling delayed work
      
         - eth: qede: fix scheduling while atomic
      
         - eth: ice: make writes to /dev/gnssX synchronous"
      
      * tag 'net-6.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (83 commits)
        bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks
        bnxt_en: Prevent kernel panic when receiving unexpected PHC_UPDATE event
        bnxt_en: Skip firmware fatal error recovery if chip is not accessible
        bnxt_en: Query default VLAN before VNIC setup on a VF
        bnxt_en: Don't issue AP reset during ethtool's reset operation
        bnxt_en: Fix bnxt_hwrm_update_rss_hash_cfg()
        net: bcmgenet: Fix EEE implementation
        eth: ixgbe: fix the wake condition
        eth: bnxt: fix the wake condition
        lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release()
        bpf: Add extra path pointer check to d_path helper
        net: sched: fix possible refcount leak in tc_chain_tmplt_add()
        net: sched: act_police: fix sparse errors in tcf_police_dump()
        net: openvswitch: fix upcall counter access before allocation
        net: sched: move rtm_tca_policy declaration to include file
        ice: make writes to /dev/gnssX synchronous
        net: sched: add rcu annotations around qdisc->qdisc_sleeping
        rfs: annotate lockless accesses to RFS sock flow table
        rfs: annotate lockless accesses to sk->sk_rxhash
        virtio_net: use control_buf for coalesce params
        ...
      25041a4c
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.4-rc5-fixes' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 79b6fad5
      Linus Torvalds authored
      Pull xfs fixes from Dave Chinner:
       "These are a set of regression fixes discovered on recent kernels. I
        was hoping to send this to you a week and half ago, but events out of
        my control delayed finalising the changes until early this week.
      
        Whilst the diffstat looks large for this stage of the merge window, a
        large chunk of it comes from moving the guts of one function from one
        file to another i.e. it's the same code, it is just run in a different
        context where it is safe to hold a specific lock. Otherwise the
        individual changes are relatively small and straigtht forward.
      
        Summary:
      
         - Propagate unlinked inode list corruption back up to log recovery
           (regression fix)
      
         - improve corruption detection for AGFL entries, AGFL indexes and
           XEFI extents (syzkaller fuzzer oops report)
      
         - Avoid double perag reference release (regression fix)
      
         - Improve extent merging detection in scrub (regression fix)
      
         - Fix a new undefined high bit shift (regression fix)
      
         - Fix for AGF vs inode cluster buffer deadlock (regression fix)"
      
      * tag 'xfs-6.4-rc5-fixes' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: collect errors from inodegc for unlinked inode recovery
        xfs: validate block number being freed before adding to xefi
        xfs: validity check agbnos on the AGFL
        xfs: fix agf/agfl verification on v4 filesystems
        xfs: fix double xfs_perag_rele() in xfs_filestream_pick_ag()
        xfs: fix broken logic when detecting mergeable bmap records
        xfs: Fix undefined behavior of shift into sign bit
        xfs: fix AGF vs inode cluster buffer deadlock
        xfs: defered work could create precommits
        xfs: restore allocation trylock iteration
        xfs: buffer pins need to hold a buffer reference
      79b6fad5
    • Theodore Ts'o's avatar
      ext4: only check dquot_initialize_needed() when debugging · dea9d8f7
      Theodore Ts'o authored
      ext4_xattr_block_set() relies on its caller to call dquot_initialize()
      on the inode.  To assure that this has happened there are WARN_ON
      checks.  Unfortunately, this is subject to false positives if there is
      an antagonist thread which is flipping the file system at high rates
      between r/o and rw.  So only do the check if EXT4_XATTR_DEBUG is
      enabled.
      
      Link: https://lore.kernel.org/r/20230608044056.GA1418535@mit.eduSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      dea9d8f7
    • Theodore Ts'o's avatar
    • Paolo Abeni's avatar
      Merge branch 'bnxt_en-bug-fixes' · 6c0ec7ab
      Paolo Abeni authored
      Michael Chan says:
      
      ====================
      bnxt_en: Bug fixes
      
      This patchset has the following fixes for bnxt_en:
      
      1. Add missing VNIC ID parameter in the FW message when getting an
      updated RSS configuration from the FW.
      
      2. Fix a warning when doing ethtool reset on newer chips.
      
      3. Fix VLAN issue on a VF when a default VLAN is assigned.
      
      4. Fix a problem during DPC (Downstream Port containment) scenario.
      
      5. Fix a NULL pointer dereference when receiving a PTP event from FW.
      
      6. Fix VXLAN/Geneve UDP port delete/add with newer FW.
      ====================
      
      Link: https://lore.kernel.org/r/20230607075409.228450-1-michael.chan@broadcom.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      6c0ec7ab
    • Somnath Kotur's avatar
      bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks · 1eb4ef12
      Somnath Kotur authored
      As per the new udp tunnel framework, drivers which need to know the
      details of a port entry (i.e. port type) when it gets deleted should
      use the .set_port / .unset_port callbacks.
      
      Implementing the current .udp_tunnel_sync callback would mean that the
      deleted tunnel port entry would be all zeros.  This used to work on
      older firmware because it would not check the input when deleting a
      tunnel port.  With newer firmware, the delete will now fail and
      subsequent tunnel port allocation will fail as a result.
      
      Fixes: 442a35a5 ("bnxt: convert to new udp_tunnel_nic infra")
      Reviewed-by: default avatarKalesh Anakkur Purayil <kalesh-anakkur.purayil@broadcom.com>
      Signed-off-by: default avatarSomnath Kotur <somnath.kotur@broadcom.com>
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      1eb4ef12
    • Pavan Chebbi's avatar
      bnxt_en: Prevent kernel panic when receiving unexpected PHC_UPDATE event · 319a7827
      Pavan Chebbi authored
      The firmware can send PHC_RTC_UPDATE async event on a PF that may not
      have PTP registered. In such a case, there will be a null pointer
      deference for bp->ptp_cfg when we try to handle the event.
      
      Fix it by not registering for this event with the firmware if !bp->ptp_cfg.
      Also, check that bp->ptp_cfg is valid before proceeding when we receive
      the event.
      
      Fixes: 8bcf6f04 ("bnxt_en: Handle async event when the PHC is updated in RTC mode")
      Signed-off-by: default avatarPavan Chebbi <pavan.chebbi@broadcom.com>
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      319a7827
    • Vikas Gupta's avatar
      bnxt_en: Skip firmware fatal error recovery if chip is not accessible · 83474a9b
      Vikas Gupta authored
      Driver starts firmware fatal error recovery by detecting
      heartbeat failure or fw reset count register changing.  But
      these checks are not reliable if the device is not accessible.
      This can happen while DPC (Downstream Port containment) is in
      progress.  Skip firmware fatal recovery if pci_device_is_present()
      returns false.
      
      Fixes: acfb50e4 ("bnxt_en: Add FW fatal devlink_health_reporter.")
      Reviewed-by: default avatarSomnath Kotur <somnath.kotur@broadcom.com>
      Reviewed-by: default avatarPavan Chebbi <pavan.chebbi@broadcom.com>
      Signed-off-by: default avatarVikas Gupta <vikas.gupta@broadcom.com>
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      83474a9b
    • Somnath Kotur's avatar
      bnxt_en: Query default VLAN before VNIC setup on a VF · 1a9e4f50
      Somnath Kotur authored
      We need to call bnxt_hwrm_func_qcfg() on a VF to query the default
      VLAN that may be setup by the PF.  If a default VLAN is enabled,
      the VF cannot support VLAN acceleration on the receive side and
      the VNIC must be setup to strip out the default VLAN tag.  If a
      default VLAN is not enabled, the VF can support VLAN acceleration
      on the receive side.  The VNIC should be set up to strip or not
      strip the VLAN based on the RX VLAN acceleration setting.
      
      Without this call to determine the default VLAN before calling
      bnxt_setup_vnic(), the VNIC may not be set up correctly.  For
      example, bnxt_setup_vnic() may set up to strip the VLAN tag based
      on stale default VLAN information.  If RX VLAN acceleration is
      not enabled, the VLAN tag will be incorrectly stripped and the
      RX data path will not work correctly.
      
      Fixes: cf6645f8 ("bnxt_en: Add function for VF driver to query default VLAN.")
      Reviewed-by: default avatarPavan Chebbi <pavan.chebbi@broadcom.com>
      Signed-off-by: default avatarSomnath Kotur <somnath.kotur@broadcom.com>
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      1a9e4f50
    • Sreekanth Reddy's avatar
      bnxt_en: Don't issue AP reset during ethtool's reset operation · 1d997801
      Sreekanth Reddy authored
      Only older NIC controller's firmware uses the PROC AP reset type.
      Firmware on 5731X/5741X and newer chips does not support this reset
      type.  When bnxt_reset() issues a series of resets, this PROC AP
      reset may actually fail on these newer chips because the firmware
      is not ready to accept this unsupported command yet.  Avoid this
      unnecessary error by skipping this reset type on chips that don't
      support it.
      
      Fixes: 7a13240e ("bnxt_en: fix ethtool_reset_flags ABI violations")
      Reviewed-by: default avatarPavan Chebbi <pavan.chebbi@broadcom.com>
      Signed-off-by: default avatarSreekanth Reddy <sreekanth.reddy@broadcom.com>
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      1d997801