From: Sasha Levin Date: Sun, 3 Nov 2024 00:30:51 +0000 (-0400) Subject: Fixes for 6.1 X-Git-Tag: v4.19.323~106 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=82dfc1e4ec37e0b317b4acefc0b1e5de11a1e018;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 6.1 Signed-off-by: Sasha Levin --- diff --git a/queue-6.1/cifs-fix-creating-native-symlinks-pointing-to-curren.patch b/queue-6.1/cifs-fix-creating-native-symlinks-pointing-to-curren.patch new file mode 100644 index 00000000000..6b20cb8339c --- /dev/null +++ b/queue-6.1/cifs-fix-creating-native-symlinks-pointing-to-curren.patch @@ -0,0 +1,69 @@ +From 79461b2972a2357206773ebdcfe078f37297fa35 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Sat, 5 Oct 2024 16:02:56 +0200 +Subject: cifs: Fix creating native symlinks pointing to current or parent + directory +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Pali Rohár + +[ Upstream commit 63271b7d569fbe924bccc7dadc17d3d07a4e5f7a ] + +Calling 'ln -s . symlink' or 'ln -s .. symlink' creates symlink pointing to +some object name which ends with U+F029 unicode codepoint. This is because +trailing dot in the object name is replaced by non-ASCII unicode codepoint. + +So Linux SMB client currently is not able to create native symlink pointing +to current or parent directory on Windows SMB server which can be read by +either on local Windows server or by any other SMB client which does not +implement compatible-reverse character replacement. + +Fix this problem in cifsConvertToUTF16() function which is doing that +character replacement. Function comment already says that it does not need +to handle special cases '.' and '..', but after introduction of native +symlinks in reparse point form, this handling is needed. + +Note that this change depends on the previous change +"cifs: Improve creating native symlinks pointing to directory". + +Signed-off-by: Pali Rohár +Signed-off-by: Steve French +Signed-off-by: Sasha Levin +--- + fs/smb/client/cifs_unicode.c | 17 ++++++++++++++--- + 1 file changed, 14 insertions(+), 3 deletions(-) + +diff --git a/fs/smb/client/cifs_unicode.c b/fs/smb/client/cifs_unicode.c +index e7582dd791794..53f862a9c03cc 100644 +--- a/fs/smb/client/cifs_unicode.c ++++ b/fs/smb/client/cifs_unicode.c +@@ -485,10 +485,21 @@ cifsConvertToUTF16(__le16 *target, const char *source, int srclen, + /** + * Remap spaces and periods found at the end of every + * component of the path. The special cases of '.' and +- * '..' do not need to be dealt with explicitly because +- * they are addressed in namei.c:link_path_walk(). ++ * '..' are need to be handled because of symlinks. ++ * They are treated as non-end-of-string to avoid ++ * remapping and breaking symlinks pointing to . or .. + **/ +- if ((i == srclen - 1) || (source[i+1] == '\\')) ++ if ((i == 0 || source[i-1] == '\\') && ++ source[i] == '.' && ++ (i == srclen-1 || source[i+1] == '\\')) ++ end_of_string = false; /* "." case */ ++ else if (i >= 1 && ++ (i == 1 || source[i-2] == '\\') && ++ source[i-1] == '.' && ++ source[i] == '.' && ++ (i == srclen-1 || source[i+1] == '\\')) ++ end_of_string = false; /* ".." case */ ++ else if ((i == srclen - 1) || (source[i+1] == '\\')) + end_of_string = true; + else + end_of_string = false; +-- +2.43.0 + diff --git a/queue-6.1/fs-ntfs3-additional-check-in-ni_clear.patch b/queue-6.1/fs-ntfs3-additional-check-in-ni_clear.patch new file mode 100644 index 00000000000..ec5ebac0c15 --- /dev/null +++ b/queue-6.1/fs-ntfs3-additional-check-in-ni_clear.patch @@ -0,0 +1,37 @@ +From 21b37e2179fae7581b1c2c526cb5da0460a5808f Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 9 Sep 2024 15:39:10 +0300 +Subject: fs/ntfs3: Additional check in ni_clear() + +From: Konstantin Komarov + +[ Upstream commit d178944db36b3369b78a08ba520de109b89bf2a9 ] + +Checking of NTFS_FLAGS_LOG_REPLAYING added to prevent access to +uninitialized bitmap during replay process. + +Reported-by: syzbot+3bfd2cc059ab93efcdb4@syzkaller.appspotmail.com +Signed-off-by: Konstantin Komarov +Signed-off-by: Sasha Levin +--- + fs/ntfs3/frecord.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/fs/ntfs3/frecord.c b/fs/ntfs3/frecord.c +index e19510f977112..d41ddc06f2071 100644 +--- a/fs/ntfs3/frecord.c ++++ b/fs/ntfs3/frecord.c +@@ -102,7 +102,9 @@ void ni_clear(struct ntfs_inode *ni) + { + struct rb_node *node; + +- if (!ni->vfs_inode.i_nlink && ni->mi.mrec && is_rec_inuse(ni->mi.mrec)) ++ if (!ni->vfs_inode.i_nlink && ni->mi.mrec && ++ is_rec_inuse(ni->mi.mrec) && ++ !(ni->mi.sbi->flags & NTFS_FLAGS_LOG_REPLAYING)) + ni_delete_all(ni); + + al_destroy(ni); +-- +2.43.0 + diff --git a/queue-6.1/fs-ntfs3-check-if-more-than-chunk-size-bytes-are-wri.patch b/queue-6.1/fs-ntfs3-check-if-more-than-chunk-size-bytes-are-wri.patch new file mode 100644 index 00000000000..bd0969f0afc --- /dev/null +++ b/queue-6.1/fs-ntfs3-check-if-more-than-chunk-size-bytes-are-wri.patch @@ -0,0 +1,37 @@ +From 4aaa976d47e59493ccc663d8525a63fe97de4b9c Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 15 May 2024 07:38:33 -0500 +Subject: fs/ntfs3: Check if more than chunk-size bytes are written + +From: Andrew Ballance + +[ Upstream commit 9931122d04c6d431b2c11b5bb7b10f28584067f0 ] + +A incorrectly formatted chunk may decompress into +more than LZNT_CHUNK_SIZE bytes and a index out of bounds +will occur in s_max_off. + +Signed-off-by: Andrew Ballance +Signed-off-by: Konstantin Komarov +Signed-off-by: Sasha Levin +--- + fs/ntfs3/lznt.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/fs/ntfs3/lznt.c b/fs/ntfs3/lznt.c +index 28f654561f279..09db01c1098cd 100644 +--- a/fs/ntfs3/lznt.c ++++ b/fs/ntfs3/lznt.c +@@ -236,6 +236,9 @@ static inline ssize_t decompress_chunk(u8 *unc, u8 *unc_end, const u8 *cmpr, + + /* Do decompression until pointers are inside range. */ + while (up < unc_end && cmpr < cmpr_end) { ++ // return err if more than LZNT_CHUNK_SIZE bytes are written ++ if (up - unc > LZNT_CHUNK_SIZE) ++ return -EINVAL; + /* Correct index */ + while (unc + s_max_off[index] < up) + index += 1; +-- +2.43.0 + diff --git a/queue-6.1/fs-ntfs3-fix-possible-deadlock-in-mi_read.patch b/queue-6.1/fs-ntfs3-fix-possible-deadlock-in-mi_read.patch new file mode 100644 index 00000000000..2f0b29d10ad --- /dev/null +++ b/queue-6.1/fs-ntfs3-fix-possible-deadlock-in-mi_read.patch @@ -0,0 +1,34 @@ +From c2649eba49d5cb21b9a6f18b107c7f670e7d9f1c Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 28 Aug 2024 11:55:53 +0300 +Subject: fs/ntfs3: Fix possible deadlock in mi_read + +From: Konstantin Komarov + +[ Upstream commit 03b097099eef255fbf85ea6a786ae3c91b11f041 ] + +Mutex lock with another subclass used in ni_lock_dir(). + +Reported-by: syzbot+bc7ca0ae4591cb2550f9@syzkaller.appspotmail.com +Signed-off-by: Konstantin Komarov +Signed-off-by: Sasha Levin +--- + fs/ntfs3/namei.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/fs/ntfs3/namei.c b/fs/ntfs3/namei.c +index a9549e73081fb..7cad1bc2b314f 100644 +--- a/fs/ntfs3/namei.c ++++ b/fs/ntfs3/namei.c +@@ -79,7 +79,7 @@ static struct dentry *ntfs_lookup(struct inode *dir, struct dentry *dentry, + if (err < 0) + inode = ERR_PTR(err); + else { +- ni_lock(ni); ++ ni_lock_dir(ni); + inode = dir_search_u(dir, uni, NULL); + ni_unlock(ni); + } +-- +2.43.0 + diff --git a/queue-6.1/fs-ntfs3-fix-warning-possible-deadlock-in-ntfs_set_s.patch b/queue-6.1/fs-ntfs3-fix-warning-possible-deadlock-in-ntfs_set_s.patch new file mode 100644 index 00000000000..ea25364196a --- /dev/null +++ b/queue-6.1/fs-ntfs3-fix-warning-possible-deadlock-in-ntfs_set_s.patch @@ -0,0 +1,34 @@ +From f3e8ffe81011c024e0ad068fb185059f5247fc5a Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 19 Aug 2024 16:26:22 +0300 +Subject: fs/ntfs3: Fix warning possible deadlock in ntfs_set_state + +From: Konstantin Komarov + +[ Upstream commit 5b2db723455a89dc96743d34d8bdaa23a402db2f ] + +Use non-zero subkey to skip analyzer warnings. + +Signed-off-by: Konstantin Komarov +Reported-by: syzbot+c2ada45c23d98d646118@syzkaller.appspotmail.com +Signed-off-by: Sasha Levin +--- + fs/ntfs3/ntfs_fs.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/fs/ntfs3/ntfs_fs.h b/fs/ntfs3/ntfs_fs.h +index a88f6879fcaaa..26dbe1b46fdd1 100644 +--- a/fs/ntfs3/ntfs_fs.h ++++ b/fs/ntfs3/ntfs_fs.h +@@ -328,7 +328,7 @@ struct mft_inode { + + /* Nested class for ntfs_inode::ni_lock. */ + enum ntfs_inode_mutex_lock_class { +- NTFS_INODE_MUTEX_DIRTY, ++ NTFS_INODE_MUTEX_DIRTY = 1, + NTFS_INODE_MUTEX_SECURITY, + NTFS_INODE_MUTEX_OBJID, + NTFS_INODE_MUTEX_REPARSE, +-- +2.43.0 + diff --git a/queue-6.1/fs-ntfs3-stale-inode-instead-of-bad.patch b/queue-6.1/fs-ntfs3-stale-inode-instead-of-bad.patch new file mode 100644 index 00000000000..77c9611648c --- /dev/null +++ b/queue-6.1/fs-ntfs3-stale-inode-instead-of-bad.patch @@ -0,0 +1,43 @@ +From 8a0b39fc665dea1dc47c99807e13672626c45d80 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 22 Aug 2024 14:43:32 +0300 +Subject: fs/ntfs3: Stale inode instead of bad + +From: Konstantin Komarov + +[ Upstream commit 1fd21919de6de245b63066b8ee3cfba92e36f0e9 ] + +Fixed the logic of processing inode with wrong sequence number. + +Signed-off-by: Konstantin Komarov +Signed-off-by: Sasha Levin +--- + fs/ntfs3/inode.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c +index 28cbae3954315..026ed43c06704 100644 +--- a/fs/ntfs3/inode.c ++++ b/fs/ntfs3/inode.c +@@ -524,11 +524,15 @@ struct inode *ntfs_iget5(struct super_block *sb, const struct MFT_REF *ref, + if (inode->i_state & I_NEW) + inode = ntfs_read_mft(inode, name, ref); + else if (ref->seq != ntfs_i(inode)->mi.mrec->seq) { +- /* Inode overlaps? */ +- _ntfs_bad_inode(inode); ++ /* ++ * Sequence number is not expected. ++ * Looks like inode was reused but caller uses the old reference ++ */ ++ iput(inode); ++ inode = ERR_PTR(-ESTALE); + } + +- if (IS_ERR(inode) && name) ++ if (IS_ERR(inode)) + ntfs_set_state(sb->s_fs_info, NTFS_DIRTY_ERROR); + + return inode; +-- +2.43.0 + diff --git a/queue-6.1/misc-sgi-gru-don-t-disable-preemption-in-gru-driver.patch b/queue-6.1/misc-sgi-gru-don-t-disable-preemption-in-gru-driver.patch new file mode 100644 index 00000000000..6c2af38601d --- /dev/null +++ b/queue-6.1/misc-sgi-gru-don-t-disable-preemption-in-gru-driver.patch @@ -0,0 +1,96 @@ +From ad45a228d259c9dd1de1db17f4dac2e9684a2ada Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 19 Sep 2024 07:34:50 -0500 +Subject: misc: sgi-gru: Don't disable preemption in GRU driver + +From: Dimitri Sivanich + +[ Upstream commit b983b271662bd6104d429b0fd97af3333ba760bf ] + +Disabling preemption in the GRU driver is unnecessary, and clashes with +sleeping locks in several code paths. Remove preempt_disable and +preempt_enable from the GRU driver. + +Signed-off-by: Dimitri Sivanich +Signed-off-by: Linus Torvalds +Signed-off-by: Sasha Levin +--- + drivers/misc/sgi-gru/grukservices.c | 2 -- + drivers/misc/sgi-gru/grumain.c | 4 ---- + drivers/misc/sgi-gru/grutlbpurge.c | 2 -- + 3 files changed, 8 deletions(-) + +diff --git a/drivers/misc/sgi-gru/grukservices.c b/drivers/misc/sgi-gru/grukservices.c +index fa1f5a632e7fc..093b0459a8a00 100644 +--- a/drivers/misc/sgi-gru/grukservices.c ++++ b/drivers/misc/sgi-gru/grukservices.c +@@ -258,7 +258,6 @@ static int gru_get_cpu_resources(int dsr_bytes, void **cb, void **dsr) + int lcpu; + + BUG_ON(dsr_bytes > GRU_NUM_KERNEL_DSR_BYTES); +- preempt_disable(); + bs = gru_lock_kernel_context(-1); + lcpu = uv_blade_processor_id(); + *cb = bs->kernel_cb + lcpu * GRU_HANDLE_STRIDE; +@@ -272,7 +271,6 @@ static int gru_get_cpu_resources(int dsr_bytes, void **cb, void **dsr) + static void gru_free_cpu_resources(void *cb, void *dsr) + { + gru_unlock_kernel_context(uv_numa_blade_id()); +- preempt_enable(); + } + + /* +diff --git a/drivers/misc/sgi-gru/grumain.c b/drivers/misc/sgi-gru/grumain.c +index 4eb4b94551390..d2b2e39783d06 100644 +--- a/drivers/misc/sgi-gru/grumain.c ++++ b/drivers/misc/sgi-gru/grumain.c +@@ -941,10 +941,8 @@ vm_fault_t gru_fault(struct vm_fault *vmf) + + again: + mutex_lock(>s->ts_ctxlock); +- preempt_disable(); + + if (gru_check_context_placement(gts)) { +- preempt_enable(); + mutex_unlock(>s->ts_ctxlock); + gru_unload_context(gts, 1); + return VM_FAULT_NOPAGE; +@@ -953,7 +951,6 @@ vm_fault_t gru_fault(struct vm_fault *vmf) + if (!gts->ts_gru) { + STAT(load_user_context); + if (!gru_assign_gru_context(gts)) { +- preempt_enable(); + mutex_unlock(>s->ts_ctxlock); + set_current_state(TASK_INTERRUPTIBLE); + schedule_timeout(GRU_ASSIGN_DELAY); /* true hack ZZZ */ +@@ -969,7 +966,6 @@ vm_fault_t gru_fault(struct vm_fault *vmf) + vma->vm_page_prot); + } + +- preempt_enable(); + mutex_unlock(>s->ts_ctxlock); + + return VM_FAULT_NOPAGE; +diff --git a/drivers/misc/sgi-gru/grutlbpurge.c b/drivers/misc/sgi-gru/grutlbpurge.c +index 10921cd2608df..1107dd3e2e9fa 100644 +--- a/drivers/misc/sgi-gru/grutlbpurge.c ++++ b/drivers/misc/sgi-gru/grutlbpurge.c +@@ -65,7 +65,6 @@ static struct gru_tlb_global_handle *get_lock_tgh_handle(struct gru_state + struct gru_tlb_global_handle *tgh; + int n; + +- preempt_disable(); + if (uv_numa_blade_id() == gru->gs_blade_id) + n = get_on_blade_tgh(gru); + else +@@ -79,7 +78,6 @@ static struct gru_tlb_global_handle *get_lock_tgh_handle(struct gru_state + static void get_unlock_tgh_handle(struct gru_tlb_global_handle *tgh) + { + unlock_tgh_handle(tgh); +- preempt_enable(); + } + + /* +-- +2.43.0 + diff --git a/queue-6.1/net-amd-mvme147-fix-probe-banner-message.patch b/queue-6.1/net-amd-mvme147-fix-probe-banner-message.patch new file mode 100644 index 00000000000..526b4dc1d68 --- /dev/null +++ b/queue-6.1/net-amd-mvme147-fix-probe-banner-message.patch @@ -0,0 +1,53 @@ +From 5df595272154ebbb879af244c1c55f26e67f0705 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 7 Oct 2024 19:43:17 +0900 +Subject: net: amd: mvme147: Fix probe banner message + +From: Daniel Palmer + +[ Upstream commit 82c5b53140faf89c31ea2b3a0985a2f291694169 ] + +Currently this driver prints this line with what looks like +a rogue format specifier when the device is probed: +[ 2.840000] eth%d: MVME147 at 0xfffe1800, irq 12, Hardware Address xx:xx:xx:xx:xx:xx + +Change the printk() for netdev_info() and move it after the +registration has completed so it prints out the name of the +interface properly. + +Signed-off-by: Daniel Palmer +Reviewed-by: Simon Horman +Signed-off-by: David S. Miller +Signed-off-by: Sasha Levin +--- + drivers/net/ethernet/amd/mvme147.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/drivers/net/ethernet/amd/mvme147.c b/drivers/net/ethernet/amd/mvme147.c +index 410c7b67eba4d..e6cc916d205f1 100644 +--- a/drivers/net/ethernet/amd/mvme147.c ++++ b/drivers/net/ethernet/amd/mvme147.c +@@ -105,10 +105,6 @@ static struct net_device * __init mvme147lance_probe(void) + macaddr[3] = address&0xff; + eth_hw_addr_set(dev, macaddr); + +- printk("%s: MVME147 at 0x%08lx, irq %d, Hardware Address %pM\n", +- dev->name, dev->base_addr, MVME147_LANCE_IRQ, +- dev->dev_addr); +- + lp = netdev_priv(dev); + lp->ram = __get_dma_pages(GFP_ATOMIC, 3); /* 32K */ + if (!lp->ram) { +@@ -138,6 +134,9 @@ static struct net_device * __init mvme147lance_probe(void) + return ERR_PTR(err); + } + ++ netdev_info(dev, "MVME147 at 0x%08lx, irq %d, Hardware Address %pM\n", ++ dev->base_addr, MVME147_LANCE_IRQ, dev->dev_addr); ++ + return dev; + } + +-- +2.43.0 + diff --git a/queue-6.1/nfs-remove-revoked-delegation-from-server-s-delegati.patch b/queue-6.1/nfs-remove-revoked-delegation-from-server-s-delegati.patch new file mode 100644 index 00000000000..1a06af40305 --- /dev/null +++ b/queue-6.1/nfs-remove-revoked-delegation-from-server-s-delegati.patch @@ -0,0 +1,56 @@ +From 96d9920d32894d0b570d998b65b14018f7fa8498 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 8 Oct 2024 15:58:07 -0700 +Subject: NFS: remove revoked delegation from server's delegation list + +From: Dai Ngo + +[ Upstream commit 7ef60108069b7e3cc66432304e1dd197d5c0a9b5 ] + +After the delegation is returned to the NFS server remove it +from the server's delegations list to reduce the time it takes +to scan this list. + +Network trace captured while running the below script shows the +time taken to service the CB_RECALL increases gradually due to +the overhead of traversing the delegation list in +nfs_delegation_find_inode_server. + +The NFS server in this test is a Solaris server which issues +CB_RECALL when receiving the all-zero stateid in the SETATTR. + +mount=/mnt/data +for i in $(seq 1 20) +do + echo $i + mkdir $mount/testtarfile$i + time tar -C $mount/testtarfile$i -xf 5000_files.tar +done + +Signed-off-by: Dai Ngo +Reviewed-by: Trond Myklebust +Signed-off-by: Anna Schumaker +Signed-off-by: Sasha Levin +--- + fs/nfs/delegation.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c +index 2ba4d221bf9d5..39c697e100b1b 100644 +--- a/fs/nfs/delegation.c ++++ b/fs/nfs/delegation.c +@@ -981,6 +981,11 @@ void nfs_delegation_mark_returned(struct inode *inode, + } + + nfs_mark_delegation_revoked(delegation); ++ clear_bit(NFS_DELEGATION_RETURNING, &delegation->flags); ++ spin_unlock(&delegation->lock); ++ if (nfs_detach_delegation(NFS_I(inode), delegation, NFS_SERVER(inode))) ++ nfs_put_delegation(delegation); ++ goto out_rcu_unlock; + + out_clear_returning: + clear_bit(NFS_DELEGATION_RETURNING, &delegation->flags); +-- +2.43.0 + diff --git a/queue-6.1/scsi-scsi_transport_fc-allow-setting-rport-state-to-.patch b/queue-6.1/scsi-scsi_transport_fc-allow-setting-rport-state-to-.patch new file mode 100644 index 00000000000..3e2930d4fa8 --- /dev/null +++ b/queue-6.1/scsi-scsi_transport_fc-allow-setting-rport-state-to-.patch @@ -0,0 +1,48 @@ +From 42a39e4d9dba1a0b22dc0e26368a021416b05572 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 17 Sep 2024 19:06:43 -0400 +Subject: scsi: scsi_transport_fc: Allow setting rport state to current state + +From: Benjamin Marzinski + +[ Upstream commit d539a871ae47a1f27a609a62e06093fa69d7ce99 ] + +The only input fc_rport_set_marginal_state() currently accepts is +"Marginal" when port_state is "Online", and "Online" when the port_state +is "Marginal". It should also allow setting port_state to its current +state, either "Marginal or "Online". + +Signed-off-by: Benjamin Marzinski +Link: https://lore.kernel.org/r/20240917230643.966768-1-bmarzins@redhat.com +Reviewed-by: Ewan D. Milne +Signed-off-by: Martin K. Petersen +Signed-off-by: Sasha Levin +--- + drivers/scsi/scsi_transport_fc.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c +index 8934160c4a33b..1aaeb0ead7a71 100644 +--- a/drivers/scsi/scsi_transport_fc.c ++++ b/drivers/scsi/scsi_transport_fc.c +@@ -1252,7 +1252,7 @@ static ssize_t fc_rport_set_marginal_state(struct device *dev, + */ + if (rport->port_state == FC_PORTSTATE_ONLINE) + rport->port_state = port_state; +- else ++ else if (port_state != rport->port_state) + return -EINVAL; + } else if (port_state == FC_PORTSTATE_ONLINE) { + /* +@@ -1262,7 +1262,7 @@ static ssize_t fc_rport_set_marginal_state(struct device *dev, + */ + if (rport->port_state == FC_PORTSTATE_MARGINAL) + rport->port_state = port_state; +- else ++ else if (port_state != rport->port_state) + return -EINVAL; + } else + return -EINVAL; +-- +2.43.0 + diff --git a/queue-6.1/series b/queue-6.1/series index cad49847f3e..e2f46290bb9 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -53,3 +53,13 @@ firmware-arm_sdei-fix-the-input-parameter-of-cpuhp_r.patch afs-automatically-generate-trace-tag-enums.patch afs-fix-missing-subdir-edit-when-renamed-between-par.patch acpi-cppc-make-rmw_lock-a-raw_spin_lock.patch +fs-ntfs3-check-if-more-than-chunk-size-bytes-are-wri.patch +fs-ntfs3-fix-warning-possible-deadlock-in-ntfs_set_s.patch +fs-ntfs3-stale-inode-instead-of-bad.patch +fs-ntfs3-fix-possible-deadlock-in-mi_read.patch +fs-ntfs3-additional-check-in-ni_clear.patch +scsi-scsi_transport_fc-allow-setting-rport-state-to-.patch +cifs-fix-creating-native-symlinks-pointing-to-curren.patch +net-amd-mvme147-fix-probe-banner-message.patch +nfs-remove-revoked-delegation-from-server-s-delegati.patch +misc-sgi-gru-don-t-disable-preemption-in-gru-driver.patch