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

[Deepin-Kernel-SIG][Upstream] Update kernel-rolling base to v6.8.11 #215

Merged

Commits on May 27, 2024

  1. drm/amd/display: Fix division by zero in setup_dsc_config

    commit 130afc8 upstream.
    
    When slice_height is 0, the division by slice_height in the calculation
    of the number of slices will cause a division by zero driver crash. This
    leaves the kernel in a state that requires a reboot. This patch adds a
    check to avoid the division by zero.
    
    The stack trace below is for the 6.8.4 Kernel. I reproduced the issue on
    a Z16 Gen 2 Lenovo Thinkpad with a Apple Studio Display monitor
    connected via Thunderbolt. The amdgpu driver crashed with this exception
    when I rebooted the system with the monitor connected.
    
    kernel: ? die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434 arch/x86/kernel/dumpstack.c:447)
    kernel: ? do_trap (arch/x86/kernel/traps.c:113 arch/x86/kernel/traps.c:154)
    kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) amdgpu
    kernel: ? do_error_trap (./arch/x86/include/asm/traps.h:58 arch/x86/kernel/traps.c:175)
    kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) amdgpu
    kernel: ? exc_divide_error (arch/x86/kernel/traps.c:194 (discriminator 2))
    kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) amdgpu
    kernel: ? asm_exc_divide_error (./arch/x86/include/asm/idtentry.h:548)
    kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) amdgpu
    kernel: dc_dsc_compute_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1109) amdgpu
    
    After applying this patch, the driver no longer crashes when the monitor
    is connected and the system is rebooted. I believe this is the same
    issue reported for 3113.
    
    Reviewed-by: Rodrigo Siqueira <[email protected]>
    Signed-off-by: Jose Fernandez <[email protected]>
    Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3113
    Signed-off-by: Rodrigo Siqueira <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: "Limonciello, Mario" <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jfernandez authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    5fec5ff View commit details
    Browse the repository at this point in the history
  2. net: ks8851: Fix another TX stall caused by wrong ISR flag handling

    commit 317a215 upstream.
    
    Under some circumstances it may happen that the ks8851 Ethernet driver
    stops sending data.
    
    Currently the interrupt handler resets the interrupt status flags in the
    hardware after handling TX. With this approach we may lose interrupts in
    the time window between handling the TX interrupt and resetting the TX
    interrupt status bit.
    
    When all of the three following conditions are true then transmitting
    data stops:
    
      - TX queue is stopped to wait for room in the hardware TX buffer
      - no queued SKBs in the driver (txq) that wait for being written to hw
      - hardware TX buffer is empty and the last TX interrupt was lost
    
    This is because reenabling the TX queue happens when handling the TX
    interrupt status but if the TX status bit has already been cleared then
    this interrupt will never come.
    
    With this commit the interrupt status flags will be cleared before they
    are handled. That way we stop losing interrupts.
    
    The wrong handling of the ISR flags was there from the beginning but
    with commit 3dc5d44 ("net: ks8851: Fix TX stall caused by TX
    buffer overrun") the issue becomes apparent.
    
    Fixes: 3dc5d44 ("net: ks8851: Fix TX stall caused by TX buffer overrun")
    Cc: "David S. Miller" <[email protected]>
    Cc: Eric Dumazet <[email protected]>
    Cc: Jakub Kicinski <[email protected]>
    Cc: Paolo Abeni <[email protected]>
    Cc: Simon Horman <[email protected]>
    Cc: [email protected]
    Cc: [email protected] # 5.10+
    Signed-off-by: Ronald Wahl <[email protected]>
    Reviewed-by: Simon Horman <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    tanstafel authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    f85cf0a View commit details
    Browse the repository at this point in the history
  3. ice: pass VSI pointer into ice_vc_isvalid_q_id

    commit a216059 upstream.
    
    The ice_vc_isvalid_q_id() function takes a VSI index and a queue ID. It
    looks up the VSI from its index, and then validates that the queue number
    is valid for that VSI.
    
    The VSI ID passed is typically a VSI index from the VF. This VSI number is
    validated by the PF to ensure that it matches the VSI associated with the
    VF already.
    
    In every flow where ice_vc_isvalid_q_id() is called, the PF driver already
    has a pointer to the VSI associated with the VF. This pointer is obtained
    using ice_get_vf_vsi(), rather than looking up the VSI using the index sent
    by the VF.
    
    Since we already know which VSI to operate on, we can modify
    ice_vc_isvalid_q_id() to take a VSI pointer instead of a VSI index. Pass
    the VSI we found from ice_get_vf_vsi() instead of re-doing the lookup. This
    removes some unnecessary computation and scanning of the VSI list.
    
    It also removes the last place where the driver directly used the VSI
    number from the VF. This will pave the way for refactoring to communicate
    relative VSI numbers to the VF instead of absolute numbers from the PF
    space.
    
    Signed-off-by: Jacob Keller <[email protected]>
    Reviewed-by: Przemek Kitszel <[email protected]>
    Tested-by: Rafal Romanowski <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jacob-keller authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    7b32480 View commit details
    Browse the repository at this point in the history
  4. ice: remove unnecessary duplicate checks for VF VSI ID

    commit 363f689 upstream.
    
    The ice_vc_fdir_param_check() function validates that the VSI ID of the
    virtchnl flow director command matches the VSI number of the VF. This is
    already checked by the call to ice_vc_isvalid_vsi_id() immediately
    following this.
    
    This check is unnecessary since ice_vc_isvalid_vsi_id() already confirms
    this by checking that the VSI ID can locate the VSI associated with the VF
    structure.
    
    Furthermore, a following change is going to refactor the ice driver to
    report VSI IDs using a relative index for each VF instead of reporting the
    PF VSI number. This additional check would break that logic since it
    enforces that the VSI ID matches the VSI number.
    
    Since this check duplicates  the logic in ice_vc_isvalid_vsi_id() and gets
    in the way of refactoring that logic, remove it.
    
    Signed-off-by: Jacob Keller <[email protected]>
    Reviewed-by: Przemek Kitszel <[email protected]>
    Tested-by: Rafal Romanowski <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jacob-keller authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    ea4fd98 View commit details
    Browse the repository at this point in the history
  5. Bluetooth: L2CAP: Fix slab-use-after-free in l2cap_connect()

    commit 4d7b41c upstream.
    
    Extend a critical section to prevent chan from early freeing.
    Also make the l2cap_connect() return type void. Nothing is using the
    returned value but it is ugly to return a potentially freed pointer.
    Making it void will help with backports because earlier kernels did use
    the return value. Now the compile will break for kernels where this
    patch is not a complete fix.
    
    Call stack summary:
    
    [use]
    l2cap_bredr_sig_cmd
      l2cap_connect
      ┌ mutex_lock(&conn->chan_lock);
      │ chan = pchan->ops->new_connection(pchan); <- alloc chan
      │ __l2cap_chan_add(conn, chan);
      │   l2cap_chan_hold(chan);
      │   list_add(&chan->list, &conn->chan_l);   ... (1)
      └ mutex_unlock(&conn->chan_lock);
        chan->conf_state              ... (4) <- use after free
    
    [free]
    l2cap_conn_del
    ┌ mutex_lock(&conn->chan_lock);
    │ foreach chan in conn->chan_l:            ... (2)
    │   l2cap_chan_put(chan);
    │     l2cap_chan_destroy
    │       kfree(chan)               ... (3) <- chan freed
    └ mutex_unlock(&conn->chan_lock);
    
    ==================================================================
    BUG: KASAN: slab-use-after-free in instrument_atomic_read
    include/linux/instrumented.h:68 [inline]
    BUG: KASAN: slab-use-after-free in _test_bit
    include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
    BUG: KASAN: slab-use-after-free in l2cap_connect+0xa67/0x11a0
    net/bluetooth/l2cap_core.c:4260
    Read of size 8 at addr ffff88810bf040a0 by task kworker/u3:1/311
    
    Fixes: 73ffa90 ("Bluetooth: Move conf_{req,rsp} stuff to struct l2cap_chan")
    Signed-off-by: Sungwoo Kim <[email protected]>
    Signed-off-by: Luiz Augusto von Dentz <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    swkim101 authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    ae069b8 View commit details
    Browse the repository at this point in the history
  6. Bluetooth: L2CAP: Fix div-by-zero in l2cap_le_flowctl_init()

    commit a5b862c upstream.
    
    l2cap_le_flowctl_init() can cause both div-by-zero and an integer
    overflow since hdev->le_mtu may not fall in the valid range.
    
    Move MTU from hci_dev to hci_conn to validate MTU and stop the connection
    process earlier if MTU is invalid.
    Also, add a missing validation in read_buffer_size() and make it return
    an error value if the validation fails.
    Now hci_conn_add() returns ERR_PTR() as it can fail due to the both a
    kzalloc failure and invalid MTU value.
    
    divide error: 0000 [#1] PREEMPT SMP KASAN NOPTI
    CPU: 0 PID: 67 Comm: kworker/u5:0 Tainted: G        W          6.9.0-rc5+ deepin-community#20
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
    Workqueue: hci0 hci_rx_work
    RIP: 0010:l2cap_le_flowctl_init+0x19e/0x3f0 net/bluetooth/l2cap_core.c:547
    Code: e8 17 17 0c 00 66 41 89 9f 84 00 00 00 bf 01 00 00 00 41 b8 02 00 00 00 4c
    89 fe 4c 89 e2 89 d9 e8 27 17 0c 00 44 89 f0 31 d2 <66> f7 f3 89 c3 ff c3 4d 8d
    b7 88 00 00 00 4c 89 f0 48 c1 e8 03 42
    RSP: 0018:ffff88810bc0f858 EFLAGS: 00010246
    RAX: 00000000000002a0 RBX: 0000000000000000 RCX: dffffc0000000000
    RDX: 0000000000000000 RSI: ffff88810bc0f7c0 RDI: ffffc90002dcb66f
    RBP: ffff88810bc0f880 R08: aa69db2dda70ff01 R09: 0000ffaaaaaaaaaa
    R10: 0084000000ffaaaa R11: 0000000000000000 R12: ffff88810d65a084
    R13: dffffc0000000000 R14: 00000000000002a0 R15: ffff88810d65a000
    FS:  0000000000000000(0000) GS:ffff88811ac00000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000020000100 CR3: 0000000103268003 CR4: 0000000000770ef0
    PKRU: 55555554
    Call Trace:
     <TASK>
     l2cap_le_connect_req net/bluetooth/l2cap_core.c:4902 [inline]
     l2cap_le_sig_cmd net/bluetooth/l2cap_core.c:5420 [inline]
     l2cap_le_sig_channel net/bluetooth/l2cap_core.c:5486 [inline]
     l2cap_recv_frame+0xe59d/0x11710 net/bluetooth/l2cap_core.c:6809
     l2cap_recv_acldata+0x544/0x10a0 net/bluetooth/l2cap_core.c:7506
     hci_acldata_packet net/bluetooth/hci_core.c:3939 [inline]
     hci_rx_work+0x5e5/0xb20 net/bluetooth/hci_core.c:4176
     process_one_work kernel/workqueue.c:3254 [inline]
     process_scheduled_works+0x90f/0x1530 kernel/workqueue.c:3335
     worker_thread+0x926/0xe70 kernel/workqueue.c:3416
     kthread+0x2e3/0x380 kernel/kthread.c:388
     ret_from_fork+0x5c/0x90 arch/x86/kernel/process.c:147
     ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
     </TASK>
    Modules linked in:
    ---[ end trace 0000000000000000 ]---
    
    Fixes: 6ed58ec ("Bluetooth: Use LE buffers for LE traffic")
    Suggested-by: Luiz Augusto von Dentz <[email protected]>
    Signed-off-by: Sungwoo Kim <[email protected]>
    Signed-off-by: Luiz Augusto von Dentz <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    swkim101 authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    2a13132 View commit details
    Browse the repository at this point in the history
  7. KEYS: trusted: Fix memory leak in tpm2_key_encode()

    commit ffcaa21 upstream.
    
    'scratch' is never freed. Fix this by calling kfree() in the success, and
    in the error case.
    
    Cc: [email protected] # +v5.13
    Fixes: f221974 ("security: keys: trusted: use ASN.1 TPM2 key format for the blobs")
    Signed-off-by: Jarkko Sakkinen <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jarkkojs authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    26ab0e8 View commit details
    Browse the repository at this point in the history
  8. erofs: get rid of erofs_fs_context

    commit 07abe43 upstream.
    
    Instead of allocating the erofs_sb_info in fill_super() allocate it during
    erofs_init_fs_context() and ensure that erofs can always have the info
    available during erofs_kill_sb(). After this erofs_fs_context is no longer
    needed, replace ctx with sbi, no functional changes.
    
    Suggested-by: Jingbo Xu <[email protected]>
    Signed-off-by: Baokun Li <[email protected]>
    Reviewed-by: Jingbo Xu <[email protected]>
    Reviewed-by: Gao Xiang <[email protected]>
    Reviewed-by: Chao Yu <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    [ Gao Xiang: trivial conflict due to a warning message. ]
    Signed-off-by: Gao Xiang <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    LiBaokun96 authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    2639b78 View commit details
    Browse the repository at this point in the history
  9. erofs: reliably distinguish block based and fscache mode

    commit 7af2ae1 upstream.
    
    When erofs_kill_sb() is called in block dev based mode, s_bdev may not
    have been initialised yet, and if CONFIG_EROFS_FS_ONDEMAND is enabled,
    it will be mistaken for fscache mode, and then attempt to free an anon_dev
    that has never been allocated, triggering the following warning:
    
    ============================================
    ida_free called for id=0 which is not allocated.
    WARNING: CPU: 14 PID: 926 at lib/idr.c:525 ida_free+0x134/0x140
    Modules linked in:
    CPU: 14 PID: 926 Comm: mount Not tainted 6.9.0-rc3-dirty #630
    RIP: 0010:ida_free+0x134/0x140
    Call Trace:
     <TASK>
     erofs_kill_sb+0x81/0x90
     deactivate_locked_super+0x35/0x80
     get_tree_bdev+0x136/0x1e0
     vfs_get_tree+0x2c/0xf0
     do_new_mount+0x190/0x2f0
     [...]
    ============================================
    
    Now when erofs_kill_sb() is called, erofs_sb_info must have been
    initialised, so use sbi->fsid to distinguish between the two modes.
    
    Signed-off-by: Christian Brauner <[email protected]>
    Signed-off-by: Baokun Li <[email protected]>
    Reviewed-by: Jingbo Xu <[email protected]>
    Reviewed-by: Gao Xiang <[email protected]>
    Reviewed-by: Chao Yu <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Gao Xiang <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    brauner authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    8e14ddb View commit details
    Browse the repository at this point in the history
  10. binder: fix max_thread type inconsistency

    commit 4231694 upstream.
    
    The type defined for the BINDER_SET_MAX_THREADS ioctl was changed from
    size_t to __u32 in order to avoid incompatibility issues between 32 and
    64-bit kernels. However, the internal types used to copy from user and
    store the value were never updated. Use u32 to fix the inconsistency.
    
    Fixes: a9350fc ("staging: android: binder: fix BINDER_SET_MAX_THREADS declaration")
    Reported-by: Arve Hjønnevåg <[email protected]>
    Cc: [email protected]
    Signed-off-by: Carlos Llamas <[email protected]>
    Reviewed-by: Alice Ryhl <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Carlos Llamas authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    c408524 View commit details
    Browse the repository at this point in the history
  11. usb: dwc3: Wait unconditionally after issuing EndXfer command

    commit 1d26ba0 upstream.
    
    Currently all controller IP/revisions except DWC3_usb3 >= 310a
    wait 1ms unconditionally for ENDXFER completion when IOC is not
    set. This is because DWC_usb3 controller revisions >= 3.10a
    supports GUCTL2[14: Rst_actbitlater] bit which allows polling
    CMDACT bit to know whether ENDXFER command is completed.
    
    Consider a case where an IN request was queued, and parallelly
    soft_disconnect was called (due to ffs_epfile_release). This
    eventually calls stop_active_transfer with IOC cleared, hence
    send_gadget_ep_cmd() skips waiting for CMDACT cleared during
    EndXfer. For DWC3 controllers with revisions >= 310a, we don't
    forcefully wait for 1ms either, and we proceed by unmapping the
    requests. If ENDXFER didn't complete by this time, it leads to
    SMMU faults since the controller would still be accessing those
    requests.
    
    Fix this by ensuring ENDXFER completion by adding 1ms delay in
    __dwc3_stop_active_transfer() unconditionally.
    
    Cc: [email protected]
    Fixes: b353eb6 ("usb: dwc3: gadget: Skip waiting for CMDACT cleared during endxfer")
    Signed-off-by: Prashanth K <[email protected]>
    Acked-by: Thinh Nguyen <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Prashanth K authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    e1e9280 View commit details
    Browse the repository at this point in the history
  12. net: usb: ax88179_178a: fix link status when link is set to down/up

    commit ecf848e upstream.
    
    The idea was to keep only one reset at initialization stage in order to
    reduce the total delay, or the reset from usbnet_probe or the reset from
    usbnet_open.
    
    I have seen that restarting from usbnet_probe is necessary to avoid doing
    too complex things. But when the link is set to down/up (for example to
    configure a different mac address) the link is not correctly recovered
    unless a reset is commanded from usbnet_open.
    
    So, detect the initialization stage (first call) to not reset from
    usbnet_open after the reset from usbnet_probe and after this stage, always
    reset from usbnet_open too (when the link needs to be rechecked).
    
    Apply to all the possible devices, the behavior now is going to be the same.
    
    cc: [email protected] # 6.6+
    Fixes: 56f7861 ("net: usb: ax88179_178a: avoid writing the mac address before first reading")
    Reported-by: Isaac Ganoung <[email protected]>
    Reported-by: Yongqin Liu <[email protected]>
    Signed-off-by: Jose Ignacio Tornos Martinez <[email protected]>
    Reviewed-by: Simon Horman <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jtornosm authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    6ea2834 View commit details
    Browse the repository at this point in the history
  13. usb: typec: ucsi: displayport: Fix potential deadlock

    commit b791a67 upstream.
    
    The function ucsi_displayport_work() does not access the
    connector, so it also must not acquire the connector lock.
    
    This fixes a potential deadlock scenario:
    
    ucsi_displayport_work() -> lock(&con->lock)
    typec_altmode_vdm()
    dp_altmode_vdm()
    dp_altmode_work()
    typec_altmode_enter()
    ucsi_displayport_enter() -> lock(&con->lock)
    
    Reported-by: Mathias Nyman <[email protected]>
    Fixes: af8622f ("usb: typec: ucsi: Support for DisplayPort alt mode")
    Cc: [email protected]
    Signed-off-by: Heikki Krogerus <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Heikki Krogerus authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    e714db7 View commit details
    Browse the repository at this point in the history
  14. usb: typec: tipd: fix event checking for tps25750

    commit d64adb0 upstream.
    
    In its current form, the interrupt service routine of the tps25750
    checks the event flags in the lowest 64 bits of the interrupt event
    register (event[0]), but also in the upper part (event[1]).
    
    Given that all flags are defined as BIT() or BIT_ULL(), they are
    restricted to the first 64 bits of the INT_EVENT1 register. Including
    the upper part of the register can lead to false positives e.g. if the
    event 64 bits above the one being checked is set, but the one being
    checked is not.
    
    Restrict the flag checking to the first 64 bits of the INT_EVENT1
    register.
    
    Fixes: 7e7a3c8 ("USB: typec: tps6598x: Add TPS25750 support")
    Cc: [email protected]
    Acked-by: Heikki Krogerus <[email protected]>
    Signed-off-by: Javier Carrasco <[email protected]>
    Link: https://lore.kernel.org/r/20240429-tps6598x_fix_event_handling-v3-1-4e8e58dce489@wolfvision.net
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    JC-WV authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    aa048df View commit details
    Browse the repository at this point in the history
  15. usb: typec: tipd: fix event checking for tps6598x

    commit 409c1cf upstream.
    
    The current interrupt service routine of the tps6598x only reads the
    first 64 bits of the INT_EVENT1 and INT_EVENT2 registers, which means
    that any event above that range will be ignored, leaving interrupts
    unattended. Moreover, those events will not be cleared, and the device
    will keep the interrupt enabled.
    
    This issue has been observed while attempting to load patches, and the
    'ReadyForPatch' field (bit 81) of INT_EVENT1 was set.
    
    Given that older versions of the tps6598x (1, 2 and 6) provide 8-byte
    registers, a mechanism based on the upper byte of the version register
    (0x0F) has been included. The manufacturer has confirmed [1] that this
    byte is always 0 for older versions, and either 0xF7 (DH parts) or 0xF9
    (DK parts) is returned in newer versions (7 and 8).
    
    Read the complete INT_EVENT registers to handle all interrupts generated
    by the device and account for the hardware version to select the
    register size.
    
    Link: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1346521/tps65987d-register-command-to-distinguish-between-tps6591-2-6-and-tps65987-8 [1]
    Fixes: 0a4c005 ("usb: typec: driver for TI TPS6598x USB Power Delivery controllers")
    Cc: [email protected]
    Signed-off-by: Javier Carrasco <[email protected]>
    Link: https://lore.kernel.org/r/20240429-tps6598x_fix_event_handling-v3-2-4e8e58dce489@wolfvision.net
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    JC-WV authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    f84953c View commit details
    Browse the repository at this point in the history
  16. serial: kgdboc: Fix NMI-safety problems from keyboard reset code

    commit b2aba15 upstream.
    
    Currently, when kdb is compiled with keyboard support, then we will use
    schedule_work() to provoke reset of the keyboard status.  Unfortunately
    schedule_work() gets called from the kgdboc post-debug-exception
    handler.  That risks deadlock since schedule_work() is not NMI-safe and,
    even on platforms where the NMI is not directly used for debugging, the
    debug trap can have NMI-like behaviour depending on where breakpoints
    are placed.
    
    Fix this by using the irq work system, which is NMI-safe, to defer the
    call to schedule_work() to a point when it is safe to call.
    
    Reported-by: Liuye <[email protected]>
    Closes: https://lore.kernel.org/all/[email protected]/
    Cc: [email protected]
    Reviewed-by: Douglas Anderson <[email protected]>
    Acked-by: Greg Kroah-Hartman <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Daniel Thompson <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    daniel-thompson authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    7f93e9c View commit details
    Browse the repository at this point in the history
  17. remoteproc: mediatek: Make sure IPI buffer fits in L2TCM

    commit 331f91d upstream.
    
    The IPI buffer location is read from the firmware that we load to the
    System Companion Processor, and it's not granted that both the SRAM
    (L2TCM) size that is defined in the devicetree node is large enough
    for that, and while this is especially true for multi-core SCP, it's
    still useful to check on single-core variants as well.
    
    Failing to perform this check may make this driver perform R/W
    operations out of the L2TCM boundary, resulting (at best) in a
    kernel panic.
    
    To fix that, check that the IPI buffer fits, otherwise return a
    failure and refuse to boot the relevant SCP core (or the SCP at
    all, if this is single core).
    
    Fixes: 3efa0ea ("remoteproc/mediatek: read IPI buffer offset from FW")
    Signed-off-by: AngeloGioacchino Del Regno <[email protected]>
    Cc: [email protected]
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mathieu Poirier <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    AngeloGioacchino Del Regno authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    142405b View commit details
    Browse the repository at this point in the history
  18. KEYS: trusted: Do not use WARN when encode fails

    commit 050bf3c upstream.
    
    When asn1_encode_sequence() fails, WARN is not the correct solution.
    
    1. asn1_encode_sequence() is not an internal function (located
       in lib/asn1_encode.c).
    2. Location is known, which makes the stack trace useless.
    3. Results a crash if panic_on_warn is set.
    
    It is also noteworthy that the use of WARN is undocumented, and it
    should be avoided unless there is a carefully considered rationale to
    use it.
    
    Replace WARN with pr_err, and print the return value instead, which is
    only useful piece of information.
    
    Cc: [email protected] # v5.13+
    Fixes: f221974 ("security: keys: trusted: use ASN.1 TPM2 key format for the blobs")
    Signed-off-by: Jarkko Sakkinen <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    jarkkojs authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    b8834ec View commit details
    Browse the repository at this point in the history
  19. admin-guide/hw-vuln/core-scheduling: fix return type of PR_SCHED_CORE…

    …_GET
    
    commit 8af2d1a upstream.
    
    sched_core_share_pid() copies the cookie to userspace with
    put_user(id, (u64 __user *)uaddr), expecting 64 bits of space.
    The "unsigned long" datatype that is documented in core-scheduling.rst
    however is only 32 bits large on 32 bit architectures.
    
    Document "unsigned long long" as the correct data type that is always
    64bits large.
    
    This matches what the selftest cs_prctl_test.c has been doing all along.
    
    Fixes: 0159bb0 ("Documentation: Add usecases, design and interface for core scheduling")
    Cc: [email protected]
    Link: https://lore.kernel.org/util-linux/[email protected]/
    Signed-off-by: Thomas Weißschuh <[email protected]>
    Reviewed-by: Chris Hyser <[email protected]>
    Signed-off-by: Jonathan Corbet <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    t-8ch authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    c174a58 View commit details
    Browse the repository at this point in the history
  20. docs: kernel_include.py: Cope with docutils 0.21

    commit d43ddd5 upstream.
    
    Running "make htmldocs" on a newly installed Sphinx 7.3.7 ends up in
    a build error:
    
        Sphinx parallel build error:
        AttributeError: module 'docutils.nodes' has no attribute 'reprunicode'
    
    docutils 0.21 has removed nodes.reprunicode, quote from release note [1]:
    
      * Removed objects:
    
        docutils.nodes.reprunicode, docutils.nodes.ensure_str()
            Python 2 compatibility hacks
    
    Sphinx 7.3.0 supports docutils 0.21 [2]:
    
    kernel_include.py, whose origin is misc.py of docutils, uses reprunicode.
    
    Upstream docutils removed the offending line from the corresponding file
    (docutils/docutils/parsers/rst/directives/misc.py) in January 2022.
    Quoting the changelog [3]:
    
        Deprecate `nodes.reprunicode` and `nodes.ensure_str()`.
    
        Drop uses of the deprecated constructs (not required with Python 3).
    
    Do the same for kernel_include.py.
    
    Tested against:
      - Sphinx 2.4.5 (docutils 0.17.1)
      - Sphinx 3.4.3 (docutils 0.17.1)
      - Sphinx 5.3.0 (docutils 0.18.1)
      - Sphinx 6.2.1 (docutils 0.19)
      - Sphinx 7.2.6 (docutils 0.20.1)
      - Sphinx 7.3.7 (docutils 0.21.2)
    
    Link: http://www.docutils.org/RELEASE-NOTES.html#release-0-21-2024-04-09 [1]
    Link: https://www.sphinx-doc.org/en/master/changes.html#release-7-3-0-released-apr-16-2024 [2]
    Link: docutils/docutils@c8471ce47a24 [3]
    Signed-off-by: Akira Yokosawa <[email protected]>
    Cc: [email protected]
    Signed-off-by: Jonathan Corbet <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    akiyks authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    99d11fb View commit details
    Browse the repository at this point in the history
  21. Docs/admin-guide/mm/damon/usage: fix wrong example of DAMOS filter ma…

    …tching sysfs file
    
    commit da2a061 upstream.
    
    The example usage of DAMOS filter sysfs files, specifically the part of
    'matching' file writing for memcg type filter, is wrong.  The intention is
    to exclude pages of a memcg that already getting enough care from a given
    scheme, but the example is setting the filter to apply the scheme to only
    the pages of the memcg.  Fix it.
    
    Link: https://lkml.kernel.org/r/[email protected]
    Fixes: 9b7f932 ("Docs/admin-guide/mm/damon/usage: document DAMOS filters of sysfs")
    Closes: https://lore.kernel.org/r/[email protected]
    Signed-off-by: SeongJae Park <[email protected]>
    Cc: <[email protected]>	[6.3.x]
    Cc: Jonathan Corbet <[email protected]>
    Cc: Shuah Khan <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    sjp38 authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    6694119 View commit details
    Browse the repository at this point in the history
  22. block: add a disk_has_partscan helper

    commit 140ce28 upstream.
    
    Add a helper to check if partition scanning is enabled instead of
    open coding the check in a few places.  This now always checks for
    the hidden flag even if all but one of the callers are never reachable
    for hidden gendisks.
    
    Signed-off-by: Christoph Hellwig <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Christoph Hellwig authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    c207c6e View commit details
    Browse the repository at this point in the history
  23. block: add a partscan sysfs attribute for disks

    commit a4217c6 upstream.
    
    Userspace had been unknowingly relying on a non-stable interface of
    kernel internals to determine if partition scanning is enabled for a
    given disk. Provide a stable interface for this purpose instead.
    
    Cc: [email protected] # 6.3+
    Depends-on: 140ce28 ("block: add a disk_has_partscan helper")
    Signed-off-by: Christoph Hellwig <[email protected]>
    Link: https://lore.kernel.org/linux-block/ZhQJf8mzq_wipkBH@gardel-login/
    Link: https://lore.kernel.org/r/[email protected]
    [axboe: add links and commit message from Keith]
    Signed-off-by: Jens Axboe <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Christoph Hellwig authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    847997d View commit details
    Browse the repository at this point in the history
  24. Linux 6.8.11

    Link: https://lore.kernel.org/r/[email protected]
    Tested-by: SeongJae Park <[email protected]>
    Tested-by: Mark Brown <[email protected]>
    Tested-by: Florian Fainelli <[email protected]>
    Tested-by: Linux Kernel Functional Testing <[email protected]>
    Tested-by: Bagas Sanjaya <[email protected]>
    Tested-by: Ron Economos <[email protected]>
    Tested-by: Pavel Machek (CIP) <[email protected]>
    Tested-by: Shuah Khan <[email protected]>
    Tested-by: Jon Hunter <[email protected]>
    Tested-by: Salvatore Bonaccorso <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    gregkh authored and Avenger-285714 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    05804bb View commit details
    Browse the repository at this point in the history