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

linux v6.11 with SVSM TPM support #8

Open
wants to merge 10,000 commits into
base: master
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Sep 4, 2024

  1. drm/xe: Add missing runtime reference to wedged upon gt_reset

    Fixes this missed case:
    
    xe 0000:00:02.0: [drm] Missing outer runtime PM protection
    WARNING: CPU: 99 PID: 1455 at drivers/gpu/drm/xe/xe_pm.c:564 xe_pm_runtime_get_noresume+0x48/0x60 [xe]
    Call Trace:
    <TASK>
    ? show_regs+0x67/0x70
    ? __warn+0x94/0x1b0
    ? xe_pm_runtime_get_noresume+0x48/0x60 [xe]
    ? report_bug+0x1b7/0x1d0
    ? handle_bug+0x46/0x80
    ? exc_invalid_op+0x19/0x70
    ? asm_exc_invalid_op+0x1b/0x20
    ? xe_pm_runtime_get_noresume+0x48/0x60 [xe]
    xe_device_declare_wedged+0x91/0x280 [xe]
    gt_reset_worker+0xa2/0x250 [xe]
    
    v2: Also move get and get the right Fixes tag (Himal, Brost)
    
    Fixes: fb74b20 ("drm/xe: Introduce a simple wedged state")
    Cc: Himal Prasad Ghimiray <[email protected]>
    Cc: Matthew Brost <[email protected]>
    Reviewed-by: Jonathan Cavitt <[email protected]>
    Reviewed-by: Himal Prasad Ghimiray <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Rodrigo Vivi <[email protected]>
    (cherry picked from commit bc947d9)
    Signed-off-by: Rodrigo Vivi <[email protected]>
    rodrigovivi committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    82122d1 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/rmk/linux
    
    Pull ARM fix from Russell King:
    
     - Fix a build issue with older binutils with LD dead code elimination
       disabled
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux:
      ARM: 9414/1: Fix build issue with LD_DEAD_CODE_DATA_ELIMINATION
    torvalds committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    c7fb169 View commit details
    Browse the repository at this point in the history
  3. perf/aux: Fix AUX buffer serialization

    Ole reported that event->mmap_mutex is strictly insufficient to
    serialize the AUX buffer, add a per RB mutex to fully serialize it.
    
    Note that in the lock order comment the perf_event::mmap_mutex order
    was already wrong, that is, it nesting under mmap_lock is not new with
    this patch.
    
    Fixes: 45bfb2e ("perf: Add AUX area to ring buffer for raw data streams")
    Reported-by: Ole <[email protected]>
    Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Peter Zijlstra authored and Ingo Molnar committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    2ab9d83 View commit details
    Browse the repository at this point in the history
  4. drm/xe/display: Match i915 driver suspend/resume sequences better

    Suspend fbdev sooner, and disable user access before suspending to
    prevent some races. I've noticed this when comparing xe suspend to
    i915's.
    
    Matches the following commits from i915:
    24b412b ("drm/i915: Disable intel HPD poll after DRM poll init/enable")
    1ef28d8 ("drm/i915: Suspend the framebuffer console earlier during system suspend")
    bd738d8 ("drm/i915: Prevent modesets during driver init/shutdown")
    
    Thanks to Imre for pointing me to those commits.
    
    Driver shutdown is currently missing, but I have some idea how to
    implement it next.
    
    Signed-off-by: Maarten Lankhorst <[email protected]>
    Cc: Imre Deak <[email protected]>
    Reviewed-by: Uma Shankar <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Maarten Lankhorst,,, <[email protected]>
    (cherry picked from commit 492be2a)
    Signed-off-by: Rodrigo Vivi <[email protected]>
    mlankhorst authored and rodrigovivi committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    269a3f6 View commit details
    Browse the repository at this point in the history
  5. drm/xe: Suspend/resume user access only during system s/r

    Enable/Disable user access only during system suspend/resume.
    This should not happen during runtime s/r
    
    v2: rebased
    
    Reviewed-by: Arun R Murthy <[email protected]>
    Signed-off-by: Imre Deak <[email protected]>
    Signed-off-by: Vinod Govindapillai <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit a64e7e5)
    Signed-off-by: Rodrigo Vivi <[email protected]>
    ideak authored and rodrigovivi committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    880b398 View commit details
    Browse the repository at this point in the history
  6. drm/xe/display: Avoid encoder_suspend at runtime suspend

    Fix circular locking dependency on runtime suspend.
    
    <4> [74.952215] ======================================================
    <4> [74.952217] WARNING: possible circular locking dependency detected
    <4> [74.952219] 6.10.0-rc7-xe #1 Not tainted
    <4> [74.952221] ------------------------------------------------------
    <4> [74.952223] kworker/7:1/82 is trying to acquire lock:
    <4> [74.952226] ffff888120548488 (&dev->mode_config.mutex){+.+.}-{3:3}, at: drm_modeset_lock_all+0x40/0x1e0 [drm]
    <4> [74.952260]
    but task is already holding lock:
    <4> [74.952262] ffffffffa0ae59c0 (xe_pm_runtime_lockdep_map){+.+.}-{0:0}, at: xe_pm_runtime_suspend+0x2f/0x340 [xe]
    <4> [74.952322]
    which lock already depends on the new lock.
    
    The commit 'b1d90a86 ("drm/xe: Use the encoder suspend helper also used
    by the i915 driver")' didn't do anything wrong. It actually fixed a
    critical bug, because the encoder_suspend was never getting actually
    called because it was returning if (has_display(xe)) instead of
    if (!has_display(xe)). However, this ended up introducing the encoder
    suspend calls in the runtime routines as well, causing the circular
    locking dependency.
    
    Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2304
    Fixes: b1d90a8 ("drm/xe: Use the encoder suspend helper also used by the i915 driver")
    Cc: Imre Deak <[email protected]>
    Reviewed-by: Jonathan Cavitt <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Rodrigo Vivi <[email protected]>
    (cherry picked from commit 8da1944)
    Signed-off-by: Rodrigo Vivi <[email protected]>
    rodrigovivi committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    4bfc9c5 View commit details
    Browse the repository at this point in the history
  7. Merge tag 'vfs-6.11-rc7.fixes' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/vfs/vfs
    
    Pull vfs fixes from Christian Brauner:
     "Two netfs fixes for this merge window:
    
       - Ensure that fscache_cookie_lru_time is deleted when the fscache
         module is removed to prevent UAF
    
       - Fix filemap_invalidate_inode() to use invalidate_inode_pages2_range()
    
         Before it used truncate_inode_pages_partial() which causes
         copy_file_range() to fail on cifs"
    
    * tag 'vfs-6.11-rc7.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
      fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF
      mm: Fix filemap_invalidate_inode() to use invalidate_inode_pages2_range()
    torvalds committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    4356ab3 View commit details
    Browse the repository at this point in the history
  8. Merge tag 'v6.11-rc6-server-fixes' of git://git.samba.org/ksmbd

    Pull smb server fixes from Steve French:
    
     - Fix crash in session setup
    
     - Fix locking bug
    
     - Improve access bounds checking
    
    * tag 'v6.11-rc6-server-fixes' of git://git.samba.org/ksmbd:
      ksmbd: Unlock on in ksmbd_tcp_set_interfaces()
      ksmbd: unset the binding mark of a reused connection
      smb: Annotate struct xattr_smb_acl with __counted_by()
    torvalds committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    d8abb73 View commit details
    Browse the repository at this point in the history
  9. Merge tag 'for-6.11-rc6-tag' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/kdave/linux
    
    Pull btrfs fixes from David Sterba:
    
     - followup fix for direct io and fsync under some conditions, reported
       by QEMU users
    
     - fix a potential leak when disabling quotas while some extent tracking
       work can still happen
    
     - in zoned mode handle unexpected change of zone write pointer in
       RAID1-like block groups, turn the zones to read-only
    
    * tag 'for-6.11-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
      btrfs: fix race between direct IO write and fsync when using same fd
      btrfs: zoned: handle broken write pointer on zones
      btrfs: qgroup: don't use extent changeset when not needed
    torvalds committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    1263a7b View commit details
    Browse the repository at this point in the history
  10. bpf: add check for invalid name in btf_name_valid_section()

    If the length of the name string is 1 and the value of name[0] is NULL
    byte, an OOB vulnerability occurs in btf_name_valid_section() and the
    return value is true, so the invalid name passes the check.
    
    To solve this, you need to check if the first position is NULL byte and
    if the first character is printable.
    
    Suggested-by: Eduard Zingerman <[email protected]>
    Fixes: bd70a8f ("bpf: Allow all printable characters in BTF DATASEC names")
    Signed-off-by: Jeongjun Park <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Alexei Starovoitov <[email protected]>
    Acked-by: Eduard Zingerman <[email protected]>
    name2965 authored and Alexei Starovoitov committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    bb6705c View commit details
    Browse the repository at this point in the history
  11. Merge tag 'hwmon-for-v6.11-rc7' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/groeck/linux-staging
    
    Pull hwmon fixes from Guenter Roeck:
    
     - hp-wmi-sensors: Check if WMI event data exists before accessing it
    
     - ltc2991: fix register bits defines
    
    * tag 'hwmon-for-v6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
      hwmon: (hp-wmi-sensors) Check if WMI event data exists
      hwmon: ltc2991: fix register bits defines
    torvalds committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    14a244a View commit details
    Browse the repository at this point in the history
  12. Merge tag 'perf-tools-fixes-for-v6.11-2024-09-04' of git://git.kernel…

    ….org/pub/scm/linux/kernel/git/perf/perf-tools
    
    Pull perf tools fixes from Namhyung Kim:
     "A number of small fixes for the late cycle:
    
       - Two more build fixes on 32-bit archs
    
       - Fixed a segfault during perf test
    
       - Fixed spinlock/rwlock accounting bug in perf lock contention"
    
    * tag 'perf-tools-fixes-for-v6.11-2024-09-04' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools:
      perf daemon: Fix the build on more 32-bit architectures
      perf python: include "util/sample.h"
      perf lock contention: Fix spinlock and rwlock accounting
      perf test pmu: Set uninitialized PMU alias to null
    torvalds committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    2adad54 View commit details
    Browse the repository at this point in the history
  13. selftests/bpf: Add a selftest to check for incorrect names

    Add selftest for cases where btf_name_valid_section() does not properly
    check for certain types of names.
    
    Suggested-by: Eduard Zingerman <[email protected]>
    Signed-off-by: Jeongjun Park <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Alexei Starovoitov <[email protected]>
    Acked-by: Eduard Zingerman <[email protected]>
    name2965 authored and Alexei Starovoitov committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    7430708 View commit details
    Browse the repository at this point in the history
  14. Merge branch 'bpf-fix-incorrect-name-check-pass-logic-in-btf_name_val…

    …id_section'
    
    Jeongjun Park says:
    
    ====================
    bpf: fix incorrect name check pass logic in btf_name_valid_section
    
    This patch was written to fix an issue where btf_name_valid_section() would
    not properly check names with certain conditions and would throw an OOB vuln.
    And selftest was added to verify this patch.
    ====================
    
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Alexei Starovoitov <[email protected]>
    Alexei Starovoitov committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    5390f31 View commit details
    Browse the repository at this point in the history
  15. Merge tag 'bcachefs-2024-09-04' of git://evilpiepirate.org/bcachefs

    Pull bcachefs fixes from Kent Overstreet:
    
     - Fix a typo in the rebalance accounting changes
    
     - BCH_SB_MEMBER_INVALID: small on disk format feature which will be
       needed for full erasure coding support; this is only the minimum so
       that 6.11 can handle future versions without barfing.
    
    * tag 'bcachefs-2024-09-04' of git://evilpiepirate.org/bcachefs:
      bcachefs: BCH_SB_MEMBER_INVALID
      bcachefs: fix rebalance accounting
    torvalds committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    c763c43 View commit details
    Browse the repository at this point in the history
  16. bareudp: Fix device stats updates.

    Bareudp devices update their stats concurrently.
    Therefore they need proper atomic increments.
    
    Fixes: 571912c ("net: UDP tunnel encapsulation module for tunnelling different protocols like MPLS, IP, NSH etc.")
    Signed-off-by: Guillaume Nault <[email protected]>
    Reviewed-by: Willem de Bruijn <[email protected]>
    Link: https://patch.msgid.link/04b7b9d0b480158eb3ab4366ec80aa2ab7e41fcb.1725031794.git.gnault@redhat.com
    Signed-off-by: Jakub Kicinski <[email protected]>
    Guillaume Nault authored and kuba-moo committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    4963d23 View commit details
    Browse the repository at this point in the history
  17. fou: Fix null-ptr-deref in GRO.

    We observed a null-ptr-deref in fou_gro_receive() while shutting down
    a host.  [0]
    
    The NULL pointer is sk->sk_user_data, and the offset 8 is of protocol
    in struct fou.
    
    When fou_release() is called due to netns dismantle or explicit tunnel
    teardown, udp_tunnel_sock_release() sets NULL to sk->sk_user_data.
    Then, the tunnel socket is destroyed after a single RCU grace period.
    
    So, in-flight udp4_gro_receive() could find the socket and execute the
    FOU GRO handler, where sk->sk_user_data could be NULL.
    
    Let's use rcu_dereference_sk_user_data() in fou_from_sock() and add NULL
    checks in FOU GRO handlers.
    
    [0]:
    BUG: kernel NULL pointer dereference, address: 0000000000000008
     PF: supervisor read access in kernel mode
     PF: error_code(0x0000) - not-present page
    PGD 80000001032f4067 P4D 80000001032f4067 PUD 103240067 PMD 0
    SMP PTI
    CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.216-204.855.amzn2.x86_64 #1
    Hardware name: Amazon EC2 c5.large/, BIOS 1.0 10/16/2017
    RIP: 0010:fou_gro_receive (net/ipv4/fou.c:233) [fou]
    Code: 41 5f c3 cc cc cc cc e8 e7 2e 69 f4 0f 1f 80 00 00 00 00 0f 1f 44 00 00 49 89 f8 41 54 48 89 f7 48 89 d6 49 8b 80 88 02 00 00 <0f> b6 48 08 0f b7 42 4a 66 25 fd fd 80 cc 02 66 89 42 4a 0f b6 42
    RSP: 0018:ffffa330c0003d08 EFLAGS: 00010297
    RAX: 0000000000000000 RBX: ffff93d9e3a6b900 RCX: 0000000000000010
    RDX: ffff93d9e3a6b900 RSI: ffff93d9e3a6b900 RDI: ffff93dac2e24d08
    RBP: ffff93d9e3a6b900 R08: ffff93dacbce6400 R09: 0000000000000002
    R10: 0000000000000000 R11: ffffffffb5f369b0 R12: ffff93dacbce6400
    R13: ffff93dac2e24d08 R14: 0000000000000000 R15: ffffffffb4edd1c0
    FS:  0000000000000000(0000) GS:ffff93daee800000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000000000008 CR3: 0000000102140001 CR4: 00000000007706f0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    PKRU: 55555554
    Call Trace:
     <IRQ>
     ? show_trace_log_lvl (arch/x86/kernel/dumpstack.c:259)
     ? __die_body.cold (arch/x86/kernel/dumpstack.c:478 arch/x86/kernel/dumpstack.c:420)
     ? no_context (arch/x86/mm/fault.c:752)
     ? exc_page_fault (arch/x86/include/asm/irqflags.h:49 arch/x86/include/asm/irqflags.h:89 arch/x86/mm/fault.c:1435 arch/x86/mm/fault.c:1483)
     ? asm_exc_page_fault (arch/x86/include/asm/idtentry.h:571)
     ? fou_gro_receive (net/ipv4/fou.c:233) [fou]
     udp_gro_receive (include/linux/netdevice.h:2552 net/ipv4/udp_offload.c:559)
     udp4_gro_receive (net/ipv4/udp_offload.c:604)
     inet_gro_receive (net/ipv4/af_inet.c:1549 (discriminator 7))
     dev_gro_receive (net/core/dev.c:6035 (discriminator 4))
     napi_gro_receive (net/core/dev.c:6170)
     ena_clean_rx_irq (drivers/amazon/net/ena/ena_netdev.c:1558) [ena]
     ena_io_poll (drivers/amazon/net/ena/ena_netdev.c:1742) [ena]
     napi_poll (net/core/dev.c:6847)
     net_rx_action (net/core/dev.c:6917)
     __do_softirq (arch/x86/include/asm/jump_label.h:25 include/linux/jump_label.h:200 include/trace/events/irq.h:142 kernel/softirq.c:299)
     asm_call_irq_on_stack (arch/x86/entry/entry_64.S:809)
    </IRQ>
     do_softirq_own_stack (arch/x86/include/asm/irq_stack.h:27 arch/x86/include/asm/irq_stack.h:77 arch/x86/kernel/irq_64.c:77)
     irq_exit_rcu (kernel/softirq.c:393 kernel/softirq.c:423 kernel/softirq.c:435)
     common_interrupt (arch/x86/kernel/irq.c:239)
     asm_common_interrupt (arch/x86/include/asm/idtentry.h:626)
    RIP: 0010:acpi_idle_do_entry (arch/x86/include/asm/irqflags.h:49 arch/x86/include/asm/irqflags.h:89 drivers/acpi/processor_idle.c:114 drivers/acpi/processor_idle.c:575)
    Code: 8b 15 d1 3c c4 02 ed c3 cc cc cc cc 65 48 8b 04 25 40 ef 01 00 48 8b 00 a8 08 75 eb 0f 1f 44 00 00 0f 00 2d d5 09 55 00 fb f4 <fa> c3 cc cc cc cc e9 be fc ff ff 66 66 2e 0f 1f 84 00 00 00 00 00
    RSP: 0018:ffffffffb5603e58 EFLAGS: 00000246
    RAX: 0000000000004000 RBX: ffff93dac0929c00 RCX: ffff93daee833900
    RDX: ffff93daee800000 RSI: ffff93daee87dc00 RDI: ffff93daee87dc64
    RBP: 0000000000000001 R08: ffffffffb5e7b6c0 R09: 0000000000000044
    R10: ffff93daee831b04 R11: 00000000000001cd R12: 0000000000000001
    R13: ffffffffb5e7b740 R14: 0000000000000001 R15: 0000000000000000
     ? sched_clock_cpu (kernel/sched/clock.c:371)
     acpi_idle_enter (drivers/acpi/processor_idle.c:712 (discriminator 3))
     cpuidle_enter_state (drivers/cpuidle/cpuidle.c:237)
     cpuidle_enter (drivers/cpuidle/cpuidle.c:353)
     cpuidle_idle_call (kernel/sched/idle.c:158 kernel/sched/idle.c:239)
     do_idle (kernel/sched/idle.c:302)
     cpu_startup_entry (kernel/sched/idle.c:395 (discriminator 1))
     start_kernel (init/main.c:1048)
     secondary_startup_64_no_verify (arch/x86/kernel/head_64.S:310)
    Modules linked in: udp_diag tcp_diag inet_diag nft_nat ipip tunnel4 dummy fou ip_tunnel nft_masq nft_chain_nat nf_nat wireguard nft_ct curve25519_x86_64 libcurve25519_generic nf_conntrack libchacha20poly1305 nf_defrag_ipv6 nf_defrag_ipv4 nft_objref chacha_x86_64 nft_counter nf_tables nfnetlink poly1305_x86_64 ip6_udp_tunnel udp_tunnel libchacha crc32_pclmul ghash_clmulni_intel aesni_intel crypto_simd cryptd glue_helper mousedev psmouse button ena ptp pps_core crc32c_intel
    CR2: 0000000000000008
    
    Fixes: d92283e ("fou: change to use UDP socket GRO")
    Reported-by: Alphonse Kurian <[email protected]>
    Signed-off-by: Kuniyuki Iwashima <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    q2ven authored and kuba-moo committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    7e41969 View commit details
    Browse the repository at this point in the history
  18. r8152: fix the firmware doesn't work

    generic_ocp_write() asks the parameter "size" must be 4 bytes align.
    Therefore, write the bp would fail, if the mac->bp_num is odd. Align the
    size to 4 for fixing it. The way may write an extra bp, but the
    rtl8152_is_fw_mac_ok() makes sure the value must be 0 for the bp whose
    index is more than mac->bp_num. That is, there is no influence for the
    firmware.
    
    Besides, I check the return value of generic_ocp_write() to make sure
    everything is correct.
    
    Fixes: e5c266a ("r8152: set bp in bulk")
    Signed-off-by: Hayes Wang <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    hayesorz authored and kuba-moo committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    8487b4a View commit details
    Browse the repository at this point in the history
  19. net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN

    When userspace wants to take over a fdb entry by setting it as
    EXTERN_LEARNED, we set both flags BR_FDB_ADDED_BY_EXT_LEARN and
    BR_FDB_ADDED_BY_USER in br_fdb_external_learn_add().
    
    If the bridge updates the entry later because its port changed, we clear
    the BR_FDB_ADDED_BY_EXT_LEARN flag, but leave the BR_FDB_ADDED_BY_USER
    flag set.
    
    If userspace then wants to take over the entry again,
    br_fdb_external_learn_add() sees that BR_FDB_ADDED_BY_USER and skips
    setting the BR_FDB_ADDED_BY_EXT_LEARN flags, thus silently ignores the
    update.
    
    Fix this by always allowing to set BR_FDB_ADDED_BY_EXT_LEARN regardless
    if this was a user fdb entry or not.
    
    Fixes: 710ae72 ("net: bridge: Mark FDB entries that were added by user as such")
    Signed-off-by: Jonas Gorski <[email protected]>
    Acked-by: Nikolay Aleksandrov <[email protected]>
    Reviewed-by: Ido Schimmel <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    KanjiMonster authored and kuba-moo committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    bee2ef9 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2024

  1. net: xilinx: axienet: Fix race in axienet_stop

    axienet_dma_err_handler can race with axienet_stop in the following
    manner:
    
    CPU 1                       CPU 2
    ======================      ==================
    axienet_stop()
        napi_disable()
        axienet_dma_stop()
                                axienet_dma_err_handler()
                                    napi_disable()
                                    axienet_dma_stop()
                                    axienet_dma_start()
                                    napi_enable()
        cancel_work_sync()
        free_irq()
    
    Fix this by setting a flag in axienet_stop telling
    axienet_dma_err_handler not to bother doing anything. I chose not to use
    disable_work_sync to allow for easier backporting.
    
    Signed-off-by: Sean Anderson <[email protected]>
    Fixes: 8a3b7a2 ("drivers/net/ethernet/xilinx: added Xilinx AXI Ethernet driver")
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Sean Anderson authored and kuba-moo committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    858430d View commit details
    Browse the repository at this point in the history
  2. Merge tag 'wireless-2024-09-04' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/wireless/wireless
    
    Kalle Valo says:
    
    ====================
    wireless fixes for v6.11
    
    Hopefully final fixes for v6.11 and this time only fixes to ath11k
    driver. We need to revert hibernation support due to reported
    regressions and we have a fix for kernel crash introduced in
    v6.11-rc1.
    
    * tag 'wireless-2024-09-04' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless:
      MAINTAINERS: wifi: cw1200: add net-cw1200.h
      Revert "wifi: ath11k: support hibernation"
      Revert "wifi: ath11k: restore country code during resume"
      wifi: ath11k: fix NULL pointer dereference in ath11k_mac_get_eirp_power()
    ====================
    
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    kuba-moo committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    2603d31 View commit details
    Browse the repository at this point in the history
  3. Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/tnguy/net-queue
    
    Tony Nguyen says:
    
    ====================
    ice: fix synchronization between .ndo_bpf() and reset
    
    Larysa Zaremba says:
    
    PF reset can be triggered asynchronously, by tx_timeout or by a user. With some
    unfortunate timings both ice_vsi_rebuild() and .ndo_bpf will try to access and
    modify XDP rings at the same time, causing system crash.
    
    The first patch factors out rtnl-locked code from VSI rebuild code to avoid
    deadlock. The following changes lock rebuild and .ndo_bpf() critical sections
    with an internal mutex as well and provide complementary fixes.
    
    * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
      ice: do not bring the VSI up, if it was down before the XDP setup
      ice: remove ICE_CFG_BUSY locking from AF_XDP code
      ice: check ICE_VSI_DOWN under rtnl_lock when preparing for reset
      ice: check for XDP rings instead of bpf program when unconfiguring
      ice: protect XDP configuration with a mutex
      ice: move netif_queue_set_napi to rtnl-protected sections
    ====================
    
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    kuba-moo committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    f0417c5 View commit details
    Browse the repository at this point in the history
  4. x86/hyperv: fix kexec crash due to VP assist page corruption

    commit 9636be8 ("x86/hyperv: Fix hyperv_pcpu_input_arg handling when
    CPUs go online/offline") introduces a new cpuhp state for hyperv
    initialization.
    
    cpuhp_setup_state() returns the state number if state is
    CPUHP_AP_ONLINE_DYN or CPUHP_BP_PREPARE_DYN and 0 for all other states.
    For the hyperv case, since a new cpuhp state was introduced it would
    return 0. However, in hv_machine_shutdown(), the cpuhp_remove_state() call
    is conditioned upon "hyperv_init_cpuhp > 0". This will never be true and
    so hv_cpu_die() won't be called on all CPUs. This means the VP assist page
    won't be reset. When the kexec kernel tries to setup the VP assist page
    again, the hypervisor corrupts the memory region of the old VP assist page
    causing a panic in case the kexec kernel is using that memory elsewhere.
    This was originally fixed in commit dfe94d4 ("x86/hyperv: Fix kexec
    panic/hang issues").
    
    Get rid of hyperv_init_cpuhp entirely since we are no longer using a
    dynamic cpuhp state and use CPUHP_AP_HYPERV_ONLINE directly with
    cpuhp_remove_state().
    
    Cc: [email protected]
    Fixes: 9636be8 ("x86/hyperv: Fix hyperv_pcpu_input_arg handling when CPUs go online/offline")
    Signed-off-by: Anirudh Rayabharam (Microsoft) <[email protected]>
    Reviewed-by: Vitaly Kuznetsov <[email protected]>
    Reviewed-by: Michael Kelley <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Wei Liu <[email protected]>
    Message-ID: <[email protected]>
    Anirudh Rayabharam (Microsoft) authored and liuw committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    b9af641 View commit details
    Browse the repository at this point in the history
  5. tools: hv: rm .*.cmd when make clean

    rm .*.cmd when make clean
    
    Signed-off-by: zhang jiao <[email protected]>
    Reviewed-by: Saurabh Sengar <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Wei Liu <[email protected]>
    Message-ID: <[email protected]>
    zhang jiao authored and liuw committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    5e5cc1e View commit details
    Browse the repository at this point in the history
  6. drm/panthor: Restrict high priorities on group_create

    We were allowing any users to create a high priority group without any
    permission checks. As a result, this was allowing possible denial of
    service.
    
    We now only allow the DRM master or users with the CAP_SYS_NICE
    capability to set higher priorities than PANTHOR_GROUP_PRIORITY_MEDIUM.
    
    As the sole user of that uAPI lives in Mesa and hardcode a value of
    MEDIUM [1], this should be safe to do.
    
    Additionally, as those checks are performed at the ioctl level,
    panthor_group_create now only check for priority level validity.
    
    [1]https://gitlab.freedesktop.org/mesa/mesa/-/blob/f390835074bdf162a63deb0311d1a6de527f9f89/src/gallium/drivers/panfrost/pan_csf.c#L1038
    
    Signed-off-by: Mary Guillemard <[email protected]>
    Fixes: de85488 ("drm/panthor: Add the scheduler logical block")
    Cc: [email protected]
    Reviewed-by: Boris Brezillon <[email protected]>
    Signed-off-by: Boris Brezillon <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    marysaka authored and bbrezillon committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    5f77620 View commit details
    Browse the repository at this point in the history
  7. dt-bindings: display: panel: Rename WL-355608-A8 panel to rg35xx-*-panel

    The WL-355608-A8 is a 3.5" 640x480@60Hz RGB LCD display from an unknown
    OEM used in a number of handheld gaming devices made by Anbernic.
    Previously committed using the OEM serial without a vendor prefix,
    however following subsequent discussion the preference is to use the
    integrating device vendor and name where the OEM is unknown.
    
    There are 4 RG35XX series devices from Anbernic based on an Allwinner
    H700 SoC using this panel, with the -Plus variant introduced first.
    Therefore the -Plus is used as the fallback for the subsequent -H,
    -2024, and -SP devices.
    
    Alter the filename and compatible string to reflect the convention.
    
    Fixes: 45b888a ("dt-bindings: display: panel: Add WL-355608-A8 panel")
    Signed-off-by: Ryan Walklin <[email protected]>
    Acked-by: Rob Herring (Arm) <[email protected]>
    Signed-off-by: Maxime Ripard <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    tokyovigilante authored and mripard committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    d682eef View commit details
    Browse the repository at this point in the history
  8. drm: panel: nv3052c: Correct WL-355608-A8 panel compatible

    As per the previous dt-binding commit, update the WL-355608-A8 panel
    compatible to reflect the the integrating device vendor and name as the
    panel OEM is unknown.
    
    Fixes: 62ea2ee ("drm: panel: nv3052c: Add WL-355608-A8 panel")
    Signed-off-by: Ryan Walklin <[email protected]>
    Signed-off-by: Maxime Ripard <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    tokyovigilante authored and mripard committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    76dce2a View commit details
    Browse the repository at this point in the history
  9. drm/panthor: flush FW AS caches in slow reset path

    In the off-chance that waiting for the firmware to signal its booted status
    timed out in the fast reset path, one must flush the cache lines for the
    entire FW VM address space before reloading the regions, otherwise stale
    values eventually lead to a scheduler job timeout.
    
    Fixes: 647810e ("drm/panthor: Add the MMU/VM logical block")
    Cc: [email protected]
    Signed-off-by: Adrián Larumbe <[email protected]>
    Acked-by: Liviu Dudau <[email protected]>
    Reviewed-by: Steven Price <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Signed-off-by: Boris Brezillon <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    larunbe authored and bbrezillon committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    7de295d View commit details
    Browse the repository at this point in the history
  10. docs: netdev: document guidance on cleanup.h

    Document what was discussed multiple times on list and various
    virtual / in-person conversations. guard() being okay in functions
    <= 20 LoC is a bit of my own invention. If the function is trivial
    it should be fine, but feel free to disagree :)
    
    We'll obviously revisit this guidance as time passes and we and other
    subsystems get more experience.
    
    Reviewed-by: Eric Dumazet <[email protected]>
    Reviewed-by: Nikolay Aleksandrov <[email protected]>
    Reviewed-by: Andrew Lunn <[email protected]>
    Signed-off-by: Jakub Kicinski <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    kuba-moo authored and Paolo Abeni committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    c82299f View commit details
    Browse the repository at this point in the history
  11. drm/fbdev-dma: Only install deferred I/O if necessary

    Deferred I/O requires struct page for framebuffer memory, which is
    not guaranteed for all DMA ranges. We thus only install deferred I/O
    if we have a framebuffer that requires it.
    
    A reported bug affected the ipu-v3 and pl111 drivers, which have video
    memory in either Normal or HighMem zones
    
    [    0.000000] Zone ranges:
    [    0.000000]   Normal   [mem 0x0000000010000000-0x000000003fffffff]
    [    0.000000]   HighMem  [mem 0x0000000040000000-0x000000004fffffff]
    
    where deferred I/O only works correctly with HighMem. See the Closes
    tags for bug reports.
    
    v2:
    - test if screen_buffer supports deferred I/O (Sima)
    
    Signed-off-by: Thomas Zimmermann <[email protected]>
    Fixes: 808a40b ("drm/fbdev-dma: Implement damage handling and deferred I/O")
    Reported-by: Alexander Stein <[email protected]>
    Closes: https://lore.kernel.org/all/23636953.6Emhk5qWAg@steina-w/
    Reported-by: Linus Walleij <[email protected]>
    Closes: https://lore.kernel.org/dri-devel/CACRpkdb+hb9AGavbWpY-=uQQ0apY9en_tWJioPKf_fAbXMP4Hg@mail.gmail.com/
    Tested-by: Alexander Stein <[email protected]>
    Tested-by: Linus Walleij <[email protected]>
    Cc: Thomas Zimmermann <[email protected]>
    Cc: Javier Martinez Canillas <[email protected]>
    Cc: Maarten Lankhorst <[email protected]>
    Cc: Maxime Ripard <[email protected]>
    Reviewed-by: Simona Vetter <[email protected]>
    Reviewed-by: Linus Walleij <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Thomas Zimmermann committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    5a498d4 View commit details
    Browse the repository at this point in the history
  12. pwm: stm32: Use the right CCxNP bit in stm32_pwm_enable()

    The pwm devices for a pwm_chip are numbered starting at 0, the first hw
    channel however has the number 1. While introducing a parametrised macro
    to simplify register bit usage and making that offset explicit, one of
    the usages was converted wrongly. This is fixed here.
    
    Fixes: 7cea05a ("pwm-stm32: Make use of parametrised register definitions")
    Signed-off-by: Uwe Kleine-König <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Uwe Kleine-König <[email protected]>
    Uwe Kleine-König authored and Uwe Kleine-König committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    10c48e9 View commit details
    Browse the repository at this point in the history
  13. Merge tag 'qcom-drivers-fixes-for-6.11-2' of https://git.kernel.org/p…

    …ub/scm/linux/kernel/git/qcom/linux into arm/fixes
    
    One more Qualcomm driver fix for v6.11
    
    This resolves a deadlock in the Qualcomm uefisecapp driver following the
    attempt to acquire global context is acquired in the case the device
    isn't probed.
    
    * tag 'qcom-drivers-fixes-for-6.11-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
      firmware: qcom: uefisecapp: Fix deadlock in qcuefi_acquire()
    
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Arnd Bergmann <[email protected]>
    arndb committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    95fe795 View commit details
    Browse the repository at this point in the history
  14. Merge tag 'v6.11-rockchip-dtsfixes' of https://git.kernel.org/pub/scm…

    …/linux/kernel/git/mmind/linux-rockchip into arm/fixes
    
    A number of pin fixes for Puma, Rock-Pi-E and rk356x, and as it turns
    out the VO0 and VO1 general register files are not identical as suggested
    by their original compatible. As there are no users of those yet,
    everybody agreed that we should fix the compatibles.
    
    * tag 'v6.11-rockchip-dtsfixes' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
      arm64: dts: rockchip: Fix compatibles for RK3588 VO{0,1}_GRF
      dt-bindings: soc: rockchip: Fix compatibles for RK3588 VO{0,1}_GRF
      arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399 Puma
      arm64: dts: rockchip: fix eMMC/SPI corruption when audio has been used on RK3399 Puma
      arm64: dts: rockchip: fix PMIC interrupt pin in pinctrl for ROCK Pi E
      arm64: dts: rockchip: Remove broken tsadc pinctrl binding for rk356x
    
    Link: https://lore.kernel.org/r/7602696.A5hrfCrGMc@diego
    Signed-off-by: Arnd Bergmann <[email protected]>
    arndb committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    2650fd8 View commit details
    Browse the repository at this point in the history
  15. sched: sch_cake: fix bulk flow accounting logic for host fairness

    In sch_cake, we keep track of the count of active bulk flows per host,
    when running in dst/src host fairness mode, which is used as the
    round-robin weight when iterating through flows. The count of active
    bulk flows is updated whenever a flow changes state.
    
    This has a peculiar interaction with the hash collision handling: when a
    hash collision occurs (after the set-associative hashing), the state of
    the hash bucket is simply updated to match the new packet that collided,
    and if host fairness is enabled, that also means assigning new per-host
    state to the flow. For this reason, the bulk flow counters of the
    host(s) assigned to the flow are decremented, before new state is
    assigned (and the counters, which may not belong to the same host
    anymore, are incremented again).
    
    Back when this code was introduced, the host fairness mode was always
    enabled, so the decrement was unconditional. When the configuration
    flags were introduced the *increment* was made conditional, but
    the *decrement* was not. Which of course can lead to a spurious
    decrement (and associated wrap-around to U16_MAX).
    
    AFAICT, when host fairness is disabled, the decrement and wrap-around
    happens as soon as a hash collision occurs (which is not that common in
    itself, due to the set-associative hashing). However, in most cases this
    is harmless, as the value is only used when host fairness mode is
    enabled. So in order to trigger an array overflow, sch_cake has to first
    be configured with host fairness disabled, and while running in this
    mode, a hash collision has to occur to cause the overflow. Then, the
    qdisc has to be reconfigured to enable host fairness, which leads to the
    array out-of-bounds because the wrapped-around value is retained and
    used as an array index. It seems that syzbot managed to trigger this,
    which is quite impressive in its own right.
    
    This patch fixes the issue by introducing the same conditional check on
    decrement as is used on increment.
    
    The original bug predates the upstreaming of cake, but the commit listed
    in the Fixes tag touched that code, meaning that this patch won't apply
    before that.
    
    Fixes: 7126399 ("sch_cake: Make the dual modes fairer")
    Reported-by: [email protected]
    Signed-off-by: Toke Høiland-Jørgensen <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    tohojo authored and Paolo Abeni committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    546ea84 View commit details
    Browse the repository at this point in the history
  16. net: dsa: vsc73xx: fix possible subblocks range of CAPT block

    CAPT block (CPU Capture Buffer) have 7 sublocks: 0-3, 4, 6, 7.
    Function 'vsc73xx_is_addr_valid' allows to use only block 0 at this
    moment.
    
    This patch fix it.
    
    Fixes: 05bd97f ("net: dsa: Add Vitesse VSC73xx DSA router driver")
    Signed-off-by: Pawel Dembicki <[email protected]>
    Reviewed-by: Florian Fainelli <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    CHKDSK88 authored and Paolo Abeni committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    8e69c96 View commit details
    Browse the repository at this point in the history
  17. Merge tag 'amd-pstate-v6.11-2024-09-04' of ssh://gitolite.kernel.org/…

    …pub/scm/linux/kernel/git/superm1/linux
    
    Pull an amd-pstate fix for 6.11 from Mario Limonciello:
    
    "second round of amd-pstate fixes for 6.11:
    
     * Fix an incorrect warning emitted on processors that don't
       support X86_FEATURE_CPPC."
    
    * tag 'amd-pstate-v6.11-2024-09-04' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/superm1/linux:
      cpufreq/amd-pstate: Remove warning for X86_FEATURE_CPPC on certain Zen models
    rafaeljw committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    b02d2cf View commit details
    Browse the repository at this point in the history
  18. spi: spi-fsl-lpspi: Fix off-by-one in prescale max

    The commit 783bf5d ("spi: spi-fsl-lpspi: limit PRESCALE bit in
    TCR register") doesn't implement the prescaler maximum as intended.
    The maximum allowed value for i.MX93 should be 1 and for i.MX7ULP
    it should be 7. So this needs also a adjustment of the comparison
    in the scldiv calculation.
    
    Fixes: 783bf5d ("spi: spi-fsl-lpspi: limit PRESCALE bit in TCR register")
    Signed-off-by: Stefan Wahren <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    lategoodbye authored and broonie committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    ff949d9 View commit details
    Browse the repository at this point in the history
  19. arm64: stacktrace: fix the usage of ftrace_graph_ret_addr()

    ftrace_graph_ret_addr() takes an 'idx' integer pointer that is used to
    optimize the stack unwinding process. arm64 currently passes `NULL` for
    this parameter which stops it from utilizing these optimizations.
    
    Further, the current code for ftrace_graph_ret_addr() will just return
    the passed in return address if it is NULL which will break this usage.
    
    Pass a valid integer pointer to ftrace_graph_ret_addr() similar to
    x86_64's stack unwinder.
    
    Signed-off-by: Puranjay Mohan <[email protected]>
    Fixes: 29c1c24 ("function_graph: Fix up ftrace_graph_ret_addr()")
    Acked-by: Steven Rostedt (Google) <[email protected]>
    Acked-by: Will Deacon <[email protected]>
    Reviewed-by: Mark Rutland <[email protected]>
    Tested-by: Mark Rutland <[email protected]>
    Reviewed-by: Steven Rostedt (Google) <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Catalin Marinas <[email protected]>
    puranjaymohan authored and ctmarinas committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    c060f93 View commit details
    Browse the repository at this point in the history
  20. tracing: Avoid possible softlockup in tracing_iter_reset()

    In __tracing_open(), when max latency tracers took place on the cpu,
    the time start of its buffer would be updated, then event entries with
    timestamps being earlier than start of the buffer would be skipped
    (see tracing_iter_reset()).
    
    Softlockup will occur if the kernel is non-preemptible and too many
    entries were skipped in the loop that reset every cpu buffer, so add
    cond_resched() to avoid it.
    
    Cc: [email protected]
    Fixes: 2f26ebd ("tracing: use timestamp to determine start of latency traces")
    Link: https://lore.kernel.org/[email protected]
    Suggested-by: Steven Rostedt <[email protected]>
    Signed-off-by: Zheng Yejian <[email protected]>
    Signed-off-by: Steven Rostedt (Google) <[email protected]>
    Zheng Yejian authored and rostedt committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    49aa8a1 View commit details
    Browse the repository at this point in the history
  21. eventfs: Use list_del_rcu() for SRCU protected list variable

    Chi Zhiling reported:
    
      We found a null pointer accessing in tracefs[1], the reason is that the
      variable 'ei_child' is set to LIST_POISON1, that means the list was
      removed in eventfs_remove_rec. so when access the ei_child->is_freed, the
      panic triggered.
    
      by the way, the following script can reproduce this panic
    
      loop1 (){
          while true
          do
              echo "p:kp submit_bio" > /sys/kernel/debug/tracing/kprobe_events
              echo "" > /sys/kernel/debug/tracing/kprobe_events
          done
      }
      loop2 (){
          while true
          do
              tree /sys/kernel/debug/tracing/events/kprobes/
          done
      }
      loop1 &
      loop2
    
      [1]:
      [ 1147.959632][T17331] Unable to handle kernel paging request at virtual address dead000000000150
      [ 1147.968239][T17331] Mem abort info:
      [ 1147.971739][T17331]   ESR = 0x0000000096000004
      [ 1147.976172][T17331]   EC = 0x25: DABT (current EL), IL = 32 bits
      [ 1147.982171][T17331]   SET = 0, FnV = 0
      [ 1147.985906][T17331]   EA = 0, S1PTW = 0
      [ 1147.989734][T17331]   FSC = 0x04: level 0 translation fault
      [ 1147.995292][T17331] Data abort info:
      [ 1147.998858][T17331]   ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000
      [ 1148.005023][T17331]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
      [ 1148.010759][T17331]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
      [ 1148.016752][T17331] [dead000000000150] address between user and kernel address ranges
      [ 1148.024571][T17331] Internal error: Oops: 0000000096000004 [#1] SMP
      [ 1148.030825][T17331] Modules linked in: team_mode_loadbalance team nlmon act_gact cls_flower sch_ingress bonding tls macvlan dummy ib_core bridge stp llc veth amdgpu amdxcp mfd_core gpu_sched drm_exec drm_buddy radeon crct10dif_ce video drm_suballoc_helper ghash_ce drm_ttm_helper sha2_ce ttm sha256_arm64 i2c_algo_bit sha1_ce sbsa_gwdt cp210x drm_display_helper cec sr_mod cdrom drm_kms_helper binfmt_misc sg loop fuse drm dm_mod nfnetlink ip_tables autofs4 [last unloaded: tls]
      [ 1148.072808][T17331] CPU: 3 PID: 17331 Comm: ls Tainted: G        W         ------- ----  6.6.43 #2
      [ 1148.081751][T17331] Source Version: 21b3b386e948bedd29369af66f3e98ab01b1c650
      [ 1148.088783][T17331] Hardware name: Greatwall GW-001M1A-FTF/GW-001M1A-FTF, BIOS KunLun BIOS V4.0 07/16/2020
      [ 1148.098419][T17331] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
      [ 1148.106060][T17331] pc : eventfs_iterate+0x2c0/0x398
      [ 1148.111017][T17331] lr : eventfs_iterate+0x2fc/0x398
      [ 1148.115969][T17331] sp : ffff80008d56bbd0
      [ 1148.119964][T17331] x29: ffff80008d56bbf0 x28: ffff001ff5be2600 x27: 0000000000000000
      [ 1148.127781][T17331] x26: ffff001ff52ca4e0 x25: 0000000000009977 x24: dead000000000100
      [ 1148.135598][T17331] x23: 0000000000000000 x22: 000000000000000b x21: ffff800082645f10
      [ 1148.143415][T17331] x20: ffff001fddf87c70 x19: ffff80008d56bc90 x18: 0000000000000000
      [ 1148.151231][T17331] x17: 0000000000000000 x16: 0000000000000000 x15: ffff001ff52ca4e0
      [ 1148.159048][T17331] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
      [ 1148.166864][T17331] x11: 0000000000000000 x10: 0000000000000000 x9 : ffff8000804391d0
      [ 1148.174680][T17331] x8 : 0000000180000000 x7 : 0000000000000018 x6 : 0000aaab04b92862
      [ 1148.182498][T17331] x5 : 0000aaab04b92862 x4 : 0000000080000000 x3 : 0000000000000068
      [ 1148.190314][T17331] x2 : 000000000000000f x1 : 0000000000007ea8 x0 : 0000000000000001
      [ 1148.198131][T17331] Call trace:
      [ 1148.201259][T17331]  eventfs_iterate+0x2c0/0x398
      [ 1148.205864][T17331]  iterate_dir+0x98/0x188
      [ 1148.210036][T17331]  __arm64_sys_getdents64+0x78/0x160
      [ 1148.215161][T17331]  invoke_syscall+0x78/0x108
      [ 1148.219593][T17331]  el0_svc_common.constprop.0+0x48/0xf0
      [ 1148.224977][T17331]  do_el0_svc+0x24/0x38
      [ 1148.228974][T17331]  el0_svc+0x40/0x168
      [ 1148.232798][T17331]  el0t_64_sync_handler+0x120/0x130
      [ 1148.237836][T17331]  el0t_64_sync+0x1a4/0x1a8
      [ 1148.242182][T17331] Code: 54ffff6c f9400676 910006d6 f900067 (b9405300)
      [ 1148.248955][T17331] ---[ end trace 0000000000000000 ]---
    
    The issue is that list_del() is used on an SRCU protected list variable
    before the synchronization occurs. This can poison the list pointers while
    there is a reader iterating the list.
    
    This is simply fixed by using list_del_rcu() that is specifically made for
    this purpose.
    
    Link: https://lore.kernel.org/linux-trace-kernel/[email protected]/
    
    Cc: [email protected]
    Cc: Masami Hiramatsu <[email protected]>
    Cc: Mathieu Desnoyers <[email protected]>
    Link: https://lore.kernel.org/[email protected]
    Fixes: 43aa6f9 ("eventfs: Get rid of dentry pointers without refcounts")
    Reported-by: Chi Zhiling <[email protected]>
    Tested-by: Chi Zhiling <[email protected]>
    Signed-off-by: Steven Rostedt (Google) <[email protected]>
    rostedt committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    d260327 View commit details
    Browse the repository at this point in the history
  22. ALSA: hda/realtek - Fix inactive headset mic jack for ASUS Vivobook 1…

    …5 X1504VAP
    
    When the headset is connected, there is no automatic switching of the
    capture source - you can only manually select the headset microphone
    in pavucontrol.
    
    This patch fixes/activates the inactive microphone of the headset.
    
    Signed-off-by: Vasiliy Kovalev <[email protected]>
    Cc: <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    Vasiliy Kovalev authored and tiwai committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    a83e4c9 View commit details
    Browse the repository at this point in the history
  23. Merge tag 'nvme-6.11-2024-09-05' of git://git.infradead.org/nvme into…

    … block-6.11
    
    Pull NVMe fixes from Keith:
    
    "nvme fixes for Linux 6.11
    
     - Sparse fix on static symbol (Jinjie)
     - Misleading warning message fix (Keith)
     - TCP command allocation handling fix (Maurizio)
     - PCI tagset allocation handling fix (Keith)
     - Low-power quirk for Samsung (Georg)
     - Queue limits fix for zone devices (Christoph)
     - Target protocol behavior fix (Maurizio)"
    
    * tag 'nvme-6.11-2024-09-05' of git://git.infradead.org/nvme:
      nvmet: Identify-Active Namespace ID List command should reject invalid nsid
      nvme: set BLK_FEAT_ZONED for ZNS multipath disks
      nvme-pci: Add sleep quirk for Samsung 990 Evo
      nvme-pci: allocate tagset on reset if necessary
      nvmet-tcp: fix kernel crash if commands allocation fails
      nvme: use better description for async reset reason
      nvmet: Make nvmet_debugfs static
    axboe committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    4ba032b View commit details
    Browse the repository at this point in the history
  24. hv: vmbus: Constify struct kobj_type and struct attribute_group

    vmbus_chan_group  and vmbus_chan_type are not modified. They are only
    used in the helpers which take a const type parameter.
    
    Constifying these structures and moving them to a read-only section can
    increase over all security.
    
    ```
    [Before]
       text   data    bss    dec    hex    filename
      20568   4699     48  25315   62e3    drivers/hv/vmbus_drv.o
    
    [After]
       text   data    bss    dec    hex    filename
      20696   4571     48  25315   62e3    drivers/hv/vmbus_drv.o
    ```
    
    Signed-off-by: Hongbo Li <[email protected]>
    Reviewed-by: Naman Jain <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Wei Liu <[email protected]>
    Message-ID: <[email protected]>
    Hongbo Li authored and liuw committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    8953848 View commit details
    Browse the repository at this point in the history
  25. tracing/osnoise: Use a cpumask to know what threads are kthreads

    The start_kthread() and stop_thread() code was not always called with the
    interface_lock held. This means that the kthread variable could be
    unexpectedly changed causing the kthread_stop() to be called on it when it
    should not have been, leading to:
    
     while true; do
       rtla timerlat top -u -q & PID=$!;
       sleep 5;
       kill -INT $PID;
       sleep 0.001;
       kill -TERM $PID;
       wait $PID;
      done
    
    Causing the following OOPS:
    
     Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] PREEMPT SMP KASAN PTI
     KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
     CPU: 5 UID: 0 PID: 885 Comm: timerlatu/5 Not tainted 6.11.0-rc4-test-00002-gbc754cc76d1b-dirty torvalds#125 a533010b71dab205ad2f507188ce8c82203b0254
     Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
     RIP: 0010:hrtimer_active+0x58/0x300
     Code: 48 c1 ee 03 41 54 48 01 d1 48 01 d6 55 53 48 83 ec 20 80 39 00 0f 85 30 02 00 00 49 8b 6f 30 4c 8d 75 10 4c 89 f0 48 c1 e8 03 <0f> b6 3c 10 4c 89 f0 83 e0 07 83 c0 03 40 38 f8 7c 09 40 84 ff 0f
     RSP: 0018:ffff88811d97f940 EFLAGS: 00010202
     RAX: 0000000000000002 RBX: ffff88823c6b5b28 RCX: ffffed10478d6b6b
     RDX: dffffc0000000000 RSI: ffffed10478d6b6c RDI: ffff88823c6b5b28
     RBP: 0000000000000000 R08: ffff88823c6b5b58 R09: ffff88823c6b5b60
     R10: ffff88811d97f957 R11: 0000000000000010 R12: 00000000000a801d
     R13: ffff88810d8b35d8 R14: 0000000000000010 R15: ffff88823c6b5b28
     FS:  0000000000000000(0000) GS:ffff88823c680000(0000) knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
     CR2: 0000561858ad7258 CR3: 000000007729e001 CR4: 0000000000170ef0
     Call Trace:
      <TASK>
      ? die_addr+0x40/0xa0
      ? exc_general_protection+0x154/0x230
      ? asm_exc_general_protection+0x26/0x30
      ? hrtimer_active+0x58/0x300
      ? __pfx_mutex_lock+0x10/0x10
      ? __pfx_locks_remove_file+0x10/0x10
      hrtimer_cancel+0x15/0x40
      timerlat_fd_release+0x8e/0x1f0
      ? security_file_release+0x43/0x80
      __fput+0x372/0xb10
      task_work_run+0x11e/0x1f0
      ? _raw_spin_lock+0x85/0xe0
      ? __pfx_task_work_run+0x10/0x10
      ? poison_slab_object+0x109/0x170
      ? do_exit+0x7a0/0x24b0
      do_exit+0x7bd/0x24b0
      ? __pfx_migrate_enable+0x10/0x10
      ? __pfx_do_exit+0x10/0x10
      ? __pfx_read_tsc+0x10/0x10
      ? ktime_get+0x64/0x140
      ? _raw_spin_lock_irq+0x86/0xe0
      do_group_exit+0xb0/0x220
      get_signal+0x17ba/0x1b50
      ? vfs_read+0x179/0xa40
      ? timerlat_fd_read+0x30b/0x9d0
      ? __pfx_get_signal+0x10/0x10
      ? __pfx_timerlat_fd_read+0x10/0x10
      arch_do_signal_or_restart+0x8c/0x570
      ? __pfx_arch_do_signal_or_restart+0x10/0x10
      ? vfs_read+0x179/0xa40
      ? ksys_read+0xfe/0x1d0
      ? __pfx_ksys_read+0x10/0x10
      syscall_exit_to_user_mode+0xbc/0x130
      do_syscall_64+0x74/0x110
      ? __pfx___rseq_handle_notify_resume+0x10/0x10
      ? __pfx_ksys_read+0x10/0x10
      ? fpregs_restore_userregs+0xdb/0x1e0
      ? fpregs_restore_userregs+0xdb/0x1e0
      ? syscall_exit_to_user_mode+0x116/0x130
      ? do_syscall_64+0x74/0x110
      ? do_syscall_64+0x74/0x110
      ? do_syscall_64+0x74/0x110
      entry_SYSCALL_64_after_hwframe+0x71/0x79
     RIP: 0033:0x7ff0070eca9c
     Code: Unable to access opcode bytes at 0x7ff0070eca72.
     RSP: 002b:00007ff006dff8c0 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
     RAX: 0000000000000000 RBX: 0000000000000005 RCX: 00007ff0070eca9c
     RDX: 0000000000000400 RSI: 00007ff006dff9a0 RDI: 0000000000000003
     RBP: 00007ff006dffde0 R08: 0000000000000000 R09: 00007ff000000ba0
     R10: 00007ff007004b08 R11: 0000000000000246 R12: 0000000000000003
     R13: 00007ff006dff9a0 R14: 0000000000000007 R15: 0000000000000008
      </TASK>
     Modules linked in: snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec snd_hwdep snd_hda_core
     ---[ end trace 0000000000000000 ]---
    
    This is because it would mistakenly call kthread_stop() on a user space
    thread making it "exit" before it actually exits.
    
    Since kthreads are created based on global behavior, use a cpumask to know
    when kthreads are running and that they need to be shutdown before
    proceeding to do new work.
    
    Link: https://lore.kernel.org/all/[email protected]/
    
    This was debugged by using the persistent ring buffer:
    
    Link: https://lore.kernel.org/all/[email protected]/
    
    Note, locking was originally used to fix this, but that proved to cause too
    many deadlocks to work around:
    
      https://lore.kernel.org/linux-trace-kernel/[email protected]/
    
    Cc: [email protected]
    Cc: Masami Hiramatsu <[email protected]>
    Cc: Mathieu Desnoyers <[email protected]>
    Cc: "Luis Claudio R. Goncalves" <[email protected]>
    Link: https://lore.kernel.org/[email protected]
    Fixes: e88ed22 ("tracing/timerlat: Add user-space interface")
    Reported-by: Tomas Glozar <[email protected]>
    Signed-off-by: Steven Rostedt (Google) <[email protected]>
    rostedt committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    177e1cc View commit details
    Browse the repository at this point in the history
  26. tracing/timerlat: Only clear timer if a kthread exists

    The timerlat tracer can use user space threads to check for osnoise and
    timer latency. If the program using this is killed via a SIGTERM, the
    threads are shutdown one at a time and another tracing instance can start
    up resetting the threads before they are fully closed. That causes the
    hrtimer assigned to the kthread to be shutdown and freed twice when the
    dying thread finally closes the file descriptors, causing a use-after-free
    bug.
    
    Only cancel the hrtimer if the associated thread is still around. Also add
    the interface_lock around the resetting of the tlat_var->kthread.
    
    Note, this is just a quick fix that can be backported to stable. A real
    fix is to have a better synchronization between the shutdown of old
    threads and the starting of new ones.
    
    Link: https://lore.kernel.org/all/[email protected]/
    
    Cc: [email protected]
    Cc: Masami Hiramatsu <[email protected]>
    Cc: Mathieu Desnoyers <[email protected]>
    Cc: "Luis Claudio R. Goncalves" <[email protected]>
    Link: https://lore.kernel.org/[email protected]
    Fixes: e88ed22 ("tracing/timerlat: Add user-space interface")
    Reported-by: Tomas Glozar <[email protected]>
    Signed-off-by: Steven Rostedt (Google) <[email protected]>
    rostedt committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    e6a5348 View commit details
    Browse the repository at this point in the history
  27. tracing/timerlat: Add interface_lock around clearing of kthread in st…

    …op_kthread()
    
    The timerlat interface will get and put the task that is part of the
    "kthread" field of the osn_var to keep it around until all references are
    released. But here's a race in the "stop_kthread()" code that will call
    put_task_struct() on the kthread if it is not a kernel thread. This can
    race with the releasing of the references to that task struct and the
    put_task_struct() can be called twice when it should have been called just
    once.
    
    Take the interface_lock() in stop_kthread() to synchronize this change.
    But to do so, the function stop_per_cpu_kthreads() needs to change the
    loop from for_each_online_cpu() to for_each_possible_cpu() and remove the
    cpu_read_lock(), as the interface_lock can not be taken while the cpu
    locks are held. The only side effect of this change is that it may do some
    extra work, as the per_cpu variables of the offline CPUs would not be set
    anyway, and would simply be skipped in the loop.
    
    Remove unneeded "return;" in stop_kthread().
    
    Cc: [email protected]
    Cc: Masami Hiramatsu <[email protected]>
    Cc: Mathieu Desnoyers <[email protected]>
    Cc: Tomas Glozar <[email protected]>
    Cc: John Kacur <[email protected]>
    Cc: "Luis Claudio R. Goncalves" <[email protected]>
    Link: https://lore.kernel.org/[email protected]
    Fixes: e88ed22 ("tracing/timerlat: Add user-space interface")
    Signed-off-by: Steven Rostedt (Google) <[email protected]>
    rostedt committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    5bfbcd1 View commit details
    Browse the repository at this point in the history
  28. KVM: Remove HIGH_RES_TIMERS dependency

    Commit 92b5265 ("KVM: Depend on HIGH_RES_TIMERS") added a dependency
    to high resolution timers with the comment:
    
        KVM lapic timer and tsc deadline timer based on hrtimer,
        setting a leftmost node to rb tree and then do hrtimer reprogram.
        If hrtimer not configured as high resolution, hrtimer_enqueue_reprogram
        do nothing and then make kvm lapic timer and tsc deadline timer fail.
    
    That was back in 2012, where hrtimer_start_range_ns() would do the
    reprogramming with hrtimer_enqueue_reprogram(). But as that was a nop with
    high resolution timers disabled, this did not work. But a lot has changed
    in the last 12 years.
    
    For example, commit 49a2a07 ("hrtimer: Kick lowres dynticks targets on
    timer enqueue") modifies __hrtimer_start_range_ns() to work with low res
    timers. There's been lots of other changes that make low res work.
    
    ChromeOS has tested this before as well, and it hasn't seen any issues
    with running KVM with high res timers disabled.  There could be problems,
    especially at low HZ, for guests that do not support kvmclock and rely
    on precise delivery of periodic timers to keep their clock running.
    This can be the APIC timer (provided by the kernel), the RTC (provided
    by userspace), or the i8254 (choice of kernel/userspace).  These guests
    are few and far between these days, and in the case of the APIC timer +
    Intel hosts we can use the preemption timer (which is TSC-based and has
    better latency _and_ accuracy).
    
    In KVM, only x86 is requiring CONFIG_HIGH_RES_TIMERS; perhaps a "depends
    on HIGH_RES_TIMERS || EXPERT" could be added to virt/kvm, or a pr_warn
    could be added to kvm_init if HIGH_RES_TIMERS are not enabled.  But in
    general, it seems that there must be other code in the kernel (maybe
    sound/?) that is relying on having high-enough HZ or hrtimers but that's
    not documented anywhere.  Whenever you disable it you probably need to
    know what you're doing and what your workload is; so the dependency is
    not particularly interesting, and we can just remove it.
    
    Signed-off-by: Steven Rostedt (Google) <[email protected]>
    Message-ID: <[email protected]>
    [Added the last two paragraphs to the commit message. - Paolo]
    Signed-off-by: Paolo Bonzini <[email protected]>
    rostedt authored and bonzini committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    59cbd4e View commit details
    Browse the repository at this point in the history
  29. Merge tag 'linux_kselftest-kunit-fixes-6.11-rc7' of git://git.kernel.…

    …org/pub/scm/linux/kernel/git/shuah/linux-kselftest
    
    Pull kunit fix fromShuah Khan:
     "One single fix to a use-after-free bug resulting from
      kunit_driver_create() failing to copy the driver name leaving it on
      the stack or freeing it"
    
    * tag 'linux_kselftest-kunit-fixes-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
      kunit: Device wrappers should also manage driver name
    torvalds committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    120434e View commit details
    Browse the repository at this point in the history
  30. Merge tag 'platform-drivers-x86-v6.11-6' of git://git.kernel.org/pub/…

    …scm/linux/kernel/git/pdx86/platform-drivers-x86
    
    Pull x86 platform driver fixes from Ilpo Järvinen:
    
     - amd/pmf: ASUS GA403 quirk matching tweak
    
     - dell-smbios: Fix to the init function rollback path
    
    * tag 'platform-drivers-x86-v6.11-6' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
      platform/x86/amd: pmf: Make ASUS GA403 quirk generic
      platform/x86: dell-smbios: Fix error path in dell_smbios_init()
    torvalds committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    ad61873 View commit details
    Browse the repository at this point in the history
  31. MAINTAINERS: SPI: Add freescale lpspi maintainer information

    Add [email protected] and NXP maintainer information for lpspi driver
    (drivers/spi/spi-fsl-lpspi.c).
    
    Signed-off-by: Frank Li <[email protected]>
    Reviewed-by: Stefan Wahren <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    nxpfrankli authored and broonie committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    fb9820c View commit details
    Browse the repository at this point in the history
  32. MAINTAINERS: SPI: Add mailing list [email protected] for nxp spi dr…

    …ivers
    
    Add mailing list [email protected] for nxp spi drivers(qspi, fspi and
    dspi).
    
    Signed-off-by: Frank Li <[email protected]>
    Reviewed-by: Stefan Wahren <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    nxpfrankli authored and broonie committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    c9ca76e View commit details
    Browse the repository at this point in the history
  33. Revert "drm/amdgpu: align pp_power_profile_mode with kernel docs"

    This reverts commit 8f61446.
    
    This breaks some manual setting of the profile mode in
    certain cases.
    
    Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3600
    Signed-off-by: Alex Deucher <[email protected]>
    (cherry picked from commit 7a19955)
    Cc: [email protected]
    alexdeucher committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    1a8d845 View commit details
    Browse the repository at this point in the history
  34. kunit: Fix missing kerneldoc comment

    Add a missing kerneldoc comment for the 'test' test context parameter,
    fixing the following warning:
    
    include/kunit/test.h:492: warning: Function parameter or struct member 'test' not described in 'kunit_kfree_const'
    
    Reported-by: Stephen Rothwell <[email protected]>
    Closes: https://lore.kernel.org/lkml/[email protected]/
    Fixes: f2c6dbd ("kunit: Device wrappers should also manage driver name")
    Signed-off-by: David Gow <[email protected]>
    Reviewed-by: Kees Cook <[email protected]>
    Signed-off-by: Shuah Khan <[email protected]>
    sulix authored and shuahkh committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    12cb32a View commit details
    Browse the repository at this point in the history
  35. selftests: net: enable bind tests

    bind_wildcard is compiled but not run, bind_timewait is not compiled.
    
    These two tests complete in a very short time, use the test harness
    properly, and seem reasonable to enable.
    
    The author of the tests confirmed via email that these were
    intended to be run.
    
    Enable these two tests.
    
    Fixes: 13715ac ("selftest: Add test for bind() conflicts.")
    Fixes: 2c042e8 ("tcp: Add selftest for bind() and TIME_WAIT.")
    Signed-off-by: Jamie Bainbridge <[email protected]>
    Reviewed-by: Eric Dumazet <[email protected]>
    Reviewed-by: Kuniyuki Iwashima <[email protected]>
    Link: https://patch.msgid.link/5a009b26cf5fb1ad1512d89c61b37e2fac702323.1725430322.git.jamie.bainbridge@gmail.com
    Signed-off-by: Jakub Kicinski <[email protected]>
    superjamie authored and kuba-moo committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    e4af74a View commit details
    Browse the repository at this point in the history
  36. MAINTAINERS: fix ptp ocp driver maintainers address

    While checking the latest series for ptp_ocp driver I realised that
    MAINTAINERS file has wrong item about email on linux.dev domain.
    
    Fixes: 795fd93 ("ptp_ocp: adjust MAINTAINERS and mailmap")
    Signed-off-by: Vadim Fedorenko <[email protected]>
    Reviewed-by: Simon Horman <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Vadim Fedorenko authored and kuba-moo committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    20d664e View commit details
    Browse the repository at this point in the history
  37. tools/net/ynl: fix cli.py --subscribe feature

    Execution of command:
    ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/dpll.yaml /
    	--subscribe "monitor" --sleep 10
    fails with:
      File "/repo/./tools/net/ynl/cli.py", line 109, in main
        ynl.check_ntf()
      File "/repo/tools/net/ynl/lib/ynl.py", line 924, in check_ntf
        op = self.rsp_by_value[nl_msg.cmd()]
    KeyError: 19
    
    Parsing Generic Netlink notification messages performs lookup for op in
    the message. The message was not yet decoded, and is not yet considered
    GenlMsg, thus msg.cmd() returns Generic Netlink family id (19) instead of
    proper notification command id (i.e.: DPLL_CMD_PIN_CHANGE_NTF=13).
    
    Allow the op to be obtained within NetlinkProtocol.decode(..) itself if the
    op was not passed to the decode function, thus allow parsing of Generic
    Netlink notifications without causing the failure.
    
    Suggested-by: Donald Hunter <[email protected]>
    Link: https://lore.kernel.org/netdev/[email protected]/
    Fixes: 0a966d6 ("tools/net/ynl: Fix extack decoding for directional ops")
    Signed-off-by: Arkadiusz Kubalewski <[email protected]>
    Reviewed-by: Donald Hunter <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    kubalewski authored and kuba-moo committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    6fda63c View commit details
    Browse the repository at this point in the history
  38. ila: call nf_unregister_net_hooks() sooner

    syzbot found an use-after-free Read in ila_nf_input [1]
    
    Issue here is that ila_xlat_exit_net() frees the rhashtable,
    then call nf_unregister_net_hooks().
    
    It should be done in the reverse way, with a synchronize_rcu().
    
    This is a good match for a pre_exit() method.
    
    [1]
     BUG: KASAN: use-after-free in rht_key_hashfn include/linux/rhashtable.h:159 [inline]
     BUG: KASAN: use-after-free in __rhashtable_lookup include/linux/rhashtable.h:604 [inline]
     BUG: KASAN: use-after-free in rhashtable_lookup include/linux/rhashtable.h:646 [inline]
     BUG: KASAN: use-after-free in rhashtable_lookup_fast+0x77a/0x9b0 include/linux/rhashtable.h:672
    Read of size 4 at addr ffff888064620008 by task ksoftirqd/0/16
    
    CPU: 0 UID: 0 PID: 16 Comm: ksoftirqd/0 Not tainted 6.11.0-rc4-syzkaller-00238-g2ad6d23f465a #0
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
    Call Trace:
     <TASK>
      __dump_stack lib/dump_stack.c:93 [inline]
      dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119
      print_address_description mm/kasan/report.c:377 [inline]
      print_report+0x169/0x550 mm/kasan/report.c:488
      kasan_report+0x143/0x180 mm/kasan/report.c:601
      rht_key_hashfn include/linux/rhashtable.h:159 [inline]
      __rhashtable_lookup include/linux/rhashtable.h:604 [inline]
      rhashtable_lookup include/linux/rhashtable.h:646 [inline]
      rhashtable_lookup_fast+0x77a/0x9b0 include/linux/rhashtable.h:672
      ila_lookup_wildcards net/ipv6/ila/ila_xlat.c:132 [inline]
      ila_xlat_addr net/ipv6/ila/ila_xlat.c:652 [inline]
      ila_nf_input+0x1fe/0x3c0 net/ipv6/ila/ila_xlat.c:190
      nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]
      nf_hook_slow+0xc3/0x220 net/netfilter/core.c:626
      nf_hook include/linux/netfilter.h:269 [inline]
      NF_HOOK+0x29e/0x450 include/linux/netfilter.h:312
      __netif_receive_skb_one_core net/core/dev.c:5661 [inline]
      __netif_receive_skb+0x1ea/0x650 net/core/dev.c:5775
      process_backlog+0x662/0x15b0 net/core/dev.c:6108
      __napi_poll+0xcb/0x490 net/core/dev.c:6772
      napi_poll net/core/dev.c:6841 [inline]
      net_rx_action+0x89b/0x1240 net/core/dev.c:6963
      handle_softirqs+0x2c4/0x970 kernel/softirq.c:554
      run_ksoftirqd+0xca/0x130 kernel/softirq.c:928
      smpboot_thread_fn+0x544/0xa30 kernel/smpboot.c:164
      kthread+0x2f0/0x390 kernel/kthread.c:389
      ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
      ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
     </TASK>
    
    The buggy address belongs to the physical page:
    page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x64620
    flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff)
    page_type: 0xbfffffff(buddy)
    raw: 00fff00000000000 ffffea0000959608 ffffea00019d9408 0000000000000000
    raw: 0000000000000000 0000000000000003 00000000bfffffff 0000000000000000
    page dumped because: kasan: bad access detected
    page_owner tracks the page as freed
    page last allocated via order 3, migratetype Unmovable, gfp_mask 0x52dc0(GFP_KERNEL|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_ZERO), pid 5242, tgid 5242 (syz-executor), ts 73611328570, free_ts 618981657187
      set_page_owner include/linux/page_owner.h:32 [inline]
      post_alloc_hook+0x1f3/0x230 mm/page_alloc.c:1493
      prep_new_page mm/page_alloc.c:1501 [inline]
      get_page_from_freelist+0x2e4c/0x2f10 mm/page_alloc.c:3439
      __alloc_pages_noprof+0x256/0x6c0 mm/page_alloc.c:4695
      __alloc_pages_node_noprof include/linux/gfp.h:269 [inline]
      alloc_pages_node_noprof include/linux/gfp.h:296 [inline]
      ___kmalloc_large_node+0x8b/0x1d0 mm/slub.c:4103
      __kmalloc_large_node_noprof+0x1a/0x80 mm/slub.c:4130
      __do_kmalloc_node mm/slub.c:4146 [inline]
      __kmalloc_node_noprof+0x2d2/0x440 mm/slub.c:4164
      __kvmalloc_node_noprof+0x72/0x190 mm/util.c:650
      bucket_table_alloc lib/rhashtable.c:186 [inline]
      rhashtable_init_noprof+0x534/0xa60 lib/rhashtable.c:1071
      ila_xlat_init_net+0xa0/0x110 net/ipv6/ila/ila_xlat.c:613
      ops_init+0x359/0x610 net/core/net_namespace.c:139
      setup_net+0x515/0xca0 net/core/net_namespace.c:343
      copy_net_ns+0x4e2/0x7b0 net/core/net_namespace.c:508
      create_new_namespaces+0x425/0x7b0 kernel/nsproxy.c:110
      unshare_nsproxy_namespaces+0x124/0x180 kernel/nsproxy.c:228
      ksys_unshare+0x619/0xc10 kernel/fork.c:3328
      __do_sys_unshare kernel/fork.c:3399 [inline]
      __se_sys_unshare kernel/fork.c:3397 [inline]
      __x64_sys_unshare+0x38/0x40 kernel/fork.c:3397
    page last free pid 11846 tgid 11846 stack trace:
      reset_page_owner include/linux/page_owner.h:25 [inline]
      free_pages_prepare mm/page_alloc.c:1094 [inline]
      free_unref_page+0xd22/0xea0 mm/page_alloc.c:2612
      __folio_put+0x2c8/0x440 mm/swap.c:128
      folio_put include/linux/mm.h:1486 [inline]
      free_large_kmalloc+0x105/0x1c0 mm/slub.c:4565
      kfree+0x1c4/0x360 mm/slub.c:4588
      rhashtable_free_and_destroy+0x7c6/0x920 lib/rhashtable.c:1169
      ila_xlat_exit_net+0x55/0x110 net/ipv6/ila/ila_xlat.c:626
      ops_exit_list net/core/net_namespace.c:173 [inline]
      cleanup_net+0x802/0xcc0 net/core/net_namespace.c:640
      process_one_work kernel/workqueue.c:3231 [inline]
      process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312
      worker_thread+0x86d/0xd40 kernel/workqueue.c:3390
      kthread+0x2f0/0x390 kernel/kthread.c:389
      ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
      ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
    
    Memory state around the buggy address:
     ffff88806461ff00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
     ffff88806461ff80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    >ffff888064620000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                          ^
     ffff888064620080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
     ffff888064620100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    
    Fixes: 7f00fea ("ila: Add generic ILA translation facility")
    Reported-by: syzbot <[email protected]>
    Signed-off-by: Eric Dumazet <[email protected]>
    Cc: Tom Herbert <[email protected]>
    Reviewed-by: Florian Westphal <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Eric Dumazet authored and kuba-moo committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    031ae72 View commit details
    Browse the repository at this point in the history
  39. Merge tag 'trace-v6.11-rc4' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/trace/linux-trace
    
    Pull tracing fixes from Steven Rostedt:
    
     - Fix adding a new fgraph callback after function graph tracing has
       already started.
    
       If the new caller does not initialize its hash before registering the
       fgraph_ops, it can cause a NULL pointer dereference. Fix this by
       adding a new parameter to ftrace_graph_enable_direct() passing in the
       newly added gops directly and not rely on using the fgraph_array[],
       as entries in the fgraph_array[] must be initialized.
    
       Assign the new gops to the fgraph_array[] after it goes through
       ftrace_startup_subops() as that will properly initialize the
       gops->ops and initialize its hashes.
    
     - Fix a memory leak in fgraph storage memory test.
    
       If the "multiple fgraph storage on a function" boot up selftest fails
       in the registering of the function graph tracer, it will not free the
       memory it allocated for the filter. Break the loop up into two where
       it allocates the filters first and then registers the functions where
       any errors will do the appropriate clean ups.
    
     - Only clear the timerlat timers if it has an associated kthread.
    
       In the rtla tool that uses timerlat, if it was killed just as it was
       shutting down, the signals can free the kthread and the timer. But
       the closing of the timerlat files could cause the hrtimer_cancel() to
       be called on the already freed timer. As the kthread variable is is
       set to NULL when the kthreads are stopped and the timers are freed it
       can be used to know not to call hrtimer_cancel() on the timer if the
       kthread variable is NULL.
    
     - Use a cpumask to keep track of osnoise/timerlat kthreads
    
       The timerlat tracer can use user space threads for its analysis. With
       the killing of the rtla tool, the kernel can get confused between if
       it is using a user space thread to analyze or one of its own kernel
       threads. When this confusion happens, kthread_stop() can be called on
       a user space thread and bad things happen. As the kernel threads are
       per-cpu, a bitmask can be used to know when a kernel thread is used
       or when a user space thread is used.
    
     - Add missing interface_lock to osnoise/timerlat stop_kthread()
    
       The stop_kthread() function in osnoise/timerlat clears the osnoise
       kthread variable, and if it was a user space thread does a put_task
       on it. But this can race with the closing of the timerlat files that
       also does a put_task on the kthread, and if the race happens the task
       will have put_task called on it twice and oops.
    
     - Add cond_resched() to the tracing_iter_reset() loop.
    
       The latency tracers keep writing to the ring buffer without resetting
       when it issues a new "start" event (like interrupts being disabled).
       When reading the buffer with an iterator, the tracing_iter_reset()
       sets its pointer to that start event by walking through all the
       events in the buffer until it gets to the time stamp of the start
       event. In the case of a very large buffer, the loop that looks for
       the start event has been reported taking a very long time with a non
       preempt kernel that it can trigger a soft lock up warning. Add a
       cond_resched() into that loop to make sure that doesn't happen.
    
     - Use list_del_rcu() for eventfs ei->list variable
    
       It was reported that running loops of creating and deleting kprobe
       events could cause a crash due to the eventfs list iteration hitting
       a LIST_POISON variable. This is because the list is protected by SRCU
       but when an item is deleted from the list, it was using list_del()
       which poisons the "next" pointer. This is what list_del_rcu() was to
       prevent.
    
    * tag 'trace-v6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
      tracing/timerlat: Add interface_lock around clearing of kthread in stop_kthread()
      tracing/timerlat: Only clear timer if a kthread exists
      tracing/osnoise: Use a cpumask to know what threads are kthreads
      eventfs: Use list_del_rcu() for SRCU protected list variable
      tracing: Avoid possible softlockup in tracing_iter_reset()
      tracing: Fix memory leak in fgraph storage selftest
      tracing: fgraph: Fix to add new fgraph_ops to array after ftrace_startup_subops()
    torvalds committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    e4b4205 View commit details
    Browse the repository at this point in the history
  40. Merge tag 'rust-fixes-6.11-2' of https://github.com/Rust-for-Linux/linux

    
    
    Pull Rust fixes from Miguel Ojeda:
     "Toolchain and infrastructure:
    
       - Fix builds for nightly compiler users now that 'new_uninit' was
         split into new features by using an alternative approach for the
         code that used what is now called the 'box_uninit_write' feature
    
       - Allow the 'stable_features' lint to preempt upcoming warnings about
         them, since soon there will be unstable features that will become
         stable in nightly compilers
    
       - Export bss symbols too
    
      'kernel' crate:
    
       - 'block' module: fix wrong usage of lockdep API
    
      'macros' crate:
    
       - Provide correct provenance when constructing 'THIS_MODULE'
    
      Documentation:
    
       - Remove unintended indentation (blockquotes) in generated output
    
       - Fix a couple typos
    
      MAINTAINERS:
    
       - Remove Wedson as Rust maintainer
    
       - Update Andreas' email"
    
    * tag 'rust-fixes-6.11-2' of https://github.com/Rust-for-Linux/linux:
      MAINTAINERS: update Andreas Hindborg's email address
      MAINTAINERS: Remove Wedson as Rust maintainer
      rust: macros: provide correct provenance when constructing THIS_MODULE
      rust: allow `stable_features` lint
      docs: rust: remove unintended blockquote in Quick Start
      rust: alloc: eschew `Box<MaybeUninit<T>>::write`
      rust: kernel: fix typos in code comments
      docs: rust: remove unintended blockquote in Coding Guidelines
      rust: block: fix wrong usage of lockdep API
      rust: kbuild: fix export of bss symbols
    torvalds committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    6c5b3e3 View commit details
    Browse the repository at this point in the history
  41. Merge tag 'regulator-fix-v6.11-stub' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/broonie/regulator
    
    Pull regulator fix from Mark Brown:
     "A fix from Doug Anderson for a missing stub, required to fix the build
      for some newly added users of devm_regulator_bulk_get_const() in
      !REGULATOR configurations"
    
    * tag 'regulator-fix-v6.11-stub' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
      regulator: core: Stub devm_regulator_bulk_get_const() if !CONFIG_REGULATOR
    torvalds committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    2a66044 View commit details
    Browse the repository at this point in the history
  42. Merge tag 'drm-intel-fixes-2024-09-05' of https://gitlab.freedesktop.…

    …org/drm/i915/kernel into drm-fixes
    
    - drm/i915: Do not attempt to load the GSC multiple times (Daniele Ceraolo Spurio)
    - drm/i915: Fix readout degamma_lut mismatch on ilk/snb (Ville Syrjälä)
    - drm/i915/fence: Mark debug_fence_init_onstack() with __maybe_unused (Andy Shevchenko)
    - drm/i915/fence: Mark debug_fence_free() with __maybe_unused (Andy Shevchenko)
    - drm/i915/display: Add mechanism to use sink model when applying quirk [display] (Jouni Högander)
    - drm/i915/display: Increase Fast Wake Sync length as a quirk [display] (Jouni Högander)
    
    Signed-off-by: Dave Airlie <[email protected]>
    From: Tvrtko Ursulin <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/Ztlo2hVO4SBvfAnq@linux
    airlied committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    f2064ae View commit details
    Browse the repository at this point in the history
  43. Merge tag 'spi-fix-v6.11-rc6' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/broonie/spi
    
    Pull spi fixes from Mark Brown:
     "A few small driver specific fixes (including some of the widespread
      work on fixing missing ID tables for module autoloading and the revert
      of some problematic PM work in spi-rockchip), some improvements to the
      MAINTAINERS information for the NXP drivers and the addition of a new
      device ID to spidev"
    
    * tag 'spi-fix-v6.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
      MAINTAINERS: SPI: Add mailing list [email protected] for nxp spi drivers
      MAINTAINERS: SPI: Add freescale lpspi maintainer information
      spi: spi-fsl-lpspi: Fix off-by-one in prescale max
      spi: spidev: Add missing spi_device_id for jg10309-01
      spi: bcm63xx: Enable module autoloading
      spi: intel: Add check devm_kasprintf() returned value
      spi: spidev: Add an entry for elgin,jg10309-01
      spi: rockchip: Resolve unbalanced runtime PM / system PM handling
    torvalds committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    f953599 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2024

  1. Merge tag 'net-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/netdev/net
    
    Pull networking fixes from Jakub Kicinski:
     "Including fixes from can, bluetooth and wireless.
    
      No known regressions at this point. Another calm week, but chances are
      that has more to do with vacation season than the quality of our work.
    
      Current release - new code bugs:
    
       - smc: prevent NULL pointer dereference in txopt_get
    
       - eth: ti: am65-cpsw: number of XDP-related fixes
    
      Previous releases - regressions:
    
       - Revert "Bluetooth: MGMT/SMP: Fix address type when using SMP over
         BREDR/LE", it breaks existing user space
    
       - Bluetooth: qca: if memdump doesn't work, re-enable IBS to avoid
         later problems with suspend
    
       - can: mcp251x: fix deadlock if an interrupt occurs during
         mcp251x_open
    
       - eth: r8152: fix the firmware communication error due to use of bulk
         write
    
       - ptp: ocp: fix serial port information export
    
       - eth: igb: fix not clearing TimeSync interrupts for 82580
    
       - Revert "wifi: ath11k: support hibernation", fix suspend on Lenovo
    
      Previous releases - always broken:
    
       - eth: intel: fix crashes and bugs when reconfiguration and resets
         happening in parallel
    
       - wifi: ath11k: fix NULL dereference in ath11k_mac_get_eirp_power()
    
      Misc:
    
       - docs: netdev: document guidance on cleanup.h"
    
    * tag 'net-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (61 commits)
      ila: call nf_unregister_net_hooks() sooner
      tools/net/ynl: fix cli.py --subscribe feature
      MAINTAINERS: fix ptp ocp driver maintainers address
      selftests: net: enable bind tests
      net: dsa: vsc73xx: fix possible subblocks range of CAPT block
      sched: sch_cake: fix bulk flow accounting logic for host fairness
      docs: netdev: document guidance on cleanup.h
      net: xilinx: axienet: Fix race in axienet_stop
      net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN
      r8152: fix the firmware doesn't work
      fou: Fix null-ptr-deref in GRO.
      bareudp: Fix device stats updates.
      net: mana: Fix error handling in mana_create_txq/rxq's NAPI cleanup
      bpf, net: Fix a potential race in do_sock_getsockopt()
      net: dqs: Do not use extern for unused dql_group
      sch/netem: fix use after free in netem_dequeue
      usbnet: modern method to get random MAC
      MAINTAINERS: wifi: cw1200: add net-cw1200.h
      ice: do not bring the VSI up, if it was down before the XDP setup
      ice: remove ICE_CFG_BUSY locking from AF_XDP code
      ...
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    d759ee2 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'drm-xe-fixes-2024-09-05' of https://gitlab.freedesktop.org…

    …/drm/xe/kernel into drm-fixes
    
    - GSC loading fix (Daniele)
    - PCODE mutex fix (Matt)
    - Suspend/Resume fixes (Maarten, Imre)
    - RPM fixes (Rodrigo)
    
    Signed-off-by: Dave Airlie <[email protected]>
    
    From: Rodrigo Vivi <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    airlied committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    4de4a0f View commit details
    Browse the repository at this point in the history
  3. Merge tag 'drm-misc-fixes-2024-09-05' of https://gitlab.freedesktop.o…

    …rg/drm/misc/kernel into drm-fixes
    
    A zpos normalization fix for komeda, a register bitmask fix for nouveau,
    a memory leak fix for imagination, three fixes for the recent bridge
    HDMI work, a potential DoS fix and a cache coherency for panthor, a
    change of panel compatible and a deferred-io fix when used with
    non-highmem memory.
    
    Signed-off-by: Dave Airlie <[email protected]>
    
    From: Maxime Ripard <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240905-original-radical-guan-e7a2ae@houat
    airlied committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    ca10367 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'amd-drm-fixes-6.11-2024-09-05' of https://gitlab.freedeskt…

    …op.org/agd5f/linux into drm-fixes
    
    amd-drm-fixes-6.11-2024-09-05:
    
    amdgpu:
    - IPS workaround
    - Fix compatibility with older MES firmware
    - Fix CPU spikes when clearing VRAM
    - Backlight fix
    - PMO fix
    - Revert SWSMU change to fix regression
    
    Signed-off-by: Dave Airlie <[email protected]>
    
    From: Alex Deucher <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    airlied committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    141bb6b View commit details
    Browse the repository at this point in the history
  5. Merge tag 'bpf-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/bpf/bpf
    
    Pull bpf fixes from Alexei Starovoitov:
    
     - Fix crash when btf_parse_base() returns an error (Martin Lau)
    
     - Fix out of bounds access in btf_name_valid_section() (Jeongjun Park)
    
    * tag 'bpf-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf:
      selftests/bpf: Add a selftest to check for incorrect names
      bpf: add check for invalid name in btf_name_valid_section()
      bpf: Fix a crash when btf_parse_base() returns an error pointer
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    b831f83 View commit details
    Browse the repository at this point in the history
  6. Merge tag 'asoc-fix-v6.11-rc6' of https://git.kernel.org/pub/scm/linu…

    …x/kernel/git/broonie/sound into for-linus
    
    ASoC: Fixes for v6.11
    
    A larger set of fixes than I'd like at this point, but mainly due to
    people working on fixing module autoloading by adding missing exports of
    ID tables rather than anything particularly concerning.  There are some
    other runtime fixes and quirks, and a tweak to the ABI definition for
    SOF which ensures that a struct layout doesn't vary depending on the
    architecture of the host.
    tiwai committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    c491b04 View commit details
    Browse the repository at this point in the history
  7. dm-integrity: fix a race condition when accessing recalc_sector

    There's a race condition when accessing the variable
    ic->sb->recalc_sector. The function integrity_recalc writes to this
    variable when it makes some progress and the function
    dm_integrity_map_continue may read this variable concurrently.
    
    One problem is that on 32-bit architectures the 64-bit variable is not
    read and written atomically - it may be possible to read garbage if read
    races with write.
    
    Another problem is that memory accesses to this variable are not guarded
    with memory barriers.
    
    This commit fixes the race - it moves reading ic->sb->recalc_sector to an
    earlier place where we hold &ic->endio_wait.lock.
    
    Signed-off-by: Mikulas Patocka <[email protected]>
    Cc: [email protected]
    Mikulas Patocka committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    f8e1ca9 View commit details
    Browse the repository at this point in the history
  8. ASoC: Intel: soc-acpi-intel-lnl-match: add missing empty item

    There is no links_num in struct snd_soc_acpi_mach {}, and we test
    !link->num_adr as a condition to end the loop in hda_sdw_machine_select().
    So an empty item in struct snd_soc_acpi_link_adr array is required.
    
    Fixes: dd3bd9d ("ASoC: Intel: soc-acpi-intel-lnl-match: add cs42l43 only support")
    Signed-off-by: Bard Liao <[email protected]>
    Reviewed-by: Ranjani Sridharan <[email protected]>
    Reviewed-by: Péter Ujfalusi <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    bardliao authored and broonie committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    c4246f1 View commit details
    Browse the repository at this point in the history
  9. ASoC: Intel: soc-acpi-intel-mtl-match: add missing empty item

    There is no links_num in struct snd_soc_acpi_mach {}, and we test
    !link->num_adr as a condition to end the loop in hda_sdw_machine_select().
    So an empty item in struct snd_soc_acpi_link_adr array is required.
    
    Fixes: f77ae7f ("ASoC: Intel: soc-acpi-intel-mtl-match: add cs42l43 only support")
    Signed-off-by: Bard Liao <[email protected]>
    Reviewed-by: Ranjani Sridharan <[email protected]>
    Reviewed-by: Péter Ujfalusi <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    bardliao authored and broonie committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    bf6d7a4 View commit details
    Browse the repository at this point in the history
  10. libfs: fix get_stashed_dentry()

    get_stashed_dentry() tries to optimistically retrieve a stashed dentry
    from a provided location.  It needs to ensure to hold rcu lock before it
    dereference the stashed location to prevent UAF issues.  Use
    rcu_dereference() instead of READ_ONCE() it's effectively equivalent
    with some lockdep bells and whistles and it communicates clearly that
    this expects rcu protection.
    
    Link: https://lore.kernel.org/r/20240906-vfs-hotfix-5959800ffa68@brauner
    Fixes: 07fd7c3 ("libfs: add path_from_stashed()")
    Reported-by: [email protected]
    Fixes: [email protected]
    Reported-by: [email protected]
    Fixes: [email protected]
    Signed-off-by: Christian Brauner <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    brauner authored and torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    4e32c25 View commit details
    Browse the repository at this point in the history
  11. Merge tag 'drm-fixes-2024-09-06' of https://gitlab.freedesktop.org/dr…

    …m/kernel
    
    Pull drm fixes from Dave Airlie:
     "This has a fair few patches in it, but I reviewed them all and they
      seem like real things, amdgpu, i915 and xe each have a bunch of fixes
      for various things, then there is a some bridge suspend/resume
      ordering fixes for a recent rework, and then some single driver
      changes in a few others.
    
      Nothing looks too serious, hopefully next week is quiet.
    
      amdgpu:
       - IPS workaround
       - Fix compatibility with older MES firmware
       - Fix CPU spikes when clearing VRAM
       - Backlight fix
       - PMO fix
       - Revert SWSMU change to fix regression
    
      xe:
       - GSC loading fix
       - PCODE mutex fix
       - Suspend/Resume fixes
       - RPM fixes
    
      i915:
       - Do not attempt to load the GSC multiple times
       - Fix readout degamma_lut mismatch on ilk/snb
       - Mark debug_fence_init_onstack() with __maybe_unused
       - fence: Mark debug_fence_free() with __maybe_unused
       - display: Add mechanism to use sink model when applying quirk
       - display: Increase Fast Wake Sync length as a quirk
    
      komeda:
       - zpos normalization fix
    
      nouveau:
       - incorrect register fix
    
      imagination:
       - memory leak fix
    
      bridge:
       - hdmi/bridge rework fixes
    
      panthor:
       - cache coherency fix
       - hi priority access fix
    
      panel:
       - change of compatible string
    
      fbdev:
       - deferred-io init with no struct page fix"
    
    * tag 'drm-fixes-2024-09-06' of https://gitlab.freedesktop.org/drm/kernel: (29 commits)
      Revert "drm/amdgpu: align pp_power_profile_mode with kernel docs"
      drm/fbdev-dma: Only install deferred I/O if necessary
      drm/panthor: flush FW AS caches in slow reset path
      drm: panel: nv3052c: Correct WL-355608-A8 panel compatible
      dt-bindings: display: panel: Rename WL-355608-A8 panel to rg35xx-*-panel
      drm/panthor: Restrict high priorities on group_create
      drm/xe/display: Avoid encoder_suspend at runtime suspend
      drm/xe: Suspend/resume user access only during system s/r
      drm/xe/display: Match i915 driver suspend/resume sequences better
      drm/xe: Add missing runtime reference to wedged upon gt_reset
      drm/xe/pcode: Treat pcode as per-tile rather than per-GT
      drm/xe/gsc: Do not attempt to load the GSC multiple times
      drm/bridge-connector: reset the HDMI connector state
      drm/bridge-connector: move to DRM_DISPLAY_HELPER module
      drm/display: stop depending on DRM_DISPLAY_HELPER
      drm/i915/display: Increase Fast Wake Sync length as a quirk
      drm/i915/display: Add mechanism to use sink model when applying quirk
      drm/amd/display: Block timing sync for different signals in PMO
      drm/amd/display: Lock DC and exit IPS when changing backlight
      drm/amdgpu: always allocate cleared VRAM for GEM allocations
      ...
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    ea462f0 View commit details
    Browse the repository at this point in the history
  12. Merge tag 'pwm/for-6.11-rc7-fixes' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/ukleinek/linux
    
    Pull pwm fix from Uwe Kleine-König:
     "Fix an off-by-one in the stm32 driver.
    
      Hardware engineers tend to start counting at 1 while the software guys
      usually start with 0. This isn't so nice because that results in
      drivers where pwm device #2 needs to use the hardware registers with
      index 3.
    
      This was noticed by Fabrice Gasnier.
    
      A small patch fixing that mismatch is the only change included here"
    
    * tag 'pwm/for-6.11-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux:
      pwm: stm32: Use the right CCxNP bit in stm32_pwm_enable()
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    8654fa5 View commit details
    Browse the repository at this point in the history
  13. Merge tag 'pmdomain-v6.11-rc2-2' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/ulfh/linux-pm
    
    Pull pmdomain fix from Ulf Hansson:
    
     - Fix support for required OPPs for multiple PM domains
    
    * tag 'pmdomain-v6.11-rc2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm:
      OPP: Fix support for required OPPs for multiple PM domains
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    2125a72 View commit details
    Browse the repository at this point in the history
  14. Merge tag 'gpio-fixes-for-v6.11-rc7' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/brgl/linux
    
    Pull gpio fixes from Bartosz Golaszewski:
    
     - fix an OF node reference leak in gpio-rockchip
    
     - add the missing module device table to gpio-modepin
    
    * tag 'gpio-fixes-for-v6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
      gpio: modepin: Enable module autoloading
      gpio: rockchip: fix OF node leak in probe()
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    0de82f0 View commit details
    Browse the repository at this point in the history
  15. Merge tag 'mmc-v6.11-rc5' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/ulfh/mmc
    
    Pull MMC fixes from Ulf Hansson:
     "MMC core:
       - Apply SD quirks earlier during probe so they become relevant
    
      MMC host:
       - cqhci: Fix checking of CQHCI_HALT state
       - dw_mmc: Fix IDMAC operation with pages bigger than 4K
       - sdhci-of-aspeed: Fix module autoloading"
    
    * tag 'mmc-v6.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
      mmc: cqhci: Fix checking of CQHCI_HALT state
      mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K
      mmc: sdhci-of-aspeed: fix module autoloading
      mmc: core: apply SD quirks earlier during probe
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    c3af225 View commit details
    Browse the repository at this point in the history
  16. Merge tag 'sound-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "Hopefully the last PR for 6.11, at least for this level of amount.
    
      In addition to the usual HD-audio quirks, there are more changes in
      ASoC, but all look small and device-specific fixes, and nothing stands
      out. The only slightly big change is sunxi I2S fix, which looks quite
      safe to apply, too"
    
    * tag 'sound-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (21 commits)
      ALSA: hda/realtek - Fix inactive headset mic jack for ASUS Vivobook 15 X1504VAP
      ALSA: hda/realtek: Support mute LED on HP Laptop 14-dq2xxx
      ALSA: hda/realtek: Enable Mute Led for HP Victus 15-fb1xxx
      ALSA: hda/realtek: extend quirks for Clevo V5[46]0
      ASoC: codecs: lpass-va-macro: set the default codec version for sm8250
      ALSA: hda: add HDMI codec ID for Intel PTL
      ALSA: hda/realtek: add patch for internal mic in Lenovo V145
      ASoC: sunxi: sun4i-i2s: fix LRCLK polarity in i2s mode
      ASoC: amd: yc: Add a quirk for MSI Bravo 17 (D7VEK)
      ASoC: mediatek: mt8188-mt6359: Modify key
      ASoc: SOF: topology: Clear SOF link platform name upon unload
      ALSA: hda/conexant: Add pincfg quirk to enable top speakers on Sirius devices
      ASoC: SOF: ipc: replace "enum sof_comp_type" field with "uint32_t"
      ASoC: fix module autoloading
      ASoC: tda7419: fix module autoloading
      ASoC: google: fix module autoloading
      ASoC: intel: fix module autoloading
      ASoC: tegra: Fix CBB error during probe()
      ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object
      ASoC: Intel: soc-acpi-cht: Make Lenovo Yoga Tab 3 X90F DMI match less strict
      ...
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    703896b View commit details
    Browse the repository at this point in the history
  17. Merge tag 'block-6.11-20240906' of git://git.kernel.dk/linux

    Pull block fixes from Jens Axboe:
     "Mostly just some fixlets for NVMe, but also a bug fix for the ublk
      driver and an integrity fix"
    
    * tag 'block-6.11-20240906' of git://git.kernel.dk/linux:
      bio-integrity: don't restrict the size of integrity metadata
      ublk_drv: fix NULL pointer dereference in ublk_ctrl_start_recovery()
      nvmet: Identify-Active Namespace ID List command should reject invalid nsid
      nvme: set BLK_FEAT_ZONED for ZNS multipath disks
      nvme-pci: Add sleep quirk for Samsung 990 Evo
      nvme-pci: allocate tagset on reset if necessary
      nvmet-tcp: fix kernel crash if commands allocation fails
      nvme: use better description for async reset reason
      nvmet: Make nvmet_debugfs static
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    b66f0b1 View commit details
    Browse the repository at this point in the history
  18. Merge tag 'pm-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/rafael/linux-pm
    
    Pull power management fix from Rafael Wysocki:
     "Fix an incorrect warning emitted by the amd-pstate driver on
      processors that don't support X86_FEATURE_CPPC (Gautham Shenoy)"
    
    * tag 'pm-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      cpufreq/amd-pstate: Remove warning for X86_FEATURE_CPPC on certain Zen models
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    788220e View commit details
    Browse the repository at this point in the history
  19. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull x86 kvm fixes from Paolo Bonzini:
     "Many small fixes that accumulated while I was on vacation...
    
       - Fixup missed comments from the REMOVED_SPTE => FROZEN_SPTE rename
    
       - Ensure a root is successfully loaded when pre-faulting SPTEs
    
       - Grab kvm->srcu when handling KVM_SET_VCPU_EVENTS to guard against
         accessing memslots if toggling SMM happens to force a VM-Exit
    
       - Emulate MSR_{FS,GS}_BASE on SVM even though interception is always
         disabled, so that KVM does the right thing if KVM's emulator
         encounters {RD,WR}MSR
    
       - Explicitly clear BUS_LOCK_DETECT from KVM's caps on AMD, as KVM
         doesn't yet virtualize BUS_LOCK_DETECT on AMD
    
       - Cleanup the help message for CONFIG_KVM_AMD_SEV, and call out that
         KVM now supports SEV-SNP too
    
       - Specialize return value of
         KVM_CHECK_EXTENSION(KVM_CAP_READONLY_MEM), based on VM type
    
       - Remove unnecessary dependency on CONFIG_HIGH_RES_TIMERS
    
       - Note an RCU quiescent state on guest exit. This avoids a call to
         rcu_core() if there was a grace period request while guest was
         running"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
      KVM: Remove HIGH_RES_TIMERS dependency
      kvm: Note an RCU quiescent state on guest exit
      KVM: x86: Only advertise KVM_CAP_READONLY_MEM when supported by VM
      KVM: SEV: Update KVM_AMD_SEV Kconfig entry and mention SEV-SNP
      KVM: SVM: Don't advertise Bus Lock Detect to guest if SVM support is missing
      KVM: SVM: fix emulation of msr reads/writes of MSR_FS_BASE and MSR_GS_BASE
      KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS
      KVM: x86/mmu: Check that root is valid/loaded when pre-faulting SPTEs
      KVM: x86/mmu: Fixup comments missed by the REMOVED_SPTE=>FROZEN_SPTE rename
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    d45111e View commit details
    Browse the repository at this point in the history
  20. Merge tag 'powerpc-6.11-3' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
    
     - Fix a deadlock in the powerpc qspinlock MCS queue logic
    
     - Fix the return type of pgd_val() to not truncate 64-bit PTEs on 85xx
    
     - Allow the check for dynamic relocations in the VDSO to work correctly
    
     - Make mmu_pte_psize static to fix a build error
    
    Thanks to Christophe Leroy, Nysal Jan K.A., Nicholas Piggin, Geetika
    Moolchandani, Jijo Varghese, and Vaishnavi Bhat.
    
    * tag 'powerpc-6.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      powerpc/qspinlock: Fix deadlock in MCS queue
      powerpc/mm: Fix return type of pgd_val()
      powerpc/vdso: Don't discard rela sections
      powerpc/64e: Define mmu_pte_psize static
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    a78d7dc View commit details
    Browse the repository at this point in the history
  21. Merge tag 'riscv-for-linus-6.11-rc7' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/riscv/linux
    
    Pull RISC-V fixes from Palmer Dabbelt:
    
     - A revert for the mmap() change that ties the allocation range to the
       hint adress, as what we tried to do ended up regressing on other
       userspace workloads.
    
     - A fix to avoid a kernel memory leak when emulating misaligned
       accesses from userspace.
    
     - A Kconfig fix for toolchain vector detection, which now correctly
       detects vector support on toolchains where the V extension depends on
       the M extension.
    
     - A fix to avoid failing the linear mapping bootmem bounds check on
       NOMMU systems.
    
     - A fix for early alternatives on relocatable kernels.
    
    * tag 'riscv-for-linus-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
      riscv: Fix RISCV_ALTERNATIVE_EARLY
      riscv: Do not restrict memory size because of linear mapping on nommu
      riscv: Fix toolchain vector detection
      riscv: misaligned: Restrict user access to kernel memory
      riscv: mm: Do not restrict mmap address based on hint
      riscv: selftests: Remove mmap hint address checks
      Revert "RISC-V: mm: Document mmap changes"
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    890daed View commit details
    Browse the repository at this point in the history
  22. Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/arm64/linux
    
    Pull arm64 fix from Catalin Marinas:
     "Fix the arm64 usage of ftrace_graph_ret_addr() to pass the
      &state->graph_idx pointer instead of NULL, otherwise this function
      just returns early"
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64: stacktrace: fix the usage of ftrace_graph_ret_addr()
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    6b8ff51 View commit details
    Browse the repository at this point in the history
  23. KVM: x86: don't fall through case statements without annotations

    clang warns on this because it has an unannotated fall-through between
    cases:
    
       arch/x86/kvm/x86.c:4819:2: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    
    and while we could annotate it as a fallthrough, the proper fix is to
    just add the break for this case, instead of falling through to the
    default case and the break there.
    
    gcc also has that warning, but it looks like gcc only warns for the
    cases where they fall through to "real code", rather than to just a
    break.  Odd.
    
    Fixes: d30d9ee ("KVM: x86: Only advertise KVM_CAP_READONLY_MEM when supported by VM")
    Cc: Paolo Bonzini <[email protected]>
    Cc: Tom Dohrmann <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    torvalds committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    9d4c304 View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2024

  1. Merge tag 'v6.11-rc6-cifs-client-fixes' of git://git.samba.org/sfrenc…

    …h/cifs-2.6
    
    Pull smb client fixes from Steve French:
    
     - fix potential mount hang
    
     - fix retry problem in two types of compound operations
    
     - important netfs integration fix in SMB1 read paths
    
     - fix potential uninitialized zero point of inode
    
     - minor patch to improve debugging for potential crediting problems
    
    * tag 'v6.11-rc6-cifs-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
      netfs, cifs: Improve some debugging bits
      cifs: Fix SMB1 readv/writev callback in the same way as SMB2/3
      cifs: Fix zero_point init on inode initialisation
      smb: client: fix double put of @CFILE in smb2_set_path_size()
      smb: client: fix double put of @CFILE in smb2_rename_path()
      smb: client: fix hang in wait_for_response() for negproto
    torvalds committed Sep 7, 2024
    Configuration menu
    Copy the full SHA
    a86b83f View commit details
    Browse the repository at this point in the history
  2. Merge tag 'pci-v6.11-fixes-3' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/pci/pci
    
    Pull pci fixes from Bjorn Helgaas:
    
     - Unregister platform devices for child nodes when stopping a PCI
       device, even if the PCI core has already cleared the OF_POPULATED bit
       and of_platform_depopulate() doesn't do anything (Bartosz
       Golaszewski)
    
     - Rescan the bus from a separate thread so we don't deadlock when
       triggering rescan from sysfs (Bartosz Golaszewski)
    
    * tag 'pci-v6.11-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
      PCI/pwrctl: Rescan bus on a separate thread
      PCI: Don't rely on of_platform_depopulate() for reused OF-nodes
    torvalds committed Sep 7, 2024
    Configuration menu
    Copy the full SHA
    487ee43 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'linux_kselftest-kunit-fixes-6.11-rc7-2' of git://git.kerne…

    …l.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
    
    PullKUnit fix from Shuah Khan:
     "Fix to a missing function parameter warning found during documentation
      build in linux-next"
    
    * tag 'linux_kselftest-kunit-fixes-6.11-rc7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
      kunit: Fix missing kerneldoc comment
    torvalds committed Sep 7, 2024
    Configuration menu
    Copy the full SHA
    b31c449 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'pinctrl-v6.11-3' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/linusw/linux-pinctrl
    
    Pull pin control fix from Linus Walleij:
     "A single fix for Qualcomm laptops that are affected by
      missing wakeup IRQs"
    
    * tag 'pinctrl-v6.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
      pinctrl: qcom: x1e80100: Bypass PDC wakeup parent for now
    torvalds committed Sep 7, 2024
    Configuration menu
    Copy the full SHA
    8727656 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/jejb/scsi
    
    Pull SCSI fix from James Bottomley:
     "Single ufs driver fix quirking around another device spec violation"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      scsi: ufs: ufs-mediatek: Add UFSHCD_QUIRK_BROKEN_LSDBS_CAP
    torvalds committed Sep 7, 2024
    Configuration menu
    Copy the full SHA
    37d4cc6 View commit details
    Browse the repository at this point in the history
  6. Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/clk/linux
    
    Pull clk fixes from Stephen Boyd:
     "A pile of Qualcomm clk driver fixes with two main themes: the alpha
      PLL driver and shared RCGs, and one fix for the Starfive JH7110 SoC.
    
       - The Alpha PLL clk_ops had multiple problems around setting rates.
    
         There are a handful of patches here that fix masks and skip
         enabling the clk from set_rate() when the PLL is disabled. The PLLs
         are crucial to operation of the system as almost all frequencies in
         the system are derived from them.
    
       - Parking shared RCGs at a slow always on clk at registration time
         breaks stuff.
    
         USB host mode can't handle such a slow frequency and the serial
         console gets all garbled when the UART clk is handed over to the
         kernel. There's a few patches that don't use the shared clk_ops for
         the UART clks and another one to skip parking the USB clk at
         registration time.
    
       - The Starfive PLL driver used for the CPU was busted causing cpufreq
         to fail because the clk didn't change to a safe parent during
         set_rate().
    
         The fix is to register a notifier and switch to a safe parent so
         the PLL can change rate in a glitch free manner"
    
    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
      clk: qcom: gcc-sc8280xp: don't use parking clk_ops for QUPs
      clk: starfive: jh7110-sys: Add notifier for PLL0 clock
      clk: qcom: gcc-sm8650: Don't use shared clk_ops for QUPs
      clk: qcom: gcc-sm8550: Don't park the USB RCG at registration time
      clk: qcom: gcc-sm8550: Don't use parking clk_ops for QUPs
      clk: qcom: gcc-x1e80100: Don't use parking clk_ops for QUPs
      clk: qcom: ipq9574: Update the alpha PLL type for GPLLs
      clk: qcom: gcc-x1e80100: Fix USB 0 and 1 PHY GDSC pwrsts flags
      clk: qcom: clk-alpha-pll: Update set_rate for Zonda PLL
      clk: qcom: clk-alpha-pll: Fix zonda set_rate failure when PLL is disabled
      clk: qcom: clk-alpha-pll: Fix the trion pll postdiv set rate API
      clk: qcom: clk-alpha-pll: Fix the pll post div mask
    torvalds committed Sep 7, 2024
    Configuration menu
    Copy the full SHA
    d1f2d51 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2024

  1. Merge tag 'usb-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/gregkh/usb
    
    Pull USB fixes from Greg KH:
     "Here are a handful of small USB fixes for 6.11-rc7. Included in here
      are:
    
       - dwc3 driver fixes for two reported problems
    
       - two typec ucsi driver fixes
    
       - cdns2 controller reset fix
    
      All of these have been in linux-next this week with no reported
      problems"
    
    * tag 'usb-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
      usb: typec: ucsi: Fix cable registration
      usb: typec: ucsi: Fix the partner PD revision
      usb: cdns2: Fix controller reset issue
      usb: dwc3: core: update LC timer as per USB Spec V3.2
      usb: dwc3: Avoid waking up gadget during startxfer
    torvalds committed Sep 8, 2024
    Configuration menu
    Copy the full SHA
    51c4d5f View commit details
    Browse the repository at this point in the history
  2. Merge tag 'char-misc-6.11-rc7' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/gregkh/char-misc
    
    Pull char/misc driver fixes from Greg KH:
     "Here are some small char/misc/other driver fixes for 6.11-rc7. It's
      nothing huge, just a bunch of small fixes of reported problems,
      including:
    
       - lots of tiny iio driver fixes
    
       - nvmem driver fixex
    
       - binder UAF bugfix
    
       - uio driver crash fix
    
       - other small fixes
    
      All of these have been in linux-next this week with no reported
      problems"
    
    * tag 'char-misc-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (21 commits)
      VMCI: Fix use-after-free when removing resource in vmci_resource_remove()
      Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic
      uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind
      misc: keba: Fix sysfs group creation
      dt-bindings: nvmem: Use soc-nvmem node name instead of nvmem
      nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc
      nvmem: u-boot-env: error if NVMEM device is too small
      misc: fastrpc: Fix double free of 'buf' in error path
      binder: fix UAF caused by offsets overwrite
      iio: imu: inv_mpu6050: fix interrupt status read for old buggy chips
      iio: adc: ad7173: fix GPIO device info
      iio: adc: ad7124: fix DT configuration parsing
      iio: adc: ad_sigma_delta: fix irq_flags on irq request
      iio: adc: ads1119: Fix IRQ flags
      iio: fix scale application in iio_convert_raw_to_processed_unlocked
      iio: adc: ad7124: fix config comparison
      iio: adc: ad7124: fix chip ID mismatch
      iio: adc: ad7173: Fix incorrect compatible string
      iio: buffer-dmaengine: fix releasing dma channel on error
      iio: adc: ad7606: remove frstdata check for serial mode
      ...
    torvalds committed Sep 8, 2024
    Configuration menu
    Copy the full SHA
    5dadc1b View commit details
    Browse the repository at this point in the history
  3. Merge tag 'perf_urgent_for_v6.11_rc7' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull perf fixes from Borislav Petkov:
    
     - Fix perf's AUX buffer serialization
    
     - Prevent uninitialized struct members in perf's uprobes handling
    
    * tag 'perf_urgent_for_v6.11_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      perf/aux: Fix AUX buffer serialization
      uprobes: Use kzalloc to allocate xol area
    torvalds committed Sep 8, 2024
    Configuration menu
    Copy the full SHA
    e203988 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'timers_urgent_for_v6.11_rc7' of git://git.kernel.org/pub/s…

    …cm/linux/kernel/git/tip/tip
    
    Pull timer fixes from Borislav Petkov:
    
     - Remove percpu irq related code in the timer-of initialization routine
       as it is broken but also unused (Daniel Lezcano)
    
     - Fix return -ETIME when delta exceeds INT_MAX and the next event not
       taking effect sometimes (Jacky Bai)
    
    * tag 'timers_urgent_for_v6.11_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      clocksource/drivers/imx-tpm: Fix next event not taking effect sometime
      clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX
      clocksource/drivers/timer-of: Remove percpu irq related code
    torvalds committed Sep 8, 2024
    Configuration menu
    Copy the full SHA
    89f5e14 View commit details
    Browse the repository at this point in the history
  5. Linux 6.11-rc7

    torvalds committed Sep 8, 2024
    Configuration menu
    Copy the full SHA
    da3ea35 View commit details
    Browse the repository at this point in the history
  6. riscv: dts: starfive: jh7110-common: Fix lower rate of CPUfreq by set…

    …ting PLL0 rate to 1.5GHz
    
    CPUfreq supports 4 cpu frequency loads on 375/500/750/1500MHz.
    But now PLL0 rate is 1GHz and the cpu frequency loads become
    250/333/500/1000MHz in fact.
    
    The PLL0 rate should be default set to 1.5GHz and set the
    cpu_core rate to 500MHz in safe.
    
    Fixes: e2c510d ("riscv: dts: starfive: Add cpu scaling for JH7110 SoC")
    Signed-off-by: Xingyu Wu <[email protected]>
    Reviewed-by: Hal Feng <[email protected]>
    Signed-off-by: Conor Dooley <[email protected]>
    SFxingyuwu authored and ConchuOD committed Sep 8, 2024
    Configuration menu
    Copy the full SHA
    61f2e8a View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. net: hsr: remove seqnr_lock

    syzbot found a new splat [1].
    
    Instead of adding yet another spin_lock_bh(&hsr->seqnr_lock) /
    spin_unlock_bh(&hsr->seqnr_lock) pair, remove seqnr_lock
    and use atomic_t for hsr->sequence_nr and hsr->sup_sequence_nr.
    
    This also avoid a race in hsr_fill_info().
    
    Also remove interlink_sequence_nr which is unused.
    
    [1]
     WARNING: CPU: 1 PID: 9723 at net/hsr/hsr_forward.c:602 handle_std_frame+0x247/0x2c0 net/hsr/hsr_forward.c:602
    Modules linked in:
    CPU: 1 UID: 0 PID: 9723 Comm: syz.0.1657 Not tainted 6.11.0-rc6-syzkaller-00026-g88fac17500f4 #0
    Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
     RIP: 0010:handle_std_frame+0x247/0x2c0 net/hsr/hsr_forward.c:602
    Code: 49 8d bd b0 01 00 00 be ff ff ff ff e8 e2 58 25 00 31 ff 89 c5 89 c6 e8 47 53 a8 f6 85 ed 0f 85 5a ff ff ff e8 fa 50 a8 f6 90 <0f> 0b 90 e9 4c ff ff ff e8 cc e7 06 f7 e9 8f fe ff ff e8 52 e8 06
    RSP: 0018:ffffc90000598598 EFLAGS: 00010246
    RAX: 0000000000000000 RBX: ffffc90000598670 RCX: ffffffff8ae2c919
    RDX: ffff888024e94880 RSI: ffffffff8ae2c926 RDI: 0000000000000005
    RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000003
    R13: ffff8880627a8cc0 R14: 0000000000000000 R15: ffff888012b03c3a
    FS:  0000000000000000(0000) GS:ffff88802b700000(0063) knlGS:00000000f5696b40
    CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
    CR2: 0000000020010000 CR3: 00000000768b4000 CR4: 0000000000350ef0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    Call Trace:
     <IRQ>
      hsr_fill_frame_info+0x2c8/0x360 net/hsr/hsr_forward.c:630
      fill_frame_info net/hsr/hsr_forward.c:700 [inline]
      hsr_forward_skb+0x7df/0x25c0 net/hsr/hsr_forward.c:715
      hsr_handle_frame+0x603/0x850 net/hsr/hsr_slave.c:70
      __netif_receive_skb_core.constprop.0+0xa3d/0x4330 net/core/dev.c:5555
      __netif_receive_skb_list_core+0x357/0x950 net/core/dev.c:5737
      __netif_receive_skb_list net/core/dev.c:5804 [inline]
      netif_receive_skb_list_internal+0x753/0xda0 net/core/dev.c:5896
      gro_normal_list include/net/gro.h:515 [inline]
      gro_normal_list include/net/gro.h:511 [inline]
      napi_complete_done+0x23f/0x9a0 net/core/dev.c:6247
      gro_cell_poll+0x162/0x210 net/core/gro_cells.c:66
      __napi_poll.constprop.0+0xb7/0x550 net/core/dev.c:6772
      napi_poll net/core/dev.c:6841 [inline]
      net_rx_action+0xa92/0x1010 net/core/dev.c:6963
      handle_softirqs+0x216/0x8f0 kernel/softirq.c:554
      do_softirq kernel/softirq.c:455 [inline]
      do_softirq+0xb2/0xf0 kernel/softirq.c:442
     </IRQ>
     <TASK>
    
    Fixes: 06afd2c ("hsr: Synchronize sending frames to have always incremented outgoing seq nr.")
    Fixes: f421436 ("net/hsr: Add support for the High-availability Seamless Redundancy protocol (HSRv0)")
    Reported-by: syzbot <[email protected]>
    Signed-off-by: Eric Dumazet <[email protected]>
    Cc: Sebastian Andrzej Siewior <[email protected]>
    Reviewed-by: Simon Horman <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Eric Dumazet authored and davem330 committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    b3c9e65 View commit details
    Browse the repository at this point in the history
  2. dma-buf: heaps: Fix off-by-one in CMA heap fault handler

    Until VM_DONTEXPAND was added in commit 1c1914d ("dma-buf: heaps:
    Don't track CMA dma-buf pages under RssFile") it was possible to obtain
    a mapping larger than the buffer size via mremap and bypass the overflow
    check in dma_buf_mmap_internal. When using such a mapping to attempt to
    fault past the end of the buffer, the CMA heap fault handler also checks
    the fault offset against the buffer size, but gets the boundary wrong by
    1. Fix the boundary check so that we don't read off the end of the pages
    array and insert an arbitrary page in the mapping.
    
    Reported-by: Xingyu Jin <[email protected]>
    Fixes: a5d2d29 ("dma-buf: heaps: Move heap-helper logic into the cma_heap implementation")
    Cc: [email protected] # Applicable >= 5.10. Needs adjustments only for 5.10.
    Signed-off-by: T.J. Mercier <[email protected]>
    Acked-by: John Stultz <[email protected]>
    Signed-off-by: Sumit Semwal <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    T.J. Mercier authored and sumitsemwal committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    ea5ff5d View commit details
    Browse the repository at this point in the history
  3. ASoC: tas2781: fix to save the dsp bin file name into the correct arr…

    …ay in case name_prefix is not NULL
    
    fix to save the dsp bin file name into the correct array, coef_binaryname,
    instead of rca_binaryname, in case name_prefix is not NULL.
    
    Signed-off-by: Shenghao Ding <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Shenghao-Ding authored and broonie committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    af5e317 View commit details
    Browse the repository at this point in the history
  4. spi: geni-qcom: Undo runtime PM changes at driver exit time

    It's important to undo pm_runtime_use_autosuspend() with
    pm_runtime_dont_use_autosuspend() at driver exit time unless driver
    initially enabled pm_runtime with devm_pm_runtime_enable()
    (which handles it for you).
    
    Hence, switch to devm_pm_runtime_enable() to fix it, so the
    pm_runtime_disable() in probe error path and remove function
    can be removed.
    
    Fixes: cfdab2c ("spi: spi-geni-qcom: Set an autosuspend delay of 250 ms")
    Signed-off-by: Jinjie Ruan <[email protected]>
    Suggested-by: Dmitry Baryshkov <[email protected]>
    Reviewed-by: Dmitry Baryshkov <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Jinjie Ruan authored and broonie committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    89e362c View commit details
    Browse the repository at this point in the history
  5. spi: geni-qcom: Fix incorrect free_irq() sequence

    In spi_geni_remove(), the free_irq() sequence is different from that
    on the probe error path. And the IRQ will still remain and it's interrupt
    handler may use the dma channel after release dma channel and before free
    irq, which is not secure, fix it.
    
    Fixes: b59c122 ("spi: spi-geni-qcom: Add support for GPI dma")
    Signed-off-by: Jinjie Ruan <[email protected]>
    Reviewed-by: Dmitry Baryshkov <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Jinjie Ruan authored and broonie committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    b787a33 View commit details
    Browse the repository at this point in the history
  6. bcachefs: Fix ca->io_ref usage

    ca->io_ref does not protect against the filesystem going way,
    c->write_ref does. Much like
    
    0b50b73 bcachefs: Fix refcounting in discard path
    
    the other async paths need fixing.
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    5a6e43a View commit details
    Browse the repository at this point in the history
  7. bcachefs: Add a cond_resched() to __journal_keys_sort()

    Without this, we'd potentially sort multiple times without a
    cond_resched(), leading to hung task warnings on larger systems.
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    ec36573 View commit details
    Browse the repository at this point in the history
  8. bcachefs: Simplify bch2_bkey_drop_ptrs()

    bch2_bkey_drop_ptrs() had a some complicated machinery for avoiding
    O(n^2) when dropping multiple pointers - but when n is only going to be
    ~4, it's not worth it.
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    df88feb View commit details
    Browse the repository at this point in the history
  9. bcachefs: More BCH_SB_MEMBER_INVALID support

    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    52df04f View commit details
    Browse the repository at this point in the history
  10. bcachefs: fix btree_key_cache sysfs knob

    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    2c377d8 View commit details
    Browse the repository at this point in the history
  11. bcachefs: Don't delete open files in online fsck

    If a file is unlinked but still open, we don't want online fsck to
    delete it - or fun inconsistencies will happen.
    
    koverstreet/bcachefs#727
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    1600514 View commit details
    Browse the repository at this point in the history
  12. printk: Export match_devname_and_update_preferred_console()

    When building serial_base as a module, modpost fails with the following
    error message:
    
      ERROR: modpost: "match_devname_and_update_preferred_console"
      [drivers/tty/serial/serial_base.ko] undefined!
    
    Export the symbol to allow using it from modules.
    
    Reported-by: kernel test robot <[email protected]>
    Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
    Fixes: 12c91ce ("serial: core: Add serial_base_match_and_update_preferred_console()")
    Signed-off-by: Yu Liao <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Petr Mladek <[email protected]>
    yuliao0214 authored and pmladek committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    3e5b2e8 View commit details
    Browse the repository at this point in the history
  13. Merge tag 'hyperv-fixes-signed-20240908' of git://git.kernel.org/pub/…

    …scm/linux/kernel/git/hyperv/linux
    
    Pull hyperv fixes from Wei Liu:
    
     - Add a documentation overview of Confidential Computing VM support
       (Michael Kelley)
    
     - Use lapic timer in a TDX VM without paravisor (Dexuan Cui)
    
     - Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency
       (Michael Kelley)
    
     - Fix a kexec crash due to VP assist page corruption (Anirudh
       Rayabharam)
    
     - Python3 compatibility fix for lsvmbus (Anthony Nandaa)
    
     - Misc fixes (Rachel Menge, Roman Kisel, zhang jiao, Hongbo Li)
    
    * tag 'hyperv-fixes-signed-20240908' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
      hv: vmbus: Constify struct kobj_type and struct attribute_group
      tools: hv: rm .*.cmd when make clean
      x86/hyperv: fix kexec crash due to VP assist page corruption
      Drivers: hv: vmbus: Fix the misplaced function description
      tools: hv: lsvmbus: change shebang to use python3
      x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency
      Documentation: hyperv: Add overview of Confidential Computing VM support
      clocksource: hyper-v: Use lapic timer in a TDX VM without paravisor
      Drivers: hv: Remove deprecated hv_fcopy declarations
    torvalds committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    fb92a1f View commit details
    Browse the repository at this point in the history
  14. Merge tag 'bcachefs-2024-09-09' of git://evilpiepirate.org/bcachefs

    Pull bcachefs fixes from Kent Overstreet:
    
     - fix ca->io_ref usage; analagous to previous patch doing that for main
       discard path
    
     - cond_resched() in __journal_keys_sort(), cutting down on "hung task"
       warnings when journal is big
    
     - rest of basic BCH_SB_MEMBER_INVALID support
    
     - and the critical one: don't delete open files in online fsck, this
       was causing the "dirent points to inode that doesn't point back"
       inconsistencies some users were seeing
    
    * tag 'bcachefs-2024-09-09' of git://evilpiepirate.org/bcachefs:
      bcachefs: Don't delete open files in online fsck
      bcachefs: fix btree_key_cache sysfs knob
      bcachefs: More BCH_SB_MEMBER_INVALID support
      bcachefs: Simplify bch2_bkey_drop_ptrs()
      bcachefs: Add a cond_resched() to __journal_keys_sort()
      bcachefs: Fix ca->io_ref usage
    torvalds committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    bc83b4d View commit details
    Browse the repository at this point in the history
  15. platform/x86: panasonic-laptop: Fix SINF array out of bounds accesses

    The panasonic laptop code in various places uses the SINF array with index
    values of 0 - SINF_CUR_BRIGHT(0x0d) without checking that the SINF array
    is big enough.
    
    Not all panasonic laptops have this many SINF array entries, for example
    the Toughbook CF-18 model only has 10 SINF array entries. So it only
    supports the AC+DC brightness entries and mute.
    
    Check that the SINF array has a minimum size which covers all AC+DC
    brightness entries and refuse to load if the SINF array is smaller.
    
    For higher SINF indexes hide the sysfs attributes when the SINF array
    does not contain an entry for that attribute, avoiding show()/store()
    accessing the array out of bounds and add bounds checking to the probe()
    and resume() code accessing these.
    
    Fixes: e424fb8 ("panasonic-laptop: avoid overflow in acpi_pcc_hotkey_add()")
    Cc: [email protected]
    Signed-off-by: Hans de Goede <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Ilpo Järvinen <[email protected]>
    Signed-off-by: Ilpo Järvinen <[email protected]>
    jwrdegoede authored and ij-intel committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    f52e98d View commit details
    Browse the repository at this point in the history
  16. platform/x86: panasonic-laptop: Allocate 1 entry extra in the sinf array

    Some DSDT-s have an off-by-one bug where the SINF package count is
    one higher than the SQTY reported value, allocate 1 entry extra.
    
    Also make the SQTY <-> SINF package count mismatch error more verbose
    to help debugging similar issues in the future.
    
    This fixes the panasonic-laptop driver failing to probe() on some
    devices with the following errors:
    
    [    3.958887] SQTY reports bad SINF length SQTY: 37 SINF-pkg-count: 38
    [    3.958892] Couldn't retrieve BIOS data
    [    3.983685] Panasonic Laptop Support - With Macros: probe of MAT0019:00 failed with error -5
    
    Fixes: 709ee53 ("panasonic-laptop: add Panasonic Let's Note laptop extras driver v0.94")
    Cc: [email protected]
    Tested-by: James Harmison <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Ilpo Järvinen <[email protected]>
    Signed-off-by: Ilpo Järvinen <[email protected]>
    jwrdegoede authored and ij-intel committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    33297ce View commit details
    Browse the repository at this point in the history
  17. hwmon: (pmbus) Conditionally clear individual status bits for pmbus r…

    …ev >= 1.2
    
    The current implementation of pmbus_show_boolean assumes that all devices
    support write-back operation of status register to clear pending warnings
    or faults. Since clearing individual bits in the status registers was only
    introduced in PMBus specification 1.2, this operation may not be supported
    by some older devices. This can result in an error while reading boolean
    attributes such as temp1_max_alarm.
    
    Fetch PMBus revision supported by the device and modify pmbus_show_boolean
    so that it only tries to clear individual status bits if the device is
    compliant with PMBus specs >= 1.2. Otherwise clear all fault indicators
    on the current page after a fault status was reported.
    
    Fixes: 35f165f ("hwmon: (pmbus) Clear pmbus fault/warning bits after read")
    Signed-off-by: Patryk Biel <[email protected]>
    Message-ID: <[email protected]>
    [groeck:
     Rewrote description
     Moved revision detection code ahead of clear faults command
     Assigned revision if return value from PMBUS_REVISION command is 0
     Improved return value check from calling _pmbus_write_byte_data()]
    Signed-off-by: Guenter Roeck <[email protected]>
    pblxptr authored and groeck committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    2047107 View commit details
    Browse the repository at this point in the history
  18. ice: Fix lldp packets dropping after changing the number of channels

    After vsi setup refactor commit 6624e78 ("ice: split ice_vsi_setup
    into smaller functions") ice_cfg_sw_lldp function which removes rx rule
    directing LLDP packets to vsi is moved from ice_vsi_release to
    ice_vsi_decfg function. ice_vsi_decfg is used in more cases than just in
    vsi_release resulting in unnecessary removal of rx lldp packets handling
    switch rule. This leads to lldp packets being dropped after a change number
    of channels via ethtool.
    This patch moves ice_cfg_sw_lldp function that removes rx lldp sw rule back
    to ice_vsi_release function.
    
    Fixes: 6624e78 ("ice: split ice_vsi_setup into smaller functions")
    Reported-by: Matěj Grégr <[email protected]>
    Closes: https://lore.kernel.org/intel-wired-lan/[email protected]/T/#u
    Reviewed-by: Przemek Kitszel <[email protected]>
    Signed-off-by: Martyna Szapar-Mudlaw <[email protected]>
    Tested-by: Pucha Himasekhar Reddy <[email protected]> (A Contingent worker at Intel)
    Signed-off-by: Tony Nguyen <[email protected]>
    Martyna Szapar-Mudlaw authored and anguy11 committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    9debb70 View commit details
    Browse the repository at this point in the history
  19. ice: fix accounting for filters shared by multiple VSIs

    When adding a switch filter (such as a MAC or VLAN filter), it is expected
    that the driver will detect the case where the filter already exists, and
    return -EEXIST. This is used by calling code such as ice_vc_add_mac_addr,
    and ice_vsi_add_vlan to avoid incrementing the accounting fields such as
    vsi->num_vlan or vf->num_mac.
    
    This logic works correctly for the case where only a single VSI has added a
    given switch filter.
    
    When a second VSI adds the same switch filter, the driver converts the
    existing filter from an ICE_FWD_TO_VSI filter into an ICE_FWD_TO_VSI_LIST
    filter. This saves switch resources, by ensuring that multiple VSIs can
    re-use the same filter.
    
    The ice_add_update_vsi_list() function is responsible for doing this
    conversion. When first converting a filter from the FWD_TO_VSI into
    FWD_TO_VSI_LIST, it checks if the VSI being added is the same as the
    existing rule's VSI. In such a case it returns -EEXIST.
    
    However, when the switch rule has already been converted to a
    FWD_TO_VSI_LIST, the logic is different. Adding a new VSI in this case just
    requires extending the VSI list entry. The logic for checking if the rule
    already exists in this case returns 0 instead of -EEXIST.
    
    This breaks the accounting logic mentioned above, so the counters for how
    many MAC and VLAN filters exist for a given VF or VSI no longer accurately
    reflect the actual count. This breaks other code which relies on these
    counts.
    
    In typical usage this primarily affects such filters generally shared by
    multiple VSIs such as VLAN 0, or broadcast and multicast MAC addresses.
    
    Fix this by correctly reporting -EEXIST in the case of adding the same VSI
    to a switch rule already converted to ICE_FWD_TO_VSI_LIST.
    
    Fixes: 9daf820 ("ice: Add support for switch filter programming")
    Signed-off-by: Jacob Keller <[email protected]>
    Tested-by: Rafal Romanowski <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    jacob-keller authored and anguy11 committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    e843cf7 View commit details
    Browse the repository at this point in the history
  20. ice: stop calling pci_disable_device() as we use pcim

    Our driver uses devres to manage resources, in particular we call
    pcim_enable_device(), what also means we express the intent to get
    automatic pci_disable_device() call at driver removal. Manual calls to
    pci_disable_device() misuse the API.
    
    Recent commit (see "Fixes" tag) has changed the removal action from
    conditional (silent ignore of double call to pci_disable_device()) to
    unconditional, but able to catch unwanted redundant calls; see cited
    "Fixes" commit for details.
    
    Since that, unloading the driver yields following warn+splat:
    
    [70633.628490] ice 0000:af:00.7: disabling already-disabled device
    [70633.628512] WARNING: CPU: 52 PID: 33890 at drivers/pci/pci.c:2250 pci_disable_device+0xf4/0x100
    ...
    [70633.628744]  ? pci_disable_device+0xf4/0x100
    [70633.628752]  release_nodes+0x4a/0x70
    [70633.628759]  devres_release_all+0x8b/0xc0
    [70633.628768]  device_unbind_cleanup+0xe/0x70
    [70633.628774]  device_release_driver_internal+0x208/0x250
    [70633.628781]  driver_detach+0x47/0x90
    [70633.628786]  bus_remove_driver+0x80/0x100
    [70633.628791]  pci_unregister_driver+0x2a/0xb0
    [70633.628799]  ice_module_exit+0x11/0x3a [ice]
    
    Note that this is the only Intel ethernet driver that needs such fix.
    
    Fixes: f748a07 ("PCI: Remove legacy pcim_release()")
    Reviewed-by: Larysa Zaremba <[email protected]>
    Reviewed-by: Philipp Stanner <[email protected]>
    Signed-off-by: Przemek Kitszel <[email protected]>
    Tested-by: Pucha Himasekhar Reddy <[email protected]> (A Contingent worker at Intel)
    Signed-off-by: Tony Nguyen <[email protected]>
    pkitszel authored and anguy11 committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    e6501fc View commit details
    Browse the repository at this point in the history
  21. ice: fix VSI lists confusion when adding VLANs

    The description of function ice_find_vsi_list_entry says:
      Search VSI list map with VSI count 1
    
    However, since the blamed commit (see Fixes below), the function no
    longer checks vsi_count. This causes a problem in ice_add_vlan_internal,
    where the decision to share VSI lists between filter rules relies on the
    vsi_count of the found existing VSI list being 1.
    
    The reproducing steps:
    1. Have a PF and two VFs.
       There will be a filter rule for VLAN 0, referring to a VSI list
       containing VSIs: 0 (PF), 2 (VF#0), 3 (VF#1).
    2. Add VLAN 1234 to VF#0.
       ice will make the wrong decision to share the VSI list with the new
       rule. The wrong behavior may not be immediately apparent, but it can
       be observed with debug prints.
    3. Add VLAN 1234 to VF#1.
       ice will unshare the VSI list for the VLAN 1234 rule. Due to the
       earlier bad decision, the newly created VSI list will contain
       VSIs 0 (PF) and 3 (VF#1), instead of expected 2 (VF#0) and 3 (VF#1).
    4. Try pinging a network peer over the VLAN interface on VF#0.
       This fails.
    
    Reproducer script at:
    https://gitlab.com/mschmidt2/repro/-/blob/master/RHEL-46814/test-vlan-vsi-list-confusion.sh
    Commented debug trace:
    https://gitlab.com/mschmidt2/repro/-/blob/master/RHEL-46814/ice-vlan-vsi-lists-debug.txt
    Patch adding the debug prints:
    https://gitlab.com/mschmidt2/linux/-/commit/f8a8814623944a45091a77c6094c40bfe726bfdb
    (Unsafe, by the way. Lacks rule_lock when dumping in ice_remove_vlan.)
    
    Michal Swiatkowski added to the explanation that the bug is caused by
    reusing a VSI list created for VLAN 0. All created VFs' VSIs are added
    to VLAN 0 filter. When a non-zero VLAN is created on a VF which is already
    in VLAN 0 (normal case), the VSI list from VLAN 0 is reused.
    It leads to a problem because all VFs (VSIs to be specific) that are
    subscribed to VLAN 0 will now receive a new VLAN tag traffic. This is
    one bug, another is the bug described above. Removing filters from
    one VF will remove VLAN filter from the previous VF. It happens a VF is
    reset. Example:
    - creation of 3 VFs
    - we have VSI list (used for VLAN 0) [0 (pf), 2 (vf1), 3 (vf2), 4 (vf3)]
    - we are adding VLAN 100 on VF1, we are reusing the previous list
      because 2 is there
    - VLAN traffic works fine, but VLAN 100 tagged traffic can be received
      on all VSIs from the list (for example broadcast or unicast)
    - trust is turning on VF2, VF2 is resetting, all filters from VF2 are
      removed; the VLAN 100 filter is also removed because 3 is on the list
    - VLAN traffic to VF1 isn't working anymore, there is a need to recreate
      VLAN interface to readd VLAN filter
    
    One thing I'm not certain about is the implications for the LAG feature,
    which is another caller of ice_find_vsi_list_entry. I don't have a
    LAG-capable card at hand to test.
    
    Fixes: 23ccae5 ("ice: changes to the interface with the HW and FW for SRIOV_VF+LAG")
    Reviewed-by: Michal Swiatkowski <[email protected]>
    Signed-off-by: Michal Schmidt <[email protected]>
    Reviewed-by: Dave Ertman <[email protected]>
    Tested-by: Rafal Romanowski <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    michich authored and anguy11 committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    d294000 View commit details
    Browse the repository at this point in the history
  22. igb: Always call igb_xdp_ring_update_tail() under Tx lock

    Always call igb_xdp_ring_update_tail() under __netif_tx_lock, add a comment
    and lockdep assert to indicate that. This is needed to share the same TX
    ring between XDP, XSK and slow paths. Furthermore, the current XDP
    implementation is racy on tail updates.
    
    Fixes: 9cbc948 ("igb: add XDP support")
    Signed-off-by: Sriram Yagnaraman <[email protected]>
    [Kurt: Add lockdep assert and fixes tag]
    Signed-off-by: Kurt Kanzenbach <[email protected]>
    Acked-by: Maciej Fijalkowski <[email protected]>
    Tested-by: George Kuruvinakunnel <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    sriramy authored and anguy11 committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    27717f8 View commit details
    Browse the repository at this point in the history
  23. net/mlx5: Update the list of the PCI supported devices

    Add the upcoming ConnectX-9 device ID to the table of supported
    PCI device IDs.
    
    Fixes: f908a35 ("net/mlx5: Update the list of the PCI supported devices")
    Signed-off-by: Maher Sanalla <[email protected]>
    Reviewed-by: Tariq Toukan <[email protected]>
    Signed-off-by: Saeed Mahameed <[email protected]>
    msanalla authored and Saeed Mahameed committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    7472d15 View commit details
    Browse the repository at this point in the history
  24. net/mlx5e: Add missing link modes to ptys2ethtool_map

    Add MLX5E_1000BASE_T and MLX5E_100BASE_TX to the legacy
    modes in ptys2legacy_ethtool_table, since they were missing.
    
    Fixes: 665bc53 ("net/mlx5e: Use new ethtool get/set link ksettings API")
    Signed-off-by: Shahar Shitrit <[email protected]>
    Reviewed-by: Tariq Toukan <[email protected]>
    Reviewed-by: Carolina Jubran <[email protected]>
    Signed-off-by: Saeed Mahameed <[email protected]>
    Shahar Shitrit authored and Saeed Mahameed committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    7617d62 View commit details
    Browse the repository at this point in the history
  25. net/mlx5e: Add missing link mode to ptys2ext_ethtool_map

    Add MLX5E_400GAUI_8_400GBASE_CR8 to the extended modes
    in ptys2ext_ethtool_table, since it was missing.
    
    Fixes: 6a89737 ("net/mlx5: ethtool, Add ethtool support for 50Gbps per lane link modes")
    Signed-off-by: Shahar Shitrit <[email protected]>
    Reviewed-by: Tariq Toukan <[email protected]>
    Reviewed-by: Carolina Jubran <[email protected]>
    Signed-off-by: Saeed Mahameed <[email protected]>
    Shahar Shitrit authored and Saeed Mahameed committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    80bf474 View commit details
    Browse the repository at this point in the history
  26. net/mlx5: Explicitly set scheduling element and TSAR type

    Ensure the scheduling element type and TSAR type are explicitly
    initialized in the QoS rate group creation.
    
    This prevents potential issues due to default values.
    
    Fixes: 1ae258f ("net/mlx5: E-switch, Introduce rate limiting groups API")
    Signed-off-by: Carolina Jubran <[email protected]>
    Reviewed-by: Cosmin Ratiu <[email protected]>
    Signed-off-by: Saeed Mahameed <[email protected]>
    cjubran authored and Saeed Mahameed committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    c88146a View commit details
    Browse the repository at this point in the history
  27. net/mlx5: Add missing masks and QoS bit masks for scheduling elements

    Add the missing masks for supported element types and Transmit
    Scheduling Arbiter (TSAR) types in scheduling elements.
    
    Also, add the corresponding bit masks for these types in the QoS
    capabilities of a NIC scheduler.
    
    Fixes: 214baf2 ("net/mlx5e: Support HTB offload")
    Signed-off-by: Carolina Jubran <[email protected]>
    Reviewed-by: Cosmin Ratiu <[email protected]>
    Signed-off-by: Saeed Mahameed <[email protected]>
    cjubran authored and Saeed Mahameed committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    452ef7f View commit details
    Browse the repository at this point in the history
  28. net/mlx5: Verify support for scheduling element and TSAR type

    Before creating a scheduling element in a NIC or E-Switch scheduler,
    ensure that the requested element type is supported. If the element is
    of type Transmit Scheduling Arbiter (TSAR), also verify that the
    specific TSAR type is supported.
    
    Fixes: 214baf2 ("net/mlx5e: Support HTB offload")
    Fixes: 85c5f7c ("net/mlx5: E-switch, Create QoS on demand")
    Fixes: 0fe132e ("net/mlx5: E-switch, Allow to add vports to rate groups")
    Signed-off-by: Carolina Jubran <[email protected]>
    Reviewed-by: Cosmin Ratiu <[email protected]>
    Signed-off-by: Saeed Mahameed <[email protected]>
    cjubran authored and Saeed Mahameed committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    861cd9b View commit details
    Browse the repository at this point in the history
  29. net/mlx5: Fix bridge mode operations when there are no VFs

    Currently, trying to set the bridge mode attribute when numvfs=0 leads to a
    crash:
    
    bridge link set dev eth2 hwmode vepa
    
    [  168.967392] BUG: kernel NULL pointer dereference, address: 0000000000000030
    [...]
    [  168.969989] RIP: 0010:mlx5_add_flow_rules+0x1f/0x300 [mlx5_core]
    [...]
    [  168.976037] Call Trace:
    [  168.976188]  <TASK>
    [  168.978620]  _mlx5_eswitch_set_vepa_locked+0x113/0x230 [mlx5_core]
    [  168.979074]  mlx5_eswitch_set_vepa+0x7f/0xa0 [mlx5_core]
    [  168.979471]  rtnl_bridge_setlink+0xe9/0x1f0
    [  168.979714]  rtnetlink_rcv_msg+0x159/0x400
    [  168.980451]  netlink_rcv_skb+0x54/0x100
    [  168.980675]  netlink_unicast+0x241/0x360
    [  168.980918]  netlink_sendmsg+0x1f6/0x430
    [  168.981162]  ____sys_sendmsg+0x3bb/0x3f0
    [  168.982155]  ___sys_sendmsg+0x88/0xd0
    [  168.985036]  __sys_sendmsg+0x59/0xa0
    [  168.985477]  do_syscall_64+0x79/0x150
    [  168.987273]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
    [  168.987773] RIP: 0033:0x7f8f7950f917
    
    (esw->fdb_table.legacy.vepa_fdb is null)
    
    The bridge mode is only relevant when there are multiple functions per
    port. Therefore, prevent setting and getting this setting when there are no
    VFs.
    
    Note that after this change, there are no settings to change on the PF
    interface using `bridge link` when there are no VFs, so the interface no
    longer appears in the `bridge link` output.
    
    Fixes: 4b89251 ("net/mlx5: Support ndo bridge_setlink and getlink")
    Signed-off-by: Benjamin Poirier <[email protected]>
    Reviewed-by: Cosmin Ratiu <[email protected]>
    Signed-off-by: Saeed Mahameed <[email protected]>
    gobenji authored and Saeed Mahameed committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    b1d305a View commit details
    Browse the repository at this point in the history
  30. tracing/osnoise: Fix build when timerlat is not enabled

    To fix some critical section races, the interface_lock was added to a few
    locations. One of those locations was above where the interface_lock was
    declared, so the declaration was moved up before that usage.
    Unfortunately, where it was placed was inside a CONFIG_TIMERLAT_TRACER
    ifdef block. As the interface_lock is used outside that config, this broke
    the build when CONFIG_OSNOISE_TRACER was enabled but
    CONFIG_TIMERLAT_TRACER was not.
    
    Cc: Masami Hiramatsu <[email protected]>
    Cc: Mathieu Desnoyers <[email protected]>
    Cc: "Helena Anna" <[email protected]>
    Cc: "Luis Claudio R. Goncalves" <[email protected]>
    Cc: Tomas Glozar <[email protected]>
    Link: https://lore.kernel.org/[email protected]
    Fixes: e6a5348 ("tracing/timerlat: Only clear timer if a kthread exists")
    Reported-by: "Bityutskiy, Artem" <[email protected]>
    Signed-off-by: Steven Rostedt (Google) <[email protected]>
    rostedt committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    af17814 View commit details
    Browse the repository at this point in the history
  31. tracing: Drop unused helper function to fix the build

    A helper function defined but not used. This, in particular,
    prevents kernel builds with clang, `make W=1` and CONFIG_WERROR=y:
    
    kernel/trace/trace.c:2229:19: error: unused function 'run_tracer_selftest' [-Werror,-Wunused-function]
     2229 | static inline int run_tracer_selftest(struct tracer *type)
          |                   ^~~~~~~~~~~~~~~~~~~
    
    Fix this by dropping unused functions.
    
    See also commit 6863f56 ("kbuild: allow Clang to find unused static
    inline functions for W=1 build").
    
    Cc: Masami Hiramatsu <[email protected]>
    Cc: Mathieu Desnoyers <[email protected]>
    Cc: Nathan Chancellor <[email protected]>
    Cc: Nick Desaulniers <[email protected]>
    Cc: Bill Wendling <[email protected]>
    Cc: Justin Stitt <[email protected]>
    Link: https://lore.kernel.org/[email protected]
    Signed-off-by: Andy Shevchenko <[email protected]>
    Signed-off-by: Steven Rostedt (Google) <[email protected]>
    andy-shev authored and rostedt committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    4e37815 View commit details
    Browse the repository at this point in the history
  32. clk: qcom: clk-alpha-pll: Simplify the zonda_pll_adjust_l_val()

    In zonda_pll_adjust_l_val() replace the divide operator with comparison
    operator to fix below build error and smatch warning.
    
    drivers/clk/qcom/clk-alpha-pll.o: In function `clk_zonda_pll_set_rate':
    clk-alpha-pll.c:(.text+0x45dc): undefined reference to `__aeabi_uldivmod'
    
    smatch warnings:
    drivers/clk/qcom/clk-alpha-pll.c:2129 zonda_pll_adjust_l_val() warn: replace
    divide condition '(remainder * 2) / prate' with '(remainder * 2) >= prate'
    
    Fixes: f497313 ("clk: qcom: clk-alpha-pll: Update set_rate for Zonda PLL")
    Reported-by: Jon Hunter <[email protected]>
    Reported-by: kernel test robot <[email protected]>
    Reported-by: Dan Carpenter <[email protected]>
    Closes: https://lore.kernel.org/r/[email protected]/
    Signed-off-by: Satya Priya Kakitapalli <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Vladimir Zapolskiy <[email protected]>
    Tested-by: Jon Hunter <[email protected]>
    Signed-off-by: Stephen Boyd <[email protected]>
    Satya Priya Kakitapalli authored and bebarino committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    a4d89b1 View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2024

  1. fou: fix initialization of grc

    The grc must be initialize first. There can be a condition where if
    fou is NULL, goto out will be executed and grc would be used
    uninitialized.
    
    Fixes: 7e41969 ("fou: Fix null-ptr-deref in GRO.")
    Signed-off-by: Muhammad Usama Anjum <[email protected]>
    Reviewed-by: Kuniyuki Iwashima <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    musamaanjum authored and kuba-moo committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    4c80022 View commit details
    Browse the repository at this point in the history
  2. drm/i915/guc: prevent a possible int overflow in wq offsets

    It may be possible for the sum of the values derived from
    i915_ggtt_offset() and __get_parent_scratch_offset()/
    i915_ggtt_offset() to go over the u32 limit before being assigned
    to wq offsets of u64 type.
    
    Mitigate these issues by expanding one of the right operands
    to u64 to avoid any overflow issues just in case.
    
    Found by Linux Verification Center (linuxtesting.org) with static
    analysis tool SVACE.
    
    Fixes: c2aa552 ("drm/i915/guc: Add multi-lrc context registration")
    Cc: Matthew Brost <[email protected]>
    Cc: John Harrison <[email protected]>
    Signed-off-by: Nikita Zhandarovich <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Reviewed-by: Rodrigo Vivi <[email protected]>
    Signed-off-by: Rodrigo Vivi <[email protected]>
    (cherry picked from commit 1f1c1bd)
    Signed-off-by: Tvrtko Ursulin <[email protected]>
    Nikita Zhandarovich authored and tursulin committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    d3d37f7 View commit details
    Browse the repository at this point in the history
  3. octeontx2-af: Modify SMQ flush sequence to drop packets

    The current implementation of SMQ flush sequence waits for the packets
    in the TM pipeline to be transmitted out of the link. This sequence
    doesn't succeed in HW when there is any issue with link such as lack of
    link credits, link down or any other traffic that is fully occupying the
    link bandwidth (QoS). This patch modifies the SMQ flush sequence to
    drop the packets after TL1 level (SQM) instead of polling for the packets
    to be sent out of RPM/CGX link.
    
    Fixes: 5d9b976 ("octeontx2-af: Support fixed transmit scheduler topology")
    Signed-off-by: Naveen Mamindlapalli <[email protected]>
    Reviewed-by: Sunil Kovvuri Goutham <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    Naveen Mamindlapalli authored and Paolo Abeni committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    019aba0 View commit details
    Browse the repository at this point in the history
  4. drm/nouveau/fb: restore init() for ramgp102

    init() was removed from ramgp102 when reworking the memory detection, as
    it was thought that the code was only necessary when the driver performs
    mclk changes, which nouveau doesn't support on pascal.
    
    However, it turns out that we still need to execute this on some GPUs to
    restore settings after DEVINIT, so revert to the original behaviour.
    
    v2: fix tags in commit message, cc stable
    
    Closes: https://gitlab.freedesktop.org/drm/nouveau/-/issues/319
    Fixes: 2c0c15a ("drm/nouveau/fb/gp102-ga100: switch to simpler vram size detection method")
    Cc: [email protected] # 6.6+
    Signed-off-by: Ben Skeggs <[email protected]>
    Signed-off-by: Danilo Krummrich <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Ben Skeggs authored and Danilo Krummrich committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    6db9df4 View commit details
    Browse the repository at this point in the history
  5. net: ftgmac100: Enable TX interrupt to avoid TX timeout

    Currently, the driver only enables RX interrupt to handle RX
    packets and TX resources. Sometimes there is not RX traffic,
    so the TX resource needs to wait for RX interrupt to free.
    This situation will toggle the TX timeout watchdog when the MAC
    TX ring has no more resources to transmit packets.
    Therefore, enable TX interrupt to release TX resources at any time.
    
    When I am verifying iperf3 over UDP, the network hangs.
    Like the log below.
    
    root# iperf3 -c 192.168.100.100 -i1 -t10 -u -b0
    Connecting to host 192.168.100.100, port 5201
    [  4] local 192.168.100.101 port 35773 connected to 192.168.100.100 port 5201
    [ ID] Interval           Transfer     Bandwidth       Total Datagrams
    [  4]   0.00-20.42  sec   160 KBytes  64.2 Kbits/sec  20
    [  4]  20.42-20.42  sec  0.00 Bytes  0.00 bits/sec  0
    [  4]  20.42-20.42  sec  0.00 Bytes  0.00 bits/sec  0
    [  4]  20.42-20.42  sec  0.00 Bytes  0.00 bits/sec  0
    [  4]  20.42-20.42  sec  0.00 Bytes  0.00 bits/sec  0
    [  4]  20.42-20.42  sec  0.00 Bytes  0.00 bits/sec  0
    [  4]  20.42-20.42  sec  0.00 Bytes  0.00 bits/sec  0
    [  4]  20.42-20.42  sec  0.00 Bytes  0.00 bits/sec  0
    [  4]  20.42-20.42  sec  0.00 Bytes  0.00 bits/sec  0
    [  4]  20.42-20.42  sec  0.00 Bytes  0.00 bits/sec  0
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval          Transfer    Bandwidth      Jitter   Lost/Total Datagrams
    [  4]   0.00-20.42  sec  160 KBytes 64.2 Kbits/sec 0.000 ms 0/20 (0%)
    [  4] Sent 20 datagrams
    iperf3: error - the server has terminated
    
    The network topology is FTGMAC connects directly to a PC.
    UDP does not need to wait for ACK, unlike TCP.
    Therefore, FTGMAC needs to enable TX interrupt to release TX resources instead
    of waiting for the RX interrupt.
    
    Fixes: 10cbd64 ("ftgmac100: Rework NAPI & interrupts handling")
    Signed-off-by: Jacky Chou <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    aspeedJacky authored and Paolo Abeni committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    fef2843 View commit details
    Browse the repository at this point in the history
  6. drm/stm: add COMMON_CLK dependency

    The added lvds driver and a change in the dsi driver resulted in failed
    builds when COMMON_CLK is disabled:
    
    x86_64-linux-ld: drivers/gpu/drm/stm/dw_mipi_dsi-stm.o: in function `dw_mipi_dsi_stm_remove':
    dw_mipi_dsi-stm.c:(.text+0x51e): undefined reference to `clk_hw_unregister'
    
    x86_64-linux-ld: drivers/gpu/drm/stm/lvds.o: in function `lvds_remove':
    lvds.c:(.text+0xe3): undefined reference to `of_clk_del_provider'
    x86_64-linux-ld: lvds.c:(.text+0xec): undefined reference to `clk_hw_unregister'
    x86_64-linux-ld: drivers/gpu/drm/stm/lvds.o: in function `lvds_pll_config':
    lvds.c:(.text+0xb5d): undefined reference to `clk_hw_get_rate'
    x86_64-linux-ld: drivers/gpu/drm/stm/lvds.o: in function `lvds_probe':
    lvds.c:(.text+0x1476): undefined reference to `clk_hw_register'
    x86_64-linux-ld: lvds.c:(.text+0x148b): undefined reference to `of_clk_hw_simple_get'
    x86_64-linux-ld: lvds.c:(.text+0x1493): undefined reference to `of_clk_add_hw_provider'
    x86_64-linux-ld: lvds.c:(.text+0x1535): undefined reference to `clk_hw_unregister'
    
    Add this as a dependency for the stm driver itself, since it will be
    required in practice anyway.
    
    Fixes: 185f99b ("drm/stm: dsi: expose DSI PHY internal clock")
    Fixes: aca1cbc ("drm/stm: lvds: add new STM32 LVDS Display Interface Transmitter driver")
    Signed-off-by: Arnd Bergmann <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Raphael Gallais-Pou <[email protected]>
    (cherry picked from commit 26dbffb)
    Signed-off-by: Maxime Ripard <[email protected]>
    arndb authored and mripard committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    7b56517 View commit details
    Browse the repository at this point in the history
  7. platform/x86: asus-wmi: Disable OOBE experience on Zenbook S 16

    The OOBE experience fades the keyboard backlight in & out continuously,
    and make the backlight uncontrollable using its device.
    
    Workaround taken from
    https://wiki.archlinux.org/index.php?title=ASUS_Zenbook_UM5606&diff=next&oldid=815547
    
    Signed-off-by: Bas Nieuwenhuizen <[email protected]>
    Reviewed-by: Luke D. Jones <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Reviewed-by: Ilpo Järvinen <[email protected]>
    Signed-off-by: Ilpo Järvinen <[email protected]>
    BNieuwenhuizen authored and ij-intel committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    d6de45e View commit details
    Browse the repository at this point in the history
  8. MAINTAINERS: update Pierre Bossart's email and role

    Update to permanent address and Reviewer role.
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Reviewed-by: Péter Ujfalusi <[email protected]>
    Reviewed-by: Ranjani Sridharan <[email protected]>
    Signed-off-by: Bard Liao <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    plbossart authored and broonie committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    c6b9a92 View commit details
    Browse the repository at this point in the history
  9. drm/syncobj: Fix syncobj leak in drm_syncobj_eventfd_ioctl

    A syncobj reference is taken in drm_syncobj_find, but not released if
    eventfd_ctx_fdget or kzalloc fails. Put the reference in these error
    paths.
    
    Reported-by: Xingyu Jin <[email protected]>
    Fixes: c7a4722 ("drm/syncobj: add IOCTL to register an eventfd")
    Signed-off-by: T.J. Mercier <[email protected]>
    Reviewed-by: Tvrtko Ursulin <[email protected]>
    Reviewed-by. Christian König <[email protected]>
    CC: [email protected] # 6.6+
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Christian König <[email protected]>
    T.J. Mercier authored and ChristianKoenigAMD committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    8c7c44b View commit details
    Browse the repository at this point in the history
  10. Revert "virtio_net: rx remove premapped failover code"

    This reverts commit defd28a.
    
    Recover the code to disable premapped mode.
    
    Signed-off-by: Xuan Zhuo <[email protected]>
    Acked-by: Michael S. Tsirkin <[email protected]>
    Tested-by: Takero Funaki <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    fengidri authored and kuba-moo committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    dc4547f View commit details
    Browse the repository at this point in the history
  11. Revert "virtio_net: big mode skip the unmap check"

    This reverts commit a377ae5.
    
    Signed-off-by: Xuan Zhuo <[email protected]>
    Acked-by: Michael S. Tsirkin <[email protected]>
    Tested-by: Takero Funaki <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    fengidri authored and kuba-moo committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    38eef11 View commit details
    Browse the repository at this point in the history
  12. virtio_net: disable premapped mode by default

    Now, the premapped mode encounters some problem.
    
        http://lore.kernel.org/all/[email protected]
    
    So we disable the premapped mode by default.
    We can re-enable it in the future.
    
    Fixes: f9dac92 ("virtio_ring: enable premapped mode whatever use_dma_api")
    Reported-by: "Si-Wei Liu" <[email protected]>
    Closes: http://lore.kernel.org/all/[email protected]
    Signed-off-by: Xuan Zhuo <[email protected]>
    Acked-by: Michael S. Tsirkin <[email protected]>
    Tested-by: Takero Funaki <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    fengidri authored and kuba-moo committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    111fc9f View commit details
    Browse the repository at this point in the history
  13. Merge branch 'revert-virtio_net-rx-enable-premapped-mode-by-default'

    Xuan Zhuo says:
    
    ====================
    Revert "virtio_net: rx enable premapped mode by default"
    
    Regression: http://lore.kernel.org/[email protected]
    ====================
    
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    kuba-moo committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    48aa361 View commit details
    Browse the repository at this point in the history
  14. Merge tag 'trace-v6.11-rc6' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/trace/linux-trace
    
    Pull tracing fixes from Steven Rostedt:
    
     - Move declaration of interface_lock outside of CONFIG_TIMERLAT_TRACER
    
       The fix to some locking races moved the declaration of the
       interface_lock up in the file, but also moved it into the
       CONFIG_TIMERLAT_TRACER #ifdef block, breaking the build when that
       wasn't set. Move it further up and out of that #ifdef block.
    
     - Remove unused function run_tracer_selftest() stub
    
       When CONFIG_FTRACE_STARTUP_TEST is not set the stub function
       run_tracer_selftest() is not used and clang is warning about it.
       Remove the function stub as it is not needed.
    
    * tag 'trace-v6.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
      tracing: Drop unused helper function to fix the build
      tracing/osnoise: Fix build when timerlat is not enabled
    torvalds committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    8d8d276 View commit details
    Browse the repository at this point in the history
  15. drm/rockchip: Use iommu_paging_domain_alloc()

    Commit <421be3ee36a4> ("drm/rockchip: Refactor IOMMU initialisation") has
    refactored rockchip_drm_init_iommu() to pass a device that the domain is
    allocated for. Replace iommu_domain_alloc() with
    iommu_paging_domain_alloc() to retire the former.
    
    Signed-off-by: Lu Baolu <[email protected]>
    Reviewed-by: Jason Gunthorpe <[email protected]>
    Acked-by: Andy Yan <[email protected]>
    Signed-off-by: Lyude Paul <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    LuBaolu authored and Lyude committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    d8c07be View commit details
    Browse the repository at this point in the history
  16. drm/tegra: Use iommu_paging_domain_alloc()

    Commit <17de3f5fdd35> ("iommu: Retire bus ops") removes iommu ops from
    the bus structure. The iommu subsystem no longer relies on bus for
    operations. So iommu_domain_alloc() interface is no longer relevant.
    
    Replace iommu_domain_alloc() with iommu_paging_domain_alloc() which takes
    the physical device from which the host1x_device virtual device was
    instantiated. This physical device is a common parent to all physical
    devices that are part of the virtual device.
    
    Suggested-by: Thierry Reding <[email protected]>
    Signed-off-by: Lu Baolu <[email protected]>
    Signed-off-by: Lyude Paul <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    LuBaolu authored and Lyude committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    45c690a View commit details
    Browse the repository at this point in the history
  17. block: Prevent deadlocks when switching elevators

    Commit af28141 ("block: freeze the queue in queue_attr_store")
    changed queue_attr_store() to always freeze a sysfs attribute queue
    before calling the attribute store() method, to ensure that no IOs are
    in-flight when an attribute value is being updated.
    
    However, this change created a potential deadlock situation for the
    scheduler queue attribute as changing the queue elevator with
    elv_iosched_store() can result in a call to request_module() if the user
    requested module is not already registered. If the file of the requested
    module is stored on the block device of the frozen queue, a deadlock
    will happen as the read operations triggered by request_module() will
    wait for the queue freeze to end.
    
    Solve this issue by introducing the load_module method in struct
    queue_sysfs_entry, and to calling this method function in
    queue_attr_store() before freezing the attribute queue.
    The macro definition QUEUE_RW_LOAD_MODULE_ENTRY() is added to define a
    queue sysfs attribute that needs loading a module.
    
    The definition of the scheduler atrribute is changed to using
    QUEUE_RW_LOAD_MODULE_ENTRY(), with the function
    elv_iosched_load_module() defined as the load_module method.
    elv_iosched_store() can then be simplified to remove the call to
    request_module().
    
    Reported-by: Richard W.M. Jones <[email protected]>
    Reported-by: Jiri Jaburek <[email protected]>
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219166
    Fixes: af28141 ("block: freeze the queue in queue_attr_store")
    Cc: [email protected]
    Signed-off-by: Damien Le Moal <[email protected]>
    Tested-by: Richard W.M. Jones <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    damien-lemoal authored and axboe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    734e1a8 View commit details
    Browse the repository at this point in the history
  18. drm/amdkfd: Add cache line size info

    Populate cache line size info in topology based on information from IP
    discovery table.
    
    Signed-off-by: David Belanger <[email protected]>
    Reviewed-by: Sreekant Somasekharan <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    (cherry picked from commit 4e9fada)
    dpbelanger authored and alexdeucher committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    02c1321 View commit details
    Browse the repository at this point in the history
  19. drm/amd/display: Avoid race between dcn10_set_drr() and dc_state_dest…

    …ruct()
    
    dc_state_destruct() nulls the resource context of the DC state. The pipe
    context passed to dcn10_set_drr() is a member of this resource context.
    
    If dc_state_destruct() is called parallel to the IRQ processing (which
    calls dcn10_set_drr() at some point), we can end up using already nulled
    function callback fields of struct stream_resource.
    
    The logic in dcn10_set_drr() already tries to avoid this, by checking tg
    against NULL. But if the nulling happens exactly after the NULL check and
    before the next access, then we get a race.
    
    Avoid this by copying tg first to a local variable, and then use this
    variable for all the operations. This should work, as long as nobody
    frees the resource pool where the timing generators live.
    
    Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3142
    Fixes: 06ad7e1 ("drm/amd/display: Destroy DC context while keeping DML and DML2")
    Signed-off-by: Tobias Jakobi <[email protected]>
    Tested-by: Raoul van Rüschen <[email protected]>
    Tested-by: Christopher Snowhill <[email protected]>
    Reviewed-by: Harry Wentland <[email protected]>
    Tested-by: Sefa Eyeoglu <[email protected]>
    Signed-off-by: Mario Limonciello <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    (cherry picked from commit a3cc326)
    Cc: [email protected]
    tobiasjakobi authored and alexdeucher committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    a7aeb03 View commit details
    Browse the repository at this point in the history
  20. drm/amd/display: Avoid race between dcn35_set_drr() and dc_state_dest…

    …ruct()
    
    dc_state_destruct() nulls the resource context of the DC state. The pipe
    context passed to dcn35_set_drr() is a member of this resource context.
    
    If dc_state_destruct() is called parallel to the IRQ processing (which
    calls dcn35_set_drr() at some point), we can end up using already nulled
    function callback fields of struct stream_resource.
    
    The logic in dcn35_set_drr() already tries to avoid this, by checking tg
    against NULL. But if the nulling happens exactly after the NULL check and
    before the next access, then we get a race.
    
    Avoid this by copying tg first to a local variable, and then use this
    variable for all the operations. This should work, as long as nobody
    frees the resource pool where the timing generators live.
    
    Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3142
    Fixes: 06ad7e1 ("drm/amd/display: Destroy DC context while keeping DML and DML2")
    Signed-off-by: Tobias Jakobi <[email protected]>
    Reviewed-by: Harry Wentland <[email protected]>
    Signed-off-by: Mario Limonciello <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    (cherry picked from commit 0607a50)
    Cc: [email protected]
    tobiasjakobi authored and alexdeucher committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    e835d51 View commit details
    Browse the repository at this point in the history
  21. drm/amd/display: Do not reset planes based on crtc zpos_changed

    [Why]
    
    drm_normalize_zpos will set the crtc_state->zpos_changed to 1 if any of
    it's assigned planes changes zpos, or is removed/added from it.
    
    To have amdgpu_dm request a plane reset on this is too broad. For
    example, if only the cursor plane was moved from one crtc to another,
    the crtc's zpos_changed will be set to true. But that does not mean that
    the underlying primary plane requires a reset.
    
    [How]
    
    Narrow it down so that only the plane that has a change in zpos will
    require a reset.
    
    As a future TODO, we can further optimize this by only requiring a reset
    on z-order change. Z-order is different from z-pos, since a zpos change
    doesn't necessarily mean the z-ordering changed, and DC should only
    require a reset if the z-ordering changed.
    
    For example, the following zpos update does not change z-ordering:
    
        Plane A: zpos 2 -> 3
        Plane B: zpos 1 -> 2
        => Plane A is still on top of plane B: no reset needed
    
    Whereas this one does change z-ordering:
    
        Plane A: zpos 2 -> 1
        Plane B: zpos 1 -> 2
        => Plane A changed from on top, to below plane B: reset needed
    
    Fixes: 38e0c3d ("drm/amd/display: Move PRIMARY plane zpos higher")
    Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3569
    Signed-off-by: Leo Li <[email protected]>
    Reviewed-by: Harry Wentland <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    (cherry picked from commit 578aab4)
    leeonadoh authored and alexdeucher committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    c5b1a06 View commit details
    Browse the repository at this point in the history
  22. drm/amd/pm: update the features set on smu v14.0.2/3

    update the features set on smu v14.0.2/3
    
    Signed-off-by: Kenneth Feng <[email protected]>
    Reviewed-by: Yang Wang <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    (cherry picked from commit 25d48f2)
    Kenneth Feng authored and alexdeucher committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    612e3ba View commit details
    Browse the repository at this point in the history
  23. drm/amd/pm: fix the pp_dpm_pcie issue on smu v14.0.2/3

    fix the pp_dpm_pcie issue on smu v14.0.2/3 as below:
    0: 2.5GT/s, x4 250Mhz
    1: 8.0GT/s, x4 616Mhz *
    2: 8.0GT/s, x4 1143Mhz *
    the middle level can be removed since it is always skipped on
    smu v14.0.2/3
    
    Signed-off-by: Kenneth Feng <[email protected]>
    Acked-by: Alex Deucher <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    (cherry picked from commit fedf6db)
    Kenneth Feng authored and alexdeucher committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    7a09825 View commit details
    Browse the repository at this point in the history
  24. drm/amd/amdgpu: apply command submission parser for JPEG v2+

    This patch extends the same cs parser from JPEG v4.0.3 to
    other JPEG versions (v2 and above).
    
    Rename to more common name as jpeg_v2_dec_ring_parse_cs()
    from jpeg_v4_0_3_dec_ring_parse_cs().
    
    Acked-by: Alex Deucher <[email protected]>
    Signed-off-by: David (Ming Qiang) Wu <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    (cherry picked from commit 88dcad2)
    Cc: [email protected]
    davidwuAMD authored and alexdeucher committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    3a23aa0 View commit details
    Browse the repository at this point in the history
  25. drm/amd/amdgpu: apply command submission parser for JPEG v1

    Similar to jpeg_v2_dec_ring_parse_cs() but it has different
    register ranges and a few other registers access.
    
    Acked-by: Alex Deucher <[email protected]>
    Signed-off-by: David (Ming Qiang) Wu <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    (cherry picked from commit 3d5adbd)
    Cc: [email protected]
    davidwuAMD authored and alexdeucher committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    8409fb5 View commit details
    Browse the repository at this point in the history
  26. drm/amdgpu/atomfirmware: Silence UBSAN warning

    Per the comments, these are variable sized arrays.
    
    Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3613
    Reviewed-by: Harry Wentland <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    (cherry picked from commit 81f7804)
    Cc: [email protected]
    alexdeucher committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    17ea438 View commit details
    Browse the repository at this point in the history
  27. net: phy: dp83822: Fix NULL pointer dereference on DP83825 devices

    The probe() function is only used for DP83822 and DP83826 PHY,
    leaving the private data pointer uninitialized for the DP83825 models
    which causes a NULL pointer dereference in the recently introduced/changed
    functions dp8382x_config_init() and dp83822_set_wol().
    
    Add the dp8382x_probe() function, so all PHY models will have a valid
    private data pointer to fix this issue and also prevent similar issues
    in the future.
    
    Fixes: 9ef9ecf ("net: phy: dp8382x: keep WOL settings across suspends")
    Signed-off-by: Tomas Paukrt <[email protected]>
    Reviewed-by: Maxime Chevallier <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    tpaukrt authored and kuba-moo committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    3f62ea5 View commit details
    Browse the repository at this point in the history
  28. selftests: net: csum: Fix checksums for packets with non-zero padding

    Padding is not included in UDP and TCP checksums. Therefore, reduce the
    length of the checksummed data to include only the data in the IP
    payload. This fixes spurious reported checksum failures like
    
    rx: pkt: sport=33000 len=26 csum=0xc850 verify=0xf9fe
    pkt: bad csum
    
    Technically it is possible for there to be trailing bytes after the UDP
    data but before the Ethernet padding (e.g. if sizeof(ip) + sizeof(udp) +
    udp.len < ip.len). However, we don't generate such packets.
    
    Fixes: 91a7de8 ("selftests/net: add csum offload test")
    Signed-off-by: Sean Anderson <[email protected]>
    Reviewed-by: Willem de Bruijn <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Sean Anderson authored and kuba-moo committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    e8a63d4 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. dt-bindings: net: tja11xx: fix the broken binding

    As Rob pointed in another mail thread [1], the binding of tja11xx PHY
    is completely broken, the schema cannot catch the error in the DTS. A
    compatiable string must be needed if we want to add a custom propety.
    So extract known PHY IDs from the tja11xx PHY drivers and convert them
    into supported compatible string list to fix the broken binding issue.
    
    Fixes: 52b2fe4 ("dt-bindings: net: tja11xx: add nxp,refclk_in property")
    Link: https://lore.kernel.org/[email protected]  # [1]
    Signed-off-by: Wei Fang <[email protected]>
    Reviewed-by: Rob Herring (Arm) <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Wei Fang authored and kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    2f9caba View commit details
    Browse the repository at this point in the history
  2. MAINTAINERS: Add ethtool pse-pd to PSE NETWORK DRIVER

    Add net/ethtool/pse-pd.c to PSE NETWORK DRIVER to receive emails concerning
    modifications to the ethtool part.
    
    Reviewed-by: Oleksij Rempel <[email protected]>
    Signed-off-by: Kory Maincent <[email protected]>
    Reviewed-by: Simon Horman <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    kmaincent authored and kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    330dada View commit details
    Browse the repository at this point in the history
  3. Merge tag 'mlx5-fixes-2024-09-09' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/saeed/linux
    
    Saeed Mahameed says:
    
    ====================
    mlx5 fixes 2024-09-09
    
    This series provides bug fixes to mlx5 driver.
    
    * tag 'mlx5-fixes-2024-09-09' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
      net/mlx5: Fix bridge mode operations when there are no VFs
      net/mlx5: Verify support for scheduling element and TSAR type
      net/mlx5: Add missing masks and QoS bit masks for scheduling elements
      net/mlx5: Explicitly set scheduling element and TSAR type
      net/mlx5e: Add missing link mode to ptys2ext_ethtool_map
      net/mlx5e: Add missing link modes to ptys2ethtool_map
      net/mlx5: Update the list of the PCI supported devices
    ====================
    
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    3d731dc View commit details
    Browse the repository at this point in the history
  4. Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/tnguy/net-queue
    
    Tony Nguyen says:
    
    ====================
    Intel Wired LAN Driver Updates 2024-09-09 (ice, igb)
    
    This series contains updates to ice and igb drivers.
    
    Martyna moves LLDP rule removal to the proper uninitialization function
    for ice.
    
    Jake corrects accounting logic for FWD_TO_VSI_LIST switch filters on
    ice.
    
    Przemek removes incorrect, explicit calls to pci_disable_device() for
    ice.
    
    Michal Schmidt stops incorrect use of VSI list for VLAN use on ice.
    
    Sriram Yagnaraman adjusts igb_xdp_ring_update_tail() to be called under
    Tx lock on igb.
    
    * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
      igb: Always call igb_xdp_ring_update_tail() under Tx lock
      ice: fix VSI lists confusion when adding VLANs
      ice: stop calling pci_disable_device() as we use pcim
      ice: fix accounting for filters shared by multiple VSIs
      ice: Fix lldp packets dropping after changing the number of channels
    ====================
    
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    d1aaaa2 View commit details
    Browse the repository at this point in the history
  5. drivers: perf: Fix smp_processor_id() use in preemptible code

    As reported in [1], the use of smp_processor_id() in
    pmu_sbi_device_probe() must be protected by disabling the preemption, so
    simple use get_cpu()/put_cpu() instead.
    
    Reported-by: Nam Cao <[email protected]>
    Closes: https://lore.kernel.org/linux-riscv/[email protected]/ [1]
    Signed-off-by: Alexandre Ghiti <[email protected]>
    Reviewed-by: Anup Patel <[email protected]>
    Tested-by: Nam Cao <[email protected]>
    Fixes: a862521 ("drivers/perf: riscv: Implement SBI PMU snapshot function")
    Reported-by: Andrea Parri <[email protected]>
    Tested-by: Andrea Parri <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Palmer Dabbelt <[email protected]>
    Alexandre Ghiti authored and palmer-dabbelt committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    2840dad View commit details
    Browse the repository at this point in the history
  6. riscv: Disable preemption while handling PR_RISCV_CTX_SW_FENCEI_OFF

    The icache will be flushed in switch_to() if force_icache_flush is true,
    or in flush_icache_deferred() if icache_stale_mask is set. Between
    setting force_icache_flush to false and calculating the new
    icache_stale_mask, preemption needs to be disabled. There are two
    reasons for this:
    
    1. If CPU migration happens between force_icache_flush = false, and the
       icache_stale_mask is set, an icache flush will not be emitted.
    2. smp_processor_id() is used in set_icache_stale_mask() to mark the
       current CPU as not needing another flush since a flush will have
       happened either by userspace or by the kernel when performing the
       migration. smp_processor_id() is currently called twice with preemption
       enabled which causes a race condition. It allows
       icache_stale_mask to be populated with inconsistent CPU ids.
    
    Resolve these two issues by setting the icache_stale_mask before setting
    force_icache_flush to false, and using get_cpu()/put_cpu() to obtain the
    smp_processor_id().
    
    Signed-off-by: Charlie Jenkins <[email protected]>
    Fixes: 6b9391b ("riscv: Include riscv_set_icache_flush_ctx prctl")
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Palmer Dabbelt <[email protected]>
    charlie-rivos authored and palmer-dabbelt committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    7c1e5b9 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2c83ded View commit details
    Browse the repository at this point in the history
  8. soundwire: stream: Revert "soundwire: stream: fix programming slave p…

    …orts for non-continous port maps"
    
    This reverts commit ab8d66d because it
    breaks codecs using non-continuous masks in source and sink ports.  The
    commit missed the point that port numbers are not used as indices for
    iterating over prop.sink_ports or prop.source_ports.
    
    Soundwire core and existing codecs expect that the array passed as
    prop.sink_ports and prop.source_ports is continuous.  The port mask still
    might be non-continuous, but that's unrelated.
    
    Reported-by: Bard Liao <[email protected]>
    Closes: https://lore.kernel.org/all/[email protected]/
    Fixes: ab8d66d ("soundwire: stream: fix programming slave ports for non-continous port maps")
    Acked-by: Bard Liao <[email protected]>
    Reviewed-by: Charles Keepax <[email protected]>
    Cc: [email protected]
    Signed-off-by: Krzysztof Kozlowski <[email protected]>
    Tested-by: Peter Ujfalusi <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Vinod Koul <[email protected]>
    krzk authored and vinodkoul committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    233a95f View commit details
    Browse the repository at this point in the history
  9. platform: cznic: turris-omnia-mcu: fix HW_RANDOM dependency

    There is still a build failure when the rwrng support is in a loadable
    module but the mcu driver is built-in:
    
    arm-linux-gnueabi-ld: drivers/platform/cznic/turris-omnia-mcu-trng.o: in function `omnia_mcu_register_trng':
    turris-omnia-mcu-trng.c:(.text.omnia_mcu_register_trng+0x11c): undefined reference to `devm_hwrng_register'
    
    Change the dependency to explicitly disallow the broken
    configuration.
    
    Fixes: 41bb142 ("platform: cznic: turris-omnia-mcu: Add support for MCU provided TRNG")
    Reviewed-by: Marek Behún <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Arnd Bergmann <[email protected]>
    arndb committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    b97acde View commit details
    Browse the repository at this point in the history
  10. Merge tag 'riscv-soc-fixes-for-v6.11-final' of https://git.kernel.org…

    …/pub/scm/linux/kernel/git/conor/linux into arm/fixes
    
    RISC-V soc fixes for v6.11-final
    
    StarFive:
    A fix to return one of the clocks on the JH7110 from 1 GHz to 1.5 GHz
    
    Signed-off-by: Conor Dooley <[email protected]>
    
    * tag 'riscv-soc-fixes-for-v6.11-final' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
      riscv: dts: starfive: jh7110-common: Fix lower rate of CPUfreq by setting PLL0 rate to 1.5GHz
    
    Link: https://lore.kernel.org/r/20240909-hybrid-groovy-601a33b5b309@spud
    Signed-off-by: Arnd Bergmann <[email protected]>
    arndb committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    0e7af99 View commit details
    Browse the repository at this point in the history
  11. ASoC: codecs: avoid possible garbage value in peb2466_reg_read()

    Clang static checker (scan-build) warning:
    sound/soc/codecs/peb2466.c:232:8:
    Assigned value is garbage or undefined [core.uninitialized.Assign]
      232 |                 *val = tmp;
          |                      ^ ~~~
    
    When peb2466_read_byte() fails, 'tmp' will have a garbage value.
    Add a judgemnet to avoid this problem.
    
    Fixes: 227f609 ("ASoC: codecs: Add support for the Infineon PEB2466 codec")
    Signed-off-by: Su Hui <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Su Hui authored and broonie committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    38cc033 View commit details
    Browse the repository at this point in the history
  12. drm/amd/display: Add all planes on CRTC to state for overlay cursor

    [Why]
    
    DC has a special commit path for native cursor, which use the built-in
    cursor pipe within DCN planes. This update path does not require all
    enabled planes to be added to the list of surface updates sent to DC.
    
    This is not the case for overlay cursor; it uses the same path as MPO
    commits. This update path requires all enabled planes to be added to the
    list of surface updates sent to DC. Otherwise, DC will disable planes
    not inside the list.
    
    [How]
    
    If overlay cursor is needed, add all planes on the same CRTC as this
    cursor to the atomic state. This is already done for non-cursor planes
    (MPO), just before the added lines.
    
    Fixes: 1b04dcc ("drm/amd/display: Introduce overlay cursor mode")
    Closes: https://lore.kernel.org/lkml/[email protected]
    Reviewed-by: Harry Wentland <[email protected]>
    Signed-off-by: Leo Li <[email protected]>
    Tested-by: Mikhail Gavrilov <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    (cherry picked from commit 0c8c5bd)
    leeonadoh authored and alexdeucher committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    2a2a865 View commit details
    Browse the repository at this point in the history
  13. ASoC: meson: axg-card: fix 'use-after-free'

    Buffer 'card->dai_link' is reallocated in 'meson_card_reallocate_links()',
    so move 'pad' pointer initialization after this function when memory is
    already reallocated.
    
    Kasan bug report:
    
    ==================================================================
    BUG: KASAN: slab-use-after-free in axg_card_add_link+0x76c/0x9bc
    Read of size 8 at addr ffff000000e8b260 by task modprobe/356
    
    CPU: 0 PID: 356 Comm: modprobe Tainted: G O 6.9.12-sdkernel #1
    Call trace:
     dump_backtrace+0x94/0xec
     show_stack+0x18/0x24
     dump_stack_lvl+0x78/0x90
     print_report+0xfc/0x5c0
     kasan_report+0xb8/0xfc
     __asan_load8+0x9c/0xb8
     axg_card_add_link+0x76c/0x9bc [snd_soc_meson_axg_sound_card]
     meson_card_probe+0x344/0x3b8 [snd_soc_meson_card_utils]
     platform_probe+0x8c/0xf4
     really_probe+0x110/0x39c
     __driver_probe_device+0xb8/0x18c
     driver_probe_device+0x108/0x1d8
     __driver_attach+0xd0/0x25c
     bus_for_each_dev+0xe0/0x154
     driver_attach+0x34/0x44
     bus_add_driver+0x134/0x294
     driver_register+0xa8/0x1e8
     __platform_driver_register+0x44/0x54
     axg_card_pdrv_init+0x20/0x1000 [snd_soc_meson_axg_sound_card]
     do_one_initcall+0xdc/0x25c
     do_init_module+0x10c/0x334
     load_module+0x24c4/0x26cc
     init_module_from_file+0xd4/0x128
     __arm64_sys_finit_module+0x1f4/0x41c
     invoke_syscall+0x60/0x188
     el0_svc_common.constprop.0+0x78/0x13c
     do_el0_svc+0x30/0x40
     el0_svc+0x38/0x78
     el0t_64_sync_handler+0x100/0x12c
     el0t_64_sync+0x190/0x194
    
    Fixes: 7864a79 ("ASoC: meson: add axg sound card support")
    Cc: [email protected]
    Signed-off-by: Arseniy Krasnov <[email protected]>
    Reviewed-by: Jerome Brunet <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Arseniy Krasnov authored and broonie committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    4f9a714 View commit details
    Browse the repository at this point in the history
  14. minmax: reduce min/max macro expansion in atomisp driver

    Avoid unnecessary nested min()/max() which results in egregious macro
    expansion.
    
    Use clamp_t() as this introduces the least possible expansion, and turn
    the {s,u}DIGIT_FITTING() macros into inline functions to avoid the
    nested expansion.
    
    This resolves an issue with slackware 15.0 32-bit compilation as
    reported by Richard Narron.
    
    Presumably the min/max fixups would be difficult to backport, this patch
    should be easier and fix's Richard's problem in 5.15.
    
    Reported-by: Richard Narron <[email protected]>
    Reviewed-by: Hans de Goede <[email protected]>
    Closes: https://lore.kernel.org/all/[email protected]/
    Fixes: 867046c ("minmax: relax check to allow comparison between unsigned arguments and signed constants")
    Cc: [email protected]
    Signed-off-by: Lorenzo Stoakes <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    lorenzo-stoakes authored and torvalds committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    7c6a3a6 View commit details
    Browse the repository at this point in the history
  15. Merge tag 'printk-for-6.11-fixup' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/printk/linux
    
    Pull printk fix from Petr Mladek:
    
     - Fix build of serial_core as a module
    
    * tag 'printk-for-6.11-fixup' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
      printk: Export match_devname_and_update_preferred_console()
    torvalds committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    914413e View commit details
    Browse the repository at this point in the history
  16. Merge tag 'for-6.11/dm-fixes-2' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/device-mapper/linux-dm
    
    Pull device mapper fix from Mikulas Patocka:
    
     - fix a race condition in dm-integrity
    
    * tag 'for-6.11/dm-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
      dm-integrity: fix a race condition when accessing recalc_sector
    torvalds committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    3857c7b View commit details
    Browse the repository at this point in the history
  17. Merge tag 'arm-fixes-6.11-3' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/soc/soc
    
    Pull ARM SoC fixes from Arnd Bergmann:
     "The bulk of the changes this time are for device tree files in the
      rockchips platform, addressing correctness issues on individual
      boards, plus one change in the rk356x SoC file to make it match the
      binding.
    
      The only other changes that came in are
    
       - a CPU frequencey scaling fix for JH7110 (RISC-V)
    
       - a build fix for the cznic hwrandom driver
    
       - a fix for a deadlock in qualcomm uefi secure application firmware
         driver"
    
    * tag 'arm-fixes-6.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
      platform: cznic: turris-omnia-mcu: fix HW_RANDOM dependency
      riscv: dts: starfive: jh7110-common: Fix lower rate of CPUfreq by setting PLL0 rate to 1.5GHz
      firmware: qcom: uefisecapp: Fix deadlock in qcuefi_acquire()
      arm64: dts: rockchip: Fix compatibles for RK3588 VO{0,1}_GRF
      dt-bindings: soc: rockchip: Fix compatibles for RK3588 VO{0,1}_GRF
      arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399 Puma
      arm64: dts: rockchip: fix eMMC/SPI corruption when audio has been used on RK3399 Puma
      arm64: dts: rockchip: fix PMIC interrupt pin in pinctrl for ROCK Pi E
      arm64: dts: rockchip: Remove broken tsadc pinctrl binding for rk356x
    torvalds committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    77f5878 View commit details
    Browse the repository at this point in the history
  18. spi: nxp-fspi: fix the KASAN report out-of-bounds bug

    Change the memcpy length to fix the out-of-bounds issue when writing the
    data that is not 4 byte aligned to TX FIFO.
    
    To reproduce the issue, write 3 bytes data to NOR chip.
    
    dd if=3b of=/dev/mtd0
    [   36.926103] ==================================================================
    [   36.933409] BUG: KASAN: slab-out-of-bounds in nxp_fspi_exec_op+0x26ec/0x2838
    [   36.940514] Read of size 4 at addr ffff00081037c2a0 by task dd/455
    [   36.946721]
    [   36.948235] CPU: 3 UID: 0 PID: 455 Comm: dd Not tainted 6.11.0-rc5-gc7b0e37c8434 #1070
    [   36.956185] Hardware name: Freescale i.MX8QM MEK (DT)
    [   36.961260] Call trace:
    [   36.963723]  dump_backtrace+0x90/0xe8
    [   36.967414]  show_stack+0x18/0x24
    [   36.970749]  dump_stack_lvl+0x78/0x90
    [   36.974451]  print_report+0x114/0x5cc
    [   36.978151]  kasan_report+0xa4/0xf0
    [   36.981670]  __asan_report_load_n_noabort+0x1c/0x28
    [   36.986587]  nxp_fspi_exec_op+0x26ec/0x2838
    [   36.990800]  spi_mem_exec_op+0x8ec/0xd30
    [   36.994762]  spi_mem_no_dirmap_read+0x190/0x1e0
    [   36.999323]  spi_mem_dirmap_write+0x238/0x32c
    [   37.003710]  spi_nor_write_data+0x220/0x374
    [   37.007932]  spi_nor_write+0x110/0x2e8
    [   37.011711]  mtd_write_oob_std+0x154/0x1f0
    [   37.015838]  mtd_write_oob+0x104/0x1d0
    [   37.019617]  mtd_write+0xb8/0x12c
    [   37.022953]  mtdchar_write+0x224/0x47c
    [   37.026732]  vfs_write+0x1e4/0x8c8
    [   37.030163]  ksys_write+0xec/0x1d0
    [   37.033586]  __arm64_sys_write+0x6c/0x9c
    [   37.037539]  invoke_syscall+0x6c/0x258
    [   37.041327]  el0_svc_common.constprop.0+0x160/0x22c
    [   37.046244]  do_el0_svc+0x44/0x5c
    [   37.049589]  el0_svc+0x38/0x78
    [   37.052681]  el0t_64_sync_handler+0x13c/0x158
    [   37.057077]  el0t_64_sync+0x190/0x194
    [   37.060775]
    [   37.062274] Allocated by task 455:
    [   37.065701]  kasan_save_stack+0x2c/0x54
    [   37.069570]  kasan_save_track+0x20/0x3c
    [   37.073438]  kasan_save_alloc_info+0x40/0x54
    [   37.077736]  __kasan_kmalloc+0xa0/0xb8
    [   37.081515]  __kmalloc_noprof+0x158/0x2f8
    [   37.085563]  mtd_kmalloc_up_to+0x120/0x154
    [   37.089690]  mtdchar_write+0x130/0x47c
    [   37.093469]  vfs_write+0x1e4/0x8c8
    [   37.096901]  ksys_write+0xec/0x1d0
    [   37.100332]  __arm64_sys_write+0x6c/0x9c
    [   37.104287]  invoke_syscall+0x6c/0x258
    [   37.108064]  el0_svc_common.constprop.0+0x160/0x22c
    [   37.112972]  do_el0_svc+0x44/0x5c
    [   37.116319]  el0_svc+0x38/0x78
    [   37.119401]  el0t_64_sync_handler+0x13c/0x158
    [   37.123788]  el0t_64_sync+0x190/0x194
    [   37.127474]
    [   37.128977] The buggy address belongs to the object at ffff00081037c2a0
    [   37.128977]  which belongs to the cache kmalloc-8 of size 8
    [   37.141177] The buggy address is located 0 bytes inside of
    [   37.141177]  allocated 3-byte region [ffff00081037c2a0, ffff00081037c2a3)
    [   37.153465]
    [   37.154971] The buggy address belongs to the physical page:
    [   37.160559] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x89037c
    [   37.168596] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
    [   37.175149] page_type: 0xfdffffff(slab)
    [   37.179021] raw: 0bfffe0000000000 ffff000800002500 dead000000000122 0000000000000000
    [   37.186788] raw: 0000000000000000 0000000080800080 00000001fdffffff 0000000000000000
    [   37.194553] page dumped because: kasan: bad access detected
    [   37.200144]
    [   37.201647] Memory state around the buggy address:
    [   37.206460]  ffff00081037c180: fa fc fc fc fa fc fc fc fa fc fc fc fa fc fc fc
    [   37.213701]  ffff00081037c200: fa fc fc fc 05 fc fc fc 03 fc fc fc 02 fc fc fc
    [   37.220946] >ffff00081037c280: 06 fc fc fc 03 fc fc fc fc fc fc fc fc fc fc fc
    [   37.228186]                                ^
    [   37.232473]  ffff00081037c300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    [   37.239718]  ffff00081037c380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    [   37.246962] ==================================================================
    [   37.254394] Disabling lock debugging due to kernel taint
    0+1 records in
    0+1 records out
    3 bytes copied, 0.335911 s, 0.0 kB/s
    
    Fixes: a5356ae ("spi: spi-mem: Add driver for NXP FlexSPI controller")
    Cc: [email protected]
    Signed-off-by: Han Xu <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    hanxu-nxp authored and broonie committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    2a8787c View commit details
    Browse the repository at this point in the history
  19. netfilter: nft_socket: fix sk refcount leaks

    We must put 'sk' reference before returning.
    
    Fixes: 039b1f4 ("netfilter: nft_socket: fix erroneous socket assignment")
    Signed-off-by: Florian Westphal <[email protected]>
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    Florian Westphal authored and ummakynes committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    8b26ff7 View commit details
    Browse the repository at this point in the history
  20. netfilter: nft_socket: make cgroupsv2 matching work with namespaces

    When running in container environmment, /sys/fs/cgroup/ might not be
    the real root node of the sk-attached cgroup.
    
    Example:
    
    In container:
    % stat /sys//fs/cgroup/
    Device: 0,21    Inode: 2214  ..
    % stat /sys/fs/cgroup/foo
    Device: 0,21    Inode: 2264  ..
    
    The expectation would be for:
    
      nft add rule .. socket cgroupv2 level 1 "foo" counter
    
    to match traffic from a process that got added to "foo" via
    "echo $pid > /sys/fs/cgroup/foo/cgroup.procs".
    
    However, 'level 3' is needed to make this work.
    
    Seen from initial namespace, the complete hierarchy is:
    
    % stat /sys/fs/cgroup/system.slice/docker-.../foo
      Device: 0,21    Inode: 2264 ..
    
    i.e. hierarchy is
    0    1               2              3
    / -> system.slice -> docker-1... -> foo
    
    ... but the container doesn't know that its "/" is the "docker-1.."
    cgroup.  Current code will retrieve the 'system.slice' cgroup node
    and store its kn->id in the destination register, so compare with
    2264 ("foo" cgroup id) will not match.
    
    Fetch "/" cgroup from ->init() and add its level to the level we try to
    extract.  cgroup root-level is 0 for the init-namespace or the level
    of the ancestor that is exposed as the cgroup root inside the container.
    
    In the above case, cgrp->level of "/" resolved in the container is 2
    (docker-1...scope/) and request for 'level 1' will get adjusted
    to fetch the actual level (3).
    
    v2: use CONFIG_SOCK_CGROUP_DATA, eval function depends on it.
        (kernel test robot)
    
    Cc: [email protected]
    Fixes: e0bb96d ("netfilter: nft_socket: add support for cgroupsv2")
    Reported-by: Nadia Pinaeva <[email protected]>
    Signed-off-by: Florian Westphal <[email protected]>
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    Florian Westphal authored and ummakynes committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    7f3287d View commit details
    Browse the repository at this point in the history
  21. selftests: mptcp: join: restrict fullmesh endp on 1st sf

    A new endpoint using the IP of the initial subflow has been recently
    added to increase the code coverage. But it breaks the test when using
    old kernels not having commit 86e39e0 ("mptcp: keep track of local
    endpoint still available for each msk"), e.g. on v5.15.
    
    Similar to commit d4c81bb ("selftests: mptcp: join: support local
    endpoint being tracked or not"), it is possible to add the new endpoint
    conditionally, by checking if "mptcp_pm_subflow_check_next" is present
    in kallsyms: this is not directly linked to the commit introducing this
    symbol but for the parent one which is linked anyway. So we can know in
    advance what will be the expected behaviour, and add the new endpoint
    only when it makes sense to do so.
    
    Fixes: 4878f9f ("selftests: mptcp: join: validate fullmesh endp on 1st sf")
    Cc: [email protected]
    Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
    Link: https://patch.msgid.link/20240910-net-selftests-mptcp-fix-install-v1-1-8f124aa9156d@kernel.org
    Signed-off-by: Jakub Kicinski <[email protected]>
    matttbe authored and kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    49ac6f0 View commit details
    Browse the repository at this point in the history
  22. selftests: mptcp: include lib.sh file

    The lib.sh file from the parent directory is used by the MPTCP selftests
    and it needs to be present when running the tests.
    
    This file then needs to be listed in the Makefile to be included when
    exporting or installing the tests, e.g. with:
    
      make -C tools/testing/selftests \
              TARGETS=net/mptcp \
              install INSTALL_PATH=$KSFT_INSTALL_PATH
    
      cd $KSFT_INSTALL_PATH
      ./run_kselftest.sh -c net/mptcp
    
    Fixes: f265d31 ("selftests: mptcp: lib: use setup/cleanup_ns helpers")
    Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
    Link: https://patch.msgid.link/20240910-net-selftests-mptcp-fix-install-v1-2-8f124aa9156d@kernel.org
    Signed-off-by: Jakub Kicinski <[email protected]>
    matttbe authored and kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    1a5a2d1 View commit details
    Browse the repository at this point in the history
  23. selftests: mptcp: include net_helper.sh file

    Similar to the previous commit, the net_helper.sh file from the parent
    directory is used by the MPTCP selftests and it needs to be present when
    running the tests.
    
    This file then needs to be listed in the Makefile to be included when
    exporting or installing the tests, e.g. with:
    
      make -C tools/testing/selftests \
              TARGETS=net/mptcp \
              install INSTALL_PATH=$KSFT_INSTALL_PATH
    
      cd $KSFT_INSTALL_PATH
      ./run_kselftest.sh -c net/mptcp
    
    Fixes: 1af3bc9 ("selftests: mptcp: lib: use wait_local_port_listen helper")
    Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
    Link: https://patch.msgid.link/20240910-net-selftests-mptcp-fix-install-v1-3-8f124aa9156d@kernel.org
    Signed-off-by: Jakub Kicinski <[email protected]>
    matttbe authored and kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    c66c08e View commit details
    Browse the repository at this point in the history
  24. Merge branch 'selftests-mptcp-misc-small-fixes'

    Matthieu Baerts says:
    
    ====================
    selftests: mptcp: misc. small fixes
    
    Here are some various fixes for the MPTCP selftests.
    
    Patch 1 fixes a recently modified test to continue to work as expected
    on older kernels. This is a fix for a recent fix that can be backported
    up to v5.15.
    
    Patch 2 and 3 include dependences when exporting or installing the
    tests. Two fixes for v6.11-rc1.
    ====================
    
    Link: https://patch.msgid.link/20240910-net-selftests-mptcp-fix-install-v1-0-8f124aa9156d@kernel.org
    Signed-off-by: Jakub Kicinski <[email protected]>
    kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    6254031 View commit details
    Browse the repository at this point in the history
  25. net: hsr: prevent NULL pointer dereference in hsr_proxy_announce()

    In the function hsr_proxy_annouance() added in the previous commit
    5f703ce ("net: hsr: Send supervisory frames to HSR network
    with ProxyNodeTable data"), the return value of the hsr_port_get_hsr()
    function is not checked to be a NULL pointer, which causes a NULL
    pointer dereference.
    
    To solve this, we need to add code to check whether the return value
    of hsr_port_get_hsr() is NULL.
    
    Reported-by: [email protected]
    Fixes: 5f703ce ("net: hsr: Send supervisory frames to HSR network with ProxyNodeTable data")
    Signed-off-by: Jeongjun Park <[email protected]>
    Reviewed-by: Simon Horman <[email protected]>
    Acked-by: Lukasz Majewski <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    name2965 authored and kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    a7789fd View commit details
    Browse the repository at this point in the history
  26. net: dsa: felix: ignore pending status of TAS module when it's disabled

    The TAS module could not be configured when it's running in pending
    status. We need disable the module and configure it again. However, the
    pending status is not cleared after the module disabled. TC taprio set
    will always return busy even it's disabled.
    
    For example, a user uses tc-taprio to configure Qbv and a future
    basetime. The TAS module will run in a pending status. There is no way
    to reconfigure Qbv, it always returns busy.
    
    Actually the TAS module can be reconfigured when it's disabled. So it
    doesn't need to check the pending status if the TAS module is disabled.
    
    After the patch, user can delete the tc taprio configuration to disable
    Qbv and reconfigure it again.
    
    Fixes: de143c0 ("net: dsa: felix: Configure Time-Aware Scheduler via taprio offload")
    Signed-off-by: Xiaoliang Yang <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Xiaoliang Yang authored and kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    70654f4 View commit details
    Browse the repository at this point in the history
  27. net: libwx: fix number of Rx and Tx descriptors

    The number of transmit and receive descriptors must be a multiple of 128
    due to the hardware limitation. If it is set to a multiple of 8 instead of
    a multiple 128, the queues will easily be hung.
    
    Cc: [email protected]
    Fixes: 883b598 ("net: wangxun: add ethtool_ops for ring parameters")
    Signed-off-by: Jiawen Wu <[email protected]>
    Reviewed-by: Simon Horman <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Jiawen Wu authored and kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    077ee7e View commit details
    Browse the repository at this point in the history
  28. mptcp: pm: Fix uaf in __timer_delete_sync

    There are two paths to access mptcp_pm_del_add_timer, result in a race
    condition:
    
         CPU1				CPU2
         ====                               ====
         net_rx_action
         napi_poll                          netlink_sendmsg
         __napi_poll                        netlink_unicast
         process_backlog                    netlink_unicast_kernel
         __netif_receive_skb                genl_rcv
         __netif_receive_skb_one_core       netlink_rcv_skb
         NF_HOOK                            genl_rcv_msg
         ip_local_deliver_finish            genl_family_rcv_msg
         ip_protocol_deliver_rcu            genl_family_rcv_msg_doit
         tcp_v4_rcv                         mptcp_pm_nl_flush_addrs_doit
         tcp_v4_do_rcv                      mptcp_nl_remove_addrs_list
         tcp_rcv_established                mptcp_pm_remove_addrs_and_subflows
         tcp_data_queue                     remove_anno_list_by_saddr
         mptcp_incoming_options             mptcp_pm_del_add_timer
         mptcp_pm_del_add_timer             kfree(entry)
    
    In remove_anno_list_by_saddr(running on CPU2), after leaving the critical
    zone protected by "pm.lock", the entry will be released, which leads to the
    occurrence of uaf in the mptcp_pm_del_add_timer(running on CPU1).
    
    Keeping a reference to add_timer inside the lock, and calling
    sk_stop_timer_sync() with this reference, instead of "entry->add_timer".
    
    Move list_del(&entry->list) to mptcp_pm_del_add_timer and inside the pm lock,
    do not directly access any members of the entry outside the pm lock, which
    can avoid similar "entry->x" uaf.
    
    Fixes: 00cfd77 ("mptcp: retransmit ADD_ADDR when timeout")
    Cc: [email protected]
    Reported-and-tested-by: [email protected]
    Closes: https://syzkaller.appspot.com/bug?extid=f3a31fb909db9b2a5c4d
    Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
    Signed-off-by: Edward Adam Davis <[email protected]>
    Acked-by: Paolo Abeni <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Edward-AD authored and kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    b4cd80b View commit details
    Browse the repository at this point in the history
  29. net: dpaa: Pad packets to ETH_ZLEN

    When sending packets under 60 bytes, up to three bytes of the buffer
    following the data may be leaked. Avoid this by extending all packets to
    ETH_ZLEN, ensuring nothing is leaked in the padding. This bug can be
    reproduced by running
    
    	$ ping -s 11 destination
    
    Fixes: 9ad1a37 ("dpaa_eth: add support for DPAA Ethernet")
    Suggested-by: Eric Dumazet <[email protected]>
    Signed-off-by: Sean Anderson <[email protected]>
    Reviewed-by: Eric Dumazet <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Sean Anderson authored and kuba-moo committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    cbd7ec0 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2024

  1. netlink: specs: mptcp: fix port endianness

    The MPTCP port attribute is in host endianness, but was documented
    as big-endian in the ynl specification.
    
    Below are two examples from net/mptcp/pm_netlink.c showing that the
    attribute is converted to/from host endianness for use with netlink.
    
    Import from netlink:
      addr->port = htons(nla_get_u16(tb[MPTCP_PM_ADDR_ATTR_PORT]))
    
    Export to netlink:
      nla_put_u16(skb, MPTCP_PM_ADDR_ATTR_PORT, ntohs(addr->port))
    
    Where addr->port is defined as __be16.
    
    No functional change intended.
    
    Fixes: bc8aeb2 ("Documentation: netlink: add a YAML spec for mptcp")
    Signed-off-by: Asbjørn Sloth Tønnesen <[email protected]>
    Reviewed-by: Davide Caratti <[email protected]>
    Reviewed-by: Matthieu Baerts (NGI0) <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Asbjørn Sloth Tønnesen authored and kuba-moo committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    09a45a5 View commit details
    Browse the repository at this point in the history
  2. net: tighten bad gso csum offset check in virtio_net_hdr

    The referenced commit drops bad input, but has false positives.
    Tighten the check to avoid these.
    
    The check detects illegal checksum offload requests, which produce
    csum_start/csum_off beyond end of packet after segmentation.
    
    But it is based on two incorrect assumptions:
    
    1. virtio_net_hdr_to_skb with VIRTIO_NET_HDR_GSO_TCP[46] implies GSO.
    True in callers that inject into the tx path, such as tap.
    But false in callers that inject into rx, like virtio-net.
    Here, the flags indicate GRO, and CHECKSUM_UNNECESSARY or
    CHECKSUM_NONE without VIRTIO_NET_HDR_F_NEEDS_CSUM is normal.
    
    2. TSO requires checksum offload, i.e., ip_summed == CHECKSUM_PARTIAL.
    False, as tcp[46]_gso_segment will fix up csum_start and offset for
    all other ip_summed by calling __tcp_v4_send_check.
    
    Because of 2, we can limit the scope of the fix to virtio_net_hdr
    that do try to set these fields, with a bogus value.
    
    Link: https://lore.kernel.org/netdev/[email protected]/
    Fixes: 89add40 ("net: drop bad gso csum_start and offset in virtio_net_hdr")
    Signed-off-by: Willem de Bruijn <[email protected]>
    Acked-by: Jason Wang <[email protected]>
    Acked-by: Michael S. Tsirkin <[email protected]>
    Cc: [email protected]
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    wdebruij authored and kuba-moo committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    6513eb3 View commit details
    Browse the repository at this point in the history
  3. workqueue: Clear worker->pool in the worker thread context

    Marc Hartmayer reported:
            [   23.133876] Unable to handle kernel pointer dereference in virtual kernel address space
            [   23.133950] Failing address: 0000000000000000 TEID: 0000000000000483
            [   23.133954] Fault in home space mode while using kernel ASCE.
            [   23.133957] AS:000000001b8f0007 R3:0000000056cf4007 S:0000000056cf3800 P:000000000000003d
            [   23.134207] Oops: 0004 ilc:2 [#1] SMP
    	(snip)
            [   23.134516] Call Trace:
            [   23.134520]  [<0000024e326caf28>] worker_thread+0x48/0x430
            [   23.134525] ([<0000024e326caf18>] worker_thread+0x38/0x430)
            [   23.134528]  [<0000024e326d3a3e>] kthread+0x11e/0x130
            [   23.134533]  [<0000024e3264b0dc>] __ret_from_fork+0x3c/0x60
            [   23.134536]  [<0000024e333fb37a>] ret_from_fork+0xa/0x38
            [   23.134552] Last Breaking-Event-Address:
            [   23.134553]  [<0000024e333f4c04>] mutex_unlock+0x24/0x30
            [   23.134562] Kernel panic - not syncing: Fatal exception: panic_on_oops
    
    With debuging and analysis, worker_thread() accesses to the nullified
    worker->pool when the newly created worker is destroyed before being
    waken-up, in which case worker_thread() can see the result detach_worker()
    reseting worker->pool to NULL at the begining.
    
    Move the code "worker->pool = NULL;" out from detach_worker() to fix the
    problem.
    
    worker->pool had been designed to be constant for regular workers and
    changeable for rescuer. To share attaching/detaching code for regular
    and rescuer workers and to avoid worker->pool being accessed inadvertently
    when the worker has been detached, worker->pool is reset to NULL when
    detached no matter the worker is rescuer or not.
    
    To maintain worker->pool being reset after detached, move the code
    "worker->pool = NULL;" in the worker thread context after detached.
    
    It is either be in the regular worker thread context after PF_WQ_WORKER
    is cleared or in rescuer worker thread context with wq_pool_attach_mutex
    held. So it is safe to do so.
    
    Cc: Marc Hartmayer <[email protected]>
    Link: https://lore.kernel.org/lkml/[email protected]/
    Reported-by: Marc Hartmayer <[email protected]>
    Fixes: f4b7b53 ("workqueue: Detach workers directly in idle_cull_fn()")
    Cc: [email protected] # v6.11+
    Signed-off-by: Lai Jiangshan <[email protected]>
    Signed-off-by: Tejun Heo <[email protected]>
    Lai Jiangshan authored and htejun committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    7361384 View commit details
    Browse the repository at this point in the history
  4. PCI: Fix potential deadlock in pcim_intx()

    25216af ("PCI: Add managed pcim_intx()") moved the allocation step for
    pci_intx()'s device resource from pcim_enable_device() to pcim_intx(). As
    before, pcim_enable_device() sets pci_dev.is_managed to true; and it is
    never set to false again.
    
    Due to the lifecycle of a struct pci_dev, it can happen that a second
    driver obtains the same pci_dev after a first driver ran.  If one driver
    uses pcim_enable_device() and the other doesn't, this causes the other
    driver to run into managed pcim_intx(), which will try to allocate when
    called for the first time.
    
    Allocations might sleep, so calling pci_intx() while holding spinlocks
    becomes then invalid, which causes lockdep warnings and could cause
    deadlocks:
    
      ========================================================
      WARNING: possible irq lock inversion dependency detected
      6.11.0-rc6+ torvalds#59 Tainted: G        W
      --------------------------------------------------------
      CPU 0/KVM/1537 just changed the state of lock:
      ffffa0f0cff965f0 (&vdev->irqlock){-...}-{2:2}, at:
      vfio_intx_handler+0x21/0xd0 [vfio_pci_core] but this lock took another,
      HARDIRQ-unsafe lock in the past: (fs_reclaim){+.+.}-{0:0}
    
    and interrupts could create inverse lock ordering between them.
    
    other info that might help us debug this:
    
      Possible interrupt unsafe locking scenario:
    
           CPU0                    CPU1
           ----                    ----
      lock(fs_reclaim);
    			       local_irq_disable();
    			       lock(&vdev->irqlock);
    			       lock(fs_reclaim);
      <Interrupt>
        lock(&vdev->irqlock);
    
      *** DEADLOCK ***
    
    Have pcim_enable_device()'s release function, pcim_disable_device(), set
    pci_dev.is_managed to false so that subsequent drivers using the same
    struct pci_dev do not implicitly run into managed code.
    
    Link: https://lore.kernel.org/r/[email protected]
    Fixes: 25216af ("PCI: Add managed pcim_intx()")
    Reported-by: Alex Williamson <[email protected]>
    Closes: https://lore.kernel.org/all/[email protected]/
    Suggested-by: Alex Williamson <[email protected]>
    Signed-off-by: Philipp Stanner <[email protected]>
    Signed-off-by: Bjorn Helgaas <[email protected]>
    Tested-by: Alex Williamson <[email protected]>
    Reviewed-by: Damien Le Moal <[email protected]>
    Philipp Stanner authored and bjorn-helgaas committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    fc8c818 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'nf-24-09-12' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/netfilter/nf
    
    Pablo Neira Ayuso says:
    
    ====================
    Netfilter fixes for net
    
    The following batch contains two fixes from Florian Westphal:
    
    Patch #1 fixes a sk refcount leak in nft_socket on mismatch.
    
    Patch #2 fixes cgroupsv2 matching from containers due to incorrect
    	 level in subtree.
    
    netfilter pull request 24-09-12
    
    * tag 'nf-24-09-12' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:
      netfilter: nft_socket: make cgroupsv2 matching work with namespaces
      netfilter: nft_socket: fix sk refcount leaks
    ====================
    
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    Paolo Abeni committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    8700970 View commit details
    Browse the repository at this point in the history
  6. net: netfilter: move nf flowtable bpf initialization in nf_flow_table…

    …_module_init()
    
    Move nf flowtable bpf initialization in nf_flow_table module load
    routine since nf_flow_table_bpf is part of nf_flow_table module and not
    nf_flow_table_inet one. This patch allows to avoid the following kernel
    warning running the reproducer below:
    
    $modprobe nf_flow_table_inet
    $rmmod nf_flow_table_inet
    $modprobe nf_flow_table_inet
    modprobe: ERROR: could not insert 'nf_flow_table_inet': Invalid argument
    
    [  184.081501] ------------[ cut here ]------------
    [  184.081527] WARNING: CPU: 0 PID: 1362 at kernel/bpf/btf.c:8206 btf_populate_kfunc_set+0x23c/0x330
    [  184.081550] CPU: 0 UID: 0 PID: 1362 Comm: modprobe Kdump: loaded Not tainted 6.11.0-0.rc5.22.el10.x86_64 #1
    [  184.081553] Hardware name: Red Hat OpenStack Compute, BIOS 1.14.0-1.module+el8.4.0+8855+a9e237a9 04/01/2014
    [  184.081554] RIP: 0010:btf_populate_kfunc_set+0x23c/0x330
    [  184.081558] RSP: 0018:ff22cfb38071fc90 EFLAGS: 00010202
    [  184.081559] RAX: 0000000000000001 RBX: 0000000000000001 RCX: 0000000000000000
    [  184.081560] RDX: 000000000000006e RSI: ffffffff95c00000 RDI: ff13805543436350
    [  184.081561] RBP: ffffffffc0e22180 R08: ff13805543410808 R09: 000000000001ec00
    [  184.081562] R10: ff13805541c8113c R11: 0000000000000010 R12: ff13805541b83c00
    [  184.081563] R13: ff13805543410800 R14: 0000000000000001 R15: ffffffffc0e2259a
    [  184.081564] FS:  00007fa436c46740(0000) GS:ff1380557ba00000(0000) knlGS:0000000000000000
    [  184.081569] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [  184.081570] CR2: 000055e7b3187000 CR3: 0000000100c48003 CR4: 0000000000771ef0
    [  184.081571] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [  184.081572] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    [  184.081572] PKRU: 55555554
    [  184.081574] Call Trace:
    [  184.081575]  <TASK>
    [  184.081578]  ? show_trace_log_lvl+0x1b0/0x2f0
    [  184.081580]  ? show_trace_log_lvl+0x1b0/0x2f0
    [  184.081582]  ? __register_btf_kfunc_id_set+0x199/0x200
    [  184.081585]  ? btf_populate_kfunc_set+0x23c/0x330
    [  184.081586]  ? __warn.cold+0x93/0xed
    [  184.081590]  ? btf_populate_kfunc_set+0x23c/0x330
    [  184.081592]  ? report_bug+0xff/0x140
    [  184.081594]  ? handle_bug+0x3a/0x70
    [  184.081596]  ? exc_invalid_op+0x17/0x70
    [  184.081597]  ? asm_exc_invalid_op+0x1a/0x20
    [  184.081601]  ? btf_populate_kfunc_set+0x23c/0x330
    [  184.081602]  __register_btf_kfunc_id_set+0x199/0x200
    [  184.081605]  ? __pfx_nf_flow_inet_module_init+0x10/0x10 [nf_flow_table_inet]
    [  184.081607]  do_one_initcall+0x58/0x300
    [  184.081611]  do_init_module+0x60/0x230
    [  184.081614]  __do_sys_init_module+0x17a/0x1b0
    [  184.081617]  do_syscall_64+0x7d/0x160
    [  184.081620]  ? __count_memcg_events+0x58/0xf0
    [  184.081623]  ? handle_mm_fault+0x234/0x350
    [  184.081626]  ? do_user_addr_fault+0x347/0x640
    [  184.081630]  ? clear_bhb_loop+0x25/0x80
    [  184.081633]  ? clear_bhb_loop+0x25/0x80
    [  184.081634]  ? clear_bhb_loop+0x25/0x80
    [  184.081637]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
    [  184.081639] RIP: 0033:0x7fa43652e4ce
    [  184.081647] RSP: 002b:00007ffe8213be18 EFLAGS: 00000246 ORIG_RAX: 00000000000000af
    [  184.081649] RAX: ffffffffffffffda RBX: 000055e7b3176c20 RCX: 00007fa43652e4ce
    [  184.081650] RDX: 000055e7737fde79 RSI: 0000000000003990 RDI: 000055e7b3185380
    [  184.081651] RBP: 000055e7737fde79 R08: 0000000000000007 R09: 000055e7b3179bd0
    [  184.081651] R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000040000
    [  184.081652] R13: 000055e7b3176fa0 R14: 0000000000000000 R15: 000055e7b3179b80
    
    Fixes: 391bb65 ("netfilter: Add bpf_xdp_flow_lookup kfunc")
    Signed-off-by: Lorenzo Bianconi <[email protected]>
    Acked-by: Florian Westphal <[email protected]>
    Acked-by: Pablo Neira Ayuso <[email protected]>
    Link: https://patch.msgid.link/20240911-nf-flowtable-bpf-modprob-fix-v1-1-f9fc075aafc3@kernel.org
    Signed-off-by: Paolo Abeni <[email protected]>
    LorenzoBianconi authored and Paolo Abeni committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    3e70525 View commit details
    Browse the repository at this point in the history
  7. drm/xe/gt: Remove double include

    The header generated/xe_wa_oob.h is included twice. Remove one.
    
    Fixes: 27cb2b7 ("drm/xe/bmg: implement Wa_16023588340")
    Reported-by: kernel test robot <[email protected]>
    Closes: https://lore.kernel.org/r/[email protected]/
    Reviewed-by: Michal Wajdeczko <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Lucas De Marchi <[email protected]>
    (cherry picked from commit 3d12266)
    Signed-off-by: Rodrigo Vivi <[email protected]>
    lucasdemarchi authored and rodrigovivi committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    a265535 View commit details
    Browse the repository at this point in the history
  8. drm/xe: Remove fence check from send_tlb_invalidation

    'fence' argument in send_tlb_invalidation cannot be NULL, remove
    non-NULL check from send_tlb_invalidation.
    
    Reported-by: kernel test robot <[email protected]>
    Reported-by: Dan Carpenter <[email protected]>
    Closes: https://lore.kernel.org/r/[email protected]/
    Fixes: 58bfe66 ("drm/xe: Drop xe_gt_tlb_invalidation_wait")
    Signed-off-by: Matthew Brost <[email protected]>
    Reviewed-by: Nirmoy Das <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Nirmoy Das <[email protected]>
    (cherry picked from commit 6482253)
    Signed-off-by: Rodrigo Vivi <[email protected]>
    mbrost05 authored and rodrigovivi committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    572239f View commit details
    Browse the repository at this point in the history
  9. drm/xe: Fix possible UAF in guc_exec_queue_process_msg

    Store xe_device ahead of processing message as message can be free'd in
    some cases.
    
    v2:
     - Including missing local changes
    v3:
     - Resend for CI
    
    Reported-by: kernel test robot <[email protected]>
    Reported-by: Dan Carpenter <[email protected]>
    Closes: https://lore.kernel.org/r/[email protected]/
    Fixes: 55ea73a ("drm/xe: Build PM into GuC CT layer")
    Signed-off-by: Matthew Brost <[email protected]>
    Reviewed-by: Himal Prasad Ghimiray <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 1a394b4)
    Signed-off-by: Rodrigo Vivi <[email protected]>
    mbrost05 authored and rodrigovivi committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    5e2d1d4 View commit details
    Browse the repository at this point in the history
  10. drm/xe: Fix access_ok check in user_fence_create

    Check size of the data not size of the pointer.
    
    Reported-by: kernel test robot <[email protected]>
    Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
    Fixes: ddeb798 ("drm/xe: Validate user fence during creation")
    Cc: Matthew Auld <[email protected]>
    Cc: Matthew Brost <[email protected]>
    Reviewed-by: Matthew Auld <[email protected]>
    Reviewed-by: Tejas Upadhyay <[email protected]>
    Reviewed-by: Apoorva Singh <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Nirmoy Das <[email protected]>
    (cherry picked from commit e102b5e)
    Signed-off-by: Rodrigo Vivi <[email protected]>
    nirmoy authored and rodrigovivi committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    062d59e View commit details
    Browse the repository at this point in the history
  11. drm/xe/display: fix compat IS_DISPLAY_STEP() range end

    It's supposed to be an open range at the end like in i915. Fingers
    crossed that nobody relies on this definition.
    
    Fixes: 44e6949 ("drm/xe/display: Implement display support")
    Reviewed-by: Lucas De Marchi <[email protected]>
    Reviewed-by: Matt Roper <[email protected]>
    Acked-by: Lucas De Marchi <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/fe8743770694e429f6902491cdb306c97bdf701a.1724180287.git.jani.nikula@intel.com
    Signed-off-by: Jani Nikula <[email protected]>
    (cherry picked from commit 453afb1)
    Signed-off-by: Rodrigo Vivi <[email protected]>
    jnikula authored and rodrigovivi committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    dd10595 View commit details
    Browse the repository at this point in the history
  12. drm/xe/oa: Enable Xe2+ PES disaggregation

    Enable Xe2+ PES disaggregation (for OAG) to retrieve disaggregated metrics
    when disaggregated data is needed. Userspace can select whether to receive
    aggregated or disaggregated metrics via the particular OA configuration it
    uses (programmed via DRM_XE_OBSERVATION_OP_ADD_CONFIG).
    
    Bspec: 61101
    Fixes: e936f88 ("drm/xe/oa/uapi: Expose OA stream fd")
    Signed-off-by: Ashutosh Dixit <[email protected]>
    Reviewed-by: Lucas De Marchi <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Cc: [email protected]
    (cherry picked from commit fb2551a)
    Signed-off-by: Rodrigo Vivi <[email protected]>
    ashutoshx authored and rodrigovivi committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    a262cc8 View commit details
    Browse the repository at this point in the history
  13. drm/xe/client: fix deadlock in show_meminfo()

    There is a real deadlock as well as sleeping in atomic() bug in here, if
    the bo put happens to be the last ref, since bo destruction wants to
    grab the same spinlock and sleeping locks.  Fix that by dropping the ref
    using xe_bo_put_deferred(), and moving the final commit outside of the
    lock. Dropping the lock around the put is tricky since the bo can go
    out of scope and delete itself from the list, making it difficult to
    navigate to the next list entry.
    
    Fixes: 0845233 ("drm/xe: Implement fdinfo memory stats printing")
    Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2727
    Signed-off-by: Matthew Auld <[email protected]>
    Cc: Himal Prasad Ghimiray <[email protected]>
    Cc: Tejas Upadhyay <[email protected]>
    Cc: "Thomas Hellström" <[email protected]>
    Cc: <[email protected]> # v6.8+
    Reviewed-by: Matthew Brost <[email protected]>
    Reviewed-by: Tejas Upadhyay <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 0083b8e)
    Signed-off-by: Rodrigo Vivi <[email protected]>
    matt-auld authored and rodrigovivi committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    9bd7ff2 View commit details
    Browse the repository at this point in the history
  14. drm/xe/client: add missing bo locking in show_meminfo()

    bo_meminfo() wants to inspect bo state like tt and the ttm resource,
    however this state can change at any point leading to stuff like NPD and
    UAF, if the bo lock is not held. Grab the bo lock when calling
    bo_meminfo(), ensuring we drop any spinlocks first. In the case of
    object_idr we now also need to hold a ref.
    
    v2 (MattB)
      - Also add xe_bo_assert_held()
    
    Fixes: 0845233 ("drm/xe: Implement fdinfo memory stats printing")
    Signed-off-by: Matthew Auld <[email protected]>
    Cc: Himal Prasad Ghimiray <[email protected]>
    Cc: Tejas Upadhyay <[email protected]>
    Cc: "Thomas Hellström" <[email protected]>
    Cc: <[email protected]> # v6.8+
    Reviewed-by: Matthew Brost <[email protected]>
    Reviewed-by: Tejas Upadhyay <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 4f63d71)
    Signed-off-by: Rodrigo Vivi <[email protected]>
    matt-auld authored and rodrigovivi committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    94c4aa2 View commit details
    Browse the repository at this point in the history
  15. mm: avoid leaving partial pfn mappings around in error case

    As Jann points out, PFN mappings are special, because unlike normal
    memory mappings, there is no lifetime information associated with the
    mapping - it is just a raw mapping of PFNs with no reference counting of
    a 'struct page'.
    
    That's all very much intentional, but it does mean that it's easy to
    mess up the cleanup in case of errors.  Yes, a failed mmap() will always
    eventually clean up any partial mappings, but without any explicit
    lifetime in the page table mapping itself, it's very easy to do the
    error handling in the wrong order.
    
    In particular, it's easy to mistakenly free the physical backing store
    before the page tables are actually cleaned up and (temporarily) have
    stale dangling PTE entries.
    
    To make this situation less error-prone, just make sure that any partial
    pfn mapping is torn down early, before any other error handling.
    
    Reported-and-tested-by: Jann Horn <[email protected]>
    Cc: Andrew Morton <[email protected]>
    Cc: Jason Gunthorpe <[email protected]>
    Cc: Simona Vetter <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    torvalds committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    79a61cc View commit details
    Browse the repository at this point in the history
  16. Merge tag 'platform-drivers-x86-v6.11-7' of git://git.kernel.org/pub/…

    …scm/linux/kernel/git/pdx86/platform-drivers-x86
    
    Pull x86 platform driver fixes from Ilpo Järvinen:
    
     - asus-wmi: Disable OOBE that interferes with backlight control
    
     - panasonic-laptop: Two fixes to SINF array handling
    
    * tag 'platform-drivers-x86-v6.11-7' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
      platform/x86: asus-wmi: Disable OOBE experience on Zenbook S 16
      platform/x86: panasonic-laptop: Allocate 1 entry extra in the sinf array
      platform/x86: panasonic-laptop: Fix SINF array out of bounds accesses
    torvalds committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    42c5b51 View commit details
    Browse the repository at this point in the history
  17. Merge tag 'net-6.11-rc8' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/netdev/net
    
    Pull networking fixes from Paolo Abeni:
     "Including fixes from netfilter.
    
      There is a recently notified BT regression with no fix yet. I do not
      think a fix will land in the next week.
    
      Current release - regressions:
    
       - core: tighten bad gso csum offset check in virtio_net_hdr
    
       - netfilter: move nf flowtable bpf initialization in
         nf_flow_table_module_init()
    
       - eth: ice: stop calling pci_disable_device() as we use pcim
    
       - eth: fou: fix null-ptr-deref in GRO.
    
      Current release - new code bugs:
    
       - hsr: prevent NULL pointer dereference in hsr_proxy_announce()
    
      Previous releases - regressions:
    
       - hsr: remove seqnr_lock
    
       - netfilter: nft_socket: fix sk refcount leaks
    
       - mptcp: pm: fix uaf in __timer_delete_sync
    
       - phy: dp83822: fix NULL pointer dereference on DP83825 devices
    
       - eth: revert "virtio_net: rx enable premapped mode by default"
    
       - eth: octeontx2-af: Modify SMQ flush sequence to drop packets
    
      Previous releases - always broken:
    
       - eth: mlx5: fix bridge mode operations when there are no VFs
    
       - eth: igb: Always call igb_xdp_ring_update_tail() under Tx lock"
    
    * tag 'net-6.11-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (36 commits)
      net: netfilter: move nf flowtable bpf initialization in nf_flow_table_module_init()
      net: tighten bad gso csum offset check in virtio_net_hdr
      netlink: specs: mptcp: fix port endianness
      net: dpaa: Pad packets to ETH_ZLEN
      mptcp: pm: Fix uaf in __timer_delete_sync
      net: libwx: fix number of Rx and Tx descriptors
      net: dsa: felix: ignore pending status of TAS module when it's disabled
      net: hsr: prevent NULL pointer dereference in hsr_proxy_announce()
      selftests: mptcp: include net_helper.sh file
      selftests: mptcp: include lib.sh file
      selftests: mptcp: join: restrict fullmesh endp on 1st sf
      netfilter: nft_socket: make cgroupsv2 matching work with namespaces
      netfilter: nft_socket: fix sk refcount leaks
      MAINTAINERS: Add ethtool pse-pd to PSE NETWORK DRIVER
      dt-bindings: net: tja11xx: fix the broken binding
      selftests: net: csum: Fix checksums for packets with non-zero padding
      net: phy: dp83822: Fix NULL pointer dereference on DP83825 devices
      virtio_net: disable premapped mode by default
      Revert "virtio_net: big mode skip the unmap check"
      Revert "virtio_net: rx remove premapped failover code"
      ...
    torvalds committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    5abfdfd View commit details
    Browse the repository at this point in the history
  18. Merge tag 'riscv-for-linus-6.11-rc8' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/riscv/linux
    
    Pull RISC-V fixes from Palmer Dabbelt:
    
     - Two fixes for smp_processor_id() calls in preemptible sections: one
       if the perf driver, and one in the fence.i prctl.
    
    * tag 'riscv-for-linus-6.11-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
      riscv: Disable preemption while handling PR_RISCV_CTX_SW_FENCEI_OFF
      drivers: perf: Fix smp_processor_id() use in preemptible code
    torvalds committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    8581ae1 View commit details
    Browse the repository at this point in the history
  19. Merge tag 'wq-for-6.11-rc7-fixes' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tj/wq
    
    Pull workqueue fix from Tejun Heo:
     "A fix for a NULL worker->pool deref bug which can be triggered when a
      worker is created and then destroyed immediately"
    
    * tag 'wq-for-6.11-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
      workqueue: Clear worker->pool in the worker thread context
    torvalds committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    5da0288 View commit details
    Browse the repository at this point in the history
  20. Merge tag 'hwmon-for-v6.11-rc8' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/groeck/linux-staging
    
    Pull hwmon fix from Guenter Roeck:
    
     - Fix clearing status register bits for chips supporting older
       PMBus versions
    
    * tag 'hwmon-for-v6.11-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
      hwmon: (pmbus) Conditionally clear individual status bits for pmbus rev >= 1.2
    torvalds committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    fdf042d View commit details
    Browse the repository at this point in the history
  21. Merge tag 'block-6.11-20240912' of git://git.kernel.dk/linux

    Pull block fix from Jens Axboe:
     "Just a single fix for a deadlock issue that can happen if someone
      attempts to change the root disk IO scheduler with a module that
      requires loading from disk.
    
      Changing the scheduler freezes the queue while that operation is
      happening, hence causing a deadlock"
    
    * tag 'block-6.11-20240912' of git://git.kernel.dk/linux:
      block: Prevent deadlocks when switching elevators
    torvalds committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    b8e7cd0 View commit details
    Browse the repository at this point in the history
  22. Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/clk/linux
    
    Pull clk fix from Stephen Boyd:
     "One build fix for 32-bit arches using the Qualcomm PLL driver. It's
      cheaper to use a comparison here instead of a division so we just do
      that to fix the build"
    
    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
      clk: qcom: clk-alpha-pll: Simplify the zonda_pll_adjust_l_val()
    torvalds committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    196145c View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2024

  1. cifs: Fix signature miscalculation

    Fix the calculation of packet signatures by adding the offset into a page
    in the read or write data payload when hashing the pages from it.
    
    Fixes: 39bc582 ("cifs: Add a function to Hash the contents of an iterator")
    Signed-off-by: David Howells <[email protected]>
    Reviewed-by: Tom Talpey <[email protected]>
    Reviewed-by: Paulo Alcantara (Red Hat) <[email protected]>
    cc: Shyam Prasad N <[email protected]>
    cc: Rohith Surabattula <[email protected]>
    cc: Jeff Layton <[email protected]>
    cc: [email protected]
    cc: [email protected]
    Signed-off-by: Steve French <[email protected]>
    dhowells authored and Steve French committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    5a20b7c View commit details
    Browse the repository at this point in the history
  2. Merge tag 'amd-drm-fixes-6.11-2024-09-11' of https://gitlab.freedeskt…

    …op.org/agd5f/linux into drm-fixes
    
    amd-drm-fixes-6.11-2024-09-11:
    
    amdgpu:
    - Avoid races between set_drr() functions and dc_state_destruct()
    - Fix regerssion related to zpos
    - Fix regression related to overlay cursor
    - SMU 14.x updates
    - JPEG fixes
    - Silence an UBSAN warning
    
    amdkfd:
    - Fetch cacheline size from IP discovery
    
    Signed-off-by: Dave Airlie <[email protected]>
    
    From: Alex Deucher <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    airlied committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    f5d6c41 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'drm-intel-fixes-2024-09-12' of https://gitlab.freedesktop.…

    …org/drm/i915/kernel into drm-fixes
    
    - Prevent a possible int overflow in wq offsets [guc] (Nikita Zhandarovich)
    
    Signed-off-by: Dave Airlie <[email protected]>
    From: Tvrtko Ursulin <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/ZuKTN2XngNhBB3z3@linux
    airlied committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    bb7e19b View commit details
    Browse the repository at this point in the history
  4. Merge tag 'drm-misc-fixes-2024-09-12' of https://gitlab.freedesktop.o…

    …rg/drm/misc/kernel into drm-fixes
    
    An off-by-one fix for the CMA DMA-buf heap, An init fix for nouveau, a
    config dependency fix for stm, a syncobj leak fix, and two iommu fixes
    for tegra and rockchip.
    
    Signed-off-by: Dave Airlie <[email protected]>
    
    From: Maxime Ripard <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240912-phenomenal-upbeat-grouse-a26781@houat
    airlied committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    690e516 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'drm-xe-fixes-2024-09-12' of https://gitlab.freedesktop.org…

    …/drm/xe/kernel into drm-fixes
    
    - Remove a double include (Lucas)
    - Fix null checks and UAF (Brost)
    - Fix access_ok check in user_fence_create (Nirmoy)
    - Fix compat IS_DISPLAY_STEP() range (Jani)
    - OA fix (Ashutosh)
    - Fixes in show_meminfo (Auld)
    
    Signed-off-by: Dave Airlie <[email protected]>
    
    From: Rodrigo Vivi <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    airlied committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    135be1d View commit details
    Browse the repository at this point in the history
  6. Merge tag 'intel-pinctrl-v6.11-1' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/pinctrl/intel into fixes
    
    intel-pinctrl for v6.11-1
    
    This includes a new ACPI ID that is added to the Intel Meteor Lake
    driver to support recent Intel Arrow Lake hardware.
    
    Signed-off-by: Linus Walleij <[email protected]>
    linusw committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    d7c9ec3 View commit details
    Browse the repository at this point in the history
  7. pinctrl: pinctrl-cy8c95x0: Fix regcache

    The size of the mux stride was off by one, which could result in
    invalid pin configuration on the device side or invalid state
    readings on the software side.
    
    While on it also update the code and:
    - Increase the mux stride size to 16
    - Align the virtual muxed regmap range to 16
    - Start the regmap window at the selector
    - Mark reserved registers as not-readable
    
    Fixes: 8670de9 ("pinctrl: cy8c95x0: Use regmap ranges")
    Signed-off-by: Patrick Rudolph <[email protected]>
    Reported-by: Andy Shevchenko <[email protected]>
    Reviewed-by: Andy Shevchenko <[email protected]>
    Link: https://lore.kernel.org/[email protected]
    Signed-off-by: Linus Walleij <[email protected]>
    PatrickRudolph authored and linusw committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    71e4001 View commit details
    Browse the repository at this point in the history
  8. Merge tag 'drm-fixes-2024-09-13' of https://gitlab.freedesktop.org/dr…

    …m/kernel
    
    Pull drm fixes from Dave Airlie:
     "Regular fixes pull, the amdgpu JPEG engine fixes are probably the
      biggest, they look to block some register accessing, otherwise there
      are just minor fixes and regression fixes all over.
    
      nouveau had a regression report going back a few kernels that finally
      got fixed, Not entirely happy with so many changes so late, but they
      all seem quite benign apart from the jpeg one.
    
      dma-buf/heaps:
       - fix off by one in CMA heap fault handler
    
      syncobj:
       - fix syncobj leak in drm_syncobj_eventfd_ioctl
    
      amdgpu:
       - Avoid races between set_drr() functions and dc_state_destruct()
       - Fix regerssion related to zpos
       - Fix regression related to overlay cursor
       - SMU 14.x updates
       - JPEG fixes
       - Silence an UBSAN warning
    
      amdkfd:
       - Fetch cacheline size from IP discovery
    
      i915:
       - Prevent a possible int overflow in wq offsets
    
      xe:
       - Remove a double include
       - Fix null checks and UAF
       - Fix access_ok check in user_fence_create
       - Fix compat IS_DISPLAY_STEP() range
       - OA fix
       - Fixes in show_meminfo
    
      nouveau:
       - fix GP10x regression on boot
    
      stm:
       - add COMMON_CLK dep
    
      rockchip:
       - iommu api change
    
      tegra:
       - iommu api change"
    
    * tag 'drm-fixes-2024-09-13' of https://gitlab.freedesktop.org/drm/kernel: (25 commits)
      drm/xe/client: add missing bo locking in show_meminfo()
      drm/xe/client: fix deadlock in show_meminfo()
      drm/xe/oa: Enable Xe2+ PES disaggregation
      drm/xe/display: fix compat IS_DISPLAY_STEP() range end
      drm/xe: Fix access_ok check in user_fence_create
      drm/xe: Fix possible UAF in guc_exec_queue_process_msg
      drm/xe: Remove fence check from send_tlb_invalidation
      drm/xe/gt: Remove double include
      drm/amd/display: Add all planes on CRTC to state for overlay cursor
      drm/amdgpu/atomfirmware: Silence UBSAN warning
      drm/amd/amdgpu: apply command submission parser for JPEG v1
      drm/amd/amdgpu: apply command submission parser for JPEG v2+
      drm/amd/pm: fix the pp_dpm_pcie issue on smu v14.0.2/3
      drm/amd/pm: update the features set on smu v14.0.2/3
      drm/amd/display: Do not reset planes based on crtc zpos_changed
      drm/amd/display: Avoid race between dcn35_set_drr() and dc_state_destruct()
      drm/amd/display: Avoid race between dcn10_set_drr() and dc_state_destruct()
      drm/amdkfd: Add cache line size info
      drm/tegra: Use iommu_paging_domain_alloc()
      drm/rockchip: Use iommu_paging_domain_alloc()
      ...
    torvalds committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    46040ea View commit details
    Browse the repository at this point in the history
  9. Merge tag 'soundwire-6.11-fixes_2' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/vkoul/soundwire
    
    Pull soundwire fix from Vinod Koul:
    
     - Revert of earlier fix sent for non-continuous port map programming
       which caused regression on Intel platforms
    
    * tag 'soundwire-6.11-fixes_2' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
      soundwire: stream: Revert "soundwire: stream: fix programming slave ports for non-continous port maps"
    torvalds committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    1136ced View commit details
    Browse the repository at this point in the history
  10. Merge tag 'spi-fix-v6.11-rc7' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/broonie/spi
    
    Pull spi fixes from Mark Brown:
     "A few last minute fixes for v6.11, they're all individually
      unremarkable and only last minute due to when they came in"
    
    * tag 'spi-fix-v6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
      spi: nxp-fspi: fix the KASAN report out-of-bounds bug
      spi: geni-qcom: Fix incorrect free_irq() sequence
      spi: geni-qcom: Undo runtime PM changes at driver exit time
    torvalds committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    e936e7d View commit details
    Browse the repository at this point in the history
  11. Merge tag 'pci-v6.11-fixes-4' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/pci/pci
    
    Pull pci fix from Bjorn Helgaas:
    
     - Prevent a possible deadlock (reported by lockdep) when a driver
       relinquishes a pci_dev, another driver claims it, and one uses
       managed pcim_enable_device() and the other doesn't (Philipp Stanner)
    
    * tag 'pci-v6.11-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
      PCI: Fix potential deadlock in pcim_intx()
    torvalds committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    b771845 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2024

  1. Merge tag 'asoc-fix-v6.11-rc7' of https://git.kernel.org/pub/scm/linu…

    …x/kernel/git/broonie/sound into for-linus
    
    ASoC: Fixes for v6.11
    
    A few last minute fixes, plus an update for Pierre's contact details and
    status.  It'd be good to get these into v6.11 (especially the
    MAINTAINERS update) but it wouldn't be the end of the world if they
    waited for the merge window, none of them are super remarkable and it's
    just a question of timing that they're last minute.
    tiwai committed Sep 14, 2024
    Configuration menu
    Copy the full SHA
    134536c View commit details
    Browse the repository at this point in the history
  2. Merge tag '6.11-rc7-SMB3-client-fix' of git://git.samba.org/sfrench/c…

    …ifs-2.6
    
    Pull smb client fix from Steve French:
     "Fix for packet signing of write"
    
    * tag '6.11-rc7-SMB3-client-fix' of git://git.samba.org/sfrench/cifs-2.6:
      cifs: Fix signature miscalculation
    torvalds committed Sep 14, 2024
    Configuration menu
    Copy the full SHA
    d9bc226 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'sound-6.11' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "A few last-minute ASoC fixes and MAINTAINERS update.
    
      All look small, obvious and nice-to-have fixes for 6.11-final"
    
    * tag 'sound-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ASoC: meson: axg-card: fix 'use-after-free'
      ASoC: codecs: avoid possible garbage value in peb2466_reg_read()
      MAINTAINERS: update Pierre Bossart's email and role
      ASoC: tas2781: fix to save the dsp bin file name into the correct array in case name_prefix is not NULL
      ASoC: Intel: soc-acpi-intel-mtl-match: add missing empty item
      ASoC: Intel: soc-acpi-intel-lnl-match: add missing empty item
    torvalds committed Sep 14, 2024
    Configuration menu
    Copy the full SHA
    5771977 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'pinctrl-v6.11-4' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/linusw/linux-pinctrl
    
    Pull pin control fixes from Linus Walleij:
    
     - One Intel patch that I mistakenly merged into for-next despite it
       belonging in fixes: add Arrow Lake-H/U ACPI ID so this Arrow Lake
       chip probes.
    
     - One fix making the CY895x0 reg cache work, which is good because it
       makes the device work too.
    
    * tag 'pinctrl-v6.11-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
      pinctrl: pinctrl-cy8c95x0: Fix regcache
      pinctrl: meteorlake: Add Arrow Lake-H/U ACPI ID
    torvalds committed Sep 14, 2024
    Configuration menu
    Copy the full SHA
    0babf68 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2024

  1. Revert "KVM: VMX: Always honor guest PAT on CPUs that support self-sn…

    …oop"
    
    This reverts commit 377b2f3.
    
    This caused a regression with the bochsdrm driver, which used ioremap()
    instead of ioremap_wc() to map the video RAM.  After the commit, the
    WB memory type is used without the IGNORE_PAT, resulting in the slower
    UC memory type.  In fact, UC is slow enough to basically cause guests
    to not boot... but only on new processors such as Sapphire Rapids and
    Cascade Lake.  Coffee Lake for example works properly, though that might
    also be an effect of being on a larger, more NUMA system.
    
    The driver has been fixed but that does not help older guests.  Until we
    figure out whether Cascade Lake and newer processors are working as
    intended, revert the commit.  Long term we might add a quirk, but the
    details depend on whether the processors are working as intended: for
    example if they are, the quirk might reference bochs-compatible devices,
    e.g. in the name and documentation, so that userspace can disable the
    quirk by default and only leave it enabled if such a device is being
    exposed to the guest.
    
    If instead this is actually a bug in CLX+, then the actions we need to
    take are different and depend on the actual cause of the bug.
    
    Signed-off-by: Paolo Bonzini <[email protected]>
    bonzini committed Sep 15, 2024
    Configuration menu
    Copy the full SHA
    9d70f3f View commit details
    Browse the repository at this point in the history
  2. Merge tag 'for-linus-6.11' of git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull kvm fix from Paolo Bonzini:
     "Do not always honor guest PAT on CPUs that support self-snoop.
    
      This triggers an issue in the bochsdrm driver, which used ioremap()
      instead of ioremap_wc() to map the video RAM.
    
      The revert lets video RAM use the WB memory type instead of the slower
      UC memory type"
    
    * tag 'for-linus-6.11' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
      Revert "KVM: VMX: Always honor guest PAT on CPUs that support self-snoop"
    torvalds committed Sep 15, 2024
    Configuration menu
    Copy the full SHA
    d42f770 View commit details
    Browse the repository at this point in the history
  3. Linux 6.11

    torvalds committed Sep 15, 2024
    Configuration menu
    Copy the full SHA
    98f7e32 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. KVM: SVM: Implement GET_AP_APIC_IDS NAE event

    Implement the GET_APIC_IDS NAE event to gather and return the list of
    APIC IDs for all vCPUs in the guest.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    c957831 View commit details
    Browse the repository at this point in the history
  2. KVM: SEV: Allow for VMPL level specification in AP create

    Update AP creation to support ADD/DESTROY of VMSAs at levels other than
    VMPL0 in order to run under an SVSM at VMPL1 or lower. To maintain
    backwards compatibility, the VMPL is specified in bits 16 to 19 of the
    AP Creation request in SW_EXITINFO1 of the GHCB.
    
    In order to track the VMSAs at different levels, create arrays for the
    VMSAs, GHCBs, registered GHCBs and others. When switching VMPL levels,
    these entries will be used to set the VMSA and GHCB physical addresses
    in the VMCB for the VMPL level.
    
    In order ensure that the proper responses are returned in the proper GHCB,
    the GHCB must be unmapped at the current level and saved for restoration
    later when switching back to that VMPL level.
    
    Additional checks are applied to prevent a non-VMPL0 vCPU from being able
    to perform an AP creation request at VMPL0. Additionally, a vCPU cannot
    replace its own VMSA.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    641ca6d View commit details
    Browse the repository at this point in the history
  3. KVM: SVM: Invoke a specified VMPL level VMSA for the vCPU

    Implement the SNP Run VMPL NAE event and MSR protocol to allow a guest to
    request a different VMPL level VMSA be run for the vCPU. This allows the
    guest to "call" an SVSM to process an SVSM request.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    c41eb34 View commit details
    Browse the repository at this point in the history
  4. KVM: SVM: Maintain per-VMPL SEV features in kvm_sev_info

    Make struct kvm_sev_info maintain separate SEV features per VMPL, allowing
    distinct SEV features depending on VMs privilege level.
    
    Signed-off-by: Carlos Bilbao <[email protected]>
    Signed-off-by: Tom Lendacky <[email protected]>
    Zildj1an authored and roy-hopkins committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    72cfe9e View commit details
    Browse the repository at this point in the history
  5. KVM: SVM: Prevent injection when restricted injection is active

    Prevent injection of exceptions/interrupts when restricted injection is
    active. This is not full support for restricted injection, but the SVSM
    is not expecting any injections at all.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    a526316 View commit details
    Browse the repository at this point in the history
  6. KVM: SVM: Support launching an SVSM with Restricted Injection set

    Allow Restricted Injection to be set in SEV_FEATURES. When set,
    attempts to inject any interrupts other than #HV will make VMRUN fail.
    This is done to further reduce the security exposure within the SVSM.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    dad2605 View commit details
    Browse the repository at this point in the history
  7. KVM: SVM: Support initialization of an SVSM

    Allow for setting VMPL permission as part of the launch sequence and
    ssing an SNP init flag, limit measuring of the guest vCPUs, to just the
    BSP.
    
    Indicate full multi-VMPL support to the guest through the GHCB feature
    bitmap.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    b64d43a View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2024

  1. KVM: Move kvm_vcpu fields into common structure

    This commit is in preparation for supporting multiple VM privilege
    levels (VMPLs) within KVM by creating an instance of struct kvm_vcpu
    for each VMPL. Support for multiple VMPLs will be introduced in a later
    commit. This commit prepares struct kvm_vcpu by allowing the fields that
    are common to all VMPLs to be accessed from the struct kvm_vcpu for any
    VMPL.
    
    To add support for common fields across multiple struct kvm_vcpus, this
    commit creates a sub-structure within struct kvm_vcpu for storing the
    common fields. Any fields that have been identified as common across
    VMPLs for SEV-SNP (for now) have been moved into this sub-structure.
    
    When the struct kvm_vcpu is initialised, a pointer to the common
    structure is stored within struct kvm_vcpu allowing access to the common
    fields.
    
    This means that any reference to these common fields needs to be updated
    to access them via the structure pointer, e.g.
    vcpu->common->[common_field]. This has resulted in this patch generating
    many small changes to many files which is an unfortunate side-effect of
    this implementation.
    
    Signed-off-by: Roy Hopkins <[email protected]>
    roy-hopkins committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    5876431 View commit details
    Browse the repository at this point in the history
  2. KVM: Create a child struct kvm_vcpu for each VMPL

    Isolation technologies such as SEV-SNP introduce the concept of
    virtual machine privilege levels (VMPLs), separate to the processor
    CPL. A guest runs in the context of one of these VMPLs which allows
    for a different register context, memory privileges, etc.
    
    KVM must maintain state for each supported VMPL and switch between
    these states before entering the guest based on guest requests or
    other factors.
    
    This patch introduces the ability to create multiple
    struct kvm_cpus: one for each VMPL related to a single vCPU. This is
    achieved by introducing a new structure, struct kvm_vcpu_vmpl_state that
    is included in struct kvm_vcpu to track the state of each VMPL for
    supported platforms (currently only SEV-SNP). The state for each VMPL is
    then stored in its own struct kvm_vcpu. State that is common to all VMPL
    kvm_vcpus is managed by vcpu->common, allowing a pointer to the
    common fields to be shared amongst all VMPL kvm_vcpu's for a single vCPU
    id.
    
    The patch supports switching VMPLs by changing the target_vmpl in the
    state structure. However, no code to generate a VMPL switch invokes this
    at present.
    
    Signed-off-by: Roy Hopkins <[email protected]>
    roy-hopkins committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    537cc62 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2024

  1. KVM: SVM: Update SEV VMPL handling to use multiple struct kvm_vcpus

    This commit builds on Tom Lendacky's SEV-SNP support RFC patch series
    and reworks the handling of VMPL switching to use multiple struct
    kvm_vcpus to store VMPL context.
    
    Signed-off-by: Roy Hopkins <[email protected]>
    roy-hopkins committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    2b4018f View commit details
    Browse the repository at this point in the history
  2. KVM: x86: Add x86 field to find the default VMPL that IRQs should target

    When a CPU supports multiple VMPLs, injected interrupts need to be sent
    to the correct context. This commit adds an operation that determines
    the VMPL number that IRQs should be sent to in the absence of an explicit
    target VMPL.
    
    Signed-off-by: Roy Hopkins <[email protected]>
    roy-hopkins committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    9467a8c View commit details
    Browse the repository at this point in the history
  3. KVM: x86: Add target VMPL to IRQs and send to APIC for VMPL

    Systems that support VMPLs need to decide which VMPL each
    IRQ is destined for; each VMPL can support its own set of hardware
    devices that generate interrupts.
    
    This commit extends kvm_lapic_irq to include a target_vmpl field the
    sends the IRQ to the APIC instance at the target VMPL.
    
    Signed-off-by: Roy Hopkins <[email protected]>
    roy-hopkins committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    7e50f33 View commit details
    Browse the repository at this point in the history
  4. KVM: Add functions to send request to all/masked CPUs at a particular…

    … VMPL
    
    The struct kvm_vcpu for each VMPL manages its own requests. Currently,
    kvm_make_all_cpus_request() and kvm_make_vcpus_request_mask() allow
    requests to be sent for VMPL0. This patch introduces two new functions:
    kvm_make_all_cpus_request_vmpl() and kvm_make_vcpus_request_mask_vmpl()
    that allow a particular VMPL to be targeted.
    
    Signed-off-by: Roy Hopkins <[email protected]>
    roy-hopkins committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    e4bc6d5 View commit details
    Browse the repository at this point in the history
  5. KVM: x86: Scan for IOAPIC changes at lowest VMPL

    Currently all IRQ requests are targeted to the lowest priority VMPL
    which is where the OS will be running. This patch updates the IOAPIC
    request scan to use the default IRQ VMPL from the KVM arch
    configuration.
    
    Signed-off-by: Roy Hopkins <[email protected]>
    roy-hopkins committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    80e4a6b View commit details
    Browse the repository at this point in the history
  6. KVM: SEV: Allow direct setting of VMSA for SEV-SNP guests

    The VMSA containing the initial CPU state for an SEV-SNP guest is
    measured as part of the launch process. Currently, KVM does this
    automatically during the call to KVM_SEV_SNP_LAUNCH_FINISH where the CPU
    state is synchronised to the VMSA for every vCPU, measured then the
    guest is launched.
    
    This poses a problem for guests that want to have full control over the
    number and contents of VMSAs, such as when using an SVSM module or
    paravisor. In which case, for example, you may only want the BSP VMSA to
    be provided, or have full control over non-synced registers.
    
    As soon as the VMSA is measured it is encrypted by hardware so KVM
    immediately loses sight and control over the contents. With this in
    mind, there is no need to keep the VMSA in sync with KVMs view of
    register state. Therefore it makes sense to bypass the sync completely
    and provide a way for the VMSA to be directly specified from userspace
    if required.
    
    This commit extends the KVM_SEV_SNP_LAUNCH_UPDATE ioctl to allow VMSA
    pages to be updated. When encountered, this modifies the behaviour of
    KVM_SEV_SNP_LAUNCH_FINISH to prevent the sync and measurement of CPU
    state. This allows for both legacy functionaly and new functionality to
    co-exist.
    
    Signed-off-by: Roy Hopkins <[email protected]>
    roy-hopkins committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    5d24512 View commit details
    Browse the repository at this point in the history
  7. x86/sev: Define the #HV doorbell page structure

    Restricted injection is a feature which enforces additional interrupt and event
    injection security protections for a SEV-SNP guest. It disables all
    hypervisor-based interrupt queuing and event injection of all vectors except
    a new exception vector, #HV (28), which is reserved for SNP guest use, but
    never generated by hardware. #HV is only allowed to be injected into VMSAs that
    execute with Restricted Injection.
    
    The guests running with the SNP restricted injection feature active limit the
    host to ringing a doorbell with a #HV exception.
    
    Define two fields in the #HV doorbell page: a pending event field, and an
    EOI assist.
    
    Create the structure definition for the #HV doorbell page as per GHCB
    specification.
    
    Co-developed-by: Thomas Lendacky <[email protected]>
    Signed-off-by: Thomas Lendacky <[email protected]>
    Signed-off-by: Melody Wang <[email protected]>
    MelodyHuibo authored and roy-hopkins committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    d71ce17 View commit details
    Browse the repository at this point in the history
  8. KVM: SVM: Add support for the SEV-SNP #HV doorbell page NAE event

    To support the SEV-SNP Restricted Injection feature, the SEV-SNP guest must
    register a #HV doorbell page for use with the #HV.
    
    The #HV doorbell page NAE event allows the guest to register a #HV doorbell
    page. The NAE event consists of four actions: GET_PREFERRED, SET, QUERY, CLEAR.
    Implement the NAE event as per GHCB specification.
    
    Co-developed-by: Thomas Lendacky <[email protected]>
    Signed-off-by: Thomas Lendacky <[email protected]>
    Signed-off-by: Melody Wang <[email protected]>
    MelodyHuibo authored and roy-hopkins committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    7263409 View commit details
    Browse the repository at this point in the history
  9. KVM: SVM: Inject #HV when restricted injection is active

    When restricted injection is active, only #HV exceptions can be injected into
    the SEV-SNP guest.
    
    Detect that restricted injection feature is active for the guest, and then
    follow the #HV doorbell communication from the GHCB specification to inject the
    interrupt or exception.
    
    Co-developed-by: Thomas Lendacky <[email protected]>
    Signed-off-by: Thomas Lendacky <[email protected]>
    Signed-off-by: Melody Wang <[email protected]>
    MelodyHuibo authored and roy-hopkins committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    a8fb860 View commit details
    Browse the repository at this point in the history
  10. KVM: SVM: Inject NMIs when restricted injection is active

    When restricted injection is active, only #HV exceptions can be injected into
    the SEV-SNP guest.
    
    Detect that restricted injection feature is active for the guest, and then
    follow the #HV doorbell communication from the GHCB specification to inject
    NMIs.
    
    Co-developed-by: Thomas Lendacky <[email protected]>
    Signed-off-by: Thomas Lendacky <[email protected]>
    Signed-off-by: Melody Wang <[email protected]>
    MelodyHuibo authored and roy-hopkins committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    6f7101d View commit details
    Browse the repository at this point in the history
  11. KVM: SVM: Inject MCEs when restricted injection is active

    When restricted injection is active, only #HV exceptions can be injected into
    the SEV-SNP guest.
    
    Detect that restricted injection feature is active for the guest, and then
    follow the #HV doorbell communication from the GHCB specification to inject the
    MCEs.
    
    Co-developed-by: Thomas Lendacky <[email protected]>
    Signed-off-by: Thomas Lendacky <[email protected]>
    Signed-off-by: Melody Wang <[email protected]>
    MelodyHuibo authored and roy-hopkins committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    717dde9 View commit details
    Browse the repository at this point in the history
  12. KVM: SVM: Enable restricted injection for an SEV-SNP guest

    Enable the restricted injection in an SEV-SNP guest by setting the restricted
    injection bit in the VMSA SEV features field (SEV_FEATURES[3]) from QEMU.
    
    Add the restricted injection supporting the hypervisor advertised features.
    
    Co-developed-by: Thomas Lendacky <[email protected]>
    Signed-off-by: Thomas Lendacky <[email protected]>
    Signed-off-by: Melody Wang <[email protected]>
    MelodyHuibo authored and roy-hopkins committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    d39aa91 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. KVM: X86: Run higher VMPL if events are pending

    Each vCPU VMPL maintains its own set of pending events. When a vCPU is
    kicked or exits back to the host, check using an X86 op to see if events
    are pending for a higher priority VMPL and allow switching to that VMPL.
    
    This has been implemented for SEV-SNP where VMPL0 is checked when
    running a lower VMPL and the current_vmpl is switched to VMPL0 if there
    are pending events.
    
    Signed-off-by: Roy Hopkins <[email protected]>
    roy-hopkins committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    5c78db7 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2024

  1. tpm: add generic platform device

    This is primarily designed to support an enlightened driver for the
    AMD svsm based vTPM, but it could be used by any platform which
    communicates with a TPM device.  The platform must fill in struct
    tpm_platform_ops as the platform_data and set the device name to "tpm"
    to have the binding by name work correctly.  The sole sendrecv
    function is designed to do a single buffer request/response conforming
    to the MSSIM protocol.  For the svsm vTPM case, this protocol is
    transmitted directly to the SVSM, but it could be massaged for other
    function type platform interfaces.
    
    Signed-off-by: James Bottomley <[email protected]>
    Signed-off-by: Joerg Roedel <[email protected]>
    Signed-off-by: Stefano Garzarella <[email protected]>
    James Bottomley authored and stefano-garzarella committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    b4eeee8 View commit details
    Browse the repository at this point in the history
  2. x86/sev: add a SVSM vTPM platform device

    If the SNP boot has a SVSM, probe for the vTPM device by sending a
    SVSM_VTPM_QUERY call (function 8). The SVSM will return a bitmap with the
    TPM_SEND_COMMAND bit set only if the vTPM is present and it is able to handle
    TPM commands at runtime.
    
    If a vTPM is found, register a platform device as "platform:tpm" so it
    can be attached to the tpm_platform.c driver.
    
    Signed-off-by: James Bottomley <[email protected]>
    Signed-off-by: Joerg Roedel <[email protected]>
    [SG] Code adjusted with some changes introduced in 6.11
    Signed-off-by: Stefano Garzarella <[email protected]>
    James Bottomley authored and stefano-garzarella committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    d0f14b5 View commit details
    Browse the repository at this point in the history