From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
"Paulo Alcantara (SUSE)" <pc@manguebit.com>,
Steve French <stfrench@microsoft.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.6 120/166] smb: client: implement ->query_reparse_point() for SMB1
Date: Mon, 18 Dec 2023 14:51:26 +0100 [thread overview]
Message-ID: <20231218135110.413971641@linuxfoundation.org> (raw)
In-Reply-To: <20231218135104.927894164@linuxfoundation.org>
6.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Paulo Alcantara <pc@manguebit.com>
[ Upstream commit ed3e0a149b58ea8cfd10cc4f7cefb39877ff07ac ]
Reparse points are not limited to symlinks, so implement
->query_reparse_point() in order to handle different file types.
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/smb/client/cifspdu.h | 2 +-
fs/smb/client/cifsproto.h | 9 ++
fs/smb/client/cifssmb.c | 193 +++++++++++++++-----------------------
fs/smb/client/smb1ops.c | 49 ++--------
fs/smb/client/smb2ops.c | 35 ++++---
5 files changed, 113 insertions(+), 175 deletions(-)
diff --git a/fs/smb/client/cifspdu.h b/fs/smb/client/cifspdu.h
index a75220db5c1e1..2a90134331a48 100644
--- a/fs/smb/client/cifspdu.h
+++ b/fs/smb/client/cifspdu.h
@@ -1356,7 +1356,7 @@ typedef struct smb_com_transaction_ioctl_rsp {
__le32 DataDisplacement;
__u8 SetupCount; /* 1 */
__le16 ReturnedDataLen;
- __u16 ByteCount;
+ __le16 ByteCount;
} __attribute__((packed)) TRANSACT_IOCTL_RSP;
#define CIFS_ACL_OWNER 1
diff --git a/fs/smb/client/cifsproto.h b/fs/smb/client/cifsproto.h
index 8e53abcfc5ec4..dc2c43dd6a910 100644
--- a/fs/smb/client/cifsproto.h
+++ b/fs/smb/client/cifsproto.h
@@ -457,6 +457,12 @@ extern int CIFSSMBUnixQuerySymLink(const unsigned int xid,
struct cifs_tcon *tcon,
const unsigned char *searchName, char **syminfo,
const struct nls_table *nls_codepage, int remap);
+extern int cifs_query_reparse_point(const unsigned int xid,
+ struct cifs_tcon *tcon,
+ struct cifs_sb_info *cifs_sb,
+ const char *full_path,
+ u32 *tag, struct kvec *rsp,
+ int *rsp_buftype);
extern int CIFSSMBQuerySymLink(const unsigned int xid, struct cifs_tcon *tcon,
__u16 fid, char **symlinkinfo,
const struct nls_table *nls_codepage);
@@ -656,6 +662,9 @@ void cifs_put_tcp_super(struct super_block *sb);
int cifs_update_super_prepath(struct cifs_sb_info *cifs_sb, char *prefix);
char *extract_hostname(const char *unc);
char *extract_sharename(const char *unc);
+int parse_reparse_point(struct reparse_data_buffer *buf,
+ u32 plen, struct cifs_sb_info *cifs_sb,
+ bool unicode, char **target_path);
#ifdef CONFIG_CIFS_DFS_UPCALL
static inline int get_dfs_path(const unsigned int xid, struct cifs_ses *ses,
diff --git a/fs/smb/client/cifssmb.c b/fs/smb/client/cifssmb.c
index 25503f1a4fd21..bad91ba6c3a9c 100644
--- a/fs/smb/client/cifssmb.c
+++ b/fs/smb/client/cifssmb.c
@@ -2690,136 +2690,97 @@ CIFSSMBUnixQuerySymLink(const unsigned int xid, struct cifs_tcon *tcon,
return rc;
}
-/*
- * Recent Windows versions now create symlinks more frequently
- * and they use the "reparse point" mechanism below. We can of course
- * do symlinks nicely to Samba and other servers which support the
- * CIFS Unix Extensions and we can also do SFU symlinks and "client only"
- * "MF" symlinks optionally, but for recent Windows we really need to
- * reenable the code below and fix the cifs_symlink callers to handle this.
- * In the interim this code has been moved to its own config option so
- * it is not compiled in by default until callers fixed up and more tested.
- */
-int
-CIFSSMBQuerySymLink(const unsigned int xid, struct cifs_tcon *tcon,
- __u16 fid, char **symlinkinfo,
- const struct nls_table *nls_codepage)
+int cifs_query_reparse_point(const unsigned int xid,
+ struct cifs_tcon *tcon,
+ struct cifs_sb_info *cifs_sb,
+ const char *full_path,
+ u32 *tag, struct kvec *rsp,
+ int *rsp_buftype)
{
- int rc = 0;
- int bytes_returned;
- struct smb_com_transaction_ioctl_req *pSMB;
- struct smb_com_transaction_ioctl_rsp *pSMBr;
- bool is_unicode;
- unsigned int sub_len;
- char *sub_start;
- struct reparse_symlink_data *reparse_buf;
- struct reparse_posix_data *posix_buf;
+ struct cifs_open_parms oparms;
+ TRANSACT_IOCTL_REQ *io_req = NULL;
+ TRANSACT_IOCTL_RSP *io_rsp = NULL;
+ struct cifs_fid fid;
__u32 data_offset, data_count;
- char *end_of_smb;
+ __u8 *start, *end;
+ int io_rsp_len;
+ int oplock = 0;
+ int rc;
- cifs_dbg(FYI, "In Windows reparse style QueryLink for fid %u\n", fid);
- rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB,
- (void **) &pSMBr);
+ cifs_tcon_dbg(FYI, "%s: path=%s\n", __func__, full_path);
+
+ if (cap_unix(tcon->ses))
+ return -EOPNOTSUPP;
+
+ oparms = (struct cifs_open_parms) {
+ .tcon = tcon,
+ .cifs_sb = cifs_sb,
+ .desired_access = FILE_READ_ATTRIBUTES,
+ .create_options = cifs_create_options(cifs_sb,
+ OPEN_REPARSE_POINT),
+ .disposition = FILE_OPEN,
+ .path = full_path,
+ .fid = &fid,
+ };
+
+ rc = CIFS_open(xid, &oparms, &oplock, NULL);
if (rc)
return rc;
- pSMB->TotalParameterCount = 0 ;
- pSMB->TotalDataCount = 0;
- pSMB->MaxParameterCount = cpu_to_le32(2);
- /* BB find exact data count max from sess structure BB */
- pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00);
- pSMB->MaxSetupCount = 4;
- pSMB->Reserved = 0;
- pSMB->ParameterOffset = 0;
- pSMB->DataCount = 0;
- pSMB->DataOffset = 0;
- pSMB->SetupCount = 4;
- pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_IOCTL);
- pSMB->ParameterCount = pSMB->TotalParameterCount;
- pSMB->FunctionCode = cpu_to_le32(FSCTL_GET_REPARSE_POINT);
- pSMB->IsFsctl = 1; /* FSCTL */
- pSMB->IsRootFlag = 0;
- pSMB->Fid = fid; /* file handle always le */
- pSMB->ByteCount = 0;
+ rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon,
+ (void **)&io_req, (void **)&io_rsp);
+ if (rc)
+ goto error;
- rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
- (struct smb_hdr *) pSMBr, &bytes_returned, 0);
- if (rc) {
- cifs_dbg(FYI, "Send error in QueryReparseLinkInfo = %d\n", rc);
- goto qreparse_out;
- }
+ io_req->TotalParameterCount = 0;
+ io_req->TotalDataCount = 0;
+ io_req->MaxParameterCount = cpu_to_le32(2);
+ /* BB find exact data count max from sess structure BB */
+ io_req->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00);
+ io_req->MaxSetupCount = 4;
+ io_req->Reserved = 0;
+ io_req->ParameterOffset = 0;
+ io_req->DataCount = 0;
+ io_req->DataOffset = 0;
+ io_req->SetupCount = 4;
+ io_req->SubCommand = cpu_to_le16(NT_TRANSACT_IOCTL);
+ io_req->ParameterCount = io_req->TotalParameterCount;
+ io_req->FunctionCode = cpu_to_le32(FSCTL_GET_REPARSE_POINT);
+ io_req->IsFsctl = 1;
+ io_req->IsRootFlag = 0;
+ io_req->Fid = fid.netfid;
+ io_req->ByteCount = 0;
+
+ rc = SendReceive(xid, tcon->ses, (struct smb_hdr *)io_req,
+ (struct smb_hdr *)io_rsp, &io_rsp_len, 0);
+ if (rc)
+ goto error;
- data_offset = le32_to_cpu(pSMBr->DataOffset);
- data_count = le32_to_cpu(pSMBr->DataCount);
- if (get_bcc(&pSMBr->hdr) < 2 || data_offset > 512) {
- /* BB also check enough total bytes returned */
- rc = -EIO; /* bad smb */
- goto qreparse_out;
- }
- if (!data_count || (data_count > 2048)) {
+ data_offset = le32_to_cpu(io_rsp->DataOffset);
+ data_count = le32_to_cpu(io_rsp->DataCount);
+ if (get_bcc(&io_rsp->hdr) < 2 || data_offset > 512 ||
+ !data_count || data_count > 2048) {
rc = -EIO;
- cifs_dbg(FYI, "Invalid return data count on get reparse info ioctl\n");
- goto qreparse_out;
- }
- end_of_smb = 2 + get_bcc(&pSMBr->hdr) + (char *)&pSMBr->ByteCount;
- reparse_buf = (struct reparse_symlink_data *)
- ((char *)&pSMBr->hdr.Protocol + data_offset);
- if ((char *)reparse_buf >= end_of_smb) {
- rc = -EIO;
- goto qreparse_out;
- }
- if (reparse_buf->ReparseTag == cpu_to_le32(IO_REPARSE_TAG_NFS)) {
- cifs_dbg(FYI, "NFS style reparse tag\n");
- posix_buf = (struct reparse_posix_data *)reparse_buf;
-
- if (posix_buf->InodeType != cpu_to_le64(NFS_SPECFILE_LNK)) {
- cifs_dbg(FYI, "unsupported file type 0x%llx\n",
- le64_to_cpu(posix_buf->InodeType));
- rc = -EOPNOTSUPP;
- goto qreparse_out;
- }
- is_unicode = true;
- sub_len = le16_to_cpu(reparse_buf->ReparseDataLength);
- if (posix_buf->PathBuffer + sub_len > end_of_smb) {
- cifs_dbg(FYI, "reparse buf beyond SMB\n");
- rc = -EIO;
- goto qreparse_out;
- }
- *symlinkinfo = cifs_strndup_from_utf16(posix_buf->PathBuffer,
- sub_len, is_unicode, nls_codepage);
- goto qreparse_out;
- } else if (reparse_buf->ReparseTag !=
- cpu_to_le32(IO_REPARSE_TAG_SYMLINK)) {
- rc = -EOPNOTSUPP;
- goto qreparse_out;
+ goto error;
}
- /* Reparse tag is NTFS symlink */
- sub_start = le16_to_cpu(reparse_buf->SubstituteNameOffset) +
- reparse_buf->PathBuffer;
- sub_len = le16_to_cpu(reparse_buf->SubstituteNameLength);
- if (sub_start + sub_len > end_of_smb) {
- cifs_dbg(FYI, "reparse buf beyond SMB\n");
+ end = 2 + get_bcc(&io_rsp->hdr) + (__u8 *)&io_rsp->ByteCount;
+ start = (__u8 *)&io_rsp->hdr.Protocol + data_offset;
+ if (start >= end) {
rc = -EIO;
- goto qreparse_out;
+ goto error;
}
- if (pSMBr->hdr.Flags2 & SMBFLG2_UNICODE)
- is_unicode = true;
- else
- is_unicode = false;
-
- /* BB FIXME investigate remapping reserved chars here */
- *symlinkinfo = cifs_strndup_from_utf16(sub_start, sub_len, is_unicode,
- nls_codepage);
- if (!*symlinkinfo)
- rc = -ENOMEM;
-qreparse_out:
- cifs_buf_release(pSMB);
- /*
- * Note: On -EAGAIN error only caller can retry on handle based calls
- * since file handle passed in no longer valid.
- */
+ *tag = le32_to_cpu(((struct reparse_data_buffer *)start)->ReparseTag);
+ rsp->iov_base = io_rsp;
+ rsp->iov_len = io_rsp_len;
+ *rsp_buftype = CIFS_LARGE_BUFFER;
+ CIFSSMBClose(xid, tcon, fid.netfid);
+ return 0;
+
+error:
+ cifs_buf_release(io_req);
+ CIFSSMBClose(xid, tcon, fid.netfid);
return rc;
}
diff --git a/fs/smb/client/smb1ops.c b/fs/smb/client/smb1ops.c
index 9bf8735cdd1e8..6b4d8effa79df 100644
--- a/fs/smb/client/smb1ops.c
+++ b/fs/smb/client/smb1ops.c
@@ -979,18 +979,13 @@ static int cifs_query_symlink(const unsigned int xid,
char **target_path,
struct kvec *rsp_iov)
{
+ struct reparse_data_buffer *buf;
+ TRANSACT_IOCTL_RSP *io = rsp_iov->iov_base;
+ bool unicode = !!(io->hdr.Flags2 & SMBFLG2_UNICODE);
+ u32 plen = le16_to_cpu(io->ByteCount);
int rc;
- int oplock = 0;
- bool is_reparse_point = !!rsp_iov;
- struct cifs_fid fid;
- struct cifs_open_parms oparms;
- cifs_dbg(FYI, "%s: path: %s\n", __func__, full_path);
-
- if (is_reparse_point) {
- cifs_dbg(VFS, "reparse points not handled for SMB1 symlinks\n");
- return -EOPNOTSUPP;
- }
+ cifs_tcon_dbg(FYI, "%s: path=%s\n", __func__, full_path);
/* Check for unix extensions */
if (cap_unix(tcon->ses)) {
@@ -1001,37 +996,12 @@ static int cifs_query_symlink(const unsigned int xid,
rc = cifs_unix_dfs_readlink(xid, tcon, full_path,
target_path,
cifs_sb->local_nls);
-
- goto out;
+ return rc;
}
- oparms = (struct cifs_open_parms) {
- .tcon = tcon,
- .cifs_sb = cifs_sb,
- .desired_access = FILE_READ_ATTRIBUTES,
- .create_options = cifs_create_options(cifs_sb,
- OPEN_REPARSE_POINT),
- .disposition = FILE_OPEN,
- .path = full_path,
- .fid = &fid,
- };
-
- rc = CIFS_open(xid, &oparms, &oplock, NULL);
- if (rc)
- goto out;
-
- rc = CIFSSMBQuerySymLink(xid, tcon, fid.netfid, target_path,
- cifs_sb->local_nls);
- if (rc)
- goto out_close;
-
- convert_delimiter(*target_path, '/');
-out_close:
- CIFSSMBClose(xid, tcon, fid.netfid);
-out:
- if (!rc)
- cifs_dbg(FYI, "%s: target path: %s\n", __func__, *target_path);
- return rc;
+ buf = (struct reparse_data_buffer *)((__u8 *)&io->hdr.Protocol +
+ le32_to_cpu(io->DataOffset));
+ return parse_reparse_point(buf, plen, cifs_sb, unicode, target_path);
}
static bool
@@ -1214,6 +1184,7 @@ struct smb_version_operations smb1_operations = {
.is_path_accessible = cifs_is_path_accessible,
.can_echo = cifs_can_echo,
.query_path_info = cifs_query_path_info,
+ .query_reparse_point = cifs_query_reparse_point,
.query_file_info = cifs_query_file_info,
.get_srv_inum = cifs_get_srv_inum,
.set_path_size = CIFSSMBSetEOF,
diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
index 386b62d5c1332..f1966ab9941cb 100644
--- a/fs/smb/client/smb2ops.c
+++ b/fs/smb/client/smb2ops.c
@@ -2894,27 +2894,26 @@ parse_reparse_posix(struct reparse_posix_data *symlink_buf,
return 0;
}
-static int
-parse_reparse_symlink(struct reparse_symlink_data_buffer *symlink_buf,
- u32 plen, char **target_path,
- struct cifs_sb_info *cifs_sb)
+static int parse_reparse_symlink(struct reparse_symlink_data_buffer *sym,
+ u32 plen, bool unicode, char **target_path,
+ struct cifs_sb_info *cifs_sb)
{
unsigned int sub_len;
unsigned int sub_offset;
/* We handle Symbolic Link reparse tag here. See: MS-FSCC 2.1.2.4 */
- sub_offset = le16_to_cpu(symlink_buf->SubstituteNameOffset);
- sub_len = le16_to_cpu(symlink_buf->SubstituteNameLength);
+ sub_offset = le16_to_cpu(sym->SubstituteNameOffset);
+ sub_len = le16_to_cpu(sym->SubstituteNameLength);
if (sub_offset + 20 > plen ||
sub_offset + sub_len + 20 > plen) {
cifs_dbg(VFS, "srv returned malformed symlink buffer\n");
return -EIO;
}
- *target_path = cifs_strndup_from_utf16(
- symlink_buf->PathBuffer + sub_offset,
- sub_len, true, cifs_sb->local_nls);
+ *target_path = cifs_strndup_from_utf16(sym->PathBuffer + sub_offset,
+ sub_len, unicode,
+ cifs_sb->local_nls);
if (!(*target_path))
return -ENOMEM;
@@ -2924,19 +2923,17 @@ parse_reparse_symlink(struct reparse_symlink_data_buffer *symlink_buf,
return 0;
}
-static int
-parse_reparse_point(struct reparse_data_buffer *buf,
- u32 plen, char **target_path,
- struct cifs_sb_info *cifs_sb)
+int parse_reparse_point(struct reparse_data_buffer *buf,
+ u32 plen, struct cifs_sb_info *cifs_sb,
+ bool unicode, char **target_path)
{
- if (plen < sizeof(struct reparse_data_buffer)) {
+ if (plen < sizeof(*buf)) {
cifs_dbg(VFS, "reparse buffer is too small. Must be at least 8 bytes but was %d\n",
plen);
return -EIO;
}
- if (plen < le16_to_cpu(buf->ReparseDataLength) +
- sizeof(struct reparse_data_buffer)) {
+ if (plen < le16_to_cpu(buf->ReparseDataLength) + sizeof(*buf)) {
cifs_dbg(VFS, "srv returned invalid reparse buf length: %d\n",
plen);
return -EIO;
@@ -2951,7 +2948,7 @@ parse_reparse_point(struct reparse_data_buffer *buf,
case IO_REPARSE_TAG_SYMLINK:
return parse_reparse_symlink(
(struct reparse_symlink_data_buffer *)buf,
- plen, target_path, cifs_sb);
+ plen, unicode, target_path, cifs_sb);
default:
cifs_dbg(VFS, "srv returned unknown symlink buffer tag:0x%08x\n",
le32_to_cpu(buf->ReparseTag));
@@ -2970,11 +2967,11 @@ static int smb2_query_symlink(const unsigned int xid,
struct smb2_ioctl_rsp *io = rsp_iov->iov_base;
u32 plen = le32_to_cpu(io->OutputCount);
- cifs_dbg(FYI, "%s: path: %s\n", __func__, full_path);
+ cifs_tcon_dbg(FYI, "%s: path: %s\n", __func__, full_path);
buf = (struct reparse_data_buffer *)((u8 *)io +
le32_to_cpu(io->OutputOffset));
- return parse_reparse_point(buf, plen, target_path, cifs_sb);
+ return parse_reparse_point(buf, plen, cifs_sb, true, target_path);
}
static int smb2_query_reparse_point(const unsigned int xid,
--
2.43.0
next prev parent reply other threads:[~2023-12-18 14:06 UTC|newest]
Thread overview: 180+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-18 13:49 [PATCH 6.6 000/166] 6.6.8-rc1 review Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 001/166] r8152: add vendor/device ID pair for ASUS USB-C2500 Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 002/166] ext4: fix warning in ext4_dio_write_end_io() Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 003/166] ksmbd: fix memory leak in smb2_lock() Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 004/166] efi/x86: Avoid physical KASLR on older Dell systems Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 005/166] afs: Fix refcount underflow from error handling race Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 006/166] HID: lenovo: Restrict detection of patched firmware only to USB cptkbd Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 007/166] net/mlx5e: Honor user choice of IPsec replay window size Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 008/166] net/mlx5e: Ensure that IPsec sequence packet number starts from 1 Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 009/166] net/mlx5e: Unify esw and normal IPsec status table creation/destruction Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 010/166] net/mlx5e: Tidy up IPsec NAT-T SA discovery Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 011/166] net/mlx5e: Reduce eswitch mode_lock protection context Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 012/166] net/mlx5e: Check the number of elements before walk TC rhashtable Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 013/166] RDMA/mlx5: Send events from IB driver about device affiliation state Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 014/166] net/mlx5e: Disable IPsec offload support if not FW steering Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 015/166] net/mlx5e: Fix possible deadlock on mlx5e_tx_timeout_work Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 016/166] net/mlx5e: TC, Dont offload post action rule if not supported Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 017/166] net/mlx5: Nack sync reset request when HotPlug is enabled Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 018/166] net/mlx5e: Check netdev pointer before checking its net ns Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 019/166] net/mlx5: Fix a NULL vs IS_ERR() check Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 020/166] net: ipv6: support reporting otherwise unknown prefix flags in RTM_NEWPREFIX Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 021/166] qca_debug: Prevent crash on TX ring changes Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 022/166] qca_debug: Fix ethtool -G iface tx behavior Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 023/166] qca_spi: Fix reset behavior Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 024/166] bnxt_en: Clear resource reservation during resume Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 025/166] bnxt_en: Fix skb recycling logic in bnxt_deliver_skb() Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 026/166] bnxt_en: Fix wrong return value check in bnxt_close_nic() Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 027/166] bnxt_en: Fix HWTSTAMP_FILTER_ALL packet timestamp logic Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 028/166] atm: solos-pci: Fix potential deadlock on &cli_queue_lock Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 029/166] atm: solos-pci: Fix potential deadlock on &tx_queue_lock Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 030/166] net: fec: correct queue selection Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 031/166] octeontx2-af: fix a use-after-free in rvu_nix_register_reporters Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 032/166] net/sched: act_ct: Take per-cb reference to tcf_ct_flow_table Greg Kroah-Hartman
2023-12-18 13:49 ` [PATCH 6.6 033/166] octeon_ep: explicitly test for firmware ready value Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 034/166] octeontx2-pf: Fix promisc mcam entry action Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 035/166] octeontx2-af: Update RSS algorithm index Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 036/166] octeontx2-af: Fix pause frame configuration Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 037/166] atm: Fix Use-After-Free in do_vcc_ioctl Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 038/166] net/rose: Fix Use-After-Free in rose_ioctl Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 039/166] iavf: Introduce new state machines for flow director Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 040/166] iavf: Handle ntuple on/off based on " Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 041/166] iavf: Fix iavf_shutdown to call iavf_remove instead iavf_close Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 042/166] qed: Fix a potential use-after-free in qed_cxt_tables_alloc Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 043/166] net: Remove acked SYN flag from packet in the transmit queue correctly Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 044/166] net: ena: Destroy correct number of xdp queues upon failure Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 045/166] net: ena: Fix xdp drops handling due to multibuf packets Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 046/166] net: ena: Fix DMA syncing in XDP path when SWIOTLB is on Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 047/166] net: ena: Fix XDP redirection error Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 048/166] stmmac: dwmac-loongson: Make sure MDIO is initialized before use Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 049/166] sign-file: Fix incorrect return values check Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 050/166] vsock/virtio: Fix unsigned integer wrap around in virtio_transport_has_space() Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 051/166] dpaa2-switch: fix size of the dma_unmap Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 052/166] dpaa2-switch: do not ask for MDB, VLAN and FDB replay Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 053/166] net: stmmac: dwmac-qcom-ethqos: Fix drops in 10M SGMII RX Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 054/166] net: stmmac: Handle disabled MDIO busses from devicetree Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 055/166] appletalk: Fix Use-After-Free in atalk_ioctl Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 056/166] net: atlantic: fix double free in ring reinit logic Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 057/166] cred: switch to using atomic_long_t Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 058/166] cred: get rid of CONFIG_DEBUG_CREDENTIALS Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 059/166] HID: i2c-hid: Add IDEA5002 to i2c_hid_acpi_blacklist[] Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 060/166] HID: Add quirk for Labtec/ODDOR/aikeec handbrake Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 061/166] fuse: Rename DIRECT_IO_RELAX to DIRECT_IO_ALLOW_MMAP Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 062/166] fuse: share lookup state between submount and its parent Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 063/166] fuse: disable FOPEN_PARALLEL_DIRECT_WRITES with FUSE_DIRECT_IO_ALLOW_MMAP Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 064/166] fuse: dax: set fc->dax to NULL in fuse_dax_conn_free() Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 065/166] io_uring/cmd: fix breakage in SOCKET_URING_OP_SIOC* implementation Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 066/166] ALSA: hda/hdmi: add force-connect quirk for NUC5CPYB Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 067/166] ALSA: hda/hdmi: add force-connect quirks for ASUSTeK Z170 variants Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 068/166] ALSA: hda/realtek: Apply mute LED quirk for HP15-db Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 069/166] ALSA: hda/tas2781: leave hda_component in usable state Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 070/166] ALSA: hda/tas2781: handle missing EFI calibration data Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 071/166] ALSA: hda/tas2781: call cleanup functions only once Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 072/166] ALSA: hda/tas2781: reset the amp before component_add Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 073/166] Revert "PCI: acpiphp: Reassign resources on bridge if necessary" Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 074/166] PCI: loongson: Limit MRRS to 256 Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 075/166] PCI/ASPM: Add pci_enable_link_state_locked() Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 076/166] ksmbd: fix wrong name of SMB2_CREATE_ALLOCATION_SIZE Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 077/166] PCI: vmd: Fix potential deadlock when enabling ASPM Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 078/166] drm/mediatek: fix kernel oops if no crtc is found Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 079/166] drm/mediatek: Add spinlock for setting vblank event in atomic_begin Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 080/166] accel/ivpu: Print information about used workarounds Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 081/166] accel/ivpu/37xx: Fix interrupt_clear_with_0 WA initialization Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 082/166] drm/i915/selftests: Fix engine reset count storage for multi-tile Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 083/166] drm/i915: Use internal class when counting engine resets Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 084/166] selftests/mm: cow: print ksft header before printing anything else Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 085/166] x86/hyperv: Fix the detection of E820_TYPE_PRAM in a Gen2 VM Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 086/166] usb: aqc111: check packet for fixup for true limit Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 087/166] stmmac: dwmac-loongson: Add architecture dependency Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 088/166] rxrpc: Fix some minor issues with bundle tracing Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 089/166] blk-throttle: fix lockdep warning of "cgroup_mutex or RCU read lock required!" Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 090/166] blk-cgroup: bypass blkcg_deactivate_policy after destroying Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 091/166] bcache: avoid oversize memory allocation by small stripe_size Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 092/166] bcache: remove redundant assignment to variable cur_idx Greg Kroah-Hartman
2023-12-18 13:50 ` [PATCH 6.6 093/166] bcache: add code comments for bch_btree_node_get() and __bch_btree_node_alloc() Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 094/166] bcache: avoid NULL checking to c->root in run_cache_set() Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 095/166] nbd: fold nbd config initialization into nbd_alloc_config() Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 096/166] nbd: factor out a helper to get nbd_config without holding config_lock Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 097/166] nbd: fix null-ptr-dereference while accessing nbd->config Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 098/166] nvme-auth: set explanation code for failure2 msgs Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 099/166] nvme: catch errors from nvme_configure_metadata() Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 100/166] selftests/bpf: fix bpf_loop_bench for new callback verification scheme Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 101/166] LoongArch: Add dependency between vmlinuz.efi and vmlinux.efi Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 102/166] LoongArch: Record pc instead of offset in la_abs relocation Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 103/166] LoongArch: Silence the boot warning about nokaslr Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 104/166] LoongArch: Mark {dmw,tlb}_virt_to_page() exports as non-GPL Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 105/166] LoongArch: Implement constant timer shutdown interface Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 106/166] platform/x86: intel_telemetry: Fix kernel doc descriptions Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 107/166] HID: mcp2221: Set driver data before I2C adapter add Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 108/166] HID: mcp2221: Allow IO to start during probe Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 109/166] HID: apple: add Jamesdonkey and A3R to non-apple keyboards list Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 110/166] HID: glorious: fix Glorious Model I HID report Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 111/166] HID: add ALWAYS_POLL quirk for Apple kb Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 112/166] nbd: pass nbd_sock to nbd_read_reply() instead of index Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 113/166] HID: hid-asus: reset the backlight brightness level on resume Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 114/166] HID: multitouch: Add quirk for HONOR GLO-GXXX touchpad Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 115/166] nfc: virtual_ncidev: Add variable to check if ndev is running Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 116/166] scripts/checkstack.pl: match all stack sizes for s390 Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 117/166] asm-generic: qspinlock: fix queued_spin_value_unlocked() implementation Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 118/166] eventfs: Do not allow NULL parent to eventfs_start_creating() Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 119/166] net: usb: qmi_wwan: claim interface 4 for ZTE MF290 Greg Kroah-Hartman
2023-12-18 13:51 ` Greg Kroah-Hartman [this message]
2023-12-18 13:51 ` [PATCH 6.6 121/166] smb: client: introduce ->parse_reparse_point() Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 122/166] smb: client: set correct file type from NFS reparse points Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 123/166] arm64: add dependency between vmlinuz.efi and Image Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 124/166] HID: hid-asus: add const to read-only outgoing usb buffer Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 125/166] perf: Fix perf_event_validate_size() lockdep splat Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 126/166] btrfs: do not allow non subvolume root targets for snapshot Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 127/166] cxl/hdm: Fix dpa translation locking Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 128/166] soundwire: stream: fix NULL pointer dereference for multi_link Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 129/166] ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 130/166] Revert "selftests: error out if kernel header files are not yet built" Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 131/166] arm64: mm: Always make sw-dirty PTEs hw-dirty in pte_modify Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 132/166] team: Fix use-after-free when an option instance allocation fails Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 133/166] drm/amdgpu/sdma5.2: add begin/end_use ring callbacks Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 134/166] drm/mediatek: Fix access violation in mtk_drm_crtc_dma_dev_get Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 135/166] dmaengine: stm32-dma: avoid bitfield overflow assertion Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 136/166] dmaengine: fsl-edma: fix DMA channel leak in eDMAv4 Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 137/166] mm/mglru: fix underprotected page cache Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 138/166] mm/mglru: try to stop at high watermarks Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 139/166] mm/mglru: respect min_ttl_ms with memcgs Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 140/166] mm/mglru: reclaim offlined memcgs harder Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 141/166] mm/shmem: fix race in shmem_undo_range w/THP Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 142/166] kexec: drop dependency on ARCH_SUPPORTS_KEXEC from CRASH_DUMP Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 143/166] btrfs: free qgroup reserve when ORDERED_IOERR is set Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 144/166] btrfs: fix qgroup_free_reserved_data int overflow Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 145/166] btrfs: dont clear qgroup reserved bit in release_folio Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 146/166] drm/amdgpu: fix tear down order in amdgpu_vm_pt_free Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 147/166] drm/edid: also call add modes in EDID connector update fallback Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 148/166] drm/amd/display: Restore guard against default backlight value < 1 nit Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 149/166] drm/amd/display: Disable PSR-SU on Parade 0803 TCON again Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 150/166] drm/i915: Fix ADL+ tiled plane stride when the POT stride is smaller than the original Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 151/166] drm/i915: Fix intel_atomic_setup_scalers() plane_state handling Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 152/166] drm/i915: Fix remapped stride with CCS on ADL+ Greg Kroah-Hartman
2023-12-18 13:51 ` [PATCH 6.6 153/166] smb: client: fix OOB in receive_encrypted_standard() Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 154/166] smb: client: fix potential OOBs in smb2_parse_contexts() Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 155/166] smb: client: fix NULL deref in asn1_ber_decoder() Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 156/166] smb: client: fix OOB in smb2_query_reparse_point() Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 157/166] ring-buffer: Fix memory leak of free page Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 158/166] tracing: Update snapshot buffer on resize if it is allocated Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 159/166] ring-buffer: Do not update before stamp when switching sub-buffers Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 160/166] ring-buffer: Have saved event hold the entire event Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 161/166] ring-buffer: Fix writing to the buffer with max_data_size Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 162/166] ring-buffer: Fix a race in rb_time_cmpxchg() for 32 bit archs Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 163/166] ring-buffer: Do not try to put back write_stamp Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 164/166] ring-buffer: Have rb_time_cmpxchg() set the msb counter too Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 165/166] x86/speculation, objtool: Use absolute relocations for annotations Greg Kroah-Hartman
2023-12-18 13:52 ` [PATCH 6.6 166/166] RDMA/mlx5: Change the key being sent for MPV device affiliation Greg Kroah-Hartman
2023-12-18 18:50 ` [PATCH 6.6 000/166] 6.6.8-rc1 review SeongJae Park
2023-12-18 20:29 ` Conor Dooley
2023-12-18 20:54 ` Ricardo B. Marliere
2023-12-18 21:06 ` Takeshi Ogasawara
2023-12-18 23:44 ` Justin Forbes
2023-12-18 23:55 ` Shuah Khan
2023-12-19 1:06 ` Kelsey Steele
2023-12-19 3:21 ` Bagas Sanjaya
2023-12-19 6:59 ` Naresh Kamboju
2023-12-19 10:11 ` Ron Economos
2023-12-19 11:32 ` Jon Hunter
2023-12-19 22:08 ` Florian Fainelli
2024-09-03 22:17 ` Justin Forbes
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=20231218135110.413971641@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=patches@lists.linux.dev \
--cc=pc@manguebit.com \
--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