6.1.102-rc1 review
Subsystems (3)
Greg Kroah-Hartman
maintainercover 6.1.102-rc1 review
This is the start of the stable review cycle for the 6.1.102 release. There are 13 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 27 Jul 2024 14:27:16 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.102-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.1.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 6.1.102-rc1
Filipe Manana <[email protected]>
btrfs: do not BUG_ON on failure to get dir index for new snapshot
Jann Horn <[email protected]>
filelock: Fix fcntl/close race recovery compat path
Shengjiu Wang <[email protected]>
ALSA: pcm_dmaengine: Don't synchronize DMA channel when DMA is paused
Krishna Kurapati <[email protected]>
arm64: dts: qcom: sdm630: Disable SS instance in Parkmode for USB
Krishna Kurapati <[email protected]>
arm64: dts: qcom: ipq6018: Disable SS instance in Parkmode for USB
Krishna Kurapati <[email protected]>
arm64: dts: qcom: msm8996: Disable SS instance in Parkmode for USB
Seunghun Han <[email protected]>
ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360
Edson Juliano Drosdeck <[email protected]>
ALSA: hda/realtek: Enable headset mic on Positivo SU C1400
lei lu <[email protected]>
fs/ntfs3: Validate ff offset
lei lu <[email protected]>
jfs: don't walk off the end of ealist
lei lu <[email protected]>
ocfs2: add bounds checking to ocfs2_check_dir_entry()
Chao Yu <[email protected]>
f2fs: avoid dead loop in f2fs_issue_checkpoint()
Dan Carpenter <[email protected]>
drm/amdgpu: Fix signedness bug in sdma_v4_0_process_trap_irq()
-------------
Diffstat:
Makefile | 4 +-- arch/arm64/boot/dts/qcom/ipq6018.dtsi | 1 + arch/arm64/boot/dts/qcom/msm8996.dtsi | 1 + arch/arm64/boot/dts/qcom/sdm630.dtsi | 1 + drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 2 +- fs/btrfs/transaction.c | 5 +++- fs/f2fs/super.c | 15 +++++++++-- fs/jfs/xattr.c | 23 ++++++++++++++--- fs/locks.c | 9 +++---- fs/ntfs3/fslog.c | 6 ++++- fs/ocfs2/dir.c | 46 +++++++++++++++++++++------------- sound/core/pcm_dmaengine.c | 6 ++++- sound/pci/hda/patch_realtek.c | 2 ++ 13 files changed, 87 insertions(+), 34 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/13 drm/amdgpu: Fix signedness bug in sdma_v4_0_process_trap_irq()
6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dan Carpenter <[email protected]>
commit 6769a23697f17f9bf9365ca8ed62fe37e361a05a upstream.
The "instance" variable needs to be signed for the error handling to work.
--- drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +1 -1
@@ -2045,7 +2045,7 @@ static int sdma_v4_0_process_trap_irq(ststruct amdgpu_irq_src *source, struct amdgpu_iv_entry *entry) { - uint32_t instance; + int instance;DRM_DEBUG ("IH: SDMA trap\n" ); instance =sdma_v4_0_irq_id_to_seq (entry->client_id);
Greg Kroah-Hartman
maintainerPATCH 2/13 f2fs: avoid dead loop in f2fs_issue_checkpoint()
In reply to Greg Kroah-Hartman6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Chao Yu <[email protected]>
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.
--- fs/f2fs/super.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)
fs/f2fs/super.c +13 -2
@@ -2824,15 +2824,26 @@ static int f2fs_quota_on(struct super_blreturn -EBUSY ; } +if (path->dentry->d_sb != sb) +return -EXDEV ; + err =f2fs_quota_sync (sb, type);if (err)return err; - err =dquot_quota_on (sb, type, format_id, path); + inode =d_inode (path->dentry); + + err =filemap_fdatawrite (inode->i_mapping);if (err)return err; - inode =d_inode (path->dentry); + err =filemap_fdatawait (inode->i_mapping); +if (err) +return err; + + err =dquot_quota_on (sb, type, format_id, path); +if (err) +return err;inode_lock (inode);F2FS_I (inode)->i_flags |=F2FS_NOATIME_FL |F2FS_IMMUTABLE_FL ;
Greg Kroah-Hartman
maintainerPATCH 3/13 ocfs2: add bounds checking to ocfs2_check_dir_entry()
In reply to Greg Kroah-Hartman6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: lei lu <[email protected]>
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.
--- fs/ocfs2/dir.c | 46 +++++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 17 deletions(-)
fs/ocfs2/dir.c +29 -17
@@ -294,13 +294,16 @@ out:* bh passed here can be an inode block or a dir data block, depending * on the inode inline data flag. */ -static int ocfs2_check_dir_entry (struct inode * dir, -struct ocfs2_dir_entry * de, -struct buffer_head * bh, +static int ocfs2_check_dir_entry (struct inode *dir, +struct ocfs2_dir_entry *de, +struct buffer_head *bh, +char *buf, +unsigned int size,unsigned long offset) {const char *error_msg =NULL ;const int rlen =le16_to_cpu (de->rec_len); +const unsigned long next_offset = ((char *) de - buf) + rlen;if (unlikely (rlen <OCFS2_DIR_REC_LEN (1 ))) error_msg ="rec_len is smaller than minimal" ;
@@ -308,9 +311,11 @@ static int ocfs2_check_dir_entry(struct error_msg ="rec_len % 4 != 0" ; else if (unlikely(rlen < OCFS2_DIR_REC_LEN(de->name_len))) error_msg ="rec_len is too small for name_len" ; - else if (unlikely( - ((char *) de - bh->b_data) + rlen > dir->i_sb->s_blocksize)) - error_msg ="directory entry across blocks" ; + else if (unlikely(next_offset > size)) + error_msg ="directory entry overrun" ; + else if (unlikely(next_offset > size - OCFS2_DIR_REC_LEN(1)) && + next_offset != size) + error_msg = "directory entry too close to end";if (unlikely (error_msg !=NULL )) mlog(ML_ERROR, "bad entry in directory #%llu: %s - "
@@ -352,16 +357,17 @@ static inline int ocfs2_search_dirblock( de_buf = first_de; dlimit = de_buf + bytes; -while (de_buf < dlimit) { +while (de_buf < dlimit -OCFS2_DIR_MEMBER_LEN ) {/* this code is executed quadratically often */ /* do minimal checking `by hand' */ de = (struct ocfs2_dir_entry *) de_buf; -if (de_buf + namelen <= dlimit && +if (de->name + namelen <= dlimit &&ocfs2_match (namelen, name, de)) {/* found a match - just to be sure, do a full check */ -if (!ocfs2_check_dir_entry (dir, de, bh, offset)) { +if (!ocfs2_check_dir_entry (dir, de, bh, first_de, + bytes, offset)) { ret =-1 ; goto bail; }
@@ -1138,7 +1144,7 @@ static int __ocfs2_delete_entry(handle_t pde =NULL ; de = (struct ocfs2_dir_entry *) first_de;while (i < bytes) { -if (!ocfs2_check_dir_entry (dir, de, bh, i)) { +if (!ocfs2_check_dir_entry (dir, de, bh, first_de, bytes, i)) { status = -EIO ;mlog_errno (status); goto bail;
@@ -1638,7 +1644,8 @@ int __ocfs2_add_entry(handle_t *handle,/* These checks should've already been passed by the * prepare function, but I guess we can leave them * here anyway. */ -if (!ocfs2_check_dir_entry (dir, de, insert_bh, offset)) { +if (!ocfs2_check_dir_entry (dir, de, insert_bh, data_start, + size, offset)) { retval = -ENOENT ; goto bail; }
@@ -1776,7 +1783,8 @@ static int ocfs2_dir_foreach_blk_id(stru } de = (struct ocfs2_dir_entry *) (data->id_data + ctx->pos); -if (!ocfs2_check_dir_entry (inode, de, di_bh, ctx->pos)) { +if (!ocfs2_check_dir_entry (inode, de, di_bh, (char *)data->id_data, +i_size_read (inode), ctx->pos)) {/* On error, skip the f_pos to the end. */ ctx->pos =i_size_read (inode);break ;
@@ -1869,7 +1877,8 @@ static int ocfs2_dir_foreach_blk_el(struwhile (ctx->pos <i_size_read (inode) && offset < sb->s_blocksize) { de = (struct ocfs2_dir_entry *) (bh->b_data + offset); -if (!ocfs2_check_dir_entry (inode, de, bh, offset)) { +if (!ocfs2_check_dir_entry (inode, de, bh, bh->b_data, + sb->s_blocksize, offset)) {/* On error, skip the f_pos to the next block. */ ctx->pos = (ctx->pos | (sb->s_blocksize -1 )) +1 ;
@@ -3341,7 +3350,7 @@ static int ocfs2_find_dir_space_id(strucstruct super_block *sb = dir->i_sb;struct ocfs2_dinode *di = (struct ocfs2_dinode *)di_bh->b_data;struct ocfs2_dir_entry *de, *last_de =NULL ; -char *de_buf, *limit; +char *first_de, *de_buf, *limit;unsigned long offset =0 ;unsigned int rec_len, new_rec_len, free_space;
@@ -3354,14 +3363,16 @@ static int ocfs2_find_dir_space_id(strucelse free_space = dir->i_sb->s_blocksize -i_size_read (dir); - de_buf = di->id2.i_data.id_data; + first_de = di->id2.i_data.id_data; + de_buf = first_de; limit = de_buf +i_size_read (dir); rec_len =OCFS2_DIR_REC_LEN (namelen);while (de_buf < limit) { de = (struct ocfs2_dir_entry *)de_buf; -if (!ocfs2_check_dir_entry (dir, de, di_bh, offset)) { +if (!ocfs2_check_dir_entry (dir, de, di_bh, first_de, +i_size_read (dir), offset)) { ret = -ENOENT ; goto out; }
@@ -3443,7 +3454,8 @@ static int ocfs2_find_dir_space_el(struc/* move to next block */ de = (struct ocfs2_dir_entry *) bh->b_data; } -if (!ocfs2_check_dir_entry (dir, de, bh, offset)) { +if (!ocfs2_check_dir_entry (dir, de, bh, bh->b_data, blocksize, + offset)) { status = -ENOENT ; goto bail; }
Greg Kroah-Hartman
maintainerPATCH 4/13 jfs: dont walk off the end of ealist
In reply to Greg Kroah-Hartman6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: lei lu <[email protected]>
commit d0fa70aca54c8643248e89061da23752506ec0d4 upstream.
Add a check before visiting the members of ea to make sure each ea stays within the ealist.
--- fs/jfs/xattr.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-)
fs/jfs/xattr.c +19 -4
@@ -797,7 +797,7 @@ ssize_t __jfs_getxattr(struct inode *ino size_t buf_size) {struct jfs_ea_list *ealist; -struct jfs_ea *ea; +struct jfs_ea *ea, *ealist_end;struct ea_buffer ea_buf;int xattr_size;ssize_t size;
@@ -817,9 +817,16 @@ ssize_t __jfs_getxattr(struct inode *ino goto not_found; ealist = (struct jfs_ea_list *) ea_buf.xattr; + ealist_end =END_EALIST (ealist);/* Find the named attribute */ -for (ea =FIRST_EA (ealist); ea <END_EALIST (ealist); ea =NEXT_EA (ea)) +for (ea =FIRST_EA (ealist); ea < ealist_end; ea =NEXT_EA (ea)) { +if (unlikely (ea +1 > ealist_end) || +unlikely (NEXT_EA (ea) > ealist_end)) { + size = -EUCLEAN ; + goto release; + } +if ((namelen == ea->namelen) &&memcmp (name, ea->name, namelen) ==0 ) {/* Found it */
@@ -834,6 +841,7 @@ ssize_t __jfs_getxattr(struct inode *inomemcpy (data, value, size); goto release; } + } not_found: size = -ENODATA ; release:
@@ -861,7 +869,7 @@ ssize_t jfs_listxattr(struct dentry * dessize_t size =0 ;int xattr_size;struct jfs_ea_list *ealist; -struct jfs_ea *ea; +struct jfs_ea *ea, *ealist_end;struct ea_buffer ea_buf;down_read (&JFS_IP (inode)->xattr_sem);
@@ -876,9 +884,16 @@ ssize_t jfs_listxattr(struct dentry * de goto release; ealist = (struct jfs_ea_list *) ea_buf.xattr; + ealist_end =END_EALIST (ealist);/* compute required size of list */ -for (ea =FIRST_EA (ealist); ea <END_EALIST (ealist); ea =NEXT_EA (ea)) { +for (ea =FIRST_EA (ealist); ea < ealist_end; ea =NEXT_EA (ea)) { +if (unlikely (ea +1 > ealist_end) || +unlikely (NEXT_EA (ea) > ealist_end)) { + size = -EUCLEAN ; + goto release; + } +if (can_list (ea)) size +=name_size (ea) +1 ; }
Greg Kroah-Hartman
maintainerPATCH 5/13 fs/ntfs3: Validate ff offset
In reply to Greg Kroah-Hartman6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: lei lu <[email protected]>
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.
--- fs/ntfs3/fslog.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
fs/ntfs3/fslog.c +5 -1
@@ -724,7 +724,8 @@ static bool check_rstbl(const struct RESif (!rsize || rsize > bytes || rsize +sizeof (struct RESTART_TABLE ) > bytes || bytes < ts || -le16_to_cpu (rt->total) > ne || ff > ts || lf > ts || +le16_to_cpu (rt->total) > ne || + ff > ts -sizeof (__le32) || lf > ts -sizeof (__le32) || (ff && ff <sizeof (struct RESTART_TABLE )) || (lf && lf <sizeof (struct RESTART_TABLE ))) {return false;
@@ -754,6 +755,9 @@ static bool check_rstbl(const struct RESreturn false; off =le32_to_cpu (*(__le32 *)Add2Ptr (rt, off)); + +if (off > ts -sizeof (__le32)) +return false; }return true;
Greg Kroah-Hartman
maintainerPATCH 6/13 ALSA: hda/realtek: Enable headset mic on Positivo SU C1400
In reply to Greg Kroah-Hartman6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Edson Juliano Drosdeck <[email protected]>
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.
--- sound/pci/hda/patch_realtek.c | 1 + 1 file changed, 1 insertion(+)
sound/pci/hda/patch_realtek.c +1 -0
@@ -9928,6 +9928,7 @@ static const struct snd_pci_quirk alc269SND_PCI_QUIRK (0x10cf ,0x1845 ,"Lifebook U904" ,ALC269_FIXUP_LIFEBOOK_EXTMIC ),SND_PCI_QUIRK (0x10ec ,0x10f2 ,"Intel Reference board" ,ALC700_FIXUP_INTEL_REFERENCE ),SND_PCI_QUIRK (0x10ec ,0x118c ,"Medion EE4254 MD62100" ,ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE ), +SND_PCI_QUIRK (0x10ec ,0x119e ,"Positivo SU C1400" ,ALC269_FIXUP_ASPIRE_HEADSET_MIC ),SND_PCI_QUIRK (0x10ec ,0x11bc ,"VAIO VJFE-IL" ,ALC269_FIXUP_LIMIT_INT_MIC_BOOST ),SND_PCI_QUIRK (0x10ec ,0x1230 ,"Intel Reference board" ,ALC295_FIXUP_CHROME_BOOK ), SND_PCI_QUIRK(0x10ec, 0x124c, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
Greg Kroah-Hartman
maintainerPATCH 7/13 ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360
In reply to Greg Kroah-Hartman6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Seunghun Han <[email protected]>
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.
--- sound/pci/hda/patch_realtek.c | 1 + 1 file changed, 1 insertion(+)
sound/pci/hda/patch_realtek.c +1 -0
@@ -9942,6 +9942,7 @@ static const struct snd_pci_quirk alc269SND_PCI_QUIRK (0x144d ,0xc189 ,"Samsung Galaxy Flex Book (NT950QCG-X716)" ,ALC298_FIXUP_SAMSUNG_AMP ),SND_PCI_QUIRK (0x144d ,0xc18a ,"Samsung Galaxy Book Ion (NP930XCJ-K01US)" ,ALC298_FIXUP_SAMSUNG_AMP ),SND_PCI_QUIRK (0x144d ,0xc1a3 ,"Samsung Galaxy Book Pro (NP935XDB-KC1SE)" ,ALC298_FIXUP_SAMSUNG_AMP ), +SND_PCI_QUIRK (0x144d ,0xc1a4 ,"Samsung Galaxy Book Pro 360 (NT935QBD)" ,ALC298_FIXUP_SAMSUNG_AMP ),SND_PCI_QUIRK (0x144d ,0xc1a6 ,"Samsung Galaxy Book Pro 360 (NP930QBD)" ,ALC298_FIXUP_SAMSUNG_AMP ),SND_PCI_QUIRK (0x144d ,0xc740 ,"Samsung Ativ book 8 (NP870Z5G)" ,ALC269_FIXUP_ATIV_BOOK_8 ), SND_PCI_QUIRK(0x144d, 0xc812, "Samsung Notebook Pen S (NT950SBE-X58)", ALC298_FIXUP_SAMSUNG_AMP),
Greg Kroah-Hartman
maintainerPATCH 8/13 arm64: dts: qcom: msm8996: Disable SS instance in Parkmode for USB
In reply to Greg Kroah-Hartman6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Krishna Kurapati <[email protected]>
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.
--- arch/arm64/boot/dts/qcom/msm8996.dtsi | 1 + 1 file changed, 1 insertion(+)
arch/arm64/boot/dts/qcom/msm8996.dtsi +1 -0
@@ -3004,6 +3004,7 @@ snps,dis_u2_susphy_quirk; snps,dis_enblslpm_quirk; snps,is-utmi-l1-suspend; + snps,parkmode-disable-ss-quirk; tx-fifo-resize; }; };
Greg Kroah-Hartman
maintainerPATCH 9/13 arm64: dts: qcom: ipq6018: Disable SS instance in Parkmode for USB
In reply to Greg Kroah-Hartman6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Krishna Kurapati <[email protected]>
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.
--- arch/arm64/boot/dts/qcom/ipq6018.dtsi | 1 + 1 file changed, 1 insertion(+)
arch/arm64/boot/dts/qcom/ipq6018.dtsi +1 -0
@@ -760,6 +760,7 @@ clocks = <&xo>; clock-names = "ref"; tx-fifo-resize; + snps,parkmode-disable-ss-quirk; snps,is-utmi-l1-suspend; snps,hird-threshold = /bits/ 8 <0x0>; snps,dis_u2_susphy_quirk;
Greg Kroah-Hartman
maintainerPATCH 10/13 arm64: dts: qcom: sdm630: Disable SS instance in Parkmode for USB
In reply to Greg Kroah-Hartman6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Krishna Kurapati <[email protected]>
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.
--- arch/arm64/boot/dts/qcom/sdm630.dtsi | 1 + 1 file changed, 1 insertion(+)
arch/arm64/boot/dts/qcom/sdm630.dtsi +1 -0
@@ -1243,6 +1243,7 @@ interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; snps,dis_u2_susphy_quirk; snps,dis_enblslpm_quirk; + snps,parkmode-disable-ss-quirk; /* * SDM630 technically supports USB3 but I
Greg Kroah-Hartman
maintainerPATCH 11/13 ALSA: pcm_dmaengine: Dont synchronize DMA channel when DMA is paused
In reply to Greg Kroah-Hartman6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Shengjiu Wang <[email protected]>
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.
--- sound/core/pcm_dmaengine.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
sound/core/pcm_dmaengine.c +5 -1
@@ -352,8 +352,12 @@ EXPORT_SYMBOL_GPL(snd_dmaengine_pcm_openint snd_dmaengine_pcm_sync_stop (struct snd_pcm_substream *substream) {struct dmaengine_pcm_runtime_data *prtd =substream_to_prtd (substream); +struct dma_tx_state state; +enum dma_status status; -dmaengine_synchronize (prtd->dma_chan); + status =dmaengine_tx_status (prtd->dma_chan, prtd->cookie, &state); +if (status !=DMA_PAUSED ) +dmaengine_synchronize (prtd->dma_chan);return 0 ; }
Greg Kroah-Hartman
maintainerPATCH 12/13 filelock: Fix fcntl/close race recovery compat path
In reply to Greg Kroah-Hartman6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jann Horn <[email protected]>
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.
--- fs/locks.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
fs/locks.c +4 -5
@@ -2516,8 +2516,9 @@ int fcntl_setlk64(unsigned int fd, struc error =do_lock_file_wait (filp, cmd, file_lock);/* -* Attempt to detect a close/fcntl race and recover by releasing the -* lock that was just acquired. There is no need to do that when we're +* Detect close/fcntl races and recover by zapping all POSIX locks +* associated with this file and our files_struct, just like on +* filp_flush(). There is no need to do that when we're * unlocking though, or for OFD locks. */ if (!error && file_lock->fl_type != F_UNLCK &&
@@ -2532,9 +2533,7 @@ int fcntl_setlk64(unsigned int fd, struc f =files_lookup_fd_locked (files, fd);spin_unlock (&files->file_lock);if (f != filp) { - file_lock->fl_type =F_UNLCK ; - error =do_lock_file_wait (filp, cmd, file_lock); -WARN_ON_ONCE (error); +locks_remove_posix (filp, files); error = -EBADF ; } }
Greg Kroah-Hartman
maintainerPATCH 13/13 btrfs: do not BUG_ON on failure to get dir index for new snapshot
In reply to Greg Kroah-Hartman6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Filipe Manana <[email protected]>
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().
--- fs/btrfs/transaction.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
fs/btrfs/transaction.c +4 -1
@@ -1701,7 +1701,10 @@ static noinline int create_pending_snaps* insert the directory item */ ret =btrfs_set_inode_index (BTRFS_I (parent_inode), &index); -BUG_ON (ret);/* -ENOMEM */ +if (ret) { +btrfs_abort_transaction (trans, ret); + goto fail; + }/* check if there is a file/dir which has the same name. */ dir_item = btrfs_lookup_dir_item(NULL, parent_root, path,
Am 25.07.2024 um 16:37 schrieb Greg Kroah-Hartman:
Quoted 4 lines
This is the start of the stable review cycle for the 6.1.102 release. There are 13 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Builds, boots and works on my 2-socket Ivy Bridge Xeon E5-2697 v2 server. No dmesg oddities or regressions found.
Beste Grüße,
Peter Schneider
Signature · 8 lines
Climb the mountain not to plant your flag, but to embrace the challenge, enjoy the air and behold the view. Climb it so you can see the world, not so the world can see you. -- David McCullough Jr. OpenPGP: 0xA3828BD796CCE11A8CADE8866E3A92C92C3FF244 Download: https://www.peters-netzplatz.de/download/pschneider1968_pub.asc https://keys.mailvelope.com/pks/lookup?op=get&[email protected] https://keys.mailvelope.com/pks/lookup?op=get&[email protected]
Hello,
Quoted 5 lines · On Thu, 25 Jul 2024 16:37:09 +0200 Greg Kroah-Hartman…
This is the start of the stable review cycle for the 6.1.102 release. There are 13 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Quoted 8 lines
Responses should be made by Sat, 27 Jul 2024 14:27:16 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.102-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.
This rc kernel passes DAMON functionality test[1] on my test machine. Attaching the test results summary below. Please note that I retrieved the kernel from linux-stable-rc tree[2].
[1] https://github.com/awslabs/damon-tests/tree/next/corr
[2] dc0e6d516f8a ("Linux 6.1.102-rc1")
Thanks,
SJ
[...]
---
ok 1 selftests: damon: debugfs_attrs.sh
ok 2 selftests: damon: debugfs_schemes.sh
ok 3 selftests: damon: debugfs_target_ids.sh
ok 4 selftests: damon: debugfs_empty_targets.sh
ok 5 selftests: damon: debugfs_huge_count_read_write.sh
ok 6 selftests: damon: debugfs_duplicate_context_creation.sh
ok 7 selftests: damon: sysfs.sh
ok 1 selftests: damon-tests: kunit.sh
ok 2 selftests: damon-tests: huge_count_read_write.sh
ok 3 selftests: damon-tests: buffer_overflow.sh
ok 4 selftests: damon-tests: rm_contexts.sh
ok 5 selftests: damon-tests: record_null_deref.sh
ok 6 selftests: damon-tests: dbgfs_target_ids_read_before_terminate_race.sh ok 7 selftests: damon-tests: dbgfs_target_ids_pid_leak.sh
ok 8 selftests: damon-tests: damo_tests.sh
ok 9 selftests: damon-tests: masim-record.sh
ok 10 selftests: damon-tests: build_i386.sh
ok 11 selftests: damon-tests: build_arm64.sh
ok 12 selftests: damon-tests: build_m68k.sh
ok 13 selftests: damon-tests: build_i386_idle_flag.sh
ok 14 selftests: damon-tests: build_i386_highpte.sh
ok 15 selftests: damon-tests: build_nomemcg.sh
[33m
[92mPASS [39m
Hi!
Quoted 4 lines
This is the start of the stable review cycle for the 6.1.102 release. There are 13 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
CIP testing did not find any problems here:
https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-6.1.y
Best regards,
Pavel
Signature · 2 lines
DENX Software Engineering GmbH, Managing Director: Erika Unter HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.102 release. There are 13 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 27 Jul 2024 14:27:16 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.102-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
Built and booted successfully on RISC-V RV64 (HiFive Unmatched).
Quoted 4 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.102 release. There are 13 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.102 release. There are 13 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 27 Jul 2024 14:27:16 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.102-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.102 release. There are 13 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 27 Jul 2024 14:27:16 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.102-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
All tests passing for Tegra ...
Test results for stable-v6.1:
10 builds: 10 pass, 0 fail
26 boots: 26 pass, 0 fail
116 tests: 116 pass, 0 failLinux version: 6.1.102-rc1-gdc0e6d516f8a
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000,
tegra20-ventana, tegra210-p2371-2180,
tegra210-p3450-0000, tegra30-cardhu-a04Jon
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.102 release. There are 13 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 27 Jul 2024 14:27:16 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.102-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.
## Build
* kernel: 6.1.102-rc1
* git: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
* git commit: dc0e6d516f8a1f3321312ba50a0750559f9dc526
* git describe: v6.1.101-14-gdc0e6d516f8a
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1.101-14-gdc0e6d516f8a
## Test Regressions (compared to v6.1.100-106-gef20ea3e5a9f)
## Metric Regressions (compared to v6.1.100-106-gef20ea3e5a9f)
## Test Fixes (compared to v6.1.100-106-gef20ea3e5a9f)
## Metric Fixes (compared to v6.1.100-106-gef20ea3e5a9f)
## Test result summary
total: 47994, pass: 37873, fail: 907, skip: 9174, xfail: 40
## Build Summary
* arc: 5 total, 5 passed, 0 failed
* arm: 133 total, 133 passed, 0 failed
* arm64: 36 total, 36 passed, 0 failed
* i386: 27 total, 27 passed, 0 failed
* mips: 24 total, 24 passed, 0 failed
* parisc: 3 total, 3 passed, 0 failed
* powerpc: 34 total, 34 passed, 0 failed
* riscv: 9 total, 9 passed, 0 failed
* s390: 12 total, 12 passed, 0 failed
* sh: 10 total, 10 passed, 0 failed
* sparc: 6 total, 6 passed, 0 failed
* x86_64: 31 total, 31 passed, 0 failed
## Test suites summary
* boot
* kselftest-arm64
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-exec
* kselftest-fpu
* kselftest-ftrace
* kselftest-futex
* kselftest-gpio
* kselftest-ipc
* kselftest-kcmp
* kselftest-kvm
* kselftest-membarrier
* kselftest-mincore
* kselftest-mqueue
* kselftest-net
* kselftest-openat2
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user_events
* kselftest-vDSO
* kselftest-watchdog
* kunit
* libgpiod
* log-parser-boot
* log-parser-test
* ltp-commands
* ltp-containers
* ltp-controllers
* ltp-cpuhotplug
* ltp-crypto
* ltp-cve
* ltp-dio
* ltp-fcntl-locktests
* ltp-fs
* ltp-fs_bind
* ltp-fs_perms_simple
* ltp-hugetlb
* ltp-ipc
* ltp-math
* ltp-mm
* ltp-nptl
* ltp-pty
* ltp-sched
* ltp-smoke
* ltp-smoketest
* ltp-syscalls
* ltp-tracing
* perf
* rcutorture
--
Linaro LKFT
https://lkft.linaro.org
Hello,
This rc kernel passed ChromeOS CQ tests:
https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5741928/1?tab=checks
Thanks,
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.102 release. There are 13 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat, 27 Jul 2024 14:27:16 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.102-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
On ARCH_BRCMSTB using 32-bit and 64-bit ARM kernels, build tested on BMIPS_GENERIC:
Signature · 1 line
Florian