Archive-only list for patches
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, David Howells <dhowells@redhat.com>,
	Steve French <sfrench@samba.org>,
	Shyam Prasad N <nspmangalore@gmail.com>,
	Rohith Surabattula <rohiths.msft@gmail.com>,
	Jeff Layton <jlayton@kernel.org>,
	linux-cifs@vger.kernel.org, netfs@lists.linux.dev,
	linux-fsdevel@vger.kernel.org,
	Steve French <stfrench@microsoft.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.1 100/138] cifs: Fix caching to try to do open O_WRONLY as rdwr on server
Date: Mon,  8 Apr 2024 14:58:34 +0200	[thread overview]
Message-ID: <20240408125259.342475642@linuxfoundation.org> (raw)
In-Reply-To: <20240408125256.218368873@linuxfoundation.org>

6.1-stable review patch.  If anyone has any objections, please let me know.

------------------

From: David Howells <dhowells@redhat.com>

[ Upstream commit e9e62243a3e2322cf639f653a0b0a88a76446ce7 ]

When we're engaged in local caching of a cifs filesystem, we cannot perform
caching of a partially written cache granule unless we can read the rest of
the granule.  This can result in unexpected access errors being reported to
the user.

Fix this by the following: if a file is opened O_WRONLY locally, but the
mount was given the "-o fsc" flag, try first opening the remote file with
GENERIC_READ|GENERIC_WRITE and if that returns -EACCES, try dropping the
GENERIC_READ and doing the open again.  If that last succeeds, invalidate
the cache for that file as for O_DIRECT.

Fixes: 70431bfd825d ("cifs: Support fscache indexing rewrite")
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Steve French <sfrench@samba.org>
cc: Shyam Prasad N <nspmangalore@gmail.com>
cc: Rohith Surabattula <rohiths.msft@gmail.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: linux-cifs@vger.kernel.org
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/smb/client/dir.c     | 15 +++++++++++++
 fs/smb/client/file.c    | 48 ++++++++++++++++++++++++++++++++---------
 fs/smb/client/fscache.h |  6 ++++++
 3 files changed, 59 insertions(+), 10 deletions(-)

diff --git a/fs/smb/client/dir.c b/fs/smb/client/dir.c
index e382b794acbed..863c7bc3db86f 100644
--- a/fs/smb/client/dir.c
+++ b/fs/smb/client/dir.c
@@ -180,6 +180,7 @@ static int cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned
 	int disposition;
 	struct TCP_Server_Info *server = tcon->ses->server;
 	struct cifs_open_parms oparms;
+	int rdwr_for_fscache = 0;
 
 	*oplock = 0;
 	if (tcon->ses->server->oplocks)
@@ -191,6 +192,10 @@ static int cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned
 		return PTR_ERR(full_path);
 	}
 
+	/* If we're caching, we need to be able to fill in around partial writes. */
+	if (cifs_fscache_enabled(inode) && (oflags & O_ACCMODE) == O_WRONLY)
+		rdwr_for_fscache = 1;
+
 #ifdef CONFIG_CIFS_ALLOW_INSECURE_LEGACY
 	if (tcon->unix_ext && cap_unix(tcon->ses) && !tcon->broken_posix_open &&
 	    (CIFS_UNIX_POSIX_PATH_OPS_CAP &
@@ -267,6 +272,8 @@ static int cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned
 		desired_access |= GENERIC_READ; /* is this too little? */
 	if (OPEN_FMODE(oflags) & FMODE_WRITE)
 		desired_access |= GENERIC_WRITE;
+	if (rdwr_for_fscache == 1)
+		desired_access |= GENERIC_READ;
 
 	disposition = FILE_OVERWRITE_IF;
 	if ((oflags & (O_CREAT | O_EXCL)) == (O_CREAT | O_EXCL))
@@ -295,6 +302,7 @@ static int cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned
 	if (!tcon->unix_ext && (mode & S_IWUGO) == 0)
 		create_options |= CREATE_OPTION_READONLY;
 
+retry_open:
 	oparms = (struct cifs_open_parms) {
 		.tcon = tcon,
 		.cifs_sb = cifs_sb,
@@ -308,8 +316,15 @@ static int cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned
 	rc = server->ops->open(xid, &oparms, oplock, buf);
 	if (rc) {
 		cifs_dbg(FYI, "cifs_create returned 0x%x\n", rc);
+		if (rc == -EACCES && rdwr_for_fscache == 1) {
+			desired_access &= ~GENERIC_READ;
+			rdwr_for_fscache = 2;
+			goto retry_open;
+		}
 		goto out;
 	}
+	if (rdwr_for_fscache == 2)
+		cifs_invalidate_cache(inode, FSCACHE_INVAL_DIO_WRITE);
 
 #ifdef CONFIG_CIFS_ALLOW_INSECURE_LEGACY
 	/*
diff --git a/fs/smb/client/file.c b/fs/smb/client/file.c
index 0f3405e0f2e48..c240cea7ca349 100644
--- a/fs/smb/client/file.c
+++ b/fs/smb/client/file.c
@@ -77,12 +77,12 @@ cifs_mark_open_files_invalid(struct cifs_tcon *tcon)
 	 */
 }
 
-static inline int cifs_convert_flags(unsigned int flags)
+static inline int cifs_convert_flags(unsigned int flags, int rdwr_for_fscache)
 {
 	if ((flags & O_ACCMODE) == O_RDONLY)
 		return GENERIC_READ;
 	else if ((flags & O_ACCMODE) == O_WRONLY)
-		return GENERIC_WRITE;
+		return rdwr_for_fscache == 1 ? (GENERIC_READ | GENERIC_WRITE) : GENERIC_WRITE;
 	else if ((flags & O_ACCMODE) == O_RDWR) {
 		/* GENERIC_ALL is too much permission to request
 		   can cause unnecessary access denied on create */
@@ -219,11 +219,16 @@ static int cifs_nt_open(const char *full_path, struct inode *inode, struct cifs_
 	int create_options = CREATE_NOT_DIR;
 	struct TCP_Server_Info *server = tcon->ses->server;
 	struct cifs_open_parms oparms;
+	int rdwr_for_fscache = 0;
 
 	if (!server->ops->open)
 		return -ENOSYS;
 
-	desired_access = cifs_convert_flags(f_flags);
+	/* If we're caching, we need to be able to fill in around partial writes. */
+	if (cifs_fscache_enabled(inode) && (f_flags & O_ACCMODE) == O_WRONLY)
+		rdwr_for_fscache = 1;
+
+	desired_access = cifs_convert_flags(f_flags, rdwr_for_fscache);
 
 /*********************************************************************
  *  open flag mapping table:
@@ -260,6 +265,7 @@ static int cifs_nt_open(const char *full_path, struct inode *inode, struct cifs_
 	if (f_flags & O_DIRECT)
 		create_options |= CREATE_NO_BUFFER;
 
+retry_open:
 	oparms = (struct cifs_open_parms) {
 		.tcon = tcon,
 		.cifs_sb = cifs_sb,
@@ -271,8 +277,16 @@ static int cifs_nt_open(const char *full_path, struct inode *inode, struct cifs_
 	};
 
 	rc = server->ops->open(xid, &oparms, oplock, buf);
-	if (rc)
+	if (rc) {
+		if (rc == -EACCES && rdwr_for_fscache == 1) {
+			desired_access = cifs_convert_flags(f_flags, 0);
+			rdwr_for_fscache = 2;
+			goto retry_open;
+		}
 		return rc;
+	}
+	if (rdwr_for_fscache == 2)
+		cifs_invalidate_cache(inode, FSCACHE_INVAL_DIO_WRITE);
 
 	/* TODO: Add support for calling posix query info but with passing in fid */
 	if (tcon->unix_ext)
@@ -705,11 +719,11 @@ int cifs_open(struct inode *inode, struct file *file)
 use_cache:
 	fscache_use_cookie(cifs_inode_cookie(file_inode(file)),
 			   file->f_mode & FMODE_WRITE);
-	if (file->f_flags & O_DIRECT &&
-	    (!((file->f_flags & O_ACCMODE) != O_RDONLY) ||
-	     file->f_flags & O_APPEND))
-		cifs_invalidate_cache(file_inode(file),
-				      FSCACHE_INVAL_DIO_WRITE);
+	if (!(file->f_flags & O_DIRECT))
+		goto out;
+	if ((file->f_flags & (O_ACCMODE | O_APPEND)) == O_RDONLY)
+		goto out;
+	cifs_invalidate_cache(file_inode(file), FSCACHE_INVAL_DIO_WRITE);
 
 out:
 	free_dentry_path(page);
@@ -774,6 +788,7 @@ cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush)
 	int disposition = FILE_OPEN;
 	int create_options = CREATE_NOT_DIR;
 	struct cifs_open_parms oparms;
+	int rdwr_for_fscache = 0;
 
 	xid = get_xid();
 	mutex_lock(&cfile->fh_mutex);
@@ -837,7 +852,11 @@ cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush)
 	}
 #endif /* CONFIG_CIFS_ALLOW_INSECURE_LEGACY */
 
-	desired_access = cifs_convert_flags(cfile->f_flags);
+	/* If we're caching, we need to be able to fill in around partial writes. */
+	if (cifs_fscache_enabled(inode) && (cfile->f_flags & O_ACCMODE) == O_WRONLY)
+		rdwr_for_fscache = 1;
+
+	desired_access = cifs_convert_flags(cfile->f_flags, rdwr_for_fscache);
 
 	/* O_SYNC also has bit for O_DSYNC so following check picks up either */
 	if (cfile->f_flags & O_SYNC)
@@ -849,6 +868,7 @@ cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush)
 	if (server->ops->get_lease_key)
 		server->ops->get_lease_key(inode, &cfile->fid);
 
+retry_open:
 	oparms = (struct cifs_open_parms) {
 		.tcon = tcon,
 		.cifs_sb = cifs_sb,
@@ -874,6 +894,11 @@ cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush)
 		/* indicate that we need to relock the file */
 		oparms.reconnect = true;
 	}
+	if (rc == -EACCES && rdwr_for_fscache == 1) {
+		desired_access = cifs_convert_flags(cfile->f_flags, 0);
+		rdwr_for_fscache = 2;
+		goto retry_open;
+	}
 
 	if (rc) {
 		mutex_unlock(&cfile->fh_mutex);
@@ -882,6 +907,9 @@ cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush)
 		goto reopen_error_exit;
 	}
 
+	if (rdwr_for_fscache == 2)
+		cifs_invalidate_cache(inode, FSCACHE_INVAL_DIO_WRITE);
+
 #ifdef CONFIG_CIFS_ALLOW_INSECURE_LEGACY
 reopen_success:
 #endif /* CONFIG_CIFS_ALLOW_INSECURE_LEGACY */
diff --git a/fs/smb/client/fscache.h b/fs/smb/client/fscache.h
index 67b601041f0a3..c691b98b442a6 100644
--- a/fs/smb/client/fscache.h
+++ b/fs/smb/client/fscache.h
@@ -108,6 +108,11 @@ static inline void cifs_readpage_to_fscache(struct inode *inode,
 		__cifs_readpage_to_fscache(inode, page);
 }
 
+static inline bool cifs_fscache_enabled(struct inode *inode)
+{
+	return fscache_cookie_enabled(cifs_inode_cookie(inode));
+}
+
 #else /* CONFIG_CIFS_FSCACHE */
 static inline
 void cifs_fscache_fill_coherency(struct inode *inode,
@@ -123,6 +128,7 @@ static inline void cifs_fscache_release_inode_cookie(struct inode *inode) {}
 static inline void cifs_fscache_unuse_inode_cookie(struct inode *inode, bool update) {}
 static inline struct fscache_cookie *cifs_inode_cookie(struct inode *inode) { return NULL; }
 static inline void cifs_invalidate_cache(struct inode *inode, unsigned int flags) {}
+static inline bool cifs_fscache_enabled(struct inode *inode) { return false; }
 
 static inline int cifs_fscache_query_occupancy(struct inode *inode,
 					       pgoff_t first, unsigned int nr_pages,
-- 
2.43.0




  parent reply	other threads:[~2024-04-08 13:19 UTC|newest]

Thread overview: 149+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-08 12:56 [PATCH 6.1 000/138] 6.1.85-rc1 review Greg Kroah-Hartman
2024-04-08 12:56 ` [PATCH 6.1 001/138] scripts/bpf_doc: Use silent mode when exec make cmd Greg Kroah-Hartman
2024-04-08 12:56 ` [PATCH 6.1 002/138] dma-buf: Fix NULL pointer dereference in sanitycheck() Greg Kroah-Hartman
2024-04-08 12:56 ` [PATCH 6.1 003/138] nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet Greg Kroah-Hartman
2024-04-08 12:56 ` [PATCH 6.1 004/138] mlxbf_gige: stop PHY during open() error paths Greg Kroah-Hartman
2024-04-08 12:56 ` [PATCH 6.1 005/138] wifi: iwlwifi: mvm: rfi: fix potential response leaks Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 006/138] ixgbe: avoid sleeping allocation in ixgbe_ipsec_vf_add_sa() Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 007/138] s390/qeth: handle deferred cc1 Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 008/138] tcp: properly terminate timers for kernel sockets Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 009/138] net: wwan: t7xx: Split 64bit accesses to fix alignment issues Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 010/138] ACPICA: debugger: check status of acpi_evaluate_object() in acpi_db_walk_for_fields() Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 011/138] net: hns3: fix index limit to support all queue stats Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 012/138] net: hns3: fix kernel crash when devlink reload during pf initialization Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 013/138] net: hns3: mark unexcuted loopback test result as UNEXECUTED Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 014/138] tls: recv: process_rx_list shouldnt use an offset with kvec Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 015/138] tls: adjust recv return with async crypto and failed copy to userspace Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 016/138] tls: get psock ref after taking rxlock to avoid leak Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 017/138] mlxbf_gige: call request_irq() after NAPI initialized Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 018/138] bpf: Protect against int overflow for stack access size Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 019/138] cifs: Fix duplicate fscache cookie warnings Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 020/138] net: lan743x: Add set RFE read fifo threshold for PCI1x1x chips Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 021/138] Octeontx2-af: fix pause frame configuration in GMP mode Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 022/138] inet: inet_defrag: prevent sk release while still in use Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 023/138] dm integrity: fix out-of-range warning Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 024/138] x86/cpufeatures: Add new word for scattered features Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 025/138] perf/x86/amd/lbr: Use freeze based on availability Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 026/138] KVM: arm64: Fix host-programmed guest events in nVHE Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 027/138] r8169: fix issue caused by buggy BIOS on certain boards with RTL8168d Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 028/138] x86/cpufeatures: Add CPUID_LNX_5 to track recently added Linux-defined word Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 029/138] Revert "Bluetooth: hci_qca: Set BDA quirk bit if fwnode exists in DT" Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 030/138] arm64: dts: qcom: sc7180-trogdor: mark bluetooth address as broken Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 031/138] Bluetooth: qca: fix device-address endianness Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 032/138] Bluetooth: add quirk for broken address properties Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 033/138] Bluetooth: hci_event: set the conn encrypted before conn establishes Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 034/138] Bluetooth: Fix TOCTOU in HCI debugfs implementation Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 035/138] xen-netfront: Add missing skb_mark_for_recycle Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 036/138] net/rds: fix possible cp null dereference Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 037/138] net: usb: ax88179_178a: avoid the interface always configured as random address Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 038/138] vsock/virtio: fix packet delivery to tap device Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 039/138] Revert "x86/mm/ident_map: Use gbpages only where full GB page should be mapped." Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 040/138] netfilter: nf_tables: reject new basechain after table flag update Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 041/138] netfilter: nf_tables: flush pending destroy work before exit_net release Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 042/138] netfilter: nf_tables: Fix potential data-race in __nft_flowtable_type_get() Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 043/138] netfilter: validate user input for expected length Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 044/138] vboxsf: Avoid an spurious warning if load_nls_xxx() fails Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 045/138] bpf, sockmap: Prevent lock inversion deadlock in map delete elem Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 046/138] net/sched: act_skbmod: prevent kernel-infoleak Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 047/138] net/sched: fix lockdep splat in qdisc_tree_reduce_backlog() Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 048/138] net: stmmac: fix rx queue priority assignment Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 049/138] net: phy: micrel: lan8814: Fix when enabling/disabling 1-step timestamping Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 050/138] net: phy: micrel: Fix potential null pointer dereference Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 051/138] selftests: net: gro fwd: update vxlan GRO test expectations Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 052/138] gro: fix ownership transfer Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 053/138] x86/bugs: Fix the SRSO mitigation on Zen3/4 Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 054/138] x86/retpoline: Do the necessary fixup to the Zen3/4 srso return thunk for !SRSO Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 055/138] i40e: Fix VF MAC filter removal Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 056/138] erspan: make sure erspan_base_hdr is present in skb->head Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 057/138] selftests: reuseaddr_conflict: add missing new line at the end of the output Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 058/138] ipv6: Fix infinite recursion in fib6_dump_done() Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 059/138] mlxbf_gige: stop interface during shutdown Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 060/138] r8169: skip DASH fw status checks when DASH is disabled Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 061/138] udp: do not accept non-tunnel GSO skbs landing in a tunnel Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 062/138] udp: do not transition UDP GRO fraglist partial checksums to unnecessary Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 063/138] udp: prevent local UDP tunnel packets from being GROed Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 064/138] octeontx2-af: Fix issue with loading coalesced KPU profiles Greg Kroah-Hartman
2024-04-08 12:57 ` [PATCH 6.1 065/138] octeontx2-pf: check negative error code in otx2_open() Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 066/138] octeontx2-af: Add array index check Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 067/138] i40e: fix i40e_count_filters() to count only active/new filters Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 068/138] i40e: fix vf may be used uninitialized in this function warning Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 069/138] usb: typec: ucsi: Check for notifications after init Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 070/138] drm/amd: Evict resources during PM ops prepare() callback Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 071/138] drm/amd: Add concept of running prepare_suspend() sequence for IP blocks Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 072/138] drm/amd: Flush GFXOFF requests in prepare stage Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 073/138] i40e: Store the irq number in i40e_q_vector Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 074/138] i40e: Remove _t suffix from enum type names Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 075/138] i40e: Enforce software interrupt during busy-poll exit Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 076/138] r8169: use spinlock to protect mac ocp register access Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 077/138] r8169: use spinlock to protect access to registers Config2 and Config5 Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 078/138] r8169: prepare rtl_hw_aspm_clkreq_enable for usage in atomic context Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 079/138] tcp: Fix bind() regression for v6-only wildcard and v4(-mapped-v6) non-wildcard addresses Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 080/138] drivers: net: convert to boolean for the mac_managed_pm flag Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 081/138] net: fec: Set mac_managed_pm during probe Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 082/138] net: ravb: Let IP-specific receive function to interrogate descriptors Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 083/138] net: ravb: Always process TX descriptor ring Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 084/138] net: ravb: Always update error counters Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 085/138] KVM: SVM: enhance info printks in SEV init Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 086/138] KVM: SVM: WARN, but continue, if misc_cg_set_capacity() fails Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 087/138] KVM: SVM: Use unsigned integers when dealing with ASIDs Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 088/138] KVM: SVM: Add support for allowing zero SEV ASIDs Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 089/138] fs/pipe: Fix lockdep false-positive in watchqueue pipe_write() Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 090/138] 9p: Fix read/write debug statements to report server reply Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 091/138] drivers/perf: riscv: Disable PERF_SAMPLE_BRANCH_* while not supported Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 092/138] drm/panfrost: fix power transition timeout warnings Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 093/138] ASoC: rt5682-sdw: fix locking sequence Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 094/138] ASoC: rt711-sdca: " Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 095/138] ASoC: rt711-sdw: " Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 096/138] ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 097/138] ata: sata_sx4: fix pdc20621_get_from_dimm() on 64-bit Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 098/138] scsi: mylex: Fix sysfs buffer lengths Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 099/138] scsi: sd: Unregister device if device_add_disk() failed in sd_probe() Greg Kroah-Hartman
2024-04-08 12:58 ` Greg Kroah-Hartman [this message]
2024-04-08 12:58 ` [PATCH 6.1 101/138] s390/pai: rework pai_crypto mapped buffer reference count Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 102/138] s390/pai: rename structure member users to active_events Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 103/138] s390/pai_ext: replace atomic_t with refcount_t Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 104/138] s390/pai: initialize event count once at initialization Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 105/138] s390/pai_crypto: remove per-cpu variable assignement in event initialization Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 106/138] s390/pai: cleanup " Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 107/138] s390/pai: rework paiXXX_start and paiXXX_stop functions Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 108/138] s390/pai: fix sampling event removal for PMU device driver Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 109/138] ata: sata_mv: Fix PCI device ID table declaration compilation warning Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 110/138] nfsd: hold a lighter-weight client reference over CB_RECALL_ANY Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 111/138] x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 112/138] ksmbd: dont send oplock break if rename fails Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 113/138] ksmbd: validate payload size in ipc response Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 114/138] ksmbd: do not set SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1 Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 115/138] ALSA: hda/realtek - Fix inactive headset mic jack Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 116/138] ALSA: hda/realtek: Update Panasonic CF-SZ6 quirk to support headset with microphone Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 117/138] driver core: Introduce device_link_wait_removal() Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 118/138] of: dynamic: Synchronize of_changeset_destroy() with the devlink removals Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 119/138] x86/mm/pat: fix VM_PAT handling in COW mappings Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 120/138] x86/mce: Make sure to grab mce_sysfs_mutex in set_bank() Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 121/138] x86/coco: Require seeding RNG with RDRAND on CoCo systems Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 122/138] s390/entry: align system call table on 8 bytes Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 123/138] riscv: Fix spurious errors from __get/put_kernel_nofault Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 124/138] riscv: process: Fix kernel gp leakage Greg Kroah-Hartman
2024-04-08 12:58 ` [PATCH 6.1 125/138] smb3: retrying on failed server close Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 126/138] smb: client: fix potential UAF in cifs_debug_files_proc_show() Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 127/138] smb: client: fix potential UAF in cifs_stats_proc_write() Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 128/138] smb: client: fix potential UAF in cifs_stats_proc_show() Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 129/138] smb: client: fix potential UAF in smb2_is_valid_oplock_break() Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 130/138] smb: client: fix potential UAF in smb2_is_valid_lease_break() Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 131/138] smb: client: fix potential UAF in is_valid_oplock_break() Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 132/138] smb: client: fix potential UAF in smb2_is_network_name_deleted() Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 133/138] smb: client: fix potential UAF in cifs_signal_cifsd_for_reconnect() Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 134/138] selftests: mptcp: join: fix dev in check_endpoint Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 135/138] mptcp: dont account accept() of non-MPC client as fallback to TCP Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 136/138] selftests: mptcp: display simult in extra_msg Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 137/138] mm/secretmem: fix GUP-fast succeeding on secretmem folios Greg Kroah-Hartman
2024-04-08 12:59 ` [PATCH 6.1 138/138] nvme: fix miss command type check Greg Kroah-Hartman
2024-04-08 16:03 ` [PATCH 6.1 000/138] 6.1.85-rc1 review SeongJae Park
2024-04-08 17:10 ` Naresh Kamboju
2024-04-08 20:07 ` Kelsey Steele
2024-04-09  3:19 ` Ron Economos
2024-04-09  6:54 ` Jon Hunter
2024-04-09  7:32 ` Pavel Machek
2024-04-09 12:21 ` Conor Dooley
2024-04-09 13:11 ` Mark Brown
2024-04-09 18:09 ` Sven Joachim
2024-04-10  0:29 ` Shuah Khan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240408125259.342475642@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dhowells@redhat.com \
    --cc=jlayton@kernel.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=netfs@lists.linux.dev \
    --cc=nspmangalore@gmail.com \
    --cc=patches@lists.linux.dev \
    --cc=rohiths.msft@gmail.com \
    --cc=sashal@kernel.org \
    --cc=sfrench@samba.org \
    --cc=stable@vger.kernel.org \
    --cc=stfrench@microsoft.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox