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

Restore fixes for Darp10 combo-jack #921

Closed
wants to merge 488 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on May 30, 2024

  1. wifi: rtw89: wow: refine WoWLAN flows of HCI interrupts and low power…

    … mode
    
    [ Upstream commit baaf806 ]
    
    After enabling packet offload, the TX will be stuck after resume from
    WoWLAN mode. And the 8852c gets error messages like
    
    rtw89_8852ce 0000:04:00.0: No busy txwd pages available
    rtw89_8852ce 0000:04:00.0: queue 0 txwd 100 is not idle
    rtw89_8852ce 0000:04:00.0: queue 0 txwd 101 is not idle
    rtw89_8852ce 0000:04:00.0: queue 0 txwd 102 is not idle
    rtw89_8852ce 0000:04:00.0: queue 0 txwd 103 is not idle
    
    If suspend/resume many times that firmware will download failed and
    disconnection.
    
    To fix these issues, We removed the rtw89_hci_disable_intr() and
    rtw89_hci_enable_intr() during rtw89_wow_swap_fw() to prevent add packet
    offload can't receive c2h back due to interrupt disable. Only 8852C and
    8922A needs to disable interrupt before downloading fw.
    
    Furthermore, we avoid using low power HCI mode on WoWLAN mode, to prevent
    interrupt enabled, then get interrupt and calculate RXBD mismatched due to
    software RXBD index already reset but hardware RXBD index not yet.
    
    Fixes: 5c12bb6 ("wifi: rtw89: refine packet offload flow")
    Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com>
    Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
    Link: https://msgid.link/20240502022505.28966-3-pkshih@realtek.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Chih-Kang Chang authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ee9afd6 View commit details
    Browse the repository at this point in the history
  2. selftests: ktap_helpers: Make it POSIX-compliant

    [ Upstream commit 45d5a2b ]
    
    There are a couple uses of bash specific syntax in the script. Change
    them to the equivalent POSIX syntax. This doesn't change functionality
    and allows non-bash test scripts to make use of these helpers.
    
    Reported-by: Mike Looijmans <mike.looijmans@topic.nl>
    Closes: https://lore.kernel.org/all/efae4037-c22a-40be-8ba9-7c1c12ece042@topic.nl/
    Fixes: 2dd0b5a ("selftests: ktap_helpers: Add a helper to finish the test")
    Fixes: 14571ab ("kselftest: Add new test for detecting unprobed Devicetree devices")
    Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
    Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nfraprado authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    f0e7830 View commit details
    Browse the repository at this point in the history
  3. selftests: power_supply: Make it POSIX-compliant

    [ Upstream commit 5b1c8b1 ]
    
    There is one use of bash specific syntax in the script. Change it to the
    equivalent POSIX syntax. This doesn't change functionality and allows
    the test to be run on shells other than bash.
    
    Reported-by: Mike Looijmans <mike.looijmans@topic.nl>
    Closes: https://lore.kernel.org/all/efae4037-c22a-40be-8ba9-7c1c12ece042@topic.nl/
    Fixes: 4a679c5 ("selftests: Add test to verify power supply properties")
    Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
    Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nfraprado authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    21ed1bb View commit details
    Browse the repository at this point in the history
  4. selftests/binderfs: use the Makefile's rules, not Make's implicit rules

    [ Upstream commit 019baf6 ]
    
    First of all, in order to build with clang at all, one must first apply
    Valentin Obst's build fix for LLVM [1]. Once that is done, then when
    building with clang, via:
    
        make LLVM=1 -C tools/testing/selftests
    
    ...the following error occurs:
    
       clang: error: cannot specify -o when generating multiple output files
    
    This is because clang, unlike gcc, won't accept invocations of this
    form:
    
        clang file1.c header2.h
    
    While trying to fix this, I noticed that:
    
    a) selftests/lib.mk already avoids the problem, and
    
    b) The binderfs Makefile indavertently bypasses the selftests/lib.mk
    build system, and quitely uses Make's implicit build rules for .c files
    instead.
    
    The Makefile attempts to set up both a dependency and a source file,
    neither of which was needed, because lib.mk is able to automatically
    handle both. This line:
    
        binderfs_test: binderfs_test.c
    
    ...causes Make's implicit rules to run, which builds binderfs_test
    without ever looking at lib.mk.
    
    Fix this by simply deleting the "binderfs_test:" Makefile target and
    letting lib.mk handle it instead.
    
    [1] https://lore.kernel.org/all/20240329-selftests-libmk-llvm-rfc-v1-1-2f9ed7d1c49f@valentinobst.de/
    
    Fixes: 6e29225 ("binderfs: port tests to test harness infrastructure")
    Cc: Christian Brauner <brauner@kernel.org>
    Signed-off-by: John Hubbard <jhubbard@nvidia.com>
    Reviewed-by: Christian Brauner <brauner@kernel.org>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    johnhubbard authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    de5f9ba View commit details
    Browse the repository at this point in the history
  5. selftests/resctrl: fix clang build failure: use LOCAL_HDRS

    [ Upstream commit d8171aa ]
    
    First of all, in order to build with clang at all, one must first apply
    Valentin Obst's build fix for LLVM [1]. Once that is done, then when
    building with clang, via:
    
        make LLVM=1 -C tools/testing/selftests
    
    ...the following error occurs:
    
       clang: error: cannot specify -o when generating multiple output files
    
    This is because clang, unlike gcc, won't accept invocations of this
    form:
    
        clang file1.c header2.h
    
    Fix this by using selftests/lib.mk facilities for tracking local header
    file dependencies: add them to LOCAL_HDRS, leaving only the .c files to
    be passed to the compiler.
    
    [1] https://lore.kernel.org/all/20240329-selftests-libmk-llvm-rfc-v1-1-2f9ed7d1c49f@valentinobst.de/
    
    Fixes: 8e289f4 ("selftests/resctrl: Add resctrl.h into build deps")
    Cc: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Signed-off-by: John Hubbard <jhubbard@nvidia.com>
    Acked-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    johnhubbard authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    28ec68c View commit details
    Browse the repository at this point in the history
  6. selftests: default to host arch for LLVM builds

    [ Upstream commit d4e6fbd ]
    
    Align the behavior for gcc and clang builds by interpreting unset
    `ARCH` and `CROSS_COMPILE` variables in `LLVM` builds as a sign that the
    user wants to build for the host architecture.
    
    This patch preserves the properties that setting the `ARCH` variable to an
    unknown value will trigger an error that complains about insufficient
    information, and that a set `CROSS_COMPILE` variable will override the
    target triple that is determined based on presence/absence of `ARCH`.
    
    When compiling with clang, i.e., `LLVM` is set, an unset `ARCH` variable in
    combination with an unset `CROSS_COMPILE` variable, i.e., compiling for
    the host architecture, leads to compilation failures since `lib.mk` can
    not determine the clang target triple. In this case, the following error
    message is displayed for each subsystem that does not set `ARCH` in its
    own Makefile before including `lib.mk` (lines wrapped at 75 chrs):
    
      make[1]: Entering directory '/mnt/build/linux/tools/testing/selftests/
       sysctl'
      ../lib.mk:33: *** Specify CROSS_COMPILE or add '--target=' option to
       lib.mk.  Stop.
      make[1]: Leaving directory '/mnt/build/linux/tools/testing/selftests/
       sysctl'
    
    In the same scenario a gcc build would default to the host architecture,
    i.e., it would use plain `gcc`.
    
    Fixes: 795285e ("selftests: Fix clang cross compilation")
    Reviewed-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Valentin Obst <kernel@valentinobst.de>
    Reviewed-by: John Hubbard <jhubbard@nvidia.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Valentin Obst authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a9b783a View commit details
    Browse the repository at this point in the history
  7. kunit: Fix kthread reference

    [ Upstream commit f8aa1b9 ]
    
    There is a race condition when a kthread finishes after the deadline and
    before the call to kthread_stop(), which may lead to use after free.
    
    Cc: Brendan Higgins <brendanhiggins@google.com>
    Cc: Shuah Khan <skhan@linuxfoundation.org>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Fixes: adf5054 ("kunit: fix UAF when run kfence test case test_gfpzero")
    Reviewed-by: David Gow <davidgow@google.com>
    Reviewed-by: Rae Moar <rmoar@google.com>
    Signed-off-by: Mickaël Salaün <mic@digikod.net>
    Link: https://lore.kernel.org/r/20240408074625.65017-3-mic@digikod.net
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    l0kod authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    b0b755c View commit details
    Browse the repository at this point in the history
  8. kunit: unregister the device on error

    [ Upstream commit fabd480 ]
    
    kunit_init_device() should unregister the device on bus register error,
    but mistakenly it tries to unregister the bus.
    
    Unregister the device instead of the bus.
    
    Signed-off-by: Wander Lairson Costa <wander@redhat.com>
    Fixes: d03c720 ("kunit: Add APIs for managing devices")
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    walac authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    dfd7f89 View commit details
    Browse the repository at this point in the history
  9. kunit: bail out early in __kunit_test_suites_init() if there are no s…

    …uites to test
    
    [ Upstream commit 5496b9b ]
    
    Commit c72a870 added a mutex to prevent kunit tests from running
    concurrently.  Unfortunately that mutex gets locked during module load
    regardless of whether the module actually has any kunit tests.  This
    causes a problem for kunit tests that might need to load other kernel
    modules (e.g. gss_krb5_test loading the camellia module).
    
    So check to see if there are actually any tests to run before locking
    the kunit_run_lock mutex.
    
    Fixes: c72a870 ("kunit: add ability to run tests after boot using debugfs")
    Reported-by: Nico Pache <npache@redhat.com>
    Signed-off-by: Scott Mayhew <smayhew@redhat.com>
    Reviewed-by: Rae Moar <rmoar@google.com>
    Reviewed-by: David Gow <davidgow@google.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    scottmayhew authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    107bbcb View commit details
    Browse the repository at this point in the history
  10. selftests/bpf: Fix pointer arithmetic in test_xdp_do_redirect

    [ Upstream commit e549b39 ]
    
    Cast operation has a higher precedence than addition. The code here
    wants to zero the 2nd half of the 64-bit metadata, but due to a pointer
    arithmetic mistake, it writes the zero at offset 16 instead.
    
    Just adding parentheses around "data + 4" would fix this, but I think
    this will be slightly better readable with array syntax.
    
    I was unable to test this with tools/testing/selftests/bpf/vmtest.sh,
    because my glibc is newer than glibc in the provided VM image.
    So I just checked the difference in the compiled code.
    objdump -S tools/testing/selftests/bpf/xdp_do_redirect.test.o:
      -	*((__u32 *)data) = 0x42; /* metadata test value */
      +	((__u32 *)data)[0] = 0x42; /* metadata test value */
            be7:	48 8d 85 30 fc ff ff 	lea    -0x3d0(%rbp),%rax
            bee:	c7 00 42 00 00 00    	movl   $0x42,(%rax)
      -	*((__u32 *)data + 4) = 0;
      +	((__u32 *)data)[1] = 0;
            bf4:	48 8d 85 30 fc ff ff 	lea    -0x3d0(%rbp),%rax
      -     bfb:	48 83 c0 10          	add    $0x10,%rax
      +     bfb:	48 83 c0 04          	add    $0x4,%rax
            bff:	c7 00 00 00 00 00    	movl   $0x0,(%rax)
    
    Fixes: 5640b6d ("selftests/bpf: fix "metadata marker" getting overwritten by the netstack")
    Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com>
    Link: https://lore.kernel.org/bpf/20240506145023.214248-1-mschmidt@redhat.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    michich authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6dfbf70 View commit details
    Browse the repository at this point in the history
  11. HID: intel-ish-hid: ipc: Add check for pci_alloc_irq_vectors

    [ Upstream commit 6baa452 ]
    
    Add a check for the return value of pci_alloc_irq_vectors() and return
    error if it fails.
    
    [jkosina@suse.com: reworded changelog based on Srinivas' suggestion]
    Fixes: 74fbc7d ("HID: intel-ish-hid: add MSI interrupt support")
    Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
    Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Chen Ni authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6412366 View commit details
    Browse the repository at this point in the history
  12. scsi: bfa: Ensure the copied buf is NUL terminated

    [ Upstream commit 13d0cec ]
    
    Currently, we allocate a nbytes-sized kernel buffer and copy nbytes from
    userspace to that buffer. Later, we use sscanf on this buffer but we don't
    ensure that the string is terminated inside the buffer, this can lead to
    OOB read when using sscanf. Fix this issue by using memdup_user_nul instead
    of memdup_user.
    
    Fixes: 9f30b67 ("bfa: replace 2 kzalloc/copy_from_user by memdup_user")
    Signed-off-by: Bui Quang Minh <minhquangbui99@gmail.com>
    Link: https://lore.kernel.org/r/20240424-fix-oob-read-v2-3-f1f1b53a10f4@gmail.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    minhbq-99 authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ecb7620 View commit details
    Browse the repository at this point in the history
  13. scsi: qedf: Ensure the copied buf is NUL terminated

    [ Upstream commit d0184a3 ]
    
    Currently, we allocate a count-sized kernel buffer and copy count from
    userspace to that buffer. Later, we use kstrtouint on this buffer but we
    don't ensure that the string is terminated inside the buffer, this can
    lead to OOB read when using kstrtouint. Fix this issue by using
    memdup_user_nul instead of memdup_user.
    
    Fixes: 61d8658 ("scsi: qedf: Add QLogic FastLinQ offload FCoE driver framework.")
    Signed-off-by: Bui Quang Minh <minhquangbui99@gmail.com>
    Link: https://lore.kernel.org/r/20240424-fix-oob-read-v2-4-f1f1b53a10f4@gmail.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    minhbq-99 authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    177f43c View commit details
    Browse the repository at this point in the history
  14. scsi: qla2xxx: Fix debugfs output for fw_resource_count

    [ Upstream commit 998d09c ]
    
    DebugFS output for fw_resource_count shows:
    
    estimate exchange used[0] high water limit [1945] n        estimate iocb2 used [0] high water limit [5141]
            estimate exchange2 used[0] high water limit [1945]
    
    Which shows incorrect display due to missing newline in seq_print().
    
    [mkp: fix checkpatch warning about space before newline]
    
    Fixes: 5f63a16 ("scsi: qla2xxx: Fix exchange oversubscription for management commands")
    Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com>
    Link: https://lore.kernel.org/r/20240426020056.3639406-1-himanshu.madhani@oracle.com
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    hmadhani authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ed9dc4d View commit details
    Browse the repository at this point in the history
  15. gpio: nuvoton: Fix sgpio irq handle error

    [ Upstream commit 7f45fe2 ]
    
    The generic_handle_domain_irq() function calls irq_resolve_mapping().
    Thus delete a duplicative irq_find_mapping() call
    so that a stack trace and an RCU stall will be avoided.
    
    Fixes: c4f8457 ("gpio: nuvoton: Add Nuvoton NPCM sgpio driver")
    Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
    Link: https://lore.kernel.org/r/20240506064244.1645922-1-JJLIU0@nuvoton.com
    Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    jimliu3 authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6408024 View commit details
    Browse the repository at this point in the history
  16. x86/numa: Fix SRAT lookup of CFMWS ranges with numa_fill_memblks()

    [ Upstream commit f9f67e5 ]
    
    For configurations that have the kconfig option NUMA_KEEP_MEMINFO
    disabled, numa_fill_memblks() only returns with NUMA_NO_MEMBLK (-1).
    SRAT lookup fails then because an existing SRAT memory range cannot be
    found for a CFMWS address range. This causes the addition of a
    duplicate numa_memblk with a different node id and a subsequent page
    fault and kernel crash during boot.
    
    Fix this by making numa_fill_memblks() always available regardless of
    NUMA_KEEP_MEMINFO.
    
    As Dan suggested, the fix is implemented to remove numa_fill_memblks()
    from sparsemem.h and alos using __weak for the function.
    
    Note that the issue was initially introduced with [1]. But since
    phys_to_target_node() was originally used that returned the valid node
    0, an additional numa_memblk was not added. Though, the node id was
    wrong too, a message is seen then in the logs:
    
     kernel/numa.c:  pr_info_once("Unknown target node for memory at 0x%llx, assuming node 0\n",
    
    [1] commit fd49f99 ("ACPI: NUMA: Add a node and memblk for each
        CFMWS not in SRAT")
    
    Suggested-by: Dan Williams <dan.j.williams@intel.com>
    Link: https://lore.kernel.org/all/66271b0072317_69102944c@dwillia2-xfh.jf.intel.com.notmuch/
    Fixes: 8f10046 ("ACPI/NUMA: Apply SRAT proximity domain to entire CFMWS window")
    Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Reviewed-by: Alison Schofield <alison.schofield@intel.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Robert Richter <rrichter@amd.com>
    Acked-by: Borislav Petkov (AMD) <bp@alien8.de>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Robert Richter authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    b6ab028 View commit details
    Browse the repository at this point in the history
  17. wifi: mwl8k: initialize cmd->addr[] properly

    [ Upstream commit 1d60eab ]
    
    This loop is supposed to copy the mac address to cmd->addr but the
    i++ increment is missing so it copies everything to cmd->addr[0] and
    only the last address is recorded.
    
    Fixes: 22bedad ("net: convert multicast list to list_head")
    Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
    Signed-off-by: Kalle Valo <kvalo@kernel.org>
    Link: https://msgid.link/b788be9a-15f5-4cca-a3fe-79df4c8ce7b2@moroto.mountain
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Dan Carpenter authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    2abef3e View commit details
    Browse the repository at this point in the history
  18. HID: amd_sfh: Handle "no sensors" in PM operations

    [ Upstream commit 077e3e3 ]
    
    Resume or suspend each sensor device based on the num_hid_devices.
    Therefore, add a check to handle the special case where no sensors are
    present.
    
    Fixes: 93ce5e0 ("HID: amd_sfh: Implement SFH1.1 functionality")
    Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Basavaraj Natikar authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    f8eadc9 View commit details
    Browse the repository at this point in the history
  19. btrfs: set start on clone before calling copy_extent_buffer_full

    [ Upstream commit 53e2415 ]
    
    Our subpage testing started hanging on generic/560 and I bisected it
    down to 1cab137 ("btrfs: reuse cloned extent buffer during
    fiemap to avoid re-allocations").  This is subtle because we use
    eb->start to figure out where in the folio we're copying to when we're
    subpage, as our ->start may refer to an area inside of the folio.
    
    For example, assume a 16K page size machine with a 4K node size, and
    assume that we already have a cloned extent buffer when we cloned the
    previous search.
    
    copy_extent_buffer_full() will do the following when copying the extent
    buffer path->nodes[0] (src) into cloned (dest):
    
      src->start = 8k; // this is the new leaf we're cloning
      cloned->start = 4k; // this is left over from the previous clone
    
      src_addr = folio_address(src->folios[0]);
      dest_addr = folio_address(dest->folios[0]);
    
      memcpy(dest_addr + get_eb_offset_in_folio(dst, 0),
    	 src_addr + get_eb_offset_in_folio(src, 0), src->len);
    
    Now get_eb_offset_in_folio() is where the problems occur, because for
    sub-pagesize blocksize we can have multiple eb's per folio, the code for
    this is as follows
    
      size_t get_eb_offset_in_folio(eb, offset) {
    	  return (eb->start + offset & (folio_size(eb->folio[0]) - 1));
      }
    
    So in the above example we are copying into offset 4K inside the folio.
    However once we update cloned->start to 8K to match the src the math for
    get_eb_offset_in_folio() changes, and any subsequent reads (i.e.
    btrfs_item_key_to_cpu()) will start reading from the offset 8K instead
    of 4K where we copied to, giving us garbage.
    
    Fix this by setting start before we co copy_extent_buffer_full() to make
    sure that we're copying into the same offset inside of the folio that we
    will read from later.
    
    All other sites of copy_extent_buffer_full() are correct because we
    either set ->start beforehand or we simply don't change it in the case
    of the tree-log usage.
    
    With this fix we now pass generic/560 on our subpage tests.
    
    Fixes: 1cab137 ("btrfs: reuse cloned extent buffer during fiemap to avoid re-allocations")
    Reviewed-by: Filipe Manana <fdmanana@suse.com>
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: David Sterba <dsterba@suse.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    josefbacik authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    381abc4 View commit details
    Browse the repository at this point in the history
  20. usb: aqc111: stop lying about skb->truesize

    [ Upstream commit 9aad6e4 ]
    
    Some usb drivers try to set small skb->truesize and break
    core networking stacks.
    
    I replace one skb_clone() by an allocation of a fresh
    and small skb, to get minimally sized skbs, like we did
    in commit 1e2c611 ("net: cdc_ncm: reduce skb truesize
    in rx path") and 4ce62d5 ("net: usb: ax88179_178a:
    stop lying about skb->truesize")
    
    Fixes: 361459c ("net: usb: aqc111: Implement RX data path")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Link: https://lore.kernel.org/r/20240506135546.3641185-1-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Eric Dumazet authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    17a562c View commit details
    Browse the repository at this point in the history
  21. net: usb: sr9700: stop lying about skb->truesize

    [ Upstream commit 05417aa ]
    
    Some usb drivers set small skb->truesize and break
    core networking stacks.
    
    In this patch, I removed one of the skb->truesize override.
    
    I also replaced one skb_clone() by an allocation of a fresh
    and small skb, to get minimally sized skbs, like we did
    in commit 1e2c611 ("net: cdc_ncm: reduce skb truesize
    in rx path") and 4ce62d5 ("net: usb: ax88179_178a:
    stop lying about skb->truesize")
    
    Fixes: c9b3745 ("USB2NET : SR9700 : One chip USB 1.1 USB2NET SR9700Device Driver Support")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Link: https://lore.kernel.org/r/20240506143939.3673865-1-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Eric Dumazet authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c21d6d2 View commit details
    Browse the repository at this point in the history
  22. m68k: Fix spinlock race in kernel thread creation

    [ Upstream commit da89ce4 ]
    
    Context switching does take care to retain the correct lock owner across
    the switch from 'prev' to 'next' tasks.  This does rely on interrupts
    remaining disabled for the entire duration of the switch.
    
    This condition is guaranteed for normal process creation and context
    switching between already running processes, because both 'prev' and
    'next' already have interrupts disabled in their saved copies of the
    status register.
    
    The situation is different for newly created kernel threads.  The status
    register is set to PS_S in copy_thread(), which does leave the IPL at 0.
    Upon restoring the 'next' thread's status register in switch_to() aka
    resume(), interrupts then become enabled prematurely.  resume() then
    returns via ret_from_kernel_thread() and schedule_tail() where run queue
    lock is released (see finish_task_switch() and finish_lock_switch()).
    
    A timer interrupt calling scheduler_tick() before the lock is released
    in finish_task_switch() will find the lock already taken, with the
    current task as lock owner.  This causes a spinlock recursion warning as
    reported by Guenter Roeck.
    
    As far as I can ascertain, this race has been opened in commit
    533e690 ("m68k: split ret_from_fork(), simplify kernel_thread()")
    but I haven't done a detailed study of kernel history so it may well
    predate that commit.
    
    Interrupts cannot be disabled in the saved status register copy for
    kernel threads (init will complain about interrupts disabled when
    finally starting user space).  Disable interrupts temporarily when
    switching the tasks' register sets in resume().
    
    Note that a simple oriw 0x700,%sr after restoring sr is not enough here
    - this leaves enough of a race for the 'spinlock recursion' warning to
    still be observed.
    
    Tested on ARAnyM and qemu (Quadra 800 emulation).
    
    Fixes: 533e690 ("m68k: split ret_from_fork(), simplify kernel_thread()")
    Reported-by: Guenter Roeck <linux@roeck-us.net>
    Closes: https://lore.kernel.org/all/07811b26-677c-4d05-aeb4-996cd880b789@roeck-us.net
    Signed-off-by: Michael Schmitz <schmitzmic@gmail.com>
    Tested-by: Guenter Roeck <linux@roeck-us.net>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/20240411033631.16335-1-schmitzmic@gmail.com
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Michael Schmitz authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    95f00ca View commit details
    Browse the repository at this point in the history
  23. m68k: mac: Fix reboot hang on Mac IIci

    [ Upstream commit 265a3b3 ]
    
    Calling mac_reset() on a Mac IIci does reset the system, but what
    follows is a POST failure that requires a manual reset to resolve.
    Avoid that by using the 68030 asm implementation instead of the C
    implementation.
    
    Apparently the SE/30 has a similar problem as it has used the asm
    implementation since before git. This patch extends that solution to
    other systems with a similar ROM.
    
    After this patch, the only systems still using the C implementation are
    68040 systems where adb_type is either MAC_ADB_IOP or MAC_ADB_II. This
    implies a 1 MiB Quadra ROM.
    
    This now includes the Quadra 900/950, which previously fell through to
    the "should never get here" catch-all.
    
    Reported-and-tested-by: Stan Johnson <userm57@yahoo.com>
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Finn Thain <fthain@linux-m68k.org>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/480ebd1249d229c6dc1f3f1c6d599b8505483fd8.1714797072.git.fthain@linux-m68k.org
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    fthain authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    bde6383 View commit details
    Browse the repository at this point in the history
  24. m68k: Move ARCH_HAS_CPU_CACHE_ALIASING

    [ Upstream commit c66b7b9 ]
    
    Move the recently added ARCH_HAS_CPU_CACHE_ALIASING to restore
    alphabetical sort order.
    
    Fixes: 8690bbc ("Introduce cpu_dcache_is_aliasing() across all architectures")
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Link: https://lore.kernel.org/r/4574ad6cc1117e4b5d29812c165bf7f6e5b60773.1714978406.git.geert@linux-m68k.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    geertu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0b10da6 View commit details
    Browse the repository at this point in the history
  25. selftests: Compile kselftest headers with -D_GNU_SOURCE

    [ Upstream commit daef47b ]
    
    Add the -D_GNU_SOURCE flag to KHDR_INCLUDES so that it is defined in a
    central location.
    
    Commit 8092162 ("selftests/harness: remove use of LINE_MAX")
    introduced asprintf into kselftest_harness.h, which is a GNU extension
    and needs _GNU_SOURCE to either be defined prior to including headers or
    with the -D_GNU_SOURCE flag passed to the compiler.
    
    Fixed up commit log:
    Shuah Khan <skhan@linuxfoundation.org>
    
    Fixes: 8092162 ("selftests/harness: remove use of LINE_MAX")
    Reported-by: kernel test robot <oliver.sang@intel.com>
    Closes: https://lore.kernel.org/oe-lkp/202404301040.3bea5782-oliver.sang@intel.com
    Signed-off-by: Edward Liaw <edliaw@google.com>
    Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
    Reviewed-by: Mark Brown <broonie@kernel.org>
    Reviewed-by: John Hubbard <jhubbard@nvidia.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    edliaw authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0317af7 View commit details
    Browse the repository at this point in the history
  26. selftests/sgx: Include KHDR_INCLUDES in Makefile

    [ Upstream commit 2c3b8f8 ]
    
    Add KHDR_INCLUDES to the CFLAGS to pull in the kselftest harness
    dependencies (-D_GNU_SOURCE).
    
    Also, remove redefinitions of _GNU_SOURCE in the source code.
    
    Fixes: 8092162 ("selftests/harness: remove use of LINE_MAX")
    Reported-by: kernel test robot <oliver.sang@intel.com>
    Closes: https://lore.kernel.org/oe-lkp/202404301040.3bea5782-oliver.sang@intel.com
    Signed-off-by: Edward Liaw <edliaw@google.com>
    Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
    Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
    Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
    Tested-by: Jarkko Sakkinen <jarkko@kernel.org>
    Reviewed-by: John Hubbard <jhubbard@nvidia.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    edliaw authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    efc40e6 View commit details
    Browse the repository at this point in the history
  27. dm-delay: fix workqueue delay_timer race

    [ Upstream commit 8d24790 ]
    
    delay_timer could be pending when delay_dtr() is called. It needs to be
    shut down before kdelayd_wq is destroyed, so it won't try queueing more
    work to kdelayd_wq while that's getting destroyed.
    
    Also the del_timer_sync() call in delay_presuspend() doesn't protect
    against the timer getting immediately rearmed by the queued call to
    flush_delayed_bios(), but there's no real harm if that does happen.
    timer_delete() is less work, and is basically just as likely to stop a
    pointless call to flush_delayed_bios().
    
    Fixes: 26b9f22 ("dm: delay target")
    Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    bmarzins authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    d23afe0 View commit details
    Browse the repository at this point in the history
  28. dm-delay: fix hung task introduced by kthread mode

    [ Upstream commit d14646f ]
    
    If the worker thread is not woken due to a bio, then it is not woken at
    all. This causes the hung task check to trigger. This occurs, for
    instance, when no bios are submitted. Also when a delay of 0 is
    configured, delay_bio() returns without waking the worker.
    
    Prevent the hung task check from triggering by creating the thread with
    kthread_run() instead of using kthread_create() directly.
    
    Fixes: 70bbeb2 ("dm delay: for short delays, use kthread instead of timers and wq")
    Signed-off-by: Joel Colledge <joel.colledge@linbit.com>
    Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    JoelColledge authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    aa9d9cb View commit details
    Browse the repository at this point in the history
  29. dm-delay: fix max_delay calculations

    [ Upstream commit 64eb88d ]
    
    delay_ctr() pointlessly compared max_delay in cases where multiple delay
    classes were initialized identically. Also, when write delays were
    configured different than read delays, delay_ctr() never compared their
    value against max_delay. Fix these issues.
    
    Fixes: 70bbeb2 ("dm delay: for short delays, use kthread instead of timers and wq")
    Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    bmarzins authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ff499d5 View commit details
    Browse the repository at this point in the history
  30. ptp: ocp: fix DPLL functions

    [ Upstream commit a2c7897 ]
    
    In ptp_ocp driver pin actions assume sma_nr starts with 1, but for DPLL
    subsystem callback 0-based index was used. Fix it providing proper index.
    
    Fixes: 09eeb3a ("ptp_ocp: implement DPLL ops")
    Signed-off-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
    Link: https://lore.kernel.org/r/20240508132111.11545-1-vadim.fedorenko@linux.dev
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Vadim Fedorenko authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c243789 View commit details
    Browse the repository at this point in the history
  31. net: ipv6: fix wrong start position when receive hop-by-hop fragment

    [ Upstream commit 1cd354f ]
    
    In IPv6, ipv6_rcv_core will parse the hop-by-hop type extension header and increase skb->transport_header by one extension header length.
    But if there are more other extension headers like fragment header at this time, the skb->transport_header points to the second extension header,
    not the transport layer header or the first extension header.
    
    This will result in the start and nexthdrp variable not pointing to the same position in ipv6frag_thdr_trunced,
    and ipv6_skip_exthdr returning incorrect offset and frag_off.Sometimes,the length of the last sharded packet is smaller than the calculated incorrect offset, resulting in packet loss.
    We can use network header to offset and calculate the correct position to solve this problem.
    
    Fixes: 9d9e937 (ipv6/netfilter: Discard first fragment not including all headers)
    Signed-off-by: Gao Xingwang <gaoxingwang1@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    gaoxingwang authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0fe61cf View commit details
    Browse the repository at this point in the history
  32. eth: sungem: remove .ndo_poll_controller to avoid deadlocks

    [ Upstream commit ac0a230 ]
    
    Erhard reports netpoll warnings from sungem:
    
      netpoll_send_skb_on_dev(): eth0 enabled interrupts in poll (gem_start_xmit+0x0/0x398)
      WARNING: CPU: 1 PID: 1 at net/core/netpoll.c:370 netpoll_send_skb+0x1fc/0x20c
    
    gem_poll_controller() disables interrupts, which may sleep.
    We can't sleep in netpoll, it has interrupts disabled completely.
    Strangely, gem_poll_controller() doesn't even poll the completions,
    and instead acts as if an interrupt has fired so it just schedules
    NAPI and exits. None of this has been necessary for years, since
    netpoll invokes NAPI directly.
    
    Fixes: fe09bb6 ("sungem: Spring cleaning and GRO support")
    Reported-and-tested-by: Erhard Furtner <erhard_f@mailbox.org>
    Link: https://lore.kernel.org/all/20240428125306.2c3080ef@legion
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Link: https://lore.kernel.org/r/20240508134504.3560956-1-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    kuba-moo authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6400d20 View commit details
    Browse the repository at this point in the history
  33. selftests: net: add missing config for amt.sh

    [ Upstream commit c499fe9 ]
    
    Test needs IPv6 multicast. smcroute currently crashes when trying
    to install a route in a kernel without IPv6 multicast.
    
    Fixes: c08e8ba ("selftests: add amt interface selftest script")
    Link: https://lore.kernel.org/r/20240509161919.3939966-1-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    kuba-moo authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    8893b43 View commit details
    Browse the repository at this point in the history
  34. selftests: net: move amt to socat for better compatibility

    [ Upstream commit 4c639b6 ]
    
    The test seems to expect that nc will exit after the first
    received message. This is not the case with Ncat 7.94.
    There are multiple versions of nc out there, switch
    to socat for better compatibility.
    
    Tell socat to exit after 128 bytes and pad the message.
    
    Since the test sets -e make sure we don't set exit code
    (|| true) and print the pass / fail rather then silently
    moving over the test and just setting non-zero exit code
    with no output indicating what failed.
    
    Fixes: c08e8ba ("selftests: add amt interface selftest script")
    Acked-by: Paolo Abeni<pabeni@redhat.com>
    Tested-by: Taehee Yoo <ap420073@gmail.com>
    Link: https://lore.kernel.org/r/20240509161952.3940476-1-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    kuba-moo authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    09fb14d View commit details
    Browse the repository at this point in the history
  35. net: ethernet: mediatek: split tx and rx fields in mtk_soc_data struct

    [ Upstream commit ecb51fa ]
    
    Split tx and rx fields in mtk_soc_data struct. This is a preliminary
    patch to roll back to ADMAv1 for MT7986 and MT7981 SoC in order to fix a
    hw hang if the device receives a corrupted packet when using ADMAv2.0.
    
    Fixes: 197c9e9 ("net: ethernet: mtk_eth_soc: introduce support for mt7986 chipset")
    Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
    Signed-off-by: Daniel Golle <daniel@makrotopia.org>
    Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
    Link: https://lore.kernel.org/r/70a799b1f060ec2f57883e88ccb420ac0fb0abb5.1715164770.git.daniel@makrotopia.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    LorenzoBianconi authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    079ff14 View commit details
    Browse the repository at this point in the history
  36. net: ethernet: mediatek: use ADMAv1 instead of ADMAv2.0 on MT7981 and…

    … MT7986
    
    [ Upstream commit 5e69ff8 ]
    
    ADMAv2.0 is plagued by RX hangs which can't easily detected and happen upon
    receival of a corrupted Ethernet frame.
    
    Use ADMAv1 instead which is also still present and usable, and doesn't
    suffer from that problem.
    
    Fixes: 197c9e9 ("net: ethernet: mtk_eth_soc: introduce support for mt7986 chipset")
    Co-developed-by: Lorenzo Bianconi <lorenzo@kernel.org>
    Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
    Signed-off-by: Daniel Golle <daniel@makrotopia.org>
    Link: https://lore.kernel.org/r/57cef74bbd0c243366ad1ff4221e3f72f437ec80.1715164770.git.daniel@makrotopia.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    dangowrt authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    18523fc View commit details
    Browse the repository at this point in the history
  37. ice: Fix package download algorithm

    [ Upstream commit 6d51d44 ]
    
    Previously, the driver assumed that all signature segments would contain
    one or more buffers to download. In the future, there will be signature
    segments that will contain no buffers to download.
    
    Correct download flow to allow for signature segments that have zero
    download buffers and skip the download in this case.
    
    Fixes: 3cbdb03 ("ice: Add support for E830 DDP package segment")
    Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
    Signed-off-by: Dan Nowlin <dan.nowlin@intel.com>
    Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com>
    Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
    Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Link: https://lore.kernel.org/r/20240508171908.2760776-1-anthony.l.nguyen@intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    DanNowlin authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    229a944 View commit details
    Browse the repository at this point in the history
  38. net: ethernet: cortina: Locking fixes

    [ Upstream commit 8125528 ]
    
    This fixes a probably long standing problem in the Cortina
    Gemini ethernet driver: there are some paths in the code
    where the IRQ registers are written without taking the proper
    locks.
    
    Fixes: 4d5ae32 ("net: ethernet: Add a driver for Gemini gigabit ethernet")
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Link: https://lore.kernel.org/r/20240509-gemini-ethernet-locking-v1-1-afd00a528b95@linaro.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    linusw authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    7688fc5 View commit details
    Browse the repository at this point in the history
  39. af_unix: Fix data races in unix_release_sock/unix_stream_sendmsg

    [ Upstream commit 540bf24 ]
    
    A data-race condition has been identified in af_unix. In one data path,
    the write function unix_release_sock() atomically writes to
    sk->sk_shutdown using WRITE_ONCE. However, on the reader side,
    unix_stream_sendmsg() does not read it atomically. Consequently, this
    issue is causing the following KCSAN splat to occur:
    
    	BUG: KCSAN: data-race in unix_release_sock / unix_stream_sendmsg
    
    	write (marked) to 0xffff88867256ddbb of 1 bytes by task 7270 on cpu 28:
    	unix_release_sock (net/unix/af_unix.c:640)
    	unix_release (net/unix/af_unix.c:1050)
    	sock_close (net/socket.c:659 net/socket.c:1421)
    	__fput (fs/file_table.c:422)
    	__fput_sync (fs/file_table.c:508)
    	__se_sys_close (fs/open.c:1559 fs/open.c:1541)
    	__x64_sys_close (fs/open.c:1541)
    	x64_sys_call (arch/x86/entry/syscall_64.c:33)
    	do_syscall_64 (arch/x86/entry/common.c:?)
    	entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
    
    	read to 0xffff88867256ddbb of 1 bytes by task 989 on cpu 14:
    	unix_stream_sendmsg (net/unix/af_unix.c:2273)
    	__sock_sendmsg (net/socket.c:730 net/socket.c:745)
    	____sys_sendmsg (net/socket.c:2584)
    	__sys_sendmmsg (net/socket.c:2638 net/socket.c:2724)
    	__x64_sys_sendmmsg (net/socket.c:2753 net/socket.c:2750 net/socket.c:2750)
    	x64_sys_call (arch/x86/entry/syscall_64.c:33)
    	do_syscall_64 (arch/x86/entry/common.c:?)
    	entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
    
    	value changed: 0x01 -> 0x03
    
    The line numbers are related to commit dd5a440 ("Linux 6.9-rc7").
    
    Commit e1d09c2 ("af_unix: Fix data races around sk->sk_shutdown.")
    addressed a comparable issue in the past regarding sk->sk_shutdown.
    However, it overlooked resolving this particular data path.
    This patch only offending unix_stream_sendmsg() function, since the
    other reads seem to be protected by unix_state_lock() as discussed in
    Link: https://lore.kernel.org/all/20240508173324.53565-1-kuniyu@amazon.com/
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Signed-off-by: Breno Leitao <leitao@debian.org>
    Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Link: https://lore.kernel.org/r/20240509081459.2807828-1-leitao@debian.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    leitao authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a52fa2a View commit details
    Browse the repository at this point in the history
  40. net: usb: smsc95xx: stop lying about skb->truesize

    [ Upstream commit d50729f ]
    
    Some usb drivers try to set small skb->truesize and break
    core networking stacks.
    
    In this patch, I removed one of the skb->truesize override.
    
    I also replaced one skb_clone() by an allocation of a fresh
    and small skb, to get minimally sized skbs, like we did
    in commit 1e2c611 ("net: cdc_ncm: reduce skb truesize
    in rx path") and 4ce62d5 ("net: usb: ax88179_178a:
    stop lying about skb->truesize")
    
    v3: also fix a sparse error ( https://lore.kernel.org/oe-kbuild-all/202405091310.KvncIecx-lkp@intel.com/ )
    v2: leave the skb_trim() game because smsc95xx_rx_csum_offload()
        needs the csum part. (Jakub)
        While we are it, use get_unaligned() in smsc95xx_rx_csum_offload().
    
    Fixes: 2f7ca80 ("net: Add SMSC LAN9500 USB2.0 10/100 ethernet adapter driver")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Steve Glendinning <steve.glendinning@shawell.net>
    Cc: UNGLinuxDriver@microchip.com
    Reviewed-by: Simon Horman <horms@kernel.org>
    Link: https://lore.kernel.org/r/20240509083313.2113832-1-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Eric Dumazet authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    8410a1b View commit details
    Browse the repository at this point in the history
  41. net: openvswitch: fix overwriting ct original tuple for ICMPv6

    [ Upstream commit 7c98817 ]
    
    OVS_PACKET_CMD_EXECUTE has 3 main attributes:
     - OVS_PACKET_ATTR_KEY - Packet metadata in a netlink format.
     - OVS_PACKET_ATTR_PACKET - Binary packet content.
     - OVS_PACKET_ATTR_ACTIONS - Actions to execute on the packet.
    
    OVS_PACKET_ATTR_KEY is parsed first to populate sw_flow_key structure
    with the metadata like conntrack state, input port, recirculation id,
    etc.  Then the packet itself gets parsed to populate the rest of the
    keys from the packet headers.
    
    Whenever the packet parsing code starts parsing the ICMPv6 header, it
    first zeroes out fields in the key corresponding to Neighbor Discovery
    information even if it is not an ND packet.
    
    It is an 'ipv6.nd' field.  However, the 'ipv6' is a union that shares
    the space between 'nd' and 'ct_orig' that holds the original tuple
    conntrack metadata parsed from the OVS_PACKET_ATTR_KEY.
    
    ND packets should not normally have conntrack state, so it's fine to
    share the space, but normal ICMPv6 Echo packets or maybe other types of
    ICMPv6 can have the state attached and it should not be overwritten.
    
    The issue results in all but the last 4 bytes of the destination
    address being wiped from the original conntrack tuple leading to
    incorrect packet matching and potentially executing wrong actions
    in case this packet recirculates within the datapath or goes back
    to userspace.
    
    ND fields should not be accessed in non-ND packets, so not clearing
    them should be fine.  Executing memset() only for actual ND packets to
    avoid the issue.
    
    Initializing the whole thing before parsing is needed because ND packet
    may not contain all the options.
    
    The issue only affects the OVS_PACKET_CMD_EXECUTE path and doesn't
    affect packets entering OVS datapath from network interfaces, because
    in this case CT metadata is populated from skb after the packet is
    already parsed.
    
    Fixes: 9dd7f89 ("openvswitch: Add original direction conntrack tuple to sw_flow_key.")
    Reported-by: Antonin Bas <antonin.bas@broadcom.com>
    Closes: openvswitch/ovs-issues#327
    Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
    Acked-by: Aaron Conole <aconole@redhat.com>
    Acked-by: Eelco Chaudron <echaudro@redhat.com>
    Link: https://lore.kernel.org/r/20240509094228.1035477-1-i.maximets@ovn.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    igsilya authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    d73fb8b View commit details
    Browse the repository at this point in the history
  42. ipv6: sr: add missing seg6_local_exit

    [ Upstream commit 3321687 ]
    
    Currently, we only call seg6_local_exit() in seg6_init() if
    seg6_local_init() failed. But forgot to call it in seg6_exit().
    
    Fixes: d1df6fd ("ipv6: sr: define core operations for seg6local lightweight tunnel")
    Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
    Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Link: https://lore.kernel.org/r/20240509131812.1662197-2-liuhangbin@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    liuhangbin authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    54a6fb6 View commit details
    Browse the repository at this point in the history
  43. ipv6: sr: fix incorrect unregister order

    [ Upstream commit 6e370a7 ]
    
    Commit 5559cea ("ipv6: sr: fix possible use-after-free and
    null-ptr-deref") changed the register order in seg6_init(). But the
    unregister order in seg6_exit() is not updated.
    
    Fixes: 5559cea ("ipv6: sr: fix possible use-after-free and null-ptr-deref")
    Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
    Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Link: https://lore.kernel.org/r/20240509131812.1662197-3-liuhangbin@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    liuhangbin authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    50e5329 View commit details
    Browse the repository at this point in the history
  44. ipv6: sr: fix invalid unregister error path

    [ Upstream commit 160e9d2 ]
    
    The error path of seg6_init() is wrong in case CONFIG_IPV6_SEG6_LWTUNNEL
    is not defined. In that case if seg6_hmac_init() fails, the
    genl_unregister_family() isn't called.
    
    This issue exist since commit 46738b1 ("ipv6: sr: add option to control
    lwtunnel support"), and commit 5559cea ("ipv6: sr: fix possible
    use-after-free and null-ptr-deref") replaced unregister_pernet_subsys()
    with genl_unregister_family() in this error path.
    
    Fixes: 46738b1 ("ipv6: sr: add option to control lwtunnel support")
    Reported-by: Guillaume Nault <gnault@redhat.com>
    Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
    Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Link: https://lore.kernel.org/r/20240509131812.1662197-4-liuhangbin@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    liuhangbin authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c04d6a9 View commit details
    Browse the repository at this point in the history
  45. net/mlx5e: Fix netif state handling

    [ Upstream commit 3d59184 ]
    
    mlx5e_suspend cleans resources only if netif_device_present() returns
    true. However, mlx5e_resume changes the state of netif, via
    mlx5e_nic_enable, only if reg_state == NETREG_REGISTERED.
    In the below case, the above leads to NULL-ptr Oops[1] and memory
    leaks:
    
    mlx5e_probe
     _mlx5e_resume
      mlx5e_attach_netdev
       mlx5e_nic_enable  <-- netdev not reg, not calling netif_device_attach()
      register_netdev <-- failed for some reason.
    ERROR_FLOW:
     _mlx5e_suspend <-- netif_device_present return false, resources aren't freed :(
    
    Hence, clean resources in this case as well.
    
    [1]
    BUG: kernel NULL pointer dereference, address: 0000000000000000
    PGD 0 P4D 0
    Oops: 0010 [#1] SMP
    CPU: 2 PID: 9345 Comm: test-ovs-ct-gen Not tainted 6.5.0_for_upstream_min_debug_2023_09_05_16_01 #1
    Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
    RIP: 0010:0x0
    Code: Unable to access opcode bytes at0xffffffffffffffd6.
    RSP: 0018:ffff888178aaf758 EFLAGS: 00010246
    Call Trace:
     <TASK>
     ? __die+0x20/0x60
     ? page_fault_oops+0x14c/0x3c0
     ? exc_page_fault+0x75/0x140
     ? asm_exc_page_fault+0x22/0x30
     notifier_call_chain+0x35/0xb0
     blocking_notifier_call_chain+0x3d/0x60
     mlx5_blocking_notifier_call_chain+0x22/0x30 [mlx5_core]
     mlx5_core_uplink_netdev_event_replay+0x3e/0x60 [mlx5_core]
     mlx5_mdev_netdev_track+0x53/0x60 [mlx5_ib]
     mlx5_ib_roce_init+0xc3/0x340 [mlx5_ib]
     __mlx5_ib_add+0x34/0xd0 [mlx5_ib]
     mlx5r_probe+0xe1/0x210 [mlx5_ib]
     ? auxiliary_match_id+0x6a/0x90
     auxiliary_bus_probe+0x38/0x80
     ? driver_sysfs_add+0x51/0x80
     really_probe+0xc9/0x3e0
     ? driver_probe_device+0x90/0x90
     __driver_probe_device+0x80/0x160
     driver_probe_device+0x1e/0x90
     __device_attach_driver+0x7d/0x100
     bus_for_each_drv+0x80/0xd0
     __device_attach+0xbc/0x1f0
     bus_probe_device+0x86/0xa0
     device_add+0x637/0x840
     __auxiliary_device_add+0x3b/0xa0
     add_adev+0xc9/0x140 [mlx5_core]
     mlx5_rescan_drivers_locked+0x22a/0x310 [mlx5_core]
     mlx5_register_device+0x53/0xa0 [mlx5_core]
     mlx5_init_one_devl_locked+0x5c4/0x9c0 [mlx5_core]
     mlx5_init_one+0x3b/0x60 [mlx5_core]
     probe_one+0x44c/0x730 [mlx5_core]
     local_pci_probe+0x3e/0x90
     pci_device_probe+0xbf/0x210
     ? kernfs_create_link+0x5d/0xa0
     ? sysfs_do_create_link_sd+0x60/0xc0
     really_probe+0xc9/0x3e0
     ? driver_probe_device+0x90/0x90
     __driver_probe_device+0x80/0x160
     driver_probe_device+0x1e/0x90
     __device_attach_driver+0x7d/0x100
     bus_for_each_drv+0x80/0xd0
     __device_attach+0xbc/0x1f0
     pci_bus_add_device+0x54/0x80
     pci_iov_add_virtfn+0x2e6/0x320
     sriov_enable+0x208/0x420
     mlx5_core_sriov_configure+0x9e/0x200 [mlx5_core]
     sriov_numvfs_store+0xae/0x1a0
     kernfs_fop_write_iter+0x10c/0x1a0
     vfs_write+0x291/0x3c0
     ksys_write+0x5f/0xe0
     do_syscall_64+0x3d/0x90
     entry_SYSCALL_64_after_hwframe+0x46/0xb0
     CR2: 0000000000000000
     ---[ end trace 0000000000000000  ]---
    
    Fixes: 2c3b5be ("net/mlx5e: More generic netdev management API")
    Signed-off-by: Shay Drory <shayd@nvidia.com>
    Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Link: https://lore.kernel.org/r/20240509112951.590184-2-tariqt@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    shayshyi authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    f7e6cfb View commit details
    Browse the repository at this point in the history
  46. net/mlx5: Fix peer devlink set for SF representor devlink port

    [ Upstream commit 3c453e8 ]
    
    The cited patch change register devlink flow, and neglect to reflect
    the changes for peer devlink set logic. Peer devlink set is
    triggering a call trace if done after devl_register.[1]
    
    Hence, align peer devlink set logic with register devlink flow.
    
    [1]
    WARNING: CPU: 4 PID: 3394 at net/devlink/core.c:155 devlink_rel_nested_in_add+0x177/0x180
    CPU: 4 PID: 3394 Comm: kworker/u40:1 Not tainted 6.9.0-rc4_for_linust_min_debug_2024_04_16_14_08 #1
    Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
    Workqueue: mlx5_vhca_event0 mlx5_vhca_state_work_handler [mlx5_core]
    RIP: 0010:devlink_rel_nested_in_add+0x177/0x180
    Call Trace:
     <TASK>
     ? __warn+0x78/0x120
     ? devlink_rel_nested_in_add+0x177/0x180
     ? report_bug+0x16d/0x180
     ? handle_bug+0x3c/0x60
     ? exc_invalid_op+0x14/0x70
     ? asm_exc_invalid_op+0x16/0x20
     ? devlink_port_init+0x30/0x30
     ? devlink_port_type_clear+0x50/0x50
     ? devlink_rel_nested_in_add+0x177/0x180
     ? devlink_rel_nested_in_add+0xdd/0x180
     mlx5_sf_mdev_event+0x74/0xb0 [mlx5_core]
     notifier_call_chain+0x35/0xb0
     blocking_notifier_call_chain+0x3d/0x60
     mlx5_blocking_notifier_call_chain+0x22/0x30 [mlx5_core]
     mlx5_sf_dev_probe+0x185/0x3e0 [mlx5_core]
     auxiliary_bus_probe+0x38/0x80
     ? driver_sysfs_add+0x51/0x80
     really_probe+0xc5/0x3a0
     ? driver_probe_device+0x90/0x90
     __driver_probe_device+0x80/0x160
     driver_probe_device+0x1e/0x90
     __device_attach_driver+0x7d/0x100
     bus_for_each_drv+0x80/0xd0
     __device_attach+0xbc/0x1f0
     bus_probe_device+0x86/0xa0
     device_add+0x64f/0x860
     __auxiliary_device_add+0x3b/0xa0
     mlx5_sf_dev_add+0x139/0x330 [mlx5_core]
     mlx5_sf_dev_state_change_handler+0x1e4/0x250 [mlx5_core]
     notifier_call_chain+0x35/0xb0
     blocking_notifier_call_chain+0x3d/0x60
     mlx5_vhca_state_work_handler+0x151/0x200 [mlx5_core]
     process_one_work+0x13f/0x2e0
     worker_thread+0x2bd/0x3c0
     ? rescuer_thread+0x410/0x410
     kthread+0xc4/0xf0
     ? kthread_complete_and_exit+0x20/0x20
     ret_from_fork+0x2d/0x50
     ? kthread_complete_and_exit+0x20/0x20
     ret_from_fork_asm+0x11/0x20
     </TASK>
    
    Fixes: bf72998 ("net/mlx5: Restore mistakenly dropped parts in register devlink flow")
    Fixes: c6e77aa ("net/mlx5: Register devlink first under devlink lock")
    Signed-off-by: Shay Drory <shayd@nvidia.com>
    Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
    Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Link: https://lore.kernel.org/r/20240509112951.590184-3-tariqt@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    shayshyi authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    05d9d7b View commit details
    Browse the repository at this point in the history
  47. net/mlx5: Reload only IB representors upon lag disable/enable

    [ Upstream commit 0f06228 ]
    
    On lag disable, the bond IB device along with all of its
    representors are destroyed, and then the slaves' representors get reloaded.
    
    In case the slave IB representor load fails, the eswitch error flow
    unloads all representors, including ethernet representors, where the
    netdevs get detached and removed from lag bond. Such flow is inaccurate
    as the lag driver is not responsible for loading/unloading ethernet
    representors. Furthermore, the flow described above begins by holding
    lag lock to prevent bond changes during disable flow. However, when
    reaching the ethernet representors detachment from lag, the lag lock is
    required again, triggering the following deadlock:
    
    Call trace:
    __switch_to+0xf4/0x148
    __schedule+0x2c8/0x7d0
    schedule+0x50/0xe0
    schedule_preempt_disabled+0x18/0x28
    __mutex_lock.isra.13+0x2b8/0x570
    __mutex_lock_slowpath+0x1c/0x28
    mutex_lock+0x4c/0x68
    mlx5_lag_remove_netdev+0x3c/0x1a0 [mlx5_core]
    mlx5e_uplink_rep_disable+0x70/0xa0 [mlx5_core]
    mlx5e_detach_netdev+0x6c/0xb0 [mlx5_core]
    mlx5e_netdev_change_profile+0x44/0x138 [mlx5_core]
    mlx5e_netdev_attach_nic_profile+0x28/0x38 [mlx5_core]
    mlx5e_vport_rep_unload+0x184/0x1b8 [mlx5_core]
    mlx5_esw_offloads_rep_load+0xd8/0xe0 [mlx5_core]
    mlx5_eswitch_reload_reps+0x74/0xd0 [mlx5_core]
    mlx5_disable_lag+0x130/0x138 [mlx5_core]
    mlx5_lag_disable_change+0x6c/0x70 [mlx5_core] // hold ldev->lock
    mlx5_devlink_eswitch_mode_set+0xc0/0x410 [mlx5_core]
    devlink_nl_cmd_eswitch_set_doit+0xdc/0x180
    genl_family_rcv_msg_doit.isra.17+0xe8/0x138
    genl_rcv_msg+0xe4/0x220
    netlink_rcv_skb+0x44/0x108
    genl_rcv+0x40/0x58
    netlink_unicast+0x198/0x268
    netlink_sendmsg+0x1d4/0x418
    sock_sendmsg+0x54/0x60
    __sys_sendto+0xf4/0x120
    __arm64_sys_sendto+0x30/0x40
    el0_svc_common+0x8c/0x120
    do_el0_svc+0x30/0xa0
    el0_svc+0x20/0x30
    el0_sync_handler+0x90/0xb8
    el0_sync+0x160/0x180
    
    Thus, upon lag enable/disable, load and unload only the IB representors
    of the slaves preventing the deadlock mentioned above.
    
    While at it, refactor the mlx5_esw_offloads_rep_load() function to have
    a static helper method for its internal logic, in symmetry with the
    representor unload design.
    
    Fixes: 598fe77 ("net/mlx5: Lag, Create shared FDB when in switchdev mode")
    Co-developed-by: Mark Bloch <mbloch@nvidia.com>
    Signed-off-by: Mark Bloch <mbloch@nvidia.com>
    Signed-off-by: Maher Sanalla <msanalla@nvidia.com>
    Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Link: https://lore.kernel.org/r/20240509112951.590184-4-tariqt@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    msanalla authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0f320f2 View commit details
    Browse the repository at this point in the history
  48. net/mlx5: Add a timeout to acquire the command queue semaphore

    [ Upstream commit 485d65e ]
    
    Prevent forced completion handling on an entry that has not yet been
    assigned an index, causing an out of bounds access on idx = -22.
    Instead of waiting indefinitely for the sem, blocking flow now waits for
    index to be allocated or a sem acquisition timeout before beginning the
    timer for FW completion.
    
    Kernel log example:
    mlx5_core 0000:06:00.0: wait_func_handle_exec_timeout:1128:(pid 185911): cmd[-22]: CREATE_UCTX(0xa04) No done completion
    
    Fixes: 8e715cd ("net/mlx5: Set command entry semaphore up once got index free")
    Signed-off-by: Akiva Goldberger <agoldberger@nvidia.com>
    Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
    Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
    Link: https://lore.kernel.org/r/20240509112951.590184-5-tariqt@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Akiva Goldberger authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    9402433 View commit details
    Browse the repository at this point in the history
  49. net/mlx5: Discard command completions in internal error

    [ Upstream commit db9b31a ]
    
    Fix use after free when FW completion arrives while device is in
    internal error state. Avoid calling completion handler in this case,
    since the device will flush the command interface and trigger all
    completions manually.
    
    Kernel log:
    ------------[ cut here ]------------
    refcount_t: underflow; use-after-free.
    ...
    RIP: 0010:refcount_warn_saturate+0xd8/0xe0
    ...
    Call Trace:
    <IRQ>
    ? __warn+0x79/0x120
    ? refcount_warn_saturate+0xd8/0xe0
    ? report_bug+0x17c/0x190
    ? handle_bug+0x3c/0x60
    ? exc_invalid_op+0x14/0x70
    ? asm_exc_invalid_op+0x16/0x20
    ? refcount_warn_saturate+0xd8/0xe0
    cmd_ent_put+0x13b/0x160 [mlx5_core]
    mlx5_cmd_comp_handler+0x5f9/0x670 [mlx5_core]
    cmd_comp_notifier+0x1f/0x30 [mlx5_core]
    notifier_call_chain+0x35/0xb0
    atomic_notifier_call_chain+0x16/0x20
    mlx5_eq_async_int+0xf6/0x290 [mlx5_core]
    notifier_call_chain+0x35/0xb0
    atomic_notifier_call_chain+0x16/0x20
    irq_int_handler+0x19/0x30 [mlx5_core]
    __handle_irq_event_percpu+0x4b/0x160
    handle_irq_event+0x2e/0x80
    handle_edge_irq+0x98/0x230
    __common_interrupt+0x3b/0xa0
    common_interrupt+0x7b/0xa0
    </IRQ>
    <TASK>
    asm_common_interrupt+0x22/0x40
    
    Fixes: 51d138c ("net/mlx5: Fix health error state handling")
    Signed-off-by: Akiva Goldberger <agoldberger@nvidia.com>
    Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
    Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
    Link: https://lore.kernel.org/r/20240509112951.590184-6-tariqt@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Akiva Goldberger authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    7ac4c69 View commit details
    Browse the repository at this point in the history
  50. s390/bpf: Emit a barrier for BPF_FETCH instructions

    [ Upstream commit 6837898 ]
    
    BPF_ATOMIC_OP() macro documentation states that "BPF_ADD | BPF_FETCH"
    should be the same as atomic_fetch_add(), which is currently not the
    case on s390x: the serialization instruction "bcr 14,0" is missing.
    This applies to "and", "or" and "xor" variants too.
    
    s390x is allowed to reorder stores with subsequent fetches from
    different addresses, so code relying on BPF_FETCH acting as a barrier,
    for example:
    
      stw [%r0], 1
      afadd [%r1], %r2
      ldxw %r3, [%r4]
    
    may be broken. Fix it by emitting "bcr 14,0".
    
    Note that a separate serialization instruction is not needed for
    BPF_XCHG and BPF_CMPXCHG, because COMPARE AND SWAP performs
    serialization itself.
    
    Fixes: ba3b86b ("s390/bpf: Implement new atomic ops")
    Reported-by: Puranjay Mohan <puranjay12@gmail.com>
    Closes: https://lore.kernel.org/bpf/mb61p34qvq3wf.fsf@kernel.org/
    Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
    Reviewed-by: Puranjay Mohan <puranjay@kernel.org>
    Link: https://lore.kernel.org/r/20240507000557.12048-1-iii@linux.ibm.com
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    iii-i authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    193377f View commit details
    Browse the repository at this point in the history
  51. riscv, bpf: make some atomic operations fully ordered

    [ Upstream commit 20a759d ]
    
    The BPF atomic operations with the BPF_FETCH modifier along with
    BPF_XCHG and BPF_CMPXCHG are fully ordered but the RISC-V JIT implements
    all atomic operations except BPF_CMPXCHG with relaxed ordering.
    
    Section 8.1 of the "The RISC-V Instruction Set Manual Volume I:
    Unprivileged ISA" [1], titled, "Specifying Ordering of Atomic
    Instructions" says:
    
    | To provide more efficient support for release consistency [5], each
    | atomic instruction has two bits, aq and rl, used to specify additional
    | memory ordering constraints as viewed by other RISC-V harts.
    
    and
    
    | If only the aq bit is set, the atomic memory operation is treated as
    | an acquire access.
    | If only the rl bit is set, the atomic memory operation is treated as a
    | release access.
    |
    | If both the aq and rl bits are set, the atomic memory operation is
    | sequentially consistent.
    
    Fix this by setting both aq and rl bits as 1 for operations with
    BPF_FETCH and BPF_XCHG.
    
    [1] https://riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf
    
    Fixes: dd642cc ("riscv, bpf: Implement more atomic operations for RV64")
    Signed-off-by: Puranjay Mohan <puranjay@kernel.org>
    Reviewed-by: Pu Lehui <pulehui@huawei.com>
    Link: https://lore.kernel.org/r/20240505201633.123115-1-puranjay@kernel.org
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    puranjaymohan authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    e2707bc View commit details
    Browse the repository at this point in the history
  52. inet: fix inet_fill_ifaddr() flags truncation

    [ Upstream commit 1af7f88 ]
    
    I missed that (struct ifaddrmsg)->ifa_flags was only 8bits,
    while (struct in_ifaddr)->ifa_flags is 32bits.
    
    Use a temporary 32bit variable as I did in set_ifa_lifetime()
    and check_lifetime().
    
    Fixes: 3ddc223 ("inet: annotate data-races around ifa->ifa_flags")
    Reported-by: Yu Watanabe <watanabe.yu@gmail.com>
    Dianosed-by: Yu Watanabe <watanabe.yu@gmail.com>
    Closes: systemd/systemd#32666 (comment)
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reviewed-by: Larysa Zaremba <larysa.zaremba@intel.com>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Link: https://lore.kernel.org/r/20240510072932.2678952-1-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Eric Dumazet authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    130be64 View commit details
    Browse the repository at this point in the history
  53. ax25: Use kernel universal linked list to implement ax25_dev_list

    [ Upstream commit a7d6e36 ]
    
    The origin ax25_dev_list implements its own single linked list,
    which is complicated and error-prone. For example, when deleting
    the node of ax25_dev_list in ax25_dev_device_down(), we have to
    operate on the head node and other nodes separately.
    
    This patch uses kernel universal linked list to replace original
    ax25_dev_list, which make the operation of ax25_dev_list easier.
    
    We should do "dev->ax25_ptr = ax25_dev;" and "dev->ax25_ptr = NULL;"
    while holding the spinlock, otherwise the ax25_dev_device_up() and
    ax25_dev_device_down() could race.
    
    Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
    Signed-off-by: Duoming Zhou <duoming@zju.edu.cn>
    Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
    Link: https://lore.kernel.org/r/85bba3af651ca0e1a519da8d0d715b949891171c.1715247018.git.duoming@zju.edu.cn
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Stable-dep-of: b505e03 ("ax25: Fix reference count leak issues of ax25_dev")
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    stonezdm authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    5954945 View commit details
    Browse the repository at this point in the history
  54. ax25: Fix reference count leak issues of ax25_dev

    [ Upstream commit b505e03 ]
    
    The ax25_addr_ax25dev() and ax25_dev_device_down() exist a reference
    count leak issue of the object "ax25_dev".
    
    Memory leak issue in ax25_addr_ax25dev():
    
    The reference count of the object "ax25_dev" can be increased multiple
    times in ax25_addr_ax25dev(). This will cause a memory leak.
    
    Memory leak issues in ax25_dev_device_down():
    
    The reference count of ax25_dev is set to 1 in ax25_dev_device_up() and
    then increase the reference count when ax25_dev is added to ax25_dev_list.
    As a result, the reference count of ax25_dev is 2. But when the device is
    shutting down. The ax25_dev_device_down() drops the reference count once
    or twice depending on if we goto unlock_put or not, which will cause
    memory leak.
    
    As for the issue of ax25_addr_ax25dev(), it is impossible for one pointer
    to be on a list twice. So add a break in ax25_addr_ax25dev(). As for the
    issue of ax25_dev_device_down(), increase the reference count of ax25_dev
    once in ax25_dev_device_up() and decrease the reference count of ax25_dev
    after it is removed from the ax25_dev_list.
    
    Fixes: d01ffb9 ("ax25: add refcount in ax25_dev to avoid UAF bugs")
    Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
    Signed-off-by: Duoming Zhou <duoming@zju.edu.cn>
    Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
    Link: https://lore.kernel.org/r/361bbf2a4b091e120006279ec3b382d73c4a0c17.1715247018.git.duoming@zju.edu.cn
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    stonezdm authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    1ea0269 View commit details
    Browse the repository at this point in the history
  55. ax25: Fix reference count leak issue of net_device

    [ Upstream commit 36e56b1 ]
    
    There is a reference count leak issue of the object "net_device" in
    ax25_dev_device_down(). When the ax25 device is shutting down, the
    ax25_dev_device_down() drops the reference count of net_device one
    or zero times depending on if we goto unlock_put or not, which will
    cause memory leak.
    
    In order to solve the above issue, decrease the reference count of
    net_device after dev->ax25_ptr is set to null.
    
    Fixes: d01ffb9 ("ax25: add refcount in ax25_dev to avoid UAF bugs")
    Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
    Signed-off-by: Duoming Zhou <duoming@zju.edu.cn>
    Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
    Link: https://lore.kernel.org/r/7ce3b23a40d9084657ba1125432f0ecc380cbc80.1715247018.git.duoming@zju.edu.cn
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    stonezdm authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    eef95df View commit details
    Browse the repository at this point in the history
  56. dpll: fix return value check for kmemdup

    [ Upstream commit ad50658 ]
    
    The return value of kmemdup() is dst->freq_supported, not
    src->freq_supported. Update the check accordingly.
    
    Fixes: 830ead5 ("dpll: fix pin dump crash for rebound module")
    Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
    Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
    Reviewed-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
    Reviewed-by: Jiri Pirko <jiri@nvidia.com>
    Link: https://lore.kernel.org/r/20240513032824.2410459-1-nichen@iscas.ac.cn
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Chen Ni authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0aca9ef View commit details
    Browse the repository at this point in the history
  57. net: fec: remove .ndo_poll_controller to avoid deadlocks

    [ Upstream commit c2e0c58 ]
    
    There is a deadlock issue found in sungem driver, please refer to the
    commit ac0a230 ("eth: sungem: remove .ndo_poll_controller to avoid
    deadlocks"). The root cause of the issue is that netpoll is in atomic
    context and disable_irq() is called by .ndo_poll_controller interface
    of sungem driver, however, disable_irq() might sleep. After analyzing
    the implementation of fec_poll_controller(), the fec driver should have
    the same issue. Due to the fec driver uses NAPI for TX completions, the
    .ndo_poll_controller is unnecessary to be implemented in the fec driver,
    so fec_poll_controller() can be safely removed.
    
    Fixes: 7f5c6ad ("net/fec: add poll controller function for fec nic")
    Signed-off-by: Wei Fang <wei.fang@nxp.com>
    Link: https://lore.kernel.org/r/20240511062009.652918-1-wei.fang@nxp.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Wei Fang authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    87bcbc9 View commit details
    Browse the repository at this point in the history
  58. mptcp: SO_KEEPALIVE: fix getsockopt support

    [ Upstream commit a651981 ]
    
    SO_KEEPALIVE support has to be set on each subflow: on each TCP socket,
    where sk_prot->keepalive is defined. Technically, nothing has to be done
    on the MPTCP socket. That's why mptcp_sol_socket_sync_intval() was
    called instead of mptcp_sol_socket_intval().
    
    Except that when nothing is done on the MPTCP socket, the
    getsockopt(SO_KEEPALIVE), handled in net/core/sock.c:sk_getsockopt(),
    will not know if SO_KEEPALIVE has been set on the different subflows or
    not.
    
    The fix is simple: simply call mptcp_sol_socket_intval() which will end
    up calling net/core/sock.c:sk_setsockopt() where the SOCK_KEEPOPEN flag
    will be set, the one used in sk_getsockopt().
    
    So now, getsockopt(SO_KEEPALIVE) on an MPTCP socket will return the same
    value as the one previously set with setsockopt(SO_KEEPALIVE).
    
    Fixes: 1b3e7ed ("mptcp: setsockopt: handle SO_KEEPALIVE and SO_PRIORITY")
    Acked-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
    Signed-off-by: Mat Martineau <martineau@kernel.org>
    Link: https://lore.kernel.org/r/20240514011335.176158-2-martineau@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    matttbe authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    bcd9450 View commit details
    Browse the repository at this point in the history
  59. mptcp: fix full TCP keep-alive support

    [ Upstream commit bd11dc4 ]
    
    SO_KEEPALIVE support has been added a while ago, as part of a series
    "adding SOL_SOCKET" support. To have a full control of this keep-alive
    feature, it is important to also support TCP_KEEP* socket options at the
    SOL_TCP level.
    
    Supporting them on the setsockopt() part is easy, it is just a matter of
    remembering each value in the MPTCP sock structure, and calling
    tcp_sock_set_keep*() helpers on each subflow. If the value is not
    modified (0), calling these helpers will not do anything. For the
    getsockopt() part, the corresponding value from the MPTCP sock structure
    or the default one is simply returned. All of this is very similar to
    other TCP_* socket options supported by MPTCP.
    
    It looks important for kernels supporting SO_KEEPALIVE, to also support
    TCP_KEEP* options as well: some apps seem to (wrongly) consider that if
    the former is supported, the latter ones will be supported as well. But
    also, not having this simple and isolated change is preventing MPTCP
    support in some apps, and libraries like GoLang [1]. This is why this
    patch is seen as a fix.
    
    Closes: multipath-tcp/mptcp_net-next#383
    Fixes: 1b3e7ed ("mptcp: setsockopt: handle SO_KEEPALIVE and SO_PRIORITY")
    Link: golang/go#56539 [1]
    Acked-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
    Signed-off-by: Mat Martineau <martineau@kernel.org>
    Link: https://lore.kernel.org/r/20240514011335.176158-3-martineau@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    matttbe authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c4d5cc8 View commit details
    Browse the repository at this point in the history
  60. net: stmmac: move the EST lock to struct stmmac_priv

    [ Upstream commit 36ac9e7 ]
    
    Reinitialize the whole EST structure would also reset the mutex
    lock which is embedded in the EST structure, and then trigger
    the following warning. To address this, move the lock to struct
    stmmac_priv. We also need to reacquire the mutex lock when doing
    this initialization.
    
    DEBUG_LOCKS_WARN_ON(lock->magic != lock)
    WARNING: CPU: 3 PID: 505 at kernel/locking/mutex.c:587 __mutex_lock+0xd84/0x1068
     Modules linked in:
     CPU: 3 PID: 505 Comm: tc Not tainted 6.9.0-rc6-00053-g0106679839f7-dirty #29
     Hardware name: NXP i.MX8MPlus EVK board (DT)
     pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
     pc : __mutex_lock+0xd84/0x1068
     lr : __mutex_lock+0xd84/0x1068
     sp : ffffffc0864e3570
     x29: ffffffc0864e3570 x28: ffffffc0817bdc78 x27: 0000000000000003
     x26: ffffff80c54f1808 x25: ffffff80c9164080 x24: ffffffc080d723ac
     x23: 0000000000000000 x22: 0000000000000002 x21: 0000000000000000
     x20: 0000000000000000 x19: ffffffc083bc3000 x18: ffffffffffffffff
     x17: ffffffc08117b080 x16: 0000000000000002 x15: ffffff80d2d40000
     x14: 00000000000002da x13: ffffff80d2d404b8 x12: ffffffc082b5a5c8
     x11: ffffffc082bca680 x10: ffffffc082bb2640 x9 : ffffffc082bb2698
     x8 : 0000000000017fe8 x7 : c0000000ffffefff x6 : 0000000000000001
     x5 : ffffff8178fe0d48 x4 : 0000000000000000 x3 : 0000000000000027
     x2 : ffffff8178fe0d50 x1 : 0000000000000000 x0 : 0000000000000000
     Call trace:
      __mutex_lock+0xd84/0x1068
      mutex_lock_nested+0x28/0x34
      tc_setup_taprio+0x118/0x68c
      stmmac_setup_tc+0x50/0xf0
      taprio_change+0x868/0xc9c
    
    Fixes: b2aae65 ("net: stmmac: add mutex lock to protect est parameters")
    Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
    Reviewed-by: Andrew Halaney <ahalaney@redhat.com>
    Link: https://lore.kernel.org/r/20240513014346.1718740-2-xiaolei.wang@windriver.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Xiaolei Wang authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6f476af View commit details
    Browse the repository at this point in the history
  61. net: micrel: Fix receiving the timestamp in the frame for lan8841

    [ Upstream commit aea27a9 ]
    
    The blamed commit started to use the ptp workqueue to get the second
    part of the timestamp. And when the port was set down, then this
    workqueue is stopped. But if the config option NETWORK_PHY_TIMESTAMPING
    is not enabled, then the ptp_clock is not initialized so then it would
    crash when it would try to access the delayed work.
    So then basically by setting up and then down the port, it would crash.
    The fix consists in checking if the ptp_clock is initialized and only
    then cancel the delayed work.
    
    Fixes: cc75549 ("net: micrel: Change to receive timestamp in the frame for lan8841")
    Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    HoratiuVultur authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    64a47cf View commit details
    Browse the repository at this point in the history
  62. Bluetooth: compute LE flow credits based on recvbuf space

    [ Upstream commit ce60b92 ]
    
    Previously LE flow credits were returned to the
    sender even if the socket's receive buffer was
    full. This meant that no back-pressure
    was applied to the sender, thus it continued to
    send data, resulting in data loss without any
    error being reported. Furthermore, the amount
    of credits was essentially fixed to a small
    amount, leading to reduced performance.
    
    This is fixed by computing the number of returned
    LE flow credits based on the estimated available
    space in the receive buffer of an L2CAP socket.
    Consequently, if the receive buffer is full, no
    credits are returned until the buffer is read and
    thus cleared by user-space.
    
    Since the computation of available receive buffer
    space can only be performed approximately (due to
    sk_buff overhead) and the receive buffer size may
    be changed by user-space after flow credits have
    been sent, superfluous received data is temporary
    stored within l2cap_pinfo. This is necessary
    because Bluetooth LE provides no retransmission
    mechanism once the data has been acked by the
    physical layer.
    
    If receive buffer space estimation is not possible
    at the moment, we fall back to providing credits
    for one full packet as before. This is currently
    the case during connection setup, when MPS is not
    yet available.
    
    Fixes: b1c325c ("Bluetooth: Implement returning of LE L2CAP credits")
    Signed-off-by: Sebastian Urban <surban@surban.net>
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    surban authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0c28765 View commit details
    Browse the repository at this point in the history
  63. Bluetooth: qca: Fix error code in qca_read_fw_build_info()

    [ Upstream commit a189f0e ]
    
    Return -ENOMEM on allocation failure.  Don't return success.
    
    Fixes: cda0d6a ("Bluetooth: qca: fix info leak when fetching fw build id")
    Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
    Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Dan Carpenter authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    4a171b9 View commit details
    Browse the repository at this point in the history
  64. Bluetooth: ISO: Make iso_get_sock_listen generic

    [ Upstream commit 311527e ]
    
    This makes iso_get_sock_listen more generic, to return matching socket
    in the state provided as argument.
    
    Signed-off-by: Iulia Tanasescu <iulia.tanasescu@nxp.com>
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Stable-dep-of: a5b862c ("Bluetooth: L2CAP: Fix div-by-zero in l2cap_le_flowctl_init()")
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    iulia-tanasescu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c581c33 View commit details
    Browse the repository at this point in the history
  65. Bluetooth: HCI: Remove HCI_AMP support

    [ Upstream commit 84a4bb6 ]
    
    Since BT_HS has been remove HCI_AMP controllers no longer has any use so
    remove it along with the capability of creating AMP controllers.
    
    Since we no longer need to differentiate between AMP and Primary
    controllers, as only HCI_PRIMARY is left, this also remove
    hdev->dev_type altogether.
    
    Fixes: e7b0229 ("Bluetooth: Remove BT_HS")
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Vudentz authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    af1d425 View commit details
    Browse the repository at this point in the history
  66. Bluetooth: hci_conn, hci_sync: Use __counted_by() to avoid -Wfamnae w…

    …arnings
    
    [ Upstream commit c4585ed ]
    
    Prepare for the coming implementation by GCC and Clang of the
    __counted_by attribute. Flexible array members annotated with
    __counted_by can have their accesses bounds-checked at run-time
    via CONFIG_UBSAN_BOUNDS (for array indexing) and CONFIG_FORTIFY_SOURCE
    (for strcpy/memcpy-family functions).
    
    Also, -Wflex-array-member-not-at-end is coming in GCC-14, and we are
    getting ready to enable it globally.
    
    So, use the `DEFINE_FLEX()` helper for multiple on-stack definitions
    of a flexible structure where the size of the flexible-array member
    is known at compile-time, and refactor the rest of the code,
    accordingly.
    
    Notice that, due to the use of `__counted_by()` in `struct
    hci_cp_le_create_cis`, the for loop in function `hci_cs_le_create_cis()`
    had to be modified. Once the index `i`, through which `cp->cis[i]` is
    accessed, falls in the interval [0, cp->num_cis), `cp->num_cis` cannot
    be decremented all the way down to zero while accessing `cp->cis[]`:
    
    net/bluetooth/hci_event.c:4310:
    4310    for (i = 0; cp->num_cis; cp->num_cis--, i++) {
                    ...
    4314            handle = __le16_to_cpu(cp->cis[i].cis_handle);
    
    otherwise, only half (one iteration before `cp->num_cis == i`) or half
    plus one (one iteration before `cp->num_cis < i`) of the items in the
    array will be accessed before running into an out-of-bounds issue. So,
    in order to avoid this, set `cp->num_cis` to zero just after the for
    loop.
    
    Also, make use of `aux_num_cis` variable to update `cmd->num_cis` after
    a `list_for_each_entry_rcu()` loop.
    
    With these changes, fix the following warnings:
    net/bluetooth/hci_sync.c:1239:56: warning: structure containing a flexible
    array member is not at the end of another structure
    [-Wflex-array-member-not-at-end]
    net/bluetooth/hci_sync.c:1415:51: warning: structure containing a flexible
    array member is not at the end of another structure
    [-Wflex-array-member-not-at-end]
    net/bluetooth/hci_sync.c:1731:51: warning: structure containing a flexible
    array member is not at the end of another structure
    [-Wflex-array-member-not-at-end]
    net/bluetooth/hci_sync.c:6497:45: warning: structure containing a flexible
    array member is not at the end of another structure
    [-Wflex-array-member-not-at-end]
    
    Link: KSPP#202
    Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Stable-dep-of: e77f43d ("Bluetooth: hci_core: Fix not handling hdev->le_num_of_adv_sets=1")
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    GustavoARSilva authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ec339f0 View commit details
    Browse the repository at this point in the history
  67. Bluetooth: hci_core: Fix not handling hdev->le_num_of_adv_sets=1

    [ Upstream commit e77f43d ]
    
    If hdev->le_num_of_adv_sets is set to 1 it means that only handle 0x00
    can be used, but since the MGMT interface instances start from 1
    (instance 0 means all instances in case of MGMT_OP_REMOVE_ADVERTISING)
    the code needs to map the instance to handle otherwise users will not be
    able to advertise as instance 1 would attempt to use handle 0x01.
    
    Fixes: 1d0fac2 ("Bluetooth: Use controller sets when available")
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Vudentz authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0baa803 View commit details
    Browse the repository at this point in the history
  68. drm/panel-edp: Add prepare_to_enable to 200ms for MNC207QS1-1

    [ Upstream commit e635b7e ]
    
    For MNC207QS1-1 panel, Splash screen occur when switch from VT1 to VT2.
    The BL_EN signal does not conform to the VESA protocol.
    BL_EN signal needs to be pulled high after video signal.
    So add prepare_to_enable to 200ms.
    
    [ dianders: Adjusted subject prefix and added Fixes tag ]
    
    Fixes: 0547692 ("drm/panel-edp: Add several generic edp panels")
    Signed-off-by: Zhengqiao Xia <xiazhengqiao@huaqin.corp-partner.google.com>
    Reviewed-by: Douglas Anderson <dianders@chromium.org>
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240301084006.14422-1-xiazhengqiao@huaqin.corp-partner.google.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Zhengqiao Xia authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    9ea499a View commit details
    Browse the repository at this point in the history
  69. drm/bridge: Fix improper bridge init order with pre_enable_prev_first

    [ Upstream commit e18aeed ]
    
    For a given bridge pipeline if any bridge sets pre_enable_prev_first
    flag then the pre_enable for the previous bridge will be called before
    pre_enable of this bridge and opposite is done for post_disable.
    
    These are the potential bridge flags to alter bridge init order in order
    to satisfy the MIPI DSI host and downstream panel or bridge to function.
    However the existing pre_enable_prev_first logic with associated bridge
    ordering has broken for both pre_enable and post_disable calls.
    
    [pre_enable]
    
    The altered bridge ordering has failed if two consecutive bridges on a
    given pipeline enables the pre_enable_prev_first flag.
    
    Example:
    - Panel
    - Bridge 1
    - Bridge 2 pre_enable_prev_first
    - Bridge 3
    - Bridge 4 pre_enable_prev_first
    - Bridge 5 pre_enable_prev_first
    - Bridge 6
    - Encoder
    
    In this example, Bridge 4 and Bridge 5 have pre_enable_prev_first.
    
    The logic looks for a bridge which enabled pre_enable_prev_first flag
    on each iteration and assigned the previou bridge to limit pointer
    if the bridge doesn't enable pre_enable_prev_first flags.
    
    If control found Bridge 2 is pre_enable_prev_first then the iteration
    looks for Bridge 3 and found it is not pre_enable_prev_first and assigns
    it's previous Bridge 4 to limit pointer and calls pre_enable of Bridge 3
    and Bridge 2 and assign iter pointer with limit which is Bridge 4.
    
    Here is the actual problem, for the next iteration control look for
    Bridge 5 instead of Bridge 4 has iter pointer in previous iteration
    moved to Bridge 4 so this iteration skips the Bridge 4. The iteration
    found Bridge 6 doesn't pre_enable_prev_first flags so the limit assigned
    to Encoder. From next iteration Encoder skips as it is the last bridge
    for reverse order pipeline.
    
    So, the resulting pre_enable bridge order would be,
    - Panel, Bridge 1, Bridge 3, Bridge 2, Bridge 6, Bridge 5.
    
    This patch fixes this by assigning limit to next pointer instead of
    previous bridge since the iteration always looks for bridge that does
    NOT request prev so assigning next makes sure the last bridge on a
    given iteration what exactly the limit bridge is.
    
    So, the resulting pre_enable bridge order with fix would be,
    - Panel, Bridge 1, Bridge 3, Bridge 2, Bridge 6, Bridge 5, Bridge 4,
      Encoder.
    
    [post_disable]
    
    The altered bridge ordering has failed if two consecutive bridges on a
    given pipeline enables the pre_enable_prev_first flag.
    
    Example:
    - Panel
    - Bridge 1
    - Bridge 2 pre_enable_prev_first
    - Bridge 3
    - Bridge 4 pre_enable_prev_first
    - Bridge 5 pre_enable_prev_first
    - Bridge 6
    - Encoder
    
    In this example Bridge 5 and Bridge 4 have pre_enable_prev_first.
    
    The logic looks for a bridge which enabled pre_enable_prev_first flags
    on each iteration and assigned the previou bridge to next and next to
    limit pointer if the bridge does enable pre_enable_prev_first flag.
    
    If control starts from Bridge 6 then it found next Bridge 5 is
    pre_enable_prev_first and immediately the next assigned to previous
    Bridge 6 and limit assignments to next Bridge 6 and call post_enable
    of Bridge 6 even though the next consecutive Bridge 5 is enabled with
    pre_enable_prev_first. This clearly misses the logic to find the state
    of next conducive bridge as everytime the next and limit assigns
    previous bridge if given bridge enabled pre_enable_prev_first.
    
    So, the resulting post_disable bridge order would be,
    - Encoder, Bridge 6, Bridge 5, Bridge 4, Bridge 3, Bridge 2, Bridge 1,
      Panel.
    
    This patch fixes this by assigning next with previou bridge only if the
    bridge doesn't enable pre_enable_prev_first flag and the next further
    assign it to limit. This way we can find the bridge that NOT requested
    prev to disable last.
    
    So, the resulting pre_enable bridge order with fix would be,
    - Encoder, Bridge 4, Bridge 5, Bridge 6, Bridge 2, Bridge 3, Bridge 1,
      Panel.
    
    Validated the bridge init ordering by incorporating dummy bridges in
    the sun6i-mipi-dsi pipeline
    
    Fixes: 4fb912e ("drm/bridge: Introduce pre_enable_prev_first to alter bridge init order")
    Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
    Tested-by: Michael Trimarchi <michael@amarulasolutions.com>
    Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
    Signed-off-by: Robert Foss <rfoss@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230328170752.1102347-1-jagan@amarulasolutions.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    openedev authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ceb79a4 View commit details
    Browse the repository at this point in the history
  70. drm/ci: update device type for volteer devices

    [ Upstream commit a2c71b7 ]
    
    Volteer devices in the collabora lab are categorized under the
    asus-cx9400-volteer device type. The majority of these units
    has an Intel Core i5-1130G7 CPU, while some of them have a
    Intel Core i7-1160G7 CPU instead. So due to this difference,
    new device type template is added for the Intel Core i5-1130G7
    and i7-1160G7 variants of the Acer Chromebook Spin 514 (CP514-2H)
    volteer Chromebooks. So update the same in drm-ci.
    
    https://gitlab.collabora.com/lava/lava/-/merge_requests/149
    
    Fixes: 0119c89 ("drm: Add initial ci/ subdirectory")
    Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
    Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
    Acked-by: Helen Koike <helen.koike@collabora.com>
    Signed-off-by: Helen Koike <helen.koike@collabora.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240307021841.100561-1-vignesh.raman@collabora.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    vigneshraman authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c93d80c View commit details
    Browse the repository at this point in the history
  71. drm/nouveau/dp: Fix incorrect return code in r535_dp_aux_xfer()

    [ Upstream commit 97252d0 ]
    
    I've recently been seeing some unexplained GSP errors on my RTX 6000 from
    failed aux transactions:
    
      [  132.915867] nouveau 0000:1f:00.0: gsp: cli:0xc1d00002 obj:0x00730000
      ctrl cmd:0x00731341 failed: 0x0000ffff
    
    While the cause of these is not yet clear, these messages made me notice
    that the aux transactions causing these transactions were succeeding - not
    failing. As it turns out, this is because we're currently not returning the
    correct variable when r535_dp_aux_xfer() hits an error - causing us to
    never propagate GSP errors for failed aux transactions to userspace.
    
    So, let's fix that.
    
    Fixes: 4ae3a20 ("nouveau/gsp: don't free ctrl messages on errors")
    Signed-off-by: Lyude Paul <lyude@redhat.com>
    Reviewed-by: Dave Airlie <airlied@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240315212104.776936-1-lyude@redhat.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Lyude authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6816044 View commit details
    Browse the repository at this point in the history
  72. drm/omapdrm: Fix console by implementing fb_dirty

    [ Upstream commit 632bac5 ]
    
    The framebuffer console stopped updating with commit f231af4
    ("drm/fb-helper: Disconnect damage worker from update logic").
    
    Let's fix the issue by implementing fb_dirty similar to what was done
    with commit 039a72c ("drm/i915/fbdev: Implement fb_dirty for intel
    custom fb helper").
    
    Fixes: f231af4 ("drm/fb-helper: Disconnect damage worker from update logic")
    Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240228063540.4444-2-tony@atomide.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    tmlind authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    e669be0 View commit details
    Browse the repository at this point in the history
  73. drm/omapdrm: Fix console with deferred ops

    [ Upstream commit 01c0cce ]
    
    Commit 95da53d ("drm/omapdrm: Use regular fbdev I/O helpers")
    stopped console from updating for command mode displays because there is
    no damage handling in fb_sys_write() unlike we had earlier in
    drm_fb_helper_sys_write().
    
    Let's fix the issue by adding FB_GEN_DEFAULT_DEFERRED_DMAMEM_OPS and
    FB_DMAMEM_HELPERS_DEFERRED as suggested by Thomas. We cannot use the
    FB_DEFAULT_DEFERRED_OPS as fb_deferred_io_mmap() won't work properly
    for write-combine.
    
    Fixes: 95da53d ("drm/omapdrm: Use regular fbdev I/O helpers")
    Suggested-by: Thomas Zimmermann <tzimmermann@suse.de>
    Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240228063540.4444-3-tony@atomide.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    tmlind authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    4ca427f View commit details
    Browse the repository at this point in the history
  74. printk: Let no_printk() use _printk()

    [ Upstream commit 8522f6b ]
    
    When printk-indexing is enabled, each printk() invocation emits a
    pi_entry structure, containing the format string and other information
    related to its location in the kernel sources.  This is even true for
    no_printk(): while the actual code to print the message is optimized out
    by the compiler due to the always-false check, the pi_entry structure is
    still emitted.
    
    As the main purpose of no_printk() is to provide a helper to maintain
    printf()-style format checking when debugging is disabled, this leads to
    the inclusion in the index of lots of printk formats that cannot be
    emitted by the current kernel.
    
    Fix this by switching no_printk() from printk() to _printk().
    
    This reduces the size of an arm64 defconfig kernel with
    CONFIG_PRINTK_INDEX=y by 576 KiB.
    
    Fixes: 3370155 ("printk: Userspace format indexing support")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: Xiubo Li <xiubli@redhat.com>
    Reviewed-by: Chris Down <chris@chrisdown.name>
    Reviewed-by: Petr Mladek <pmladek@suse.com>
    Link: https://lore.kernel.org/r/56cf92edccffea970e1f40a075334dd6cf5bb2a4.1709127473.git.geert+renesas@glider.be
    Signed-off-by: Petr Mladek <pmladek@suse.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    geertu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    5184e5a View commit details
    Browse the repository at this point in the history
  75. dev_printk: Add and use dev_no_printk()

    [ Upstream commit c26ec79 ]
    
    When printk-indexing is enabled, each dev_printk() invocation emits a
    pi_entry structure.  This is even true when the dev_printk() is
    protected by an always-false check, as is typically the case for debug
    messages: while the actual code to print the message is optimized out by
    the compiler, the pi_entry structure is still emitted.
    
    Avoid emitting pi_entry structures for unavailable dev_printk() kernel
    messages by:
      1. Introducing a dev_no_printk() helper, mimicked after the existing
         no_printk() helper, which calls _dev_printk() instead of
         dev_printk(),
      2. Replacing all "if (0) dev_printk(...)" constructs by calls to the
         new helper.
    
    This reduces the size of an arm64 defconfig kernel with
    CONFIG_PRINTK_INDEX=y by 957 KiB.
    
    Fixes: ad7d61f ("printk: index: Add indexing support to dev_printk")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: Xiubo Li <xiubli@redhat.com>
    Reviewed-by: Chris Down <chris@chrisdown.name>
    Reviewed-by: Petr Mladek <pmladek@suse.com>
    Link: https://lore.kernel.org/r/8583d54f1687c801c6cda8edddf2cf0344c6e883.1709127473.git.geert+renesas@glider.be
    Signed-off-by: Petr Mladek <pmladek@suse.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    geertu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ff05993 View commit details
    Browse the repository at this point in the history
  76. drm/lcdif: Do not disable clocks on already suspended hardware

    [ Upstream commit 172695f ]
    
    In case the LCDIF is enabled in DT but unused, the clocks used by the
    LCDIF are not enabled. Those clocks may even have a use count of 0 in
    case there are no other users of those clocks. This can happen e.g. in
    case the LCDIF drives HDMI bridge which has no panel plugged into the
    HDMI connector.
    
    Do not attempt to disable clocks in the suspend callback and re-enable
    clocks in the resume callback unless the LCDIF is enabled and was in
    use before the system entered suspend, otherwise the driver might end
    up trying to disable clocks which are already disabled with use count
    0, and would trigger a warning from clock core about this condition.
    
    Note that the lcdif_rpm_suspend() and lcdif_rpm_resume() functions
    internally perform the clocks disable and enable operations and act
    as runtime PM hooks too.
    
    Reviewed-by: Liu Ying <victor.liu@nxp.com>
    Fixes: 9db35bb ("drm: lcdif: Add support for i.MX8MP LCDIF variant")
    Signed-off-by: Marek Vasut <marex@denx.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240226082644.32603-1-marex@denx.de
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Marek Vasut authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    cf26003 View commit details
    Browse the repository at this point in the history
  77. drm/panel: atna33xc20: Fix unbalanced regulator in the case HPD doesn…

    …'t assert
    
    [ Upstream commit 5e842d5 ]
    
    When the atna33xc20 driver was first written the resume code never
    returned an error. If there was a problem waiting for HPD it just
    printed a warning and moved on. This changed in response to review
    feedback [1] on a future patch but I accidentally didn't account for
    rolling back the regulator enable in the error cases. Do so now.
    
    [1] https://lore.kernel.org/all/5f3cf3a6-1cc2-63e4-f76b-4ee686764705@linaro.org/
    
    Fixes: 3b5765d ("drm/panel: atna33xc20: Take advantage of wait_hpd_asserted() in struct drm_dp_aux")
    Acked-by: Jessica Zhang <quic_jesszhan@quicinc.com>
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240313-homestarpanel-regulator-v1-1-b8e3a336da12@chromium.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    dianders authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    9386206 View commit details
    Browse the repository at this point in the history
  78. drm/amd/display: Fix potential index out of bounds in color transform…

    …ation function
    
    [ Upstream commit 63ae548 ]
    
    Fixes index out of bounds issue in the color transformation function.
    The issue could occur when the index 'i' exceeds the number of transfer
    function points (TRANSFER_FUNC_POINTS).
    
    The fix adds a check to ensure 'i' is within bounds before accessing the
    transfer function points. If 'i' is out of bounds, an error message is
    logged and the function returns false to indicate an error.
    
    Reported by smatch:
    drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:405 cm_helper_translate_curve_to_hw_format() error: buffer overflow 'output_tf->tf_pts.red' 1025 <= s32max
    drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:406 cm_helper_translate_curve_to_hw_format() error: buffer overflow 'output_tf->tf_pts.green' 1025 <= s32max
    drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_cm_common.c:407 cm_helper_translate_curve_to_hw_format() error: buffer overflow 'output_tf->tf_pts.blue' 1025 <= s32max
    
    Fixes: b629596 ("drm/amd/display: Build unity lut for shaper")
    Cc: Vitaly Prosyak <vitaly.prosyak@amd.com>
    Cc: Charlene Liu <Charlene.Liu@amd.com>
    Cc: Harry Wentland <harry.wentland@amd.com>
    Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
    Cc: Roman Li <roman.li@amd.com>
    Cc: Aurabindo Pillai <aurabindo.pillai@amd.com>
    Cc: Tom Chung <chiahsuan.chung@amd.com>
    Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
    Reviewed-by: Tom Chung <chiahsuan.chung@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    srishanm authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    7226ddf View commit details
    Browse the repository at this point in the history
  79. drm/amd/display: Remove redundant condition in dcn35_calc_blocks_to_g…

    …ate()
    
    [ Upstream commit a43dbea ]
    
    pipe_ctx->plane_res.mpcc_inst is of a type that can only hold values
    between 0 and 255, so it's always greater than or equal to 0.
    
    Thus the condition 'pipe_ctx->plane_res.mpcc_inst >= 0' was always true
    and has been removed.
    
    Fixes the below:
    drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn35/dcn35_hwseq.c:1023 dcn35_calc_blocks_to_gate() warn: always true condition '(pipe_ctx->plane_res.mpcc_inst >= 0) => (0-255 >= 0)'
    
    Fixes: 6f8b756 ("drm/amd/display: Add DCN35 HWSEQ")
    Cc: Qingqing Zhuo <Qingqing.Zhuo@amd.com>
    Cc: Harry Wentland <Harry.Wentland@amd.com>
    Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
    Cc: Roman Li <roman.li@amd.com>
    Cc: Aurabindo Pillai <aurabindo.pillai@amd.com>
    Cc: Tom Chung <chiahsuan.chung@amd.com>
    Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
    Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    srishanm authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6a9cffd View commit details
    Browse the repository at this point in the history
  80. ASoC: Intel: Disable route checks for Skylake boards

    [ Upstream commit 0cb3b7f ]
    
    Topology files that are propagated to the world and utilized by the
    skylake-driver carry shortcomings in their SectionGraphs.
    
    Since commit daa480b ("ASoC: soc-core: tidyup for
    snd_soc_dapm_add_routes()") route checks are no longer permissive. Probe
    failures for Intel boards have been partially addressed by commit
    a22ae72 ("ASoC: soc-core: disable route checks for legacy devices")
    and its follow up but only skl_nau88l25_ssm4567.c is patched. Fix the
    problem for the rest of the boards.
    
    Link: https://lore.kernel.org/all/20200309192744.18380-1-pierre-louis.bossart@linux.intel.com/
    Fixes: daa480b ("ASoC: soc-core: tidyup for snd_soc_dapm_add_routes()")
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://msgid.link/r/20240308090502.2136760-2-cezary.rojewski@intel.com
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    crojewsk-intel authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    214c70c View commit details
    Browse the repository at this point in the history
  81. ASoC: Intel: avs: ssm4567: Do not ignore route checks

    [ Upstream commit e6719d4 ]
    
    A copy-paste from intel/boards/skl_nau88l25_ssm4567.c made the avs's
    equivalent disable route checks as well. Such behavior is not desired.
    
    Fixes: 69ea14e ("ASoC: Intel: avs: Add ssm4567 machine board")
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://msgid.link/r/20240308090502.2136760-4-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    crojewsk-intel authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    308bff2 View commit details
    Browse the repository at this point in the history
  82. mtd: core: Report error if first mtd_otp_size() call fails in mtd_otp…

    …_nvmem_add()
    
    [ Upstream commit d44f0bb ]
    
    Jump to the error reporting code in mtd_otp_nvmem_add() if the
    mtd_otp_size() call fails. Without this fix, the error is not logged.
    
    Signed-off-by: Aapo Vienamo <aapo.vienamo@linux.intel.com>
    Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Reviewed-by: Michael Walle <mwalle@kernel.org>
    Fixes: 4b361cf ("mtd: core: add OTP nvmem provider support")
    Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
    Link: https://lore.kernel.org/linux-mtd/20240313173425.1325790-2-aapo.vienamo@linux.intel.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Aapo Vienamo authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c2db9cb View commit details
    Browse the repository at this point in the history
  83. mtd: rawnand: hynix: fixed typo

    [ Upstream commit 6819db9 ]
    
    The function hynix_nand_rr_init() should probably return an error code.
    Judging by the usage, it seems that the return code is passed up
    the call stack.
    Right now, it always returns 0 and the function hynix_nand_cleanup()
    in hynix_nand_init() has never been called.
    
    Found by RASU JSC and Linux Verification Center (linuxtesting.org)
    
    Fixes: 626994e ("mtd: nand: hynix: Add read-retry support for 1x nm MLC NANDs")
    
    Signed-off-by: Maxim Korotkov <korotkov.maxim.s@gmail.com>
    Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
    Link: https://lore.kernel.org/linux-mtd/20240313102721.1991299-1-korotkov.maxim.s@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ProjectMutilation authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0411814 View commit details
    Browse the repository at this point in the history
  84. drm/imagination: avoid -Woverflow warning

    [ Upstream commit 07b9d01 ]
    
    The array size calculation in pvr_vm_mips_fini() appears to be incorrect based on
    taking the size of the pointer rather than the size of the array, which manifests
    as a warning about signed integer overflow:
    
    In file included from include/linux/kernel.h:16,
                     from drivers/gpu/drm/imagination/pvr_rogue_fwif.h:10,
                     from drivers/gpu/drm/imagination/pvr_ccb.h:7,
                     from drivers/gpu/drm/imagination/pvr_device.h:7,
                     from drivers/gpu/drm/imagination/pvr_vm_mips.c:4:
    drivers/gpu/drm/imagination/pvr_vm_mips.c: In function 'pvr_vm_mips_fini':
    include/linux/array_size.h:11:25: error: overflow in conversion from 'long unsigned int' to 'int' changes value from '18446744073709551615' to '-1' [-Werror=overflow]
       11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
          |                         ^
    drivers/gpu/drm/imagination/pvr_vm_mips.c:106:24: note: in expansion of macro 'ARRAY_SIZE'
      106 |         for (page_nr = ARRAY_SIZE(mips_data->pt_pages) - 1; page_nr >= 0; page_nr--) {
          |                        ^~~~~~~~~~
    
    Just use the number of array elements directly here, and in the corresponding
    init function for consistency.
    
    Fixes: 927f3e0 ("drm/imagination: Implement MIPS firmware processor and MMU support")
    Reviewed-by: Donald Robson <donald.robson@imgtec.com>
    Link: https://lore.kernel.org/lkml/9df9e4f87727399928c068dbbf614c9895ae15f9.camel@imgtec.com/
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Matt Coster <matt.coster@imgtec.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    arndb authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a8e0125 View commit details
    Browse the repository at this point in the history
  85. ASoC: mediatek: Assign dummy when codec not specified for a DAI link

    [ Upstream commit 5f39231 ]
    
    MediaTek sound card drivers are checking whether a DAI link is present
    and used on a board to assign the correct parameters and this is done
    by checking the codec DAI names at probe time.
    
    If no real codec is present, assign the dummy codec to the DAI link
    to avoid NULL pointer during string comparison.
    
    Fixes: 4302187 ("ASoC: mediatek: common: add soundcard driver common code")
    Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Link: https://msgid.link/r/20240313110147.1267793-5-angelogioacchino.delregno@collabora.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    AngeloGioacchino Del Regno authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0c052b1 View commit details
    Browse the repository at this point in the history
  86. drm/panel: ltk050h3146w: add MIPI_DSI_MODE_VIDEO to LTK050H3148W flags

    [ Upstream commit 80cc8c0 ]
    
    Similar to other variants, the LTK050H3148W wants to run in video mode
    when displaying data. So far only the Synopsis DSI driver was using this
    panel and it is always switching to video mode, independent of this flag
    being set.
    
    Other DSI drivers might handle this differently, so add the flag.
    
    Fixes: e5f9d54 ("drm/panel: ltk050h3146w: add support for Leadtek LTK050H3148W-CTA6 variant")
    Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
    Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
    Acked-by: Jessica Zhang <quic_jesszhan@quicinc.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240320131232.327196-1-heiko@sntech.de
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Heiko Stuebner authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6127ea0 View commit details
    Browse the repository at this point in the history
  87. drm/panel: ltk050h3146w: drop duplicate commands from LTK050H3148W init

    [ Upstream commit 55679cc ]
    
    The init sequence specifies the 0x11 and 0x29 dsi commands, which are
    the exit-sleep and display-on commands.
    
    In the actual prepare step the driver already uses the appropriate
    function calls for those, so drop the duplicates.
    
    Fixes: e5f9d54 ("drm/panel: ltk050h3146w: add support for Leadtek LTK050H3148W-CTA6 variant")
    Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
    Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240320131232.327196-2-heiko@sntech.de
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Heiko Stuebner authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    4e8de27 View commit details
    Browse the repository at this point in the history
  88. fbdev: shmobile: fix snprintf truncation

    [ Upstream commit 26c8cfb ]
    
    The name of the overlay does not fit into the fixed-length field:
    
    drivers/video/fbdev/sh_mobile_lcdcfb.c:1577:2: error: 'snprintf' will always be truncated; specified size is 16, but format string expands to at least 25
    
    Make it short enough by changing the string.
    
    Fixes: c5deac3 ("fbdev: sh_mobile_lcdc: Implement overlays support")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    arndb authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    5609a44 View commit details
    Browse the repository at this point in the history
  89. ASoC: kirkwood: Fix potential NULL dereference

    [ Upstream commit ea60ab9 ]
    
    In kirkwood_dma_hw_params() mv_mbus_dram_info() returns NULL if
    CONFIG_PLAT_ORION macro is not defined.
    Fix this bug by adding NULL check.
    
    Found by Linux Verification Center (linuxtesting.org) with SVACE.
    
    Fixes: bb6a40f ("ASoC: kirkwood: Fix reference to PCM buffer address")
    Signed-off-by: Aleksandr Mishin <amishin@t-argos.ru>
    Link: https://msgid.link/r/20240328173337.21406-1-amishin@t-argos.ru
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Aleksandr Mishin authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    802b49e View commit details
    Browse the repository at this point in the history
  90. drm/meson: vclk: fix calculation of 59.94 fractional rates

    [ Upstream commit bfbc68e ]
    
    Playing 4K media with 59.94 fractional rate (typically VP9) causes the screen to lose
    sync with the following error reported in the system log:
    
    [   89.610280] Fatal Error, invalid HDMI vclk freq 593406
    
    Modetest shows the following:
    
    3840x2160 59.94 3840 4016 4104 4400 2160 2168 2178 2250 593407 flags: xxxx, xxxx,
    drm calculated value -------------------------------------^
    
    Change the fractional rate calculation to stop DIV_ROUND_CLOSEST rounding down which
    results in vclk freq failing to match correctly.
    
    Fixes: e5fab2e ("drm/meson: vclk: add support for YUV420 setup")
    Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
    Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
    Link: https://lore.kernel.org/r/20240109230704.4120561-1-christianshewitt@gmail.com
    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240109230704.4120561-1-christianshewitt@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    chewitt authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ec63746 View commit details
    Browse the repository at this point in the history
  91. drm/mediatek: Add 0 size check to mtk_drm_gem_obj

    [ Upstream commit 1e43500 ]
    
    Add a check to mtk_drm_gem_init if we attempt to allocate a GEM object
    of 0 bytes. Currently, no such check exists and the kernel will panic if
    a userspace application attempts to allocate a 0x0 GBM buffer.
    
    Tested by attempting to allocate a 0x0 GBM buffer on an MT8188 and
    verifying that we now return EINVAL.
    
    Fixes: 119f517 ("drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.")
    Signed-off-by: Justin Green <greenjustin@chromium.org>
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: CK Hu <ck.hu@mediatek.com>
    Link: https://patchwork.kernel.org/project/dri-devel/patch/20240307180051.4104425-1-greenjustin@chromium.org/
    Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Justin Green authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    fb4aabd View commit details
    Browse the repository at this point in the history
  92. drm/mediatek: Init ddp_comp with devm_kcalloc()

    [ Upstream commit 01a2c51 ]
    
    In the case where `conn_routes` is true we allocate an extra slot in
    the `ddp_comp` array but mtk_drm_crtc_create() never seemed to
    initialize it in the test case I ran. For me, this caused a later
    crash when we looped through the array in mtk_drm_crtc_mode_valid().
    This showed up for me when I booted with `slub_debug=FZPUA` which
    poisons the memory initially. Without `slub_debug` I couldn't
    reproduce, presumably because the later code handles the value being
    NULL and in most cases (not guaranteed in all cases) the memory the
    allocator returned started out as 0.
    
    It really doesn't hurt to initialize the array with devm_kcalloc()
    since the array is small and the overhead of initting a handful of
    elements to 0 is small. In general initting memory to zero is a safer
    practice and usually it's suggested to only use the non-initting alloc
    functions if you really need to.
    
    Let's switch the function to use an allocation function that zeros the
    memory. For me, this avoids the crash.
    
    Fixes: 01389b3 ("drm/mediatek: Add connector dynamic selection capability")
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Reviewed-by: CK Hu <ck.hu@mediatek.com>
    Link: https://patchwork.kernel.org/project/dri-devel/patch/20240328092248.1.I2e73c38c0f264ee2fa4a09cdd83994e37ba9f541@changeid/
    Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    dianders authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    9fe2cc3 View commit details
    Browse the repository at this point in the history
  93. ASoC: SOF: Intel: hda-dai: fix channel map configuration for aggregat…

    …ed dailink
    
    [ Upstream commit 8310455 ]
    
    The existing code derives the channel map used to program the HDaudio
    link DMA from the hw_params, but that is not quite right in the case
    of aggregation. The code in soc-pcm.c splits the hw_params depending
    on the codec_ch_map, and we need to reconstruct the channel-map to
    insert the data in the right places.
    
    This issue is seen only on amplifier feedback capture where the data
    from the second amplifier was replaced by that of the first amplifier.
    
    Note that the loop iterator of the macro for_each_rtd_cpu_dais() is
    reused in a following loop. This is different to all existing usages
    of that macro, hence the use of a boolean flag to avoid an access to
    an uninitialized variable.
    
    Fixes: 2960ee5 ("ASoC: SOF: Intel: hda-dai: add helpers for SoundWire callbacks")
    Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://msgid.link/r/20240402151828.175002-2-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    plbossart authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6402834 View commit details
    Browse the repository at this point in the history
  94. powerpc/fsl-soc: hide unused const variable

    [ Upstream commit 01acaf3 ]
    
    vmpic_msi_feature is only used conditionally, which triggers a rare
    -Werror=unused-const-variable= warning with gcc:
    
    arch/powerpc/sysdev/fsl_msi.c:567:37: error: 'vmpic_msi_feature' defined but not used [-Werror=unused-const-variable=]
      567 | static const struct fsl_msi_feature vmpic_msi_feature =
    
    Hide this one in the same #ifdef as the reference so we can turn on
    the warning by default.
    
    Fixes: 305bcf2 ("powerpc/fsl-soc: use CONFIG_EPAPR_PARAVIRT for hcalls")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://msgid.link/20240403080702.3509288-2-arnd@kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    arndb authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    5ef39cc View commit details
    Browse the repository at this point in the history
  95. ASoC: SOF: Intel: mtl: Correct rom_status_reg

    [ Upstream commit 1f1b820 ]
    
    ACE1 architecture changed the place where the ROM updates the status code
    from the shared SRAM window to HFFLGP1QW0 register for the status and
    HFFLGP1QW0 + 4 for the error code.
    
    The rom_status_reg is not used on MTL because it was wrongly assigned based
    on older platform convention (SRAM window) and it was giving inconsistent
    readings.
    
    Fixes: 064520e ("ASoC: SOF: Intel: Add support for MeteorLake (MTL)")
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
    Link: https://msgid.link/r/20240403105210.17949-3-peter.ujfalusi@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ujfalusi authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    f25539a View commit details
    Browse the repository at this point in the history
  96. ASoC: SOF: Intel: lnl: Correct rom_status_reg

    [ Upstream commit b852574 ]
    
    ACE2 architecture changed the place where the ROM updates the status code
    from the shared SRAM window (and HFFLGP1QW0 in ACE1) to HFDSC register for
    the status and HFDEC (HFDSC + 4) for the error code.
    
    The rom_status_reg is not used on LNL because it was wrongly assigned based
    on older platform convention (SRAM window) and it was giving inconsistent
    readings.
    
    Add new header file for lnl specific register definitions.
    
    Fixes: 64a63d9 ("ASoC: SOF: Intel: LNL: Add support for Lunarlake platform")
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
    Link: https://msgid.link/r/20240403105210.17949-4-peter.ujfalusi@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ujfalusi authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0f92530 View commit details
    Browse the repository at this point in the history
  97. ASoC: SOF: Intel: mtl: Disable interrupts when firmware boot failed

    [ Upstream commit 26187f4 ]
    
    In case of error during the firmware boot we need to disable the interrupts
    which were enabled as part of the boot sequence.
    
    Fixes: 064520e ("ASoC: SOF: Intel: Add support for MeteorLake (MTL)")
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
    Link: https://msgid.link/r/20240403105210.17949-5-peter.ujfalusi@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ujfalusi authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    f7eacef View commit details
    Browse the repository at this point in the history
  98. ASoC: SOF: Intel: mtl: Implement firmware boot state check

    [ Upstream commit 6b1c1c4 ]
    
    With the corrected rom_status_reg values we can now add a check for target
    boot status for firmware booting.
    With the check now we can identify failed firmware boots (IMR boots) and
    we can use the fallback to purge boot the DSP.
    
    Fixes: 064520e ("ASoC: SOF: Intel: Add support for MeteorLake (MTL)")
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
    Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
    Link: https://msgid.link/r/20240403105210.17949-6-peter.ujfalusi@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ujfalusi authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    fae7c3d View commit details
    Browse the repository at this point in the history
  99. fbdev: sisfb: hide unused variables

    [ Upstream commit 688cf59 ]
    
    Building with W=1 shows that a couple of variables in this driver are only
    used in certain configurations:
    
    drivers/video/fbdev/sis/init301.c:239:28: error: 'SiS_Part2CLVX_6' defined but not used [-Werror=unused-const-variable=]
      239 | static const unsigned char SiS_Part2CLVX_6[] = {   /* 1080i */
          |                            ^~~~~~~~~~~~~~~
    drivers/video/fbdev/sis/init301.c:230:28: error: 'SiS_Part2CLVX_5' defined but not used [-Werror=unused-const-variable=]
      230 | static const unsigned char SiS_Part2CLVX_5[] = {   /* 750p */
          |                            ^~~~~~~~~~~~~~~
    drivers/video/fbdev/sis/init301.c:211:28: error: 'SiS_Part2CLVX_4' defined but not used [-Werror=unused-const-variable=]
      211 | static const unsigned char SiS_Part2CLVX_4[] = {   /* PAL */
          |                            ^~~~~~~~~~~~~~~
    drivers/video/fbdev/sis/init301.c:192:28: error: 'SiS_Part2CLVX_3' defined but not used [-Werror=unused-const-variable=]
      192 | static const unsigned char SiS_Part2CLVX_3[] = {  /* NTSC, 525i, 525p */
          |                            ^~~~~~~~~~~~~~~
    drivers/video/fbdev/sis/init301.c:184:28: error: 'SiS_Part2CLVX_2' defined but not used [-Werror=unused-const-variable=]
      184 | static const unsigned char SiS_Part2CLVX_2[] = {
          |                            ^~~~~~~~~~~~~~~
    drivers/video/fbdev/sis/init301.c:176:28: error: 'SiS_Part2CLVX_1' defined but not used [-Werror=unused-const-variable=]
      176 | static const unsigned char SiS_Part2CLVX_1[] = {
          |                            ^~~~~~~~~~~~~~~
    
    This started showing up after the definitions were moved into the
    source file from the header, which was not flagged by the compiler.
    Move the definition into the appropriate #ifdef block that already
    exists next to them.
    
    Fixes: 5908986 ("video: fbdev: sis: avoid mismatched prototypes")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    arndb authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    f3a0cd9 View commit details
    Browse the repository at this point in the history
  100. selftests: cgroup: skip test_cgcore_lesser_ns_open when cgroup2 mount…

    …ed without nsdelegate
    
    [ Upstream commit 4793cb5 ]
    
    The test case test_cgcore_lesser_ns_open only tasks effect when cgroup2
    is mounted with "nsdelegate" mount option. If it misses this option, or
    is remounted without "nsdelegate", the test case will fail. For example,
    running bpf/test_cgroup_storage first, and then run cgroup/test_core will
    fail on test_cgcore_lesser_ns_open. Skip it if "nsdelegate" is not
    detected in cgroup2 mount options.
    
    Fixes: bf35a78 ("selftests: cgroup: Test open-time cgroup namespace usage for migration checks")
    Signed-off-by: Tianchen Ding <dtcccc@linux.alibaba.com>
    Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    dtcccc authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0b6d0d1 View commit details
    Browse the repository at this point in the history
  101. ASoC: Intel: avs: Restore stream decoupling on prepare

    [ Upstream commit 6805075 ]
    
    Revert changes from commit b87b8f4 ("ASoC: Intel: avs: Drop
    superfluous stream decoupling") to restore working streaming during S3.
    
    Fixes: b87b8f4 ("ASoC: Intel: avs: Drop superfluous stream decoupling")
    Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://msgid.link/r/20240405090929.1184068-2-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Amadeusz Sławiński authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    b33040a View commit details
    Browse the repository at this point in the history
  102. ASoC: Intel: avs: Fix debug-slot offset calculation

    [ Upstream commit c91b692 ]
    
    For resources with ID other than 0 the current calculus is incorrect.
    
    Fixes: 275b583 ("ASoC: Intel: avs: ICL-based platforms support")
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://msgid.link/r/20240405090929.1184068-3-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    crojewsk-intel authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    1259625 View commit details
    Browse the repository at this point in the history
  103. ASoC: Intel: avs: Fix ASRC module initialization

    [ Upstream commit 9d2e26f ]
    
    The ASRC module configuration consists of several reserved fields. Zero
    them out when initializing the module to avoid sending invalid data.
    
    Fixes: 274d79e ("ASoC: Intel: avs: Configure modules according to their type")
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://msgid.link/r/20240405090929.1184068-6-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    crojewsk-intel authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    70d058d View commit details
    Browse the repository at this point in the history
  104. ASoC: Intel: avs: Fix potential integer overflow

    [ Upstream commit c7e832c ]
    
    While stream_tag for CLDMA on SKL-based platforms is always 1, function
    hda_cldma_setup() uses AZX_SD_CTL_STRM() macro which does:
    	stream_tag << 20
    
    what combined with stream_tag type of 'unsigned int' generates a
    potential overflow issue. Update the field type to fix that.
    
    Fixes: 45864e4 ("ASoC: Intel: avs: Implement CLDMA transfer")
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://msgid.link/r/20240405090929.1184068-8-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    crojewsk-intel authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    3c2521a View commit details
    Browse the repository at this point in the history
  105. ASoC: Intel: avs: Test result of avs_get_module_entry()

    [ Upstream commit 41bf452 ]
    
    While PROBE_MOD_UUID is always part of the base AudioDSP firmware
    manifest, from maintenance point of view it is better to check the
    result.
    
    Fixes: dab8d00 ("ASoC: Intel: avs: Add data probing requests")
    Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
    Link: https://msgid.link/r/20240405090929.1184068-9-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    crojewsk-intel authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    252c05e View commit details
    Browse the repository at this point in the history
  106. media: ngene: Add dvb_ca_en50221_init return value check

    [ Upstream commit 9bb1fd7 ]
    
    The return value of dvb_ca_en50221_init() is not checked here that may
    cause undefined behavior in case of nonzero value return.
    
    Found by Linux Verification Center (linuxtesting.org) with SVACE.
    
    Fixes: 25aee3d ("[media] Rename media/dvb as media/pci")
    Signed-off-by: Aleksandr Burakov <a.burakov@rosalinux.ru>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Aleksandr Burakov authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    303dc93 View commit details
    Browse the repository at this point in the history
  107. staging: media: starfive: Remove links when unregistering devices

    [ Upstream commit 810dd60 ]
    
    Need to remove links when unregistering devices.
    
    Fixes: ac7da4a ("media: staging: media: starfive: camss: Register devices")
    
    Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    changhuangliang authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c58270d View commit details
    Browse the repository at this point in the history
  108. media: rcar-vin: work around -Wenum-compare-conditional warning

    [ Upstream commit 1a742c6 ]
    
    clang-19 warns about mixing two enum types here:
    
    drivers/media/platform/renesas/rcar-vin/rcar-vin.h:296:12: error: conditional expression between different enumeration types ('enum rvin_csi_id' and 'enum rvin_isp_id') [-Werror,-Wenum-compare-conditional]
    drivers/media/platform/renesas/rcar-vin/rcar-core.c:216:18: error: conditional expression between different enumeration types ('enum rvin_csi_id' and 'enum rvin_isp_id') [-Werror,-Wenum-compare-conditional]
    drivers/media/platform/renesas/rcar-vin/rcar-vin.h:296:12: error: conditional expression between different enumeration types ('enum rvin_csi_id' and 'enum rvin_isp_id') [-Werror,-Wenum-compare-conditional]
    drivers/media/platform/renesas/rcar-vin/rcar-vin.h:296:12: error: conditional expression between different enumeration types ('enum rvin_csi_id' and 'enum rvin_isp_id') [-Werror,-Wenum-compare-conditional]
    
    This one is intentional, and there is already a cast to work around another
    warning, so address this by adding another cast.
    
    Fixes: 406bb58 ("media: rcar-vin: Add r8a779a0 support")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    arndb authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0d27a84 View commit details
    Browse the repository at this point in the history
  109. media: radio-shark2: Avoid led_names truncations

    [ Upstream commit 1820e16 ]
    
    Increase the size of led_names so it can fit any valid v4l2 device name.
    
    Fixes:
    drivers/media/radio/radio-shark2.c:197:17: warning: ‘%s’ directive output may be truncated writing up to 35 bytes into a region of size 32 [-Wformat-truncation=]
    
    Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ribalda authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    64dc853 View commit details
    Browse the repository at this point in the history
  110. drm: bridge: cdns-mhdp8546: Fix possible null pointer dereference

    [ Upstream commit 935a92a ]
    
    In cdns_mhdp_atomic_enable(), the return value of drm_mode_duplicate() is
    assigned to mhdp_state->current_mode, and there is a dereference of it in
    drm_mode_set_name(), which will lead to a NULL pointer dereference on
    failure of drm_mode_duplicate().
    
    Fix this bug add a check of mhdp_state->current_mode.
    
    Fixes: fb43aa0 ("drm: bridge: Add support for Cadence MHDP8546 DPI/DP bridge")
    Signed-off-by: Aleksandr Mishin <amishin@t-argos.ru>
    Reviewed-by: Robert Foss <rfoss@kernel.org>
    Signed-off-by: Robert Foss <rfoss@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240408125810.21899-1-amishin@t-argos.ru
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Aleksandr Mishin authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    4788971 View commit details
    Browse the repository at this point in the history
  111. platform/x86: xiaomi-wmi: Fix race condition when reporting key events

    [ Upstream commit 290680c ]
    
    Multiple WMI events can be received concurrently, so multiple instances
    of xiaomi_wmi_notify() can be active at the same time. Since the input
    device is shared between those handlers, the key input sequence can be
    disturbed.
    
    Fix this by protecting the key input sequence with a mutex.
    
    Compile-tested only.
    
    Fixes: edb73f4 ("platform/x86: wmi: add Xiaomi WMI key driver")
    Signed-off-by: Armin Wolf <W_Armin@gmx.de>
    Link: https://lore.kernel.org/r/20240402143059.8456-2-W_Armin@gmx.de
    Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Wer-Wolf authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    88d7042 View commit details
    Browse the repository at this point in the history
  112. drm/msm/dp: allow voltage swing / pre emphasis of 3

    [ Upstream commit 2257817 ]
    
    Both dp_link_adjust_levels() and dp_ctrl_update_vx_px() limit swing and
    pre-emphasis to 2, while the real maximum value for the sum of the
    voltage swing and pre-emphasis is 3. Fix the DP code to remove this
    limitation.
    
    Fixes: c943b49 ("drm/msm/dp: add displayPort driver support")
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Reviewed-by: Kuogee Hsieh <quic_khsieh@quicinc.com>
    Tested-by: Kuogee Hsieh <quic_khsieh@quicinc.com>
    Patchwork: https://patchwork.freedesktop.org/patch/577006/
    Link: https://lore.kernel.org/r/20240203-dp-swing-3-v1-1-6545e1706196@linaro.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    lumag authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    01cabb4 View commit details
    Browse the repository at this point in the history
  113. drm/msm/dp: Avoid a long timeout for AUX transfer if nothing connected

    [ Upstream commit 5d1a749 ]
    
    As documented in the description of the transfer() function of
    "struct drm_dp_aux", the transfer() function can be called at any time
    regardless of the state of the DP port. Specifically if the kernel has
    the DP AUX character device enabled and userspace accesses
    "/dev/drm_dp_auxN" directly then the AUX transfer function will be
    called regardless of whether a DP device is connected.
    
    For eDP panels we have a special rule where we wait (with a 5 second
    timeout) for HPD to go high. This rule was important before all panels
    drivers were converted to call wait_hpd_asserted() and actually can be
    removed in a future commit.
    
    For external DP devices we never checked for HPD. That means that
    trying to access the DP AUX character device (AKA `hexdump -C
    /dev/drm_dp_auxN`) would very, very slowly timeout. Specifically on my
    system:
      $ time hexdump -C /dev/drm_dp_aux0
      hexdump: /dev/drm_dp_aux0: Connection timed out
      real    0m8.200s
    We want access to the drm_dp_auxN character device to fail faster than
    8 seconds when no DP cable is plugged in.
    
    Let's add a test to make transfers fail right away if a device isn't
    plugged in. Rather than testing the HPD line directly, we have the
    dp_display module tell us when AUX transfers should be enabled so we
    can handle cases where HPD is signaled out of band like with Type C.
    
    Fixes: c943b49 ("drm/msm/dp: add displayPort driver support")
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Reviewed-by: Guenter Roeck <groeck@chromium.org>
    Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
    Patchwork: https://patchwork.freedesktop.org/patch/583127/
    Link: https://lore.kernel.org/r/20240315143621.v2.1.I16aff881c9fe82b5e0fc06ca312da017aa7b5b3e@changeid
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    dianders authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    d7ef314 View commit details
    Browse the repository at this point in the history
  114. drm/msm/dp: Account for the timeout in wait_hpd_asserted() callback

    [ Upstream commit c8520d5 ]
    
    The DP wait_hpd_asserted() callback is passed a timeout which
    indicates how long we should wait for HPD. This timeout was being
    ignored in the MSM DP implementation and instead a hardcoded 500 ms
    timeout was used. Fix it to use the proper timeout.
    
    As part of this we move the hardcoded 500 ms number into the AUX
    transfer function, which isn't given a timeout. The wait in the AUX
    transfer function will be removed in a future commit.
    
    Fixes: e2969ee ("drm/msm/dp: move of_dp_aux_populate_bus() to eDP probe()")
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
    Patchwork: https://patchwork.freedesktop.org/patch/583128/
    Link: https://lore.kernel.org/r/20240315143621.v2.2.I7758d18a1773821fa39c034b16a12ef3f18a51ee@changeid
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    dianders authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    f8035d0 View commit details
    Browse the repository at this point in the history
  115. media: ipu3-cio2: Request IRQ earlier

    [ Upstream commit a069f79 ]
    
    Call devm_request_irq() before registering the async notifier, as otherwise
    it would be possible to use the device before the interrupts could be
    delivered to the driver.
    
    Fixes: c2a6a07 ("media: intel-ipu3: cio2: add new MIPI-CSI2 driver")
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Sakari Ailus authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a58975f View commit details
    Browse the repository at this point in the history
  116. media: dt-bindings: ovti,ov2680: Fix the power supply names

    [ Upstream commit e2f6ea6 ]
    
    The original .txt bindings had the OV2680 power supply names correct,
    but the transition from .txt to yaml spelled them incorrectly.
    
    Fix the OV2680 power supply names as the original .txt bindings
    as these are the names used by the OV2680 driver and in devicetree.
    
    Fixes: 57226cd ("media: dt-bindings: ov2680: convert bindings to yaml")
    Signed-off-by: Fabio Estevam <festevam@denx.de>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Fabio Estevam authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    cea7eb9 View commit details
    Browse the repository at this point in the history
  117. media: i2c: et8ek8: Don't strip remove function when driver is builtin

    [ Upstream commit 545b215 ]
    
    Using __exit for the remove function results in the remove callback
    being discarded with CONFIG_VIDEO_ET8EK8=y. When such a device gets
    unbound (e.g. using sysfs or hotplug), the driver is just removed
    without the cleanup being performed. This results in resource leaks. Fix
    it by compiling in the remove callback unconditionally.
    
    This also fixes a W=1 modpost warning:
    
    	WARNING: modpost: drivers/media/i2c/et8ek8/et8ek8: section mismatch in reference: et8ek8_i2c_driver+0x10 (section: .data) -> et8ek8_remove (section: .exit.text)
    
    Fixes: c5254e7 ("[media] media: Driver for Toshiba et8ek8 5MP sensor")
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Uwe Kleine-König authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    904db2b View commit details
    Browse the repository at this point in the history
  118. media: v4l2-subdev: Fix stream handling for crop API

    [ Upstream commit 34d7bf1 ]
    
    When support for streams was added to the V4L2 subdev API, the
    v4l2_subdev_crop structure was extended with a stream field, but the
    field was not handled in the core code that translates the
    VIDIOC_SUBDEV_[GS]_CROP ioctls to the selection API. Fix it.
    
    Fixes: 2f91e10 ("media: subdev: add stream based configuration")
    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    pinchartl authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    8e4d288 View commit details
    Browse the repository at this point in the history
  119. fbdev: sh7760fb: allow modular build

    [ Upstream commit 51084f8 ]
    
    There is no reason to prohibit sh7760fb from being built as a
    loadable module as suggested by Geert, so change the config symbol
    from bool to tristate to allow that and change the FB dependency as
    needed.
    
    Fixes: f75f71b ("fbdev/sh7760fb: Depend on FB=y")
    Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: Thomas Zimmermann <tzimmermann@suse.de>
    Cc: Javier Martinez Canillas <javierm@redhat.com>
    Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Cc: Helge Deller <deller@gmx.de>
    Cc: linux-fbdev@vger.kernel.org
    Cc: dri-devel@lists.freedesktop.org
    Acked-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
    Acked-by: Javier Martinez Canillas <javierm@redhat.com>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    rddunlap authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    f5ec77c View commit details
    Browse the repository at this point in the history
  120. media: atomisp: ssh_css: Fix a null-pointer dereference in load_video…

    …_binaries
    
    [ Upstream commit 3b621e9 ]
    
    The allocation failure of mycs->yuv_scaler_binary in load_video_binaries()
    is followed with a dereference of mycs->yuv_scaler_binary after the
    following call chain:
    
    sh_css_pipe_load_binaries()
      |-> load_video_binaries(mycs->yuv_scaler_binary == NULL)
      |
      |-> sh_css_pipe_unload_binaries()
            |-> unload_video_binaries()
    
    In unload_video_binaries(), it calls to ia_css_binary_unload with argument
    &pipe->pipe_settings.video.yuv_scaler_binary[i], which refers to the
    same memory slot as mycs->yuv_scaler_binary. Thus, a null-pointer
    dereference is triggered.
    
    Link: https://lore.kernel.org/r/20240118151303.3828292-1-alexious@zju.edu.cn
    
    Fixes: a49d253 ("staging/atomisp: Add support for the Intel IPU v2")
    Signed-off-by: Zhipeng Lu <alexious@zju.edu.cn>
    Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    AlexiousLu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6482c43 View commit details
    Browse the repository at this point in the history
  121. drm/arm/malidp: fix a possible null pointer dereference

    [ Upstream commit a1f95ae ]
    
    In malidp_mw_connector_reset, new memory is allocated with kzalloc, but
    no check is performed. In order to prevent null pointer dereferencing,
    ensure that mw_state is checked before calling
    __drm_atomic_helper_connector_reset.
    
    Fixes: 8cbc5ca ("drm: mali-dp: Add writeback connector")
    Signed-off-by: Huai-Yuan Liu <qq810974084@gmail.com>
    Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240407063053.5481-1-qq810974084@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Huai-Yuan Liu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    93f76ec View commit details
    Browse the repository at this point in the history
  122. drm: vc4: Fix possible null pointer dereference

    [ Upstream commit c534b63 ]
    
    In vc4_hdmi_audio_init() of_get_address() may return
    NULL which is later dereferenced. Fix this bug by adding NULL check.
    
    Found by Linux Verification Center (linuxtesting.org) with SVACE.
    
    Fixes: bb7d785 ("drm/vc4: Add HDMI audio support")
    Signed-off-by: Aleksandr Mishin <amishin@t-argos.ru>
    Signed-off-by: Maxime Ripard <mripard@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240409075622.11783-1-amishin@t-argos.ru
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Aleksandr Mishin authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    bd7827d View commit details
    Browse the repository at this point in the history
  123. ASoC: tracing: Export SND_SOC_DAPM_DIR_OUT to its value

    [ Upstream commit 58300f8 ]
    
    The string SND_SOC_DAPM_DIR_OUT is printed in the snd_soc_dapm_path trace
    event instead of its value:
    
       (((REC->path_dir) == SND_SOC_DAPM_DIR_OUT) ? "->" : "<-")
    
    User space cannot parse this, as it has no idea what SND_SOC_DAPM_DIR_OUT
    is. Use TRACE_DEFINE_ENUM() to convert it to its value:
    
       (((REC->path_dir) == 1) ? "->" : "<-")
    
    So that user space tools, such as perf and trace-cmd, can parse it
    correctly.
    
    Reported-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
    Fixes: 6e588a0 ("ASoC: dapm: Consolidate path trace events")
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    Link: https://lore.kernel.org/r/20240416000303.04670cdf@rorschach.local.home
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    rostedt authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    3f05a1a View commit details
    Browse the repository at this point in the history
  124. drm/bridge: anx7625: Don't log an error when DSI host can't be found

    [ Upstream commit ef4a920 ]
    
    Given that failing to find a DSI host causes the driver to defer probe,
    make use of dev_err_probe() to log the reason. This makes the defer
    probe reason available and avoids alerting userspace about something
    that is not necessarily an error.
    
    Fixes: 2693329 ("drm/bridge: anx7625: Return -EPROBE_DEFER if the dsi host was not found")
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
    Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
    Signed-off-by: Robert Foss <rfoss@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240415-anx7625-defer-log-no-dsi-host-v3-1-619a28148e5c@collabora.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nfraprado authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ccf8dc4 View commit details
    Browse the repository at this point in the history
  125. drm/bridge: icn6211: Don't log an error when DSI host can't be found

    [ Upstream commit 275fafe ]
    
    Given that failing to find a DSI host causes the driver to defer probe,
    make use of dev_err_probe() to log the reason. This makes the defer
    probe reason available and avoids alerting userspace about something
    that is not necessarily an error.
    
    Fixes: 8dde6f7 ("drm: bridge: icn6211: Add I2C configuration support")
    Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
    Signed-off-by: Robert Foss <rfoss@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240415-anx7625-defer-log-no-dsi-host-v3-2-619a28148e5c@collabora.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nfraprado authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    4f9faca View commit details
    Browse the repository at this point in the history
  126. drm/bridge: lt8912b: Don't log an error when DSI host can't be found

    [ Upstream commit b3b4695 ]
    
    Given that failing to find a DSI host causes the driver to defer probe,
    make use of dev_err_probe() to log the reason. This makes the defer
    probe reason available and avoids alerting userspace about something
    that is not necessarily an error.
    
    Fixes: 30e2ae9 ("drm/bridge: Introduce LT8912B DSI to HDMI bridge")
    Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
    Signed-off-by: Robert Foss <rfoss@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240415-anx7625-defer-log-no-dsi-host-v3-3-619a28148e5c@collabora.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nfraprado authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    69bc77f View commit details
    Browse the repository at this point in the history
  127. drm/bridge: lt9611: Don't log an error when DSI host can't be found

    [ Upstream commit cd0a2c6 ]
    
    Given that failing to find a DSI host causes the driver to defer probe,
    make use of dev_err_probe() to log the reason. This makes the defer
    probe reason available and avoids alerting userspace about something
    that is not necessarily an error.
    
    Fixes: 23278bf ("drm/bridge: Introduce LT9611 DSI to HDMI bridge")
    Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Signed-off-by: Robert Foss <rfoss@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240415-anx7625-defer-log-no-dsi-host-v3-4-619a28148e5c@collabora.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nfraprado authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a86321b View commit details
    Browse the repository at this point in the history
  128. drm/bridge: lt9611uxc: Don't log an error when DSI host can't be found

    [ Upstream commit 6d9e877 ]
    
    Given that failing to find a DSI host causes the driver to defer probe,
    make use of dev_err_probe() to log the reason. This makes the defer
    probe reason available and avoids alerting userspace about something
    that is not necessarily an error.
    
    Fixes: 0cbbd5b ("drm: bridge: add support for lontium LT9611UXC bridge")
    Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Signed-off-by: Robert Foss <rfoss@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240415-anx7625-defer-log-no-dsi-host-v3-5-619a28148e5c@collabora.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nfraprado authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    72ca417 View commit details
    Browse the repository at this point in the history
  129. drm/bridge: tc358775: Don't log an error when DSI host can't be found

    [ Upstream commit 272377a ]
    
    Given that failing to find a DSI host causes the driver to defer probe,
    make use of dev_err_probe() to log the reason. This makes the defer
    probe reason available and avoids alerting userspace about something
    that is not necessarily an error.
    
    Fixes: b269755 ("display/drm/bridge: TC358775 DSI/LVDS driver")
    Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
    Signed-off-by: Robert Foss <rfoss@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240415-anx7625-defer-log-no-dsi-host-v3-6-619a28148e5c@collabora.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nfraprado authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a073e01 View commit details
    Browse the repository at this point in the history
  130. drm/bridge: dpc3433: Don't log an error when DSI host can't be found

    [ Upstream commit 24f4f57 ]
    
    Given that failing to find a DSI host causes the driver to defer probe,
    make use of dev_err_probe() to log the reason. This makes the defer
    probe reason available and avoids alerting userspace about something
    that is not necessarily an error.
    
    Also move the "failed to attach" error message so that it's only printed
    when the devm_mipi_dsi_attach() call fails.
    
    Fixes: 6352cd4 ("drm: bridge: Add TI DLPC3433 DSI to DMD bridge")
    Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
    Signed-off-by: Robert Foss <rfoss@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240415-anx7625-defer-log-no-dsi-host-v3-7-619a28148e5c@collabora.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nfraprado authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    3673f70 View commit details
    Browse the repository at this point in the history
  131. drm/panel: novatek-nt35950: Don't log an error when DSI host can't be…

    … found
    
    [ Upstream commit 5ff5505 ]
    
    Given that failing to find a DSI host causes the driver to defer probe,
    make use of dev_err_probe() to log the reason. This makes the defer
    probe reason available and avoids alerting userspace about something
    that is not necessarily an error.
    
    Fixes: 623a353 ("drm/panel: Add driver for Novatek NT35950 DSI DriverIC panels")
    Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
    Signed-off-by: Robert Foss <rfoss@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240415-anx7625-defer-log-no-dsi-host-v3-8-619a28148e5c@collabora.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nfraprado authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    48de4f9 View commit details
    Browse the repository at this point in the history
  132. drm/bridge: anx7625: Update audio status while detecting

    [ Upstream commit a665b4e ]
    
    Previously, the audio status was not updated during detection, leading
    to a persistent audio despite hot plugging events. To resolve this
    issue, update the audio status during detection.
    
    Fixes: 566fef1 ("drm/bridge: anx7625: add HDMI audio function")
    Signed-off-by: Hsin-Te Yuan <yuanhsinte@chromium.org>
    Reviewed-by: Robert Foss <rfoss@kernel.org>
    Signed-off-by: Robert Foss <rfoss@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240416-anx7625-v3-1-f916ae31bdd7@chromium.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Hsin-Te Yuan authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    d8285fe View commit details
    Browse the repository at this point in the history
  133. drm/panel: simple: Add missing Innolux G121X1-L03 format, flags, conn…

    …ector
    
    [ Upstream commit 11ac72d ]
    
    The .bpc = 6 implies .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG ,
    add the missing bus_format. Add missing connector type and bus_flags
    as well.
    
    Documentation [1] 1.4 GENERAL SPECIFICATI0NS indicates this panel is
    capable of both RGB 18bit/24bit panel, the current configuration uses
    18bit mode, .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG , .bpc = 6.
    
    Support for the 24bit mode would require another entry in panel-simple
    with .bus_format = MEDIA_BUS_FMT_RGB666_1X7X4_SPWG and .bpc = 8, which
    is out of scope of this fix.
    
    [1] https://www.distec.de/fileadmin/pdf/produkte/TFT-Displays/Innolux/G121X1-L03_Datasheet.pdf
    
    Fixes: f8fa17b ("drm/panel: simple: Add support for Innolux G121X1-L03")
    Signed-off-by: Marek Vasut <marex@denx.de>
    Acked-by: Jessica Zhang <quic_jesszhan@quicinc.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240328102746.17868-2-marex@denx.de
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Marek Vasut authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    88fcce7 View commit details
    Browse the repository at this point in the history
  134. ALSA: hda: cs35l41: Remove Speaker ID for Lenovo Legion slim 7 16ARHA7

    [ Upstream commit 4a1a806 ]
    
    These laptops do not have _DSD and must be added by configuration
    table, however, the initial entries for them are incorrect:
    Neither laptop contains a Speaker ID GPIO.
    This issue would not affect audio playback, but may affect which files
    are loaded when loading firmware.
    
    Fixes: b67a7dc ("ALSA: hda/realtek: Add sound quirks for Lenovo Legion slim 7 16ARHA7 models")
    
    Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Message-ID: <20240411110813.330483-8-sbinding@opensource.cirrus.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Stefan Binding authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    4a67ebe View commit details
    Browse the repository at this point in the history
  135. drm/mipi-dsi: use correct return type for the DSC functions

    [ Upstream commit de1c705 ]
    
    The functions mipi_dsi_compression_mode() and
    mipi_dsi_picture_parameter_set() return 0-or-error rather than a buffer
    size. Follow example of other similar MIPI DSI functions and use int
    return type instead of size_t.
    
    Fixes: f4dea1a ("drm/dsi: add helpers for DSI compression mode and PPS packets")
    Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
    Reviewed-by: Jessica Zhang <quic_jesszhan@quicinc.com>
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240408-lg-sw43408-panel-v5-2-4e092da22991@linaro.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    lumag authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    8971b2d View commit details
    Browse the repository at this point in the history
  136. media: uvcvideo: Add quirk for Logitech Rally Bar

    [ Upstream commit 0773105 ]
    
    Logitech Rally Bar devices, despite behaving as UVC cameras, have a
    different power management system that the other cameras from Logitech.
    
    USB_QUIRK_RESET_RESUME is applied to all the UVC cameras from Logitech
    at the usb core. Unfortunately, USB_QUIRK_RESET_RESUME causes undesired
    USB disconnects in the Rally Bar that make them completely unusable.
    
    There is an open discussion about if we should fix this in the core or
    add a quirk in the UVC driver. In order to enable this hardware, let's
    land this patch first, and we can revert it later if there is a
    different conclusion.
    
    Fixes: e387ef5 ("usb: Add USB_QUIRK_RESET_RESUME for all Logitech UVC webcams")
    Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Reviewed-by: Devinder Khroad <dkhroad@logitech.com>
    Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
    Link: https://lore.kernel.org/r/20240404-rallybar-v6-1-6d67bb6b69af@chromium.org
    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ribalda authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    fd8ca99 View commit details
    Browse the repository at this point in the history
  137. drm/rockchip: vop2: Do not divide height twice for YUV

    [ Upstream commit e80c219 ]
    
    For the cbcr format, gt2 and gt4 are computed again after src_h has been
    divided by vsub.
    
    As src_h as already been divided by 2 before, introduce cbcr_src_h and
    cbcr_src_w to keep a copy of those values to be used for cbcr gt2 and
    gt4 computation.
    
    This fixes yuv planes being unaligned vertically when down scaling to
    1080 pixels from 2160.
    
    Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>
    Fixes: 604be85 ("drm/rockchip: Add VOP2 driver")
    Acked-by: Andy Yan <andy.yan@rock-chips.com>
    Signed-off-by: Heiko Stuebner <heiko@sntech.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240414182706.655270-1-detlev.casanova@collabora.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    cazou authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ee4ff1b View commit details
    Browse the repository at this point in the history
  138. RISC-V: Fix the typo in Scountovf CSR name

    [ Upstream commit d1927f6 ]
    
    The counter overflow CSR name is "scountovf" not "sscountovf".
    
    Fix the csr name.
    
    Fixes: 4905ec2 ("RISC-V: Add sscofpmf extension support")
    Reviewed-by: Clément Léger <cleger@rivosinc.com>
    Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
    Reviewed-by: Anup Patel <anup@brainfault.org>
    Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
    Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
    Signed-off-by: Atish Patra <atishp@rivosinc.com>
    Link: https://lore.kernel.org/r/20240420151741.962500-2-atishp@rivosinc.com
    Signed-off-by: Anup Patel <anup@brainfault.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    atishp04 authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    65e964b View commit details
    Browse the repository at this point in the history
  139. drm/edid: Parse topology block for all DispID structure v1.x

    [ Upstream commit e0a200a ]
    
    DisplayID spec v1.3 revision history notes do claim that
    the toplogy block was added in v1.3 so requiring structure
    v1.2 would seem correct, but there is at least one EDID in
    edid.tv with a topology block and structure v1.0. And
    there are also EDIDs with DisplayID structure v1.3 which
    seems to be totally incorrect as DisplayID spec v1.3 lists
    structure v1.2 as the only legal value.
    
    Unfortunately I couldn't find copies of DisplayID spec
    v1.0-v1.2 anywhere (even on vesa.org), so I'll have to
    go on empirical evidence alone.
    
    We used to parse the topology block on all v1.x
    structures until the check for structure v2.0 was added.
    Let's go back to doing that as the evidence does suggest
    that there are DisplayIDs in the wild that would miss
    out on the topology stuff otherwise.
    
    Also toss out DISPLAY_ID_STRUCTURE_VER_12 entirely as
    it doesn't appear we can really use it for anything.
    
    I *think* we could technically skip all the structure
    version checks as the block tags shouldn't conflict
    between v2.0 and v1.x. But no harm in having a bit of
    extra sanity checks I guess.
    
    So far I'm not aware of any user reported regressions
    from overly strict check, but I do know that it broke
    igt/kms_tiled_display's fake DisplayID as that one
    gets generated with structure v1.0.
    
    Cc: Jani Nikula <jani.nikula@intel.com>
    Cc: Dmitry Osipenko <dmitry.osipenko@collabora.com>
    Fixes: c5a486a ("drm/edid: parse Tiled Display Topology Data Block for DisplayID 2.0")
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240410180139.21352-1-ville.syrjala@linux.intel.com
    Acked-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    vsyrjala authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    3092ef7 View commit details
    Browse the repository at this point in the history
  140. media: cadence: csi2rx: configure DPHY before starting source stream

    [ Upstream commit fd64dda ]
    
    When the source device is operating above 1.5 Gbps per lane, it needs to
    send the Skew Calibration Sequence before sending any HS data. If the
    DPHY is initialized after the source stream is started, then it might
    miss the sequence and not be able to receive data properly. Move the
    start of source subdev to the end of the sequence to make sure
    everything is ready to receive data before the source starts streaming.
    
    Signed-off-by: Pratyush Yadav <p.yadav@ti.com>
    Fixes: 3295cf1 ("media: cadence: Add support for external dphy")
    Tested-by: Julien Massot <julien.massot@collabora.com>
    Tested-by: Changhuang Liang <Changhuang.liang@starfivetech.com>
    Reviewed-by: Julien Massot <julien.massot@collabora.com>
    Reviewed-by: Changhuang Liang <Changhuang.liang@starfivetech.com>
    Signed-off-by: Jai Luthra <j-luthra@ti.com>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Pratyush Yadav authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    9dc1df6 View commit details
    Browse the repository at this point in the history
  141. power: supply: core: simplify charge_behaviour formatting

    [ Upstream commit 91b623c ]
    
    The function power_supply_show_charge_behaviour() is not needed and can
    be removed completely.
    Removing the function also saves a spurious read of the property from
    the driver on each call.
    
    The convulted logic was a leftover from an earlier patch revision.
    Some restructuring made this cleanup possible.
    
    Suggested-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/all/9e035ae4-cb07-4f84-8336-1a0050855bea@redhat.com/
    Fixes: 4e61f1e ("power: supply: core: fix charge_behaviour formatting")
    Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20240329-power-supply-simplify-v1-1-416f1002739f@weissschuh.net
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    t-8ch authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ae96311 View commit details
    Browse the repository at this point in the history
  142. clk: samsung: exynosautov9: fix wrong pll clock id value

    [ Upstream commit 04ee3a0 ]
    
    All PLL id values of CMU_TOP were incorrectly set to FOUT_SHARED0_PLL.
    It modified to the correct PLL clock id value.
    
    Fixes: 6587c62 ("clk: samsung: add top clock support for Exynos Auto v9 SoC")
    Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
    Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
    Link: https://lore.kernel.org/r/20240328091000.17660-1-jaewon02.kim@samsung.com
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    jwn0222 authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    bacf2b4 View commit details
    Browse the repository at this point in the history
  143. RDMA/mlx5: Uncacheable mkey has neither rb_key or cache_ent

    [ Upstream commit 0611a8e ]
    
    As some mkeys can't be modified with UMR due to some UMR limitations,
    like the size of translation that can be updated, not all user mkeys can
    be cached.
    
    Fixes: dd1b913 ("RDMA/mlx5: Cache all user cacheable mkeys on dereg MR flow")
    Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
    Link: https://lore.kernel.org/r/f2742dd934ed73b2d32c66afb8e91b823063880c.1712140377.git.leon@kernel.org
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ohartoov authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    85bb348 View commit details
    Browse the repository at this point in the history
  144. RDMA/mlx5: Change check for cacheable mkeys

    [ Upstream commit 8c1185f ]
    
    umem can be NULL for user application mkeys in some cases. Therefore
    umem can't be used for checking if the mkey is cacheable and it is
    changed for checking a flag that indicates it. Also make sure that
    all mkeys which are not returned to the cache will be destroyed.
    
    Fixes: dd1b913 ("RDMA/mlx5: Cache all user cacheable mkeys on dereg MR flow")
    Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
    Link: https://lore.kernel.org/r/2690bc5c6896bcb937f89af16a1ff0343a7ab3d0.1712140377.git.leon@kernel.org
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ohartoov authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    da415a2 View commit details
    Browse the repository at this point in the history
  145. RDMA/mlx5: Adding remote atomic access flag to updatable flags

    [ Upstream commit 2ca7e93 ]
    
    Currently IB_ACCESS_REMOTE_ATOMIC is blocked from being updated via UMR
    although in some cases it should be possible. These cases are checked in
    mlx5r_umr_can_reconfig function.
    
    Fixes: ef3642c ("RDMA/mlx5: Fix error unwinds for rereg_mr")
    Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
    Link: https://lore.kernel.org/r/24dac73e2fa48cb806f33a932d97f3e402a5ea2c.1712140377.git.leon@kernel.org
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ohartoov authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    959a831 View commit details
    Browse the repository at this point in the history
  146. clk: mediatek: pllfh: Don't log error for missing fhctl node

    [ Upstream commit bb7b3c8 ]
    
    Support for fhctl clocks in apmixedsys was introduced at a later point
    and to this moment only one mt6795 based platform has a fhctl DT node
    present. Therefore the fhctl support in apmixedsys should be seen as
    optional and not cause an error when it is missing.
    
    Change the message's log level to warning. The warning level is chosen
    so that it will still alert the fact that fhctl support might be
    unintentionally missing, but without implying that this is necessarily
    an issue.
    
    Even if the FHCTL DT nodes are added to all current platforms moving
    forward, since those changes won't be backported, this ensures stable
    kernel releases won't have live with this error.
    
    Fixes: d7964de ("clk: mediatek: Add new clock driver to handle FHCTL hardware")
    Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
    Link: https://lore.kernel.org/r/20240308-mtk-fhctl-no-node-error-v1-1-51e446eb149a@collabora.com
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nfraprado authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    d998108 View commit details
    Browse the repository at this point in the history
  147. iommu: Undo pasid attachment only for the devices that have succeeded

    [ Upstream commit b025dea ]
    
    There is no error handling now in __iommu_set_group_pasid(), it relies on
    its caller to loop all the devices to undo the pasid attachment. This is
    not self-contained and has drawbacks. It would result in unnecessary
    remove_dev_pasid() calls on the devices that have not been attached to the
    new domain. But the remove_dev_pasid() callback would get the new domain
    from the group->pasid_array. So for such devices, the iommu driver won't
    find the attachment under the domain, hence unable to do cleanup. This may
    not be a real problem today. But it depends on the implementation of the
    underlying iommu driver. e.g. the intel iommu driver would warn for such
    devices. Such warnings are unnecessary.
    
    To solve the above problem, it is necessary to handle the error within
    __iommu_set_group_pasid(). It only loops the devices that have attached
    to the new domain, and undo it.
    
    Fixes: 1660370 ("iommu: Add attach/detach_dev_pasid iommu interfaces")
    Suggested-by: Jason Gunthorpe <jgg@nvidia.com>
    Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>
    Signed-off-by: Yi Liu <yi.l.liu@intel.com>
    Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
    Link: https://lore.kernel.org/r/20240328122958.83332-2-yi.l.liu@intel.com
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    yiliu1765 authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ef9e376 View commit details
    Browse the repository at this point in the history
  148. RDMA/hns: Fix return value in hns_roce_map_mr_sg

    [ Upstream commit 203b70f ]
    
    As described in the ib_map_mr_sg function comment, it returns the number
    of sg elements that were mapped to the memory region. However,
    hns_roce_map_mr_sg returns the number of pages required for mapping the
    DMA area. Fix it.
    
    Fixes: 9b2cf76 ("RDMA/hns: Optimize PBL buffer allocation process")
    Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
    Link: https://lore.kernel.org/r/20240411033851.2884771-1-shaozhengchao@huawei.com
    Reviewed-by: Junxian Huang <huangjunxian6@hisilicon.com>
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    zhengchaoshao authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    f935def View commit details
    Browse the repository at this point in the history
  149. RDMA/hns: Add max_ah and cq moderation capacities in query_device()

    [ Upstream commit 2ce3843 ]
    
    Add max_ah and cq moderation capacities to hns_roce_query_device().
    
    Fixes: 9a44353 ("IB/hns: Add driver files for hns RoCE driver")
    Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
    Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
    Link: https://lore.kernel.org/r/20240412091616.370789-4-huangjunxian6@hisilicon.com
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Chengchang Tang authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    28f051d View commit details
    Browse the repository at this point in the history
  150. RDMA/hns: Fix deadlock on SRQ async events.

    [ Upstream commit b46494b ]
    
    xa_lock for SRQ table may be required in AEQ. Use xa_store_irq()/
    xa_erase_irq() to avoid deadlock.
    
    Fixes: 81fce62 ("RDMA/hns: Add SRQ asynchronous event support")
    Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
    Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
    Link: https://lore.kernel.org/r/20240412091616.370789-5-huangjunxian6@hisilicon.com
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Chengchang Tang authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    d271e66 View commit details
    Browse the repository at this point in the history
  151. RDMA/hns: Fix UAF for cq async event

    [ Upstream commit a942ec2 ]
    
    The refcount of CQ is not protected by locks. When CQ asynchronous
    events and CQ destruction are concurrent, CQ may have been released,
    which will cause UAF.
    
    Use the xa_lock() to protect the CQ refcount.
    
    Fixes: 9a44353 ("IB/hns: Add driver files for hns RoCE driver")
    Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
    Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
    Link: https://lore.kernel.org/r/20240412091616.370789-6-huangjunxian6@hisilicon.com
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Chengchang Tang authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    37a7559 View commit details
    Browse the repository at this point in the history
  152. RDMA/hns: Fix mismatch exception rollback

    [ Upstream commit dc3bda6 ]
    
    When dma_alloc_coherent() fails in hns_roce_alloc_hem(), just call
    kfree() to release hem instead of hns_roce_free_hem().
    
    Fixes: c00743c ("RDMA/hns: Simplify 'struct hns_roce_hem' allocation")
    Signed-off-by: wenglianfa <wenglianfa@huawei.com>
    Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
    Link: https://lore.kernel.org/r/20240412091616.370789-7-huangjunxian6@hisilicon.com
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    wenglianfa authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ba8112c View commit details
    Browse the repository at this point in the history
  153. RDMA/hns: Fix GMV table pagesize

    [ Upstream commit ee04549 ]
    
    GMV's BA table only supports 4K pages. Currently, PAGESIZE is used to
    calculate gmv_bt_num, which will cause an abnormal number of gmv_bt_num
    in a 64K OS.
    
    Fixes: d6d91e4 ("RDMA/hns: Add support for configuring GMV table")
    Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
    Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
    Link: https://lore.kernel.org/r/20240412091616.370789-8-huangjunxian6@hisilicon.com
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Chengchang Tang authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a217037 View commit details
    Browse the repository at this point in the history
  154. RDMA/hns: Use complete parentheses in macros

    [ Upstream commit 4125269 ]
    
    Use complete parentheses to ensure that macro expansion does
    not produce unexpected results.
    
    Fixes: a25d13c ("RDMA/hns: Add the interfaces to support multi hop addressing for the contexts in hip08")
    Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
    Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
    Link: https://lore.kernel.org/r/20240412091616.370789-10-huangjunxian6@hisilicon.com
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Chengchang Tang authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    8723e8b View commit details
    Browse the repository at this point in the history
  155. RDMA/hns: Modify the print level of CQE error

    [ Upstream commit 349e859 ]
    
    Too much print may lead to a panic in kernel. Change ibdev_err() to
    ibdev_err_ratelimited(), and change the printing level of cqe dump
    to debug level.
    
    Fixes: 7c044ad ("RDMA/hns: Simplify the cqe code of poll cq")
    Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
    Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
    Link: https://lore.kernel.org/r/20240412091616.370789-11-huangjunxian6@hisilicon.com
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Chengchang Tang authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    06cf121 View commit details
    Browse the repository at this point in the history
  156. clk: mediatek: mt8365-mm: fix DPI0 parent

    [ Upstream commit 4c0c087 ]
    
    To have a working display through DPI, a workaround has been
    implemented downstream to add "mm_dpi0_dpi0" and "dpi0_sel" to
    the DPI node. Shortly, that add an extra clock.
    
    It seems consistent to have the "dpi0_sel" as parent.
    Additionnaly, "vpll_dpix" isn't used/managed.
    
    Then, set the "mm_dpi0_dpi0" parent clock to "dpi0_sel".
    
    The new clock tree is:
    
    clk26m
      lvdspll
        lvdspll_X (2, 4, 8, 16)
          dpi0_sel
            mm_dpi0_dpi0
    
    Fixes: d46adcc ("clk: mediatek: add driver for MT8365 SoC")
    Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
    Link: https://lore.kernel.org/r/20231023-display-support-v3-12-53388f3ed34b@baylibre.com
    Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    amergnat authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    524d555 View commit details
    Browse the repository at this point in the history
  157. clk: rs9: fix wrong default value for clock amplitude

    [ Upstream commit 1758c68 ]
    
    According to 9FGV0241, 9FGV0441 & 9FGV0841 datasheets, the default
    value for the clock amplitude is 0.8V, while the driver assumes 0.7V.
    
    Additionally, define constants for default values for both clock
    amplitude and spread spectrum and use them.
    
    Fixes: 892e0dd ("clk: rs9: Add Renesas 9-series PCIe clock generator driver")
    Signed-off-by: Catalin Popescu <catalin.popescu@leica-geosystems.com>
    Reviewed-by: Marek Vasut <marex@denx.de>
    Link: https://lore.kernel.org/r/20240415140348.2887619-1-catalin.popescu@leica-geosystems.com
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    catalin-popescu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    9f885ce View commit details
    Browse the repository at this point in the history
  158. clk: qcom: clk-alpha-pll: remove invalid Stromer register offset

    [ Upstream commit 4f2bc4a ]
    
    The offset of the CONFIG_CTL_U register defined for the Stromer
    PLL is wrong. It is not aligned on a 4 bytes boundary which might
    causes errors in regmap operations.
    
    Maybe the intention behind of using the 0xff value was to indicate
    that the register is not implemented in the PLL, but this is not
    verified anywhere in the code. Moreover, this value is not used
    even in other register offset arrays despite that those PLLs also
    have unimplemented registers.
    
    Additionally, on the Stromer PLLs the current code only touches
    the CONFIG_CTL_U register if the result of pll_has_64bit_config()
    is true which condition is not affected by the change.
    
    Due to the reasons above, simply remove the CONFIG_CTL_U entry
    from the Stromer specific array.
    
    Fixes: e47a4f5 ("clk: qcom: clk-alpha-pll: Add support for Stromer PLLs")
    Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
    Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
    Link: https://lore.kernel.org/r/20240311-alpha-pll-stromer-cleanup-v1-1-f7c0c5607cca@gmail.com
    Signed-off-by: Bjorn Andersson <andersson@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    juhosg authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    90f8528 View commit details
    Browse the repository at this point in the history
  159. clk: samsung: gs101: propagate PERIC0 USI SPI clock rate

    [ Upstream commit 7b54d91 ]
    
    Introduce nMUX() for MUX clocks that can be reparented on clock rate
    change. "nMUX" comes from "n-to-1 selector", hopefully emphasising that
    the selector can change on clock rate changes. Ideally MUX/MUX_F()
    should change to not have the CLK_SET_RATE_NO_REPARENT flag set by
    default, and all their users to be updated to add the flag back
    (like in the case of DIV and GATE). But this is a very intrusive change
    and because for now only GS101 allows MUX reparenting on clock rate
    change, stick with nMUX().
    
    GS101 defines MUX clocks that are dedicated for each instance of the IP.
    One example is USI IP (SPI, I2C, serial). The reparenting of these MUX
    clocks will not affect other instances of the same IP or different IPs
    altogether.
    
    When SPI transfer is being prepared, the spi-s3c64xx driver will call
    clk_set_rate() to change the rate of SPI source clock (IPCLK). But IPCLK
    is a gate (leaf) clock, so it must propagate the rate change up the
    clock tree, so that corresponding MUX/DIV clocks can actually change
    their values. Add CLK_SET_RATE_PARENT flag to corresponding clocks for
    all USI instances in GS101 PERIC0: USI{1-8, 14}. This change involves the
    following clocks:
    
    PERIC0 USI*:
    
        Clock                              Div range    MUX Selection
        -------------------------------------------------------------------
        gout_peric0_peric0_top0_ipclk_*    -            -
        dout_peric0_usi*_usi               /1..16       -
        mout_peric0_usi*_usi_user          -            {24.5 MHz, 400 MHz}
    
    With input clock of 400 MHz this scheme provides the following IPCLK
    rate range, for each USI block:
    
        PERIC0 USI*:       1.5 MHz ... 400 MHz
    
    Accounting for internal /4 divider in SPI blocks, and because the max
    SPI frequency is limited at 50 MHz, it gives us next SPI SCK rates:
    
        PERIC0 USI_SPI*:   384 KHz ... 49.9 MHz
    
    Fixes: 893f133 ("clk: samsung: gs101: add support for cmu_peric0")
    Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
    Acked-by: André Draszik <andre.draszik@linaro.org>
    Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
    Link: https://lore.kernel.org/r/20240419100915.2168573-2-tudor.ambarus@linaro.org
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ambarus authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    12c46eb View commit details
    Browse the repository at this point in the history
  160. clk: samsung: gs101: propagate PERIC1 USI SPI clock rate

    [ Upstream commit 7cf0324 ]
    
    When SPI transfer is being prepared, the spi-s3c64xx driver will call
    clk_set_rate() to change the rate of SPI source clock (IPCLK). But IPCLK
    is a gate (leaf) clock, so it must propagate the rate change up the
    clock tree, so that corresponding MUX/DIV clocks can actually change
    their values. Add CLK_SET_RATE_PARENT flag to corresponding clocks for
    all USI instances in GS101 PERIC1: USI{0, 9, 10, 11, 12, 13}. This change
    involves the following clocks:
    
    PERIC1 USI*:
    
        Clock                              Div range    MUX Selection
        -------------------------------------------------------------------
        gout_peric1_peric1_top0_ipclk_*    -            -
        dout_peric1_usi*_usi               /1..16       -
        mout_peric1_usi*_usi_user          -            {24.5 MHz, 400 MHz}
    
    With input clock of 400 MHz this scheme provides the following IPCLK
    rate range, for each USI block:
    
        PERIC1 USI*:       1.5 MHz ... 400 MHz
    
    Accounting for internal /4 divider in SPI blocks, and because the max
    SPI frequency is limited at 50 MHz, it gives us next SPI SCK rates:
    
        PERIC1 USI_SPI*:   384 KHz ... 49.9 MHz
    
    Which shall be fine for the applications of the SPI bus.
    
    Note that with this we allow the reparenting of the MUX_USIx clocks to
    OSCCLK. Each instance of the USI IP has its own MUX_USI clock, thus the
    reparenting of a MUX_USI clock corresponds to a single instance of the
    USI IP. The datasheet mentions OSCCLK just in the low-power mode
    context, but the downstream driver reparents too the MUX_USI clocks to
    OSCCLK. Follow the downstream driver and do the same.
    
    Fixes: 2999e78 ("clk: samsung: gs101: add support for cmu_peric1")
    Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
    Acked-by: André Draszik <andre.draszik@linaro.org>
    Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
    Link: https://lore.kernel.org/r/20240419100915.2168573-3-tudor.ambarus@linaro.org
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ambarus authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    7e4ff47 View commit details
    Browse the repository at this point in the history
  161. RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt

    [ Upstream commit 2b23b60 ]
    
    In rxe_comp_queue_pkt() an incoming response packet skb is enqueued to the
    resp_pkts queue and then a decision is made whether to run the completer
    task inline or schedule it. Finally the skb is dereferenced to bump a 'hw'
    performance counter. This is wrong because if the completer task is
    already running in a separate thread it may have already processed the skb
    and freed it which can cause a seg fault.  This has been observed
    infrequently in testing at high scale.
    
    This patch fixes this by changing the order of enqueuing the packet until
    after the counter is accessed.
    
    Link: https://lore.kernel.org/r/20240329145513.35381-4-rpearsonhpe@gmail.com
    Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
    Fixes: 0b1e5b9 ("IB/rxe: Add port protocol stats")
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Bob Pearson authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    30df4be View commit details
    Browse the repository at this point in the history
  162. RDMA/rxe: Allow good work requests to be executed

    [ Upstream commit b703374 ]
    
    A previous commit incorrectly added an 'if(!err)' before scheduling the
    requester task in rxe_post_send_kernel(). But if there were send wrs
    successfully added to the send queue before a bad wr they might never get
    executed.
    
    This commit fixes this by scheduling the requester task if any wqes were
    successfully posted in rxe_post_send_kernel() in rxe_verbs.c.
    
    Link: https://lore.kernel.org/r/20240329145513.35381-5-rpearsonhpe@gmail.com
    Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
    Fixes: 5bf944f ("RDMA/rxe: Add error messages")
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Bob Pearson authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    e6b04fa View commit details
    Browse the repository at this point in the history
  163. RDMA/rxe: Fix incorrect rxe_put in error path

    [ Upstream commit 8776618 ]
    
    In rxe_send() a ref is taken on the qp to keep it alive until the
    kfree_skb() has a chance to call the skb destructor rxe_skb_tx_dtor()
    which drops the reference. If the packet has an incorrect protocol the
    error path just calls kfree_skb() which will call the destructor which
    will drop the ref. Currently the driver also calls rxe_put() which is
    incorrect. Additionally since the packets sent to rxe_send() are under the
    control of the driver and it only ever produces IPV4 or IPV6 packets the
    simplest fix is to remove all the code in this block.
    
    Link: https://lore.kernel.org/r/20240329145513.35381-12-rpearsonhpe@gmail.com
    Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
    Fixes: 9eb7f8e ("IB/rxe: Move refcounting earlier in rxe_send()")
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Bob Pearson authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    4fa07c3 View commit details
    Browse the repository at this point in the history
  164. IB/mlx5: Use __iowrite64_copy() for write combining stores

    [ Upstream commit ef30228 ]
    
    mlx5 has a built in self-test at driver startup to evaluate if the
    platform supports write combining to generate a 64 byte PCIe TLP or
    not. This has proven necessary because a lot of common scenarios end up
    with broken write combining (especially inside virtual machines) and there
    is other way to learn this information.
    
    This self test has been consistently failing on new ARM64 CPU
    designs (specifically with NVIDIA Grace's implementation of Neoverse
    V2). The C loop around writeq() generates some pretty terrible ARM64
    assembly, but historically this has worked on a lot of existing ARM64 CPUs
    till now.
    
    We see it succeed about 1 time in 10,000 on the worst effected
    systems. The CPU architects speculate that the load instructions
    interspersed with the stores makes the WC buffers statistically flush too
    often and thus the generation of large TLPs becomes infrequent. This makes
    the boot up test unreliable in that it indicates no write-combining,
    however userspace would be fine since it uses a ST4 instruction.
    
    Further, S390 has similar issues where only the special zpci_memcpy_toio()
    will actually generate large TLPs, and the open coded loop does not
    trigger it at all.
    
    Fix both ARM64 and S390 by switching to __iowrite64_copy() which now
    provides architecture specific variants that have a high change of
    generating a large TLP with write combining. x86 continues to use a
    similar writeq loop in the generate __iowrite64_copy().
    
    Fixes: 11f552e ("IB/mlx5: Test write combining support")
    Link: https://lore.kernel.org/r/6-v3-1893cd8b9369+1925-mlx5_arm_wc_jgg@nvidia.com
    Tested-by: Niklas Schnelle <schnelle@linux.ibm.com>
    Acked-by: Leon Romanovsky <leonro@nvidia.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    jgunthorpe authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    e028ff4 View commit details
    Browse the repository at this point in the history
  165. clk: renesas: r8a779a0: Fix CANFD parent clock

    [ Upstream commit 3b23118 ]
    
    According to Figure 52A.1 ("RS-CANFD Module Block Diagram (in classical
    CAN mode)") in the R-Car V3U Series User’s Manual Rev. 0.5, the parent
    clock for the CANFD peripheral module clock is the S3D2 clock.
    
    Fixes: 9b621b6 ("clk: renesas: r8a779a0: Add CANFD module clock")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Link: https://lore.kernel.org/r/aef9300f44c9141b1465343f91c5cc7303249b6e.1713279523.git.geert+renesas@glider.be
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    geertu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    192dd0b View commit details
    Browse the repository at this point in the history
  166. clk: renesas: r9a07g043: Add clock and reset entry for PLIC

    [ Upstream commit 4401938 ]
    
    Add the missing clock and reset entry for PLIC. Also add
    R9A07G043_NCEPLIC_ACLK to the critical clocks list.
    
    Fixes: 95d48d2 ("clk: renesas: r9a07g043: Add support for RZ/Five SoC")
    Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Link: https://lore.kernel.org/r/20240403200952.633084-1-prabhakar.mahadev-lad.rj@bp.renesas.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    prabhakarlad authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    8134c37 View commit details
    Browse the repository at this point in the history
  167. lib/test_hmm.c: handle src_pfns and dst_pfns allocation failure

    [ Upstream commit c2af060 ]
    
    The kcalloc() in dmirror_device_evict_chunk() will return null if the
    physical memory has run out.  As a result, if src_pfns or dst_pfns is
    dereferenced, the null pointer dereference bug will happen.
    
    Moreover, the device is going away.  If the kcalloc() fails, the pages
    mapping a chunk could not be evicted.  So add a __GFP_NOFAIL flag in
    kcalloc().
    
    Finally, as there is no need to have physically contiguous memory, Switch
    kcalloc() to kvcalloc() in order to avoid failing allocations.
    
    Link: https://lkml.kernel.org/r/20240312005905.9939-1-duoming@zju.edu.cn
    Fixes: b2ef9f5 ("mm/hmm/test: add selftest driver for HMM")
    Signed-off-by: Duoming Zhou <duoming@zju.edu.cn>
    Cc: Jérôme Glisse <jglisse@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    stonezdm authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    3b20d18 View commit details
    Browse the repository at this point in the history
  168. mm/ksm: fix ksm exec support for prctl

    [ Upstream commit 3a9e567 ]
    
    Patch series "mm/ksm: fix ksm exec support for prctl", v4.
    
    commit 3c6f33b ("mm/ksm: support fork/exec for prctl") inherits
    MMF_VM_MERGE_ANY flag when a task calls execve().  However, it doesn't
    create the mm_slot, so ksmd will not try to scan this task.  The first
    patch fixes the issue.
    
    The second patch refactors to prepare for the third patch.  The third
    patch extends the selftests of ksm to verfity the deduplication really
    happens after fork/exec inherits ths KSM setting.
    
    This patch (of 3):
    
    commit 3c6f33b ("mm/ksm: support fork/exec for prctl") inherits
    MMF_VM_MERGE_ANY flag when a task calls execve().  Howerver, it doesn't
    create the mm_slot, so ksmd will not try to scan this task.
    
    To fix it, allocate and add the mm_slot to ksm_mm_head in __bprm_mm_init()
    when the mm has MMF_VM_MERGE_ANY flag.
    
    Link: https://lkml.kernel.org/r/20240328111010.1502191-1-tujinjiang@huawei.com
    Link: https://lkml.kernel.org/r/20240328111010.1502191-2-tujinjiang@huawei.com
    Fixes: 3c6f33b ("mm/ksm: support fork/exec for prctl")
    Signed-off-by: Jinjiang Tu <tujinjiang@huawei.com>
    Reviewed-by: David Hildenbrand <david@redhat.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
    Cc: Nanyong Sun <sunnanyong@huawei.com>
    Cc: Rik van Riel <riel@surriel.com>
    Cc: Stefan Roesch <shr@devkernel.io>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    tujinjiang11 authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a08d945 View commit details
    Browse the repository at this point in the history
  169. clk: qcom: dispcc-sm8450: fix DisplayPort clocks

    [ Upstream commit e801038 ]
    
    On SM8450 DisplayPort link clocks use frequency tables inherited from
    the vendor kernel, it is not applicable in the upstream kernel. Drop
    frequency tables and use clk_byte2_ops for those clocks.
    
    This fixes frequency selection in the OPP core (which otherwise attempts
    to use invalid 810 KHz as DP link rate), also fixing the following
    message:
    msm-dp-display ae90000.displayport-controller: _opp_config_clk_single: failed to set clock rate: -22
    
    Fixes: 16fb89f ("clk: qcom: Add support for Display Clock Controller on SM8450")
    Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
    Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Link: https://lore.kernel.org/r/20240424-dispcc-dp-clocks-v2-1-b44038f3fa96@linaro.org
    Signed-off-by: Bjorn Andersson <andersson@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    lumag authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0fc8caa View commit details
    Browse the repository at this point in the history
  170. clk: qcom: dispcc-sm6350: fix DisplayPort clocks

    [ Upstream commit 1113501 ]
    
    On SM6350 DisplayPort link clocks use frequency tables inherited from
    the vendor kernel, it is not applicable in the upstream kernel. Drop
    frequency tables and use clk_byte2_ops for those clocks.
    
    This fixes frequency selection in the OPP core (which otherwise attempts
    to use invalid 810 KHz as DP link rate), also fixing the following
    message:
    msm-dp-display ae90000.displayport-controller: _opp_config_clk_single: failed to set clock rate: -22
    
    Fixes: 8375197 ("clk: qcom: Add display clock controller driver for SM6350")
    Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
    Tested-by: Luca Weiss <luca.weiss@fairphone.com>
    Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Link: https://lore.kernel.org/r/20240424-dispcc-dp-clocks-v2-2-b44038f3fa96@linaro.org
    Signed-off-by: Bjorn Andersson <andersson@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    lumag authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    7e75e4c View commit details
    Browse the repository at this point in the history
  171. clk: qcom: dispcc-sm8550: fix DisplayPort clocks

    [ Upstream commit e90b513 ]
    
    On SM8550 DisplayPort link clocks use frequency tables inherited from
    the vendor kernel, it is not applicable in the upstream kernel. Drop
    frequency tables and use clk_byte2_ops for those clocks.
    
    This fixes frequency selection in the OPP core (which otherwise attempts
    to use invalid 810 KHz as DP link rate), also fixing the following
    message:
    msm-dp-display ae90000.displayport-controller: _opp_config_clk_single: failed to set clock rate: -22
    
    Fixes: 90114ca ("clk: qcom: add SM8550 DISPCC driver")
    Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
    Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-HDK
    Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Link: https://lore.kernel.org/r/20240424-dispcc-dp-clocks-v2-3-b44038f3fa96@linaro.org
    Signed-off-by: Bjorn Andersson <andersson@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    lumag authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    da04b9a View commit details
    Browse the repository at this point in the history
  172. clk: qcom: dispcc-sm8650: fix DisplayPort clocks

    [ Upstream commit 615a292 ]
    
    On SM8650 DisplayPort link clocks use frequency tables inherited from
    the vendor kernel, it is not applicable in the upstream kernel. Drop
    frequency tables and use clk_byte2_ops for those clocks.
    
    This fixes frequency selection in the OPP core (which otherwise attempts
    to use invalid 810 KHz as DP link rate), also fixing the following
    message:
    msm-dp-display af54000.displayport-controller: _opp_config_clk_single: failed to set clock rate: -22
    
    Fixes: 9e939f0 ("clk: qcom: add the SM8650 Display Clock Controller driver")
    Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
    Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
    Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Link: https://lore.kernel.org/r/20240424-dispcc-dp-clocks-v2-4-b44038f3fa96@linaro.org
    Signed-off-by: Bjorn Andersson <andersson@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    lumag authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    37dcba7 View commit details
    Browse the repository at this point in the history
  173. clk: qcom: mmcc-msm8998: fix venus clock issue

    [ Upstream commit e20ae5a ]
    
    Right now, msm8998 video decoder (venus) is non-functional:
    
    $ time mpv --hwdec=v4l2m2m-copy --vd-lavc-software-fallback=no --vo=null --no-audio --untimed --length=30 --quiet demo-480.webm
     (+) Video --vid=1 (*) (vp9 854x480 29.970fps)
         Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
    [ffmpeg/video] vp9_v4l2m2m: output VIDIOC_REQBUFS failed: Connection timed out
    [ffmpeg/video] vp9_v4l2m2m: no v4l2 output context's buffers
    [ffmpeg/video] vp9_v4l2m2m: can't configure decoder
    Could not open codec.
    Software decoding fallback is disabled.
    Exiting... (Quit)
    
    Bryan O'Donoghue suggested the proper fix:
    - Set required register offsets in venus GDSC structs.
    - Set HW_CTRL flag.
    
    $ time mpv --hwdec=v4l2m2m-copy --vd-lavc-software-fallback=no --vo=null --no-audio --untimed --length=30 --quiet demo-480.webm
     (+) Video --vid=1 (*) (vp9 854x480 29.970fps)
         Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
    [ffmpeg/video] vp9_v4l2m2m: VIDIOC_G_FMT ioctl
    [ffmpeg/video] vp9_v4l2m2m: VIDIOC_G_FMT ioctl
    ...
    Using hardware decoding (v4l2m2m-copy).
    VO: [null] 854x480 nv12
    Exiting... (End of file)
    real	0m3.315s
    user	0m1.277s
    sys	0m0.453s
    
    NOTES:
    
    GDSC = Globally Distributed Switch Controller
    
    Use same code as mmcc-msm8996 with:
    s/venus_gdsc/video_top_gdsc/
    s/venus_core0_gdsc/video_subcore0_gdsc/
    s/venus_core1_gdsc/video_subcore1_gdsc/
    
    https://git.codelinaro.org/clo/la/kernel/msm-4.4/-/blob/caf_migration/kernel.lnx.4.4.r38-rel/include/dt-bindings/clock/msm-clocks-hwio-8996.h
    https://git.codelinaro.org/clo/la/kernel/msm-4.4/-/blob/caf_migration/kernel.lnx.4.4.r38-rel/include/dt-bindings/clock/msm-clocks-hwio-8998.h
    
    0x1024 = MMSS_VIDEO GDSCR (undocumented)
    0x1028 = MMSS_VIDEO_CORE_CBCR
    0x1030 = MMSS_VIDEO_AHB_CBCR
    0x1034 = MMSS_VIDEO_AXI_CBCR
    0x1038 = MMSS_VIDEO_MAXI_CBCR
    0x1040 = MMSS_VIDEO_SUBCORE0 GDSCR (undocumented)
    0x1044 = MMSS_VIDEO_SUBCORE1 GDSCR (undocumented)
    0x1048 = MMSS_VIDEO_SUBCORE0_CBCR
    0x104c = MMSS_VIDEO_SUBCORE1_CBCR
    
    Fixes: d14b15b ("clk: qcom: Add MSM8998 Multimedia Clock Controller (MMCC) driver")
    Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
    Signed-off-by: Marc Gonzalez <mgonzalez@freebox.fr>
    Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
    Link: https://lore.kernel.org/r/ff4e2e34-a677-4c39-8c29-83655c5512ae@freebox.fr
    Signed-off-by: Bjorn Andersson <andersson@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Zebra345 authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    98a1cfa View commit details
    Browse the repository at this point in the history
  174. x86/insn: Fix PUSH instruction in x86 instruction decoder opcode map

    [ Upstream commit 59162e0 ]
    
    The x86 instruction decoder is used not only for decoding kernel
    instructions. It is also used by perf uprobes (user space probes) and by
    perf tools Intel Processor Trace decoding. Consequently, it needs to
    support instructions executed by user space also.
    
    Opcode 0x68 PUSH instruction is currently defined as 64-bit operand size
    only i.e. (d64). That was based on Intel SDM Opcode Map. However that is
    contradicted by the Instruction Set Reference section for PUSH in the
    same manual.
    
    Remove 64-bit operand size only annotation from opcode 0x68 PUSH
    instruction.
    
    Example:
    
      $ cat pushw.s
      .global  _start
      .text
      _start:
              pushw   $0x1234
              mov     $0x1,%eax   # system call number (sys_exit)
              int     $0x80
      $ as -o pushw.o pushw.s
      $ ld -s -o pushw pushw.o
      $ objdump -d pushw | tail -4
      0000000000401000 <.text>:
        401000:       66 68 34 12             pushw  $0x1234
        401004:       b8 01 00 00 00          mov    $0x1,%eax
        401009:       cd 80                   int    $0x80
      $ perf record -e intel_pt//u ./pushw
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.014 MB perf.data ]
    
     Before:
    
      $ perf script --insn-trace=disasm
      Warning:
      1 instruction trace errors
               pushw   10349 [000] 10586.869237014:            401000 [unknown] (/home/ahunter/git/misc/rtit-tests/pushw)           pushw $0x1234
               pushw   10349 [000] 10586.869237014:            401006 [unknown] (/home/ahunter/git/misc/rtit-tests/pushw)           addb %al, (%rax)
               pushw   10349 [000] 10586.869237014:            401008 [unknown] (/home/ahunter/git/misc/rtit-tests/pushw)           addb %cl, %ch
               pushw   10349 [000] 10586.869237014:            40100a [unknown] (/home/ahunter/git/misc/rtit-tests/pushw)           addb $0x2e, (%rax)
       instruction trace error type 1 time 10586.869237224 cpu 0 pid 10349 tid 10349 ip 0x40100d code 6: Trace doesn't match instruction
    
     After:
    
      $ perf script --insn-trace=disasm
                 pushw   10349 [000] 10586.869237014:            401000 [unknown] (./pushw)           pushw $0x1234
                 pushw   10349 [000] 10586.869237014:            401004 [unknown] (./pushw)           movl $1, %eax
    
    Fixes: eb13296 ("x86: Instruction decoder API")
    Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20240502105853.5338-3-adrian.hunter@intel.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ahunter6 authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    88ecd54 View commit details
    Browse the repository at this point in the history
  175. x86/insn: Add VEX versions of VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPW…

    …SSDS
    
    [ Upstream commit b800026 ]
    
    The x86 instruction decoder is used not only for decoding kernel
    instructions. It is also used by perf uprobes (user space probes) and by
    perf tools Intel Processor Trace decoding. Consequently, it needs to
    support instructions executed by user space also.
    
    Intel Architecture Instruction Set Extensions and Future Features manual
    number 319433-044 of May 2021, documented VEX versions of instructions
    VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPWSSDS, but the opcode map has them
    listed as EVEX only.
    
    Remove EVEX-only (ev) annotation from instructions VPDPBUSD, VPDPBUSDS,
    VPDPWSSD and VPDPWSSDS, which allows them to be decoded with either a VEX
    or EVEX prefix.
    
    Fixes: 0153d98 ("x86/insn: Add misc instructions to x86 instruction decoder")
    Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20240502105853.5338-4-adrian.hunter@intel.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ahunter6 authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    83bd32a View commit details
    Browse the repository at this point in the history
  176. ext4: avoid excessive credit estimate in ext4_tmpfile()

    [ Upstream commit 35a1f12 ]
    
    A user with minimum journal size (1024 blocks these days) complained
    about the following error triggered by generic/697 test in
    ext4_tmpfile():
    
    run fstests generic/697 at 2024-02-28 05:34:46
    JBD2: vfstest wants too many credits credits:260 rsv_credits:0 max:256
    EXT4-fs error (device loop0) in __ext4_new_inode:1083: error 28
    
    Indeed the credit estimate in ext4_tmpfile() is huge.
    EXT4_MAXQUOTAS_INIT_BLOCKS() is 219, then 10 credits from ext4_tmpfile()
    itself and then ext4_xattr_credits_for_new_inode() adds more credits
    needed for security attributes and ACLs. Now the
    EXT4_MAXQUOTAS_INIT_BLOCKS() is in fact unnecessary because we've
    already initialized quotas with dquot_init() shortly before and so
    EXT4_MAXQUOTAS_TRANS_BLOCKS() is enough (which boils down to 3 credits).
    
    Fixes: af51a2a ("ext4: ->tmpfile() support")
    Signed-off-by: Jan Kara <jack@suse.cz>
    Tested-by: Luis Henriques <lhenriques@suse.de>
    Tested-by: Disha Goel <disgoel@linux.ibm.com>
    Link: https://lore.kernel.org/r/20240307115320.28949-1-jack@suse.cz
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    jankara authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    4f70272 View commit details
    Browse the repository at this point in the history
  177. RDMA/mana_ib: Introduce helpers to create and destroy mana queues

    [ Upstream commit 46f5be7 ]
    
    Intoduce helpers to work with mana ib queues (struct mana_ib_queue).
    A queue always consists of umem, gdma_region, and id.
    A queue can become a WQ or a CQ.
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Link: https://lore.kernel.org/r/1711483688-24358-2-git-send-email-kotaranov@linux.microsoft.com
    Reviewed-by: Long Li <longli@microsoft.com>
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Stable-dep-of: f79edef ("RDMA/mana_ib: boundary check before installing cq callbacks")
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Konstantin Taranov authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    57de310 View commit details
    Browse the repository at this point in the history
  178. RDMA/mana_ib: Use struct mana_ib_queue for CQs

    [ Upstream commit 60a7ac0 ]
    
    Use struct mana_ib_queue and its helpers for CQs
    
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Link: https://lore.kernel.org/r/1711483688-24358-3-git-send-email-kotaranov@linux.microsoft.com
    Reviewed-by: Long Li <longli@microsoft.com>
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Stable-dep-of: f79edef ("RDMA/mana_ib: boundary check before installing cq callbacks")
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Konstantin Taranov authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6e59dcd View commit details
    Browse the repository at this point in the history
  179. RDMA/mana_ib: boundary check before installing cq callbacks

    [ Upstream commit f79edef ]
    
    Add a boundary check inside mana_ib_install_cq_cb to prevent index overflow.
    
    Fixes: 2a31c5a ("RDMA/mana_ib: Introduce mana_ib_install_cq_cb helper function")
    Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
    Link: https://lore.kernel.org/r/1714137160-5222-5-git-send-email-kotaranov@linux.microsoft.com
    Reviewed-by: Long Li <longli@microsoft.com>
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Konstantin Taranov authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    168f6fb View commit details
    Browse the repository at this point in the history
  180. virt: acrn: stop using follow_pfn

    [ Upstream commit 1b265da ]
    
    Patch series "remove follow_pfn".
    
    This series open codes follow_pfn in the only remaining caller, although
    the code there remains questionable.  It then also moves follow_phys into
    the only user and simplifies it a bit.
    
    This patch (of 3):
    
    Switch from follow_pfn to follow_pte so that we can get rid of follow_pfn.
    Note that this doesn't fix any of the pre-existing raciness and lack of
    permission checking in the code.
    
    Link: https://lkml.kernel.org/r/20240324234542.2038726-1-hch@lst.de
    Link: https://lkml.kernel.org/r/20240324234542.2038726-2-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: David Hildenbrand <david@redhat.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Fei Li <fei1.li@intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Stable-dep-of: 3d65860 ("drivers/virt/acrn: fix PFNMAP PTE checks in acrn_vm_ram_map()")
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Christoph Hellwig authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c38eaa9 View commit details
    Browse the repository at this point in the history
  181. drivers/virt/acrn: fix PFNMAP PTE checks in acrn_vm_ram_map()

    [ Upstream commit 3d65860 ]
    
    Patch series "mm: follow_pte() improvements and acrn follow_pte() fixes".
    
    Patch #1 fixes a bunch of issues I spotted in the acrn driver.  It
    compiles, that's all I know.  I'll appreciate some review and testing from
    acrn folks.
    
    Patch #2+#3 improve follow_pte(), passing a VMA instead of the MM, adding
    more sanity checks, and improving the documentation.  Gave it a quick test
    on x86-64 using VM_PAT that ends up using follow_pte().
    
    This patch (of 3):
    
    We currently miss handling various cases, resulting in a dangerous
    follow_pte() (previously follow_pfn()) usage.
    
    (1) We're not checking PTE write permissions.
    
    Maybe we should simply always require pte_write() like we do for
    pin_user_pages_fast(FOLL_WRITE)? Hard to tell, so let's check for
    ACRN_MEM_ACCESS_WRITE for now.
    
    (2) We're not rejecting refcounted pages.
    
    As we are not using MMU notifiers, messing with refcounted pages is
    dangerous and can result in use-after-free. Let's make sure to reject them.
    
    (3) We are only looking at the first PTE of a bigger range.
    
    We only lookup a single PTE, but memmap->len may span a larger area.
    Let's loop over all involved PTEs and make sure the PFN range is
    actually contiguous. Reject everything else: it couldn't have worked
    either way, and rather made use access PFNs we shouldn't be accessing.
    
    Link: https://lkml.kernel.org/r/20240410155527.474777-1-david@redhat.com
    Link: https://lkml.kernel.org/r/20240410155527.474777-2-david@redhat.com
    Fixes: 8a6e85f ("virt: acrn: obtain pa from VMA with PFNMAP flag")
    Signed-off-by: David Hildenbrand <david@redhat.com>
    Cc: Alex Williamson <alex.williamson@redhat.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Fei Li <fei1.li@intel.com>
    Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
    Cc: Heiko Carstens <hca@linux.ibm.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Yonghua Huang <yonghua.huang@intel.com>
    Cc: Sean Christopherson <seanjc@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    davidhildenbrand authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    2c8d6e2 View commit details
    Browse the repository at this point in the history
  182. iommu/vt-d: Decouple igfx_off from graphic identity mapping

    [ Upstream commit ba00196 ]
    
    A kernel command called igfx_off was introduced in commit <ba39592764ed>
    ("Intel IOMMU: Intel IOMMU driver"). This command allows the user to
    disable the IOMMU dedicated to SOC-integrated graphic devices.
    
    Commit <9452618e7462> ("iommu/intel: disable DMAR for g4x integrated gfx")
    used this mechanism to disable the graphic-dedicated IOMMU for some
    problematic devices. Later, more problematic graphic devices were added
    to the list by commit <1f76249cc3beb> ("iommu/vt-d: Declare Broadwell igfx
    dmar support snafu").
    
    On the other hand, commit <19943b0e30b05> ("intel-iommu: Unify hardware
    and software passthrough support") uses the identity domain for graphic
    devices if CONFIG_DMAR_BROKEN_GFX_WA is selected.
    
    +       if (iommu_pass_through)
    +               iommu_identity_mapping = 1;
    +#ifdef CONFIG_DMAR_BROKEN_GFX_WA
    +       else
    +               iommu_identity_mapping = 2;
    +#endif
    ...
    
    static int iommu_should_identity_map(struct pci_dev *pdev, int startup)
    {
    +        if (iommu_identity_mapping == 2)
    +                return IS_GFX_DEVICE(pdev);
    ...
    
    In the following driver evolution, CONFIG_DMAR_BROKEN_GFX_WA and
    quirk_iommu_igfx() are mixed together, causing confusion in the driver's
    device_def_domain_type callback. On one hand, dmar_map_gfx is used to turn
    off the graphic-dedicated IOMMU as a workaround for some buggy hardware;
    on the other hand, for those graphic devices, IDENTITY mapping is required
    for the IOMMU core.
    
    Commit <4b8d18c0c986> "iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA" has
    removed the CONFIG_DMAR_BROKEN_GFX_WA option, so the IDENTITY_DOMAIN
    requirement for graphic devices is no longer needed. Therefore, this
    requirement can be removed from device_def_domain_type() and igfx_off can
    be made independent.
    
    Fixes: 4b8d18c ("iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA")
    Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>
    Link: https://lore.kernel.org/r/20240428032020.214616-1-baolu.lu@linux.intel.com
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    LuBaolu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ff67c88 View commit details
    Browse the repository at this point in the history
  183. iommu/amd: Enable Guest Translation after reading IOMMU feature register

    [ Upstream commit de111f6 ]
    
    Commit 8e01797 ("iommu/amd: Enable Guest Translation before
    registering devices") moved IOMMU Guest Translation (GT) enablement to
    early init path. It does feature check based on Global EFR value (got from
    ACPI IVRS table). Later it adjusts EFR value based on IOMMU feature
    register (late_iommu_features_init()).
    
    It seems in some systems BIOS doesn't set gloabl EFR value properly.
    This is causing mismatch. Hence move IOMMU GT enablement after
    late_iommu_features_init() so that it does check based on IOMMU EFR
    value.
    
    Fixes: 8e01797 ("iommu/amd: Enable Guest Translation before registering devices")
    Reported-by: Klara Modin <klarasmodin@gmail.com>
    Closes: https://lore.kernel.org/linux-iommu/333e6eb6-361c-4afb-8107-2573324bf689@gmail.com/
    Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
    Tested-by: Klara Modin <klarasmodin@gmail.com>
    Link: https://lore.kernel.org/r/20240506082039.7575-1-vasant.hegde@amd.com
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    hegdevasant authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6f69d9a View commit details
    Browse the repository at this point in the history
  184. sunrpc: removed redundant procp check

    [ Upstream commit a576f36 ]
    
    since vs_proc pointer is dereferenced before getting it's address there's
    no need to check for NULL.
    
    Found by Linux Verification Center (linuxtesting.org) with SVACE.
    
    Fixes: 8e5b677 ("SUNRPC: Add a callback to initialise server requests")
    Signed-off-by: Aleksandr Aprelkov <aaprelkov@usergate.com>
    Reviewed-by: Jeff Layton <jlayton@kernel.org>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Aleksandr Aprelkov authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    30d91a2 View commit details
    Browse the repository at this point in the history
  185. nfsd: don't create nfsv4recoverydir in nfsdfs when not used.

    [ Upstream commit 0770249 ]
    
    When CONFIG_NFSD_LEGACY_CLIENT_TRACKING is not set, the virtual file
      /proc/fs/nfsd/nfsv4recoverydir
    is created but responds EINVAL to any access.
    This is not useful, is somewhat surprising, and it causes ltp to
    complain.
    
    The only known user of this file is in nfs-utils, which handles
    non-existence and read-failure equally well.  So there is nothing to
    gain from leaving the file present but inaccessible.
    
    So this patch removes the file when its content is not available - i.e.
    when that config option is not selected.
    
    Also remove the #ifdef which hides some of the enum values when
    CONFIG_NFSD_V$ not selection.  simple_fill_super() quietly ignores array
    entries that are not present, so having slots in the array that don't
    get used is perfectly acceptable.  So there is no value in this #ifdef.
    
    Reported-by: Petr Vorel <pvorel@suse.cz>
    Reviewed-by: Jeff Layton <jlayton@kernel.org>
    Fixes: 74fd487 ("nfsd: new Kconfig option for legacy client tracking")
    Signed-off-by: NeilBrown <neilb@suse.de>
    Reviewed-by: Petr Vorel <pvorel@suse.cz>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    neilbrown authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    83429bf View commit details
    Browse the repository at this point in the history
  186. dax/bus.c: replace WARN_ON_ONCE() with lockdep asserts

    [ Upstream commit c14c647 ]
    
    Patch series "dax/bus.c: Fixups for dax-bus locking", v3.
    
    Commit Fixes: c05ae9d ("dax/bus.c: replace driver-core lock usage by
    a local rwsem") introduced a few problems that this series aims to fix.
    Add back device_lock() where it was correctly used (during device
    manipulation operations), remove conditional locking in
    unregister_dax_dev() and unregister_dax_mapping(), use non-interruptible
    versions of rwsem locks when not called from a user process, and fix up a
    write vs.  read usage of an rwsem.
    
    This patch (of 4):
    
    In [1], Dan points out that all of the WARN_ON_ONCE() usage in the
    referenced patch should be replaced with lockdep_assert_held, or
    lockdep_held_assert_write().  Replace these as appropriate.
    
    Link: https://lkml.kernel.org/r/20240430-vv-dax_abi_fixes-v3-0-e3dcd755774c@intel.com
    Link: https://lore.kernel.org/r/65f0b5ef41817_aa222941a@dwillia2-mobl3.amr.corp.intel.com.notmuch [1]
    Link: https://lkml.kernel.org/r/20240430-vv-dax_abi_fixes-v3-1-e3dcd755774c@intel.com
    Fixes: c05ae9d ("dax/bus.c: replace driver-core lock usage by a local rwsem")
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
    Reported-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Cc: Alison Schofield <alison.schofield@intel.com>
    Cc: Dave Jiang <dave.jiang@intel.com>
    Cc: Vishal Verma <vishal.l.verma@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    stellarhopper authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ca4ac88 View commit details
    Browse the repository at this point in the history
  187. dax/bus.c: fix locking for unregister_dax_dev / unregister_dax_mappin…

    …g paths
    
    [ Upstream commit 6f6544f ]
    
    Commit c05ae9d ("dax/bus.c: replace driver-core lock usage by a local
    rwsem") aimed to undo device_lock() abuses for protecting changes to
    dax-driver internal data-structures like the dax_region resource tree to
    device-dax-instance range structures.  However, the device_lock() was
    legitimately enforcing that devices to be deleted were not current
    actively attached to any driver nor assigned any capacity from the region.
    
    As a result of the device_lock restoration in delete_store(), the
    conditional locking in unregister_dev_dax() and unregister_dax_mapping()
    can be removed.
    
    Link: https://lkml.kernel.org/r/20240430-vv-dax_abi_fixes-v3-2-e3dcd755774c@intel.com
    Fixes: c05ae9d ("dax/bus.c: replace driver-core lock usage by a local rwsem")
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
    Reported-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Cc: Alison Schofield <alison.schofield@intel.com>
    Cc: Dave Jiang <dave.jiang@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    stellarhopper authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ed049a1 View commit details
    Browse the repository at this point in the history
  188. dax/bus.c: don't use down_write_killable for non-user processes

    [ Upstream commit e39dbcf ]
    
    Change an instance of down_write_killable() to a simple down_write() where
    there is no user process that might want to interrupt the operation.
    
    Link: https://lkml.kernel.org/r/20240430-vv-dax_abi_fixes-v3-3-e3dcd755774c@intel.com
    Fixes: c05ae9d ("dax/bus.c: replace driver-core lock usage by a local rwsem")
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
    Reported-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Cc: Alison Schofield <alison.schofield@intel.com>
    Cc: Dave Jiang <dave.jiang@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    stellarhopper authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    5c7c179 View commit details
    Browse the repository at this point in the history
  189. dax/bus.c: use the right locking mode (read vs write) in size_show

    [ Upstream commit 2acf045 ]
    
    In size_show(), the dax_dev_rwsem only needs a read lock, but was
    acquiring a write lock.  Change it to down_read_interruptible() so it
    doesn't unnecessarily hold a write lock.
    
    Link: https://lkml.kernel.org/r/20240430-vv-dax_abi_fixes-v3-4-e3dcd755774c@intel.com
    Fixes: c05ae9d ("dax/bus.c: replace driver-core lock usage by a local rwsem")
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Cc: Alison Schofield <alison.schofield@intel.com>
    Cc: Dave Jiang <dave.jiang@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    stellarhopper authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    76ee68d View commit details
    Browse the repository at this point in the history
  190. ext4: fix potential unnitialized variable

    [ Upstream commit 3f4830a ]
    
    Smatch complains "err" can be uninitialized in the caller.
    
        fs/ext4/indirect.c:349 ext4_alloc_branch()
        error: uninitialized symbol 'err'.
    
    Set the error to zero on the success path.
    
    Fixes: 8016e29 ("ext4: fast commit recovery path")
    Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
    Link: https://lore.kernel.org/r/363a4673-0fb8-4adf-b4fb-90a499077276@moroto.mountain
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Dan Carpenter authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    4ab4224 View commit details
    Browse the repository at this point in the history
  191. ext4: remove the redundant folio_wait_stable()

    [ Upstream commit df0b5af ]
    
    __filemap_get_folio() with FGP_WRITEBEGIN parameter has already wait
    for stable folio, so remove the redundant folio_wait_stable() in
    ext4_da_write_begin(), it was left over from the commit cc88323
    ("ext4: drop unnecessary journal handle in delalloc write") that
    removed the retry getting page logic.
    
    Fixes: cc88323 ("ext4: drop unnecessary journal handle in delalloc write")
    Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
    Reviewed-by: Jan Kara <jack@suse.cz>
    Link: https://lore.kernel.org/r/20240419023005.2719050-1-yi.zhang@huaweicloud.com
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    zhangyi089 authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ad78fd9 View commit details
    Browse the repository at this point in the history
  192. clk: qcom: Fix SC_CAMCC_8280XP dependencies

    [ Upstream commit e00f254 ]
    
    CONFIG_SC_GCC_8280XP depends on ARM64 but it is selected by
    CONFIG_SC_CAMCC_8280XP, which can be selected on ARM, resulting in a
    Kconfig warning.
    
    WARNING: unmet direct dependencies detected for SC_GCC_8280XP
      Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=y] && (ARM64 || COMPILE_TEST [=n])
      Selected by [y]:
      - SC_CAMCC_8280XP [=y] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=y]
    
    Add the same dependencies to CONFIG_SC_CAMCC_8280XP to resolve the
    warning.
    
    Fixes: ff93872 ("clk: qcom: camcc-sc8280xp: Add sc8280xp CAMCC")
    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Link: https://lore.kernel.org/r/20240318-fix-some-qcom-kconfig-deps-v1-1-ea0773e3df5a@kernel.org
    Signed-off-by: Bjorn Andersson <andersson@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nathanchance authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    939ce2f View commit details
    Browse the repository at this point in the history
  193. clk: qcom: Fix SM_GPUCC_8650 dependencies

    [ Upstream commit 07fb0a7 ]
    
    CONFIG_SM_GCC_8650 depends on ARM64 but it is selected by
    CONFIG_SM_GPUCC_8650, which can be selected on ARM, resulting in a
    Kconfig warning.
    
    WARNING: unmet direct dependencies detected for SM_GCC_8650
      Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=y] && (ARM64 || COMPILE_TEST [=n])
      Selected by [y]:
      - SM_GPUCC_8650 [=y] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=y]
    
    Add the same dependencies to CONFIG_SM_GPUCC_8650 to resolve the
    warning.
    
    Fixes: 8676fd4 ("clk: qcom: add the SM8650 GPU Clock Controller driver")
    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    Link: https://lore.kernel.org/r/20240318-fix-some-qcom-kconfig-deps-v1-2-ea0773e3df5a@kernel.org
    Signed-off-by: Bjorn Andersson <andersson@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    nathanchance authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    e0cfada View commit details
    Browse the repository at this point in the history
  194. clk: qcom: apss-ipq-pll: fix PLL rate for IPQ5018

    [ Upstream commit c55f7ee ]
    
    According to ipq5018.dtsi, the maximum supported rate by the
    CPU is 1.008 GHz on the IPQ5018 platform, however the current
    configuration of the PLL results in 1.2 GHz rate.
    
    Change the 'L' value in the PLL configuration to limit the
    rate to 1.008 GHz. The downstream kernel also uses the same
    value [1]. Also add a comment to indicate the desired
    frequency.
    
    [1] https://git.codelinaro.org/clo/qsdk/oss/kernel/linux-ipq-5.4/-/blob/NHSS.QSDK.12.4/drivers/clk/qcom/apss-ipq5018.c?ref_type=heads#L151
    
    Fixes: 50492f9 ("clk: qcom: apss-ipq-pll: add support for IPQ5018")
    Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
    Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
    Link: https://lore.kernel.org/r/20240326-fix-ipq5018-apss-pll-rate-v1-1-82ab31c9da7e@gmail.com
    Signed-off-by: Bjorn Andersson <andersson@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    juhosg authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0224bf5 View commit details
    Browse the repository at this point in the history
  195. of: module: add buffer overflow check in of_modalias()

    [ Upstream commit cf7385c ]
    
    In of_modalias(), if the buffer happens to be too small even for the 1st
    snprintf() call, the len parameter will become negative and str parameter
    (if not NULL initially) will point beyond the buffer's end. Add the buffer
    overflow check after the 1st snprintf() call and fix such check after the
    strlen() call (accounting for the terminating NUL char).
    
    Fixes: bc57506 ("of/device: use of_property_for_each_string to parse compatible strings")
    Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
    Link: https://lore.kernel.org/r/bbfc6be0-c687-62b6-d015-5141b93f313e@omp.ru
    Signed-off-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Sergey Shtylyov authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    e45b693 View commit details
    Browse the repository at this point in the history
  196. bnxt_re: avoid shift undefined behavior in bnxt_qplib_alloc_init_hwq

    [ Upstream commit 78cfd17 ]
    
    Undefined behavior is triggered when bnxt_qplib_alloc_init_hwq is called
    with hwq_attr->aux_depth != 0 and hwq_attr->aux_stride == 0.
    In that case, "roundup_pow_of_two(hwq_attr->aux_stride)" gets called.
    roundup_pow_of_two is documented as undefined for 0.
    
    Fix it in the one caller that had this combination.
    
    The undefined behavior was detected by UBSAN:
      UBSAN: shift-out-of-bounds in ./include/linux/log2.h:57:13
      shift exponent 64 is too large for 64-bit type 'long unsigned int'
      CPU: 24 PID: 1075 Comm: (udev-worker) Not tainted 6.9.0-rc6+ #4
      Hardware name: Abacus electric, s.r.o. - servis@abacus.cz Super Server/H12SSW-iN, BIOS 2.7 10/25/2023
      Call Trace:
       <TASK>
       dump_stack_lvl+0x5d/0x80
       ubsan_epilogue+0x5/0x30
       __ubsan_handle_shift_out_of_bounds.cold+0x61/0xec
       __roundup_pow_of_two+0x25/0x35 [bnxt_re]
       bnxt_qplib_alloc_init_hwq+0xa1/0x470 [bnxt_re]
       bnxt_qplib_create_qp+0x19e/0x840 [bnxt_re]
       bnxt_re_create_qp+0x9b1/0xcd0 [bnxt_re]
       ? srso_alias_return_thunk+0x5/0xfbef5
       ? srso_alias_return_thunk+0x5/0xfbef5
       ? __kmalloc+0x1b6/0x4f0
       ? create_qp.part.0+0x128/0x1c0 [ib_core]
       ? __pfx_bnxt_re_create_qp+0x10/0x10 [bnxt_re]
       create_qp.part.0+0x128/0x1c0 [ib_core]
       ib_create_qp_kernel+0x50/0xd0 [ib_core]
       create_mad_qp+0x8e/0xe0 [ib_core]
       ? __pfx_qp_event_handler+0x10/0x10 [ib_core]
       ib_mad_init_device+0x2be/0x680 [ib_core]
       add_client_context+0x10d/0x1a0 [ib_core]
       enable_device_and_get+0xe0/0x1d0 [ib_core]
       ib_register_device+0x53c/0x630 [ib_core]
       ? srso_alias_return_thunk+0x5/0xfbef5
       bnxt_re_probe+0xbd8/0xe50 [bnxt_re]
       ? __pfx_bnxt_re_probe+0x10/0x10 [bnxt_re]
       auxiliary_bus_probe+0x49/0x80
       ? driver_sysfs_add+0x57/0xc0
       really_probe+0xde/0x340
       ? pm_runtime_barrier+0x54/0x90
       ? __pfx___driver_attach+0x10/0x10
       __driver_probe_device+0x78/0x110
       driver_probe_device+0x1f/0xa0
       __driver_attach+0xba/0x1c0
       bus_for_each_dev+0x8f/0xe0
       bus_add_driver+0x146/0x220
       driver_register+0x72/0xd0
       __auxiliary_driver_register+0x6e/0xd0
       ? __pfx_bnxt_re_mod_init+0x10/0x10 [bnxt_re]
       bnxt_re_mod_init+0x3e/0xff0 [bnxt_re]
       ? __pfx_bnxt_re_mod_init+0x10/0x10 [bnxt_re]
       do_one_initcall+0x5b/0x310
       do_init_module+0x90/0x250
       init_module_from_file+0x86/0xc0
       idempotent_init_module+0x121/0x2b0
       __x64_sys_finit_module+0x5e/0xb0
       do_syscall_64+0x82/0x160
       ? srso_alias_return_thunk+0x5/0xfbef5
       ? syscall_exit_to_user_mode_prepare+0x149/0x170
       ? srso_alias_return_thunk+0x5/0xfbef5
       ? syscall_exit_to_user_mode+0x75/0x230
       ? srso_alias_return_thunk+0x5/0xfbef5
       ? do_syscall_64+0x8e/0x160
       ? srso_alias_return_thunk+0x5/0xfbef5
       ? __count_memcg_events+0x69/0x100
       ? srso_alias_return_thunk+0x5/0xfbef5
       ? count_memcg_events.constprop.0+0x1a/0x30
       ? srso_alias_return_thunk+0x5/0xfbef5
       ? handle_mm_fault+0x1f0/0x300
       ? srso_alias_return_thunk+0x5/0xfbef5
       ? do_user_addr_fault+0x34e/0x640
       ? srso_alias_return_thunk+0x5/0xfbef5
       ? srso_alias_return_thunk+0x5/0xfbef5
       entry_SYSCALL_64_after_hwframe+0x76/0x7e
      RIP: 0033:0x7f4e5132821d
      Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 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 e3 db 0c 00 f7 d8 64 89 01 48
      RSP: 002b:00007ffca9c906a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
      RAX: ffffffffffffffda RBX: 0000563ec8a8f130 RCX: 00007f4e5132821d
      RDX: 0000000000000000 RSI: 00007f4e518fa07d RDI: 000000000000003b
      RBP: 00007ffca9c90760 R08: 00007f4e513f6b20 R09: 00007ffca9c906f0
      R10: 0000563ec8a8faa0 R11: 0000000000000246 R12: 00007f4e518fa07d
      R13: 0000000000020000 R14: 0000563ec8409e90 R15: 0000563ec8a8fa60
       </TASK>
      ---[ end trace ]---
    
    Fixes: 0c4dcd6 ("RDMA/bnxt_re: Refactor hardware queue memory allocation")
    Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
    Link: https://lore.kernel.org/r/20240507103929.30003-1-mschmidt@redhat.com
    Acked-by: Selvin Xavier <selvin.xavier@broadcom.com>
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    michich authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    8b799c0 View commit details
    Browse the repository at this point in the history
  197. SUNRPC: Fix gss_free_in_token_pages()

    [ Upstream commit bafa6b4 ]
    
    Dan Carpenter says:
    > Commit 5866efa ("SUNRPC: Fix svcauth_gss_proxy_init()") from Oct
    > 24, 2019 (linux-next), leads to the following Smatch static checker
    > warning:
    >
    > 	net/sunrpc/auth_gss/svcauth_gss.c:1039 gss_free_in_token_pages()
    > 	warn: iterator 'i' not incremented
    >
    > net/sunrpc/auth_gss/svcauth_gss.c
    >     1034 static void gss_free_in_token_pages(struct gssp_in_token *in_token)
    >     1035 {
    >     1036         u32 inlen;
    >     1037         int i;
    >     1038
    > --> 1039         i = 0;
    >     1040         inlen = in_token->page_len;
    >     1041         while (inlen) {
    >     1042                 if (in_token->pages[i])
    >     1043                         put_page(in_token->pages[i]);
    >                                                          ^
    > This puts page zero over and over.
    >
    >     1044                 inlen -= inlen > PAGE_SIZE ? PAGE_SIZE : inlen;
    >     1045         }
    >     1046
    >     1047         kfree(in_token->pages);
    >     1048         in_token->pages = NULL;
    >     1049 }
    
    Based on the way that the ->pages[] array is constructed in
    gss_read_proxy_verf(), we know that once the loop encounters a NULL
    page pointer, the remaining array elements must also be NULL.
    
    Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
    Suggested-by: Trond Myklebust <trondmy@hammerspace.com>
    Fixes: 5866efa ("SUNRPC: Fix svcauth_gss_proxy_init()")
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    chucklever authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    8ca1489 View commit details
    Browse the repository at this point in the history
  198. selftests/damon/_damon_sysfs: check errors from nr_schemes file reads

    [ Upstream commit 732b881 ]
    
    DAMON context staging method in _damon_sysfs.py is not checking the
    returned error from nr_schemes file read.  Check it.
    
    Link: https://lkml.kernel.org/r/20240503180318.72798-3-sj@kernel.org
    Fixes: f5f0e5a ("selftests/damon/_damon_sysfs: implement kdamonds start function")
    Signed-off-by: SeongJae Park <sj@kernel.org>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Shuah Khan <shuah@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    sjp38 authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    cf640a9 View commit details
    Browse the repository at this point in the history
  199. selftests/kcmp: remove unused open mode

    [ Upstream commit eb59a58 ]
    
    Android bionic warns that open modes are ignored if O_CREAT or O_TMPFILE
    aren't specified.  The permissions for the file are set above:
    
    	fd1 = open(kpath, O_RDWR | O_CREAT | O_TRUNC, 0644);
    
    Link: https://lkml.kernel.org/r/20240429234610.191144-1-edliaw@google.com
    Fixes: d97b46a ("syscalls, x86: add __NR_kcmp syscall")
    Signed-off-by: Edward Liaw <edliaw@google.com>
    Reviewed-by: Cyrill Gorcunov <gorcunov@gmail.com>
    Cc: Eric Biederman <ebiederm@xmission.com>
    Cc: Shuah Khan <shuah@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    edliaw authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    8ff23f8 View commit details
    Browse the repository at this point in the history
  200. RDMA/IPoIB: Fix format truncation compilation errors

    [ Upstream commit 49ca2b2 ]
    
    Truncate the device name to store IPoIB VLAN name.
    
    [leonro@5b4e8fba4ddd kernel]$ make -s -j 20 allmodconfig
    [leonro@5b4e8fba4ddd kernel]$ make -s -j 20 W=1 drivers/infiniband/ulp/ipoib/
    drivers/infiniband/ulp/ipoib/ipoib_vlan.c: In function ‘ipoib_vlan_add’:
    drivers/infiniband/ulp/ipoib/ipoib_vlan.c:187:52: error: ‘%04x’
    directive output may be truncated writing 4 bytes into a region of size
    between 0 and 15 [-Werror=format-truncation=]
      187 |         snprintf(intf_name, sizeof(intf_name), "%s.%04x",
          |                                                    ^~~~
    drivers/infiniband/ulp/ipoib/ipoib_vlan.c:187:48: note: directive
    argument in the range [0, 65535]
      187 |         snprintf(intf_name, sizeof(intf_name), "%s.%04x",
          |                                                ^~~~~~~~~
    drivers/infiniband/ulp/ipoib/ipoib_vlan.c:187:9: note: ‘snprintf’ output
    between 6 and 21 bytes into a destination of size 16
      187 |         snprintf(intf_name, sizeof(intf_name), "%s.%04x",
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      188 |                  ppriv->dev->name, pkey);
          |                  ~~~~~~~~~~~~~~~~~~~~~~~
    cc1: all warnings being treated as errors
    make[6]: *** [scripts/Makefile.build:244: drivers/infiniband/ulp/ipoib/ipoib_vlan.o] Error 1
    make[6]: *** Waiting for unfinished jobs....
    
    Fixes: 9baa0b0 ("IB/ipoib: Add rtnl_link_ops support")
    Link: https://lore.kernel.org/r/e9d3e1fef69df4c9beaf402cc3ac342bad680791.1715240029.git.leon@kernel.org
    Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    rleon authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    1a8c2cc View commit details
    Browse the repository at this point in the history
  201. RDMA/cma: Fix kmemleak in rdma_core observed during blktests nvme/rdm…

    …a use siw
    
    [ Upstream commit 9c07318 ]
    
    When running blktests nvme/rdma, the following kmemleak issue will appear.
    
    kmemleak: Kernel memory leak detector initialized (mempool available:36041)
    kmemleak: Automatic memory scanning thread started
    kmemleak: 2 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
    kmemleak: 8 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
    kmemleak: 17 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
    kmemleak: 4 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
    
    unreferenced object 0xffff88855da53400 (size 192):
      comm "rdma", pid 10630, jiffies 4296575922
      hex dump (first 32 bytes):
        37 00 00 00 00 00 00 00 c0 ff ff ff 1f 00 00 00  7...............
        10 34 a5 5d 85 88 ff ff 10 34 a5 5d 85 88 ff ff  .4.].....4.]....
      backtrace (crc 47f66721):
        [<ffffffff911251bd>] kmalloc_trace+0x30d/0x3b0
        [<ffffffffc2640ff7>] alloc_gid_entry+0x47/0x380 [ib_core]
        [<ffffffffc2642206>] add_modify_gid+0x166/0x930 [ib_core]
        [<ffffffffc2643468>] ib_cache_update.part.0+0x6d8/0x910 [ib_core]
        [<ffffffffc2644e1a>] ib_cache_setup_one+0x24a/0x350 [ib_core]
        [<ffffffffc263949e>] ib_register_device+0x9e/0x3a0 [ib_core]
        [<ffffffffc2a3d389>] 0xffffffffc2a3d389
        [<ffffffffc2688cd8>] nldev_newlink+0x2b8/0x520 [ib_core]
        [<ffffffffc2645fe3>] rdma_nl_rcv_msg+0x2c3/0x520 [ib_core]
        [<ffffffffc264648c>]
    rdma_nl_rcv_skb.constprop.0.isra.0+0x23c/0x3a0 [ib_core]
        [<ffffffff9270e7b5>] netlink_unicast+0x445/0x710
        [<ffffffff9270f1f1>] netlink_sendmsg+0x761/0xc40
        [<ffffffff9249db29>] __sys_sendto+0x3a9/0x420
        [<ffffffff9249dc8c>] __x64_sys_sendto+0xdc/0x1b0
        [<ffffffff92db0ad3>] do_syscall_64+0x93/0x180
        [<ffffffff92e00126>] entry_SYSCALL_64_after_hwframe+0x71/0x79
    
    The root cause: rdma_put_gid_attr is not called when sgid_attr is set
    to ERR_PTR(-ENODEV).
    
    Reported-and-tested-by: Yi Zhang <yi.zhang@redhat.com>
    Closes: https://lore.kernel.org/all/19bf5745-1b3b-4b8a-81c2-20d945943aaf@linux.dev/T/
    Fixes: f8ef1be ("RDMA/cma: Avoid GID lookups on iWARP devices")
    Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Zhu Yanjun <yanjun.zhu@linux.dev>
    Link: https://lore.kernel.org/r/20240510211247.31345-1-yanjun.zhu@linux.dev
    Signed-off-by: Leon Romanovsky <leon@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    zhuyj authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    b3a7fb9 View commit details
    Browse the repository at this point in the history
  202. samples/landlock: Fix incorrect free in populate_ruleset_net

    [ Upstream commit 4221293 ]
    
    Pointer env_port_name changes after strsep(). Memory allocated via
    strdup() will not be freed if landlock_add_rule() returns non-zero value.
    
    Fixes: 5e990dc ("samples/landlock: Support TCP restrictions")
    Signed-off-by: Ivanov Mikhail <ivanov.mikhail1@huawei-partners.com>
    Reviewed-by: Konstantin Meskhidze <konstantin.meskhidze@huawei.com>
    Link: https://lore.kernel.org/r/20240326095625.3576164-1-ivanov.mikhail1@huawei-partners.com
    Signed-off-by: Mickaël Salaün <mic@digikod.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    sm1ling-knight authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c29a9b8 View commit details
    Browse the repository at this point in the history
  203. tracing/user_events: Fix non-spaced field matching

    [ Upstream commit bd125a0 ]
    
    When the ABI was updated to prevent same name w/different args, it
    missed an important corner case when fields don't end with a space.
    Typically, space is used for fields to help separate them, like
    "u8 field1; u8 field2". If no spaces are used, like
    "u8 field1;u8 field2", then the parsing works for the first time.
    However, the match check fails on a subsequent register, leading to
    confusion.
    
    This is because the match check uses argv_split() and assumes that all
    fields will be split upon the space. When spaces are used, we get back
    { "u8", "field1;" }, without spaces we get back { "u8", "field1;u8" }.
    This causes a mismatch, and the user program gets back -EADDRINUSE.
    
    Add a method to detect this case before calling argv_split(). If found
    force a space after the field separator character ';'. This ensures all
    cases work properly for matching.
    
    With this fix, the following are all treated as matching:
    u8 field1;u8 field2
    u8 field1; u8 field2
    u8 field1;\tu8 field2
    u8 field1;\nu8 field2
    
    Link: https://lore.kernel.org/linux-trace-kernel/20240423162338.292-2-beaub@linux.microsoft.com
    
    Fixes: ba470ee ("tracing/user_events: Prevent same name but different args event")
    Signed-off-by: Beau Belgrave <beaub@linux.microsoft.com>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    beaubelgrave authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    52e665d View commit details
    Browse the repository at this point in the history
  204. modules: Drop the .export_symbol section from the final modules

    [ Upstream commit 8fe51b4 ]
    
    Commit ddb5cdb ("kbuild: generate KSYMTAB entries by modpost")
    forget drop the .export_symbol section from the final modules.
    
    Fixes: ddb5cdb ("kbuild: generate KSYMTAB entries by modpost")
    Signed-off-by: Wang Yao <wangyao@lemote.com>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    AlooGS authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    df003a1 View commit details
    Browse the repository at this point in the history
  205. net: bridge: xmit: make sure we have at least eth header len bytes

    [ Upstream commit 8bd67eb ]
    
    syzbot triggered an uninit value[1] error in bridge device's xmit path
    by sending a short (less than ETH_HLEN bytes) skb. To fix it check if
    we can actually pull that amount instead of assuming.
    
    Tested with dropwatch:
     drop at: br_dev_xmit+0xb93/0x12d0 [bridge] (0xffffffffc06739b3)
     origin: software
     timestamp: Mon May 13 11:31:53 2024 778214037 nsec
     protocol: 0x88a8
     length: 2
     original length: 2
     drop reason: PKT_TOO_SMALL
    
    [1]
    BUG: KMSAN: uninit-value in br_dev_xmit+0x61d/0x1cb0 net/bridge/br_device.c:65
     br_dev_xmit+0x61d/0x1cb0 net/bridge/br_device.c:65
     __netdev_start_xmit include/linux/netdevice.h:4903 [inline]
     netdev_start_xmit include/linux/netdevice.h:4917 [inline]
     xmit_one net/core/dev.c:3531 [inline]
     dev_hard_start_xmit+0x247/0xa20 net/core/dev.c:3547
     __dev_queue_xmit+0x34db/0x5350 net/core/dev.c:4341
     dev_queue_xmit include/linux/netdevice.h:3091 [inline]
     __bpf_tx_skb net/core/filter.c:2136 [inline]
     __bpf_redirect_common net/core/filter.c:2180 [inline]
     __bpf_redirect+0x14a6/0x1620 net/core/filter.c:2187
     ____bpf_clone_redirect net/core/filter.c:2460 [inline]
     bpf_clone_redirect+0x328/0x470 net/core/filter.c:2432
     ___bpf_prog_run+0x13fe/0xe0f0 kernel/bpf/core.c:1997
     __bpf_prog_run512+0xb5/0xe0 kernel/bpf/core.c:2238
     bpf_dispatcher_nop_func include/linux/bpf.h:1234 [inline]
     __bpf_prog_run include/linux/filter.h:657 [inline]
     bpf_prog_run include/linux/filter.h:664 [inline]
     bpf_test_run+0x499/0xc30 net/bpf/test_run.c:425
     bpf_prog_test_run_skb+0x14ea/0x1f20 net/bpf/test_run.c:1058
     bpf_prog_test_run+0x6b7/0xad0 kernel/bpf/syscall.c:4269
     __sys_bpf+0x6aa/0xd90 kernel/bpf/syscall.c:5678
     __do_sys_bpf kernel/bpf/syscall.c:5767 [inline]
     __se_sys_bpf kernel/bpf/syscall.c:5765 [inline]
     __x64_sys_bpf+0xa0/0xe0 kernel/bpf/syscall.c:5765
     x64_sys_call+0x96b/0x3b50 arch/x86/include/generated/asm/syscalls_64.h:322
     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+0x77/0x7f
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Reported-by: syzbot+a63a1f6a062033cf0f40@syzkaller.appspotmail.com
    Closes: https://syzkaller.appspot.com/bug?extid=a63a1f6a062033cf0f40
    Signed-off-by: Nikolay Aleksandrov <razor@blackwall.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    NikAleksandrov authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    5b5d669 View commit details
    Browse the repository at this point in the history
  206. selftests: net: bridge: increase IGMP/MLD exclude timeout membership …

    …interval
    
    [ Upstream commit 06080ea ]
    
    When running the bridge IGMP/MLD selftests on debug kernels we can get
    spurious errors when setting up the IGMP/MLD exclude timeout tests
    because the membership interval is just 3 seconds and the setup has 2
    seconds of sleep plus various validations, the one second that is left
    is not enough. Increase the membership interval from 3 to 5 seconds to
    make room for the setup validation and 2 seconds of sleep.
    
    Fixes: 34d7ecb ("selftests: net: bridge: update IGMP/MLD membership interval value")
    Reported-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Nikolay Aleksandrov <razor@blackwall.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    NikAleksandrov authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a431a0e View commit details
    Browse the repository at this point in the history
  207. net: bridge: mst: fix vlan use-after-free

    [ Upstream commit 3a7c166 ]
    
    syzbot reported a suspicious rcu usage[1] in bridge's mst code. While
    fixing it I noticed that nothing prevents a vlan to be freed while
    walking the list from the same path (br forward delay timer). Fix the rcu
    usage and also make sure we are not accessing freed memory by making
    br_mst_vlan_set_state use rcu read lock.
    
    [1]
     WARNING: suspicious RCU usage
     6.9.0-rc6-syzkaller #0 Not tainted
     -----------------------------
     net/bridge/br_private.h:1599 suspicious rcu_dereference_protected() usage!
     ...
     stack backtrace:
     CPU: 1 PID: 8017 Comm: syz-executor.1 Not tainted 6.9.0-rc6-syzkaller #0
     Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
     Call Trace:
      <IRQ>
      __dump_stack lib/dump_stack.c:88 [inline]
      dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114
      lockdep_rcu_suspicious+0x221/0x340 kernel/locking/lockdep.c:6712
      nbp_vlan_group net/bridge/br_private.h:1599 [inline]
      br_mst_set_state+0x1ea/0x650 net/bridge/br_mst.c:105
      br_set_state+0x28a/0x7b0 net/bridge/br_stp.c:47
      br_forward_delay_timer_expired+0x176/0x440 net/bridge/br_stp_timer.c:88
      call_timer_fn+0x18e/0x650 kernel/time/timer.c:1793
      expire_timers kernel/time/timer.c:1844 [inline]
      __run_timers kernel/time/timer.c:2418 [inline]
      __run_timer_base+0x66a/0x8e0 kernel/time/timer.c:2429
      run_timer_base kernel/time/timer.c:2438 [inline]
      run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2448
      __do_softirq+0x2c6/0x980 kernel/softirq.c:554
      invoke_softirq kernel/softirq.c:428 [inline]
      __irq_exit_rcu+0xf2/0x1c0 kernel/softirq.c:633
      irq_exit_rcu+0x9/0x30 kernel/softirq.c:645
      instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline]
      sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1043
      </IRQ>
      <TASK>
     asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
     RIP: 0010:lock_acquire+0x264/0x550 kernel/locking/lockdep.c:5758
     Code: 2b 00 74 08 4c 89 f7 e8 ba d1 84 00 f6 44 24 61 02 0f 85 85 01 00 00 41 f7 c7 00 02 00 00 74 01 fb 48 c7 44 24 40 0e 36 e0 45 <4b> c7 44 25 00 00 00 00 00 43 c7 44 25 09 00 00 00 00 43 c7 44 25
     RSP: 0018:ffffc90013657100 EFLAGS: 00000206
     RAX: 0000000000000001 RBX: 1ffff920026cae2c RCX: 0000000000000001
     RDX: dffffc0000000000 RSI: ffffffff8bcaca00 RDI: ffffffff8c1eaa60
     RBP: ffffc90013657260 R08: ffffffff92efe507 R09: 1ffffffff25dfca0
     R10: dffffc0000000000 R11: fffffbfff25dfca1 R12: 1ffff920026cae28
     R13: dffffc0000000000 R14: ffffc90013657160 R15: 0000000000000246
    
    Fixes: ec7328b ("net: bridge: mst: Multiple Spanning Tree (MST) mode")
    Reported-by: syzbot+fa04eb8a56fd923fc5d8@syzkaller.appspotmail.com
    Closes: https://syzkaller.appspot.com/bug?extid=fa04eb8a56fd923fc5d8
    Signed-off-by: Nikolay Aleksandrov <razor@blackwall.org>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    NikAleksandrov authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    e43dd2b View commit details
    Browse the repository at this point in the history
  208. libbpf: fix feature detectors when using token_fd

    [ Upstream commit 1de27bb ]
    
    Adjust `union bpf_attr` size passed to kernel in two feature-detecting
    functions to take into account prog_token_fd field.
    
    Libbpf is avoiding memset()'ing entire `union bpf_attr` by only using
    minimal set of bpf_attr's fields. Two places have been missed when
    wiring BPF token support in libbpf's feature detection logic.
    
    Fix them trivially.
    
    Fixes: f3dcee9 ("libbpf: Wire up token_fd into feature probing logic")
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Link: https://lore.kernel.org/r/20240513180804.403775-1-andrii@kernel.org
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    anakryiko authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    5ca5051 View commit details
    Browse the repository at this point in the history
  209. net: qrtr: ns: Fix module refcnt

    [ Upstream commit fd76e5c ]
    
    The qrtr protocol core logic and the qrtr nameservice are combined into
    a single module. Neither the core logic or nameservice provide much
    functionality by themselves; combining the two into a single module also
    prevents any possible issues that may stem from client modules loading
    inbetween qrtr and the ns.
    
    Creating a socket takes two references to the module that owns the
    socket protocol. Since the ns needs to create the control socket, this
    creates a scenario where there are always two references to the qrtr
    module. This prevents the execution of 'rmmod' for qrtr.
    
    To resolve this, forcefully put the module refcount for the socket
    opened by the nameservice.
    
    Fixes: a365023 ("net: qrtr: combine nameservice into main module")
    Reported-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
    Tested-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
    Signed-off-by: Chris Lew <quic_clew@quicinc.com>
    Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    quic-clew authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ebe7716 View commit details
    Browse the repository at this point in the history
  210. selftests/net/lib: no need to record ns name if it already exist

    [ Upstream commit 83e9394 ]
    
    There is no need to add the name to ns_list again if the netns already
    recoreded.
    
    Fixes: 25ae948 ("selftests/net: add lib.sh")
    Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    liuhangbin authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    8982124 View commit details
    Browse the repository at this point in the history
  211. idpf: don't skip over ethtool tcp-data-split setting

    [ Upstream commit 6770815 ]
    
    Disabling tcp-data-split on idpf silently fails:
      # ethtool -G $NETDEV tcp-data-split off
      # ethtool -g $NETDEV | grep 'TCP data split'
      TCP data split:        on
    
    But it works if you also change 'tx' or 'rx':
      # ethtool -G $NETDEV tcp-data-split off tx 256
      # ethtool -g $NETDEV | grep 'TCP data split'
      TCP data split:        off
    
    The bug is in idpf_set_ringparam, where it takes a shortcut out if the
    TX and RX sizes are not changing. Fix it by checking also if the
    tcp-data-split setting remains unchanged. Only then can the soft reset
    be skipped.
    
    Fixes: 9b1aa3e ("idpf: add get/set for Ethtool's header split ringparam")
    Reported-by: Xu Du <xudu@redhat.com>
    Closes: https://issues.redhat.com/browse/RHEL-36182
    Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
    Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
    Link: https://lore.kernel.org/r/20240515092414.158079-1-mschmidt@redhat.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    michich authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a4bb924 View commit details
    Browse the repository at this point in the history
  212. netrom: fix possible dead-lock in nr_rt_ioctl()

    [ Upstream commit e03e7f2 ]
    
    syzbot loves netrom, and found a possible deadlock in nr_rt_ioctl [1]
    
    Make sure we always acquire nr_node_list_lock before nr_node_lock(nr_node)
    
    [1]
    WARNING: possible circular locking dependency detected
    6.9.0-rc7-syzkaller-02147-g654de42f3fc6 #0 Not tainted
    ------------------------------------------------------
    syz-executor350/5129 is trying to acquire lock:
     ffff8880186e2070 (&nr_node->node_lock){+...}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:356 [inline]
     ffff8880186e2070 (&nr_node->node_lock){+...}-{2:2}, at: nr_node_lock include/net/netrom.h:152 [inline]
     ffff8880186e2070 (&nr_node->node_lock){+...}-{2:2}, at: nr_dec_obs net/netrom/nr_route.c:464 [inline]
     ffff8880186e2070 (&nr_node->node_lock){+...}-{2:2}, at: nr_rt_ioctl+0x1bb/0x1090 net/netrom/nr_route.c:697
    
    but task is already holding lock:
     ffffffff8f7053b8 (nr_node_list_lock){+...}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:356 [inline]
     ffffffff8f7053b8 (nr_node_list_lock){+...}-{2:2}, at: nr_dec_obs net/netrom/nr_route.c:462 [inline]
     ffffffff8f7053b8 (nr_node_list_lock){+...}-{2:2}, at: nr_rt_ioctl+0x10a/0x1090 net/netrom/nr_route.c:697
    
    which lock already depends on the new lock.
    
    the existing dependency chain (in reverse order) is:
    
    -> #1 (nr_node_list_lock){+...}-{2:2}:
            lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5754
            __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline]
            _raw_spin_lock_bh+0x35/0x50 kernel/locking/spinlock.c:178
            spin_lock_bh include/linux/spinlock.h:356 [inline]
            nr_remove_node net/netrom/nr_route.c:299 [inline]
            nr_del_node+0x4b4/0x820 net/netrom/nr_route.c:355
            nr_rt_ioctl+0xa95/0x1090 net/netrom/nr_route.c:683
            sock_do_ioctl+0x158/0x460 net/socket.c:1222
            sock_ioctl+0x629/0x8e0 net/socket.c:1341
            vfs_ioctl fs/ioctl.c:51 [inline]
            __do_sys_ioctl fs/ioctl.c:904 [inline]
            __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:890
            do_syscall_x64 arch/x86/entry/common.c:52 [inline]
            do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
           entry_SYSCALL_64_after_hwframe+0x77/0x7f
    
    -> #0 (&nr_node->node_lock){+...}-{2:2}:
            check_prev_add kernel/locking/lockdep.c:3134 [inline]
            check_prevs_add kernel/locking/lockdep.c:3253 [inline]
            validate_chain+0x18cb/0x58e0 kernel/locking/lockdep.c:3869
            __lock_acquire+0x1346/0x1fd0 kernel/locking/lockdep.c:5137
            lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5754
            __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline]
            _raw_spin_lock_bh+0x35/0x50 kernel/locking/spinlock.c:178
            spin_lock_bh include/linux/spinlock.h:356 [inline]
            nr_node_lock include/net/netrom.h:152 [inline]
            nr_dec_obs net/netrom/nr_route.c:464 [inline]
            nr_rt_ioctl+0x1bb/0x1090 net/netrom/nr_route.c:697
            sock_do_ioctl+0x158/0x460 net/socket.c:1222
            sock_ioctl+0x629/0x8e0 net/socket.c:1341
            vfs_ioctl fs/ioctl.c:51 [inline]
            __do_sys_ioctl fs/ioctl.c:904 [inline]
            __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:890
            do_syscall_x64 arch/x86/entry/common.c:52 [inline]
            do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
           entry_SYSCALL_64_after_hwframe+0x77/0x7f
    
    other info that might help us debug this:
    
     Possible unsafe locking scenario:
    
           CPU0                    CPU1
           ----                    ----
      lock(nr_node_list_lock);
                                   lock(&nr_node->node_lock);
                                   lock(nr_node_list_lock);
      lock(&nr_node->node_lock);
    
     *** DEADLOCK ***
    
    1 lock held by syz-executor350/5129:
      #0: ffffffff8f7053b8 (nr_node_list_lock){+...}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:356 [inline]
      #0: ffffffff8f7053b8 (nr_node_list_lock){+...}-{2:2}, at: nr_dec_obs net/netrom/nr_route.c:462 [inline]
      #0: ffffffff8f7053b8 (nr_node_list_lock){+...}-{2:2}, at: nr_rt_ioctl+0x10a/0x1090 net/netrom/nr_route.c:697
    
    stack backtrace:
    CPU: 0 PID: 5129 Comm: syz-executor350 Not tainted 6.9.0-rc7-syzkaller-02147-g654de42f3fc6 #0
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024
    Call Trace:
     <TASK>
      __dump_stack lib/dump_stack.c:88 [inline]
      dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114
      check_noncircular+0x36a/0x4a0 kernel/locking/lockdep.c:2187
      check_prev_add kernel/locking/lockdep.c:3134 [inline]
      check_prevs_add kernel/locking/lockdep.c:3253 [inline]
      validate_chain+0x18cb/0x58e0 kernel/locking/lockdep.c:3869
      __lock_acquire+0x1346/0x1fd0 kernel/locking/lockdep.c:5137
      lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5754
      __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline]
      _raw_spin_lock_bh+0x35/0x50 kernel/locking/spinlock.c:178
      spin_lock_bh include/linux/spinlock.h:356 [inline]
      nr_node_lock include/net/netrom.h:152 [inline]
      nr_dec_obs net/netrom/nr_route.c:464 [inline]
      nr_rt_ioctl+0x1bb/0x1090 net/netrom/nr_route.c:697
      sock_do_ioctl+0x158/0x460 net/socket.c:1222
      sock_ioctl+0x629/0x8e0 net/socket.c:1341
      vfs_ioctl fs/ioctl.c:51 [inline]
      __do_sys_ioctl fs/ioctl.c:904 [inline]
      __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:890
      do_syscall_x64 arch/x86/entry/common.c:52 [inline]
      do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
     entry_SYSCALL_64_after_hwframe+0x77/0x7f
    
    Fixes: 1da177e ("Linux-2.6.12-rc2")
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Link: https://lore.kernel.org/r/20240515142934.3708038-1-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Eric Dumazet authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    5bc50a7 View commit details
    Browse the repository at this point in the history
  213. af_packet: do not call packet_read_pending() from tpacket_destruct_skb()

    [ Upstream commit 581073f ]
    
    trafgen performance considerably sank on hosts with many cores
    after the blamed commit.
    
    packet_read_pending() is very expensive, and calling it
    in af_packet fast path defeats Daniel intent in commit
    b013840 ("packet: use percpu mmap tx frame pending refcount")
    
    tpacket_destruct_skb() makes room for one packet, we can immediately
    wakeup a producer, no need to completely drain the tx ring.
    
    Fixes: 89ed5b5 ("af_packet: Block execution of tasks waiting for transmit to complete in AF_PACKET")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Neil Horman <nhorman@tuxdriver.com>
    Cc: Daniel Borkmann <daniel@iogearbox.net>
    Reviewed-by: Willem de Bruijn <willemb@google.com>
    Link: https://lore.kernel.org/r/20240515163358.4105915-1-edumazet@google.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Eric Dumazet authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    22a9f30 View commit details
    Browse the repository at this point in the history
  214. sched/fair: Allow disabling sched_balance_newidle with sched_relax_do…

    …main_level
    
    [ Upstream commit a1fd0b9 ]
    
    Change relax_domain_level checks so that it would be possible
    to include or exclude all domains from newidle balancing.
    
    This matches the behavior described in the documentation:
    
      -1   no request. use system default or follow request of others.
       0   no search.
       1   search siblings (hyperthreads in a core).
    
    "2" enables levels 0 and 1, level_max excludes the last (level_max)
    level, and level_max+1 includes all levels.
    
    Fixes: 1d3504f ("sched, cpuset: customize sched domains, core")
    Signed-off-by: Vitalii Bursov <vitaly@bursov.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Tested-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
    Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
    Reviewed-by: Valentin Schneider <vschneid@redhat.com>
    Link: https://lore.kernel.org/r/bd6de28e80073c79466ec6401cdeae78f0d4423d.1714488502.git.vitaly@bursov.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    vitalyvb authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    e927daa View commit details
    Browse the repository at this point in the history
  215. sched/core: Fix incorrect initialization of the 'burst' parameter in …

    …cpu_max_write()
    
    [ Upstream commit 49217ea ]
    
    In the cgroup v2 CPU subsystem, assuming we have a
    cgroup named 'test', and we set cpu.max and cpu.max.burst:
    
        # echo 1000000 > /sys/fs/cgroup/test/cpu.max
        # echo 1000000 > /sys/fs/cgroup/test/cpu.max.burst
    
    then we check cpu.max and cpu.max.burst:
    
        # cat /sys/fs/cgroup/test/cpu.max
        1000000 100000
        # cat /sys/fs/cgroup/test/cpu.max.burst
        1000000
    
    Next we set cpu.max again and check cpu.max and
    cpu.max.burst:
    
        # echo 2000000 > /sys/fs/cgroup/test/cpu.max
        # cat /sys/fs/cgroup/test/cpu.max
        2000000 100000
    
        # cat /sys/fs/cgroup/test/cpu.max.burst
        1000
    
    ... we find that the cpu.max.burst value changed unexpectedly.
    
    In cpu_max_write(), the unit of the burst value returned
    by tg_get_cfs_burst() is microseconds, while in cpu_max_write(),
    the burst unit used for calculation should be nanoseconds,
    which leads to the bug.
    
    To fix it, get the burst value directly from tg->cfs_bandwidth.burst.
    
    Fixes: f418371 ("sched/fair: Introduce the burstable CFS controller")
    Reported-by: Qixin Liao <liaoqixin@huawei.com>
    Signed-off-by: Cheng Yu <serein.chengyu@huawei.com>
    Signed-off-by: Zhang Qiao <zhangqiao22@huawei.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
    Tested-by: Vincent Guittot <vincent.guittot@linaro.org>
    Link: https://lore.kernel.org/r/20240424132438.514720-1-serein.chengyu@huawei.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Cheng Yu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    b85d872 View commit details
    Browse the repository at this point in the history
  216. net: wangxun: fix to change Rx features

    [ Upstream commit 68067f0 ]
    
    Fix the issue where some Rx features cannot be changed.
    
    When using ethtool -K to turn off rx offload, it returns error and
    displays "Could not change any device features". And netdev->features
    is not assigned a new value to actually configure the hardware.
    
    Fixes: 6dbedcf ("net: libwx: Implement xx_set_features ops")
    Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Jiawen Wu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    20844ad View commit details
    Browse the repository at this point in the history
  217. net: wangxun: match VLAN CTAG and STAG features

    [ Upstream commit ac71ab7 ]
    
    Hardware requires VLAN CTAG and STAG configuration always matches. And
    whether VLAN CTAG or STAG changes, the configuration needs to be changed
    as well.
    
    Fixes: 6670f1e ("net: txgbe: Add netdev features support")
    Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
    Reviewed-by: Sai Krishna <saikrishnag@marvell.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Jiawen Wu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ef5b69d View commit details
    Browse the repository at this point in the history
  218. net: txgbe: fix to control VLAN strip

    [ Upstream commit 1d3c641 ]
    
    When VLAN tag strip is changed to enable or disable, the hardware requires
    the Rx ring to be in a disabled state, otherwise the feature cannot be
    changed.
    
    Fixes: f3b03c6 ("net: wangxun: Implement vlan add and kill functions")
    Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Jiawen Wu authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a7d3af9 View commit details
    Browse the repository at this point in the history
  219. l2tp: fix ICMP error handling for UDP-encap sockets

    [ Upstream commit 6e828dc ]
    
    Since commit a36e185
    ("udp: Handle ICMP errors for tunnels with same destination port on both endpoints")
    UDP's handling of ICMP errors has allowed for UDP-encap tunnels to
    determine socket associations in scenarios where the UDP hash lookup
    could not.
    
    Subsequently, commit d26796a
    ("udp: check udp sock encap_type in __udp_lib_err")
    subtly tweaked the approach such that UDP ICMP error handling would be
    skipped for any UDP socket which has encapsulation enabled.
    
    In the case of L2TP tunnel sockets using UDP-encap, this latter
    modification effectively broke ICMP error reporting for the L2TP
    control plane.
    
    To a degree this isn't catastrophic inasmuch as the L2TP control
    protocol defines a reliable transport on top of the underlying packet
    switching network which will eventually detect errors and time out.
    
    However, paying attention to the ICMP error reporting allows for more
    timely detection of errors in L2TP userspace, and aids in debugging
    connectivity issues.
    
    Reinstate ICMP error handling for UDP encap L2TP tunnels:
    
     * implement struct udp_tunnel_sock_cfg .encap_err_rcv in order to allow
       the L2TP code to handle ICMP errors;
    
     * only implement error-handling for tunnels which have a managed
       socket: unmanaged tunnels using a kernel socket have no userspace to
       report errors back to;
    
     * flag the error on the socket, which allows for userspace to get an
       error such as -ECONNREFUSED back from sendmsg/recvmsg;
    
     * pass the error into ip[v6]_icmp_error() which allows for userspace to
       get extended error information via. MSG_ERRQUEUE.
    
    Fixes: d26796a ("udp: check udp sock encap_type in __udp_lib_err")
    Signed-off-by: Tom Parkin <tparkin@katalix.com>
    Link: https://lore.kernel.org/r/20240513172248.623261-1-tparkin@katalix.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    tomparkin authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    7207cbc View commit details
    Browse the repository at this point in the history
  220. Revert "selftests: Compile kselftest headers with -D_GNU_SOURCE"

    [ Upstream commit cee27ae ]
    
    This reverts commit daef47b.
    
    This framework change to add D_GNU_SOURCE to KHDR_INCLUDES
    to Makefile, lib.mk, and kselftest_harness.h is causing build
    failures and warnings.
    
    Revert this change.
    
    Reported-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    shuahkh authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    108fd11 View commit details
    Browse the repository at this point in the history
  221. Revert "selftests/sgx: Include KHDR_INCLUDES in Makefile"

    [ Upstream commit 3da1640 ]
    
    This reverts commit 2c3b8f8.
    
    The framework change to add D_GNU_SOURCE to KHDR_INCLUDES
    to Makefile, lib.mk, and kselftest_harness.h is reverted
    as it is causing build failures and warnings.
    
    Revert this change as this change depends on the framework
    change.
    
    Reported-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    shuahkh authored and gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    68648fe View commit details
    Browse the repository at this point in the history
  222. Linux 6.9.3

    Link: https://lore.kernel.org/r/20240527185601.713589927@linuxfoundation.org
    Tested-by: Ronald Warsow <rwarsow@gmx.de>
    Tested-by: Pavel Machek (CIP) <pavel@denx.de>
    Tested-by: Bagas Sanjaya <bagasdotme@gmail.com>
    Tested-by: Jon Hunter <jonathanh@nvidia.com>
    Tested-by: SeongJae Park <sj@kernel.org>
    Tested-by: Mark Brown <broonie@kernel.org>
    Tested-by: Pascal Ernster <git@hardfalcon.net>
    Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
    Tested-by: Shuah Khan <skhan@linuxfoundation.org>
    Tested-by: Ron Economos <re@w6rz.net>
    Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    gregkh committed May 30, 2024
    Configuration menu
    Copy the full SHA
    1b4861e View commit details
    Browse the repository at this point in the history
  223. base packaging

    Kernel Builder (sita) committed May 30, 2024
    Configuration menu
    Copy the full SHA
    454783a View commit details
    Browse the repository at this point in the history
  224. UBUNTU: SAUCE: kbuild: add -fcf-protection=none when using retpoline …

    …flags
    
    BugLink: [Replace -fcf-protection=none patch with new version]
    
    The gcc -fcf-protection=branch option is not compatible with
    -mindirect-branch=thunk-extern. The latter is used when
    CONFIG_RETPOLINE is selected, and this will fail to build with
    a gcc which has -fcf-protection=branch enabled by default. Adding
    -fcf-protection=none when building with retpoline support to
    prevents such build failures.
    
    Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
    Seth Forshee authored and Kernel Builder (sita) committed May 30, 2024
    Configuration menu
    Copy the full SHA
    71f620c View commit details
    Browse the repository at this point in the history
  225. UBUNTU: SAUCE: add vmlinux.strip to BOOT_TARGETS1 on powerpc

    Signed-off-by: Andy Whitcroft <apw@canonical.com>
    Andy Whitcroft authored and Kernel Builder (sita) committed May 30, 2024
    Configuration menu
    Copy the full SHA
    b0d22cd View commit details
    Browse the repository at this point in the history
  226. UBUNTU: SAUCE: tools/hv/lsvmbus -- add manual page

    BugLink: http://bugs.launchpad.net/bugs/1585311
    
    Signed-off-by: Andy Whitcroft <apw@canonical.com>
    Acked-by: Tim Gardner <tim.gardner@canonical.com>
    Acked-by: Brad Figg <brad.figg@canonical.com>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    Andy Whitcroft authored and Kernel Builder (sita) committed May 30, 2024
    Configuration menu
    Copy the full SHA
    457b8a4 View commit details
    Browse the repository at this point in the history
  227. debian changelog

    Kernel Builder (sita) committed May 30, 2024
    Configuration menu
    Copy the full SHA
    ae8502e View commit details
    Browse the repository at this point in the history
  228. configs (based on Ubuntu-6.8.0-32.32)

    Kernel Builder (sita) committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6487956 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. chore: System76 Linux scripts

    jackpot51 authored and mmstick committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    2ac735d View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2024

  1. chore: Pop packaging

    mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    5ebcf4b View commit details
    Browse the repository at this point in the history
  2. fix: hotfix remove nocf_check attribute for ibt

    Signed-off-by: Michael Aaron Murphy <michael@mmurphy.dev>
    jglathe authored and mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    70b2150 View commit details
    Browse the repository at this point in the history
  3. ALSA: hda/realtek - Reapply pin fixup for oryp5

    The pin fixup is required to detect headset microphones on the oryp5.
    
    Fixes: 80690a2 ("ALSA: hda/realtek - Add quirk for Tuxedo XC 1509")
    Signed-off-by: Tim Crawford <tcrawford@system76.com>
    crawfxrd authored and mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    d7d1ab3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9db5424 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0470d83 View commit details
    Browse the repository at this point in the history
  6. Mixer-Maps: Add alternate ALC4080

    Asus released motherboard(s) with an alternate ALC4080 that lacks
    a SPDIF jack, and requires applying this map.
    13r0ck authored and mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    b989b74 View commit details
    Browse the repository at this point in the history
  7. Rewrite mixer map for TRX40 Aorus Master

    The Aorus Xtreme uses the same ID for audio controller, but the
    maps are very different. This successfully fixes all of the
    audio jacks on the back.
    13r0ck authored and mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    2764c59 View commit details
    Browse the repository at this point in the history
  8. ALSA: hda - Improve 3.5mm hotplug w/ROG strix B550

    When plugging of unplugging an audio jack on this motherbaord,
    sometimes the audio jacks would stop appearing to
    pipewire/pulseaudio. Interestingly `cat`-ing out the file
    `/proc/asound/<card number>/codec#0`, and or restarting pipewire
    fixes the issue temporarily.
    
    This PR improves the current functionality by making hotplug with
    one 3.5mm jack work, it still breaks if hotplug is between multiple
    jacks though.
    13r0ck authored and mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    d12fa0c View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    7db7bd0 View commit details
    Browse the repository at this point in the history
  10. Revert "misc: rtsx: rts522a rts5228 rts5261 support Runtime PM" (#193)

    This reverts commit 86f4c65.
    13r0ck authored and mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    584a275 View commit details
    Browse the repository at this point in the history
  11. Revert "i2c: acpi: Use ACPI wake capability bit to set wake_irq"

    This reverts commit b38f2d5.
    13r0ck authored and mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    73f12d0 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    0f60a0d View commit details
    Browse the repository at this point in the history
  13. Revert "drm/i915/dmc: Use unversioned path for ADLP"

    This reverts commit 81f6650.
    jackpot51 authored and mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    08d5cec View commit details
    Browse the repository at this point in the history
  14. ALSA: hda/realtek: Add quirk for Clevo V350ENC

    Signed-off-by: Tim Crawford <tcrawford@system76.com>
    crawfxrd authored and mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    efedd01 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    e41af58 View commit details
    Browse the repository at this point in the history
  16. Disable uefi_signed on arm64

    jackpot51 authored and mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    917cc19 View commit details
    Browse the repository at this point in the history
  17. Revert "PCI/ACPI: Call _REG when transitioning D-states"

    This reverts commit 112a7f9.
    jackpot51 authored and mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    d927249 View commit details
    Browse the repository at this point in the history
  18. DROP ON REBASE: 6.9.3-76060903.202405300957 based on 6.9.3-060903.202…

    …405300957
    
    Signed-off-by: Michael Aaron Murphy <michael@mmurphy.dev>
    mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    004382a View commit details
    Browse the repository at this point in the history
  19. fix: disable hyperv-tools

    mmstick committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    fa56f73 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. Revert "Disable tb_acpi_is_native for System76 coreboot machines"

    This reverts commit 0470d83.
    
    Barlow Ridge removes support for FWCM.
    
    Signed-off-by: Tim Crawford <tcrawford@system76.com>
    crawfxrd authored and mmstick committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    1e43bb3 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. Re-adds Tim Crawford's fixes for headset detection on Clevo V560TU

    and Clevo V540TU systems
    XV-02 committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    b91100e View commit details
    Browse the repository at this point in the history