Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v6.8.0-scx1 #17

Merged
merged 263 commits into from
Mar 11, 2024
Merged

v6.8.0-scx1 #17

merged 263 commits into from
Mar 11, 2024
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Feb 19, 2024

  1. mei: Add Meteor Lake support for IVSC device

    Add IVSC device support on Meteor Lake platform.
    
    Signed-off-by: Wentong Wu <wentong.wu@intel.com>
    Cc: stable <stable@kernel.org>
    Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Acked-by: Tomas Winkler <tomas.winkler@intel.com>
    Link: https://lore.kernel.org/r/20240207004304.31862-1-wentong.wu@intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    wentongwu authored and gregkh committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    daaf528 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2024

  1. arm64: tegra: Fix Tegra234 MGBE power-domains

    The MGBE power-domains on Tegra234 are mapped to the MGBE controllers as
    follows:
    
     MGBE0 (0x68000000) --> Power-Domain MGBEB
     MGBE1 (0x69000000) --> Power-Domain MGBEC
     MGBE2 (0x6a000000) --> Power-Domain MGBED
    
    Update the device-tree nodes for Tegra234 to correct this.
    
    Fixes: 610cdf3 ("arm64: tegra: Add MGBE nodes on Tegra234")
    Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
    Signed-off-by: Thierry Reding <treding@nvidia.com>
    jonhunter authored and thierryreding committed Feb 22, 2024
    Configuration menu
    Copy the full SHA
    ff6bd76 View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2024

  1. KVM: Make KVM_MEM_GUEST_MEMFD mutually exclusive with KVM_MEM_READONLY

    Disallow creating read-only memslots that support GUEST_MEMFD, as
    GUEST_MEMFD is fundamentally incompatible with KVM's semantics for
    read-only memslots.  Read-only memslots allow the userspace VMM to emulate
    option ROMs by filling the backing memory with readable, executable code
    and data, while triggering emulated MMIO on writes.  GUEST_MEMFD doesn't
    currently support writes from userspace and KVM doesn't support emulated
    MMIO on private accesses, i.e. the guest can only ever read zeros, and
    writes will always be treated as errors.
    
    Cc: Fuad Tabba <tabba@google.com>
    Cc: Michael Roth <michael.roth@amd.com>
    Cc: Isaku Yamahata <isaku.yamahata@gmail.com>
    Cc: Yu Zhang <yu.c.zhang@linux.intel.com>
    Cc: Chao Peng <chao.p.peng@linux.intel.com>
    Fixes: a7800aa ("KVM: Add KVM_CREATE_GUEST_MEMFD ioctl() for guest-specific backing memory")
    Link: https://lore.kernel.org/r/20240222190612.2942589-2-seanjc@google.com
    Signed-off-by: Sean Christopherson <seanjc@google.com>
    sean-jc committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    e563592 View commit details
    Browse the repository at this point in the history
  2. KVM: x86: Update KVM_SW_PROTECTED_VM docs to make it clear they're a WIP

    Rewrite the help message for KVM_SW_PROTECTED_VM to make it clear that
    software-protected VMs are a development and testing vehicle for
    guest_memfd(), and that attempting to use KVM_SW_PROTECTED_VM for anything
    remotely resembling a "real" VM will fail.  E.g. any memory accesses from
    KVM will incorrectly access shared memory, nested TDP is wildly broken,
    and so on and so forth.
    
    Update KVM's API documentation with similar warnings to discourage anyone
    from attempting to run anything but selftests with KVM_X86_SW_PROTECTED_VM.
    
    Fixes: 89ea60c ("KVM: x86: Add support for "protected VMs" that can utilize private memory")
    Link: https://lore.kernel.org/r/20240222190612.2942589-3-seanjc@google.com
    Signed-off-by: Sean Christopherson <seanjc@google.com>
    sean-jc committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    4226920 View commit details
    Browse the repository at this point in the history
  3. KVM: x86/mmu: Restrict KVM_SW_PROTECTED_VM to the TDP MMU

    Advertise and support software-protected VMs if and only if the TDP MMU is
    enabled, i.e. disallow KVM_SW_PROTECTED_VM if TDP is enabled for KVM's
    legacy/shadow MMU.  TDP support for the shadow MMU is maintenance-only,
    e.g. support for TDX and SNP will also be restricted to the TDP MMU.
    
    Fixes: 89ea60c ("KVM: x86: Add support for "protected VMs" that can utilize private memory")
    Link: https://lore.kernel.org/r/20240222190612.2942589-4-seanjc@google.com
    Signed-off-by: Sean Christopherson <seanjc@google.com>
    sean-jc committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    a1176ef View commit details
    Browse the repository at this point in the history
  4. KVM: selftests: Create GUEST_MEMFD for relevant invalid flags testcases

    Actually create a GUEST_MEMFD instance and pass it to KVM when doing
    negative tests for KVM_SET_USER_MEMORY_REGION2 + KVM_MEM_GUEST_MEMFD.
    Without a valid GUEST_MEMFD file descriptor, KVM_SET_USER_MEMORY_REGION2
    will always fail with -EINVAL, resulting in false passes for any and all
    tests of illegal combinations of KVM_MEM_GUEST_MEMFD and other flags.
    
    Fixes: 5d74316 ("KVM: selftests: Add a memory region subtest to validate invalid flags")
    Link: https://lore.kernel.org/r/20240222190612.2942589-5-seanjc@google.com
    Signed-off-by: Sean Christopherson <seanjc@google.com>
    sean-jc committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    63e5c5a View commit details
    Browse the repository at this point in the history
  5. KVM: selftests: Add a testcase to verify GUEST_MEMFD and READONLY are…

    … exclusive
    
    Extend set_memory_region_test's invalid flags subtest to verify that
    GUEST_MEMFD is incompatible with READONLY.  GUEST_MEMFD doesn't currently
    support writes from userspace and KVM doesn't support emulated MMIO on
    private accesses, and so KVM is supposed to reject the GUEST_MEMFD+READONLY
    in order to avoid configuration that KVM can't support.
    
    Link: https://lore.kernel.org/r/20240222190612.2942589-6-seanjc@google.com
    Signed-off-by: Sean Christopherson <seanjc@google.com>
    sean-jc committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    2dfd238 View commit details
    Browse the repository at this point in the history
  6. ARM: imx_v6_v7_defconfig: Restore CONFIG_BACKLIGHT_CLASS_DEVICE

    Since commit bfac19e ("fbdev: mx3fb: Remove the driver") backlight
    is no longer functional.
    
    The fbdev mx3fb driver used to automatically select
    CONFIG_BACKLIGHT_CLASS_DEVICE.
    
    Now that the mx3fb driver has been removed, enable the
    CONFIG_BACKLIGHT_CLASS_DEVICE option so that backlight can still work
    by default.
    
    Tested on a imx6dl-sabresd board.
    
    Cc: stable@vger.kernel.org
    Fixes: bfac19e ("fbdev: mx3fb: Remove the driver")
    Signed-off-by: Fabio Estevam <festevam@denx.de>
    Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
    Tested-by: Francesco Dolcini <francesco.dolcini@toradex.com> # Toradex Colibri iMX7
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    Fabio Estevam authored and Shawn Guo committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    2b0a5a8 View commit details
    Browse the repository at this point in the history
  7. KVM: SVM: Flush pages under kvm->lock to fix UAF in svm_register_enc_…

    …region()
    
    Do the cache flush of converted pages in svm_register_enc_region() before
    dropping kvm->lock to fix use-after-free issues where region and/or its
    array of pages could be freed by a different task, e.g. if userspace has
    __unregister_enc_region_locked() already queued up for the region.
    
    Note, the "obvious" alternative of using local variables doesn't fully
    resolve the bug, as region->pages is also dynamically allocated.  I.e. the
    region structure itself would be fine, but region->pages could be freed.
    
    Flushing multiple pages under kvm->lock is unfortunate, but the entire
    flow is a rare slow path, and the manual flush is only needed on CPUs that
    lack coherency for encrypted memory.
    
    Fixes: 19a23da ("Fix unsynchronized access to sev members through svm_register_enc_region")
    Reported-by: Gabe Kirkpatrick <gkirkpatrick@google.com>
    Cc: Josh Eads <josheads@google.com>
    Cc: Peter Gonda <pgonda@google.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Sean Christopherson <seanjc@google.com>
    Message-Id: <20240217013430.2079561-1-seanjc@google.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    sean-jc authored and bonzini committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    5ef1d8c View commit details
    Browse the repository at this point in the history
  8. KVM: x86/mmu: Retry fault before acquiring mmu_lock if mapping is cha…

    …nging
    
    Retry page faults without acquiring mmu_lock, and without even faulting
    the page into the primary MMU, if the resolved gfn is covered by an active
    invalidation.  Contending for mmu_lock is especially problematic on
    preemptible kernels as the mmu_notifier invalidation task will yield
    mmu_lock (see rwlock_needbreak()), delay the in-progress invalidation, and
    ultimately increase the latency of resolving the page fault.  And in the
    worst case scenario, yielding will be accompanied by a remote TLB flush,
    e.g. if the invalidation covers a large range of memory and vCPUs are
    accessing addresses that were already zapped.
    
    Faulting the page into the primary MMU is similarly problematic, as doing
    so may acquire locks that need to be taken for the invalidation to
    complete (the primary MMU has finer grained locks than KVM's MMU), and/or
    may cause unnecessary churn (getting/putting pages, marking them accessed,
    etc).
    
    Alternatively, the yielding issue could be mitigated by teaching KVM's MMU
    iterators to perform more work before yielding, but that wouldn't solve
    the lock contention and would negatively affect scenarios where a vCPU is
    trying to fault in an address that is NOT covered by the in-progress
    invalidation.
    
    Add a dedicated lockess version of the range-based retry check to avoid
    false positives on the sanity check on start+end WARN, and so that it's
    super obvious that checking for a racing invalidation without holding
    mmu_lock is unsafe (though obviously useful).
    
    Wrap mmu_invalidate_in_progress in READ_ONCE() to ensure that pre-checking
    invalidation in a loop won't put KVM into an infinite loop, e.g. due to
    caching the in-progress flag and never seeing it go to '0'.
    
    Force a load of mmu_invalidate_seq as well, even though it isn't strictly
    necessary to avoid an infinite loop, as doing so improves the probability
    that KVM will detect an invalidation that already completed before
    acquiring mmu_lock and bailing anyways.
    
    Do the pre-check even for non-preemptible kernels, as waiting to detect
    the invalidation until mmu_lock is held guarantees the vCPU will observe
    the worst case latency in terms of handling the fault, and can generate
    even more mmu_lock contention.  E.g. the vCPU will acquire mmu_lock,
    detect retry, drop mmu_lock, re-enter the guest, retake the fault, and
    eventually re-acquire mmu_lock.  This behavior is also why there are no
    new starvation issues due to losing the fairness guarantees provided by
    rwlocks: if the vCPU needs to retry, it _must_ drop mmu_lock, i.e. waiting
    on mmu_lock doesn't guarantee forward progress in the face of _another_
    mmu_notifier invalidation event.
    
    Note, adding READ_ONCE() isn't entirely free, e.g. on x86, the READ_ONCE()
    may generate a load into a register instead of doing a direct comparison
    (MOV+TEST+Jcc instead of CMP+Jcc), but practically speaking the added cost
    is a few bytes of code and maaaaybe a cycle or three.
    
    Reported-by: Yan Zhao <yan.y.zhao@intel.com>
    Closes: https://lore.kernel.org/all/ZNnPF4W26ZbAyGto@yzhao56-desk.sh.intel.com
    Reported-by: Friedrich Weber <f.weber@proxmox.com>
    Cc: Kai Huang <kai.huang@intel.com>
    Cc: Yan Zhao <yan.y.zhao@intel.com>
    Cc: Yuan Yao <yuan.yao@linux.intel.com>
    Cc: Xu Yilun <yilun.xu@linux.intel.com>
    Acked-by: Kai Huang <kai.huang@intel.com>
    Reviewed-by: Yan Zhao <yan.y.zhao@intel.com>
    Link: https://lore.kernel.org/r/20240222012640.2820927-1-seanjc@google.com
    Signed-off-by: Sean Christopherson <seanjc@google.com>
    sean-jc committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    d02c357 View commit details
    Browse the repository at this point in the history
  9. arm64: dts: allwinner: h616: Add Orange Pi Zero 2W to Makefile

    Orange Pi Zero 2W dts file is not included in Makefile. Fix this.
    
    Fixes: c505ee1 ("arm64: dts: allwinner: h616: add Orange Pi Zero 2W support")
    Reviewed-by: Andre Przywara <andre.przywara@arm.com>
    Link: https://lore.kernel.org/r/20240222211326.114955-1-jernej.skrabec@gmail.com
    Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
    jernejsk committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    cbec657 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2024

  1. iio: imu: inv_mpu6050: fix FIFO parsing when empty

    Now that we are reading the full FIFO in the interrupt handler,
    it is possible to have an emply FIFO since we are still receiving
    1 interrupt per data. Handle correctly this case instead of having
    an error causing a reset of the FIFO.
    
    Fixes: 0829edc ("iio: imu: inv_mpu6050: read the full fifo when processing data")
    Cc: stable@vger.kernel.org
    Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
    Link: https://lore.kernel.org/r/20240219154825.90656-1-inv.git-commit@tdk.com
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    jmaneyrol-invn authored and jic23 committed Feb 24, 2024
    Configuration menu
    Copy the full SHA
    60caa8b View commit details
    Browse the repository at this point in the history
  2. iio: pressure: Fixes BMP38x and BMP390 SPI support

    According to the datasheet of BMP38x and BMP390 devices, for an SPI
    read operation the first byte that is returned needs to be dropped,
    and the rest of the bytes are the actual data returned from the
    sensor.
    
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Fixes: 8d32930 ("iio: pressure: bmp280: Add support for BMP380 sensor family")
    Signed-off-by: Vasileios Amoiridis <vassilisamir@gmail.com>
    Acked-by: Angel Iglesias <ang.iglesiasg@gmail.com>
    Link: https://lore.kernel.org/r/20240219191359.18367-1-vassilisamir@gmail.com
    Cc: <Stable@vger.kernel.org>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    vamoirid authored and jic23 committed Feb 24, 2024
    Configuration menu
    Copy the full SHA
    a9dd9ba View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2024

  1. iio: imu: inv_mpu6050: fix frequency setting when chip is off

    Track correctly FIFO state and apply ODR change before starting
    the chip. Without the fix, you cannot change ODR more than 1 time
    when data buffering is off. This restriction on a single pending ODR
    change should only apply when the FIFO is on.
    
    Fixes: 111e1ab ("iio: imu: inv_mpu6050: use the common inv_sensors timestamp module")
    Cc: stable@vger.kernel.org
    Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
    Link: https://lore.kernel.org/r/20240219154741.90601-1-inv.git-commit@tdk.com
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    jmaneyrol-invn authored and jic23 committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    daec424 View commit details
    Browse the repository at this point in the history
  2. iio: pressure: dlhl60d: Initialize empty DLH bytes

    3 bytes were being read but 4 were being written. Explicitly initialize
    the unused bytes to 0 and refactor the loop to use direct array
    indexing, which appears to silence a Clang false positive warning[1].
    
    Indent improvement included for readability of the fixed code.
    
    Link: ClangBuiltLinux/linux#2000 [1]
    Fixes: ac78c6a ("iio: pressure: Add driver for DLH pressure sensors")
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Link: https://lore.kernel.org/r/20240223172936.it.875-kees@kernel.org
    Cc: <Stable@vger.kerenl.org>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    kees authored and jic23 committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    a1c9f50 View commit details
    Browse the repository at this point in the history
  3. ARM: dts: imx7: remove DSI port endpoints

    This fixes the display not working on colibri imx7, the driver fails to
    load with the following error:
    
      mxsfb 30730000.lcdif: error -ENODEV: Cannot connect bridge
    
    NXP i.MX7 LCDIF is connected to both the Parallel LCD Display and to a
    MIPI DSI IP block, currently it's not possible to describe the
    connection to both.
    
    Remove the port endpoint from the SOC dtsi to prevent regressions, this
    would need to be defined on the board DTS.
    
    Reported-by: Hiago De Franco <hiagofranco@gmail.com>
    Closes: https://lore.kernel.org/r/34yzygh3mbwpqr2re7nxmhyxy3s7qmqy4vhxvoyxnoguktriur@z66m7gvpqlia/
    Fixes: edbbae7 ("ARM: dts: imx7: add MIPI-DSI support")
    Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    dolcini authored and Shawn Guo committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    d2f8795 View commit details
    Browse the repository at this point in the history
  4. MAINTAINERS: Use a proper mailinglist for NXP i.MX development

    So far we used an internal linux-imx@nxp.com email address to
    gather all patches related to NXP i.MX development.
    
    Let's switch to an open mailing list that provides ability
    for people from the community to subscribe and also have
    a proper archive.
    
    List interface at: https://lists.linux.dev.
    Archive is at: https://lore.kernel.org/imx/
    
    Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    dbaluta authored and Shawn Guo committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    892cc21 View commit details
    Browse the repository at this point in the history
  5. arm64: dts: imx8mp: Fix TC9595 reset GPIO on DH i.MX8M Plus DHCOM SoM

    The TC9595 reset GPIO is SAI1_RXC / GPIO4_IO01, fix the DT accordingly.
    The SAI5_RXD0 / GPIO3_IO21 is thus far unused TC9595 interrupt line.
    
    Fixes: 20d0b83 ("arm64: dts: imx8mp: Add TC9595 bridge on DH electronics i.MX8M Plus DHCOM")
    Signed-off-by: Marek Vasut <marex@denx.de>
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    Marek Vasut authored and Shawn Guo committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    418a7fc View commit details
    Browse the repository at this point in the history
  6. arm64: dts: imx8mp: Fix LDB clocks property

    The "media_ldb_root_clk" is the gate clock to enable or disable the clock
    provided by CCM(Clock Control Module) to LDB instead of the "media_ldb"
    clock which is the parent of the "media_ldb_root_clk" clock as a composite
    clock.  Fix LDB clocks property by referencing the "media_ldb_root_clk"
    clock instead of the "media_ldb" clock.
    
    Fixes: e756784 ("arm64: dts: imx8mp: Reorder clock and reg properties")
    Fixes: 94e6197 ("arm64: dts: imx8mp: Add LCDIF2 & LDB nodes")
    Signed-off-by: Liu Ying <victor.liu@nxp.com>
    Reviewed-by: Marek Vasut <marex@denx.de>
    Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    Liu Ying authored and Shawn Guo committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    65e3230 View commit details
    Browse the repository at this point in the history
  7. iio: accel: adxl367: fix DEVID read after reset

    regmap_read_poll_timeout() will not sleep before reading,
    causing the first read to return -ENXIO on I2C, since the
    chip does not respond to it while it is being reset.
    
    The datasheet specifies that a soft reset operation has a
    latency of 7.5ms.
    
    Add a 15ms sleep between reset and reading the DEVID register,
    and switch to a simple regmap_read() call.
    
    Fixes: cbab791 ("iio: accel: add ADXL367 driver")
    Signed-off-by: Cosmin Tanislav <demonsingur@gmail.com>
    Reviewed-by: Nuno Sa <nuno.sa@analog.com>
    Link: https://lore.kernel.org/r/20240207033657.206171-1-demonsingur@gmail.com
    Cc: <Stable@vger.kernel.org>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Demon000 authored and jic23 committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    1b92691 View commit details
    Browse the repository at this point in the history
  8. iio: accel: adxl367: fix I2C FIFO data register

    As specified in the datasheet, the I2C FIFO data register is
    0x18, not 0x42. 0x42 was used by mistake when adapting the
    ADXL372 driver.
    
    Fix this mistake.
    
    Fixes: cbab791 ("iio: accel: add ADXL367 driver")
    Signed-off-by: Cosmin Tanislav <demonsingur@gmail.com>
    Reviewed-by: Nuno Sa <nuno.sa@analog.com>
    Link: https://lore.kernel.org/r/20240207033657.206171-2-demonsingur@gmail.com
    Cc: <Stable@vger.kernel.org>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Demon000 authored and jic23 committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    11dadb6 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2024

  1. drm/i915/hdcp: Move to direct reads for HDCP

    Even for MST scenarios we need to do direct reads only on the
    immediate downstream device the rest of the authentication is taken
    care by that device. Remote reads will only be used to check
    capability of the monitors in MST topology.
    
    --v2
    -Add fixes tag [Ankit]
    -Derive aux where needed rather than through a function [Ankit]
    
    Fixes: ae4f902 ("drm/i915/hdcp: Send the correct aux for DPMST HDCP scenario")
    Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
    Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
    Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240223081453.1576918-3-suraj.kandpal@intel.com
    (cherry picked from commit 287c0de)
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    surajk8 authored and jlahtine-intel committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    cb2b7d6 View commit details
    Browse the repository at this point in the history
  2. drm/i915/hdcp: Remove additional timing for reading mst hdcp message

    Now that we have moved back to direct reads the additional timing
    is not required hence this can be removed.
    
    --v2
    -Add Fixes tag [Ankit]
    
    Fixes: 3974f9c ("drm/i915/hdcp: Adjust timeout for read in DPMST Scenario")
    Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
    Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
    Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240223081453.1576918-10-suraj.kandpal@intel.com
    (cherry picked from commit 429ccbd)
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    surajk8 authored and jlahtine-intel committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    20dfa63 View commit details
    Browse the repository at this point in the history
  3. xfrm: Avoid clang fortify warning in copy_to_user_tmpl()

    After a couple recent changes in LLVM, there is a warning (or error with
    CONFIG_WERROR=y or W=e) from the compile time fortify source routines,
    specifically the memset() in copy_to_user_tmpl().
    
      In file included from net/xfrm/xfrm_user.c:14:
      ...
      include/linux/fortify-string.h:438:4: error: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror,-Wattribute-warning]
        438 |                         __write_overflow_field(p_size_field, size);
            |                         ^
      1 error generated.
    
    While ->xfrm_nr has been validated against XFRM_MAX_DEPTH when its value
    is first assigned in copy_templates() by calling validate_tmpl() first
    (so there should not be any issue in practice), LLVM/clang cannot really
    deduce that across the boundaries of these functions. Without that
    knowledge, it cannot assume that the loop stops before i is greater than
    XFRM_MAX_DEPTH, which would indeed result a stack buffer overflow in the
    memset().
    
    To make the bounds of ->xfrm_nr clear to the compiler and add additional
    defense in case copy_to_user_tmpl() is ever used in a path where
    ->xfrm_nr has not been properly validated against XFRM_MAX_DEPTH first,
    add an explicit bound check and early return, which clears up the
    warning.
    
    Cc: stable@vger.kernel.org
    Link: ClangBuiltLinux/linux#1985
    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
    nathanchance authored and klassert committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    1a807e4 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2024

  1. drm/i915/hdcp: Extract hdcp structure from correct connector

    Currently intel_hdcp is not being extracted from primary connector
    this patch fixes that.
    
    Fixes: 524240b ("drm/i915/hdcp: Propagate aux info in DP HDCP functions")
    Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
    Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
    Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240226063051.1685326-3-suraj.kandpal@intel.com
    (cherry picked from commit 909fff3)
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    surajk8 authored and jlahtine-intel committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    e567857 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2024

  1. crypto: sun8i-ce - Fix use after free in unprepare

    sun8i_ce_cipher_unprepare should be called before
    crypto_finalize_skcipher_request, because client callbacks may
    immediately free memory, that isn't needed anymore. But it will be
    used by unprepare after free. Before removing prepare/unprepare
    callbacks it was handled by crypto engine in crypto_finalize_request.
    
    Usually that results in a pointer dereference problem during a in
    crypto selftest.
     Unable to handle kernel NULL pointer dereference at
                                          virtual address 0000000000000030
     Mem abort info:
       ESR = 0x0000000096000004
       EC = 0x25: DABT (current EL), IL = 32 bits
       SET = 0, FnV = 0
       EA = 0, S1PTW = 0
       FSC = 0x04: level 0 translation fault
     Data abort info:
       ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000
       CM = 0, WnR = 0, TnD = 0, TagAccess = 0
       GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
     user pgtable: 4k pages, 48-bit VAs, pgdp=000000004716d000
     [0000000000000030] pgd=0000000000000000, p4d=0000000000000000
     Internal error: Oops: 0000000096000004 [#1] SMP
    
    This problem is detected by KASAN as well.
     ==================================================================
     BUG: KASAN: slab-use-after-free in sun8i_ce_cipher_do_one+0x6e8/0xf80 [sun8i_ce]
     Read of size 8 at addr ffff00000dcdc040 by task 1c15000.crypto-/373
    
     Hardware name: Pine64 PinePhone (1.2) (DT)
     Call trace:
      dump_backtrace+0x9c/0x128
      show_stack+0x20/0x38
      dump_stack_lvl+0x48/0x60
      print_report+0xf8/0x5d8
      kasan_report+0x90/0xd0
      __asan_load8+0x9c/0xc0
      sun8i_ce_cipher_do_one+0x6e8/0xf80 [sun8i_ce]
      crypto_pump_work+0x354/0x620 [crypto_engine]
      kthread_worker_fn+0x244/0x498
      kthread+0x168/0x178
      ret_from_fork+0x10/0x20
    
     Allocated by task 379:
      kasan_save_stack+0x3c/0x68
      kasan_set_track+0x2c/0x40
      kasan_save_alloc_info+0x24/0x38
      __kasan_kmalloc+0xd4/0xd8
      __kmalloc+0x74/0x1d0
      alg_test_skcipher+0x90/0x1f0
      alg_test+0x24c/0x830
      cryptomgr_test+0x38/0x60
      kthread+0x168/0x178
      ret_from_fork+0x10/0x20
    
     Freed by task 379:
      kasan_save_stack+0x3c/0x68
      kasan_set_track+0x2c/0x40
      kasan_save_free_info+0x38/0x60
      __kasan_slab_free+0x100/0x170
      slab_free_freelist_hook+0xd4/0x1e8
      __kmem_cache_free+0x15c/0x290
      kfree+0x74/0x100
      kfree_sensitive+0x80/0xb0
      alg_test_skcipher+0x12c/0x1f0
      alg_test+0x24c/0x830
      cryptomgr_test+0x38/0x60
      kthread+0x168/0x178
      ret_from_fork+0x10/0x20
    
     The buggy address belongs to the object at ffff00000dcdc000
      which belongs to the cache kmalloc-256 of size 256
     The buggy address is located 64 bytes inside of
      freed 256-byte region [ffff00000dcdc000, ffff00000dcdc100)
    
    Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
    Fixes: 4136212 ("crypto: sun8i-ce - Remove prepare/unprepare request")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    AndreySV authored and herbertx committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    1834200 View commit details
    Browse the repository at this point in the history
  2. cgroup/cpuset: Fix a memory leak in update_exclusive_cpumask()

    Fix a possible memory leak in update_exclusive_cpumask() by moving the
    alloc_cpumasks() down after the validate_change() check which can fail
    and still before the temporary cpumasks are needed.
    
    Fixes: e2ffe50 ("cgroup/cpuset: Add cpuset.cpus.exclusive for v2")
    Reported-and-tested-by: Mirsad Todorovac <mirsad.todorovac@alu.hr>
    Closes: https://lore.kernel.org/lkml/14915689-27a3-4cd8-80d2-9c30d0c768b6@alu.unizg.hr
    Signed-off-by: Waiman Long <longman@redhat.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Cc: stable@vger.kernel.org # v6.7+
    Waiman-Long authored and htejun committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    66f40b9 View commit details
    Browse the repository at this point in the history

Commits on Feb 29, 2024

  1. drm/i915: Check before removing mm notifier

    Error in mmu_interval_notifier_insert() can leave a NULL
    notifier.mm pointer. Catch that and return early.
    
    Fixes: ed29c26 ("drm/i915: Fix userptr so we do not have to worry about obj->mm.lock, v7.")
    Cc: <stable@vger.kernel.org> # v5.13+
    [tursulin: Added Fixes and cc stable.]
    Cc: Andi Shyti <andi.shyti@linux.intel.com>
    Cc: Shawn Lee <shawn.c.lee@intel.com>
    Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240219125047.28906-1-nirmoy.das@intel.com
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    (cherry picked from commit db7bbd1)
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    nirmoy authored and jlahtine-intel committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    01bb1ae View commit details
    Browse the repository at this point in the history
  2. ASoC: madera: Fix typo in madera_set_fll_clks shift value

    Fix a typo in the shift value used in madera_set_fll_clks.
    
    Fixes: 3863857 ("ASoC: madera: Enable clocks for input pins when used for the FLL")
    Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
    Link: https://msgid.link/r/20240229114637.352098-1-stuarth@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Stuart Henderson authored and broonie committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    231bf30 View commit details
    Browse the repository at this point in the history
  3. ASoC: Intel: bytcr_rt5640: Add an extra entry for the Chuwi Vi8 tablet

    The bios version can differ depending if it is a dual-boot variant of the tablet.
    Therefore another DMI match is required.
    
    Signed-off-by: Alban Boyé <alban.boye@protonmail.com>
    Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://msgid.link/r/20240228192807.15130-1-alban.boye@protonmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Blafy authored and broonie committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    f8b0127 View commit details
    Browse the repository at this point in the history
  4. pinctrl: don't put the reference to GPIO device in pinctrl_pins_show()

    The call to gpiod_to_gpio_device() does not increase the reference count
    of the GPIO device struct so it must not be decreased. Remove the buggy
    __free() decorator.
    
    Fixes: 524fc10 ("pinctrl: stop using gpiod_to_chip()")
    Reported-by: David Arcari <darcari@redhat.com>
    Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
    Link: https://lore.kernel.org/r/20240223123214.288181-1-brgl@bgdev.pl
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Bartosz Golaszewski authored and linusw committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    f6443e0 View commit details
    Browse the repository at this point in the history
  5. cgroup/cpuset: Fix retval in update_cpumask()

    The update_cpumask(), checks for newly requested cpumask by calling
    validate_change(), which returns an error on passing an invalid set
    of cpu(s). Independent of the error returned, update_cpumask() always
    returns zero, suppressing the error and returning success to the user
    on writing an invalid cpu range for a cpuset. Fix it by returning
    retval instead, which is returned by validate_change().
    
    Fixes: 99fe36b ("cgroup/cpuset: Improve temporary cpumasks handling")
    Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
    Reviewed-by: Waiman Long <longman@redhat.com>
    Cc: stable@vger.kernel.org # v6.6+
    Signed-off-by: Tejun Heo <tj@kernel.org>
    kamalesh-babulal authored and htejun committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    25125a4 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2024

  1. hv_utils: Allow implicit ICTIMESYNCFLAG_SYNC

    Hyper-V hosts can omit the _SYNC flag to due a bug on resume from modern
    suspend. In such a case, the guest may fail to update its time-of-day to
    account for the period when it was suspended, and could proceed with a
    significantly wrong time-of-day. In such a case when the guest is
    significantly behind, fix it by treating a _SAMPLE the same as if _SYNC
    was received so that the guest time-of-day is updated.
    
    This is hidden behind param hv_utils.timesync_implicit.
    
    Signed-off-by: Peter Martincic <pmartincic@microsoft.com>
    Acked-by: Boqun Feng <boqun.feng@gmail.com>
    Link: https://lore.kernel.org/r/20231127213524.52783-1-pmartincic@linux.microsoft.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    Message-ID: <20231127213524.52783-1-pmartincic@linux.microsoft.com>
    Peter Martincic authored and liuw committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    adf4752 View commit details
    Browse the repository at this point in the history
  2. Drivers: hv: vmbus: Calculate ring buffer size for more efficient use…

    … of memory
    
    The VMBUS_RING_SIZE macro adds space for a ring buffer header to the
    requested ring buffer size.  The header size is always 1 page, and so
    its size varies based on the PAGE_SIZE for which the kernel is built.
    If the requested ring buffer size is a large power-of-2 size and the header
    size is small, the resulting size is inefficient in its use of memory.
    For example, a 512 Kbyte ring buffer with a 4 Kbyte page size results in
    a 516 Kbyte allocation, which is rounded to up 1 Mbyte by the memory
    allocator, and wastes 508 Kbytes of memory.
    
    In such situations, the exact size of the ring buffer isn't that important,
    and it's OK to allocate the 4 Kbyte header at the beginning of the 512
    Kbytes, leaving the ring buffer itself with just 508 Kbytes. The memory
    allocation can be 512 Kbytes instead of 1 Mbyte and nothing is wasted.
    
    Update VMBUS_RING_SIZE to implement this approach for "large" ring buffer
    sizes.  "Large" is somewhat arbitrarily defined as 8 times the size of
    the ring buffer header (which is of size PAGE_SIZE).  For example, for
    4 Kbyte PAGE_SIZE, ring buffers of 32 Kbytes and larger use the first
    4 Kbytes as the ring buffer header.  For 64 Kbyte PAGE_SIZE, ring buffers
    of 512 Kbytes and larger use the first 64 Kbytes as the ring buffer
    header.  In both cases, smaller sizes add space for the header so
    the ring size isn't reduced too much by using part of the space for
    the header.  For example, with a 64 Kbyte page size, we don't want
    a 128 Kbyte ring buffer to be reduced to 64 Kbytes by allocating half
    of the space for the header.  In such a case, the memory allocation
    is less efficient, but it's the best that can be done.
    
    While the new algorithm slightly changes the amount of space allocated
    for ring buffers by drivers that use VMBUS_RING_SIZE, the devices aren't
    known to be sensitive to small changes in ring buffer size, so there
    shouldn't be any effect.
    
    Fixes: c1135c7 ("Drivers: hv: vmbus: Introduce types of GPADL")
    Fixes: 6941f67 ("hv_netvsc: Calculate correct ring size when PAGE_SIZE is not 4 Kbytes")
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218502
    Cc: stable@vger.kernel.org
    Signed-off-by: Michael Kelley <mhklinux@outlook.com>
    Reviewed-by: Saurabh Sengar <ssengar@linux.microsoft.com>
    Reviewed-by: Dexuan Cui <decui@microsoft.com>
    Tested-by: Souradeep Chakrabarti <schakrabarti@linux.microsoft.com>
    Link: https://lore.kernel.org/r/20240229004533.313662-1-mhklinux@outlook.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    Message-ID: <20240229004533.313662-1-mhklinux@outlook.com>
    mhklinux authored and liuw committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    b820954 View commit details
    Browse the repository at this point in the history
  3. fbdev/hyperv_fb: Fix logic error for Gen2 VMs in hvfb_getmem()

    A recent commit removing the use of screen_info introduced a logic
    error. The error causes hvfb_getmem() to always return -ENOMEM
    for Generation 2 VMs. As a result, the Hyper-V frame buffer
    device fails to initialize. The error was introduced by removing
    an "else if" clause, leaving Gen2 VMs to always take the -ENOMEM
    error path.
    
    Fix the problem by removing the error path "else" clause. Gen 2
    VMs now always proceed through the MMIO memory allocation code,
    but with "base" and "size" defaulting to 0.
    
    Fixes: 0aa0838 ("fbdev/hyperv_fb: Remove firmware framebuffers with aperture helpers")
    Signed-off-by: Michael Kelley <mhklinux@outlook.com>
    Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
    Reviewed-by: Saurabh Sengar <ssengar@linux.microsoft.com>
    Link: https://lore.kernel.org/r/20240201060022.233666-1-mhklinux@outlook.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    Message-ID: <20240201060022.233666-1-mhklinux@outlook.com>
    mhklinux authored and liuw committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    20ee2ae View commit details
    Browse the repository at this point in the history
  4. Drivers: hv: vmbus: Remove duplication and cleanup code in create_gpa…

    …dl_header()
    
    create_gpadl_header() creates a message header, and one or more message
    bodies if the number of GPADL entries exceeds what fits in the
    header. Currently the code for creating the message header is
    duplicated in the two halves of the main "if" statement governing
    whether message bodies are created.
    
    Eliminate the duplication by making minor tweaks to the logic and
    associated comments. While here, simplify the handling of memory
    allocation errors, and use umin() instead of open coding it.
    
    For ease of review, the indentation of sizable chunks of code is
    *not* changed.  A follow-on patch updates only the indentation.
    
    No functional change.
    
    Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
    Signed-off-by: Michael Kelley <mhklinux@outlook.com>
    Link: https://lore.kernel.org/r/20240111165451.269418-1-mhklinux@outlook.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    Message-ID: <20240111165451.269418-1-mhklinux@outlook.com>
    mhklinux authored and liuw committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    8db0edc View commit details
    Browse the repository at this point in the history
  5. Drivers: hv: vmbus: Update indentation in create_gpadl_header()

    A previous commit left the indentation in create_gpadl_header()
    unchanged for ease of review. Update the indentation and remove
    line wrap in two places where it is no longer necessary.
    
    No functional change.
    
    Signed-off-by: Michael Kelley <mhklinux@outlook.com>
    Link: https://lore.kernel.org/r/20240111165451.269418-2-mhklinux@outlook.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    Message-ID: <20240111165451.269418-2-mhklinux@outlook.com>
    mhklinux authored and liuw committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    9645e74 View commit details
    Browse the repository at this point in the history
  6. Documentation: hyperv: Add overview of PCI pass-thru device support

    Add documentation topic for PCI pass-thru devices in Linux guests
    on Hyper-V and for the associated PCI controller driver (pci-hyperv.c).
    
    Signed-off-by: Michael Kelley <mhklinux@outlook.com>
    Reviewed-by: Easwar Hariharan <eahariha@linux.microsoft.com>
    Link: https://lore.kernel.org/r/20240222200710.305259-1-mhklinux@outlook.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    Message-ID: <20240222200710.305259-1-mhklinux@outlook.com>
    mhklinux authored and liuw committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    04ed680 View commit details
    Browse the repository at this point in the history
  7. x86/hyperv: Use slow_virt_to_phys() in page transition hypervisor cal…

    …lback
    
    In preparation for temporarily marking pages not present during a
    transition between encrypted and decrypted, use slow_virt_to_phys()
    in the hypervisor callback. As long as the PFN is correct,
    slow_virt_to_phys() works even if the leaf PTE is not present.
    The existing functions that depend on vmalloc_to_page() all
    require that the leaf PTE be marked present, so they don't work.
    
    Update the comments for slow_virt_to_phys() to note this broader usage
    and the requirement to work even if the PTE is not marked present.
    
    Signed-off-by: Michael Kelley <mhklinux@outlook.com>
    Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Reviewed-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
    Link: https://lore.kernel.org/r/20240116022008.1023398-2-mhklinux@outlook.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    Message-ID: <20240116022008.1023398-2-mhklinux@outlook.com>
    mhklinux authored and liuw committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    9fef276 View commit details
    Browse the repository at this point in the history
  8. x86/mm: Regularize set_memory_p() parameters and make non-static

    set_memory_p() is currently static.  It has parameters that don't
    match set_memory_p() under arch/powerpc and that aren't congruent
    with the other set_memory_* functions. There's no good reason for
    the difference.
    
    Fix this by making the parameters consistent, and update the one
    existing call site.  Make the function non-static and add it to
    include/asm/set_memory.h so that it is completely parallel to
    set_memory_np() and is usable in other modules.
    
    No functional change.
    
    Signed-off-by: Michael Kelley <mhklinux@outlook.com>
    Reviewed-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
    Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Link: https://lore.kernel.org/r/20240116022008.1023398-3-mhklinux@outlook.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    Message-ID: <20240116022008.1023398-3-mhklinux@outlook.com>
    mhklinux authored and liuw committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    030ad7a View commit details
    Browse the repository at this point in the history
  9. x86/hyperv: Make encrypted/decrypted changes safe for load_unaligned_…

    …zeropad()
    
    In a CoCo VM, when transitioning memory from encrypted to decrypted, or
    vice versa, the caller of set_memory_encrypted() or set_memory_decrypted()
    is responsible for ensuring the memory isn't in use and isn't referenced
    while the transition is in progress.  The transition has multiple steps,
    and the memory is in an inconsistent state until all steps are complete.
    A reference while the state is inconsistent could result in an exception
    that can't be cleanly fixed up.
    
    However, the kernel load_unaligned_zeropad() mechanism could cause a stray
    reference that can't be prevented by the caller of set_memory_encrypted()
    or set_memory_decrypted(), so there's specific code to handle this case.
    But a CoCo VM running on Hyper-V may be configured to run with a paravisor,
    with the #VC or #VE exception routed to the paravisor. There's no
    architectural way to forward the exceptions back to the guest kernel, and
    in such a case, the load_unaligned_zeropad() specific code doesn't work.
    
    To avoid this problem, mark pages as "not present" while a transition
    is in progress. If load_unaligned_zeropad() causes a stray reference, a
    normal page fault is generated instead of #VC or #VE, and the
    page-fault-based fixup handlers for load_unaligned_zeropad() resolve the
    reference. When the encrypted/decrypted transition is complete, mark the
    pages as "present" again.
    
    Signed-off-by: Michael Kelley <mhklinux@outlook.com>
    Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
    Link: https://lore.kernel.org/r/20240116022008.1023398-4-mhklinux@outlook.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    Message-ID: <20240116022008.1023398-4-mhklinux@outlook.com>
    mhklinux authored and liuw committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    0f34d11 View commit details
    Browse the repository at this point in the history
  10. dt-bindings: net: renesas,ethertsn: Document default for delays

    The internal delay properties are not mandatory and should have a
    documented default value. The device only supports either no delay or a
    fixed delay and the device reset default is no delay, document the
    default as no delay.
    
    Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Niklas Söderlund authored and davem330 committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    7be4088 View commit details
    Browse the repository at this point in the history
  11. x86/hyperv: Allow 15-bit APIC IDs for VTL platforms

    The current method for signaling the compatibility of a Hyper-V host
    with MSIs featuring 15-bit APIC IDs relies on a synthetic cpuid leaf.
    However, for higher VTLs, this leaf is not reported, due to the absence
    of an IO-APIC.
    
    As an alternative, assume that when running at a high VTL, the host
    supports 15-bit APIC IDs. This assumption is safe, as Hyper-V does not
    employ any architectural MSIs at higher VTLs
    
    This unblocks startup of VTL2 environments with more than 256 CPUs.
    
    Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com>
    Reviewed-by: Michael Kelley <mhklinux@outlook.com>
    Link: https://lore.kernel.org/r/1705341460-18394-1-git-send-email-ssengar@linux.microsoft.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    Message-ID: <1705341460-18394-1-git-send-email-ssengar@linux.microsoft.com>
    Saurabh Sengar authored and liuw committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    0d63e4c View commit details
    Browse the repository at this point in the history
  12. net: lan78xx: fix runtime PM count underflow on link stop

    Current driver has some asymmetry in the runtime PM calls. On lan78xx_open()
    it will call usb_autopm_get() and unconditionally usb_autopm_put(). And
    on lan78xx_stop() it will call only usb_autopm_put(). So far, it was
    working only because this driver do not activate autosuspend by default,
    so it was visible only by warning "Runtime PM usage count underflow!".
    
    Since, with current driver, we can't use runtime PM with active link,
    execute lan78xx_open()->usb_autopm_put() only in error case. Otherwise,
    keep ref counting high as long as interface is open.
    
    Fixes: 55d7de9 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver")
    Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
    Reviewed-by: Jiri Pirko <jiri@nvidia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    olerem authored and davem330 committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    1eecc7a View commit details
    Browse the repository at this point in the history
  13. net: bql: fix building with BQL disabled

    It is now possible to disable BQL, but that causes the cpsw driver to break:
    
    drivers/net/ethernet/ti/am65-cpsw-nuss.c:297:28: error: no member named 'dql' in 'struct netdev_queue'
      297 |                    dql_avail(&netif_txq->dql),
    
    There is already a helper function in net/sch_generic.h that could
    be used to help here. Move its implementation into the common
    linux/netdevice.h along with the other bql interfaces and change
    both users over to the new interface.
    
    Fixes: ea7f3cf ("net: bql: allow the config to be disabled")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    arndb authored and davem330 committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    eb2c11b View commit details
    Browse the repository at this point in the history
  14. MAINTAINERS: net: netsec: add myself as co-maintainer

    Add myself as co-maintainer for Socionext netsec driver.
    This commit also removes Jassi from maintainer since he
    no longer has a Developerbox.
    
    Cc: Jassi Brar <jaswinder.singh@linaro.org>
    Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
    Signed-off-by: Masahisa Kojima <kojima.masahisa@socionext.com>
    Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    masahisak authored and davem330 committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    1c61728 View commit details
    Browse the repository at this point in the history
  15. crypto: rk3288 - Fix use after free in unprepare

    The unprepare call must be carried out before the finalize call
    as the latter can free the request.
    
    Fixes: c66c17a ("crypto: rk3288 - Remove prepare/unprepare request")
    Reported-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Reviewed-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    herbertx committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    c0afb6b View commit details
    Browse the repository at this point in the history
  16. ALSA: hda/realtek - Fix headset Mic no show at resume back for Lenovo…

    … ALC897 platform
    
    Headset Mic will no show at resume back.
    This patch will fix this issue.
    
    Fixes: d7f3279 ("ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Kailang Yang <kailang@realtek.com>
    Link: https://lore.kernel.org/r/4713d48a372e47f98bba0c6120fd8254@realtek.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    kailangyang authored and tiwai committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    d397b6e View commit details
    Browse the repository at this point in the history
  17. ALSA: hda: optimize the probe codec process

    In azx_probe_codecs function, when bus->codec_mask is becomes to 0(no codecs),
    execute azx_init_chip, bus->codec_mask will be initialized to a value again,
    this causes snd_hda_codec_new function to run, the process is as follows:
    -->snd_hda_codec_new
    -->snd_hda_codec_device_init
    -->snd_hdac_device_init---snd_hdac_read_parm(...AC_PAR_VENDOR_ID) 2s
    		       ---snd_hdac_read_parm(...AC_PAR_VENDOR_ID) 2s
    		       ---snd_hdac_read_parm(...AC_PAR_SUBSYSTEM_ID) 2s
    		       ---snd_hdac_read_parm(...AC_PAR_REV_ID) 2s
    		       ---snd_hdac_read_parm(...AC_PAR_NODE_COUNT) 2s
    when no codecs, read communication is error, each command will be polled for
    2 second, a total of 10s, it is easy to some problem.
    like this:
      2 [   14.833404][ 6] [  T164] hda 0006:00: Codec #0 probe error; disabling it...
      3 [   14.844178][ 6] [  T164] hda 0006:00: codec_mask = 0x1
      4 [   14.880532][ 6] [  T164] hda 0006:00: too slow response, last cmd=0x0f0000
      5 [   15.891988][ 6] [  T164] hda 0006:00: too slow response, last cmd=0x0f0000
      6 [   16.978090][ 6] [  T164] hda 0006:00: too slow response, last cmd=0x0f0001
      7 [   18.140895][ 6] [  T164] hda 0006:00: too slow response, last cmd=0x0f0002
      8 [   19.135516][ 6] [  T164] hda 0006:00: too slow response, last cmd=0x0f0004
     10 [   19.900086][ 6] [  T164] hda 0006:00: no codecs initialized
     11 [   45.573398][ 2] [    C2] watchdog: BUG: soft lockup - CPU#2 stuck for 22s! [kworker/2:0:25]
    
    Here, when bus->codec_mask is 0, use a direct break to avoid execute snd_hda_codec_new function.
    
    Signed-off-by: songxiebing <songxiebing@kylinos.cn>
    Link: https://lore.kernel.org/r/20240301011841.7247-1-soxiebing@163.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    songxiebing authored and tiwai committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    642b02b View commit details
    Browse the repository at this point in the history
  18. arm64: dts: qcom: sc8280xp-crd: limit pcie4 link speed

    Limit the WiFi PCIe link speed to Gen2 speed (500 MB/s), which is the
    speed that Windows uses.
    
    Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
    Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
    Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    Link: https://lore.kernel.org/r/20240223152124.20042-7-johan+linaro@kernel.org
    Signed-off-by: Bjorn Andersson <andersson@kernel.org>
    jhovold authored and andersson committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    db81388 View commit details
    Browse the repository at this point in the history
  19. arm64: dts: qcom: sc8280xp-x13s: limit pcie4 link speed

    Limit the WiFi PCIe link speed to Gen2 speed (500 MB/s), which is the
    speed that the boot firmware has brought up the link at (and that
    Windows uses).
    
    This is specifically needed to avoid a large amount of link errors when
    restarting the link during boot (but which are currently not reported).
    
    This also appears to fix intermittent failures to download the ath11k
    firmware during boot which can be seen when there is a longer delay
    between restarting the link and loading the WiFi driver (e.g. when using
    full disk encryption).
    
    Fixes: 123b30a ("arm64: dts: qcom: sc8280xp-x13s: enable WiFi controller")
    Cc: stable@vger.kernel.org      # 6.2
    Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
    Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
    Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    Link: https://lore.kernel.org/r/20240223152124.20042-8-johan+linaro@kernel.org
    Signed-off-by: Bjorn Andersson <andersson@kernel.org>
    jhovold authored and andersson committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    7a1c6a8 View commit details
    Browse the repository at this point in the history
  20. ixgbe: {dis, en}able irqs in ixgbe_txrx_ring_{dis, en}able

    Currently routines that are supposed to toggle state of ring pair do not
    take care of associated interrupt with queue vector that these rings
    belong to. This causes funky issues such as dead interface due to irq
    misconfiguration, as per Pavel's report from Closes: tag.
    
    Add a function responsible for disabling single IRQ in EIMC register and
    call this as a very first thing when disabling ring pair during xsk_pool
    setup. For enable let's reuse ixgbe_irq_enable_queues(). Besides this,
    disable/enable NAPI as first/last thing when dealing with closing or
    opening ring pair that xsk_pool is being configured on.
    
    Reported-by: Pavel Vazharov <pavel@x3me.net>
    Closes: https://lore.kernel.org/netdev/CAJEV1ijxNyPTwASJER1bcZzS9nMoZJqfR86nu_3jFFVXzZQ4NA@mail.gmail.com/
    Fixes: 024aa58 ("ixgbe: added Rx/Tx ring disable/enable functions")
    Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
    Acked-by: Magnus Karlsson <magnus.karlsson@intel.com>
    Tested-by: Chandan Kumar Rout <chandanx.rout@intel.com> (A Contingent Worker at Intel)
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    mfijalko authored and anguy11 committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    cbf996f View commit details
    Browse the repository at this point in the history
  21. i40e: disable NAPI right after disabling irqs when handling xsk_pool

    Disable NAPI before shutting down queues that this particular NAPI
    contains so that the order of actions in i40e_queue_pair_disable()
    mirrors what we do in i40e_queue_pair_enable().
    
    Fixes: 123cecd ("i40e: added queue pair disable/enable functions")
    Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
    Tested-by: Chandan Kumar Rout <chandanx.rout@intel.com> (A Contingent Worker at Intel)
    Acked-by: Magnus Karlsson <magnus.karlsson@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    mfijalko authored and anguy11 committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    d562b11 View commit details
    Browse the repository at this point in the history
  22. ice: reorder disabling IRQ and NAPI in ice_qp_dis

    ice_qp_dis() currently does things in very mixed way. Tx is stopped
    before disabling IRQ on related queue vector, then it takes care of
    disabling Rx and finally NAPI is disabled.
    
    Let us start with disabling IRQs in the first place followed by turning
    off NAPI. Then it is safe to handle queues.
    
    One subtle change on top of that is that even though ice_qp_ena() looks
    more sane, clear ICE_CFG_BUSY as the last thing there.
    
    Fixes: 2d4238f ("ice: Add support for AF_XDP")
    Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
    Tested-by: Chandan Kumar Rout <chandanx.rout@intel.com> (A Contingent Worker at Intel)
    Acked-by: Magnus Karlsson <magnus.karlsson@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    mfijalko authored and anguy11 committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    99099c6 View commit details
    Browse the repository at this point in the history
  23. ice: reconfig host after changing MSI-X on VF

    During VSI reconfiguration filters and VSI config which is set in
    ice_vf_init_host_cfg() are lost. Recall the host configuration function
    to restore them.
    
    Without this config VF on which MSI-X amount was changed might had a
    connection problems.
    
    Fixes: 4d38cb4 ("ice: manage VFs MSI-X using resource tracking")
    Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
    Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Michal Swiatkowski authored and anguy11 committed Mar 1, 2024
    Configuration menu
    Copy the full SHA
    4035c72 View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2024

  1. Revert "net/mlx5: Block entering switchdev mode with ns inconsistency"

    This reverts commit 662404b.
    The revert is required due to the suspicion it is not good for anything
    and cause crash.
    
    Fixes: 662404b ("net/mlx5e: Block entering switchdev mode with ns inconsistency")
    Signed-off-by: Gavin Li <gavinl@nvidia.com>
    Reviewed-by: Jiri Pirko <jiri@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    GavinLi-NV authored and Saeed Mahameed committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    8deeefb View commit details
    Browse the repository at this point in the history
  2. Revert "net/mlx5e: Check the number of elements before walk TC rhasht…

    …able"
    
    This reverts commit 4e25b66.
    
    This Commit was mistakenly applied by pulling the wrong tag, remove it.
    
    Fixes: 4e25b66 ("net/mlx5e: Check the number of elements before walk TC rhashtable")
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    Saeed Mahameed committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    b7bbd69 View commit details
    Browse the repository at this point in the history
  3. net/mlx5: E-switch, Change flow rule destination checking

    The checking in the cited commit is not accurate. In the common case,
    VF destination is internal, and uplink destination is external.
    However, uplink destination with packet reformat is considered as
    internal because firmware uses LB+hairpin to support it. Update the
    checking so header rewrite rules with both internal and external
    destinations are not allowed.
    
    Fixes: e0e22d5 ("net/mlx5: E-switch, Add checking for flow rule destinations")
    Signed-off-by: Jianbo Liu <jianbol@nvidia.com>
    Reviewed-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    Jianbo Liu authored and Saeed Mahameed committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    85ea2c5 View commit details
    Browse the repository at this point in the history
  4. net/mlx5: Fix fw reporter diagnose output

    Restore fw reporter diagnose to print the syndrome even if it is zero.
    Following the cited commit, in this case (syndrome == 0) command returns no
    output at all.
    
    This fix restores command output in case syndrome is cleared:
    $ devlink health diagnose pci/0000:82:00.0 reporter fw
        Syndrome: 0
    
    Fixes: d17f98b ("net/mlx5: devlink health: use retained error fmsg API")
    Signed-off-by: Aya Levin <ayal@nvidia.com>
    Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    ayalevin authored and Saeed Mahameed committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    ac8082a View commit details
    Browse the repository at this point in the history
  5. net/mlx5: Check capability for fw_reset

    Functions which can't access MFRL (Management Firmware Reset Level)
    register, have no use of fw_reset structures or events. Remove fw_reset
    structures allocation and registration for fw reset events notifications
    for these functions.
    
    Having the devlink param enable_remote_dev_reset on functions that don't
    have this capability is misleading as these functions are not allowed to
    influence the reset flow. Hence, this patch removes this parameter for
    such functions.
    
    In addition, return not supported on devlink reload action fw_activate
    for these functions.
    
    Fixes: 38b9f90 ("net/mlx5: Handle sync reset request event")
    Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
    Reviewed-by: Aya Levin <ayal@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    mosheshemesh2 authored and Saeed Mahameed committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    5e6107b View commit details
    Browse the repository at this point in the history
  6. net/mlx5e: Change the warning when ignore_flow_level is not supported

    Downgrade the print from mlx5_core_warn() to mlx5_core_dbg(), as it
    is just a statement of fact that firmware doesn't support ignore flow
    level.
    
    And change the wording to "firmware flow level support is missing", to
    make it more accurate.
    
    Fixes: ae2ee3b ("net/mlx5: CT: Remove warning of ignore_flow_level support for VFs")
    Signed-off-by: Jianbo Liu <jianbol@nvidia.com>
    Suggested-by: Elliott, Robert (Servers) <elliott@hpe.com>
    Reviewed-by: Roi Dayan <roid@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    Jianbo Liu authored and Saeed Mahameed committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    dd238b7 View commit details
    Browse the repository at this point in the history
  7. net/mlx5e: Fix MACsec state loss upon state update in offload path

    The packet number attribute of the SA is incremented by the device rather
    than the software stack when enabling hardware offload. Because the packet
    number attribute is managed by the hardware, the software has no insight
    into the value of the packet number attribute actually written by the
    device.
    
    Previously when MACsec offload was enabled, the hardware object for
    handling the offload was destroyed when the SA was disabled. Re-enabling
    the SA would lead to a new hardware object being instantiated. This new
    hardware object would not have any recollection of the correct packet
    number for the SA. Instead, destroy the flow steering rule when
    deactivating the SA and recreate it upon reactivation, preserving the
    original hardware object.
    
    Fixes: 8ff0ac5 ("net/mlx5: Add MACsec offload Tx command support")
    Signed-off-by: Emeel Hakim <ehakim@nvidia.com>
    Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
    Reviewed-by: Gal Pressman <gal@nvidia.com>
    Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    Emeel Hakim authored and Saeed Mahameed committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    a71f214 View commit details
    Browse the repository at this point in the history
  8. net/mlx5e: Use a memory barrier to enforce PTP WQ xmit submission tra…

    …cking occurs after populating the metadata_map
    
    Just simply reordering the functions mlx5e_ptp_metadata_map_put and
    mlx5e_ptpsq_track_metadata in the mlx5e_txwqe_complete context is not good
    enough since both the compiler and CPU are free to reorder these two
    functions. If reordering does occur, the issue that was supposedly fixed by
    7e3f3ba ("net/mlx5e: Track xmit submission to PTP WQ after populating
    metadata map") will be seen. This will lead to NULL pointer dereferences in
    mlx5e_ptpsq_mark_ts_cqes_undelivered in the NAPI polling context due to the
    tracking list being populated before the metadata map.
    
    Fixes: 7e3f3ba ("net/mlx5e: Track xmit submission to PTP WQ after populating metadata map")
    Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    CC: Vadim Fedorenko <vadfed@meta.com>
    Binary-Eater authored and Saeed Mahameed committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    b7cf075 View commit details
    Browse the repository at this point in the history
  9. net/mlx5e: Switch to using _bh variant of of spinlock API in port tim…

    …estamping NAPI poll context
    
    The NAPI poll context is a softirq context. Do not use normal spinlock API
    in this context to prevent concurrency issues.
    
    Fixes: 3178308 ("net/mlx5e: Make tx_port_ts logic resilient to out-of-order CQEs")
    Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    CC: Vadim Fedorenko <vadfed@meta.com>
    Binary-Eater authored and Saeed Mahameed committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    90502d4 View commit details
    Browse the repository at this point in the history
  10. Merge tag 'thunderbolt-for-v6.8-rc7' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/westeri/thunderbolt into usb-linus
    
    Mika writes:
    
    thunderbolt: Fix for v6.8-rc7
    
    This includes one USB4/Thunderbolt fix for v6.8-rc7:
    
      - Fix NULL pointer dereference in tb_port_update_credits() on
        Apple Thunderbolt 1 hardware.
    
    This has been in linux-next with no reported issues.
    
    * tag 'thunderbolt-for-v6.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt:
      thunderbolt: Fix NULL pointer dereference in tb_port_update_credits()
    gregkh committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    3c4a311 View commit details
    Browse the repository at this point in the history
  11. Merge tag 'counter-fixes-for-6.8b' of https://git.kernel.org/pub/scm/…

    …linux/kernel/git/wbg/counter into char-misc-linus
    
    William writes:
    
    First set of Counter fixes for 6.8
    
    One fix to ensure private data in struct counter_device_allochelper has
    minimum alignment for safe DMA operations.
    
    * tag 'counter-fixes-for-6.8b' of https://git.kernel.org/pub/scm/linux/kernel/git/wbg/counter:
      counter: fix privdata alignment
    gregkh committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    febbe9b View commit details
    Browse the repository at this point in the history
  12. Merge tag 'iio-fixes-for-6.8b' of https://git.kernel.org/pub/scm/linu…

    …x/kernel/git/jic23/iio into char-misc-linus
    
    Jonathan writes:
    
    IIO: 2nd set of fixes for the 6.8 cycle.
    
    Given this is very late these can wait for the 6.9 cycle if you would
    prefer.
    
    adi,adxl367
    - Sleep for 15ms after reset to avoid reading before the device is awake.
    - Fix FIFO register address.
    asc,dlhl60d
    - Avoid uninitialized data leak to user-space. Also suppress a false
      positive clang warning by refactoring a loop.
    bosch,bmp280
    - Fix missing extra byte in SPI reads from BMP38x and BMP390 parts
    invensense,mpu6050
    - Fix handing of empty FIFO which can happen due to a race condition.
    - Make sure frequency can be updated more than once when the FIFO is not
      enabled.
    
    * tag 'iio-fixes-for-6.8b' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio:
      iio: accel: adxl367: fix I2C FIFO data register
      iio: accel: adxl367: fix DEVID read after reset
      iio: pressure: dlhl60d: Initialize empty DLH bytes
      iio: imu: inv_mpu6050: fix frequency setting when chip is off
      iio: pressure: Fixes BMP38x and BMP390 SPI support
      iio: imu: inv_mpu6050: fix FIFO parsing when empty
    gregkh committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    da85c25 View commit details
    Browse the repository at this point in the history
  13. USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command

    The isd200 sub-driver in usb-storage uses the HEADS and SECTORS values
    in the ATA ID information to calculate cylinder and head values when
    creating a CDB for READ or WRITE commands.  The calculation involves
    division and modulus operations, which will cause a crash if either of
    these values is 0.  While this never happens with a genuine device, it
    could happen with a flawed or subversive emulation, as reported by the
    syzbot fuzzer.
    
    Protect against this possibility by refusing to bind to the device if
    either the ATA_ID_HEADS or ATA_ID_SECTORS value in the device's ID
    information is 0.  This requires isd200_Initialization() to return a
    negative error code when initialization fails; currently it always
    returns 0 (even when there is an error).
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Reported-and-tested-by: syzbot+28748250ab47a8f04100@syzkaller.appspotmail.com
    Link: https://lore.kernel.org/linux-usb/0000000000003eb868061245ba7f@google.com/
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Cc: stable@vger.kernel.org
    Reviewed-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
    Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
    Link: https://lore.kernel.org/r/b1e605ea-333f-4ac0-9511-da04f411763e@rowland.harvard.edu
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    AlanStern authored and gregkh committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    014bcf4 View commit details
    Browse the repository at this point in the history
  14. tty: serial: imx: Fix broken RS485

    When about to transmit the function imx_uart_start_tx is called and in
    some RS485 configurations this function will call imx_uart_stop_rx. The
    problem is that imx_uart_stop_rx will enable loopback in order to
    release the RS485 bus, but when loopback is enabled transmitted data
    will just be looped to RX.
    
    This patch fixes the above problem by not enabling loopback when about
    to transmit.
    
    This driver now works well when used for RS485 half duplex master
    configurations.
    
    Fixes: 79d0224 ("tty: serial: imx: Handle RS485 DE signal active high")
    Cc: stable <stable@kernel.org>
    Signed-off-by: Rickard x Andersson <rickaran@axis.com>
    Tested-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
    Link: https://lore.kernel.org/r/20240221115304.509811-1-rickaran@axis.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Rickard x Andersson authored and gregkh committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    672448c View commit details
    Browse the repository at this point in the history
  15. serial: 8250_dw: Do not reclock if already at correct rate

    When userspace opens the console, we call set_termios() passing a
    termios with the console's configured baud rate. Currently this causes
    dw8250_set_termios() to disable and then re-enable the UART clock at
    the same frequency as it was originally. This can cause corruption
    of any concurrent console output. Fix it by skipping the reclocking
    if we are already at the correct rate.
    
    Signed-off-by: Peter Collingbourne <pcc@google.com>
    Fixes: 4e26b13 ("serial: 8250_dw: clock rate handling for all ACPI platforms")
    Cc: stable@vger.kernel.org
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Link: https://lore.kernel.org/r/20240222192635.1050502-1-pcc@google.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    pcc authored and gregkh committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    e5d6bd2 View commit details
    Browse the repository at this point in the history
  16. serial: port: Don't suspend if the port is still busy

    We accidently met the issue that the bash prompt is not shown after the
    previous command done and until the next input if there's only one CPU
    (In our issue other CPUs are isolated by isolcpus=). Further analysis
    shows it's because the port entering runtime suspend even if there's
    still pending chars in the buffer and the pending chars will only be
    processed in next device resuming. We are using amba-pl011 and the
    problematic flow is like below:
    
    Bash                                         kworker
    tty_write()
      file_tty_write()
        n_tty_write()
          uart_write()
            __uart_start()
              pm_runtime_get() // wakeup waker
                queue_work()
                                                 pm_runtime_work()
                                                   rpm_resume()
                                                    status = RPM_RESUMING
                                                    serial_port_runtime_resume()
                                                      port->ops->start_tx()
                                                        pl011_tx_chars()
                                                          uart_write_wakeup()
            […]
            __uart_start()
              pm_runtime_get() < 0 // because runtime status = RPM_RESUMING
                                   // later data are not commit to the port driver
                                                    status = RPM_ACTIVE
                                                    rpm_idle() -> rpm_suspend()
    
    This patch tries to fix this by checking the port busy before entering
    runtime suspending. A runtime_suspend callback is added for the port
    driver. When entering runtime suspend the callback is invoked, if there's
    still pending chars in the buffer then flush the buffer.
    
    Fixes: 84a9582 ("serial: core: Start managing serial controllers to enable runtime PM")
    Cc: stable <stable@kernel.org>
    Reviewed-by: Tony Lindgren <tony@atomide.com>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
    Link: https://lore.kernel.org/r/20240226152351.40924-1-yangyicong@huawei.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Yicong Yang authored and gregkh committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    43066e3 View commit details
    Browse the repository at this point in the history
  17. vt: fix unicode buffer corruption when deleting characters

    This is the same issue that was fixed for the VGA text buffer in commit
    39cdb68 ("vt: fix memory overlapping when deleting chars in the
    buffer"). The cure is also the same i.e. replace memcpy() with memmove()
    due to the overlaping buffers.
    
    Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
    Fixes: 81732c3 ("tty vt: Fix line garbage in virtual console on command line edition")
    Cc: stable <stable@kernel.org>
    Link: https://lore.kernel.org/r/sn184on2-3p0q-0qrq-0218-895349s4753o@syhkavp.arg
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    npitre authored and gregkh committed Mar 2, 2024
    Configuration menu
    Copy the full SHA
    1581daf View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2024

  1. Drivers: hv: vmbus: make hv_bus const

    Now that the driver core can properly handle constant struct bus_type,
    move the hv_bus variable to be a constant structure as well,
    placing it into read-only memory which can not be modified at runtime.
    
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Reviewed-by: Michael Kelley <mhklinux@outlook.com>
    Link: https://lore.kernel.org/r/20240204-bus_cleanup-hv-v1-1-521bd4140673@marliere.net
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    Message-ID: <20240204-bus_cleanup-hv-v1-1-521bd4140673@marliere.net>
    rbmarliere authored and liuw committed Mar 3, 2024
    Configuration menu
    Copy the full SHA
    aa707b6 View commit details
    Browse the repository at this point in the history
  2. Input: xpad - add additional HyperX Controller Identifiers

    Add additional HyperX device identifiers to xpad_device and xpad_table.
    
    Suggested-by: Chris Toledanes<chris.toledanes@hp.com>
    Reviewed-by: Carl Ng <carl.ng@hp.com>
    Signed-off-by: Max Nguyen <maxwell.nguyen@hp.com>
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/44ad5ffa-76d8-4046-94ee-2ef171930ed2@gmail.com
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    HP-HX-maxster authored and dtor committed Mar 3, 2024
    Configuration menu
    Copy the full SHA
    dd50f77 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2024

  1. Revert "arm64: dts: qcom: msm8996: Hook up MPM"

    Commit 09896da ("arm64: dts: qcom: msm8996: Hook up MPM") has
    hooked up the MPM irq chip on the MSM8996 platform. However this causes
    my Dragonboard 820c crash during bootup (usually when probing IOMMUs).
    Revert the offending commit for now. Quick debug shows that making
    tlmm's wakeup-parent point to the MPM is enough to trigger the crash.
    
    Fixes: 09896da ("arm64: dts: qcom: msm8996: Hook up MPM")
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Link: https://lore.kernel.org/r/20240221-msm8996-revert-mpm-v1-1-cdca9e30c9b4@linaro.org
    Signed-off-by: Bjorn Andersson <andersson@kernel.org>
    lumag authored and andersson committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    4f423c4 View commit details
    Browse the repository at this point in the history
  2. misc: lis3lv02d_i2c: Fix regulators getting en-/dis-abled twice on su…

    …spend/resume
    
    When not configured for wakeup lis3lv02d_i2c_suspend() will call
    lis3lv02d_poweroff() even if the device has already been turned off
    by the runtime-suspend handler and if configured for wakeup and
    the device is runtime-suspended at this point then it is not turned
    back on to serve as a wakeup source.
    
    Before commit b1b9f7a ("misc: lis3lv02d_i2c: Add missing setting
    of the reg_ctrl callback"), lis3lv02d_poweroff() failed to disable
    the regulators which as a side effect made calling poweroff() twice ok.
    
    Now that poweroff() correctly disables the regulators, doing this twice
    triggers a WARN() in the regulator core:
    
    unbalanced disables for regulator-dummy
    WARNING: CPU: 1 PID: 92 at drivers/regulator/core.c:2999 _regulator_disable
    ...
    
    Fix lis3lv02d_i2c_suspend() to not call poweroff() a second time if
    already runtime-suspended and add a poweron() call when necessary to
    make wakeup work.
    
    lis3lv02d_i2c_resume() has similar issues, with an added weirness that
    it always powers on the device if it is runtime suspended, after which
    the first runtime-resume will call poweron() again, causing the enabled
    count for the regulator to increase by 1 every suspend/resume. These
    unbalanced regulator_enable() calls cause the regulator to never
    be turned off and trigger the following WARN() on driver unbind:
    
    WARNING: CPU: 1 PID: 1724 at drivers/regulator/core.c:2396 _regulator_put
    
    Fix this by making lis3lv02d_i2c_resume() mirror the new suspend().
    
    Fixes: b1b9f7a ("misc: lis3lv02d_i2c: Add missing setting of the reg_ctrl callback")
    Reported-by: Paul Menzel <pmenzel@molgen.mpg.de>
    Closes: https://lore.kernel.org/regressions/5fc6da74-af0a-4aac-b4d5-a000b39a63a5@molgen.mpg.de/
    Cc: stable@vger.kernel.org
    Cc: regressions@lists.linux.dev
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Tested-by: Paul Menzel <pmenzel@molgen.mpg.de> # Dell XPS 15 7590
    Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
    Link: https://lore.kernel.org/r/20240220190035.53402-1-hdegoede@redhat.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    jwrdegoede authored and gregkh committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    ac3e038 View commit details
    Browse the repository at this point in the history
  3. ALSA: hda/realtek - Add Headset Mic supported Acer NB platform

    It will be enable headset Mic for Acer NB platform.
    
    Signed-off-by: Kailang Yang <kailang@realtek.com>
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/fe0eb6661ca240f3b7762b5b3257710d@realtek.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    kailangyang authored and tiwai committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    34ab5bb View commit details
    Browse the repository at this point in the history
  4. ALSA: hda: cs35l41: Support Lenovo Thinkbook 16P

    Adds sound support for 2 Lenovo Thinkbook 16P laptops using CS35L41
    HDA with External Boost.
    
    SSIDs:
    - 17AA38A9
    - 17AA38AB
    
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218437
    
    Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20240301160154.158398-2-sbinding@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Stefan Binding authored and tiwai committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    37d9d5f View commit details
    Browse the repository at this point in the history
  5. ALSA: hda/realtek: Add quirks for Lenovo Thinkbook 16P laptops

    These models use 2 CS35L41 amps with HDA using I2C.
    Both models have _DSD support inside cs35l41_hda_property.c.
    
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218437
    
    Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20240301160154.158398-3-sbinding@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Stefan Binding authored and tiwai committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    6214e24 View commit details
    Browse the repository at this point in the history
  6. ALSA: hda: cs35l41: Overwrite CS35L41 configuration for ASUS UM5302LA

    Whilst this laptop contains _DSD inside the BIOS, there is an error in
    this configuration. Override the _DSD in the BIOS with the correct
    configuration for this laptop.
    
    Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20240301160154.158398-4-sbinding@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Stefan Binding authored and tiwai committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    b603d95 View commit details
    Browse the repository at this point in the history
  7. tee: optee: Fix kernel panic caused by incorrect error handling

    The error path while failing to register devices on the TEE bus has a
    bug leading to kernel panic as follows:
    
    [   15.398930] Unable to handle kernel paging request at virtual address ffff07ed00626d7c
    [   15.406913] Mem abort info:
    [   15.409722]   ESR = 0x0000000096000005
    [   15.413490]   EC = 0x25: DABT (current EL), IL = 32 bits
    [   15.418814]   SET = 0, FnV = 0
    [   15.421878]   EA = 0, S1PTW = 0
    [   15.425031]   FSC = 0x05: level 1 translation fault
    [   15.429922] Data abort info:
    [   15.432813]   ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
    [   15.438310]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
    [   15.443372]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
    [   15.448697] swapper pgtable: 4k pages, 48-bit VAs, pgdp=00000000d9e3e000
    [   15.455413] [ffff07ed00626d7c] pgd=1800000bffdf9003, p4d=1800000bffdf9003, pud=0000000000000000
    [   15.464146] Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP
    
    Commit 7269cba ("tee: optee: Fix supplicant based device enumeration")
    lead to the introduction of this bug. So fix it appropriately.
    
    Reported-by: Mikko Rapeli <mikko.rapeli@linaro.org>
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218542
    Fixes: 7269cba ("tee: optee: Fix supplicant based device enumeration")
    Cc: stable@vger.kernel.org
    Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
    Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
    b49020 authored and jenswi-linaro committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    95915ba View commit details
    Browse the repository at this point in the history
  8. tracing/net_sched: Fix tracepoints that save qdisc_dev() as a string

    I'm updating __assign_str() and will be removing the second parameter. To
    make sure that it does not break anything, I make sure that it matches the
    __string() field, as that is where the string is actually going to be
    saved in. To make sure there's nothing that breaks, I added a WARN_ON() to
    make sure that what was used in __string() is the same that is used in
    __assign_str().
    
    In doing this change, an error was triggered as __assign_str() now expects
    the string passed in to be a char * value. I instead had the following
    warning:
    
    include/trace/events/qdisc.h: In function ‘trace_event_raw_event_qdisc_reset’:
    include/trace/events/qdisc.h:91:35: error: passing argument 1 of 'strcmp' from incompatible pointer type [-Werror=incompatible-pointer-types]
       91 |                 __assign_str(dev, qdisc_dev(q));
    
    That's because the qdisc_enqueue() and qdisc_reset() pass in qdisc_dev(q)
    to __assign_str() and to __string(). But that function returns a pointer
    to struct net_device and not a string.
    
    It appears that these events are just saving the pointer as a string and
    then reading it as a string as well.
    
    Use qdisc_dev(q)->name to save the device instead.
    
    Fixes: a34dac0 ("net_sched: add tracepoints for qdisc_reset() and qdisc_destroy()")
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    Reviewed-by: Jamal Hadi Salim <jhs@mojatatu.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    rostedt authored and davem330 committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    51270d5 View commit details
    Browse the repository at this point in the history
  9. geneve: make sure to pull inner header in geneve_rx()

    syzbot triggered a bug in geneve_rx() [1]
    
    Issue is similar to the one I fixed in commit 8d975c1
    ("ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()")
    
    We have to save skb->network_header in a temporary variable
    in order to be able to recompute the network_header pointer
    after a pskb_inet_may_pull() call.
    
    pskb_inet_may_pull() makes sure the needed headers are in skb->head.
    
    [1]
    BUG: KMSAN: uninit-value in IP_ECN_decapsulate include/net/inet_ecn.h:302 [inline]
     BUG: KMSAN: uninit-value in geneve_rx drivers/net/geneve.c:279 [inline]
     BUG: KMSAN: uninit-value in geneve_udp_encap_recv+0x36f9/0x3c10 drivers/net/geneve.c:391
      IP_ECN_decapsulate include/net/inet_ecn.h:302 [inline]
      geneve_rx drivers/net/geneve.c:279 [inline]
      geneve_udp_encap_recv+0x36f9/0x3c10 drivers/net/geneve.c:391
      udp_queue_rcv_one_skb+0x1d39/0x1f20 net/ipv4/udp.c:2108
      udp_queue_rcv_skb+0x6ae/0x6e0 net/ipv4/udp.c:2186
      udp_unicast_rcv_skb+0x184/0x4b0 net/ipv4/udp.c:2346
      __udp4_lib_rcv+0x1c6b/0x3010 net/ipv4/udp.c:2422
      udp_rcv+0x7d/0xa0 net/ipv4/udp.c:2604
      ip_protocol_deliver_rcu+0x264/0x1300 net/ipv4/ip_input.c:205
      ip_local_deliver_finish+0x2b8/0x440 net/ipv4/ip_input.c:233
      NF_HOOK include/linux/netfilter.h:314 [inline]
      ip_local_deliver+0x21f/0x490 net/ipv4/ip_input.c:254
      dst_input include/net/dst.h:461 [inline]
      ip_rcv_finish net/ipv4/ip_input.c:449 [inline]
      NF_HOOK include/linux/netfilter.h:314 [inline]
      ip_rcv+0x46f/0x760 net/ipv4/ip_input.c:569
      __netif_receive_skb_one_core net/core/dev.c:5534 [inline]
      __netif_receive_skb+0x1a6/0x5a0 net/core/dev.c:5648
      process_backlog+0x480/0x8b0 net/core/dev.c:5976
      __napi_poll+0xe3/0x980 net/core/dev.c:6576
      napi_poll net/core/dev.c:6645 [inline]
      net_rx_action+0x8b8/0x1870 net/core/dev.c:6778
      __do_softirq+0x1b7/0x7c5 kernel/softirq.c:553
      do_softirq+0x9a/0xf0 kernel/softirq.c:454
      __local_bh_enable_ip+0x9b/0xa0 kernel/softirq.c:381
      local_bh_enable include/linux/bottom_half.h:33 [inline]
      rcu_read_unlock_bh include/linux/rcupdate.h:820 [inline]
      __dev_queue_xmit+0x2768/0x51c0 net/core/dev.c:4378
      dev_queue_xmit include/linux/netdevice.h:3171 [inline]
      packet_xmit+0x9c/0x6b0 net/packet/af_packet.c:276
      packet_snd net/packet/af_packet.c:3081 [inline]
      packet_sendmsg+0x8aef/0x9f10 net/packet/af_packet.c:3113
      sock_sendmsg_nosec net/socket.c:730 [inline]
      __sock_sendmsg net/socket.c:745 [inline]
      __sys_sendto+0x735/0xa10 net/socket.c:2191
      __do_sys_sendto net/socket.c:2203 [inline]
      __se_sys_sendto net/socket.c:2199 [inline]
      __x64_sys_sendto+0x125/0x1c0 net/socket.c:2199
      do_syscall_x64 arch/x86/entry/common.c:52 [inline]
      do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83
     entry_SYSCALL_64_after_hwframe+0x63/0x6b
    
    Uninit was created at:
      slab_post_alloc_hook mm/slub.c:3819 [inline]
      slab_alloc_node mm/slub.c:3860 [inline]
      kmem_cache_alloc_node+0x5cb/0xbc0 mm/slub.c:3903
      kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:560
      __alloc_skb+0x352/0x790 net/core/skbuff.c:651
      alloc_skb include/linux/skbuff.h:1296 [inline]
      alloc_skb_with_frags+0xc8/0xbd0 net/core/skbuff.c:6394
      sock_alloc_send_pskb+0xa80/0xbf0 net/core/sock.c:2783
      packet_alloc_skb net/packet/af_packet.c:2930 [inline]
      packet_snd net/packet/af_packet.c:3024 [inline]
      packet_sendmsg+0x70c2/0x9f10 net/packet/af_packet.c:3113
      sock_sendmsg_nosec net/socket.c:730 [inline]
      __sock_sendmsg net/socket.c:745 [inline]
      __sys_sendto+0x735/0xa10 net/socket.c:2191
      __do_sys_sendto net/socket.c:2203 [inline]
      __se_sys_sendto net/socket.c:2199 [inline]
      __x64_sys_sendto+0x125/0x1c0 net/socket.c:2199
      do_syscall_x64 arch/x86/entry/common.c:52 [inline]
      do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83
     entry_SYSCALL_64_after_hwframe+0x63/0x6b
    
    Fixes: 2d07dc7 ("geneve: add initial netdev driver for GENEVE tunnels")
    Reported-and-tested-by: syzbot+6a1423ff3f97159aae64@syzkaller.appspotmail.com
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reviewed-by: Jiri Pirko <jiri@nvidia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Eric Dumazet authored and davem330 committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    1ca1ba4 View commit details
    Browse the repository at this point in the history
  10. page_pool: fix netlink dump stop/resume

    If message fills up we need to stop writing. 'break' will
    only get us out of the iteration over pools of a single
    netdev, we need to also stop walking netdevs.
    
    This results in either infinite dump, or missing pools,
    depending on whether message full happens on the last
    netdev (infinite dump) or non-last (missing pools).
    
    Fixes: 950ab53 ("net: page_pool: implement GET in the netlink API")
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    kuba-moo authored and davem330 committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    429679d View commit details
    Browse the repository at this point in the history
  11. drm: Fix output poll work for drm_kms_helper_poll=n

    If drm_kms_helper_poll=n the output poll work will only get scheduled
    from drm_helper_probe_single_connector_modes() to handle a delayed
    hotplug event. Since polling is disabled the work in this case should
    just call drm_kms_helper_hotplug_event() w/o detecting the state of
    connectors and rescheduling the work.
    
    After commit d33a54e after a delayed hotplug event above the
    connectors did get re-detected in the poll work and the work got
    re-scheduled periodically (since poll_running is also false if
    drm_kms_helper_poll=n), in effect ignoring the drm_kms_helper_poll=n
    kernel param.
    
    Fix the above by calling only drm_kms_helper_hotplug_event() for a
    delayed hotplug event if drm_kms_helper_hotplug_event=n, as was done
    before d33a54e.
    
    Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Fixes: d33a54e ("drm/probe_helper: sort out poll_running vs poll_enabled")
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Signed-off-by: Imre Deak <imre.deak@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240301152243.1670573-1-imre.deak@intel.com
    ideak committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    72e6d66 View commit details
    Browse the repository at this point in the history
  12. arm64: prohibit probing on arch_kunwind_consume_entry()

    Make arch_kunwind_consume_entry() as __always_inline otherwise the
    compiler might not inline it and allow attaching probes to it.
    
    Without this, just probing arch_kunwind_consume_entry() via
    <tracefs>/kprobe_events will crash the kernel on arm64.
    
    The crash can be reproduced using the following compiler and kernel
    combination:
    clang version 19.0.0git (https://github.com/llvm/llvm-project.git d68d29516102252f6bf6dc23fb22cef144ca1cb3)
    commit 87adede ("Merge tag 'net-6.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net")
    
     [root@localhost ~]# echo 'p arch_kunwind_consume_entry' > /sys/kernel/debug/tracing/kprobe_events
     [root@localhost ~]# echo 1 > /sys/kernel/debug/tracing/events/kprobes/enable
    
     Modules linked in: aes_ce_blk aes_ce_cipher ghash_ce sha2_ce virtio_net sha256_arm64 sha1_ce arm_smccc_trng net_failover failover virtio_mmio uio_pdrv_genirq uio sch_fq_codel dm_mod dax configfs
     CPU: 3 PID: 1405 Comm: bash Not tainted 6.8.0-rc6+ #14
     Hardware name: linux,dummy-virt (DT)
     pstate: 604003c5 (nZCv DAIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
     pc : kprobe_breakpoint_handler+0x17c/0x258
     lr : kprobe_breakpoint_handler+0x17c/0x258
     sp : ffff800085d6ab60
     x29: ffff800085d6ab60 x28: ffff0000066f0040 x27: ffff0000066f0b20
     x26: ffff800081fa7b0c x25: 0000000000000002 x24: ffff00000b29bd18
     x23: ffff00007904c590 x22: ffff800081fa6590 x21: ffff800081fa6588
     x20: ffff00000b29bd18 x19: ffff800085d6ac40 x18: 0000000000000079
     x17: 0000000000000001 x16: ffffffffffffffff x15: 0000000000000004
     x14: ffff80008277a940 x13: 0000000000000003 x12: 0000000000000003
     x11: 00000000fffeffff x10: c0000000fffeffff x9 : aa95616fdf80cc00
     x8 : aa95616fdf80cc00 x7 : 205d343137373231 x6 : ffff800080fb48ec
     x5 : 0000000000000000 x4 : 0000000000000001 x3 : 0000000000000000
     x2 : 0000000000000000 x1 : ffff800085d6a910 x0 : 0000000000000079
     Call trace:
     kprobes: Failed to recover from reentered kprobes.
     kprobes: Dump kprobe:
     .symbol_name = arch_kunwind_consume_entry, .offset = 0, .addr = arch_kunwind_consume_entry+0x0/0x40
     ------------[ cut here ]------------
     kernel BUG at arch/arm64/kernel/probes/kprobes.c:241!
     kprobes: Failed to recover from reentered kprobes.
     kprobes: Dump kprobe:
     .symbol_name = arch_kunwind_consume_entry, .offset = 0, .addr = arch_kunwind_consume_entry+0x0/0x40
    
    Fixes: 1aba06e ("arm64: stacktrace: factor out kunwind_stack_walk()")
    Signed-off-by: Puranjay Mohan <puranjay12@gmail.com>
    Reviewed-by: Mark Rutland <mark.rutland@arm.com>
    Link: https://lore.kernel.org/r/20240229231620.24846-1-puranjay12@gmail.com
    Signed-off-by: Will Deacon <will@kernel.org>
    puranjaymohan authored and willdeacon committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    2c79bd3 View commit details
    Browse the repository at this point in the history
  13. selftests: mptcp: diag: return KSFT_FAIL not test_cnt

    The test counter 'test_cnt' should not be returned in diag.sh, e.g. what
    if only the 4th test fail? Will do 'exit 4' which is 'exit ${KSFT_SKIP}',
    the whole test will be marked as skipped instead of 'failed'!
    
    So we should do ret=${KSFT_FAIL} instead.
    
    Fixes: df62f2e ("selftests/mptcp: add diag interface tests")
    Cc: stable@vger.kernel.org
    Fixes: 42fb6cd ("selftests: mptcp: more stable diag tests")
    Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
    Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
    Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Geliang Tang authored and davem330 committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    45bcc03 View commit details
    Browse the repository at this point in the history
  14. selftests: mptcp: diag: avoid extra waiting

    When creating a lot of listener sockets, it is enough to wait only for
    the last one, like we are doing before in diag.sh for other subtests.
    
    If we do a check for each listener sockets, each time listing all
    available sockets, it can take a very long time in very slow
    environments, at the point we can reach some timeout.
    
    When using the debug kconfig, the waiting time switches from more than
    8 sec to 0.1 sec on my side. In slow/busy environments, and with a poll
    timeout set to 30 ms, the waiting time could go up to ~100 sec because
    the listener socket would timeout and stop, while the script would still
    be checking one by one if all sockets are ready. The result is that
    after having waited for everything to be ready, all sockets have been
    stopped due to a timeout, and it is too late for the script to check how
    many there were.
    
    While at it, also removed ss options we don't need: we only need the
    filtering options, to count how many listener sockets have been created.
    We don't need to ask ss to display internal TCP information, and the
    memory if the output is dropped by the 'wc -l' command anyway.
    
    Fixes: b4b51d3 ("selftests: mptcp: explicitly trigger the listener diag code-path")
    Reported-by: Jakub Kicinski <kuba@kernel.org>
    Closes: https://lore.kernel.org/r/20240301063754.2ecefecf@kernel.org
    Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    matttbe authored and davem330 committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    f05d228 View commit details
    Browse the repository at this point in the history
  15. Merge branch 'mptcp-test-fixes'

    Matthieu Baerts says:
    
    ====================
    selftests: mptcp: fixes for diag.sh
    
    Here are two patches fixing issues in MPTCP diag.sh kselftest:
    
    - Patch 1 makes sure the exit code is '1' in case of error, and not the
      test ID, not to return an exit code that would be wrongly interpreted
      by the ksefltests framework, e.g. '4' means 'skip'.
    
    - Patch 2 avoids waiting for unnecessary conditions, which can cause
      timeouts in some very slow environments.
    ====================
    
    Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
    davem330 committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    948abb5 View commit details
    Browse the repository at this point in the history
  16. Merge tag 'sunxi-fixes-for-6.8-1' of https://git.kernel.org/pub/scm/l…

    …inux/kernel/git/sunxi/linux into arm/fixes
    
    - include Orange Pi Zero 2W DT in Makefile
    
    * tag 'sunxi-fixes-for-6.8-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
      arm64: dts: allwinner: h616: Add Orange Pi Zero 2W to Makefile
    
    Link: https://lore.kernel.org/r/20240223205450.GA8881@jernej-laptop
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    arndb committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    aa8bb98 View commit details
    Browse the repository at this point in the history
  17. Merge tag 'qcom-arm64-fixes-for-6.8' of https://git.kernel.org/pub/sc…

    …m/linux/kernel/git/qcom/linux into arm/fixes
    
    Qualcomm ARM64 DeviceTree fixes for 6.8
    
    This marks an additional GPIO as protected on SM8650 devices, to avoid
    a system reset caused by a security violation with some firmware
    versions.
    
    It also adds the missing interconnect-names, which resolves a regression
    where one of the I2C busses on SM6115 devices would no longer probe in
    Linux.
    
    * tag 'qcom-arm64-fixes-for-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
      arm64: dts: qcom: sm6115: Fix missing interconnect-names
      arm64: dts: qcom: sm8650-mtp: add gpio74 as reserved gpio
      arm64: dts: qcom: sm8650-qrd: add gpio74 as reserved gpio
    
    Link: https://lore.kernel.org/r/20240225025205.479589-1-andersson@kernel.org
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    arndb committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    2bb5a9a View commit details
    Browse the repository at this point in the history
  18. Merge tag 'imx-fixes-6.8-2' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/shawnguo/linux into arm/fixes
    
    i.MX fixes for 6.8, round 2:
    
    - Update MAINTAINERS to use a public mailing list for NXP i.MX
      development.
    - Re-enable CONFIG_BACKLIGHT_CLASS_DEVICE in imx_v6_v7_defconfig to fix
      a backlight regression.
    - Remove DSI port endpoints from i.MX7 SoC DTSI to fix a display
      regression.
    - Fix LDB clocks property for i.MX8MP device tree.
    - Fix TC9595 reset GPIO on DH i.MX8M Plus DHCOM SoM.
    
    * tag 'imx-fixes-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
      arm64: dts: imx8mp: Fix LDB clocks property
      arm64: dts: imx8mp: Fix TC9595 reset GPIO on DH i.MX8M Plus DHCOM SoM
      MAINTAINERS: Use a proper mailinglist for NXP i.MX development
      ARM: dts: imx7: remove DSI port endpoints
      ARM: imx_v6_v7_defconfig: Restore CONFIG_BACKLIGHT_CLASS_DEVICE
    
    Link: https://lore.kernel.org/r/ZdtPJzdenRybI+Bq@dragon
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    arndb committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    d20f2a1 View commit details
    Browse the repository at this point in the history
  19. Merge tag 'tegra-for-6.8-arm64-dt' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/tegra/linux into arm/fixes
    
    arm64: tegra: Device tree fixes for v6.8
    
    This contains two fixes to make the MGBE Ethernet devices found on
    Tegra234 work properly.
    
    * tag 'tegra-for-6.8-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
      arm64: tegra: Fix Tegra234 MGBE power-domains
      arm64: tegra: Set the correct PHY mode for MGBE
    
    Link: https://lore.kernel.org/r/20240226144536.1525704-1-thierry.reding@gmail.com
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    arndb committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    35edcf6 View commit details
    Browse the repository at this point in the history
  20. Merge tag 'optee-fix-for-v6.8' of https://git.linaro.org/people/jens.…

    …wiklander/linux-tee into arm/fixes
    
    Fix kernel panic in OP-TEE driver
    
    * tag 'optee-fix-for-v6.8' of https://git.linaro.org/people/jens.wiklander/linux-tee:
      tee: optee: Fix kernel panic caused by incorrect error handling
    
    Link: https://lore.kernel.org/r/20240304132727.GA3501807@rayden
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    arndb committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    64b9175 View commit details
    Browse the repository at this point in the history
  21. regulator: rk808: fix buck range on RK806

    The linear ranges aren't really matching what they should be. Indeed,
    the range is inclusive of the min value, so it makes sense the previous
    range does NOT include the max step value representing the min value of
    the range in question.
    
    Since 1.5V is represented by the decimal value 160, the previous range
    max step value should be 159 and not 160. Similarly, 3.4V is represented
    by the decimal value 236, so the previous range max value should be 235
    and not 237.
    
    The only change in behavior this makes is that this actually modeled
    the ranges to map step with decimal value 237 with 3.65V instead of
    3.4V (the max supported by the HW).
    
    Fixes: f991a22 ("regulator: rk808: add rk806 support")
    Cc: Quentin Schulz <foss+kernel@0leil.net>
    Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
    Link: https://msgid.link/r/20240223-rk806-regulator-ranges-v1-1-3904ab70d250@theobroma-systems.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    QSchulz authored and broonie committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    5803b54 View commit details
    Browse the repository at this point in the history
  22. regulator: rk808: fix LDO range on RK806

    The linear ranges aren't really matching what they should be. Indeed,
    the range is inclusive of the min value, so it makes sense the previous
    range does NOT include the max step value representing the min value of
    the range in question.
    
    Since 3.4V is represented by the decimal value 232, the previous range
    max step value should be 231 and not 232.
    
    No expected change in behavior since 3.4V was mapped with step 232 from
    the first range but is now mapped with step 232 from the second range.
    
    While at it, remove the incorrect comment from the second range.
    
    Fixes: f991a22 ("regulator: rk808: add rk806 support")
    Cc: Quentin Schulz <foss+kernel@0leil.net>
    Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
    Link: https://msgid.link/r/20240223-rk806-regulator-ranges-v1-2-3904ab70d250@theobroma-systems.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    QSchulz authored and broonie committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    6717ff5 View commit details
    Browse the repository at this point in the history
  23. drm/panel: boe-tv101wum-nl6: Fine tune Himax83102-j02 panel HFP and H…

    …BP (again)
    
    The current measured frame rate is 59.95Hz, which does not meet the
    requirements of touch-stylus and stylus cannot work normally. After
    adjustment, the actual measurement is 60.001Hz. Now this panel looks
    like it's only used by me on the MTK platform, so let's change this
    set of parameters.
    
    [ dianders: Added "(again") to subject and fixed the "Fixes" line ]
    
    Fixes: cea7008 ("drm/panel: boe-tv101wum-nl6: Fine tune Himax83102-j02 panel HFP and HBP")
    Signed-off-by: Cong Yang <yangcong5@huaqin.corp-partner.google.com>
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240301061128.3145982-1-yangcong5@huaqin.corp-partner.google.com
    Cong Yang authored and dianders committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    9dfc46c View commit details
    Browse the repository at this point in the history
  24. ASoC: rcar: adg: correct TIMSEL setting for SSI9

    Timing select registers for SRC and CMD are by default
    referring to the corresponding SSI word select.
    The calculation rule from HW spec skips SSI8, which has
    no clock connection.
    
    >From section 43.2.18 CMD Output Timing Select Register (CMDOUT_TIMSEL),
    of R-Car Series, 3rd Generation Hardware User’s Manual Rev.2.20:
    
    CMD0_OUT_DIVCLK_	Output Timing
    SEL [4:0]		Signal Select
    B'0 0110: 		ssi_ws0
    B'0 0111: 		ssi_ws1
    B'0 1000: 		ssi_ws2
    B'0 1001: 		ssi_ws3
    B'0 1010: 		ssi_ws4
    B'0 1011: 		ssi_ws5
    B'0 1100: 		ssi_ws6
    B'0 1101: 		ssi_ws7
    	<GAP>
    B'0 1110: 		ssi_ws9
    B'0 1111: 		Setting prohibited
    
    Fix the erroneous prohibited setting of timsel value 1111 (0xf) for SSI9
    by using timsel value 1110 (0xe) instead. This is possible because SSI8
    is not connected as shown by <GAP> in the table above.
    
    [21.695055] rcar_sound ec500000.sound: b adg[0]-CMDOUT_TIMSEL (32):00000f00/00000f1f
    
    Correct the timsel assignment.
    
    Fixes: 629509c ("ASoC: rsnd: add Gen2 SRC and DMAEngine support")
    Suggested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Signed-off-by: Andreas Pape <Andreas.Pape4@bosch.com>
    Signed-off-by: Yeswanth Rayapati <yeswanth.rayapati@in.bosch.com>
    Tested-by: Yeswanth Rayapati <yeswanth.rayapati@in.bosch.com>
    [erosca: massage commit description]
    Signed-off-by: Eugeniu Rosca <eugeniu.rosca@bosch.com>
    Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://msgid.link/r/20240301085003.3057-1-erosca@de.adit-jv.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    aditpape authored and broonie committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    cbae1a3 View commit details
    Browse the repository at this point in the history
  25. ASoC: amd: yc: Add HP Pavilion Aero Laptop 13-be2xxx(8BD6) into DMI q…

    …uirk table
    
    The HP Pavilion Aero Laptop 13-be2xxx(8BD6) requires a quirk entry for its internal microphone to function.
    
    Signed-off-by: Al Raj Hassain <alrajhassain@gmail.com>
    Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
    Link: https://msgid.link/r/20240304103924.13673-1-alrajhassain@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alrajhassain authored and broonie committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    b3a5113 View commit details
    Browse the repository at this point in the history
  26. firmware: microchip: Fix over-requested allocation size

    cocci warnings: (new ones prefixed by >>)
    >> drivers/firmware/microchip/mpfs-auto-update.c:387:72-78:
       ERROR: application of sizeof to pointer
       drivers/firmware/microchip/mpfs-auto-update.c:170:72-78:
       ERROR: application of sizeof to pointer
    
    response_msg is a pointer to u32, so the size of element it points to is
    supposed to be a multiple of sizeof(u32), rather than sizeof(u32 *).
    
    Reported-by: kernel test robot <lkp@intel.com>
    Closes: https://lore.kernel.org/oe-kbuild-all/202403040516.CYxoWTXw-lkp@intel.com/
    Signed-off-by: Dawei Li <dawei.li@shingroup.cn>
    Fixes: ec5b0f1 ("firmware: microchip: add PolarFire SoC Auto Update support")
    Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
    Dawei Li authored and ConchuOD committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    af1e0a7 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2024

  1. mm, vmscan: prevent infinite loop for costly GFP_NOIO | __GFP_RETRY_M…

    …AYFAIL allocations
    
    Sven reports an infinite loop in __alloc_pages_slowpath() for costly order
    __GFP_RETRY_MAYFAIL allocations that are also GFP_NOIO.  Such combination
    can happen in a suspend/resume context where a GFP_KERNEL allocation can
    have __GFP_IO masked out via gfp_allowed_mask.
    
    Quoting Sven:
    
    1. try to do a "costly" allocation (order > PAGE_ALLOC_COSTLY_ORDER)
       with __GFP_RETRY_MAYFAIL set.
    
    2. page alloc's __alloc_pages_slowpath tries to get a page from the
       freelist. This fails because there is nothing free of that costly
       order.
    
    3. page alloc tries to reclaim by calling __alloc_pages_direct_reclaim,
       which bails out because a zone is ready to be compacted; it pretends
       to have made a single page of progress.
    
    4. page alloc tries to compact, but this always bails out early because
       __GFP_IO is not set (it's not passed by the snd allocator, and even
       if it were, we are suspending so the __GFP_IO flag would be cleared
       anyway).
    
    5. page alloc believes reclaim progress was made (because of the
       pretense in item 3) and so it checks whether it should retry
       compaction. The compaction retry logic thinks it should try again,
       because:
        a) reclaim is needed because of the early bail-out in item 4
        b) a zonelist is suitable for compaction
    
    6. goto 2. indefinite stall.
    
    (end quote)
    
    The immediate root cause is confusing the COMPACT_SKIPPED returned from
    __alloc_pages_direct_compact() (step 4) due to lack of __GFP_IO to be
    indicating a lack of order-0 pages, and in step 5 evaluating that in
    should_compact_retry() as a reason to retry, before incrementing and
    limiting the number of retries.  There are however other places that
    wrongly assume that compaction can happen while we lack __GFP_IO.
    
    To fix this, introduce gfp_compaction_allowed() to abstract the __GFP_IO
    evaluation and switch the open-coded test in try_to_compact_pages() to use
    it.
    
    Also use the new helper in:
    - compaction_ready(), which will make reclaim not bail out in step 3, so
      there's at least one attempt to actually reclaim, even if chances are
      small for a costly order
    - in_reclaim_compaction() which will make should_continue_reclaim()
      return false and we don't over-reclaim unnecessarily
    - in __alloc_pages_slowpath() to set a local variable can_compact,
      which is then used to avoid retrying reclaim/compaction for costly
      allocations (step 5) if we can't compact and also to skip the early
      compaction attempt that we do in some cases
    
    Link: https://lkml.kernel.org/r/20240221114357.13655-2-vbabka@suse.cz
    Fixes: 3250845 ("Revert "mm, oom: prevent premature OOM killer invocation for high order request"")
    Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
    Reported-by: Sven van Ashbrook <svenva@chromium.org>
    Closes: https://lore.kernel.org/all/CAG-rBihs_xMKb3wrMO1%2B-%2Bp4fowP9oy1pa_OTkfxBzPUVOZF%2Bg@mail.gmail.com/
    Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org>
    Cc: Brian Geffon <bgeffon@google.com>
    Cc: Curtis Malainey <cujomalainey@chromium.org>
    Cc: Jaroslav Kysela <perex@perex.cz>
    Cc: Mel Gorman <mgorman@techsingularity.net>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Takashi Iwai <tiwai@suse.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    tehcaster authored and akpm00 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    803de90 View commit details
    Browse the repository at this point in the history
  2. mm: userfaultfd: fix unexpected change to src_folio when UFFDIO_MOVE …

    …fails
    
    After ptep_clear_flush(), if we find that src_folio is pinned we will fail
    UFFDIO_MOVE and put src_folio back to src_pte entry, but the change to
    src_folio->{mapping,index} is not restored in this process. This is not
    what we expected, so fix it.
    
    This can cause the rmap for that page to be invalid, possibly resulting
    in memory corruption.  At least swapout+migration would no longer work,
    because we might fail to locate the mappings of that folio.
    
    Link: https://lkml.kernel.org/r/20240222080815.46291-1-zhengqi.arch@bytedance.com
    Fixes: adef440 ("userfaultfd: UFFDIO_MOVE uABI")
    Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
    Reviewed-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Suren Baghdasaryan <surenb@google.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Qi Zheng authored and akpm00 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    d7a0883 View commit details
    Browse the repository at this point in the history
  3. mm, mmap: fix vma_merge() case 7 with vma_ops->close

    When debugging issues with a workload using SysV shmem, Michal Hocko has
    come up with a reproducer that shows how a series of mprotect() operations
    can result in an elevated shm_nattch and thus leak of the resource.
    
    The problem is caused by wrong assumptions in vma_merge() commit
    714965c ("mm/mmap: start distinguishing if vma can be removed in
    mergeability test").  The shmem vmas have a vma_ops->close callback that
    decrements shm_nattch, and we remove the vma without calling it.
    
    vma_merge() has thus historically avoided merging vma's with
    vma_ops->close and commit 714965c was supposed to keep it that way. 
    It relaxed the checks for vma_ops->close in can_vma_merge_after() assuming
    that it is never called on a vma that would be a candidate for removal. 
    However, the vma_merge() code does also use the result of this check in
    the decision to remove a different vma in the merge case 7.
    
    A robust solution would be to refactor vma_merge() code in a way that the
    vma_ops->close check is only done for vma's that are actually going to be
    removed, and not as part of the preliminary checks.  That would both solve
    the existing bug, and also allow additional merges that the checks
    currently prevent unnecessarily in some cases.
    
    However to fix the existing bug first with a minimized risk, and for
    easier stable backports, this patch only adds a vma_ops->close check to
    the buggy case 7 specifically.  All other cases of vma removal are covered
    by the can_vma_merge_before() check that includes the test for
    vma_ops->close.
    
    The reproducer code, adapted from Michal Hocko's code:
    
    int main(int argc, char *argv[]) {
      int segment_id;
      size_t segment_size = 20 * PAGE_SIZE;
      char * sh_mem;
      struct shmid_ds shmid_ds;
    
      key_t key = 0x1234;
      segment_id = shmget(key, segment_size,
                          IPC_CREAT | IPC_EXCL | S_IRUSR | S_IWUSR);
      sh_mem = (char *)shmat(segment_id, NULL, 0);
    
      mprotect(sh_mem + 2*PAGE_SIZE, PAGE_SIZE, PROT_NONE);
    
      mprotect(sh_mem + PAGE_SIZE, PAGE_SIZE, PROT_WRITE);
    
      mprotect(sh_mem + 2*PAGE_SIZE, PAGE_SIZE, PROT_WRITE);
    
      shmdt(sh_mem);
    
      shmctl(segment_id, IPC_STAT, &shmid_ds);
      printf("nattch after shmdt(): %lu (expected: 0)\n", shmid_ds.shm_nattch);
    
      if (shmctl(segment_id, IPC_RMID, 0))
              printf("IPCRM failed %d\n", errno);
      return (shmid_ds.shm_nattch) ? 1 : 0;
    }
    
    Link: https://lkml.kernel.org/r/20240222215930.14637-2-vbabka@suse.cz
    Fixes: 714965c ("mm/mmap: start distinguishing if vma can be removed in mergeability test")
    Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
    Reported-by: Michal Hocko <mhocko@suse.com>
    Reviewed-by: Lorenzo Stoakes <lstoakes@gmail.com>
    Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    tehcaster authored and akpm00 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    fc0c8f9 View commit details
    Browse the repository at this point in the history
  4. init/Kconfig: lower GCC version check for -Warray-bounds

    We continue to see false positives from -Warray-bounds even in GCC 10,
    which is getting reported in a few places[1] still:
    
    security/security.c:811:2: warning: `memcpy' offset 32 is out of the bounds [0, 0] [-Warray-bounds]
    
    Lower the GCC version check from 11 to 10.
    
    Link: https://lkml.kernel.org/r/20240223170824.work.768-kees@kernel.org
    Reported-by: Lu Yao <yaolu@kylinos.cn>
    Closes: https://lore.kernel.org/lkml/20240117014541.8887-1-yaolu@kylinos.cn/
    Link: https://lore.kernel.org/linux-next/65d84438.620a0220.7d171.81a7@mx.google.com [1]
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Paul Moore <paul@paul-moore.com>
    Cc: Ard Biesheuvel <ardb@kernel.org>
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Marc Aurèle La France <tsi@tuyoix.net>
    Cc: Masahiro Yamada <masahiroy@kernel.org>
    Cc: Nathan Chancellor <nathan@kernel.org>
    Cc: Nhat Pham <nphamcs@gmail.com>
    Cc: Petr Mladek <pmladek@suse.com>
    Cc: Randy Dunlap <rdunlap@infradead.org>
    Cc: Suren Baghdasaryan <surenb@google.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    kees authored and akpm00 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    3e00f58 View commit details
    Browse the repository at this point in the history
  5. mailmap: fix Kishon's email

    Kishon updated his email in commit e6aa4ed ("MAINTAINERS: Update
    Kishon's email address in PCI endpoint subsystem").
    
    However, as he is no longer at TI, his TI email now bounces.
    
    Add the same email as he has in MAINTAINERS to a mailmap, so that
    get_maintainer.pl will not output an email that bounces.
    
    (This is neeed as get_maintainer.pl will use "git author" to CC
    people who have significantly modified the same file as you.)
    
    Link: https://lkml.kernel.org/r/20240229134318.1201935-1-cassel@kernel.org
    Signed-off-by: Niklas Cassel <cassel@kernel.org>
    Cc: Kishon Vijay Abraham I <kishon@kernel.org>
    Cc: Kishon Vijay Abraham I <kishon@ti.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Niklas Cassel authored and akpm00 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    f1d0881 View commit details
    Browse the repository at this point in the history
  6. net: sparx5: Fix use after free inside sparx5_del_mact_entry

    Based on the static analyzis of the code it looks like when an entry
    from the MAC table was removed, the entry was still used after being
    freed. More precise the vid of the mac_entry was used after calling
    devm_kfree on the mac_entry.
    The fix consists in first using the vid of the mac_entry to delete the
    entry from the HW and after that to free it.
    
    Fixes: b37a1ba ("net: sparx5: add mactable support")
    Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Link: https://lore.kernel.org/r/20240301080608.3053468-1-horatiu.vultur@microchip.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    HoratiuVultur authored and kuba-moo committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    89d72d4 View commit details
    Browse the repository at this point in the history
  7. Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/tnguy/net-queue
    
    Tony Nguyen says:
    
    ====================
    Intel Wired LAN Driver Updates 2024-03-01 (ixgbe, i40e, ice)
    
    This series contains updates to ixgbe, i40e, and ice drivers.
    
    Maciej corrects disable flow for ixgbe, i40e, and ice drivers which could
    cause non-functional interface with AF_XDP.
    
    Michal restores host configuration when changing MSI-X count for VFs on
    ice driver.
    
    * '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
      ice: reconfig host after changing MSI-X on VF
      ice: reorder disabling IRQ and NAPI in ice_qp_dis
      i40e: disable NAPI right after disabling irqs when handling xsk_pool
      ixgbe: {dis, en}able irqs in ixgbe_txrx_ring_{dis, en}able
    ====================
    
    Link: https://lore.kernel.org/r/20240301192549.2993798-1-anthony.l.nguyen@intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kuba-moo committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    47fe2fc View commit details
    Browse the repository at this point in the history
  8. Merge tag 'mlx5-fixes-2024-03-01' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/saeed/linux
    
    Saeed Mahameed says:
    
    ====================
    mlx5 fixes 2024-03-01
    
    This series provides bug fixes to mlx5 driver.
    Please pull and let me know if there is any problem.
    
    * tag 'mlx5-fixes-2024-03-01' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
      net/mlx5e: Switch to using _bh variant of of spinlock API in port timestamping NAPI poll context
      net/mlx5e: Use a memory barrier to enforce PTP WQ xmit submission tracking occurs after populating the metadata_map
      net/mlx5e: Fix MACsec state loss upon state update in offload path
      net/mlx5e: Change the warning when ignore_flow_level is not supported
      net/mlx5: Check capability for fw_reset
      net/mlx5: Fix fw reporter diagnose output
      net/mlx5: E-switch, Change flow rule destination checking
      Revert "net/mlx5e: Check the number of elements before walk TC rhashtable"
      Revert "net/mlx5: Block entering switchdev mode with ns inconsistency"
    ====================
    
    Link: https://lore.kernel.org/r/20240302070318.62997-1-saeed@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kuba-moo committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    4daa873 View commit details
    Browse the repository at this point in the history
  9. MAINTAINERS: Update email address for Tvrtko Ursulin

    I will lose access to my @.*intel.com e-mail addresses soon so let me
    adjust the maintainers entry and update the mailmap too.
    
    While at it consolidate a few other of my old emails to point to the
    main one.
    
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Cc: Dave Airlie <airlied@redhat.com>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Acked-by: Jani Nikula <jani.nikula@intel.com>
    Acked-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240228142240.2539358-1-tvrtko.ursulin@linux.intel.com
    tursulin authored and danvet committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    9b467b4 View commit details
    Browse the repository at this point in the history
  10. Merge tag 'drm-intel-fixes-2024-03-01' of https://anongit.freedesktop…

    ….org/git/drm/drm-intel into drm-fixes
    
    - Fix to extract HDCP information from primary connector
    - Check for NULL mmu_interval_notifier before removing
    
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/ZeGOUTfiA0_FNKLg@jlahtine-mobl.ger.corp.intel.com
    danvet committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    d6a209d View commit details
    Browse the repository at this point in the history
  11. Revert "fs/aio: Make io_cancel() generate completions again"

    Patch "fs/aio: Make io_cancel() generate completions again" is based on the
    assumption that calling kiocb->ki_cancel() does not complete R/W requests.
    This is incorrect: the two drivers that call kiocb_set_cancel_fn() callers
    set a cancellation function that calls usb_ep_dequeue(). According to its
    documentation, usb_ep_dequeue() calls the completion routine with status
    -ECONNRESET. Hence this revert.
    
    Cc: Benjamin LaHaise <ben@communityfibre.ca>
    Cc: Eric Biggers <ebiggers@google.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Avi Kivity <avi@scylladb.com>
    Cc: Sandeep Dhavale <dhavale@google.com>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Kent Overstreet <kent.overstreet@linux.dev>
    Cc: stable@vger.kernel.org
    Reported-by: syzbot+b91eb2ed18f599dd3c31@syzkaller.appspotmail.com
    Fixes: 54cbc05 ("fs/aio: Make io_cancel() generate completions again")
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Link: https://lore.kernel.org/r/20240304182945.3646109-1-bvanassche@acm.org
    Acked-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Christian Brauner <brauner@kernel.org>
    bvanassche authored and brauner committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    28468cb View commit details
    Browse the repository at this point in the history
  12. ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook

    The HP EliteBook using ALC236 codec which using 0x02 to
    control mute LED and 0x01 to control micmute LED.
    Therefore, add a quirk to make it works.
    
    Signed-off-by: Andy Chi <andy.chi@canonical.com>
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20240304134033.773348-1-andy.chi@canonical.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Andy Chi authored and tiwai committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    a17bd44 View commit details
    Browse the repository at this point in the history
  13. platform/x86: p2sb: On Goldmont only cache P2SB and SPI devfn BAR

    On Goldmont p2sb_bar() only ever gets called for 2 devices, the actual P2SB
    devfn 13,0 and the SPI controller which is part of the P2SB, devfn 13,2.
    
    But the current p2sb code tries to cache BAR0 info for all of
    devfn 13,0 to 13,7 . This involves calling pci_scan_single_device()
    for device 13 functions 0-7 and the hw does not seem to like
    pci_scan_single_device() getting called for some of the other hidden
    devices. E.g. on an ASUS VivoBook D540NV-GQ065T this leads to continuous
    ACPI errors leading to high CPU usage.
    
    Fix this by only caching BAR0 info and thus only calling
    pci_scan_single_device() for the P2SB and the SPI controller.
    
    Fixes: 5913320 ("platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe")
    Reported-by: Danil Rybakov <danilrybakov249@gmail.com>
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218531
    Tested-by: Danil Rybakov <danilrybakov249@gmail.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20240304134356.305375-2-hdegoede@redhat.com
    jwrdegoede committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    aec7d25 View commit details
    Browse the repository at this point in the history
  14. platform/x86/amd/pmf: Fix missing error code in amd_pmf_init_smart_pc()

    On the error path, assign -ENOMEM to ret when memory allocation of
    "dev->prev_data" fails.
    
    Fixes: e709615 ("platform/x86/amd/pmf: Fixup error handling for amd_pmf_init_smart_pc()")
    Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
    Link: https://lore.kernel.org/r/20240226144011.2100804-1-harshit.m.mogalapalli@oracle.com
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    harshimogalapalli authored and jwrdegoede committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    0314ceb View commit details
    Browse the repository at this point in the history
  15. drm/i915: Don't explode when the dig port we don't have an AUX CH

    The icl+ power well code currently assumes that every AUX power
    well maps to an encoder which is using said power well. That is
    by no menas guaranteed as we:
    - only register encoders for ports declared in the VBT
    - combo PHY HDMI-only encoder no longer get an AUX CH since
      commit 9856308 ("drm/i915: Only populate aux_ch if really needed")
    
    However we have places such as intel_power_domains_sanitize_state()
    that blindly traverse all the possible power wells. So these bits
    of code may very well encounbter an aux power well with no associated
    encoder.
    
    In this particular case the BIOS seems to have left one AUX power
    well enabled even though we're dealing with a HDMI only encoder
    on a combo PHY. We then proceed to turn off said power well and
    explode when we can't find a matching encoder. As a short term fix
    we should be able to just skip the PHY related parts of the power
    well programming since we know this situation can only happen with
    combo PHYs.
    
    Another option might be to go back to always picking an AUX CH for
    all encoders. However I'm a bit wary about that since we might in
    theory end up conflicting with the VBT AUX CH assignment. Also
    that wouldn't help with encoders not declared in the VBT, should
    we ever need to poke the corresponding power wells.
    
    Longer term we need to figure out what the actual relationship
    is between the PHY vs. AUX CH vs. AUX power well. Currently this
    is entirely unclear.
    
    Cc: stable@vger.kernel.org
    Fixes: 9856308 ("drm/i915: Only populate aux_ch if really needed")
    Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10184
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240223203216.15210-1-ville.syrjala@linux.intel.com
    Reviewed-by: Imre Deak <imre.deak@intel.com>
    (cherry picked from commit 6a8c66b)
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    vsyrjala authored and jlahtine-intel committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    0b385be View commit details
    Browse the repository at this point in the history
  16. fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion

    The first kiocb_set_cancel_fn() argument may point at a struct kiocb
    that is not embedded inside struct aio_kiocb. With the current code,
    depending on the compiler, the req->ki_ctx read happens either before
    the IOCB_AIO_RW test or after that test. Move the req->ki_ctx read such
    that it is guaranteed that the IOCB_AIO_RW test happens first.
    
    Reported-by: Eric Biggers <ebiggers@kernel.org>
    Cc: Benjamin LaHaise <ben@communityfibre.ca>
    Cc: Eric Biggers <ebiggers@google.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Avi Kivity <avi@scylladb.com>
    Cc: Sandeep Dhavale <dhavale@google.com>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Kent Overstreet <kent.overstreet@linux.dev>
    Cc: stable@vger.kernel.org
    Fixes: b820de7 ("fs/aio: Restrict kiocb_set_cancel_fn() to I/O submitted via libaio")
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Link: https://lore.kernel.org/r/20240304235715.3790858-1-bvanassche@acm.org
    Reviewed-by: Jens Axboe <axboe@kernel.dk>
    Reviewed-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Christian Brauner <brauner@kernel.org>
    bvanassche authored and brauner committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    961ebd1 View commit details
    Browse the repository at this point in the history
  17. xfrm: fix xfrm child route lookup for packet offload

    In current code, xfrm_bundle_create() always uses the matched
    SA's family type to look up a xfrm child route for the skb.
    The route returned by xfrm_dst_lookup() will eventually be
    used in xfrm_output_resume() (skb_dst(skb)->ops->local_out()).
    
    If packet offload is used, the above behavior can lead to
    calling ip_local_out() for an IPv6 packet or calling
    ip6_local_out() for an IPv4 packet, which is likely to fail.
    
    This change fixes the behavior by checking if the matched SA
    has packet offload enabled. If not, keep the same behavior;
    if yes, use the matched SP's family type for the lookup.
    
    Test: verified IPv6-in-IPv4 packets on Android device with
          IPsec packet offload enabled
    Signed-off-by: Mike Yu <yumike@google.com>
    Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
    Mike Yu authored and klassert committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    d4872d7 View commit details
    Browse the repository at this point in the history
  18. xfrm: set skb control buffer based on packet offload as well

    In packet offload, packets are not encrypted in XFRM stack, so
    the next network layer which the packets will be forwarded to
    should depend on where the packet came from (either xfrm4_output
    or xfrm6_output) rather than the matched SA's family type.
    
    Test: verified IPv6-in-IPv4 packets on Android device with
          IPsec packet offload enabled
    Signed-off-by: Mike Yu <yumike@google.com>
    Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
    Mike Yu authored and klassert committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    8688ab2 View commit details
    Browse the repository at this point in the history
  19. usb: typec: ucsi: fix UCSI on SM8550 & SM8650 Qualcomm devices

    On SM8550 and SM8650 Qualcomm platforms a call to UCSI_GET_PDOS for
    non-PD partners will cause a firmware crash with no
    easy way to recover from it.
    
    Add UCSI_NO_PARTNER_PDOS quirk for those platform until we find
    a way to properly handle the crash.
    
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
    Link: https://lore.kernel.org/r/20240223-topic-sm8550-upstream-ucsi-no-pdos-v1-1-8900ad510944@linaro.org
    Cc: stable <stable@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    superna9999 authored and gregkh committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    4a30dca View commit details
    Browse the repository at this point in the history
  20. usb: typec: tpcm: Fix PORT_RESET behavior for self powered devices

    While commit 69f8916 ("usb: typec: tpcm: Fix issues with power being
    removed during reset") fixes the boot issues for bus powered devices such
    as LibreTech Renegade Elite/Firefly, it trades off the CC pins NOT being
    Hi-Zed during errory recovery (i.e PORT_RESET) for devices which are NOT
    bus powered(a.k.a self powered). This change Hi-Zs the CC pins only for
    self powered devices, thus preventing brown out for bus powered devices
    
    Adhering to spec is gaining more importance due to the Common charger
    initiative enforced by the European Union.
    
    Quoting from the spec:
        4.5.2.2.2.1 ErrorRecovery State Requirements
        The port shall not drive VBUS or VCONN, and shall present a
        high-impedance to ground (above zOPEN) on its CC1 and CC2 pins.
    
    Hi-Zing the CC pins is the inteded behavior for PORT_RESET.
    CC pins are set to default state after tErrorRecovery in
    PORT_RESET_WAIT_OFF.
    
        4.5.2.2.2.2 Exiting From ErrorRecovery State
        A Sink shall transition to Unattached.SNK after tErrorRecovery.
        A Source shall transition to Unattached.SRC after tErrorRecovery.
    
    Fixes: 69f8916 ("usb: typec: tpcm: Fix issues with power being removed during reset")
    Cc: stable@vger.kernel.org
    Cc: Mark Brown <broonie@kernel.org>
    Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
    Tested-by: Mark Brown <broonie@kernel.org>
    Link: https://lore.kernel.org/r/20240228000512.746252-1-badhri@google.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Badhri Jagan Sridharan authored and gregkh committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    197331b View commit details
    Browse the repository at this point in the history
  21. usb: typec: altmodes/displayport: create sysfs nodes as driver's defa…

    …ult device attribute group
    
    The DisplayPort driver's sysfs nodes may be present to the userspace before
    typec_altmode_set_drvdata() completes in dp_altmode_probe. This means that
    a sysfs read can trigger a NULL pointer error by deferencing dp->hpd in
    hpd_show or dp->lock in pin_assignment_show, as dev_get_drvdata() returns
    NULL in those cases.
    
    Remove manual sysfs node creation in favor of adding attribute group as
    default for devices bound to the driver. The ATTRIBUTE_GROUPS() macro is
    not used here otherwise the path to the sysfs nodes is no longer compliant
    with the ABI.
    
    Fixes: 0e3bb7d ("usb: typec: Add driver for DisplayPort alternate mode")
    Cc: stable@vger.kernel.org
    Signed-off-by: RD Babiera <rdbabiera@google.com>
    Link: https://lore.kernel.org/r/20240229001101.3889432-2-rdbabiera@google.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    RD Babiera authored and gregkh committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    165376f View commit details
    Browse the repository at this point in the history
  22. usb: gadget: ncm: Fix handling of zero block length packets

    While connecting to a Linux host with CDC_NCM_NTB_DEF_SIZE_TX
    set to 65536, it has been observed that we receive short packets,
    which come at interval of 5-10 seconds sometimes and have block
    length zero but still contain 1-2 valid datagrams present.
    
    According to the NCM spec:
    
    "If wBlockLength = 0x0000, the block is terminated by a
    short packet. In this case, the USB transfer must still
    be shorter than dwNtbInMaxSize or dwNtbOutMaxSize. If
    exactly dwNtbInMaxSize or dwNtbOutMaxSize bytes are sent,
    and the size is a multiple of wMaxPacketSize for the
    given pipe, then no ZLP shall be sent.
    
    wBlockLength= 0x0000 must be used with extreme care, because
    of the possibility that the host and device may get out of
    sync, and because of test issues.
    
    wBlockLength = 0x0000 allows the sender to reduce latency by
    starting to send a very large NTB, and then shortening it when
    the sender discovers that there’s not sufficient data to justify
    sending a large NTB"
    
    However, there is a potential issue with the current implementation,
    as it checks for the occurrence of multiple NTBs in a single
    giveback by verifying if the leftover bytes to be processed is zero
    or not. If the block length reads zero, we would process the same
    NTB infintely because the leftover bytes is never zero and it leads
    to a crash. Fix this by bailing out if block length reads zero.
    
    Cc: stable@vger.kernel.org
    Fixes: 427694c ("usb: gadget: ncm: Handle decoding of multiple NTB's in unwrap call")
    Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
    Reviewed-by: Maciej Żenczykowski <maze@google.com>
    Link: https://lore.kernel.org/r/20240228115441.2105585-1-quic_kriskura@quicinc.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Krishna Kurapati authored and gregkh committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    f90ce1e View commit details
    Browse the repository at this point in the history
  23. usb: port: Don't try to peer unused USB ports based on location

    Unused USB ports may have bogus location data in ACPI PLD tables.
    This causes port peering failures as these unused USB2 and USB3 ports
    location may match.
    
    Due to these failures the driver prints a
    "usb: port power management may be unreliable" warning, and
    unnecessarily blocks port power off during runtime suspend.
    
    This was debugged on a couple DELL systems where the unused ports
    all returned zeroes in their location data.
    Similar bugreports exist for other systems.
    
    Don't try to peer or match ports that have connect type set to
    USB_PORT_NOT_USED.
    
    Fixes: 3bfd659 ("usb: find internal hub tier mismatch via acpi")
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218465
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218486
    Tested-by: Paul Menzel <pmenzel@molgen.mpg.de>
    Link: https://lore.kernel.org/linux-usb/5406d361-f5b7-4309-b0e6-8c94408f7d75@molgen.mpg.de
    Cc: stable@vger.kernel.org # v3.16+
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218490
    Link: https://lore.kernel.org/r/20240222233343.71856-1-mathias.nyman@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    matnyman authored and gregkh committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    69c6335 View commit details
    Browse the repository at this point in the history
  24. tty: serial: fsl_lpuart: avoid idle preamble pending if CTS is enabled

    If the remote uart device is not connected or not enabled after booting
    up, the CTS line is high by default. At this time, if we enable the flow
    control when opening the device(for example, using “stty -F /dev/ttyLP4
    crtscts” command), there will be a pending idle preamble(first writing 0
    and then writing 1 to UARTCTRL_TE will queue an idle preamble) that
    cannot be sent out, resulting in the uart port fail to close(waiting for
    TX empty), so the user space stty will have to wait for a long time or
    forever.
    
    This is an LPUART IP bug(idle preamble has higher priority than CTS),
    here add a workaround patch to enable TX CTS after enabling UARTCTRL_TE,
    so that the idle preamble does not get stuck due to CTS is deasserted.
    
    Fixes: 380c966 ("tty: serial: fsl_lpuart: add 32-bit register interface support")
    Cc: stable <stable@kernel.org>
    Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
    Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
    Link: https://lore.kernel.org/r/20240305015706.1050769-1-sherry.sun@nxp.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Sherry Sun authored and gregkh committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    74cb7e0 View commit details
    Browse the repository at this point in the history
  25. Revert "tty: serial: simplify qcom_geni_serial_send_chunk_fifo()"

    This reverts commit 5c7e105.
    
    As identified by KASAN, the simplification done by the cleanup patch
    was not legal.
    
    >From tracing through the code, it can be seen that we're transmitting
    from a 4096-byte circular buffer. We copy anywhere from 1-4 bytes from
    it each time. The simplification runs into trouble when we get near
    the end of the circular buffer. For instance, we might start out with
    xmit->tail = 4094 and we want to transfer 4 bytes. With the code
    before simplification this was no problem. We'd read buf[4094],
    buf[4095], buf[0], and buf[1]. With the new code we'll do a
    memcpy(&buf[4094], 4) which reads 2 bytes past the end of the buffer
    and then skips transmitting what's at buf[0] and buf[1].
    
    KASAN isn't 100% consistent at reporting this for me, but to be extra
    confident in the analysis, I added traces of the tail and tx_bytes and
    then wrote a test program:
    
      while true; do
        echo -n "abcdefghijklmnopqrstuvwxyz0" > /dev/ttyMSM0
        sleep .1
      done
    
    I watched the traces over SSH and saw:
      qcom_geni_serial_send_chunk_fifo: 4093 4
      qcom_geni_serial_send_chunk_fifo: 1 3
    
    Which indicated that one byte should be missing. Sure enough the
    output that should have been:
    
      abcdefghijklmnopqrstuvwxyz0
    
    In one case was actually missing a byte:
    
      abcdefghijklmnopqrstuvwyz0
    
    Running "ls -al" on large directories also made the missing bytes
    obvious since columns didn't line up.
    
    While the original code may not be the most elegant, we only talking
    about copying up to 4 bytes here. Let's just go back to the code that
    worked.
    
    Fixes: 5c7e105 ("tty: serial: simplify qcom_geni_serial_send_chunk_fifo()")
    Cc: stable <stable@kernel.org>
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Acked-by: Jiri Slaby <jirislaby@kernel.org>
    Tested-by: Johan Hovold <johan+linaro@kernel.org>
    Link: https://lore.kernel.org/r/20240304174952.1.I920a314049b345efd1f69d708e7f74d2213d0b49@changeid
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    dianders authored and gregkh committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    3d9319c View commit details
    Browse the repository at this point in the history
  26. xhci: Fix failure to detect ring expansion need.

    Ring expansion checker may incorrectly assume a completely full ring
    is empty, missing the need for expansion.
    
    This is due to a special empty ring case where the dequeue ends up
    ahead of the enqueue pointer. This is seen when enqueued TRBs fill up
    exactly a segment, with enqueue then pointing to the end link TRB.
    Once those TRBs are handled the dequeue pointer will follow the link
    TRB and end up pointing to the first entry on the next segment, past
    the enqueue.
    
    This same enqueue - dequeue condition can be true if a ring is full,
    with enqueue ending on that last link TRB before the dequeue pointer
    on the next segment.
    
    This can be seen when queuing several ~510 small URBs via usbfs in
    one go before a single one is handled (i.e. dequeue not moved from first
    entry in segment).
    
    Expand the ring already when enqueue reaches the link TRB before the
    dequeue segment, instead of expanding it when enqueue moves into the
    dequeue segment.
    
    Reported-by: Chris Yokum <linux-usb@mail.totalphase.com>
    Closes: https://lore.kernel.org/all/949223224.833962.1709339266739.JavaMail.zimbra@totalphase.com
    Tested-by: Chris Yokum <linux-usb@mail.totalphase.com>
    Fixes: f5af638 ("xhci: Fix transfer ring expansion size calculation")
    Cc: stable@vger.kernel.org # v6.5+
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Link: https://lore.kernel.org/r/20240305132312.955171-2-mathias.nyman@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    matnyman authored and gregkh committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    b234c70 View commit details
    Browse the repository at this point in the history
  27. drm/nouveau: fix stale locked mutex in nouveau_gem_ioctl_pushbuf

    If VM_BIND is enabled on the client the legacy submission ioctl can't be
    used, however if a client tries to do so regardless it will return an
    error. In this case the clients mutex remained unlocked leading to a
    deadlock inside nouveau_drm_postclose or any other nouveau ioctl call.
    
    Fixes: b88baab ("drm/nouveau: implement new VM_BIND uAPI")
    Cc: Danilo Krummrich <dakr@redhat.com>
    Cc: <stable@vger.kernel.org> # v6.6+
    Signed-off-by: Karol Herbst <kherbst@redhat.com>
    Reviewed-by: Lyude Paul <lyude@redhat.com>
    Reviewed-by: Danilo Krummrich <dakr@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240305133853.2214268-1-kherbst@redhat.com
    karolherbst committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    daf8739 View commit details
    Browse the repository at this point in the history
  28. comedi: comedi_8255: Correct error in subdevice initialization

    The refactoring done in commit 5c57b1c ("comedi: comedi_8255: Rework
    subdevice initialization functions") to the initialization of the io
    field of struct subdev_8255_private broke all cards using the
    drivers/comedi/drivers/comedi_8255.c module.
    
    Prior to 5c57b1c, __subdev_8255_init() initialized the io field
    in the newly allocated struct subdev_8255_private to the non-NULL
    callback given to the function, otherwise it used a flag parameter to
    select between subdev_8255_mmio and subdev_8255_io. The refactoring
    removed that logic and the flag, as subdev_8255_mm_init() and
    subdev_8255_io_init() now explicitly pass subdev_8255_mmio and
    subdev_8255_io respectively to __subdev_8255_init(), only
    __subdev_8255_init() never sets spriv->io to the supplied
    callback. That spriv->io is NULL leads to a later BUG:
    
    BUG: kernel NULL pointer dereference, address: 0000000000000000
    PGD 0 P4D 0
    Oops: 0010 [#1] SMP PTI
    CPU: 1 PID: 1210 Comm: systemd-udevd Not tainted 6.7.3-x86_64 #1
    Hardware name: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    RIP: 0010:0x0
    Code: Unable to access opcode bytes at 0xffffffffffffffd6.
    RSP: 0018:ffffa3f1c02d7b78 EFLAGS: 00010202
    RAX: 0000000000000000 RBX: ffff91f847aefd00 RCX: 000000000000009b
    RDX: 0000000000000003 RSI: 0000000000000001 RDI: ffff91f840f6fc00
    RBP: ffff91f840f6fc00 R08: 0000000000000000 R09: 0000000000000001
    R10: 0000000000000000 R11: 000000000000005f R12: 0000000000000000
    R13: 0000000000000000 R14: ffffffffc0102498 R15: ffff91f847ce6ba8
    FS:  00007f72f4e8f500(0000) GS:ffff91f8d5c80000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: ffffffffffffffd6 CR3: 000000010540e000 CR4: 00000000000406f0
    Call Trace:
     <TASK>
     ? __die_body+0x15/0x57
     ? page_fault_oops+0x2ef/0x33c
     ? insert_vmap_area.constprop.0+0xb6/0xd5
     ? alloc_vmap_area+0x529/0x5ee
     ? exc_page_fault+0x15a/0x489
     ? asm_exc_page_fault+0x22/0x30
     __subdev_8255_init+0x79/0x8d [comedi_8255]
     pci_8255_auto_attach+0x11a/0x139 [8255_pci]
     comedi_auto_config+0xac/0x117 [comedi]
     ? __pfx___driver_attach+0x10/0x10
     pci_device_probe+0x88/0xf9
     really_probe+0x101/0x248
     __driver_probe_device+0xbb/0xed
     driver_probe_device+0x1a/0x72
     __driver_attach+0xd4/0xed
     bus_for_each_dev+0x76/0xb8
     bus_add_driver+0xbe/0x1be
     driver_register+0x9a/0xd8
     comedi_pci_driver_register+0x28/0x48 [comedi_pci]
     ? __pfx_pci_8255_driver_init+0x10/0x10 [8255_pci]
     do_one_initcall+0x72/0x183
     do_init_module+0x5b/0x1e8
     init_module_from_file+0x86/0xac
     __do_sys_finit_module+0x151/0x218
     do_syscall_64+0x72/0xdb
     entry_SYSCALL_64_after_hwframe+0x6e/0x76
    RIP: 0033:0x7f72f50a0cb9
    Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 47 71 0c 00 f7 d8 64 89 01 48
    RSP: 002b:00007ffd47e512d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
    RAX: ffffffffffffffda RBX: 0000562dd06ae070 RCX: 00007f72f50a0cb9
    RDX: 0000000000000000 RSI: 00007f72f52d32df RDI: 000000000000000e
    RBP: 0000000000000000 R08: 00007f72f5168b20 R09: 0000000000000000
    R10: 0000000000000050 R11: 0000000000000246 R12: 00007f72f52d32df
    R13: 0000000000020000 R14: 0000562dd06785c0 R15: 0000562dcfd0e9a8
     </TASK>
    Modules linked in: 8255_pci(+) comedi_8255 comedi_pci comedi intel_gtt e100(+) acpi_cpufreq rtc_cmos usbhid
    CR2: 0000000000000000
    ---[ end trace 0000000000000000 ]---
    RIP: 0010:0x0
    Code: Unable to access opcode bytes at 0xffffffffffffffd6.
    RSP: 0018:ffffa3f1c02d7b78 EFLAGS: 00010202
    RAX: 0000000000000000 RBX: ffff91f847aefd00 RCX: 000000000000009b
    RDX: 0000000000000003 RSI: 0000000000000001 RDI: ffff91f840f6fc00
    RBP: ffff91f840f6fc00 R08: 0000000000000000 R09: 0000000000000001
    R10: 0000000000000000 R11: 000000000000005f R12: 0000000000000000
    R13: 0000000000000000 R14: ffffffffc0102498 R15: ffff91f847ce6ba8
    FS:  00007f72f4e8f500(0000) GS:ffff91f8d5c80000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: ffffffffffffffd6 CR3: 000000010540e000 CR4: 00000000000406f0
    
    This patch simply corrects the above mistake by initializing spriv->io
    to the given io callback.
    
    Fixes: 5c57b1c ("comedi: comedi_8255: Rework subdevice initialization functions")
    Signed-off-by: Frej Drejhammar <frej.drejhammar@gmail.com>
    Cc: stable@vger.kernel.org
    Acked-by: Ian Abbott <abbotti@mev.co.uk>
    Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
    Link: https://lore.kernel.org/r/20240211175822.1357-1-frej.drejhammar@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    frej authored and gregkh committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    cfa9ba1 View commit details
    Browse the repository at this point in the history
  29. comedi: comedi_test: Prevent timers rescheduling during deletion

    The comedi_test devices have a couple of timers (ai_timer and ao_timer)
    that can be started to simulate hardware interrupts.  Their expiry
    functions normally reschedule the timer.  The driver code calls either
    del_timer_sync() or del_timer() to delete the timers from the queue, but
    does not currently prevent the timers from rescheduling themselves so
    synchronized deletion may be ineffective.
    
    Add a couple of boolean members (one for each timer: ai_timer_enable and
    ao_timer_enable) to the device private data structure to indicate
    whether the timers are allowed to reschedule themselves.  Set the member
    to true when adding the timer to the queue, and to false when deleting
    the timer from the queue in the waveform_ai_cancel() and
    waveform_ao_cancel() functions.
    
    The del_timer_sync() function is also called from the waveform_detach()
    function, but the timer enable members will already be set to false when
    that function is called, so no change is needed there.
    
    Fixes: 403fe7f ("staging: comedi: comedi_test: fix timer race conditions")
    Cc: stable@vger.kernel.org # 4.4+
    Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
    Link: https://lore.kernel.org/r/20240214100747.16203-1-abbotti@mev.co.uk
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ian-abbott authored and gregkh committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    f53641a View commit details
    Browse the repository at this point in the history
  30. misc: fastrpc: Pass proper arguments to scm call

    For CMA memory allocation, ownership is assigned to DSP to make it
    accessible by the PD running on the DSP. With current implementation
    HLOS VM is stored in the channel structure during rpmsg_probe and
    this VM is passed to qcom_scm call as the source VM.
    
    The qcom_scm call will overwrite the passed source VM with the next
    VM which would cause a problem in case the scm call is again needed.
    Adding a local copy of source VM whereever scm call is made to avoid
    this problem.
    
    Fixes: 0871561 ("misc: fastrpc: Add support for audiopd")
    Cc: stable <stable@kernel.org>
    Signed-off-by: Ekansh Gupta <quic_ekangupt@quicinc.com>
    Reviewed-by: Elliot Berman <quic_eberman@quicinc.com>
    Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Link: https://lore.kernel.org/r/20240224114247.85953-2-srinivas.kandagatla@linaro.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    quic-ekangupt authored and gregkh committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    a283d7f View commit details
    Browse the repository at this point in the history
  31. mei: gsc_proxy: match component when GSC is on different bus

    On Arrow Lake S systems, MEI is no longer strictly connected to bus 0,
    while graphics remain exclusively on bus 0. Adapt the component
    matching logic to accommodate this change:
    
    Original behavior: Required both MEI and graphics to be on the same
    bus 0.
    
    New behavior: Only enforces graphics to be on bus 0 (integrated),
    allowing MEI to reside on any bus.
    This ensures compatibility with Arrow Lake S and maintains functionality
    for the legacy systems.
    
    Fixes: 1dd924f ("mei: gsc_proxy: add gsc proxy driver")
    Cc: stable@vger.kernel.org # v6.3+
    Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
    Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
    Link: https://lore.kernel.org/r/20240220200020.231192-1-tomas.winkler@intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ausyskin authored and gregkh committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    a0776c2 View commit details
    Browse the repository at this point in the history
  32. ASoC: dt-bindings: nvidia: Fix 'lge' vendor prefix

    The documented vendor prefix for LG Electronics is 'lg' not 'lge'. Just
    change the example to 'lg' as there doesn't appear to be any dependency
    on the existing compatible string.
    
    Signed-off-by: Rob Herring <robh@kernel.org>
    Link: https://msgid.link/r/20240305152131.3424326-1-robh@kernel.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    robherring authored and broonie committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    482c9f3 View commit details
    Browse the repository at this point in the history
  33. drm/udl: Add ARGB8888 as a format

    Even though the UDL driver converts to RGB565 internally (see
    pixel32_to_be16() in udl_transfer.c), it advertises XRGB8888 for
    compatibility. Let's add ARGB8888 to that list.
    
    This makes UDL devices work on ChromeOS again after commit
    c91acda ("drm/gem: Check for valid formats"). Prior to that
    commit things were "working" because we'd silently treat the ARGB8888
    that ChromeOS wanted as XRGB8888.
    
    Fixes: c91acda ("drm/gem: Check for valid formats")
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240227141928.1.I24ac8d51544e4624b7e9d438d95880c4283e611b@changeid
    dianders committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    95bf25b View commit details
    Browse the repository at this point in the history
  34. Revert "Input: bcm5974 - check endpoint type before starting traffic"

    This patch intended to fix an well-knonw issue in old drivers where the
    endpoint type is taken for granted, which is often triggered by fuzzers.
    
    That was the case for this driver [1], and although the fix seems to be
    correct, it uncovered another issue that leads to a regression [2], if
    the endpoints of the current interface are checked.
    
    The driver makes use of endpoints that belong to a different interface
    rather than the one it binds (it binds to the third interface, but also
    accesses an endpoint from a different one). The driver should claim the
    interfaces it requires, but that is still not the case.
    
    Given that the regression is more severe than the issue found by
    syzkaller, the best approach is reverting the patch that causes the
    regression, and trying to fix the underlying problem before checking
    the endpoint types again.
    
    Note that reverting this patch will probably trigger the syzkaller bug
    at some point.
    
    This reverts commit 2b9c3eb.
    
    Link: https://syzkaller.appspot.com/bug?extid=348331f63b034f89b622 [1]
    Link: https://lore.kernel.org/linux-input/87sf161jjc.wl-tiwai@suse.de/ [2]
    
    Fixes: 2b9c3eb ("Input: bcm5974 - check endpoint type before starting traffic")
    Reported-by: Jacopo Radice <jacopo.radice@outlook.com>
    Closes: https://bugzilla.suse.com/show_bug.cgi?id=1220030
    Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
    Link: https://lore.kernel.org/r/20240305-revert_bcm5974_ep_check-v3-1-527198cf6499@gmail.com
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    javiercarrascocruz authored and dtor committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    7105e92 View commit details
    Browse the repository at this point in the history
  35. Input: gpio_keys_polled - suppress deferred probe error for gpio

    On a PC Engines APU our admins are faced with:
    
    	$ dmesg | grep -c "gpio-keys-polled gpio-keys-polled: unable to claim gpio 0, err=-517"
    	261
    
    Such a message always appears when e.g. a new USB device is plugged in.
    
    Suppress this message which considerably clutters the kernel log for
    EPROBE_DEFER (i.e. -517).
    
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Link: https://lore.kernel.org/r/20240305101042.10953-2-u.kleine-koenig@pengutronix.de
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Uwe Kleine-König authored and dtor committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    963465a View commit details
    Browse the repository at this point in the history
  36. idpf: disable local BH when scheduling napi for marker packets

    Fix softirq's not being handled during napi_schedule() call when
    receiving marker packets for queue disable by disabling local bottom
    half.
    
    The issue can be seen on ifdown:
    NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #8!!!
    
    Using ftrace to catch the failing scenario:
    ifconfig   [003] d.... 22739.830624: softirq_raise: vec=3 [action=NET_RX]
    <idle>-0   [003] ..s.. 22739.831357: softirq_entry: vec=3 [action=NET_RX]
    
    No interrupt and CPU is idle.
    
    After the patch when disabling local BH before calling napi_schedule:
    ifconfig   [003] d.... 22993.928336: softirq_raise: vec=3 [action=NET_RX]
    ifconfig   [003] ..s1. 22993.928337: softirq_entry: vec=3 [action=NET_RX]
    
    Fixes: c2d548c ("idpf: add TX splitq napi poll support")
    Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
    Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
    Signed-off-by: Alan Brady <alan.brady@intel.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Tested-by: Krishneil Singh <krishneil.k.singh@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    etantilov authored and anguy11 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    3300685 View commit details
    Browse the repository at this point in the history
  37. ice: virtchnl: stop pretending to support RSS over AQ or registers

    The E800 series hardware uses the same iAVF driver as older devices,
    including the virtchnl negotiation scheme.
    
    This negotiation scheme includes a mechanism to determine what type of RSS
    should be supported, including RSS over PF virtchnl messages, RSS over
    firmware AdminQ messages, and RSS via direct register access.
    
    The PF driver will always prefer VIRTCHNL_VF_OFFLOAD_RSS_PF if its
    supported by the VF driver. However, if an older VF driver is loaded, it
    may request only VIRTCHNL_VF_OFFLOAD_RSS_REG or VIRTCHNL_VF_OFFLOAD_RSS_AQ.
    
    The ice driver happily agrees to support these methods. Unfortunately, the
    underlying hardware does not support these mechanisms. The E800 series VFs
    don't have the appropriate registers for RSS_REG. The mailbox queue used by
    VFs for VF to PF communication blocks messages which do not have the
    VF-to-PF opcode.
    
    Stop lying to the VF that it could support RSS over AdminQ or registers, as
    these interfaces do not work when the hardware is operating on an E800
    series device.
    
    In practice this is unlikely to be hit by any normal user. The iAVF driver
    has supported RSS over PF virtchnl commands since 2016, and always defaults
    to using RSS_PF if possible.
    
    In principle, nothing actually stops the existing VF from attempting to
    access the registers or send an AQ command. However a properly coded VF
    will check the capability flags and will report a more useful error if it
    detects a case where the driver does not support the RSS offloads that it
    does.
    
    Fixes: 1071a83 ("ice: Implement virtchnl commands for AVF support")
    Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
    Reviewed-by: Alan Brady <alan.brady@intel.com>
    Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    jacob-keller authored and anguy11 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    2652b99 View commit details
    Browse the repository at this point in the history
  38. net: ice: Fix potential NULL pointer dereference in ice_bridge_setlink()

    The function ice_bridge_setlink() may encounter a NULL pointer dereference
    if nlmsg_find_attr() returns NULL and br_spec is dereferenced subsequently
    in nla_for_each_nested(). To address this issue, add a check to ensure that
    br_spec is not NULL before proceeding with the nested attribute iteration.
    
    Fixes: b1edc14 ("ice: Implement ice_bridge_getlink and ice_bridge_setlink")
    Signed-off-by: Rand Deeb <rand.sec96@gmail.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    RandDeeb authored and anguy11 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    06e456a View commit details
    Browse the repository at this point in the history
  39. ice: fix uninitialized dplls mutex usage

    The pf->dplls.lock mutex is initialized too late, after its first use.
    Move it to the top of ice_dpll_init.
    Note that the "err_exit" error path destroys the mutex. And the mutex is
    the last thing destroyed in ice_dpll_deinit.
    This fixes the following warning with CONFIG_DEBUG_MUTEXES:
    
     ice 0000:10:00.0: The DDP package was successfully loaded: ICE OS Default Package version 1.3.36.0
     ice 0000:10:00.0: 252.048 Gb/s available PCIe bandwidth (16.0 GT/s PCIe x16 link)
     ice 0000:10:00.0: PTP init successful
     ------------[ cut here ]------------
     DEBUG_LOCKS_WARN_ON(lock->magic != lock)
     WARNING: CPU: 0 PID: 410 at kernel/locking/mutex.c:587 __mutex_lock+0x773/0xd40
     Modules linked in: crct10dif_pclmul crc32_pclmul crc32c_intel polyval_clmulni polyval_generic ice(+) nvme nvme_c>
     CPU: 0 PID: 410 Comm: kworker/0:4 Not tainted 6.8.0-rc5+ #3
     Hardware name: HPE ProLiant DL110 Gen10 Plus/ProLiant DL110 Gen10 Plus, BIOS U56 10/19/2023
     Workqueue: events work_for_cpu_fn
     RIP: 0010:__mutex_lock+0x773/0xd40
     Code: c0 0f 84 1d f9 ff ff 44 8b 35 0d 9c 69 01 45 85 f6 0f 85 0d f9 ff ff 48 c7 c6 12 a2 a9 85 48 c7 c7 12 f1 a>
     RSP: 0018:ff7eb1a3417a7ae0 EFLAGS: 00010286
     RAX: 0000000000000000 RBX: 0000000000000002 RCX: 0000000000000000
     RDX: 0000000000000002 RSI: ffffffff85ac2bff RDI: 00000000ffffffff
     RBP: ff7eb1a3417a7b80 R08: 0000000000000000 R09: 00000000ffffbfff
     R10: ff7eb1a3417a7978 R11: ff32b80f7fd2e568 R12: 0000000000000000
     R13: 0000000000000000 R14: 0000000000000000 R15: ff32b7f02c50e0d8
     FS:  0000000000000000(0000) GS:ff32b80efe800000(0000) knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
     CR2: 000055b5852cc000 CR3: 000000003c43a004 CR4: 0000000000771ef0
     DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
     DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
     PKRU: 55555554
     Call Trace:
      <TASK>
      ? __warn+0x84/0x170
      ? __mutex_lock+0x773/0xd40
      ? report_bug+0x1c7/0x1d0
      ? prb_read_valid+0x1b/0x30
      ? handle_bug+0x42/0x70
      ? exc_invalid_op+0x18/0x70
      ? asm_exc_invalid_op+0x1a/0x20
      ? __mutex_lock+0x773/0xd40
      ? rcu_is_watching+0x11/0x50
      ? __kmalloc_node_track_caller+0x346/0x490
      ? ice_dpll_lock_status_get+0x28/0x50 [ice]
      ? __pfx_ice_dpll_lock_status_get+0x10/0x10 [ice]
      ? ice_dpll_lock_status_get+0x28/0x50 [ice]
      ice_dpll_lock_status_get+0x28/0x50 [ice]
      dpll_device_get_one+0x14f/0x2e0
      dpll_device_event_send+0x7d/0x150
      dpll_device_register+0x124/0x180
      ice_dpll_init_dpll+0x7b/0xd0 [ice]
      ice_dpll_init+0x224/0xa40 [ice]
      ? _dev_info+0x70/0x90
      ice_load+0x468/0x690 [ice]
      ice_probe+0x75b/0xa10 [ice]
      ? _raw_spin_unlock_irqrestore+0x4f/0x80
      ? process_one_work+0x1a3/0x500
      local_pci_probe+0x47/0xa0
      work_for_cpu_fn+0x17/0x30
      process_one_work+0x20d/0x500
      worker_thread+0x1df/0x3e0
      ? __pfx_worker_thread+0x10/0x10
      kthread+0x103/0x140
      ? __pfx_kthread+0x10/0x10
      ret_from_fork+0x31/0x50
      ? __pfx_kthread+0x10/0x10
      ret_from_fork_asm+0x1b/0x30
      </TASK>
     irq event stamp: 125197
     hardirqs last  enabled at (125197): [<ffffffff8416409d>] finish_task_switch.isra.0+0x12d/0x3d0
     hardirqs last disabled at (125196): [<ffffffff85134044>] __schedule+0xea4/0x19f0
     softirqs last  enabled at (105334): [<ffffffff84e1e65a>] napi_get_frags_check+0x1a/0x60
     softirqs last disabled at (105332): [<ffffffff84e1e65a>] napi_get_frags_check+0x1a/0x60
     ---[ end trace 0000000000000000 ]---
    
    Fixes: d7999f5 ("ice: implement dpll interface to control cgu")
    Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
    Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    michich authored and anguy11 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    9224fc8 View commit details
    Browse the repository at this point in the history
  40. ice: fix typo in assignment

    Fix an obviously incorrect assignment, created with a typo or cut-n-paste
    error.
    
    Fixes: 5995ef8 ("ice: realloc VSI stats arrays")
    Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    jbrandeb authored and anguy11 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    6c5b6ca View commit details
    Browse the repository at this point in the history
  41. i40e: Fix firmware version comparison function

    Helper i40e_is_fw_ver_eq() compares incorrectly given firmware version
    as it returns true when the major version of running firmware is
    greater than the given major version that is wrong and results in
    failure during getting of DCB configuration where this helper is used.
    Fix the check and return true only if the running FW version is exactly
    equals to the given version.
    
    Reproducer:
    1. Load i40e driver
    2. Check dmesg output
    
    [root@host ~]# modprobe i40e
    [root@host ~]# dmesg | grep 'i40e.*DCB'
    [   74.750642] i40e 0000:02:00.0: Query for DCB configuration failed, err -EIO aq_err I40E_AQ_RC_EINVAL
    [   74.759770] i40e 0000:02:00.0: DCB init failed -5, disabled
    [   74.966550] i40e 0000:02:00.1: Query for DCB configuration failed, err -EIO aq_err I40E_AQ_RC_EINVAL
    [   74.975683] i40e 0000:02:00.1: DCB init failed -5, disabled
    
    Fixes: cf488e1 ("i40e: Add other helpers to check version of running firmware and AQ API")
    Signed-off-by: Ivan Vecera <ivecera@redhat.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Ivan Vecera authored and anguy11 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    36c824c View commit details
    Browse the repository at this point in the history
  42. igc: avoid returning frame twice in XDP_REDIRECT

    When a frame can not be transmitted in XDP_REDIRECT
    (e.g. due to a full queue), it is necessary to free
    it by calling xdp_return_frame_rx_napi.
    
    However, this is the responsibility of the caller of
    the ndo_xdp_xmit (see for example bq_xmit_all in
    kernel/bpf/devmap.c) and thus calling it inside
    igc_xdp_xmit (which is the ndo_xdp_xmit of the igc
    driver) as well will lead to memory corruption.
    
    In fact, bq_xmit_all expects that it can return all
    frames after the last successfully transmitted one.
    Therefore, break for the first not transmitted frame,
    but do not call xdp_return_frame_rx_napi in igc_xdp_xmit.
    This is equally implemented in other Intel drivers
    such as the igb.
    
    There are two alternatives to this that were rejected:
    1. Return num_frames as all the frames would have been
       transmitted and release them inside igc_xdp_xmit.
       While it might work technically, it is not what
       the return value is meant to represent (i.e. the
       number of SUCCESSFULLY transmitted packets).
    2. Rework kernel/bpf/devmap.c and all drivers to
       support non-consecutively dropped packets.
       Besides being complex, it likely has a negative
       performance impact without a significant gain
       since it is anyway unlikely that the next frame
       can be transmitted if the previous one was dropped.
    
    The memory corruption can be reproduced with
    the following script which leads to a kernel panic
    after a few seconds.  It basically generates more
    traffic than a i225 NIC can transmit and pushes it
    via XDP_REDIRECT from a virtual interface to the
    physical interface where frames get dropped.
    
       #!/bin/bash
       INTERFACE=enp4s0
       INTERFACE_IDX=`cat /sys/class/net/$INTERFACE/ifindex`
    
       sudo ip link add dev veth1 type veth peer name veth2
       sudo ip link set up $INTERFACE
       sudo ip link set up veth1
       sudo ip link set up veth2
    
       cat << EOF > redirect.bpf.c
    
       SEC("prog")
       int redirect(struct xdp_md *ctx)
       {
           return bpf_redirect($INTERFACE_IDX, 0);
       }
    
       char _license[] SEC("license") = "GPL";
       EOF
       clang -O2 -g -Wall -target bpf -c redirect.bpf.c -o redirect.bpf.o
       sudo ip link set veth2 xdp obj redirect.bpf.o
    
       cat << EOF > pass.bpf.c
    
       SEC("prog")
       int pass(struct xdp_md *ctx)
       {
           return XDP_PASS;
       }
    
       char _license[] SEC("license") = "GPL";
       EOF
       clang -O2 -g -Wall -target bpf -c pass.bpf.c -o pass.bpf.o
       sudo ip link set $INTERFACE xdp obj pass.bpf.o
    
       cat << EOF > trafgen.cfg
    
       {
         /* Ethernet Header */
         0xe8, 0x6a, 0x64, 0x41, 0xbf, 0x46,
         0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
         const16(ETH_P_IP),
    
         /* IPv4 Header */
         0b01000101, 0,   # IPv4 version, IHL, TOS
         const16(1028),   # IPv4 total length (UDP length + 20 bytes (IP header))
         const16(2),      # IPv4 ident
         0b01000000, 0,   # IPv4 flags, fragmentation off
         64,              # IPv4 TTL
         17,              # Protocol UDP
         csumip(14, 33),  # IPv4 checksum
    
         /* UDP Header */
         10,  0, 1, 1,    # IP Src - adapt as needed
         10,  0, 1, 2,    # IP Dest - adapt as needed
         const16(6666),   # UDP Src Port
         const16(6666),   # UDP Dest Port
         const16(1008),   # UDP length (UDP header 8 bytes + payload length)
         csumudp(14, 34), # UDP checksum
    
         /* Payload */
         fill('W', 1000),
       }
       EOF
    
       sudo trafgen -i trafgen.cfg -b3000MB -o veth1 --cpp
    
    Fixes: 4ff3203 ("igc: Add support for XDP_REDIRECT action")
    Signed-off-by: Florian Kauer <florian.kauer@linutronix.de>
    Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
    Tested-by: Naama Meir <naamax.meir@linux.intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    koalo authored and anguy11 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    ef27f65 View commit details
    Browse the repository at this point in the history
  43. intel: legacy: Partial revert of field get conversion

    Refactoring of the field get conversion introduced a regression in the
    legacy Wake On Lan from a magic packet with i219 devices. Rx address
    copied not correctly from MAC to PHY with FIELD_GET macro.
    
    Fixes: b9a4525 ("intel: legacy: field get conversion")
    Suggested-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
    Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
    Tested-by: Naama Meir <naamax.meir@linux.intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    aneftin authored and anguy11 committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    ba54b1a View commit details
    Browse the repository at this point in the history
  44. net/ipv6: avoid possible UAF in ip6_route_mpath_notify()

    syzbot found another use-after-free in ip6_route_mpath_notify() [1]
    
    Commit f722517 ("net/ipv6: prevent use after free in
    ip6_route_mpath_notify") was not able to fix the root cause.
    
    We need to defer the fib6_info_release() calls after
    ip6_route_mpath_notify(), in the cleanup phase.
    
    [1]
    BUG: KASAN: slab-use-after-free in rt6_fill_node+0x1460/0x1ac0
    Read of size 4 at addr ffff88809a07fc64 by task syz-executor.2/23037
    
    CPU: 0 PID: 23037 Comm: syz-executor.2 Not tainted 6.8.0-rc4-syzkaller-01035-gea7f3cfaa588 #0
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
    Call Trace:
     <TASK>
      __dump_stack lib/dump_stack.c:88 [inline]
      dump_stack_lvl+0x1e7/0x2e0 lib/dump_stack.c:106
      print_address_description mm/kasan/report.c:377 [inline]
      print_report+0x167/0x540 mm/kasan/report.c:488
      kasan_report+0x142/0x180 mm/kasan/report.c:601
     rt6_fill_node+0x1460/0x1ac0
      inet6_rt_notify+0x13b/0x290 net/ipv6/route.c:6184
      ip6_route_mpath_notify net/ipv6/route.c:5198 [inline]
      ip6_route_multipath_add net/ipv6/route.c:5404 [inline]
      inet6_rtm_newroute+0x1d0f/0x2300 net/ipv6/route.c:5517
      rtnetlink_rcv_msg+0x885/0x1040 net/core/rtnetlink.c:6597
      netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2543
      netlink_unicast_kernel net/netlink/af_netlink.c:1341 [inline]
      netlink_unicast+0x7ea/0x980 net/netlink/af_netlink.c:1367
      netlink_sendmsg+0xa3b/0xd70 net/netlink/af_netlink.c:1908
      sock_sendmsg_nosec net/socket.c:730 [inline]
      __sock_sendmsg+0x221/0x270 net/socket.c:745
      ____sys_sendmsg+0x525/0x7d0 net/socket.c:2584
      ___sys_sendmsg net/socket.c:2638 [inline]
      __sys_sendmsg+0x2b0/0x3a0 net/socket.c:2667
     do_syscall_64+0xf9/0x240
     entry_SYSCALL_64_after_hwframe+0x6f/0x77
    RIP: 0033:0x7f73dd87dda9
    Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
    RSP: 002b:00007f73de6550c8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
    RAX: ffffffffffffffda RBX: 00007f73dd9ac050 RCX: 00007f73dd87dda9
    RDX: 0000000000000000 RSI: 0000000020000140 RDI: 0000000000000005
    RBP: 00007f73dd8ca47a R08: 0000000000000000 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
    R13: 000000000000006e R14: 00007f73dd9ac050 R15: 00007ffdbdeb7858
     </TASK>
    
    Allocated by task 23037:
      kasan_save_stack mm/kasan/common.c:47 [inline]
      kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
      poison_kmalloc_redzone mm/kasan/common.c:372 [inline]
      __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:389
      kasan_kmalloc include/linux/kasan.h:211 [inline]
      __do_kmalloc_node mm/slub.c:3981 [inline]
      __kmalloc+0x22e/0x490 mm/slub.c:3994
      kmalloc include/linux/slab.h:594 [inline]
      kzalloc include/linux/slab.h:711 [inline]
      fib6_info_alloc+0x2e/0xf0 net/ipv6/ip6_fib.c:155
      ip6_route_info_create+0x445/0x12b0 net/ipv6/route.c:3758
      ip6_route_multipath_add net/ipv6/route.c:5298 [inline]
      inet6_rtm_newroute+0x744/0x2300 net/ipv6/route.c:5517
      rtnetlink_rcv_msg+0x885/0x1040 net/core/rtnetlink.c:6597
      netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2543
      netlink_unicast_kernel net/netlink/af_netlink.c:1341 [inline]
      netlink_unicast+0x7ea/0x980 net/netlink/af_netlink.c:1367
      netlink_sendmsg+0xa3b/0xd70 net/netlink/af_netlink.c:1908
      sock_sendmsg_nosec net/socket.c:730 [inline]
      __sock_sendmsg+0x221/0x270 net/socket.c:745
      ____sys_sendmsg+0x525/0x7d0 net/socket.c:2584
      ___sys_sendmsg net/socket.c:2638 [inline]
      __sys_sendmsg+0x2b0/0x3a0 net/socket.c:2667
     do_syscall_64+0xf9/0x240
     entry_SYSCALL_64_after_hwframe+0x6f/0x77
    
    Freed by task 16:
      kasan_save_stack mm/kasan/common.c:47 [inline]
      kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
      kasan_save_free_info+0x4e/0x60 mm/kasan/generic.c:640
      poison_slab_object+0xa6/0xe0 mm/kasan/common.c:241
      __kasan_slab_free+0x34/0x70 mm/kasan/common.c:257
      kasan_slab_free include/linux/kasan.h:184 [inline]
      slab_free_hook mm/slub.c:2121 [inline]
      slab_free mm/slub.c:4299 [inline]
      kfree+0x14a/0x380 mm/slub.c:4409
      rcu_do_batch kernel/rcu/tree.c:2190 [inline]
      rcu_core+0xd76/0x1810 kernel/rcu/tree.c:2465
      __do_softirq+0x2bb/0x942 kernel/softirq.c:553
    
    Last potentially related work creation:
      kasan_save_stack+0x3f/0x60 mm/kasan/common.c:47
      __kasan_record_aux_stack+0xae/0x100 mm/kasan/generic.c:586
      __call_rcu_common kernel/rcu/tree.c:2715 [inline]
      call_rcu+0x167/0xa80 kernel/rcu/tree.c:2829
      fib6_info_release include/net/ip6_fib.h:341 [inline]
      ip6_route_multipath_add net/ipv6/route.c:5344 [inline]
      inet6_rtm_newroute+0x114d/0x2300 net/ipv6/route.c:5517
      rtnetlink_rcv_msg+0x885/0x1040 net/core/rtnetlink.c:6597
      netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2543
      netlink_unicast_kernel net/netlink/af_netlink.c:1341 [inline]
      netlink_unicast+0x7ea/0x980 net/netlink/af_netlink.c:1367
      netlink_sendmsg+0xa3b/0xd70 net/netlink/af_netlink.c:1908
      sock_sendmsg_nosec net/socket.c:730 [inline]
      __sock_sendmsg+0x221/0x270 net/socket.c:745
      ____sys_sendmsg+0x525/0x7d0 net/socket.c:2584
      ___sys_sendmsg net/socket.c:2638 [inline]
      __sys_sendmsg+0x2b0/0x3a0 net/socket.c:2667
     do_syscall_64+0xf9/0x240
     entry_SYSCALL_64_after_hwframe+0x6f/0x77
    
    The buggy address belongs to the object at ffff88809a07fc00
     which belongs to the cache kmalloc-512 of size 512
    The buggy address is located 100 bytes inside of
     freed 512-byte region [ffff88809a07fc00, ffff88809a07fe00)
    
    The buggy address belongs to the physical page:
    page:ffffea0002681f00 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x9a07c
    head:ffffea0002681f00 order:2 entire_mapcount:0 nr_pages_mapped:0 pincount:0
    flags: 0xfff00000000840(slab|head|node=0|zone=1|lastcpupid=0x7ff)
    page_type: 0xffffffff()
    raw: 00fff00000000840 ffff888014c41c80 dead000000000122 0000000000000000
    raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000
    page dumped because: kasan: bad access detected
    page_owner tracks the page as allocated
    page last allocated via order 2, migratetype Unmovable, gfp_mask 0x1d20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC|__GFP_HARDWALL), pid 23028, tgid 23027 (syz-executor.4), ts 2340253595219, free_ts 2339107097036
      set_page_owner include/linux/page_owner.h:31 [inline]
      post_alloc_hook+0x1ea/0x210 mm/page_alloc.c:1533
      prep_new_page mm/page_alloc.c:1540 [inline]
      get_page_from_freelist+0x33ea/0x3580 mm/page_alloc.c:3311
      __alloc_pages+0x255/0x680 mm/page_alloc.c:4567
      __alloc_pages_node include/linux/gfp.h:238 [inline]
      alloc_pages_node include/linux/gfp.h:261 [inline]
      alloc_slab_page+0x5f/0x160 mm/slub.c:2190
      allocate_slab mm/slub.c:2354 [inline]
      new_slab+0x84/0x2f0 mm/slub.c:2407
      ___slab_alloc+0xd17/0x13e0 mm/slub.c:3540
      __slab_alloc mm/slub.c:3625 [inline]
      __slab_alloc_node mm/slub.c:3678 [inline]
      slab_alloc_node mm/slub.c:3850 [inline]
      __do_kmalloc_node mm/slub.c:3980 [inline]
      __kmalloc+0x2e0/0x490 mm/slub.c:3994
      kmalloc include/linux/slab.h:594 [inline]
      kzalloc include/linux/slab.h:711 [inline]
      new_dir fs/proc/proc_sysctl.c:956 [inline]
      get_subdir fs/proc/proc_sysctl.c:1000 [inline]
      sysctl_mkdir_p fs/proc/proc_sysctl.c:1295 [inline]
      __register_sysctl_table+0xb30/0x1440 fs/proc/proc_sysctl.c:1376
      neigh_sysctl_register+0x416/0x500 net/core/neighbour.c:3859
      devinet_sysctl_register+0xaf/0x1f0 net/ipv4/devinet.c:2644
      inetdev_init+0x296/0x4d0 net/ipv4/devinet.c:286
      inetdev_event+0x338/0x15c0 net/ipv4/devinet.c:1555
      notifier_call_chain+0x18f/0x3b0 kernel/notifier.c:93
      call_netdevice_notifiers_extack net/core/dev.c:1987 [inline]
      call_netdevice_notifiers net/core/dev.c:2001 [inline]
      register_netdevice+0x15b2/0x1a20 net/core/dev.c:10340
      br_dev_newlink+0x27/0x100 net/bridge/br_netlink.c:1563
      rtnl_newlink_create net/core/rtnetlink.c:3497 [inline]
      __rtnl_newlink net/core/rtnetlink.c:3717 [inline]
      rtnl_newlink+0x158f/0x20a0 net/core/rtnetlink.c:3730
    page last free pid 11583 tgid 11583 stack trace:
      reset_page_owner include/linux/page_owner.h:24 [inline]
      free_pages_prepare mm/page_alloc.c:1140 [inline]
      free_unref_page_prepare+0x968/0xa90 mm/page_alloc.c:2346
      free_unref_page+0x37/0x3f0 mm/page_alloc.c:2486
      kasan_depopulate_vmalloc_pte+0x74/0x90 mm/kasan/shadow.c:415
      apply_to_pte_range mm/memory.c:2619 [inline]
      apply_to_pmd_range mm/memory.c:2663 [inline]
      apply_to_pud_range mm/memory.c:2699 [inline]
      apply_to_p4d_range mm/memory.c:2735 [inline]
      __apply_to_page_range+0x8ec/0xe40 mm/memory.c:2769
      kasan_release_vmalloc+0x9a/0xb0 mm/kasan/shadow.c:532
      __purge_vmap_area_lazy+0x163f/0x1a10 mm/vmalloc.c:1770
      drain_vmap_area_work+0x40/0xd0 mm/vmalloc.c:1804
      process_one_work kernel/workqueue.c:2633 [inline]
      process_scheduled_works+0x913/0x1420 kernel/workqueue.c:2706
      worker_thread+0xa5f/0x1000 kernel/workqueue.c:2787
      kthread+0x2ef/0x390 kernel/kthread.c:388
      ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
      ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242
    
    Memory state around the buggy address:
     ffff88809a07fb00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
     ffff88809a07fb80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    >ffff88809a07fc00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                                                           ^
     ffff88809a07fc80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
     ffff88809a07fd00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
    
    Fixes: 3b1137f ("net: ipv6: Change notifications for multipath add to RTA_MULTIPATH")
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Link: https://lore.kernel.org/r/20240303144801.702646-1-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Eric Dumazet authored and kuba-moo committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    685f7d5 View commit details
    Browse the repository at this point in the history
  45. Merge tag 'hyperv-fixes-signed-20240303' of git://git.kernel.org/pub/…

    …scm/linux/kernel/git/hyperv/linux
    
    Pull hyperv fixes from Wei Liu:
    
     - Multiple fixes, cleanups and documentations for Hyper-V core code and
       drivers
    
    * tag 'hyperv-fixes-signed-20240303' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
      Drivers: hv: vmbus: make hv_bus const
      x86/hyperv: Allow 15-bit APIC IDs for VTL platforms
      x86/hyperv: Make encrypted/decrypted changes safe for load_unaligned_zeropad()
      x86/mm: Regularize set_memory_p() parameters and make non-static
      x86/hyperv: Use slow_virt_to_phys() in page transition hypervisor callback
      Documentation: hyperv: Add overview of PCI pass-thru device support
      Drivers: hv: vmbus: Update indentation in create_gpadl_header()
      Drivers: hv: vmbus: Remove duplication and cleanup code in create_gpadl_header()
      fbdev/hyperv_fb: Fix logic error for Gen2 VMs in hvfb_getmem()
      Drivers: hv: vmbus: Calculate ring buffer size for more efficient use of memory
      hv_utils: Allow implicit ICTIMESYNCFLAG_SYNC
    torvalds committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    1c46d04 View commit details
    Browse the repository at this point in the history
  46. Merge tag 'platform-drivers-x86-v6.8-4' of git://git.kernel.org/pub/s…

    …cm/linux/kernel/git/pdx86/platform-drivers-x86
    
    Pull x86 platform driver fixes from Hans de Goede:
    
     - Fix P2SB regression causing ACPI errors and high CPU load
    
     - Fix error return path in amd_pmf_init_smart_pc()
    
    * tag 'platform-drivers-x86-v6.8-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
      platform/x86/amd/pmf: Fix missing error code in amd_pmf_init_smart_pc()
      platform/x86: p2sb: On Goldmont only cache P2SB and SPI devfn BAR
    torvalds committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    127ec4c View commit details
    Browse the repository at this point in the history
  47. Merge tag 'integrity-v6.8-fix' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/zohar/linux-integrity
    
    Pull integrity fix from Mimi Zohar:
     "A single fix to eliminate an unnecessary message"
    
    * tag 'integrity-v6.8-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
      integrity: eliminate unnecessary "Problem loading X.509 certificate" msg
    torvalds committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    29cd507 View commit details
    Browse the repository at this point in the history
  48. Merge tag 'cgroup-for-6.8-rc7-fixes' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tj/cgroup
    
    Pull cgroup fixes from Tejun Heo:
     "Two cpuset fixes. Both are for bugs in error handling paths and low
      risk"
    
    * tag 'cgroup-for-6.8-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
      cgroup/cpuset: Fix retval in update_cpumask()
      cgroup/cpuset: Fix a memory leak in update_exclusive_cpumask()
    torvalds committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    5847c97 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2024

  1. bpf: check bpf_func_state->callback_depth when pruning states

    When comparing current and cached states verifier should consider
    bpf_func_state->callback_depth. Current state cannot be pruned against
    cached state, when current states has more iterations left compared to
    cached state. Current state has more iterations left when it's
    callback_depth is smaller.
    
    Below is an example illustrating this bug, minimized from mailing list
    discussion [0] (assume that BPF_F_TEST_STATE_FREQ is set).
    The example is not a safe program: if loop_cb point (1) is followed by
    loop_cb point (2), then division by zero is possible at point (4).
    
        struct ctx {
        	__u64 a;
        	__u64 b;
        	__u64 c;
        };
    
        static void loop_cb(int i, struct ctx *ctx)
        {
        	/* assume that generated code is "fallthrough-first":
        	 * if ... == 1 goto
        	 * if ... == 2 goto
        	 * <default>
        	 */
        	switch (bpf_get_prandom_u32()) {
        	case 1:  /* 1 */ ctx->a = 42; return 0; break;
        	case 2:  /* 2 */ ctx->b = 42; return 0; break;
        	default: /* 3 */ ctx->c = 42; return 0; break;
        	}
        }
    
        SEC("tc")
        __failure
        __flag(BPF_F_TEST_STATE_FREQ)
        int test(struct __sk_buff *skb)
        {
        	struct ctx ctx = { 7, 7, 7 };
    
        	bpf_loop(2, loop_cb, &ctx, 0);              /* 0 */
        	/* assume generated checks are in-order: .a first */
        	if (ctx.a == 42 && ctx.b == 42 && ctx.c == 7)
        		asm volatile("r0 /= 0;":::"r0");    /* 4 */
        	return 0;
        }
    
    Prior to this commit verifier built the following checkpoint tree for
    this example:
    
     .------------------------------------- Checkpoint / State name
     |    .-------------------------------- Code point number
     |    |   .---------------------------- Stack state {ctx.a,ctx.b,ctx.c}
     |    |   |        .------------------- Callback depth in frame #0
     v    v   v        v
       - (0) {7P,7P,7},depth=0
         - (3) {7P,7P,7},depth=1
           - (0) {7P,7P,42},depth=1
             - (3) {7P,7,42},depth=2
               - (0) {7P,7,42},depth=2      loop terminates because of depth limit
                 - (4) {7P,7,42},depth=0    predicted false, ctx.a marked precise
                 - (6) exit
    (a)      - (2) {7P,7,42},depth=2
               - (0) {7P,42,42},depth=2     loop terminates because of depth limit
                 - (4) {7P,42,42},depth=0   predicted false, ctx.a marked precise
                 - (6) exit
    (b)      - (1) {7P,7P,42},depth=2
               - (0) {42P,7P,42},depth=2    loop terminates because of depth limit
                 - (4) {42P,7P,42},depth=0  predicted false, ctx.{a,b} marked precise
                 - (6) exit
         - (2) {7P,7,7},depth=1             considered safe, pruned using checkpoint (a)
    (c)  - (1) {7P,7P,7},depth=1            considered safe, pruned using checkpoint (b)
    
    Here checkpoint (b) has callback_depth of 2, meaning that it would
    never reach state {42,42,7}.
    While checkpoint (c) has callback_depth of 1, and thus
    could yet explore the state {42,42,7} if not pruned prematurely.
    This commit makes forbids such premature pruning,
    allowing verifier to explore states sub-tree starting at (c):
    
    (c)  - (1) {7,7,7P},depth=1
           - (0) {42P,7,7P},depth=1
             ...
             - (2) {42,7,7},depth=2
               - (0) {42,42,7},depth=2      loop terminates because of depth limit
                 - (4) {42,42,7},depth=0    predicted true, ctx.{a,b,c} marked precise
                   - (5) division by zero
    
    [0] https://lore.kernel.org/bpf/9b251840-7cb8-4d17-bd23-1fc8071d8eef@linux.dev/
    
    Fixes: bb124da ("bpf: keep track of max number of bpf_loop callback iterations")
    Suggested-by: Yonghong Song <yonghong.song@linux.dev>
    Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
    Acked-by: Yonghong Song <yonghong.song@linux.dev>
    Link: https://lore.kernel.org/r/20240222154121.6991-2-eddyz87@gmail.com
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    eddyz87 authored and Alexei Starovoitov committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    e9a8e5a View commit details
    Browse the repository at this point in the history
  2. selftests/bpf: test case for callback_depth states pruning logic

    The test case was minimized from mailing list discussion [0].
    It is equivalent to the following C program:
    
        struct iter_limit_bug_ctx { __u64 a; __u64 b; __u64 c; };
    
        static __naked void iter_limit_bug_cb(void)
        {
        	switch (bpf_get_prandom_u32()) {
        	case 1:  ctx->a = 42; break;
        	case 2:  ctx->b = 42; break;
        	default: ctx->c = 42; break;
        	}
        }
    
        int iter_limit_bug(struct __sk_buff *skb)
        {
        	struct iter_limit_bug_ctx ctx = { 7, 7, 7 };
    
        	bpf_loop(2, iter_limit_bug_cb, &ctx, 0);
        	if (ctx.a == 42 && ctx.b == 42 && ctx.c == 7)
        	  asm volatile("r1 /= 0;":::"r1");
        	return 0;
        }
    
    The main idea is that each loop iteration changes one of the state
    variables in a non-deterministic manner. Hence it is premature to
    prune the states that have two iterations left comparing them to
    states with one iteration left.
    E.g. {{7,7,7}, callback_depth=0} can reach state {42,42,7},
    while {{7,7,7}, callback_depth=1} can't.
    
    [0] https://lore.kernel.org/bpf/9b251840-7cb8-4d17-bd23-1fc8071d8eef@linux.dev/
    
    Acked-by: Yonghong Song <yonghong.song@linux.dev>
    Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
    Link: https://lore.kernel.org/r/20240222154121.6991-3-eddyz87@gmail.com
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    eddyz87 authored and Alexei Starovoitov committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    5c2bc5e View commit details
    Browse the repository at this point in the history
  3. Merge branch 'check-bpf_func_state-callback_depth-when-pruning-states'

    Eduard Zingerman says:
    
    ====================
    check bpf_func_state->callback_depth when pruning states
    
    This patch-set fixes bug in states pruning logic hit in mailing list
    discussion [0]. The details of the fix are in patch #1.
    
    The main idea for the fix belongs to Yonghong Song,
    mine contribution is merely in review and test cases.
    
    There are some changes in verification performance:
    
    File                       Program        Insns    (DIFF)  States  (DIFF)
    -------------------------  -------------  ---------------  --------------
    pyperf600_bpf_loop.bpf.o   on_event          +15 (+0.42%)     +0 (+0.00%)
    strobemeta_bpf_loop.bpf.o  on_event        +857 (+37.95%)   +60 (+38.96%)
    xdp_synproxy_kern.bpf.o    syncookie_tc   +2892 (+30.39%)  +109 (+36.33%)
    xdp_synproxy_kern.bpf.o    syncookie_xdp  +2892 (+30.01%)  +109 (+36.09%)
    
    (when tested on a subset of selftests identified by
     selftests/bpf/veristat.cfg and Cilium bpf object files from [4])
    
    Changelog:
    v2 [2] -> v3:
    - fixes for verifier.c commit message as suggested by Yonghong;
    - patch-set re-rerouted to 'bpf' tree as suggested in [2];
    - patch for test_tcp_custom_syncookie is sent separately to 'bpf-next' [3].
    - veristat results updated using 'bpf' tree as baseline and clang 16.
    
    v1 [1] -> v2:
    - patch #2 commit message updated to better reflect verifier behavior
      with regards to checkpoints tree (suggested by Yonghong);
    - veristat results added (suggested by Andrii).
    
    [0] https://lore.kernel.org/bpf/9b251840-7cb8-4d17-bd23-1fc8071d8eef@linux.dev/
    [1] https://lore.kernel.org/bpf/20240212143832.28838-1-eddyz87@gmail.com/
    [2] https://lore.kernel.org/bpf/20240216150334.31937-1-eddyz87@gmail.com/
    [3] https://lore.kernel.org/bpf/20240222150300.14909-1-eddyz87@gmail.com/
    [4] https://github.com/anakryiko/cilium
    ====================
    
    Link: https://lore.kernel.org/r/20240222154121.6991-1-eddyz87@gmail.com
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Alexei Starovoitov committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    399eca1 View commit details
    Browse the repository at this point in the history
  4. xdp, bonding: Fix feature flags when there are no slave devs anymore

    Commit 9b0ed89 ("bonding: do not report NETDEV_XDP_ACT_XSK_ZEROCOPY")
    changed the driver from reporting everything as supported before a device
    was bonded into having the driver report that no XDP feature is supported
    until a real device is bonded as it seems to be more truthful given
    eventually real underlying devices decide what XDP features are supported.
    
    The change however did not take into account when all slave devices get
    removed from the bond device. In this case after 9b0ed89, the driver
    keeps reporting a feature mask of 0x77, that is, NETDEV_XDP_ACT_MASK &
    ~NETDEV_XDP_ACT_XSK_ZEROCOPY whereas it should have reported a feature
    mask of 0.
    
    Fix it by resetting XDP feature flags in the same way as if no XDP program
    is attached to the bond device. This was uncovered by the XDP bond selftest
    which let BPF CI fail. After adjusting the starting masks on the latter
    to 0 instead of NETDEV_XDP_ACT_MASK the test passes again together with
    this fix.
    
    Fixes: 9b0ed89 ("bonding: do not report NETDEV_XDP_ACT_XSK_ZEROCOPY")
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Cc: Magnus Karlsson <magnus.karlsson@intel.com>
    Cc: Prashant Batra <prbatra.mail@gmail.com>
    Cc: Toke Høiland-Jørgensen <toke@redhat.com>
    Cc: Jakub Kicinski <kuba@kernel.org>
    Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com>
    Message-ID: <20240305090829.17131-1-daniel@iogearbox.net>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    borkmann authored and Alexei Starovoitov committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    f267f26 View commit details
    Browse the repository at this point in the history
  5. selftests/bpf: Fix up xdp bonding test wrt feature flags

    Adjust the XDP feature flags for the bond device when no bond slave
    devices are attached. After 9b0ed89 ("bonding: do not report
    NETDEV_XDP_ACT_XSK_ZEROCOPY"), the empty bond device must report 0
    as flags instead of NETDEV_XDP_ACT_MASK.
    
      # ./vmtest.sh -- ./test_progs -t xdp_bond
      [...]
      [    3.983311] bond1 (unregistering): (slave veth1_1): Releasing backup interface
      [    3.995434] bond1 (unregistering): Released all slaves
      [    4.022311] bond2: (slave veth2_1): Releasing backup interface
      #507/1   xdp_bonding/xdp_bonding_attach:OK
      #507/2   xdp_bonding/xdp_bonding_nested:OK
      #507/3   xdp_bonding/xdp_bonding_features:OK
      #507/4   xdp_bonding/xdp_bonding_roundrobin:OK
      #507/5   xdp_bonding/xdp_bonding_activebackup:OK
      #507/6   xdp_bonding/xdp_bonding_xor_layer2:OK
      #507/7   xdp_bonding/xdp_bonding_xor_layer23:OK
      #507/8   xdp_bonding/xdp_bonding_xor_layer34:OK
      #507/9   xdp_bonding/xdp_bonding_redirect_multi:OK
      #507     xdp_bonding:OK
      Summary: 1/9 PASSED, 0 SKIPPED, 0 FAILED
      [    4.185255] bond2 (unregistering): Released all slaves
      [...]
    
    Fixes: 9b0ed89 ("bonding: do not report NETDEV_XDP_ACT_XSK_ZEROCOPY")
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com>
    Message-ID: <20240305090829.17131-2-daniel@iogearbox.net>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    borkmann authored and Alexei Starovoitov committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    0bfc033 View commit details
    Browse the repository at this point in the history
  6. cpumap: Zero-initialise xdp_rxq_info struct before running XDP program

    When running an XDP program that is attached to a cpumap entry, we don't
    initialise the xdp_rxq_info data structure being used in the xdp_buff
    that backs the XDP program invocation. Tobias noticed that this leads to
    random values being returned as the xdp_md->rx_queue_index value for XDP
    programs running in a cpumap.
    
    This means we're basically returning the contents of the uninitialised
    memory, which is bad. Fix this by zero-initialising the rxq data
    structure before running the XDP program.
    
    Fixes: 9216477 ("bpf: cpumap: Add the possibility to attach an eBPF program to cpumap")
    Reported-by: Tobias Böhm <tobias@aibor.de>
    Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
    Link: https://lore.kernel.org/r/20240305213132.11955-1-toke@redhat.com
    Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
    tohojo authored and Martin KaFai Lau committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    2487007 View commit details
    Browse the repository at this point in the history
  7. dpll: move all dpll<>netdev helpers to dpll code

    Older versions of GCC really want to know the full definition
    of the type involved in rcu_assign_pointer().
    
    struct dpll_pin is defined in a local header, net/core can't
    reach it. Move all the netdev <> dpll code into dpll, where
    the type is known. Otherwise we'd need multiple function calls
    to jump between the compilation units.
    
    This is the same problem the commit under fixes was trying to address,
    but with rcu_assign_pointer() not rcu_dereference().
    
    Some of the exports are not needed, networking core can't
    be a module, we only need exports for the helpers used by
    drivers.
    
    Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/all/35a869c8-52e8-177-1d4d-e57578b99b6@linux-m68k.org/
    Fixes: 640f41e ("dpll: fix build failure due to rcu_dereference_check() on unknown type")
    Reviewed-by: Jiri Pirko <jiri@nvidia.com>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Link: https://lore.kernel.org/r/20240305013532.694866-1-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kuba-moo committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    289e922 View commit details
    Browse the repository at this point in the history
  8. net: dsa: microchip: fix register write order in ksz8_ind_write8()

    This bug was noticed while re-implementing parts of the kernel
    driver in userspace using spidev. The goal was to enable some
    of the errata workarounds that Microchip describes in their
    errata sheet [1].
    
    Both the errata sheet and the regular datasheet of e.g. the KSZ8795
    imply that you need to do this for indirect register accesses:
    - write a 16-bit value to a control register pair (this value
      consists of the indirect register table, and the offset inside
      the table)
    - either read or write an 8-bit value from the data storage
      register (indicated by REG_IND_BYTE in the kernel)
    
    The current implementation has the order swapped. It can be
    proven, by reading back some indirect register with known content
    (the EEE register modified in ksz8_handle_global_errata() is one of
    these), that this implementation does not work.
    
    Private discussion with Oleksij Rempel of Pengutronix has revealed
    that the workaround was apparantly never tested on actual hardware.
    
    [1] https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/Errata/KSZ87xx-Errata-DS80000687C.pdf
    
    Signed-off-by: Tobias Jakobi (Compleo) <tobias.jakobi.compleo@gmail.com>
    Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
    Fixes: 7b6e623 ("net: dsa: microchip: ksz8795: handle eee specif erratum")
    Link: https://lore.kernel.org/r/20240304154135.161332-1-tobias.jakobi.compleo@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Tobias Jakobi (Compleo) authored and kuba-moo committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    b7fb772 View commit details
    Browse the repository at this point in the history
  9. Merge tag 'qcom-arm64-fixes-for-6.8-2' of https://git.kernel.org/pub/…

    …scm/linux/kernel/git/qcom/linux into arm/fixes
    
    A few more Qualcomm Arm64 DeviceTree fixes for v6.8
    
    This reduces the link speed of the PCIe bus with WiFi-card connected on the
    Lenovo ThinkPad X13s and the Qualcomm Compute Reference Device, avoid
    link errors and initialization issues reported by users.
    
    It also reverts the enablement of MPM on MSM8996, which is reported to
    prevent boards on this platform from booting for some users.
    
    * tag 'qcom-arm64-fixes-for-6.8-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
      Revert "arm64: dts: qcom: msm8996: Hook up MPM"
      arm64: dts: qcom: sc8280xp-x13s: limit pcie4 link speed
      arm64: dts: qcom: sc8280xp-crd: limit pcie4 link speed
    
    Link: https://lore.kernel.org/r/20240306031208.4218-1-andersson@kernel.org
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    arndb committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    415ba4e View commit details
    Browse the repository at this point in the history
  10. Merge tag 'riscv-firmware-for-v6.9' of https://git.kernel.org/pub/scm…

    …/linux/kernel/git/conor/linux into arm/fixes
    
    RISC-V firmware drivers for v6.9
    
    A single minor fix for an oversized allocation due to sizeof() misuse by
    yours truly that came in since I sent my last fixes PR.
    
    Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
    
    * tag 'riscv-firmware-for-v6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
      firmware: microchip: Fix over-requested allocation size
    
    Link: https://lore.kernel.org/r/20240305-vicinity-dumpling-8943ef26f004@spud
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    arndb committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    1c7cfb6 View commit details
    Browse the repository at this point in the history
  11. Merge branch 'Improve packet offload for dual stack'

    Mike Yu says:
    ====================
    In the XFRM stack, whether a packet is forwarded to the IPv4
    or IPv6 stack depends on the family field of the matched SA.
    This does not completely work for IPsec packet offload in some
    scenario, for example, sending an IPv6 packet that will be
    encrypted and encapsulated as an IPv4 packet in HW.
    
    Here are the patches to make IPsec packet offload work on the
    mentioned scenario.
    ====================
    
    Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
    klassert committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    2ce0eae View commit details
    Browse the repository at this point in the history
  12. iov_iter: get rid of 'copy_mc' flag

    This flag is only set by one single user: the magical core dumping code
    that looks up user pages one by one, and then writes them out using
    their kernel addresses (by using a BVEC_ITER).
    
    That actually ends up being a huge problem, because while we do use
    copy_mc_to_kernel() for this case and it is able to handle the possible
    machine checks involved, nothing else is really ready to handle the
    failures caused by the machine check.
    
    In particular, as reported by Tong Tiangen, we don't actually support
    fault_in_iov_iter_readable() on a machine check area.
    
    As a result, the usual logic for writing things to a file under a
    filesystem lock, which involves doing a copy with page faults disabled
    and then if that fails trying to fault pages in without holding the
    locks with fault_in_iov_iter_readable() does not work at all.
    
    We could decide to always just make the MC copy "succeed" (and filling
    the destination with zeroes), and that would then create a core dump
    file that just ignores any machine checks.
    
    But honestly, this single special case has been problematic before, and
    means that all the normal iov_iter code ends up slightly more complex
    and slower.
    
    See for example commit c9eec08 ("iov_iter: Don't deal with
    iter->copy_mc in memcpy_from_iter_mc()") where David Howells
    re-organized the code just to avoid having to check the 'copy_mc' flags
    inside the inner iov_iter loops.
    
    So considering that we have exactly one user, and that one user is a
    non-critical special case that doesn't actually ever trigger in real
    life (Tong found this with manual error injection), the sane solution is
    to just decide that the onus on handling the machine check lines on that
    user instead.
    
    Ergo, do the copy_mc_to_kernel() in the core dump logic itself, copying
    the user data to a stable kernel page before writing it out.
    
    Fixes: f198274 ("iov_iter: Convert iterate*() to inline funcs")
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Tong Tiangen <tongtiangen@huawei.com>
    Link: https://lore.kernel.org/r/20240305133336.3804360-1-tongtiangen@huawei.com
    Link: https://lore.kernel.org/all/4e80924d-9c85-f13a-722a-6a5d2b1c225a@huawei.com/
    Tested-by: David Howells <dhowells@redhat.com>
    Reviewed-by: David Howells <dhowells@redhat.com>
    Reviewed-by: Jens Axboe <axboe@kernel.dk>
    Reported-by: Tong Tiangen <tongtiangen@huawei.com>
    Signed-off-by: Christian Brauner <brauner@kernel.org>
    torvalds authored and brauner committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    a50026b View commit details
    Browse the repository at this point in the history
  13. Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/tnguy/net-queue
    
    Tony Nguyen says:
    
    ====================
    Intel Wired LAN Driver Updates 2024-03-05 (idpf, ice, i40e, igc, e1000e)
    
    This series contains updates to idpf, ice, i40e, igc and e1000e drivers.
    
    Emil disables local BH on NAPI schedule for proper handling of softirqs
    on idpf.
    
    Jake stops reporting of virtchannel RSS option which in unsupported on
    ice.
    
    Rand Deeb adds null check to prevent possible null pointer dereference
    on ice.
    
    Michal Schmidt moves DPLL mutex initialization to resolve uninitialized
    mutex usage for ice.
    
    Jesse fixes incorrect variable usage for calculating Tx stats on ice.
    
    Ivan Vecera corrects logic for firmware equals check on i40e.
    
    Florian Kauer prevents memory corruption for XDP_REDIRECT on igc.
    
    Sasha reverts an incorrect use of FIELD_GET which caused a regression
    for Wake on LAN on e1000e.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    f287d6a View commit details
    Browse the repository at this point in the history
  14. libceph: init the cursor when preparing sparse read in msgr2

    The cursor is no longer initialized in the OSD client, causing the
    sparse read state machine to fall into an infinite loop.  The cursor
    should be initialized in IN_S_PREPARE_SPARSE_DATA state.
    
    [ idryomov: use msg instead of con->in_msg, changelog ]
    
    Link: https://tracker.ceph.com/issues/64607
    Fixes: 8e46a2d ("libceph: just wait for more data to be available on the socket")
    Signed-off-by: Xiubo Li <xiubli@redhat.com>
    Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
    Tested-by: Luis Henriques <lhenriques@suse.de>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    lxbsz authored and idryomov committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    321e3c3 View commit details
    Browse the repository at this point in the history
  15. net/rds: fix WARNING in rds_conn_connect_if_down

    If connection isn't established yet, get_mr() will fail, trigger connection after
    get_mr().
    
    Fixes: 584a827 ("RDS: RDMA: return appropriate error on rdma map failures")
    Reported-and-tested-by: syzbot+d4faee732755bba9838e@syzkaller.appspotmail.com
    Signed-off-by: Edward Adam Davis <eadavis@qq.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Edward-AD authored and davem330 committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    c055fc0 View commit details
    Browse the repository at this point in the history
  16. drm/i915/selftests: Fix dependency of some timeouts on HZ

    Third argument of i915_request_wait() accepts a timeout value in jiffies.
    Most users pass either a simple HZ based expression, or a result of
    msecs_to_jiffies(), or MAX_SCHEDULE_TIMEOUT, or a very small number not
    exceeding 4 if applicable as that value.  However, there is one user --
    intel_selftest_wait_for_rq() -- that passes a WAIT_FOR_RESET_TIME symbol,
    defined as a large constant value that most probably represents a desired
    timeout in ms.  While that usage results in the intended value of timeout
    on usual x86_64 kernel configurations, it is not portable across different
    architectures and custom kernel configs.
    
    Rename the symbol to clearly indicate intended units and convert it to
    jiffies before use.
    
    Fixes: 3a4bfa0 ("drm/i915/selftest: Fix workarounds selftest for GuC submission")
    Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
    Cc: Rahul Kumar Singh <rahul.kumar.singh@intel.com>
    Cc: John Harrison <John.C.Harrison@Intel.com>
    Cc: Matthew Brost <matthew.brost@intel.com>
    Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
    Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240222113347.648945-2-janusz.krzysztofik@linux.intel.com
    (cherry picked from commit 6ee3f54)
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    jkrzyszt-intel authored and jlahtine-intel committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    26d2b75 View commit details
    Browse the repository at this point in the history
  17. drm/i915/dp: Fix connector DSC HW state readout

    The DSC HW state of DP connectors is read out during driver loading and
    system resume in intel_modeset_update_connector_atomic_state(). This
    function is called for all connectors though and so the state of DSI
    connectors will also get updated incorrectly, triggering a WARN there
    wrt. the DSC decompression AUX device.
    
    Fix the above by moving the DSC state readout to a new DP connector
    specific sync_state() hook. This is anyway the logical place to update
    the connector object's state vs. the connector's atomic state.
    
    Fixes: b2608c6 ("drm/i915/dp_mst: Enable MST DSC decompression for all streams")
    Reported-and-tested-by: Drew Davenport <ddavenport@chromium.org>
    Closes: https://lore.kernel.org/all/Zb0q8IDVXS0HxJyj@chromium.org
    Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
    Signed-off-by: Imre Deak <imre.deak@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240205132631.1588577-1-imre.deak@intel.com
    (cherry picked from commit a62e145)
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    ideak authored and jlahtine-intel committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    0848814 View commit details
    Browse the repository at this point in the history
  18. firewire: ohci: prevent leak of left-over IRQ on unbind

    Commit 5a95f1d ("firewire: ohci: use devres for requested IRQ")
    also removed the call to free_irq() in pci_remove(), leading to a
    leftover irq of devm_request_irq() at pci_disable_msi() in pci_remove()
    when unbinding the driver from the device
    
    remove_proc_entry: removing non-empty directory 'irq/136', leaking at
    least 'firewire_ohci'
    Call Trace:
     ? remove_proc_entry+0x19c/0x1c0
     ? __warn+0x81/0x130
     ? remove_proc_entry+0x19c/0x1c0
     ? report_bug+0x171/0x1a0
     ? console_unlock+0x78/0x120
     ? handle_bug+0x3c/0x80
     ? exc_invalid_op+0x17/0x70
     ? asm_exc_invalid_op+0x1a/0x20
     ? remove_proc_entry+0x19c/0x1c0
     unregister_irq_proc+0xf4/0x120
     free_desc+0x3d/0xe0
     ? kfree+0x29f/0x2f0
     irq_free_descs+0x47/0x70
     msi_domain_free_locked.part.0+0x19d/0x1d0
     msi_domain_free_irqs_all_locked+0x81/0xc0
     pci_free_msi_irqs+0x12/0x40
     pci_disable_msi+0x4c/0x60
     pci_remove+0x9d/0xc0 [firewire_ohci
         01b483699bebf9cb07a3d69df0aa2bee71db1b26]
     pci_device_remove+0x37/0xa0
     device_release_driver_internal+0x19f/0x200
     unbind_store+0xa1/0xb0
    
    remove irq with devm_free_irq() before pci_disable_msi()
    also remove it in fail_msi: of pci_probe() as this would lead to
    an identical leak
    
    Cc: stable@vger.kernel.org
    Fixes: 5a95f1d ("firewire: ohci: use devres for requested IRQ")
    Signed-off-by: Edmund Raile <edmund.raile@proton.me>
    Link: https://lore.kernel.org/r/20240229144723.13047-2-edmund.raile@proton.me
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Edmund Raile authored and takaswie committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    5758016 View commit details
    Browse the repository at this point in the history
  19. drm/i915/panelreplay: Move out psr_init_dpcd() from init_connector()

    Move psr_init_dpcd() from init-connector to connector-detect
    function. The dpcd probe for checking panel replay capability
    for external dp connector is causing delay during boot which can
    be optimized by moving dpcd probe to connector specific detect().
    
    v1: Initial version.
    v2: Add details in commit description. [Jani]
    
    Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10284
    Signed-off-by: Animesh Manna <animesh.manna@intel.com>
    Fixes: cceeaa3 ("drm/i915/panelreplay: Enable panel replay dpcd initialization for DP")
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240229043716.4065760-1-animesh.manna@intel.com
    (cherry picked from commit 1cca19b)
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    animesh-manna authored and jlahtine-intel committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    984318a View commit details
    Browse the repository at this point in the history
  20. phy: qcom-qmp-combo: fix drm bridge registration

    Due to a long-standing issue in driver core, drivers may not probe defer
    after having registered child devices to avoid triggering a probe
    deferral loop (see fbc35b4 ("Add documentation on meaning of
    -EPROBE_DEFER")).
    
    This could potentially also trigger a bug in the DRM bridge
    implementation which does not expect bridges to go away even if device
    links may avoid triggering this (when enabled).
    
    Move registration of the DRM aux bridge to after looking up clocks and
    other resources.
    
    Note that PHY creation can in theory also trigger a probe deferral when
    a 'phy' supply is used. This does not seem to affect the QMP PHY driver
    but the PHY subsystem should be reworked to address this (i.e. by
    separating initialisation and registration of the PHY).
    
    Fixes: 3592191 ("phy: qcom: qmp-combo: switch to DRM_AUX_BRIDGE")
    Fixes: 1904c3f ("phy: qcom-qmp-combo: Introduce drm_bridge")
    Cc: stable@vger.kernel.org      # 6.5
    Cc: Bjorn Andersson <quic_bjorande@quicinc.com>
    Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
    Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
    Reviewed-by: Bjorn Andersson <andersson@kernel.org>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Acked-by: Vinod Koul <vkoul@kernel.org>
    Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
    Link: https://lore.kernel.org/r/20240217150228.5788-6-johan+linaro@kernel.org
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    jhovold authored and vinodkoul committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    d2d7b8e View commit details
    Browse the repository at this point in the history
  21. phy: qcom-qmp-combo: fix type-c switch registration

    Due to a long-standing issue in driver core, drivers may not probe defer
    after having registered child devices to avoid triggering a probe
    deferral loop (see fbc35b4 ("Add documentation on meaning of
    -EPROBE_DEFER")).
    
    Move registration of the typec switch to after looking up clocks and
    other resources.
    
    Note that PHY creation can in theory also trigger a probe deferral when
    a 'phy' supply is used. This does not seem to affect the QMP PHY driver
    but the PHY subsystem should be reworked to address this (i.e. by
    separating initialisation and registration of the PHY).
    
    Fixes: 2851117 ("phy: qcom-qmp-combo: Introduce orientation switching")
    Cc: stable@vger.kernel.org      # 6.5
    Cc: Bjorn Andersson <quic_bjorande@quicinc.com>
    Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
    Reviewed-by: Bjorn Andersson <andersson@kernel.org>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Acked-by: Vinod Koul <vkoul@kernel.org>
    Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
    Link: https://lore.kernel.org/r/20240217150228.5788-7-johan+linaro@kernel.org
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    jhovold authored and vinodkoul committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    47b412c View commit details
    Browse the repository at this point in the history
  22. Revert "drm/udl: Add ARGB8888 as a format"

    This reverts commit 95bf25b.
    
    Apparently there was a previous discussion about emulation of formats
    and it was decided XRGB8888 was the only format to support for legacy
    userspace [1]. Remove ARGB8888. Userspace needs to be fixed to accept
    XRGB8888.
    
    [1] https://lore.kernel.org/r/60dc7697-d7a0-4bf4-a22e-32f1bbb792c2@suse.de
    
    Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
    Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240306063721.1.I4a32475190334e1fa4eef4700ecd2787a43c94b5@changeid
    dianders committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    317f86d View commit details
    Browse the repository at this point in the history
  23. Merge tag 'v6.8-p6' of git://git.kernel.org/pub/scm/linux/kernel/git/…

    …herbert/crypto-2.6
    
    Pull crypto fixes from Herbert Xu:
     "Fix potential use-after-frees in rk3288 and sun8i-ce"
    
    * tag 'v6.8-p6' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
      crypto: rk3288 - Fix use after free in unprepare
      crypto: sun8i-ce - Fix use after free in unprepare
    torvalds committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    09dcdba View commit details
    Browse the repository at this point in the history
  24. Merge tag 'arm-fixes-6.8-3' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/soc/soc
    
    Pull ARM SoC fixes from Arnd Bergmann:
     "These should be the final fixes for the soc tree for 6.8, as usual
      they mostly deal wtih dts files:
    
       - Qualcomm fixes for pcie4 on sc8280xp, a revert of msm8996 mpm
         support, sm6115 interconnect and sm8650 gpio.
    
       - Two fixes for Tegra234 ethernet
    
       - A Makefile fix to actually build the allwinner based orange pi zero
         2w device tree
    
       - Fixes for clocks and reset on imx8mp and a DSI display regression
         on imx7.
    
      The non-DT fixes are:
    
       - Firmware fixes addressing a kernel panic in op-tee and a minor
         regression in microchip/riscv.
    
       - A defconfig change to bring back backlight support after a Kconfig
         change"
    
    * tag 'arm-fixes-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
      firmware: microchip: Fix over-requested allocation size
      tee: optee: Fix kernel panic caused by incorrect error handling
      Revert "arm64: dts: qcom: msm8996: Hook up MPM"
      arm64: dts: qcom: sc8280xp-x13s: limit pcie4 link speed
      arm64: dts: qcom: sc8280xp-crd: limit pcie4 link speed
      arm64: dts: imx8mp: Fix LDB clocks property
      arm64: dts: imx8mp: Fix TC9595 reset GPIO on DH i.MX8M Plus DHCOM SoM
      MAINTAINERS: Use a proper mailinglist for NXP i.MX development
      ARM: dts: imx7: remove DSI port endpoints
      arm64: dts: allwinner: h616: Add Orange Pi Zero 2W to Makefile
      ARM: imx_v6_v7_defconfig: Restore CONFIG_BACKLIGHT_CLASS_DEVICE
      arm64: tegra: Fix Tegra234 MGBE power-domains
      arm64: tegra: Set the correct PHY mode for MGBE
      arm64: dts: qcom: sm6115: Fix missing interconnect-names
      arm64: dts: qcom: sm8650-mtp: add gpio74 as reserved gpio
      arm64: dts: qcom: sm8650-qrd: add gpio74 as reserved gpio
    torvalds committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    5274d26 View commit details
    Browse the repository at this point in the history
  25. Merge tag 'vfs-6.8-release.fixes' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/vfs/vfs
    
    Pull vfs fixes from Christian Brauner:
    
     - Get rid of copy_mc flag in iov_iter which really only makes sense for
       the core dumping code so move it out of the generic iov iter code and
       make it coredump's problem. See the detailed commit description.
    
     - Revert fs/aio: Make io_cancel() generate completions again
    
       The initial fix here was predicated on the assumption that calling
       ki_cancel() didn't complete aio requests. However, that turned out to
       be wrong since the two drivers that actually make use of this set a
       cancellation function that performs the cancellation correctly. So
       revert this change.
    
     - Ensure that the test for IOCB_AIO_RW always happens before the read
       from ki_ctx.
    
    * tag 'vfs-6.8-release.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
      iov_iter: get rid of 'copy_mc' flag
      fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion
      Revert "fs/aio: Make io_cancel() generate completions again"
    torvalds committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    67be068 View commit details
    Browse the repository at this point in the history
  26. ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC

    Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
    Link: https://msgid.link/r/20240306161439.1385643-1-stuarth@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Stuart Henderson authored and broonie committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    03c7874 View commit details
    Browse the repository at this point in the history
  27. ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode

    Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
    Link: https://msgid.link/r/20240306161439.1385643-2-stuarth@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Stuart Henderson authored and broonie committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    6fa849e View commit details
    Browse the repository at this point in the history
  28. ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll

    Use source instead of ret, which seems to be unrelated and will always
    be zero.
    
    Signed-off-by: Stuart Henderson <stuarth@opensource.cirrus.com>
    Link: https://msgid.link/r/20240306161439.1385643-5-stuarth@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Stuart Henderson authored and broonie committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    96e202f View commit details
    Browse the repository at this point in the history
  29. spi: cs42l43: Don't limit native CS to the first chip select

    As the chip selects can be configured through ACPI/OF/swnode, and
    the set_cs() callback will only be called when a native chip select
    is being used, there is no reason for the driver to only support the
    native chip select as the first chip select. Remove the check that
    introduces this limitation.
    
    Fixes: ef75e76 ("spi: cs42l43: Add SPI controller support")
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://msgid.link/r/20240306161004.2205113-1-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    177cdda View commit details
    Browse the repository at this point in the history
  30. tracing: Remove precision vsnprintf() check from print event

    This reverts 60be76e ("tracing: Add size check when printing
    trace_marker output"). The only reason the precision check was added
    was because of a bug that miscalculated the write size of the string into
    the ring buffer and it truncated it removing the terminating nul byte. On
    reading the trace it crashed the kernel. But this was due to the bug in
    the code that happened during development and should never happen in
    practice. If anything, the precision can hide bugs where the string in the
    ring buffer isn't nul terminated and it will not be checked.
    
    Link: https://lore.kernel.org/all/C7E7AF1A-D30F-4D18-B8E5-AF1EF58004F5@linux.ibm.com/
    Link: https://lore.kernel.org/linux-trace-kernel/20240227125706.04279ac2@gandalf.local.home
    Link: https://lore.kernel.org/all/20240302111244.3a1674be@gandalf.local.home/
    Link: https://lore.kernel.org/linux-trace-kernel/20240304174341.2a561d9f@gandalf.local.home
    
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Fixes: 60be76e ("tracing: Add size check when printing trace_marker output")
    Reported-by: Sachin Sant <sachinp@linux.ibm.com>
    Tested-by: Sachin Sant <sachinp@linux.ibm.com>
    Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    5efd3e2 View commit details
    Browse the repository at this point in the history
  31. tracing: Limit trace_seq size to just 8K and not depend on architectu…

    …re PAGE_SIZE
    
    The trace_seq buffer is used to print out entire events. It's typically
    set to PAGE_SIZE * 2 as there's some events that can be quite large.
    
    As a side effect, writes to trace_marker is limited by both the size of the
    trace_seq buffer as well as the ring buffer's sub-buffer size (which is a
    power of PAGE_SIZE). By limiting the trace_seq size, it also limits the
    size of the largest string written to trace_marker.
    
    trace_seq does not need to be dependent on PAGE_SIZE like the ring buffer
    sub-buffers need to be. Hard code it to 8K which is PAGE_SIZE * 2 on most
    architectures. This will also limit the size of trace_marker on those
    architectures with greater than 4K PAGE_SIZE.
    
    Link: https://lore.kernel.org/all/20240302111244.3a1674be@gandalf.local.home/
    Link: https://lore.kernel.org/linux-trace-kernel/20240304191342.56fb1087@gandalf.local.home
    
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Sachin Sant <sachinp@linux.ibm.com>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    6f42249 View commit details
    Browse the repository at this point in the history
  32. tracing: Limit trace_marker writes to just 4K

    Limit the max print event of trace_marker to just 4K string size. This must
    also be less than the amount that can be held by a trace_seq along with
    the text that is before the output (like the task name, PID, CPU, state,
    etc). As trace_seq is made to handle large events (some greater than 4K).
    Make the max size of a trace_marker write event be 4K which is guaranteed
    to fit in the trace_seq buffer.
    
    Link: https://lore.kernel.org/linux-trace-kernel/20240304223433.4ba47dff@gandalf.local.home
    
    Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
    Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    095fe48 View commit details
    Browse the repository at this point in the history
  33. drm/amd/swsmu: modify the gfx activity scaling

    Add an if condition for gfx activity because the scaling has been changed after smu fw version 5d4600.
    And remove a warning log.
    
    Signed-off-by: Li Ma <li.ma@amd.com>
    Reviewed-by: Yifan Zhang <yifan1.zhang@amd.com>
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org # 6.7.x
    Li Ma authored and alexdeucher committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    6601c15 View commit details
    Browse the repository at this point in the history
  34. drm/amd/display: check dc_link before dereferencing

    drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:6683 amdgpu_dm_connector_funcs_force()
    warn: variable dereferenced before check 'dc_link' (see line 6663)
    
    Fixes: 9671761 ("drm/amd/display: fix null-pointer dereference on edid reading")
    Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
    Signed-off-by: Melissa Wen <mwen@igalia.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    melissawen authored and alexdeucher committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    e9098cc View commit details
    Browse the repository at this point in the history
  35. drm/amd/display: handle range offsets in VRR ranges

    Need to check the offset bits for values greater than 255.
    
    v2: also update amdgpu_dm_connector values.
    
    Suggested-by: Mano Ségransan <mano.segransan@protonmail.com>
    Tested-by: Mano Ségransan <mano.segransan@protonmail.com>
    Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3203
    Reviewed-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
    alexdeucher committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    937844d View commit details
    Browse the repository at this point in the history
  36. drm/amdgpu/pm: Fix the error of pwm1_enable setting

    Fix the pwm_mode value error which used for
    pwm1_enable setting
    
    Signed-off-by: Ma Jun <Jun.Ma2@amd.com>
    Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: stable@vger.kernel.org
    Ma Jun authored and alexdeucher committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    0dafaf6 View commit details
    Browse the repository at this point in the history
  37. netfilter: nf_tables: disallow anonymous set with timeout flag

    Anonymous sets are never used with timeout from userspace, reject this.
    Exception to this rule is NFT_SET_EVAL to ensure legacy meters still work.
    
    Cc: stable@vger.kernel.org
    Fixes: 761da29 ("netfilter: nf_tables: add set timeout API support")
    Reported-by: lonial con <kongln9170@gmail.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    ummakynes committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    1660360 View commit details
    Browse the repository at this point in the history
  38. netfilter: nf_tables: reject constant set with timeout

    This set combination is weird: it allows for elements to be
    added/deleted, but once bound to the rule it cannot be updated anymore.
    Eventually, all elements expire, leading to an empty set which cannot
    be updated anymore. Reject this flags combination.
    
    Cc: stable@vger.kernel.org
    Fixes: 761da29 ("netfilter: nf_tables: add set timeout API support")
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    ummakynes committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    5f4fc4b View commit details
    Browse the repository at this point in the history
  39. netfilter: nft_ct: fix l3num expectations with inet pseudo family

    Following is rejected but should be allowed:
    
    table inet t {
            ct expectation exp1 {
                    [..]
                    l3proto ip
    
    Valid combos are:
    table ip t, l3proto ip
    table ip6 t, l3proto ip6
    table inet t, l3proto ip OR l3proto ip6
    
    Disallow inet pseudeo family, the l3num must be a on-wire protocol known
    to conntrack.
    
    Retain NFPROTO_INET case to make it clear its rejected
    intentionally rather as oversight.
    
    Fixes: 8059918 ("netfilter: nft_ct: sanitize layer 3 and 4 protocol number in custom expectations")
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Florian Westphal authored and ummakynes committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    9999378 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2024

  1. netfilter: nf_tables: mark set as dead when unbinding anonymous set w…

    …ith timeout
    
    While the rhashtable set gc runs asynchronously, a race allows it to
    collect elements from anonymous sets with timeouts while it is being
    released from the commit path.
    
    Mingi Cho originally reported this issue in a different path in 6.1.x
    with a pipapo set with low timeouts which is not possible upstream since
    7395dfa ("netfilter: nf_tables: use timestamp to check for set
    element timeout").
    
    Fix this by setting on the dead flag for anonymous sets to skip async gc
    in this case.
    
    According to 08e4c8c ("netfilter: nf_tables: mark newset as dead on
    transaction abort"), Florian plans to accelerate abort path by releasing
    objects via workqueue, therefore, this sets on the dead flag for abort
    path too.
    
    Cc: stable@vger.kernel.org
    Fixes: 5f68718 ("netfilter: nf_tables: GC transaction API to avoid race with control plane")
    Reported-by: Mingi Cho <mgcho.minic@gmail.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    ummakynes committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    552705a View commit details
    Browse the repository at this point in the history
  2. netfilter: nf_conntrack_h323: Add protection for bmp length out of range

    UBSAN load reports an exception of BRK#5515 SHIFT_ISSUE:Bitwise shifts
    that are out of bounds for their data type.
    
    vmlinux   get_bitmap(b=75) + 712
    <net/netfilter/nf_conntrack_h323_asn1.c:0>
    vmlinux   decode_seq(bs=0xFFFFFFD008037000, f=0xFFFFFFD008037018, level=134443100) + 1956
    <net/netfilter/nf_conntrack_h323_asn1.c:592>
    vmlinux   decode_choice(base=0xFFFFFFD0080370F0, level=23843636) + 1216
    <net/netfilter/nf_conntrack_h323_asn1.c:814>
    vmlinux   decode_seq(f=0xFFFFFFD0080371A8, level=134443500) + 812
    <net/netfilter/nf_conntrack_h323_asn1.c:576>
    vmlinux   decode_choice(base=0xFFFFFFD008037280, level=0) + 1216
    <net/netfilter/nf_conntrack_h323_asn1.c:814>
    vmlinux   DecodeRasMessage() + 304
    <net/netfilter/nf_conntrack_h323_asn1.c:833>
    vmlinux   ras_help() + 684
    <net/netfilter/nf_conntrack_h323_main.c:1728>
    vmlinux   nf_confirm() + 188
    <net/netfilter/nf_conntrack_proto.c:137>
    
    Due to abnormal data in skb->data, the extension bitmap length
    exceeds 32 when decoding ras message then uses the length to make
    a shift operation. It will change into negative after several loop.
    UBSAN load could detect a negative shift as an undefined behaviour
    and reports exception.
    So we add the protection to avoid the length exceeding 32. Or else
    it will return out of range error and stop decoding.
    
    Fixes: 5e35941 ("[NETFILTER]: Add H.323 conntrack/NAT helper")
    Signed-off-by: Lena Wang <lena.wang@mediatek.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    wanglena authored and ummakynes committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    7671466 View commit details
    Browse the repository at this point in the history
  3. erofs: fix uninitialized page cache reported by KMSAN

    syzbot reports a KMSAN reproducer [1] which generates a crafted
    filesystem image and causes IMA to read uninitialized page cache.
    
    Later, (rq->outputsize > rq->inputsize) will be formally supported
    after either large uncompressed pclusters (> block size) or big
    lclusters are landed.  However, currently there is no way to generate
    such filesystems by using mkfs.erofs.
    
    Thus, let's mark this condition as unsupported for now.
    
    [1] https://lore.kernel.org/r/0000000000002be12a0611ca7ff8@google.com
    
    Reported-and-tested-by: syzbot+7bc44a489f0ef0670bd5@syzkaller.appspotmail.com
    Fixes: 1ca0152 ("erofs: refine z_erofs_transform_plain() for sub-page block support")
    Reviewed-by: Sandeep Dhavale <dhavale@google.com>
    Reviewed-by: Yue Hu <huyue2@coolpad.com>
    Reviewed-by: Chao Yu <chao@kernel.org>
    Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
    Link: https://lore.kernel.org/r/20240304035339.425857-1-hsiangkao@linux.alibaba.com
    hsiangkao committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    893e5e9 View commit details
    Browse the repository at this point in the history
  4. erofs: apply proper VMA alignment for memory mapped files on THP

    There are mainly two reasons that thp_get_unmapped_area() should be
    used for EROFS as other filesystems:
    
     - It's needed to enable PMD mappings as a FSDAX filesystem, see
       commit 74d2fad ("thp, dax: add thp_get_unmapped_area for pmd
       mappings");
    
     - It's useful together with large folios and
       CONFIG_READ_ONLY_THP_FOR_FS which enable THPs for mmapped files
       (e.g. shared libraries) even without FSDAX.  See commit 1854bc6
       ("mm/readahead: Align file mappings for non-DAX").
    
    Fixes: 06252e9 ("erofs: dax support for non-tailpacking regular file")
    Fixes: ce529cc ("erofs: enable large folios for iomap mode")
    Fixes: e6687b8 ("erofs: enable large folios for fscache mode")
    Reviewed-by: Jingbo Xu <jefflexu@linux.alibaba.com>
    Reviewed-by: Chao Yu <chao@kernel.org>
    Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
    Link: https://lore.kernel.org/r/20240306053138.2240206-1-hsiangkao@linux.alibaba.com
    hsiangkao committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    4127cae View commit details
    Browse the repository at this point in the history
  5. Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel…

    …/git/bpf/bpf
    
    Daniel Borkmann says:
    
    ====================
    pull-request: bpf 2024-03-06
    
    We've added 5 non-merge commits during the last 1 day(s) which contain
    a total of 5 files changed, 77 insertions(+), 4 deletions(-).
    
    The main changes are:
    
    1) Fix BPF verifier to check bpf_func_state->callback_depth when pruning
       states as otherwise unsafe programs could get accepted,
       from Eduard Zingerman.
    
    2) Fix to zero-initialise xdp_rxq_info struct before running XDP program in
       CPU map which led to random xdp_md fields, from Toke Høiland-Jørgensen.
    
    3) Fix bonding XDP feature flags calculation when bonding device has no
       slave devices anymore, from Daniel Borkmann.
    
    * tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf:
      cpumap: Zero-initialise xdp_rxq_info struct before running XDP program
      selftests/bpf: Fix up xdp bonding test wrt feature flags
      xdp, bonding: Fix feature flags when there are no slave devs anymore
      selftests/bpf: test case for callback_depth states pruning logic
      bpf: check bpf_func_state->callback_depth when pruning states
    ====================
    
    Link: https://lore.kernel.org/r/20240306220309.13534-1-daniel@iogearbox.net
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kuba-moo committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    d3eee81 View commit details
    Browse the repository at this point in the history
  6. Merge tag 'ipsec-2024-03-06' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/klassert/ipsec
    
    Steffen Klassert says:
    
    ====================
    pull request (net): ipsec 2024-03-06
    
    1) Clear the ECN bits flowi4_tos in decode_session4().
       This was already fixed but the bug was reintroduced
       when decode_session4() switched to us the flow dissector.
       From Guillaume Nault.
    
    2) Fix UDP encapsulation in the TX path with packet offload mode.
       From Leon Romanovsky,
    
    3) Avoid clang fortify warning in copy_to_user_tmpl().
       From Nathan Chancellor.
    
    4) Fix inter address family tunnel in packet offload mode.
       From Mike Yu.
    
    * tag 'ipsec-2024-03-06' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec:
      xfrm: set skb control buffer based on packet offload as well
      xfrm: fix xfrm child route lookup for packet offload
      xfrm: Avoid clang fortify warning in copy_to_user_tmpl()
      xfrm: Pass UDP encapsulation in TX packet offload
      xfrm: Clear low order bits of ->flowi4_tos in decode_session4().
    ====================
    
    Link: https://lore.kernel.org/r/20240306100438.3953516-1-steffen.klassert@secunet.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kuba-moo committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    811b3f9 View commit details
    Browse the repository at this point in the history
  7. drm/xe: Return immediately on tile_init failure

    There's no reason to proceed with applying workaround and initing
    sysfs if we are going to abort the probe upon failure.
    
    Fixes: e5a845f ("drm/xe: Add sysfs entry for tile")
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Matthew Auld <matthew.auld@intel.com>
    Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240306203110.146387-1-rodrigo.vivi@intel.com
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    (cherry picked from commit af7b93d)
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    rodrigovivi authored and Thomas Hellström committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    a4e7596 View commit details
    Browse the repository at this point in the history
  8. drm/tests/buddy: fix print format

    This will report a build warning once we have: 806cb22 ("kunit:
    Annotate _MSG assertion variants with gnu printf specifiers").
    
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Fixes: c707033 ("drm/tests/drm_buddy: add alloc_range_bias test")
    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Cc: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
    Cc: Christian König <christian.koenig@amd.com>
    Reviewed-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
    Link: https://lore.kernel.org/r/20240229095225.242795-2-matthew.auld@intel.com
    Signed-off-by: Maxime Ripard <mripard@kernel.org>
    matt-auld authored and mripard committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    4ece8fc View commit details
    Browse the repository at this point in the history
  9. netrom: Fix a data-race around sysctl_netrom_default_path_quality

    We need to protect the reader reading sysctl_netrom_default_path_quality
    because the value can be changed concurrently.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Jason Xing <kernelxing@tencent.com>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    JasonXing authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    958d614 View commit details
    Browse the repository at this point in the history
  10. netrom: Fix a data-race around sysctl_netrom_obsolescence_count_initi…

    …aliser
    
    We need to protect the reader reading the sysctl value
    because the value can be changed concurrently.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Jason Xing <kernelxing@tencent.com>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    JasonXing authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    cfd9f4a View commit details
    Browse the repository at this point in the history
  11. netrom: Fix data-races around sysctl_netrom_network_ttl_initialiser

    We need to protect the reader reading the sysctl value because the
    value can be changed concurrently.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Jason Xing <kernelxing@tencent.com>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    JasonXing authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    119cae5 View commit details
    Browse the repository at this point in the history
  12. netrom: Fix a data-race around sysctl_netrom_transport_timeout

    We need to protect the reader reading the sysctl value because the
    value can be changed concurrently.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Jason Xing <kernelxing@tencent.com>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    JasonXing authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    60a7a15 View commit details
    Browse the repository at this point in the history
  13. netrom: Fix a data-race around sysctl_netrom_transport_maximum_tries

    We need to protect the reader reading the sysctl value because the
    value can be changed concurrently.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Jason Xing <kernelxing@tencent.com>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    JasonXing authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    e799299 View commit details
    Browse the repository at this point in the history
  14. netrom: Fix a data-race around sysctl_netrom_transport_acknowledge_delay

    We need to protect the reader reading the sysctl value because the
    value can be changed concurrently.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Jason Xing <kernelxing@tencent.com>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    JasonXing authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    806f462 View commit details
    Browse the repository at this point in the history
  15. netrom: Fix a data-race around sysctl_netrom_transport_busy_delay

    We need to protect the reader reading the sysctl value because the
    value can be changed concurrently.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Jason Xing <kernelxing@tencent.com>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    JasonXing authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    43547d8 View commit details
    Browse the repository at this point in the history
  16. netrom: Fix a data-race around sysctl_netrom_transport_requested_wind…

    …ow_size
    
    We need to protect the reader reading the sysctl value because the
    value can be changed concurrently.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Jason Xing <kernelxing@tencent.com>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    JasonXing authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    a2e7068 View commit details
    Browse the repository at this point in the history
  17. netrom: Fix a data-race around sysctl_netrom_transport_no_activity_ti…

    …meout
    
    We need to protect the reader reading the sysctl value because the
    value can be changed concurrently.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Jason Xing <kernelxing@tencent.com>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    JasonXing authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    f99b494 View commit details
    Browse the repository at this point in the history
  18. netrom: Fix a data-race around sysctl_netrom_routing_control

    We need to protect the reader reading the sysctl value because the
    value can be changed concurrently.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Jason Xing <kernelxing@tencent.com>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    JasonXing authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    b5dffcb View commit details
    Browse the repository at this point in the history
  19. netrom: Fix a data-race around sysctl_netrom_link_fails_count

    We need to protect the reader reading the sysctl value because the
    value can be changed concurrently.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Jason Xing <kernelxing@tencent.com>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    JasonXing authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    bc76645 View commit details
    Browse the repository at this point in the history
  20. netrom: Fix data-races around sysctl_net_busy_read

    We need to protect the reader reading the sysctl value because the
    value can be changed concurrently.
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Jason Xing <kernelxing@tencent.com>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    JasonXing authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    d380ce7 View commit details
    Browse the repository at this point in the history
  21. Merge branch 'netrom-fix-all-the-data-races-around-sysctls'

    Jason Xing says:
    
    ====================
    netrom: Fix all the data-races around sysctls
    
    As the title said, in this patchset I fix the data-race issues because
    the writer and the reader can manipulate the same value concurrently.
    ====================
    
    Link: https://lore.kernel.org/r/20240304082046.64977-1-kerneljasonxing@gmail.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    6d673e8 View commit details
    Browse the repository at this point in the history
  22. Merge tag 'nf-24-03-07' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/netfilter/nf
    
    Pablo Neira Ayuso says:
    
    ====================
    Netfilter fixes for net
    
    The following patchset contains fixes for net:
    
    Patch #1 disallows anonymous sets with timeout, except for dynamic sets.
             Anonymous sets with timeouts using the pipapo set backend makes
             no sense from userspace perspective.
    
    Patch #2 rejects constant sets with timeout which has no practical usecase.
             This kind of set, once bound, contains elements that expire but
             no new elements can be added.
    
    Patch #3 restores custom conntrack expectations with NFPROTO_INET,
             from Florian Westphal.
    
    Patch #4 marks rhashtable anonymous set with timeout as dead from the
             commit path to avoid that async GC collects these elements. Rules
             that refers to the anonymous set get released with no mutex held
             from the commit path.
    
    Patch #5 fixes a UBSAN shift overflow in H.323 conntrack helper,
             from Lena Wang.
    
    netfilter pull request 24-03-07
    
    * tag 'nf-24-03-07' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:
      netfilter: nf_conntrack_h323: Add protection for bmp length out of range
      netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout
      netfilter: nft_ct: fix l3num expectations with inet pseudo family
      netfilter: nf_tables: reject constant set with timeout
      netfilter: nf_tables: disallow anonymous set with timeout flag
    ====================
    
    Link: https://lore.kernel.org/r/20240307021545.149386-1-pablo@netfilter.org
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    d5b8aff View commit details
    Browse the repository at this point in the history
  23. net: pds_core: Fix possible double free in error handling path

    When auxiliary_device_add() returns error and then calls
    auxiliary_device_uninit(), Callback function pdsc_auxbus_dev_release
    calls kfree(padev) to free memory. We shouldn't call kfree(padev)
    again in the error handling path.
    
    Fix this by cleaning up the redundant kfree() and putting
    the error handling back to where the errors happened.
    
    Fixes: 4569cce ("pds_core: add auxiliary_bus devices")
    Signed-off-by: Yongzhi Liu <hyperlyzcs@gmail.com>
    Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
    Reviewed-by: Shannon Nelson <shannon.nelson@amd.com>
    Link: https://lore.kernel.org/r/20240306105714.20597-1-hyperlyzcs@gmail.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    Yongzhi Liu authored and Paolo Abeni committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    ba18ded View commit details
    Browse the repository at this point in the history
  24. Merge tag 'net-6.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/netdev/net
    
    Pull networking fixes from Paolo Abeni:
     "Including fixes from bpf, ipsec and netfilter.
    
      No solution yet for the stmmac issue mentioned in the last PR, but it
      proved to be a lockdep false positive, not a blocker.
    
      Current release - regressions:
    
       - dpll: move all dpll<>netdev helpers to dpll code, fix build
         regression with old compilers
    
      Current release - new code bugs:
    
       - page_pool: fix netlink dump stop/resume
    
      Previous releases - regressions:
    
       - bpf: fix verifier to check bpf_func_state->callback_depth when
         pruning states as otherwise unsafe programs could get accepted
    
       - ipv6: avoid possible UAF in ip6_route_mpath_notify()
    
       - ice: reconfig host after changing MSI-X on VF
    
       - mlx5:
           - e-switch, change flow rule destination checking
           - add a memory barrier to prevent a possible null-ptr-deref
           - switch to using _bh variant of of spinlock where needed
    
      Previous releases - always broken:
    
       - netfilter: nf_conntrack_h323: add protection for bmp length out of
         range
    
       - bpf: fix to zero-initialise xdp_rxq_info struct before running XDP
         program in CPU map which led to random xdp_md fields
    
       - xfrm: fix UDP encapsulation in TX packet offload
    
       - netrom: fix data-races around sysctls
    
       - ice:
           - fix potential NULL pointer dereference in ice_bridge_setlink()
           - fix uninitialized dplls mutex usage
    
       - igc: avoid returning frame twice in XDP_REDIRECT
    
       - i40e: disable NAPI right after disabling irqs when handling
         xsk_pool
    
       - geneve: make sure to pull inner header in geneve_rx()
    
       - sparx5: fix use after free inside sparx5_del_mact_entry
    
       - dsa: microchip: fix register write order in ksz8_ind_write8()
    
      Misc:
    
       - selftests: mptcp: fixes for diag.sh"
    
    * tag 'net-6.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (63 commits)
      net: pds_core: Fix possible double free in error handling path
      netrom: Fix data-races around sysctl_net_busy_read
      netrom: Fix a data-race around sysctl_netrom_link_fails_count
      netrom: Fix a data-race around sysctl_netrom_routing_control
      netrom: Fix a data-race around sysctl_netrom_transport_no_activity_timeout
      netrom: Fix a data-race around sysctl_netrom_transport_requested_window_size
      netrom: Fix a data-race around sysctl_netrom_transport_busy_delay
      netrom: Fix a data-race around sysctl_netrom_transport_acknowledge_delay
      netrom: Fix a data-race around sysctl_netrom_transport_maximum_tries
      netrom: Fix a data-race around sysctl_netrom_transport_timeout
      netrom: Fix data-races around sysctl_netrom_network_ttl_initialiser
      netrom: Fix a data-race around sysctl_netrom_obsolescence_count_initialiser
      netrom: Fix a data-race around sysctl_netrom_default_path_quality
      netfilter: nf_conntrack_h323: Add protection for bmp length out of range
      netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout
      netfilter: nft_ct: fix l3num expectations with inet pseudo family
      netfilter: nf_tables: reject constant set with timeout
      netfilter: nf_tables: disallow anonymous set with timeout flag
      net/rds: fix WARNING in rds_conn_connect_if_down
      net: dsa: microchip: fix register write order in ksz8_ind_write8()
      ...
    torvalds committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    df47935 View commit details
    Browse the repository at this point in the history
  25. Merge tag 'erofs-for-6.8-fixes' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/xiang/erofs
    
    Pull erofs fixes from Gao Xiang:
     "The main one is a KMSAN fix which addresses an issue introduced in
      this cycle so it'd be much better to fix before releasing, and the
      remaining one fixes VMA alignment for THP.
    
      Summary:
    
       - Fix a KMSAN uninit-value issue triggered by a crafted image
    
       - Fix VMA alignment for memory mapped files on THP"
    
    * tag 'erofs-for-6.8-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
      erofs: apply proper VMA alignment for memory mapped files on THP
      erofs: fix uninitialized page cache reported by KMSAN
    torvalds committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    d0e8888 View commit details
    Browse the repository at this point in the history
  26. Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/arm64/linux
    
    Pull arm64 fix from Will Deacon:
     "A lonely arm64 fix addressing a kprobes regression that we introduced
      during the merge window:
    
       - Fix recursive kprobes regression when probing the stack unwinder"
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64: prohibit probing on arch_kunwind_consume_entry()
    torvalds committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    135288b View commit details
    Browse the repository at this point in the history
  27. Merge tag 'regulator-fix-v6.8-rc7' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/broonie/regulator
    
    Pull regulator fixes from Mark Brown:
     "A couple of small fixes for the rk808 driver, the regulator voltage
      configurations were incorrectly described.
    
      The changes are not expected to have practical impact but given that
      we're dealing with power it's generally better to follow the hardware
      specification as closely as we can to avoid unexpected stresses"
    
    * tag 'regulator-fix-v6.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
      regulator: rk808: fix LDO range on RK806
      regulator: rk808: fix buck range on RK806
    torvalds committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    d5c6c9f View commit details
    Browse the repository at this point in the history
  28. Merge tag 'spi-fix-v6.8-rc7' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/broonie/spi
    
    Pull spi fix from Mark Brown:
     "One small fix for the newly added cs42l43 driver which would have
      caused it problems working in some system configurations by needlessly
      restricting chip select configurations"
    
    * tag 'spi-fix-v6.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
      spi: cs42l43: Don't limit native CS to the first chip select
    torvalds committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    c381c89 View commit details
    Browse the repository at this point in the history
  29. Input: synaptics-rmi4 - fix UAF of IRQ domain on driver removal

    Calling irq_domain_remove() will lead to freeing the IRQ domain
    prematurely. The domain is still referenced and will be attempted to get
    used via rmi_free_function_list() -> rmi_unregister_function() ->
    irq_dispose_mapping() -> irq_get_irq_data()'s ->domain pointer.
    
    With PaX's MEMORY_SANITIZE this will lead to an access fault when
    attempting to dereference embedded pointers, as in Torsten's report that
    was faulting on the 'domain->ops->unmap' test.
    
    Fix this by releasing the IRQ domain only after all related IRQs have
    been deactivated.
    
    Fixes: 24d28e4 ("Input: synaptics-rmi4 - convert irq distribution to irq_domain")
    Reported-by: Torsten Hilbrich <torsten.hilbrich@secunet.com>
    Signed-off-by: Mathias Krause <minipli@grsecurity.net>
    Link: https://lore.kernel.org/r/20240222142654.856566-1-minipli@grsecurity.net
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    minipli-oss authored and dtor committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    fbf8d71 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2024

  1. scripts/gdb/symbols: fix invalid escape sequence warning

    With python 3.12, '\.' results in this warning
        SyntaxWarning: invalid escape sequence '\.'
    
    Link: https://lkml.kernel.org/r/20240304012507.240380-1-andrewjballance@gmail.com
    Signed-off-by: Andrew Ballance <andrewjballance@gmail.com>
    Cc: Jan Kiszka <jan.kiszka@siemens.com>
    Cc: Kieran Bingham <kbingham@kernel.org>
    Cc: Koudai Iwahori <koudai@google.com>
    Cc: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>
    Cc: Luis Chamberlain <mcgrof@kernel.org>
    Cc: Pankaj Raghav <p.raghav@samsung.com>
    Cc: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    mrwigglewaffles authored and akpm00 committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    ded79af View commit details
    Browse the repository at this point in the history
  2. Merge tag 'mm-hotfixes-stable-2024-03-07-16-17' of git://git.kernel.o…

    …rg/pub/scm/linux/kernel/git/akpm/mm
    
    Pull misc fixes from Andrew Morton:
     "6 hotfixes. 4 are cc:stable and the remainder pertain to post-6.7
      issues or aren't considered to be needed in earlier kernel versions"
    
    * tag 'mm-hotfixes-stable-2024-03-07-16-17' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
      scripts/gdb/symbols: fix invalid escape sequence warning
      mailmap: fix Kishon's email
      init/Kconfig: lower GCC version check for -Warray-bounds
      mm, mmap: fix vma_merge() case 7 with vma_ops->close
      mm: userfaultfd: fix unexpected change to src_folio when UFFDIO_MOVE fails
      mm, vmscan: prevent infinite loop for costly GFP_NOIO | __GFP_RETRY_MAYFAIL allocations
    torvalds committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    3aaa8ce View commit details
    Browse the repository at this point in the history
  3. Merge tag 'drm-intel-fixes-2024-03-07' of https://anongit.freedesktop…

    ….org/git/drm/drm-intel into drm-fixes
    
    - Fix for #10184: Kernel crash on UHD Graphics 730 (Cc stable)
    . Fix for #10284: Boot delay regresion with PSR
    - Fix DP connector DSC HW state readout
    - Selftest fix to convert msecs to jiffies
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/Zel4jMpJ2Fay5VeJ@jlahtine-mobl.ger.corp.intel.com
    airlied committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    698236f View commit details
    Browse the repository at this point in the history
  4. Merge tag 'drm-xe-fixes-2024-03-07' of https://gitlab.freedesktop.org…

    …/drm/xe/kernel into drm-fixes
    
    Driver Changes:
    - An error path fix.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    
    From: Thomas Hellstrom <thomas.hellstrom@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/Zema9lLEdtMISljc@fedora
    airlied committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    3a397b1 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'amd-drm-fixes-6.8-2024-03-07' of https://gitlab.freedeskto…

    …p.org/agd5f/linux into drm-fixes
    
    amd-drm-fixes-6.8-2024-03-07:
    
    amdgpu:
    - SMU14 fix
    - Fix possible NULL pointer
    - VRR fix
    - pwm fix
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    
    From: Alex Deucher <alexander.deucher@amd.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240307143318.2869884-1-alexander.deucher@amd.com
    airlied committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    b3cdb19 View commit details
    Browse the repository at this point in the history
  6. Merge tag 'drm-misc-fixes-2024-03-07' of https://anongit.freedesktop.…

    …org/git/drm/drm-misc into drm-fixes
    
    A connector status polling fix, a timings fix for the Himax83102-j02
    panel, a deadlock fix for nouveau, A controversial format fix for udl
    that got reverted to allow further discussion, and a build fix for the
    drm/buddy kunit tests.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    
    From: Maxime Ripard <mripard@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240307-quizzical-auburn-starling-0ade8f@houat
    airlied committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    83c34dc View commit details
    Browse the repository at this point in the history
  7. nouveau: lock the client object tree.

    It appears the client object tree has no locking unless I've missed
    something else. Fix races around adding/removing client objects,
    mostly vram bar mappings.
    
     4562.099306] general protection fault, probably for non-canonical address 0x6677ed422bceb80c: 0000 [#1] PREEMPT SMP PTI
    [ 4562.099314] CPU: 2 PID: 23171 Comm: deqp-vk Not tainted 6.8.0-rc6+ #27
    [ 4562.099324] Hardware name: Gigabyte Technology Co., Ltd. Z390 I AORUS PRO WIFI/Z390 I AORUS PRO WIFI-CF, BIOS F8 11/05/2021
    [ 4562.099330] RIP: 0010:nvkm_object_search+0x1d/0x70 [nouveau]
    [ 4562.099503] Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 66 0f 1f 00 0f 1f 44 00 00 48 89 f8 48 85 f6 74 39 48 8b 87 a0 00 00 00 48 85 c0 74 12 <48> 8b 48 f8 48 39 ce 73 15 48 8b 40 10 48 85 c0 75 ee 48 c7 c0 fe
    [ 4562.099506] RSP: 0000:ffffa94cc420bbf8 EFLAGS: 00010206
    [ 4562.099512] RAX: 6677ed422bceb814 RBX: ffff98108791f400 RCX: ffff9810f26b8f58
    [ 4562.099517] RDX: 0000000000000000 RSI: ffff9810f26b9158 RDI: ffff98108791f400
    [ 4562.099519] RBP: ffff9810f26b9158 R08: 0000000000000000 R09: 0000000000000000
    [ 4562.099521] R10: ffffa94cc420bc48 R11: 0000000000000001 R12: ffff9810f02a7cc0
    [ 4562.099526] R13: 0000000000000000 R14: 00000000000000ff R15: 0000000000000007
    [ 4562.099528] FS:  00007f629c5017c0(0000) GS:ffff98142c700000(0000) knlGS:0000000000000000
    [ 4562.099534] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 4562.099536] CR2: 00007f629a882000 CR3: 000000017019e004 CR4: 00000000003706f0
    [ 4562.099541] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [ 4562.099542] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    [ 4562.099544] Call Trace:
    [ 4562.099555]  <TASK>
    [ 4562.099573]  ? die_addr+0x36/0x90
    [ 4562.099583]  ? exc_general_protection+0x246/0x4a0
    [ 4562.099593]  ? asm_exc_general_protection+0x26/0x30
    [ 4562.099600]  ? nvkm_object_search+0x1d/0x70 [nouveau]
    [ 4562.099730]  nvkm_ioctl+0xa1/0x250 [nouveau]
    [ 4562.099861]  nvif_object_map_handle+0xc8/0x180 [nouveau]
    [ 4562.099986]  nouveau_ttm_io_mem_reserve+0x122/0x270 [nouveau]
    [ 4562.100156]  ? dma_resv_test_signaled+0x26/0xb0
    [ 4562.100163]  ttm_bo_vm_fault_reserved+0x97/0x3c0 [ttm]
    [ 4562.100182]  ? __mutex_unlock_slowpath+0x2a/0x270
    [ 4562.100189]  nouveau_ttm_fault+0x69/0xb0 [nouveau]
    [ 4562.100356]  __do_fault+0x32/0x150
    [ 4562.100362]  do_fault+0x7c/0x560
    [ 4562.100369]  __handle_mm_fault+0x800/0xc10
    [ 4562.100382]  handle_mm_fault+0x17c/0x3e0
    [ 4562.100388]  do_user_addr_fault+0x208/0x860
    [ 4562.100395]  exc_page_fault+0x7f/0x200
    [ 4562.100402]  asm_exc_page_fault+0x26/0x30
    [ 4562.100412] RIP: 0033:0x9b9870
    [ 4562.100419] Code: 85 a8 f7 ff ff 8b 8d 80 f7 ff ff 89 08 e9 18 f2 ff ff 0f 1f 84 00 00 00 00 00 44 89 32 e9 90 fa ff ff 0f 1f 84 00 00 00 00 00 <44> 89 32 e9 f8 f1 ff ff 0f 1f 84 00 00 00 00 00 66 44 89 32 e9 e7
    [ 4562.100422] RSP: 002b:00007fff9ba2dc70 EFLAGS: 00010246
    [ 4562.100426] RAX: 0000000000000004 RBX: 000000000dd65e10 RCX: 000000fff0000000
    [ 4562.100428] RDX: 00007f629a882000 RSI: 00007f629a882000 RDI: 0000000000000066
    [ 4562.100432] RBP: 00007fff9ba2e570 R08: 0000000000000000 R09: 0000000123ddf000
    [ 4562.100434] R10: 0000000000000001 R11: 0000000000000246 R12: 000000007fffffff
    [ 4562.100436] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
    [ 4562.100446]  </TASK>
    [ 4562.100448] Modules linked in: nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables libcrc32c nfnetlink cmac bnep sunrpc iwlmvm intel_rapl_msr intel_rapl_common snd_sof_pci_intel_cnl x86_pkg_temp_thermal intel_powerclamp snd_sof_intel_hda_common mac80211 coretemp snd_soc_acpi_intel_match kvm_intel snd_soc_acpi snd_soc_hdac_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof_intel_hda_mlink snd_sof_intel_hda snd_sof kvm snd_sof_utils snd_soc_core snd_hda_codec_realtek libarc4 snd_hda_codec_generic snd_compress snd_hda_ext_core vfat fat snd_hda_intel snd_intel_dspcfg irqbypass iwlwifi snd_hda_codec snd_hwdep snd_hda_core btusb btrtl mei_hdcp iTCO_wdt rapl mei_pxp btintel snd_seq iTCO_vendor_support btbcm snd_seq_device intel_cstate bluetooth snd_pcm cfg80211 intel_wmi_thunderbolt wmi_bmof intel_uncore snd_timer mei_me snd ecdh_generic i2c_i801
    [ 4562.100541]  ecc mei i2c_smbus soundcore rfkill intel_pch_thermal acpi_pad zram nouveau drm_ttm_helper ttm gpu_sched i2c_algo_bit drm_gpuvm drm_exec mxm_wmi drm_display_helper drm_kms_helper drm crct10dif_pclmul crc32_pclmul nvme e1000e crc32c_intel nvme_core ghash_clmulni_intel video wmi pinctrl_cannonlake ip6_tables ip_tables fuse
    [ 4562.100616] ---[ end trace 0000000000000000 ]---
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Cc: stable@vger.kernel.org
    airlied committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    b7cc4ff View commit details
    Browse the repository at this point in the history
  8. Merge tag 'asoc-fix-v6.8-rc7' of https://git.kernel.org/pub/scm/linux…

    …/kernel/git/broonie/sound into for-linus
    
    ASoC: Fixes for v6.8
    
    Some more driver specific fixes for v6.8, plus one new x86 platform
    quirk.  All good fixes to have if you have systems that use the relevant
    hardware.
    tiwai committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    21e59fe View commit details
    Browse the repository at this point in the history
  9. i2c: i801: Fix using mux_pdev before it's set

    i801_probe_optional_slaves() is called before i801_add_mux().
    This results in mux_pdev being checked before it's set by
    i801_add_mux(). Fix this by changing the order of the calls.
    I consider this safe as I see no dependencies.
    
    Fixes: 80e56b8 ("i2c: i801: Simplify class-based client device instantiation")
    Cc: stable@vger.kernel.org
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
    Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
    hkallweit authored and Wolfram Sang committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    09f0290 View commit details
    Browse the repository at this point in the history
  10. i2c: i801: Avoid potential double call to gpiod_remove_lookup_table

    If registering the platform device fails, the lookup table is
    removed in the error path. On module removal we would try to
    remove the lookup table again. Fix this by setting priv->lookup
    only if registering the platform device was successful.
    In addition free the memory allocated for the lookup table in
    the error path.
    
    Fixes: d308dfb ("i2c: mux/i801: Switch to use descriptor passing")
    Cc: stable@vger.kernel.org
    Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
    hkallweit authored and Wolfram Sang committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    ceb013b View commit details
    Browse the repository at this point in the history
  11. i2c: wmt: Fix an error handling path in wmt_i2c_probe()

    wmt_i2c_reset_hardware() calls clk_prepare_enable(). So, should an error
    occur after it, it should be undone by a corresponding
    clk_disable_unprepare() call, as already done in the remove function.
    
    Fixes: 560746e ("i2c: vt8500: Add support for I2C bus on Wondermedia SoCs")
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
    tititiou36 authored and Wolfram Sang committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    97fd62e View commit details
    Browse the repository at this point in the history
  12. i2c: aspeed: Fix the dummy irq expected print

    When the i2c error condition occurred and master state was not
    idle, the master irq function will goto complete state without any
    other interrupt handling. It would cause dummy irq expected print.
    Under this condition, assign the irq_status into irq_handle.
    
    For example, when the abnormal start / stop occurred (bit 5) with
    normal stop status (bit 4) at same time. Then the normal stop status
    would not be handled and it would cause irq expected print in
    the aspeed_i2c_bus_irq.
    
    ...
    aspeed-i2c-bus x. i2c-bus: irq handled != irq.
    Expected 0x00000030, but was 0x00000020
    ...
    
    Fixes: 3e9efc3 ("i2c: aspeed: Handle master/slave combined irq events properly")
    Cc: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
    Signed-off-by: Tommy Huang <tommy_huang@aspeedtech.com>
    Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
    TommyHuang0527 authored and Wolfram Sang committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    ac168d6 View commit details
    Browse the repository at this point in the history
  13. Merge tag 'drm-fixes-2024-03-08' of https://gitlab.freedesktop.org/dr…

    …m/kernel
    
    Pull drm fixes from Dave Airlie:
     "Regular fixes (two weeks for i915), scattered across drivers, amdgpu
      and i915 being the main ones, with nouveau having a couple of fixes.
      One patch got applied for udl, but reverted soon after as the
      maintainer has missed some crucial prior discussion.
    
      Seems quiet and normal enough for this stage.
    
      MAINTAINERS
       - update email address
    
      core:
       - fix polling in certain configurations
    
      buddy:
       - fix kunit test warning
    
      panel:
       - boe-tv101wum-nl6: timing tuning fixes
    
      i915:
       - Fix to extract HDCP information from primary connector
       - Check for NULL mmu_interval_notifier before removing
       - Fix for #10184: Kernel crash on UHD Graphics 730 (Cc stable)
       - Fix for #10284: Boot delay regresion with PSR
       - Fix DP connector DSC HW state readout
       - Selftest fix to convert msecs to jiffies
    
      xe:
       - error path fix
    
      amdgpu:
       - SMU14 fix
       - Fix possible NULL pointer
       - VRR fix
       - pwm fix
    
      nouveau:
       - fix deadlock in new ioctls fail path
       - fix missing locking around object rbtree
    
      udl:
       - apply and revert format change"
    
    * tag 'drm-fixes-2024-03-08' of https://gitlab.freedesktop.org/drm/kernel: (21 commits)
      nouveau: lock the client object tree.
      drm/tests/buddy: fix print format
      drm/xe: Return immediately on tile_init failure
      drm/amdgpu/pm: Fix the error of pwm1_enable setting
      drm/amd/display: handle range offsets in VRR ranges
      drm/amd/display: check dc_link before dereferencing
      drm/amd/swsmu: modify the gfx activity scaling
      Revert "drm/udl: Add ARGB8888 as a format"
      drm/i915/panelreplay: Move out psr_init_dpcd() from init_connector()
      drm/i915/dp: Fix connector DSC HW state readout
      drm/i915/selftests: Fix dependency of some timeouts on HZ
      drm/udl: Add ARGB8888 as a format
      drm/nouveau: fix stale locked mutex in nouveau_gem_ioctl_pushbuf
      drm/i915: Don't explode when the dig port we don't have an AUX CH
      MAINTAINERS: Update email address for Tvrtko Ursulin
      drm/panel: boe-tv101wum-nl6: Fine tune Himax83102-j02 panel HFP and HBP (again)
      drm: Fix output poll work for drm_kms_helper_poll=n
      drm/i915: Check before removing mm notifier
      drm/i915/hdcp: Extract hdcp structure from correct connector
      drm/i915/hdcp: Remove additional timing for reading mst hdcp message
      ...
    torvalds committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    e6fac3c View commit details
    Browse the repository at this point in the history
  14. Merge tag 'sound-6.8' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "A collection of small fixes. Half of them are HD-audio quirks while
      the rest are various device-specific ASoC fixes"
    
    * tag 'sound-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll
      ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode
      ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC
      ASoC: dt-bindings: nvidia: Fix 'lge' vendor prefix
      ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook
      ASoC: amd: yc: Add HP Pavilion Aero Laptop 13-be2xxx(8BD6) into DMI quirk table
      ASoC: rcar: adg: correct TIMSEL setting for SSI9
      ALSA: hda: cs35l41: Overwrite CS35L41 configuration for ASUS UM5302LA
      ALSA: hda/realtek: Add quirks for Lenovo Thinkbook 16P laptops
      ALSA: hda: cs35l41: Support Lenovo Thinkbook 16P
      ALSA: hda/realtek - Add Headset Mic supported Acer NB platform
      ALSA: hda: optimize the probe codec process
      ALSA: hda/realtek - Fix headset Mic no show at resume back for Lenovo ALC897 platform
      ASoC: Intel: bytcr_rt5640: Add an extra entry for the Chuwi Vi8 tablet
      ASoC: madera: Fix typo in madera_set_fll_clks shift value
    torvalds committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    6dfeb04 View commit details
    Browse the repository at this point in the history
  15. Merge tag 'input-for-v6.8-rc7' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/dtor/input
    
    Pull input updates from Dmitry Torokhov:
    
     - a revert of endpoint checks in bcm5974 - the driver is being naughty
       and pokes at unclaimed USB interface, so the check fails. We need to
       fix the driver to claim both interfaces, and then re-implement the
       endpoints check
    
     - a fix to Synaptics RMI driver to avoid UAF on driver unload or device
       unbinding
    
     - a few new VID/PIDs added to xpad game controller driver
    
     - a change to gpio_keys_polled driver to quiet it when GPIO causes
       probe deferral.
    
    * tag 'input-for-v6.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: synaptics-rmi4 - fix UAF of IRQ domain on driver removal
      Input: gpio_keys_polled - suppress deferred probe error for gpio
      Revert "Input: bcm5974 - check endpoint type before starting traffic"
      Input: xpad - add additional HyperX Controller Identifiers
    torvalds committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    7a4f31c View commit details
    Browse the repository at this point in the history
  16. Merge tag 'pinctrl-v6.8-3' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/linusw/linux-pinctrl
    
    Pull pin control fixes from Linus Walleij:
    
     - Fix the PM suspend callback in the STM32 ST32MP257 driver to properly
       support suspend
    
     - Drop an extraneous reference put in the debugfs code, this was
       confusing the reference counts and causing unsolicited calls to
       __free()
    
    * tag 'pinctrl-v6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
      pinctrl: don't put the reference to GPIO device in pinctrl_pins_show()
      pinctrl: stm32: fix PM support for stm32mp257
    torvalds committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    49deb28 View commit details
    Browse the repository at this point in the history
  17. Merge tag 'usb-6.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/gregkh/usb
    
    Pull USB / Thunderbolt fixes from Greg KH:
     "Here are some small remaining fixes for USB and Thunderbolt drivers.
      Included in here are fixes for:
    
       - thunderbold NULL dereference fix
    
       - typec driver fixes
    
       - xhci driver regression fix
    
       - usb-storage divide-by-0 fix
    
       - ncm gadget driver fix
    
      All of these have been in linux-next with no reported issues"
    
    * tag 'usb-6.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
      xhci: Fix failure to detect ring expansion need.
      usb: port: Don't try to peer unused USB ports based on location
      usb: gadget: ncm: Fix handling of zero block length packets
      usb: typec: altmodes/displayport: create sysfs nodes as driver's default device attribute group
      usb: typec: tpcm: Fix PORT_RESET behavior for self powered devices
      usb: typec: ucsi: fix UCSI on SM8550 & SM8650 Qualcomm devices
      USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command
      thunderbolt: Fix NULL pointer dereference in tb_port_update_credits()
    torvalds committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    e536e0d View commit details
    Browse the repository at this point in the history
  18. Merge tag 'tty-6.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/gregkh/tty
    
    Pull tty / serial fixes from Greg KH:
     "Here are some small remaining tty/serial driver fixes. Included in
      here is fixes for:
    
       - vt unicode buffer corruption fix
    
       - imx serial driver fixes, again
    
       - port suspend fix
    
       - 8250_dw driver fix
    
       - fsl_lpuart driver fix
    
       - revert for the qcom_geni_serial driver to fix a reported regression
    
      All of these have been in linux-next with no reported issues"
    
    * tag 'tty-6.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
      Revert "tty: serial: simplify qcom_geni_serial_send_chunk_fifo()"
      tty: serial: fsl_lpuart: avoid idle preamble pending if CTS is enabled
      vt: fix unicode buffer corruption when deleting characters
      serial: port: Don't suspend if the port is still busy
      serial: 8250_dw: Do not reclock if already at correct rate
      tty: serial: imx: Fix broken RS485
    torvalds committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    563c5b0 View commit details
    Browse the repository at this point in the history
  19. Merge tag 'char-misc-6.8-rc8' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/gregkh/char-misc
    
    Pull char/misc driver fixes from Greg KH:
     "Here are a few small char/misc and other driver subsystem fixes for
      reported issues that have been in my tree.
    
      Included in here are fixes for:
    
       - iio driver fixes for reported problems
    
       - much reported bugfix for a lis3lv02d_i2c regression
    
       - comedi driver bugfix
    
       - mei new device ids
    
       - mei driver fixes
    
       - counter core fix
    
      All of these have been in linux-next with no reported issues, some for
      many weeks"
    
    * tag 'char-misc-6.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
      mei: gsc_proxy: match component when GSC is on different bus
      misc: fastrpc: Pass proper arguments to scm call
      comedi: comedi_test: Prevent timers rescheduling during deletion
      comedi: comedi_8255: Correct error in subdevice initialization
      misc: lis3lv02d_i2c: Fix regulators getting en-/dis-abled twice on suspend/resume
      iio: accel: adxl367: fix I2C FIFO data register
      iio: accel: adxl367: fix DEVID read after reset
      iio: pressure: dlhl60d: Initialize empty DLH bytes
      iio: imu: inv_mpu6050: fix frequency setting when chip is off
      iio: pressure: Fixes BMP38x and BMP390 SPI support
      iio: imu: inv_mpu6050: fix FIFO parsing when empty
      mei: Add Meteor Lake support for IVSC device
      mei: me: add arrow lake point H DID
      mei: me: add arrow lake point S DID
      counter: fix privdata alignment
    torvalds committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    10d48d7 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2024

  1. Merge tag 'ceph-for-6.8-rc8' of https://github.com/ceph/ceph-client

    Pull ceph fix from Ilya Dryomov:
     "A follow-up for sparse read fixes that went into -rc4 -- msgr2 case
      was missed and is corrected here"
    
    * tag 'ceph-for-6.8-rc8' of https://github.com/ceph/ceph-client:
      libceph: init the cursor when preparing sparse read in msgr2
    torvalds committed Mar 9, 2024
    Configuration menu
    Copy the full SHA
    09e5c48 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'kvm-x86-fixes-6.8-2' of https://github.com/kvm-x86/linux i…

    …nto HEAD
    
    KVM x86 fixes for 6.8, round 2:
    
     - When emulating an atomic access, mark the gfn as dirty in the memslot
       to fix a bug where KVM could fail to mark the slot as dirty during live
       migration, ultimately resulting in guest data corruption due to a dirty
       page not being re-copied from the source to the target.
    
     - Check for mmu_notifier invalidation events before faulting in the pfn,
       and before acquiring mmu_lock, to avoid unnecessary work and lock
       contention.  Contending mmu_lock is especially problematic on preemptible
       kernels, as KVM may yield mmu_lock in response to the contention, which
       severely degrades overall performance due to vCPUs making it difficult
       for the task that triggered invalidation to make forward progress.
    
       Note, due to another kernel bug, this fix isn't limited to preemtible
       kernels, as any kernel built with CONFIG_PREEMPT_DYNAMIC=y will yield
       contended rwlocks and spinlocks.
    
       https://lore.kernel.org/all/20240110214723.695930-1-seanjc@google.com
    bonzini committed Mar 9, 2024
    Configuration menu
    Copy the full SHA
    1b6c146 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'kvm-x86-guest_memfd_fixes-6.8' of https://github.com/kvm-x…

    …86/linux into HEAD
    
    KVM GUEST_MEMFD fixes for 6.8:
    
     - Make KVM_MEM_GUEST_MEMFD mutually exclusive with KVM_MEM_READONLY to
       avoid creating ABI that KVM can't sanely support.
    
     - Update documentation for KVM_SW_PROTECTED_VM to make it abundantly
       clear that such VMs are purely a development and testing vehicle, and
       come with zero guarantees.
    
     - Limit KVM_SW_PROTECTED_VM guests to the TDP MMU, as the long term plan
       is to support confidential VMs with deterministic private memory (SNP
       and TDX) only in the TDP MMU.
    
     - Fix a bug in a GUEST_MEMFD negative test that resulted in false passes
       when verifying that KVM_MEM_GUEST_MEMFD memslots can't be dirty logged.
    bonzini committed Mar 9, 2024
    Configuration menu
    Copy the full SHA
    39fee31 View commit details
    Browse the repository at this point in the history
  4. SEV: disable SEV-ES DebugSwap by default

    The DebugSwap feature of SEV-ES provides a way for confidential guests to use
    data breakpoints.  However, because the status of the DebugSwap feature is
    recorded in the VMSA, enabling it by default invalidates the attestation
    signatures.  In 6.10 we will introduce a new API to create SEV VMs that
    will allow enabling DebugSwap based on what the user tells KVM to do.
    Contextually, we will change the legacy KVM_SEV_ES_INIT API to never
    enable DebugSwap.
    
    For compatibility with kernels that pre-date the introduction of DebugSwap,
    as well as with those where KVM_SEV_ES_INIT will never enable it, do not enable
    the feature by default.  If anybody wants to use it, for now they can enable
    the sev_es_debug_swap_enabled module parameter, but this will result in a
    warning.
    
    Fixes: d1f85fb ("KVM: SEV: Enable data breakpoints in SEV-ES")
    Cc: stable@vger.kernel.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini committed Mar 9, 2024
    Configuration menu
    Copy the full SHA
    5abf6dc View commit details
    Browse the repository at this point in the history
  5. Merge tag 'firewire-fixes-6.8-final' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/ieee1394/linux1394
    
    Pull firewire fix from Takashi Sakamoto:
     "A fix to suppress a warning about unreleased IRQ for 1394 OHCI
      hardware when disabling MSI.
    
      In Linux kernel v6.5, a PCI driver for 1394 OHCI hardware was
      optimized into the managed device resources. Edmund Raile points out
      that the change brings the warning about unreleased IRQ at the call of
      pci_disable_msi(), since the API expects that the relevant IRQ has
      already been released in advance.
    
      As long as the API is called in .remove callback of PCI device
      operation, it is prohibited to maintain the IRQ as the part of managed
      device resource. As a workaround, the IRQ is explicitly released at
      .remove callback, before the call of pci_disable_msi().
    
      pci_disable_msi() is legacy API nowadays in PCI MSI implementation. I
      have a plan to replace it with the modern API in the development for
      the future version of Linux kernel. So at present I keep them as is"
    
    * tag 'firewire-fixes-6.8-final' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
      firewire: ohci: prevent leak of left-over IRQ on unbind
    torvalds committed Mar 9, 2024
    Configuration menu
    Copy the full SHA
    66695e7 View commit details
    Browse the repository at this point in the history
  6. Merge tag 'i2c-for-6.8-rc8' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/wsa/linux
    
    Pull i2c fixes from Wolfram Sang:
     "Two patches from Heiner for the i801 are targeting muxes discovered
      while working on some other features. Essentially, there is a
      reordering when adding optional slaves and proper cleanup upon
      registering a mux device.
    
      Christophe fixes the exit path in the wmt driver that was leaving the
      clocks hanging, and the last fix from Tommy avoids false error reports
      in IRQ"
    
    * tag 'i2c-for-6.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
      i2c: aspeed: Fix the dummy irq expected print
      i2c: wmt: Fix an error handling path in wmt_i2c_probe()
      i2c: i801: Avoid potential double call to gpiod_remove_lookup_table
      i2c: i801: Fix using mux_pdev before it's set
    torvalds committed Mar 9, 2024
    Configuration menu
    Copy the full SHA
    005f6f3 View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2024

  1. ring-buffer: Fix waking up ring buffer readers

    A task can wait on a ring buffer for when it fills up to a specific
    watermark. The writer will check the minimum watermark that waiters are
    waiting for and if the ring buffer is past that, it will wake up all the
    waiters.
    
    The waiters are in a wait loop, and will first check if a signal is
    pending and then check if the ring buffer is at the desired level where it
    should break out of the loop.
    
    If a file that uses a ring buffer closes, and there's threads waiting on
    the ring buffer, it needs to wake up those threads. To do this, a
    "wait_index" was used.
    
    Before entering the wait loop, the waiter will read the wait_index. On
    wakeup, it will check if the wait_index is different than when it entered
    the loop, and will exit the loop if it is. The waker will only need to
    update the wait_index before waking up the waiters.
    
    This had a couple of bugs. One trivial one and one broken by design.
    
    The trivial bug was that the waiter checked the wait_index after the
    schedule() call. It had to be checked between the prepare_to_wait() and
    the schedule() which it was not.
    
    The main bug is that the first check to set the default wait_index will
    always be outside the prepare_to_wait() and the schedule(). That's because
    the ring_buffer_wait() doesn't have enough context to know if it should
    break out of the loop.
    
    The loop itself is not needed, because all the callers to the
    ring_buffer_wait() also has their own loop, as the callers have a better
    sense of what the context is to decide whether to break out of the loop
    or not.
    
    Just have the ring_buffer_wait() block once, and if it gets woken up, exit
    the function and let the callers decide what to do next.
    
    Link: https://lore.kernel.org/all/CAHk-=whs5MdtNjzFkTyaUy=vHi=qwWgPi0JgTe6OYUYMNSRZfg@mail.gmail.com/
    Link: https://lore.kernel.org/linux-trace-kernel/20240308202431.792933613@goodmis.org
    
    Cc: stable@vger.kernel.org
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: linke li <lilinke99@qq.com>
    Cc: Rabin Vincent <rabin@rab.in>
    Fixes: e30f53a ("tracing: Do not busy wait in buffer splice")
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Mar 10, 2024
    Configuration menu
    Copy the full SHA
    b359457 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull kvm fixes from Paolo Bonzini:
     "KVM GUEST_MEMFD fixes for 6.8:
    
       - Make KVM_MEM_GUEST_MEMFD mutually exclusive with KVM_MEM_READONLY
         to avoid creating an inconsistent ABI (KVM_MEM_GUEST_MEMFD is not
         writable from userspace, so there would be no way to write to a
         read-only guest_memfd).
    
       - Update documentation for KVM_SW_PROTECTED_VM to make it abundantly
         clear that such VMs are purely for development and testing.
    
       - Limit KVM_SW_PROTECTED_VM guests to the TDP MMU, as the long term
         plan is to support confidential VMs with deterministic private
         memory (SNP and TDX) only in the TDP MMU.
    
       - Fix a bug in a GUEST_MEMFD dirty logging test that caused false
         passes.
    
      x86 fixes:
    
       - Fix missing marking of a guest page as dirty when emulating an
         atomic access.
    
       - Check for mmu_notifier invalidation events before faulting in the
         pfn, and before acquiring mmu_lock, to avoid unnecessary work and
         lock contention with preemptible kernels (including
         CONFIG_PREEMPT_DYNAMIC in non-preemptible mode).
    
       - Disable AMD DebugSwap by default, it breaks VMSA signing and will
         be re-enabled with a better VM creation API in 6.10.
    
       - Do the cache flush of converted pages in svm_register_enc_region()
         before dropping kvm->lock, to avoid a race with unregistering of
         the same region and the consequent use-after-free issue"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
      SEV: disable SEV-ES DebugSwap by default
      KVM: x86/mmu: Retry fault before acquiring mmu_lock if mapping is changing
      KVM: SVM: Flush pages under kvm->lock to fix UAF in svm_register_enc_region()
      KVM: selftests: Add a testcase to verify GUEST_MEMFD and READONLY are exclusive
      KVM: selftests: Create GUEST_MEMFD for relevant invalid flags testcases
      KVM: x86/mmu: Restrict KVM_SW_PROTECTED_VM to the TDP MMU
      KVM: x86: Update KVM_SW_PROTECTED_VM docs to make it clear they're a WIP
      KVM: Make KVM_MEM_GUEST_MEMFD mutually exclusive with KVM_MEM_READONLY
      KVM: x86: Mark target gfn of emulated atomic instruction as dirty
    torvalds committed Mar 10, 2024
    Configuration menu
    Copy the full SHA
    137e0ec View commit details
    Browse the repository at this point in the history
  3. ring-buffer: Fix resetting of shortest_full

    The "shortest_full" variable is used to keep track of the waiter that is
    waiting for the smallest amount on the ring buffer before being woken up.
    When a tasks waits on the ring buffer, it passes in a "full" value that is
    a percentage. 0 means wake up on any data. 1-100 means wake up from 1% to
    100% full buffer.
    
    As all waiters are on the same wait queue, the wake up happens for the
    waiter with the smallest percentage.
    
    The problem is that the smallest_full on the cpu_buffer that stores the
    smallest amount doesn't get reset when all the waiters are woken up. It
    does get reset when the ring buffer is reset (echo > /sys/kernel/tracing/trace).
    
    This means that tasks may be woken up more often then when they want to
    be. Instead, have the shortest_full field get reset just before waking up
    all the tasks. If the tasks wait again, they will update the shortest_full
    before sleeping.
    
    Also add locking around setting of shortest_full in the poll logic, and
    change "work" to "rbwork" to match the variable name for rb_irq_work
    structures that are used in other places.
    
    Link: https://lore.kernel.org/linux-trace-kernel/20240308202431.948914369@goodmis.org
    
    Cc: stable@vger.kernel.org
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: linke li <lilinke99@qq.com>
    Cc: Rabin Vincent <rabin@rab.in>
    Fixes: 2c2b0a7 ("ring-buffer: Add percentage of ring buffer full to wake up reader")
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Mar 10, 2024
    Configuration menu
    Copy the full SHA
    68282dd View commit details
    Browse the repository at this point in the history
  4. tracing: Use .flush() call to wake up readers

    The .release() function does not get called until all readers of a file
    descriptor are finished.
    
    If a thread is blocked on reading a file descriptor in ring_buffer_wait(),
    and another thread closes the file descriptor, it will not wake up the
    other thread as ring_buffer_wake_waiters() is called by .release(), and
    that will not get called until the .read() is finished.
    
    The issue originally showed up in trace-cmd, but the readers are actually
    other processes with their own file descriptors. So calling close() would wake
    up the other tasks because they are blocked on another descriptor then the
    one that was closed(). But there's other wake ups that solve that issue.
    
    When a thread is blocked on a read, it can still hang even when another
    thread closed its descriptor.
    
    This is what the .flush() callback is for. Have the .flush() wake up the
    readers.
    
    Link: https://lore.kernel.org/linux-trace-kernel/20240308202432.107909457@goodmis.org
    
    Cc: stable@vger.kernel.org
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: linke li <lilinke99@qq.com>
    Cc: Rabin Vincent <rabin@rab.in>
    Fixes: f3ddb74 ("tracing: Wake up ring buffer waiters on closing of the file")
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Mar 10, 2024
    Configuration menu
    Copy the full SHA
    e5d7c19 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'phy-fixes3-6.8' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/phy/linux-phy
    
    Pull phy fixes from Vinod Koul:
    
     - fixes for Qualcomm qmp-combo driver for ordering of drm and type-c
       switch registartion due to drivers might not probe defer after having
       registered child devices to avoid triggering a probe deferral loop.
    
       This fixes internal display on Lenovo ThinkPad X13s
    
    * tag 'phy-fixes3-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy:
      phy: qcom-qmp-combo: fix type-c switch registration
      phy: qcom-qmp-combo: fix drm bridge registration
    torvalds committed Mar 10, 2024
    Configuration menu
    Copy the full SHA
    210ee63 View commit details
    Browse the repository at this point in the history
  6. Merge tag 'trace-ring-buffer-v6.8-rc7' of git://git.kernel.org/pub/sc…

    …m/linux/kernel/git/trace/linux-trace
    
    Pull tracing fixes from Steven Rostedt:
    
     - Do not allow large strings (> 4096) as single write to trace_marker
    
       The size of a string written into trace_marker was determined by the
       size of the sub-buffer in the ring buffer. That size is dependent on
       the PAGE_SIZE of the architecture as it can be mapped into user
       space. But on PowerPC, where PAGE_SIZE is 64K, that made the limit of
       the string of writing into trace_marker 64K.
    
       One of the selftests looks at the size of the ring buffer sub-buffers
       and writes that plus more into the trace_marker. The write will take
       what it can and report back what it consumed so that the user space
       application (like echo) will write the rest of the string. The string
       is stored in the ring buffer and can be read via the "trace" or
       "trace_pipe" files.
    
       The reading of the ring buffer uses vsnprintf(), which uses a
       precision "%.*s" to make sure it only reads what is stored in the
       buffer, as a bug could cause the string to be non terminated.
    
       With the combination of the precision change and the PAGE_SIZE of 64K
       allowing huge strings to be added into the ring buffer, plus the test
       that would actually stress that limit, a bug was reported that the
       precision used was too big for "%.*s" as the string was close to 64K
       in size and the max precision of vsnprintf is 32K.
    
       Linus suggested not to have that precision as it could hide a bug if
       the string was again stored without a nul byte.
    
       Another issue that was brought up is that the trace_seq buffer is
       also based on PAGE_SIZE even though it is not tied to the
       architecture limit like the ring buffer sub-buffer is. Having it be
       64K * 2 is simply just too big and wasting memory on systems with 64K
       page sizes. It is now hardcoded to 8K which is what all other
       architectures with 4K PAGE_SIZE has.
    
       Finally, the write to trace_marker is now limited to 4K as there is
       no reason to write larger strings into trace_marker.
    
     - ring_buffer_wait() should not loop.
    
       The ring_buffer_wait() does not have the full context (yet) on if it
       should loop or not. Just exit the loop as soon as its woken up and
       let the callers decide to loop or not (they already do, so it's a bit
       redundant).
    
     - Fix shortest_full field to be the smallest amount in the ring buffer
       that a waiter is waiting for. The "shortest_full" field is updated
       when a new waiter comes in and wants to wait for a smaller amount of
       data in the ring buffer than other waiters. But after all waiters are
       woken up, it's not reset, so if another waiter comes in wanting to
       wait for more data, it will be woken up when the ring buffer has a
       smaller amount from what the previous waiters were waiting for.
    
     - The wake up all waiters on close is incorrectly called frome
       .release() and not from .flush() so it will never wake up any waiters
       as the .release() will not get called until all .read() calls are
       finished. And the wakeup is for the waiters in those .read() calls.
    
    * tag 'trace-ring-buffer-v6.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
      tracing: Use .flush() call to wake up readers
      ring-buffer: Fix resetting of shortest_full
      ring-buffer: Fix waking up ring buffer readers
      tracing: Limit trace_marker writes to just 4K
      tracing: Limit trace_seq size to just 8K and not depend on architecture PAGE_SIZE
      tracing: Remove precision vsnprintf() check from print event
    torvalds committed Mar 10, 2024
    Configuration menu
    Copy the full SHA
    fa4b851 View commit details
    Browse the repository at this point in the history
  7. Linux 6.8

    torvalds committed Mar 10, 2024
    Configuration menu
    Copy the full SHA
    e8f897f View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2024

  1. Merge tag 'v6.8' into v6.8.0-scx1

    Linux 6.8
    Byte-Lab committed Mar 11, 2024
    Configuration menu
    Copy the full SHA
    487bc1c View commit details
    Browse the repository at this point in the history
  2. v6.8.0-scx1

    Signed-off-by: David Vernet <void@manifault.com>
    Byte-Lab committed Mar 11, 2024
    Configuration menu
    Copy the full SHA
    f8df1aa View commit details
    Browse the repository at this point in the history