From: Greg Kroah-Hartman Date: Mon, 27 Jun 2022 08:51:00 +0000 (+0200) Subject: 5.10-stable patches X-Git-Tag: v5.4.202~31 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c167e1a01416e2af139ba0c80830d9086b3a2254;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: f2fs-attach-inline_data-after-setting-compression.patch usb-chipidea-udc-check-request-status-before-setting-device-address.patch --- diff --git a/queue-5.10/f2fs-attach-inline_data-after-setting-compression.patch b/queue-5.10/f2fs-attach-inline_data-after-setting-compression.patch new file mode 100644 index 00000000000..d91fd386c19 --- /dev/null +++ b/queue-5.10/f2fs-attach-inline_data-after-setting-compression.patch @@ -0,0 +1,68 @@ +From 4cde00d50707c2ef6647b9b96b2cb40b6eb24397 Mon Sep 17 00:00:00 2001 +From: Jaegeuk Kim +Date: Tue, 31 May 2022 18:27:09 -0700 +Subject: f2fs: attach inline_data after setting compression + +From: Jaegeuk Kim + +commit 4cde00d50707c2ef6647b9b96b2cb40b6eb24397 upstream. + +This fixes the below corruption. + +[345393.335389] F2FS-fs (vdb): sanity_check_inode: inode (ino=6d0, mode=33206) should not have inline_data, run fsck to fix + +Cc: +Fixes: 677a82b44ebf ("f2fs: fix to do sanity check for inline inode") +Signed-off-by: Jaegeuk Kim +Signed-off-by: Greg Kroah-Hartman +--- + fs/f2fs/namei.c | 17 +++++++++++------ + 1 file changed, 11 insertions(+), 6 deletions(-) + +--- a/fs/f2fs/namei.c ++++ b/fs/f2fs/namei.c +@@ -91,8 +91,6 @@ static struct inode *f2fs_new_inode(stru + if (test_opt(sbi, INLINE_XATTR)) + set_inode_flag(inode, FI_INLINE_XATTR); + +- if (test_opt(sbi, INLINE_DATA) && f2fs_may_inline_data(inode)) +- set_inode_flag(inode, FI_INLINE_DATA); + if (f2fs_may_inline_dentry(inode)) + set_inode_flag(inode, FI_INLINE_DENTRY); + +@@ -109,10 +107,6 @@ static struct inode *f2fs_new_inode(stru + + f2fs_init_extent_tree(inode, NULL); + +- stat_inc_inline_xattr(inode); +- stat_inc_inline_inode(inode); +- stat_inc_inline_dir(inode); +- + F2FS_I(inode)->i_flags = + f2fs_mask_flags(mode, F2FS_I(dir)->i_flags & F2FS_FL_INHERITED); + +@@ -129,6 +123,14 @@ static struct inode *f2fs_new_inode(stru + set_compress_context(inode); + } + ++ /* Should enable inline_data after compression set */ ++ if (test_opt(sbi, INLINE_DATA) && f2fs_may_inline_data(inode)) ++ set_inode_flag(inode, FI_INLINE_DATA); ++ ++ stat_inc_inline_xattr(inode); ++ stat_inc_inline_inode(inode); ++ stat_inc_inline_dir(inode); ++ + f2fs_set_inode_flags(inode); + + trace_f2fs_new_inode(inode, 0); +@@ -317,6 +319,9 @@ static void set_compress_inode(struct f2 + if (!is_extension_exist(name, ext[i], false)) + continue; + ++ /* Do not use inline_data with compression */ ++ stat_dec_inline_inode(inode); ++ clear_inode_flag(inode, FI_INLINE_DATA); + set_compress_context(inode); + return; + } diff --git a/queue-5.10/series b/queue-5.10/series index bd0232c464c..c18f9ace3e3 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -68,3 +68,5 @@ xhci-pci-allow-host-runtime-pm-as-default-for-intel-raptor-lake-xhci.patch xhci-pci-allow-host-runtime-pm-as-default-for-intel-meteor-lake-xhci.patch usb-gadget-fix-non-unique-driver-names-in-raw-gadget-driver.patch usb-gadget-fix-double-free-bug-in-raw_gadget-driver.patch +usb-chipidea-udc-check-request-status-before-setting-device-address.patch +f2fs-attach-inline_data-after-setting-compression.patch diff --git a/queue-5.10/usb-chipidea-udc-check-request-status-before-setting-device-address.patch b/queue-5.10/usb-chipidea-udc-check-request-status-before-setting-device-address.patch new file mode 100644 index 00000000000..046bba632ec --- /dev/null +++ b/queue-5.10/usb-chipidea-udc-check-request-status-before-setting-device-address.patch @@ -0,0 +1,34 @@ +From b24346a240b36cfc4df194d145463874985aa29b Mon Sep 17 00:00:00 2001 +From: Xu Yang +Date: Thu, 23 Jun 2022 11:02:42 +0800 +Subject: usb: chipidea: udc: check request status before setting device address + +From: Xu Yang + +commit b24346a240b36cfc4df194d145463874985aa29b upstream. + +The complete() function may be called even though request is not +completed. In this case, it's necessary to check request status so +as not to set device address wrongly. + +Fixes: 10775eb17bee ("usb: chipidea: udc: update gadget states according to ch9") +cc: +Signed-off-by: Xu Yang +Link: https://lore.kernel.org/r/20220623030242.41796-1-xu.yang_2@nxp.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/chipidea/udc.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/usb/chipidea/udc.c ++++ b/drivers/usb/chipidea/udc.c +@@ -1034,6 +1034,9 @@ isr_setup_status_complete(struct usb_ep + struct ci_hdrc *ci = req->context; + unsigned long flags; + ++ if (req->status < 0) ++ return; ++ + if (ci->setaddr) { + hw_usb_set_address(ci, ci->address); + ci->setaddr = false;