public inbox for stable@vger.kernel.org
 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, "Pali Rohár" <pali@kernel.org>,
	"Steve French" <stfrench@microsoft.com>,
	"Sasha Levin" <sashal@kernel.org>
Subject: [PATCH 6.6 065/151] cifs: Improve creating native symlinks pointing to directory
Date: Wed,  6 Nov 2024 13:04:13 +0100	[thread overview]
Message-ID: <20241106120310.627356737@linuxfoundation.org> (raw)
In-Reply-To: <20241106120308.841299741@linuxfoundation.org>

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

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

From: Pali Rohár <pali@kernel.org>

[ Upstream commit 3eb40512530e4f64f819d8e723b6f41695dace5a ]

SMB protocol for native symlinks distinguish between symlink to directory
and symlink to file. These two symlink types cannot be exchanged, which
means that symlink of file type pointing to directory cannot be resolved at
all (and vice-versa).

Windows follows this rule for local filesystems (NTFS) and also for SMB.

Linux SMB client currenly creates all native symlinks of file type. Which
means that Windows (and some other SMB clients) cannot resolve symlinks
pointing to directory created by Linux SMB client.

As Linux system does not distinguish between directory and file symlinks,
its API does not provide enough information for Linux SMB client during
creating of native symlinks.

Add some heuristic into the Linux SMB client for choosing the correct
symlink type during symlink creation. Check if the symlink target location
ends with slash, or last path component is dot or dot-dot, and check if the
target location on SMB share exists and is a directory. If at least one
condition is truth then create a new SMB symlink of directory type.
Otherwise create it as file type symlink.

This change improves interoperability with Windows systems. Windows systems
would be able to resolve more SMB symlinks created by Linux SMB client
which points to existing directory.

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/smb/client/reparse.c   | 164 +++++++++++++++++++++++++++++++++++++-
 fs/smb/client/smb2inode.c |   3 +-
 fs/smb/client/smb2proto.h |   1 +
 3 files changed, 164 insertions(+), 4 deletions(-)

diff --git a/fs/smb/client/reparse.c b/fs/smb/client/reparse.c
index c848b5e88d32f..74abbdf5026c7 100644
--- a/fs/smb/client/reparse.c
+++ b/fs/smb/client/reparse.c
@@ -14,6 +14,12 @@
 #include "fs_context.h"
 #include "reparse.h"
 
+static int detect_directory_symlink_target(struct cifs_sb_info *cifs_sb,
+					   const unsigned int xid,
+					   const char *full_path,
+					   const char *symname,
+					   bool *directory);
+
 int smb2_create_reparse_symlink(const unsigned int xid, struct inode *inode,
 				struct dentry *dentry, struct cifs_tcon *tcon,
 				const char *full_path, const char *symname)
@@ -24,6 +30,7 @@ int smb2_create_reparse_symlink(const unsigned int xid, struct inode *inode,
 	struct inode *new;
 	struct kvec iov;
 	__le16 *path;
+	bool directory;
 	char *sym, sep = CIFS_DIR_SEP(cifs_sb);
 	u16 len, plen;
 	int rc = 0;
@@ -45,6 +52,18 @@ int smb2_create_reparse_symlink(const unsigned int xid, struct inode *inode,
 		goto out;
 	}
 
+	/*
+	 * SMB distinguish between symlink to directory and symlink to file.
+	 * They cannot be exchanged (symlink of file type which points to
+	 * directory cannot be resolved and vice-versa). Try to detect if
+	 * the symlink target could be a directory or not. When detection
+	 * fails then treat symlink as a file (non-directory) symlink.
+	 */
+	directory = false;
+	rc = detect_directory_symlink_target(cifs_sb, xid, full_path, symname, &directory);
+	if (rc < 0)
+		goto out;
+
 	plen = 2 * UniStrnlen((wchar_t *)path, PATH_MAX);
 	len = sizeof(*buf) + plen * 2;
 	buf = kzalloc(len, GFP_KERNEL);
@@ -69,7 +88,8 @@ int smb2_create_reparse_symlink(const unsigned int xid, struct inode *inode,
 	iov.iov_base = buf;
 	iov.iov_len = len;
 	new = smb2_get_reparse_inode(&data, inode->i_sb, xid,
-				     tcon, full_path, &iov, NULL);
+				     tcon, full_path, directory,
+				     &iov, NULL);
 	if (!IS_ERR(new))
 		d_instantiate(dentry, new);
 	else
@@ -81,6 +101,144 @@ int smb2_create_reparse_symlink(const unsigned int xid, struct inode *inode,
 	return rc;
 }
 
+static int detect_directory_symlink_target(struct cifs_sb_info *cifs_sb,
+					   const unsigned int xid,
+					   const char *full_path,
+					   const char *symname,
+					   bool *directory)
+{
+	char sep = CIFS_DIR_SEP(cifs_sb);
+	struct cifs_open_parms oparms;
+	struct tcon_link *tlink;
+	struct cifs_tcon *tcon;
+	const char *basename;
+	struct cifs_fid fid;
+	char *resolved_path;
+	int full_path_len;
+	int basename_len;
+	int symname_len;
+	char *path_sep;
+	__u32 oplock;
+	int open_rc;
+
+	/*
+	 * First do some simple check. If the original Linux symlink target ends
+	 * with slash, or last path component is dot or dot-dot then it is for
+	 * sure symlink to the directory.
+	 */
+	basename = kbasename(symname);
+	basename_len = strlen(basename);
+	if (basename_len == 0 || /* symname ends with slash */
+	    (basename_len == 1 && basename[0] == '.') || /* last component is "." */
+	    (basename_len == 2 && basename[0] == '.' && basename[1] == '.')) { /* or ".." */
+		*directory = true;
+		return 0;
+	}
+
+	/*
+	 * For absolute symlinks it is not possible to determinate
+	 * if it should point to directory or file.
+	 */
+	if (symname[0] == '/') {
+		cifs_dbg(FYI,
+			 "%s: cannot determinate if the symlink target path '%s' "
+			 "is directory or not, creating '%s' as file symlink\n",
+			 __func__, symname, full_path);
+		return 0;
+	}
+
+	/*
+	 * If it was not detected as directory yet and the symlink is relative
+	 * then try to resolve the path on the SMB server, check if the path
+	 * exists and determinate if it is a directory or not.
+	 */
+
+	full_path_len = strlen(full_path);
+	symname_len = strlen(symname);
+
+	tlink = cifs_sb_tlink(cifs_sb);
+	if (IS_ERR(tlink))
+		return PTR_ERR(tlink);
+
+	resolved_path = kzalloc(full_path_len + symname_len + 1, GFP_KERNEL);
+	if (!resolved_path) {
+		cifs_put_tlink(tlink);
+		return -ENOMEM;
+	}
+
+	/*
+	 * Compose the resolved SMB symlink path from the SMB full path
+	 * and Linux target symlink path.
+	 */
+	memcpy(resolved_path, full_path, full_path_len+1);
+	path_sep = strrchr(resolved_path, sep);
+	if (path_sep)
+		path_sep++;
+	else
+		path_sep = resolved_path;
+	memcpy(path_sep, symname, symname_len+1);
+	if (sep == '\\')
+		convert_delimiter(path_sep, sep);
+
+	tcon = tlink_tcon(tlink);
+	oparms = CIFS_OPARMS(cifs_sb, tcon, resolved_path,
+			     FILE_READ_ATTRIBUTES, FILE_OPEN, 0, ACL_NO_MODE);
+	oparms.fid = &fid;
+
+	/* Try to open as a directory (NOT_FILE) */
+	oplock = 0;
+	oparms.create_options = cifs_create_options(cifs_sb,
+						    CREATE_NOT_FILE | OPEN_REPARSE_POINT);
+	open_rc = tcon->ses->server->ops->open(xid, &oparms, &oplock, NULL);
+	if (open_rc == 0) {
+		/* Successful open means that the target path is definitely a directory. */
+		*directory = true;
+		tcon->ses->server->ops->close(xid, tcon, &fid);
+	} else if (open_rc == -ENOTDIR) {
+		/* -ENOTDIR means that the target path is definitely a file. */
+		*directory = false;
+	} else if (open_rc == -ENOENT) {
+		/* -ENOENT means that the target path does not exist. */
+		cifs_dbg(FYI,
+			 "%s: symlink target path '%s' does not exist, "
+			 "creating '%s' as file symlink\n",
+			 __func__, symname, full_path);
+	} else {
+		/* Try to open as a file (NOT_DIR) */
+		oplock = 0;
+		oparms.create_options = cifs_create_options(cifs_sb,
+							    CREATE_NOT_DIR | OPEN_REPARSE_POINT);
+		open_rc = tcon->ses->server->ops->open(xid, &oparms, &oplock, NULL);
+		if (open_rc == 0) {
+			/* Successful open means that the target path is definitely a file. */
+			*directory = false;
+			tcon->ses->server->ops->close(xid, tcon, &fid);
+		} else if (open_rc == -EISDIR) {
+			/* -EISDIR means that the target path is definitely a directory. */
+			*directory = true;
+		} else {
+			/*
+			 * This code branch is called when we do not have a permission to
+			 * open the resolved_path or some other client/process denied
+			 * opening the resolved_path.
+			 *
+			 * TODO: Try to use ops->query_dir_first on the parent directory
+			 * of resolved_path, search for basename of resolved_path and
+			 * check if the ATTR_DIRECTORY is set in fi.Attributes. In some
+			 * case this could work also when opening of the path is denied.
+			 */
+			cifs_dbg(FYI,
+				 "%s: cannot determinate if the symlink target path '%s' "
+				 "is directory or not, creating '%s' as file symlink\n",
+				 __func__, symname, full_path);
+		}
+	}
+
+	kfree(resolved_path);
+	cifs_put_tlink(tlink);
+	return 0;
+}
+
 static int nfs_set_reparse_buf(struct reparse_posix_data *buf,
 			       mode_t mode, dev_t dev,
 			       struct kvec *iov)
@@ -137,7 +295,7 @@ static int mknod_nfs(unsigned int xid, struct inode *inode,
 	};
 
 	new = smb2_get_reparse_inode(&data, inode->i_sb, xid,
-				     tcon, full_path, &iov, NULL);
+				     tcon, full_path, false, &iov, NULL);
 	if (!IS_ERR(new))
 		d_instantiate(dentry, new);
 	else
@@ -283,7 +441,7 @@ static int mknod_wsl(unsigned int xid, struct inode *inode,
 	data.wsl.eas_len = len;
 
 	new = smb2_get_reparse_inode(&data, inode->i_sb,
-				     xid, tcon, full_path,
+				     xid, tcon, full_path, false,
 				     &reparse_iov, &xattr_iov);
 	if (!IS_ERR(new))
 		d_instantiate(dentry, new);
diff --git a/fs/smb/client/smb2inode.c b/fs/smb/client/smb2inode.c
index 8010b3ed4b3fe..daa841dfbadcf 100644
--- a/fs/smb/client/smb2inode.c
+++ b/fs/smb/client/smb2inode.c
@@ -1198,6 +1198,7 @@ struct inode *smb2_get_reparse_inode(struct cifs_open_info_data *data,
 				     const unsigned int xid,
 				     struct cifs_tcon *tcon,
 				     const char *full_path,
+				     bool directory,
 				     struct kvec *reparse_iov,
 				     struct kvec *xattr_iov)
 {
@@ -1217,7 +1218,7 @@ struct inode *smb2_get_reparse_inode(struct cifs_open_info_data *data,
 			     FILE_READ_ATTRIBUTES |
 			     FILE_WRITE_ATTRIBUTES,
 			     FILE_CREATE,
-			     CREATE_NOT_DIR | OPEN_REPARSE_POINT,
+			     (directory ? CREATE_NOT_FILE : CREATE_NOT_DIR) | OPEN_REPARSE_POINT,
 			     ACL_NO_MODE);
 	if (xattr_iov)
 		oparms.ea_cctx = xattr_iov;
diff --git a/fs/smb/client/smb2proto.h b/fs/smb/client/smb2proto.h
index 732169d8a67a3..f6fafa997e991 100644
--- a/fs/smb/client/smb2proto.h
+++ b/fs/smb/client/smb2proto.h
@@ -61,6 +61,7 @@ struct inode *smb2_get_reparse_inode(struct cifs_open_info_data *data,
 				     const unsigned int xid,
 				     struct cifs_tcon *tcon,
 				     const char *full_path,
+				     bool directory,
 				     struct kvec *reparse_iov,
 				     struct kvec *xattr_iov);
 int smb2_query_reparse_point(const unsigned int xid,
-- 
2.43.0




  parent reply	other threads:[~2024-11-06 12:51 UTC|newest]

Thread overview: 163+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-06 12:03 [PATCH 6.6 000/151] 6.6.60-rc1 review Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 001/151] thermal: core: Make thermal_zone_device_unregister() return after freeing the zone Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 002/151] thermal: core: Rework thermal zone availability check Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 003/151] thermal: core: Free tzp copy along with the thermal zone Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 004/151] Input: xpad - sort xpad_device by vendor and product ID Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 005/151] Input: xpad - add support for 8BitDo Ultimate 2C Wireless Controller Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 006/151] cgroup: Fix potential overflow issue when checking max_depth Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 007/151] spi: geni-qcom: Fix boot warning related to pm_runtime and devres Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 008/151] wifi: iwlegacy: Fix "field-spanning write" warning in il_enqueue_hcmd() Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 009/151] mac80211: MAC80211_MESSAGE_TRACING should depend on TRACING Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 010/151] wifi: mac80211: skip non-uploaded keys in ieee80211_iter_keys Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 011/151] wifi: ath11k: Fix invalid ring usage in full monitor mode Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 012/151] wifi: brcm80211: BRCM_TRACING should depend on TRACING Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 013/151] RDMA/cxgb4: Dump vendor specific QP details Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 014/151] RDMA/mlx5: Round max_rd_atomic/max_dest_rd_atomic up instead of down Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 015/151] RDMA/bnxt_re: Fix the usage of control path spin locks Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 016/151] RDMA/bnxt_re: synchronize the qp-handle table array Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 017/151] wifi: iwlwifi: mvm: disconnect station vifs if recovery failed Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 018/151] wifi: iwlwifi: mvm: Fix response handling in iwl_mvm_send_recovery_cmd() Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 019/151] wifi: iwlwifi: mvm: dont add default link in fw restart flow Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 020/151] ASoC: cs42l51: Fix some error handling paths in cs42l51_probe() Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 021/151] macsec: Fix use-after-free while sending the offloading packet Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 022/151] net: stmmac: dwmac4: Fix high address display by updating reg_space[] from register values Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 023/151] net: stmmac: TSO: Fix unbalanced DMA map/unmap for non-paged SKB data Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 024/151] igb: Disable threaded IRQ for igb_msix_other Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 025/151] ipv4: ip_tunnel: Fix suspicious RCU usage warning in ip_tunnel_init_flow() Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 026/151] gtp: allow -1 to be specified as file description from userspace Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 027/151] net/sched: stop qdisc_tree_reduce_backlog on TC_H_ROOT Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 028/151] selftests/bpf: Add bpf_percpu_obj_{new,drop}() macro in bpf_experimental.h Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 029/151] bpf: Force checkpoint when jmp history is too long Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 030/151] netdevsim: Add trailing zero to terminate the string in nsim_nexthop_bucket_activity_write() Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 031/151] bpf: Fix out-of-bounds write in trie_get_next_key() Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 032/151] net: fix crash when config small gso_max_size/gso_ipv4_max_size Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 033/151] netfilter: Fix use-after-free in get_info() Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 034/151] netfilter: nf_reject_ipv6: fix potential crash in nf_send_reset6() Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 035/151] Bluetooth: hci: fix null-ptr-deref in hci_read_supported_codecs Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 036/151] net: skip offload for NETIF_F_IPV6_CSUM if ipv6 header contains extension Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 037/151] mlxsw: spectrum_ptp: Add missing verification before pushing Tx header Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 038/151] mlxsw: spectrum_ipip: Fix memory leak when changing remote IPv6 address Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 039/151] netfilter: nft_payload: sanitize offset and length before calling skb_checksum() Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 040/151] bpf, test_run: Fix LIVE_FRAME frame update after a page has been recycled Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 041/151] iomap: improve shared block detection in iomap_unshare_iter Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 042/151] iomap: dont bother unsharing delalloc extents Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 043/151] iomap: share iomap_unshare_iter predicate code with fsdax Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 044/151] fsdax: remove zeroing code from dax_unshare_iter Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 045/151] fsdax: dax_unshare_iter needs to copy entire blocks Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 046/151] iomap: turn iomap_want_unshare_iter into an inline function Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 047/151] kasan: Fix Software Tag-Based KASAN with GCC Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 048/151] firmware: arm_sdei: Fix the input parameter of cpuhp_remove_state() Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 049/151] afs: Automatically generate trace tag enums Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 050/151] afs: Fix missing subdir edit when renamed between parent dirs Greg Kroah-Hartman
2024-11-06 12:03 ` [PATCH 6.6 051/151] ACPI: CPPC: Make rmw_lock a raw_spin_lock Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 052/151] smb: client: fix parsing of device numbers Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 053/151] smb: client: set correct device number on nfs reparse points Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 054/151] cxl/events: Fix Trace DRAM Event Record Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 055/151] ntfs3: Add bounds checking to mi_enum_attr() Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 056/151] fs/ntfs3: Check if more than chunk-size bytes are written Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 057/151] fs/ntfs3: Fix warning possible deadlock in ntfs_set_state Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 058/151] fs/ntfs3: Stale inode instead of bad Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 059/151] fs/ntfs3: Add rough attr alloc_size check Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 060/151] fs/ntfs3: Fix possible deadlock in mi_read Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 061/151] fs/ntfs3: Additional check in ni_clear() Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 062/151] fs/ntfs3: Fix general protection fault in run_is_mapped_full Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 063/151] fs/ntfs3: Additional check in ntfs_file_release Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 064/151] scsi: scsi_transport_fc: Allow setting rport state to current state Greg Kroah-Hartman
2024-11-06 12:04 ` Greg Kroah-Hartman [this message]
2024-11-06 12:04 ` [PATCH 6.6 066/151] cifs: Fix creating native symlinks pointing to current or parent directory Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 067/151] thermal: intel: int340x: processor: Remove MMIO RAPL CPU hotplug support Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 068/151] thermal: intel: int340x: processor: Add MMIO RAPL PL4 support Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 069/151] net: amd: mvme147: Fix probe banner message Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 070/151] NFS: remove revoked delegation from servers delegation list Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 071/151] misc: sgi-gru: Dont disable preemption in GRU driver Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 072/151] usb: gadget: dummy_hcd: Switch to hrtimer transfer scheduler Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 073/151] usb: gadget: dummy_hcd: Set transfer interval to 1 microframe Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 074/151] usb: gadget: dummy_hcd: execute hrtimer callback in softirq context Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 075/151] USB: gadget: dummy-hcd: Fix "task hung" problem Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 076/151] rcu-tasks: Pull sampling of ->percpu_dequeue_lim out of loop Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 077/151] rcu-tasks: Add data to eliminate RCU-tasks/do_exit() deadlocks Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 078/151] rcu-tasks: Initialize " Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 079/151] rcu-tasks: Fix access non-existent percpu rtpcp variable in rcu_tasks_need_gpcb() Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 080/151] ALSA: usb-audio: Add quirks for Dell WD19 dock Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 081/151] usbip: tools: Fix detach_port() invalid port error path Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 082/151] usb: phy: Fix API devm_usb_put_phy() can not release the phy Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 083/151] usb: typec: fix unreleased fwnode_handle in typec_port_register_altmodes() Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 084/151] usb: typec: qcom-pmic-typec: use fwnode_handle_put() to release fwnodes Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 085/151] phy: qcom: qmp-usb: fix NULL-deref on runtime suspend Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 086/151] phy: qcom: qmp-usb-legacy: " Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 087/151] xhci: Fix Link TRB DMA in command ring stopped completion event Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 088/151] xhci: Use pm_runtime_get to prevent RPM on unsupported systems Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 089/151] Revert "driver core: Fix uevent_show() vs driver detach race" Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 090/151] Revert "selftests/mm: fix deadlock for fork after pthread_create on ARM" Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 091/151] Revert "selftests/mm: replace atomic_bool with pthread_barrier_t" Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 092/151] wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 093/151] wifi: ath10k: Fix memory leak in management tx Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 094/151] wifi: cfg80211: clear wdev->cqm_config pointer on free Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 095/151] wifi: iwlegacy: Clear stale interrupts before resuming device Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 096/151] staging: iio: frequency: ad9832: fix division by zero in ad9832_calc_freqreg() Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 097/151] iio: adc: ad7124: fix division by zero in ad7124_set_channel_odr() Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 098/151] iio: gts-helper: Fix memory leaks for the error path of iio_gts_build_avail_scale_table() Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 099/151] iio: gts-helper: Fix memory leaks in iio_gts_build_avail_scale_table() Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 100/151] iio: light: veml6030: fix microlux value calculation Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 101/151] nilfs2: fix potential deadlock with newly created symlinks Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 102/151] RISC-V: ACPI: fix early_ioremap to early_memremap Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 103/151] mm: shmem: fix data-race in shmem_getattr() Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 104/151] tools/mm: -Werror fixes in page-types/slabinfo Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 105/151] thunderbolt: Honor TMU requirements in the domain when setting TMU mode Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 106/151] cxl/port: Fix use-after-free, permit out-of-order decoder shutdown Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 107/151] mmc: sdhci-pci-gli: GL9767: Fix low power mode on the set clock function Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 108/151] mmc: sdhci-pci-gli: GL9767: Fix low power mode in the SD Express process Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 109/151] block: fix sanity checks in blk_rq_map_user_bvec Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 110/151] cgroup/bpf: use a dedicated workqueue for cgroup bpf destruction Greg Kroah-Hartman
2024-11-06 12:04 ` [PATCH 6.6 111/151] phy: freescale: imx8m-pcie: Do CMN_RST just before PHY PLL lock check Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 112/151] spi: spi-fsl-dspi: Fix crash when not using GPIO chip select Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 113/151] riscv: vdso: Prevent the compiler from inserting calls to memset() Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 114/151] Input: edt-ft5x06 - fix regmap leak when probe fails Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 115/151] ALSA: hda/realtek: Limit internal Mic boost on Dell platform Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 116/151] riscv: efi: Set NX compat flag in PE/COFF header Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 117/151] riscv: Use %u to format the output of cpu Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 118/151] riscv: Remove unused GENERATING_ASM_OFFSETS Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 119/151] riscv: Remove duplicated GET_RM Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 120/151] cxl/port: Fix cxl_bus_rescan() vs bus_rescan_devices() Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 121/151] cxl/acpi: Ensure ports ready at cxl_acpi_probe() return Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 122/151] sched/numa: Fix the potential null pointer dereference in task_numa_work() Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 123/151] iov_iter: fix copy_page_from_iter_atomic() if KMAP_LOCAL_FORCE_MAP Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 124/151] mptcp: init: protect sched with rcu_read_lock Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 125/151] mei: use kvmalloc for read buffer Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 126/151] mm/page_alloc: let GFP_ATOMIC order-0 allocs access highatomic reserves Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 127/151] x86/traps: Enable UBSAN traps on x86 Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 128/151] x86/traps: move kmsan check after instrumentation_begin Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 129/151] ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 130/151] mctp i2c: handle NULL header address Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 131/151] xfs: fix finding a last resort AG in xfs_filestream_pick_ag Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 132/151] ALSA: hda/realtek: Fix headset mic on TUXEDO Gemini 17 Gen3 Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 133/151] ALSA: hda/realtek: Fix headset mic on TUXEDO Stellaris 16 Gen6 mb1 Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 134/151] nvmet-auth: assign dh_key to NULL after kfree_sensitive Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 135/151] kasan: remove vmalloc_percpu test Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 136/151] io_uring/rw: fix missing NOWAIT check for O_DIRECT start write Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 137/151] vmscan,migrate: fix page count imbalance on node stats when demoting pages Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 138/151] arm64: dts: imx8ulp: correct the flexspi compatible string Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 139/151] io_uring: always lock __io_cqring_overflow_flush Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 140/151] wifi: mac80211: fix NULL dereference at band check in starting tx ba session Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 141/151] nilfs2: fix kernel bug due to missing clearing of checked flag Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 142/151] wifi: iwlwifi: mvm: fix 6 GHz scan construction Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 143/151] mm: huge_memory: add vma_thp_disabled() and thp_disabled_by_hw() Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 144/151] mm: dont install PMD mappings when THPs are disabled by the hw/process/vma Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 145/151] mtd: spi-nor: winbond: fix w25q128 regression Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 146/151] SUNRPC: Remove BUG_ON call sites Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 147/151] ASoC: SOF: ipc4-topology: Add definition for generic switch/enum control Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 148/151] ASoC: SOF: ipc4-control: Add support for ALSA switch control Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 149/151] ASoC: SOF: ipc4-control: Add support for ALSA enum control Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 150/151] drm/amd/display: Add null checks for stream and plane before dereferencing Greg Kroah-Hartman
2024-11-06 12:05 ` [PATCH 6.6 151/151] fs/ntfs3: Sequential field availability check in mi_enum_attr() Greg Kroah-Hartman
2024-11-06 16:54 ` [PATCH 6.6 000/151] 6.6.60-rc1 review SeongJae Park
2024-11-07  2:27 ` Shuah Khan
2024-11-07 11:45 ` Naresh Kamboju
2024-11-07 12:20 ` Peter Schneider
2024-11-07 12:30 ` Takeshi Ogasawara
2024-11-07 13:43 ` Jon Hunter
2024-11-07 19:43 ` Florian Fainelli
2024-11-08  2:15 ` Ron Economos
2024-11-08  7:09 ` [PATCH 6.6] " Hardik Garg
2024-11-09  1:43 ` [PATCH 6.6 000/151] " Mark Brown
2024-11-09 16:06 ` Harshit Mogalapalli

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=20241106120310.627356737@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=pali@kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.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