Changelog in Linux kernel 6.1.102

 
ALSA: hda/realtek: Enable headset mic on Positivo SU C1400 [+ + +]
Author: Edson Juliano Drosdeck <[email protected]>
Date:   Fri Jul 12 15:06:42 2024 -0300

    ALSA: hda/realtek: Enable headset mic on Positivo SU C1400
    
    commit 8fc1e8b230771442133d5cf5fa4313277aa2bb8b upstream.
    
    Positivo SU C1400 is equipped with ALC256, and it needs
    ALC269_FIXUP_ASPIRE_HEADSET_MIC quirk to make its headset mic work.
    
    Signed-off-by: Edson Juliano Drosdeck <[email protected]>
    Cc: <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360 [+ + +]
Author: Seunghun Han <[email protected]>
Date:   Thu Jul 18 17:09:08 2024 +0900

    ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360
    
    commit d7063c08738573fc2f3296da6d31a22fa8aa843a upstream.
    
    Samsung Galaxy Book Pro 360 (13" 2022 NT935QDB-KC71S) with codec SSID
    144d:c1a4 requires the same workaround to enable the speaker amp
    as other Samsung models with the ALC298 codec.
    
    Signed-off-by: Seunghun Han <[email protected]>
    Cc: <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

ALSA: pcm_dmaengine: Don't synchronize DMA channel when DMA is paused [+ + +]
Author: Shengjiu Wang <[email protected]>
Date:   Wed Jul 17 14:44:53 2024 +0800

    ALSA: pcm_dmaengine: Don't synchronize DMA channel when DMA is paused
    
    commit 88e98af9f4b5b0d60c1fe7f7f2701b5467691e75 upstream.
    
    When suspended, the DMA channel may enter PAUSE state if dmaengine_pause()
    is supported by DMA.
    At this state, dmaengine_synchronize() should not be called, otherwise
    the DMA channel can't be resumed successfully.
    
    Fixes: e8343410ddf0 ("ALSA: dmaengine: Synchronize dma channel after drop()")
    Signed-off-by: Shengjiu Wang <[email protected]>
    Cc: <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

 
arm64: dts: qcom: ipq6018: Disable SS instance in Parkmode for USB [+ + +]
Author: Krishna Kurapati <[email protected]>
Date:   Thu Jul 4 20:58:41 2024 +0530

    arm64: dts: qcom: ipq6018: Disable SS instance in Parkmode for USB
    
    commit 4ae4837871ee8c8b055cf8131f65d31ee4208fa0 upstream.
    
    For Gen-1 targets like IPQ6018, it is seen that stressing out the
    controller in host mode results in HC died error:
    
     xhci-hcd.12.auto: xHCI host not responding to stop endpoint command
     xhci-hcd.12.auto: xHCI host controller not responding, assume dead
     xhci-hcd.12.auto: HC died; cleaning up
    
    And at this instant only restarting the host mode fixes it. Disable
    SuperSpeed instance in park mode for IPQ6018 to mitigate this issue.
    
    Cc: [email protected]
    Fixes: 20bb9e3dd2e4 ("arm64: dts: qcom: ipq6018: add usb3 DT description")
    Signed-off-by: Krishna Kurapati <[email protected]>
    Reviewed-by: Konrad Dybcio <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Bjorn Andersson <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

arm64: dts: qcom: msm8996: Disable SS instance in Parkmode for USB [+ + +]
Author: Krishna Kurapati <[email protected]>
Date:   Thu Jul 4 20:58:47 2024 +0530

    arm64: dts: qcom: msm8996: Disable SS instance in Parkmode for USB
    
    commit 44ea1ae3cf95db97e10d6ce17527948121f1dd4b upstream.
    
    For Gen-1 targets like MSM8996, it is seen that stressing out the
    controller in host mode results in HC died error:
    
     xhci-hcd.12.auto: xHCI host not responding to stop endpoint command
     xhci-hcd.12.auto: xHCI host controller not responding, assume dead
     xhci-hcd.12.auto: HC died; cleaning up
    
    And at this instant only restarting the host mode fixes it. Disable
    SuperSpeed instance in park mode for MSM8996 to mitigate this issue.
    
    Cc: [email protected]
    Fixes: 1e39255ed29d ("arm64: dts: msm8996: Add device node for qcom,dwc3")
    Signed-off-by: Krishna Kurapati <[email protected]>
    Reviewed-by: Konrad Dybcio <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Bjorn Andersson <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

arm64: dts: qcom: sdm630: Disable SS instance in Parkmode for USB [+ + +]
Author: Krishna Kurapati <[email protected]>
Date:   Thu Jul 4 20:58:44 2024 +0530

    arm64: dts: qcom: sdm630: Disable SS instance in Parkmode for USB
    
    commit fad58a41b84667cb6c9232371fc3af77d4443889 upstream.
    
    For Gen-1 targets like SDM630, it is seen that stressing out the
    controller in host mode results in HC died error:
    
     xhci-hcd.12.auto: xHCI host not responding to stop endpoint command
     xhci-hcd.12.auto: xHCI host controller not responding, assume dead
     xhci-hcd.12.auto: HC died; cleaning up
    
    And at this instant only restarting the host mode fixes it. Disable
    SuperSpeed instance in park mode for SDM630 to mitigate this issue.
    
    Cc: [email protected]
    Fixes: c65a4ed2ea8b ("arm64: dts: qcom: sdm630: Add USB configuration")
    Signed-off-by: Krishna Kurapati <[email protected]>
    Reviewed-by: Konrad Dybcio <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Bjorn Andersson <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

 
btrfs: do not BUG_ON on failure to get dir index for new snapshot [+ + +]
Author: Filipe Manana <[email protected]>
Date:   Tue Jun 13 16:42:16 2023 +0100

    btrfs: do not BUG_ON on failure to get dir index for new snapshot
    
    commit df9f278239046719c91aeb59ec0afb1a99ee8b2b upstream.
    
    During the transaction commit path, at create_pending_snapshot(), there
    is no need to BUG_ON() in case we fail to get a dir index for the snapshot
    in the parent directory. This should fail very rarely because the parent
    inode should be loaded in memory already, with the respective delayed
    inode created and the parent inode's index_cnt field already initialized.
    
    However if it fails, it may be -ENOMEM like the comment at
    create_pending_snapshot() says or any error returned by
    btrfs_search_slot() through btrfs_set_inode_index_count(), which can be
    pretty much anything such as -EIO or -EUCLEAN for example. So the comment
    is not correct when it says it can only be -ENOMEM.
    
    However doing a BUG_ON() here is overkill, since we can instead abort
    the transaction and return the error. Note that any error returned by
    create_pending_snapshot() will eventually result in a transaction
    abort at cleanup_transaction(), called from btrfs_commit_transaction(),
    but we can explicitly abort the transaction at this point instead so that
    we get a stack trace to tell us that the call to btrfs_set_inode_index()
    failed.
    
    So just abort the transaction and return in case btrfs_set_inode_index()
    returned an error at create_pending_snapshot().
    
    Reviewed-by: Johannes Thumshirn <[email protected]>
    Signed-off-by: Filipe Manana <[email protected]>
    Reviewed-by: David Sterba <[email protected]>
    Signed-off-by: David Sterba <[email protected]>
    Signed-off-by: Sergio González Collado <[email protected]>
    Reported-by: [email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

 
drm/amdgpu: Fix signedness bug in sdma_v4_0_process_trap_irq() [+ + +]
Author: Dan Carpenter <[email protected]>
Date:   Sun Apr 28 15:57:00 2024 +0300

    drm/amdgpu: Fix signedness bug in sdma_v4_0_process_trap_irq()
    
    commit 6769a23697f17f9bf9365ca8ed62fe37e361a05a upstream.
    
    The "instance" variable needs to be signed for the error handling to work.
    
    Fixes: 8b2faf1a4f3b ("drm/amdgpu: add error handle to avoid out-of-bounds")
    Reviewed-by: Bob Zhou <[email protected]>
    Signed-off-by: Dan Carpenter <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: Siddh Raman Pant <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
 
f2fs: avoid dead loop in f2fs_issue_checkpoint() [+ + +]
Author: Chao Yu <[email protected]>
Date:   Fri Jun 2 16:36:05 2023 +0800

    f2fs: avoid dead loop in f2fs_issue_checkpoint()
    
    commit 5079e1c0c879311668b77075de3e701869804adf upstream.
    
    generic/082 reports a bug as below:
    
    __schedule+0x332/0xf60
    schedule+0x6f/0xf0
    schedule_timeout+0x23b/0x2a0
    wait_for_completion+0x8f/0x140
    f2fs_issue_checkpoint+0xfe/0x1b0
    f2fs_sync_fs+0x9d/0xb0
    sync_filesystem+0x87/0xb0
    dquot_load_quota_sb+0x41b/0x460
    dquot_load_quota_inode+0xa5/0x130
    dquot_quota_on+0x4b/0x60
    f2fs_quota_on+0xe3/0x1b0
    do_quotactl+0x483/0x700
    __x64_sys_quotactl+0x15c/0x310
    do_syscall_64+0x3f/0x90
    entry_SYSCALL_64_after_hwframe+0x72/0xdc
    
    The root casue is race case as below:
    
    Thread A                        Kworker                 IRQ
    - write()
    : write data to quota.user file
    
                                    - writepages
                                     - f2fs_submit_page_write
                                      - __is_cp_guaranteed return false
                                      - inc_page_count(F2FS_WB_DATA)
                                     - submit_bio
    - quotactl(Q_QUOTAON)
     - f2fs_quota_on
      - dquot_quota_on
       - dquot_load_quota_inode
        - vfs_setup_quota_inode
        : inode->i_flags |= S_NOQUOTA
                                                            - f2fs_write_end_io
                                                             - __is_cp_guaranteed return true
                                                             - dec_page_count(F2FS_WB_CP_DATA)
        - dquot_load_quota_sb
         - f2fs_sync_fs
          - f2fs_issue_checkpoint
           - do_checkpoint
            - f2fs_wait_on_all_pages(F2FS_WB_CP_DATA)
            : loop due to F2FS_WB_CP_DATA count is negative
    
    Calling filemap_fdatawrite() and filemap_fdatawait() to keep all data
    clean before quota file setup.
    
    Signed-off-by: Chao Yu <[email protected]>
    Signed-off-by: Jaegeuk Kim <[email protected]>
    Signed-off-by: Sergio González Collado <[email protected]>
    Reported-by: [email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

 
filelock: Fix fcntl/close race recovery compat path [+ + +]
Author: Jann Horn <[email protected]>
Date:   Tue Jul 23 17:03:56 2024 +0200

    filelock: Fix fcntl/close race recovery compat path
    
    commit f8138f2ad2f745b9a1c696a05b749eabe44337ea upstream.
    
    When I wrote commit 3cad1bc01041 ("filelock: Remove locks reliably when
    fcntl/close race is detected"), I missed that there are two copies of the
    code I was patching: The normal version, and the version for 64-bit offsets
    on 32-bit kernels.
    Thanks to Greg KH for stumbling over this while doing the stable
    backport...
    
    Apply exactly the same fix to the compat path for 32-bit kernels.
    
    Fixes: c293621bbf67 ("[PATCH] stale POSIX lock handling")
    Cc: [email protected]
    Link: https://bugs.chromium.org/p/project-zero/issues/detail?id=2563
    Signed-off-by: Jann Horn <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Christian Brauner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

 
fs/ntfs3: Validate ff offset [+ + +]
Author: lei lu <[email protected]>
Date:   Wed May 29 02:52:22 2024 +0800

    fs/ntfs3: Validate ff offset
    
    commit 50c47879650b4c97836a0086632b3a2e300b0f06 upstream.
    
    This adds sanity checks for ff offset. There is a check
    on rt->first_free at first, but walking through by ff
    without any check. If the second ff is a large offset.
    We may encounter an out-of-bound read.
    
    Signed-off-by: lei lu <[email protected]>
    Signed-off-by: Konstantin Komarov <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

 
jfs: don't walk off the end of ealist [+ + +]
Author: lei lu <[email protected]>
Date:   Wed May 29 02:30:40 2024 +0800

    jfs: don't walk off the end of ealist
    
    commit d0fa70aca54c8643248e89061da23752506ec0d4 upstream.
    
    Add a check before visiting the members of ea to
    make sure each ea stays within the ealist.
    
    Signed-off-by: lei lu <[email protected]>
    Signed-off-by: Dave Kleikamp <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

 
Linux: Linux 6.1.102 [+ + +]
Author: Greg Kroah-Hartman <[email protected]>
Date:   Sat Jul 27 11:32:20 2024 +0200

    Linux 6.1.102
    
    Link: https://lore.kernel.org/r/[email protected]
    Tested-by: Peter Schneider <[email protected]>
    Tested-by: SeongJae Park <[email protected]>
    Tested-by: Pavel Machek (CIP) <[email protected]>
    Tested-by: Ron Economos <[email protected]>
    Tested-by: Mark Brown <[email protected]>
    Tested-by: Shuah Khan <[email protected]>
    Tested-by: Jon Hunter <[email protected]>
    Tested-by: Linux Kernel Functional Testing <[email protected]>
    Tested-by: ChromeOS CQ Test <[email protected]>
    Tested-by: Florian Fainelli <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

 
ocfs2: add bounds checking to ocfs2_check_dir_entry() [+ + +]
Author: lei lu <[email protected]>
Date:   Wed Jun 26 18:44:33 2024 +0800

    ocfs2: add bounds checking to ocfs2_check_dir_entry()
    
    commit 255547c6bb8940a97eea94ef9d464ea5967763fb upstream.
    
    This adds sanity checks for ocfs2_dir_entry to make sure all members of
    ocfs2_dir_entry don't stray beyond valid memory region.
    
    Link: https://lkml.kernel.org/r/[email protected]
    Signed-off-by: lei lu <[email protected]>
    Reviewed-by: Heming Zhao <[email protected]>
    Reviewed-by: Joseph Qi <[email protected]>
    Cc: Mark Fasheh <[email protected]>
    Cc: Joel Becker <[email protected]>
    Cc: Junxiao Bi <[email protected]>
    Cc: Changwei Ge <[email protected]>
    Cc: Gang He <[email protected]>
    Cc: Jun Piao <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

 
tap: add missing verification for short frame [+ + +]
Author: Si-Wei Liu <[email protected]>
Date:   Wed Jul 24 10:04:51 2024 -0700

    tap: add missing verification for short frame
    
    commit ed7f2afdd0e043a397677e597ced0830b83ba0b3 upstream.
    
    The cited commit missed to check against the validity of the frame length
    in the tap_get_user_xdp() path, which could cause a corrupted skb to be
    sent downstack. Even before the skb is transmitted, the
    tap_get_user_xdp()-->skb_set_network_header() may assume the size is more
    than ETH_HLEN. Once transmitted, this could either cause out-of-bound
    access beyond the actual length, or confuse the underlayer with incorrect
    or inconsistent header length in the skb metadata.
    
    In the alternative path, tap_get_user() already prohibits short frame which
    has the length less than Ethernet header size from being transmitted.
    
    This is to drop any frame shorter than the Ethernet header size just like
    how tap_get_user() does.
    
    CVE: CVE-2024-41090
    Link: https://lore.kernel.org/netdev/[email protected]/
    Fixes: 0efac27791ee ("tap: accept an array of XDP buffs through sendmsg()")
    Cc: [email protected]
    Signed-off-by: Si-Wei Liu <[email protected]>
    Signed-off-by: Dongli Zhang <[email protected]>
    Reviewed-by: Willem de Bruijn <[email protected]>
    Reviewed-by: Paolo Abeni <[email protected]>
    Reviewed-by: Jason Wang <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>

 
tun: add missing verification for short frame [+ + +]
Author: Dongli Zhang <[email protected]>
Date:   Wed Jul 24 10:04:52 2024 -0700

    tun: add missing verification for short frame
    
    commit 049584807f1d797fc3078b68035450a9769eb5c3 upstream.
    
    The cited commit missed to check against the validity of the frame length
    in the tun_xdp_one() path, which could cause a corrupted skb to be sent
    downstack. Even before the skb is transmitted, the
    tun_xdp_one-->eth_type_trans() may access the Ethernet header although it
    can be less than ETH_HLEN. Once transmitted, this could either cause
    out-of-bound access beyond the actual length, or confuse the underlayer
    with incorrect or inconsistent header length in the skb metadata.
    
    In the alternative path, tun_get_user() already prohibits short frame which
    has the length less than Ethernet header size from being transmitted for
    IFF_TAP.
    
    This is to drop any frame shorter than the Ethernet header size just like
    how tun_get_user() does.
    
    CVE: CVE-2024-41091
    Inspired-by: https://lore.kernel.org/netdev/[email protected]/
    Fixes: 043d222f93ab ("tuntap: accept an array of XDP buffs through sendmsg()")
    Cc: [email protected]
    Signed-off-by: Dongli Zhang <[email protected]>
    Reviewed-by: Si-Wei Liu <[email protected]>
    Reviewed-by: Willem de Bruijn <[email protected]>
    Reviewed-by: Paolo Abeni <[email protected]>
    Reviewed-by: Jason Wang <[email protected]>
    Link: https://patch.msgid.link/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>