From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Hyunchul Lee <hyc.lee@gmail.com>,
Namjae Jeon <linkinjeon@kernel.org>,
Steve French <stfrench@microsoft.com>
Subject: [PATCH 5.15 034/159] ksmbd: smbd: introduce read/write credits for RDMA read/write
Date: Wed, 20 Dec 2023 17:08:19 +0100 [thread overview]
Message-ID: <20231220160932.873418693@linuxfoundation.org> (raw)
In-Reply-To: <20231220160931.251686445@linuxfoundation.org>
5.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Hyunchul Lee <hyc.lee@gmail.com>
[ Upstream commit ddbdc861e37c168cf2fb8a7b7477f5d18b4daf76 ]
SMB2_READ/SMB2_WRITE request has to be granted the number
of rw credits, the pages the request wants to transfer
/ the maximum pages which can be registered with one
MR to read and write a file.
And allocate enough RDMA resources for the maximum
number of rw credits allowed by ksmbd.
Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
fs/ksmbd/transport_rdma.c | 118 +++++++++++++++++++++++++++-------------------
1 file changed, 70 insertions(+), 48 deletions(-)
--- a/fs/ksmbd/transport_rdma.c
+++ b/fs/ksmbd/transport_rdma.c
@@ -82,8 +82,6 @@ static int smb_direct_max_receive_size =
static int smb_direct_max_read_write_size = SMBD_DEFAULT_IOSIZE;
-static int smb_direct_max_outstanding_rw_ops = 8;
-
static LIST_HEAD(smb_direct_device_list);
static DEFINE_RWLOCK(smb_direct_device_lock);
@@ -147,10 +145,12 @@ struct smb_direct_transport {
atomic_t send_credits;
spinlock_t lock_new_recv_credits;
int new_recv_credits;
- atomic_t rw_avail_ops;
+ int max_rw_credits;
+ int pages_per_rw_credit;
+ atomic_t rw_credits;
wait_queue_head_t wait_send_credits;
- wait_queue_head_t wait_rw_avail_ops;
+ wait_queue_head_t wait_rw_credits;
mempool_t *sendmsg_mempool;
struct kmem_cache *sendmsg_cache;
@@ -383,7 +383,7 @@ static struct smb_direct_transport *allo
t->reassembly_queue_length = 0;
init_waitqueue_head(&t->wait_reassembly_queue);
init_waitqueue_head(&t->wait_send_credits);
- init_waitqueue_head(&t->wait_rw_avail_ops);
+ init_waitqueue_head(&t->wait_rw_credits);
spin_lock_init(&t->receive_credit_lock);
spin_lock_init(&t->recvmsg_queue_lock);
@@ -989,18 +989,19 @@ static int smb_direct_flush_send_list(st
}
static int wait_for_credits(struct smb_direct_transport *t,
- wait_queue_head_t *waitq, atomic_t *credits)
+ wait_queue_head_t *waitq, atomic_t *total_credits,
+ int needed)
{
int ret;
do {
- if (atomic_dec_return(credits) >= 0)
+ if (atomic_sub_return(needed, total_credits) >= 0)
return 0;
- atomic_inc(credits);
+ atomic_add(needed, total_credits);
ret = wait_event_interruptible(*waitq,
- atomic_read(credits) > 0 ||
- t->status != SMB_DIRECT_CS_CONNECTED);
+ atomic_read(total_credits) >= needed ||
+ t->status != SMB_DIRECT_CS_CONNECTED);
if (t->status != SMB_DIRECT_CS_CONNECTED)
return -ENOTCONN;
@@ -1021,7 +1022,19 @@ static int wait_for_send_credits(struct
return ret;
}
- return wait_for_credits(t, &t->wait_send_credits, &t->send_credits);
+ return wait_for_credits(t, &t->wait_send_credits, &t->send_credits, 1);
+}
+
+static int wait_for_rw_credits(struct smb_direct_transport *t, int credits)
+{
+ return wait_for_credits(t, &t->wait_rw_credits, &t->rw_credits, credits);
+}
+
+static int calc_rw_credits(struct smb_direct_transport *t,
+ char *buf, unsigned int len)
+{
+ return DIV_ROUND_UP(get_buf_page_count(buf, len),
+ t->pages_per_rw_credit);
}
static int smb_direct_create_header(struct smb_direct_transport *t,
@@ -1337,8 +1350,8 @@ static void read_write_done(struct ib_cq
smb_direct_disconnect_rdma_connection(t);
}
- if (atomic_inc_return(&t->rw_avail_ops) > 0)
- wake_up(&t->wait_rw_avail_ops);
+ if (atomic_inc_return(&t->rw_credits) > 0)
+ wake_up(&t->wait_rw_credits);
rdma_rw_ctx_destroy(&msg->rw_ctx, t->qp, t->qp->port,
msg->sg_list, msg->sgt.nents, dir);
@@ -1369,8 +1382,10 @@ static int smb_direct_rdma_xmit(struct s
struct ib_send_wr *first_wr = NULL;
u32 remote_key = le32_to_cpu(desc[0].token);
u64 remote_offset = le64_to_cpu(desc[0].offset);
+ int credits_needed;
- ret = wait_for_credits(t, &t->wait_rw_avail_ops, &t->rw_avail_ops);
+ credits_needed = calc_rw_credits(t, buf, buf_len);
+ ret = wait_for_rw_credits(t, credits_needed);
if (ret < 0)
return ret;
@@ -1378,7 +1393,7 @@ static int smb_direct_rdma_xmit(struct s
msg = kmalloc(offsetof(struct smb_direct_rdma_rw_msg, sg_list) +
sizeof(struct scatterlist) * SG_CHUNK_SIZE, GFP_KERNEL);
if (!msg) {
- atomic_inc(&t->rw_avail_ops);
+ atomic_add(credits_needed, &t->rw_credits);
return -ENOMEM;
}
@@ -1387,7 +1402,7 @@ static int smb_direct_rdma_xmit(struct s
get_buf_page_count(buf, buf_len),
msg->sg_list, SG_CHUNK_SIZE);
if (ret) {
- atomic_inc(&t->rw_avail_ops);
+ atomic_add(credits_needed, &t->rw_credits);
kfree(msg);
return -ENOMEM;
}
@@ -1423,7 +1438,7 @@ static int smb_direct_rdma_xmit(struct s
return 0;
err:
- atomic_inc(&t->rw_avail_ops);
+ atomic_add(credits_needed, &t->rw_credits);
if (first_wr)
rdma_rw_ctx_destroy(&msg->rw_ctx, t->qp, t->qp->port,
msg->sg_list, msg->sgt.nents,
@@ -1648,11 +1663,19 @@ out_err:
return ret;
}
+static unsigned int smb_direct_get_max_fr_pages(struct smb_direct_transport *t)
+{
+ return min_t(unsigned int,
+ t->cm_id->device->attrs.max_fast_reg_page_list_len,
+ 256);
+}
+
static int smb_direct_init_params(struct smb_direct_transport *t,
struct ib_qp_cap *cap)
{
struct ib_device *device = t->cm_id->device;
- int max_send_sges, max_pages, max_rw_wrs, max_send_wrs;
+ int max_send_sges, max_rw_wrs, max_send_wrs;
+ unsigned int max_sge_per_wr, wrs_per_credit;
/* need 2 more sge. because a SMB_DIRECT header will be mapped,
* and maybe a send buffer could be not page aligned.
@@ -1664,25 +1687,31 @@ static int smb_direct_init_params(struct
return -EINVAL;
}
- /*
- * allow smb_direct_max_outstanding_rw_ops of in-flight RDMA
- * read/writes. HCA guarantees at least max_send_sge of sges for
- * a RDMA read/write work request, and if memory registration is used,
- * we need reg_mr, local_inv wrs for each read/write.
+ /* Calculate the number of work requests for RDMA R/W.
+ * The maximum number of pages which can be registered
+ * with one Memory region can be transferred with one
+ * R/W credit. And at least 4 work requests for each credit
+ * are needed for MR registration, RDMA R/W, local & remote
+ * MR invalidation.
*/
t->max_rdma_rw_size = smb_direct_max_read_write_size;
- max_pages = DIV_ROUND_UP(t->max_rdma_rw_size, PAGE_SIZE) + 1;
- max_rw_wrs = DIV_ROUND_UP(max_pages, SMB_DIRECT_MAX_SEND_SGES);
- max_rw_wrs += rdma_rw_mr_factor(device, t->cm_id->port_num,
- max_pages) * 2;
- max_rw_wrs *= smb_direct_max_outstanding_rw_ops;
+ t->pages_per_rw_credit = smb_direct_get_max_fr_pages(t);
+ t->max_rw_credits = DIV_ROUND_UP(t->max_rdma_rw_size,
+ (t->pages_per_rw_credit - 1) *
+ PAGE_SIZE);
+
+ max_sge_per_wr = min_t(unsigned int, device->attrs.max_send_sge,
+ device->attrs.max_sge_rd);
+ wrs_per_credit = max_t(unsigned int, 4,
+ DIV_ROUND_UP(t->pages_per_rw_credit,
+ max_sge_per_wr) + 1);
+ max_rw_wrs = t->max_rw_credits * wrs_per_credit;
max_send_wrs = smb_direct_send_credit_target + max_rw_wrs;
if (max_send_wrs > device->attrs.max_cqe ||
max_send_wrs > device->attrs.max_qp_wr) {
- pr_err("consider lowering send_credit_target = %d, or max_outstanding_rw_ops = %d\n",
- smb_direct_send_credit_target,
- smb_direct_max_outstanding_rw_ops);
+ pr_err("consider lowering send_credit_target = %d\n",
+ smb_direct_send_credit_target);
pr_err("Possible CQE overrun, device reporting max_cqe %d max_qp_wr %d\n",
device->attrs.max_cqe, device->attrs.max_qp_wr);
return -EINVAL;
@@ -1717,7 +1746,7 @@ static int smb_direct_init_params(struct
t->send_credit_target = smb_direct_send_credit_target;
atomic_set(&t->send_credits, 0);
- atomic_set(&t->rw_avail_ops, smb_direct_max_outstanding_rw_ops);
+ atomic_set(&t->rw_credits, t->max_rw_credits);
t->max_send_size = smb_direct_max_send_size;
t->max_recv_size = smb_direct_max_receive_size;
@@ -1725,12 +1754,10 @@ static int smb_direct_init_params(struct
cap->max_send_wr = max_send_wrs;
cap->max_recv_wr = t->recv_credit_max;
- cap->max_send_sge = SMB_DIRECT_MAX_SEND_SGES;
+ cap->max_send_sge = max_sge_per_wr;
cap->max_recv_sge = SMB_DIRECT_MAX_RECV_SGES;
cap->max_inline_data = 0;
- cap->max_rdma_ctxs =
- rdma_rw_mr_factor(device, t->cm_id->port_num, max_pages) *
- smb_direct_max_outstanding_rw_ops;
+ cap->max_rdma_ctxs = t->max_rw_credits;
return 0;
}
@@ -1823,7 +1850,8 @@ static int smb_direct_create_qpair(struc
}
t->send_cq = ib_alloc_cq(t->cm_id->device, t,
- t->send_credit_target, 0, IB_POLL_WORKQUEUE);
+ smb_direct_send_credit_target + cap->max_rdma_ctxs,
+ 0, IB_POLL_WORKQUEUE);
if (IS_ERR(t->send_cq)) {
pr_err("Can't create RDMA send CQ\n");
ret = PTR_ERR(t->send_cq);
@@ -1832,8 +1860,7 @@ static int smb_direct_create_qpair(struc
}
t->recv_cq = ib_alloc_cq(t->cm_id->device, t,
- cap->max_send_wr + cap->max_rdma_ctxs,
- 0, IB_POLL_WORKQUEUE);
+ t->recv_credit_max, 0, IB_POLL_WORKQUEUE);
if (IS_ERR(t->recv_cq)) {
pr_err("Can't create RDMA recv CQ\n");
ret = PTR_ERR(t->recv_cq);
@@ -1862,17 +1889,12 @@ static int smb_direct_create_qpair(struc
pages_per_rw = DIV_ROUND_UP(t->max_rdma_rw_size, PAGE_SIZE) + 1;
if (pages_per_rw > t->cm_id->device->attrs.max_sgl_rd) {
- int pages_per_mr, mr_count;
-
- pages_per_mr = min_t(int, pages_per_rw,
- t->cm_id->device->attrs.max_fast_reg_page_list_len);
- mr_count = DIV_ROUND_UP(pages_per_rw, pages_per_mr) *
- atomic_read(&t->rw_avail_ops);
- ret = ib_mr_pool_init(t->qp, &t->qp->rdma_mrs, mr_count,
- IB_MR_TYPE_MEM_REG, pages_per_mr, 0);
+ ret = ib_mr_pool_init(t->qp, &t->qp->rdma_mrs,
+ t->max_rw_credits, IB_MR_TYPE_MEM_REG,
+ t->pages_per_rw_credit, 0);
if (ret) {
pr_err("failed to init mr pool count %d pages %d\n",
- mr_count, pages_per_mr);
+ t->max_rw_credits, t->pages_per_rw_credit);
goto err;
}
}
next prev parent reply other threads:[~2023-12-20 16:13 UTC|newest]
Thread overview: 169+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-20 16:07 [PATCH 5.15 000/159] 5.15.145-rc1 review Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 001/159] ksmbd: use ksmbd_req_buf_next() in ksmbd_verify_smb_message() Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 002/159] ksmdb: use cmd helper variable in smb2_get_ksmbd_tcon() Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 003/159] ksmbd: Remove redundant flush_workqueue() calls Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 004/159] ksmbd: remove md4 leftovers Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 005/159] ksmbd: remove smb2_buf_length in smb2_hdr Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 006/159] ksmbd: remove smb2_buf_length in smb2_transform_hdr Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 007/159] ksmbd: change LeaseKey data type to u8 array Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 008/159] ksmbd: use oid registry functions to decode OIDs Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 009/159] ksmbd: Remove unused parameter from smb2_get_name() Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 010/159] ksmbd: Remove unused fields from ksmbd_file struct definition Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 011/159] ksmbd: set both ipv4 and ipv6 in FSCTL_QUERY_NETWORK_INTERFACE_INFO Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 012/159] ksmbd: Fix buffer_check_err() kernel-doc comment Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 013/159] ksmbd: Fix smb2_set_info_file() " Greg Kroah-Hartman
2023-12-20 16:07 ` [PATCH 5.15 014/159] ksmbd: Delete an invalid argument description in smb2_populate_readdir_entry() Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 015/159] ksmbd: Fix smb2_get_name() kernel-doc comment Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 016/159] ksmbd: register ksmbd ib client with ib_register_client() Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 017/159] ksmbd: set 445 port to smbdirect port by default Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 018/159] ksmbd: smbd: call rdma_accept() under CM handler Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 019/159] ksmbd: smbd: create MR pool Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 020/159] ksmbd: smbd: change the default maximum read/write, receive size Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 021/159] ksmbd: add smb-direct shutdown Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 022/159] ksmbd: smbd: fix missing clients memory region invalidation Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 023/159] ksmbd: smbd: validate buffer descriptor structures Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 024/159] ksmbd: add support for key exchange Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 025/159] ksmbd: use netif_is_bridge_port Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 026/159] ksmbd: store fids as opaque u64 integers Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 027/159] ksmbd: shorten experimental warning on loading the module Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 028/159] ksmbd: Remove a redundant zeroing of memory Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 029/159] ksmbd: replace usage of found with dedicated list iterator variable Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 030/159] smb3: fix ksmbd bigendian bug in oplock break, and move its struct to smbfs_common Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 031/159] ksmbd: remove filename in ksmbd_file Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 032/159] ksmbd: validate length in smb2_write() Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 033/159] ksmbd: smbd: change prototypes of RDMA read/write related functions Greg Kroah-Hartman
2023-12-20 16:08 ` Greg Kroah-Hartman [this message]
2023-12-20 16:08 ` [PATCH 5.15 035/159] ksmbd: smbd: simplify tracking pending packets Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 036/159] ksmbd: smbd: change the return value of get_sg_list Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 037/159] ksmbd: smbd: handle multiple Buffer descriptors Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 038/159] ksmbd: fix wrong smbd max read/write size check Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 039/159] ksmbd: Fix some kernel-doc comments Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 040/159] ksmbd: smbd: fix connection dropped issue Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 041/159] ksmbd: smbd: relax the count of sges required Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 042/159] ksmbd: smbd: Remove useless license text when SPDX-License-Identifier is already used Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 043/159] ksmbd: remove duplicate flag set in smb2_write Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 044/159] ksmbd: remove unused ksmbd_share_configs_cleanup function Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 045/159] ksmbd: use wait_event instead of schedule_timeout() Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 046/159] ksmbd: request update to stale share config Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 047/159] ksmbd: remove unnecessary generic_fillattr in smb2_open Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 048/159] ksmbd: dont open-code file_path() Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 049/159] ksmbd: dont open-code %pD Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 050/159] ksmbd: constify struct path Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 051/159] ksmbd: remove generic_fillattr use in smb2_open() Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 052/159] ksmbd: casefold utf-8 share names and fix ascii lowercase conversion Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 053/159] ksmbd: change security id to the one samba used for posix extension Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 054/159] ksmbd: set file permission mode to match Samba server posix extension behavior Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 055/159] ksmbd: fill sids in SMB_FIND_FILE_POSIX_INFO response Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 056/159] ksmbd: fix encryption failure issue for session logoff response Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 057/159] ksmbd: set NTLMSSP_NEGOTIATE_SEAL flag to challenge blob Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 058/159] ksmbd: decrease the number of SMB3 smbdirect server SGEs Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 059/159] ksmbd: reduce server smbdirect max send/receive segment sizes Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 060/159] ksmbd: hide socket error message when ipv6 config is disable Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 061/159] ksmbd: make utf-8 file name comparison work in __caseless_lookup() Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 062/159] ksmbd: call ib_drain_qp when disconnected Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 063/159] ksmbd: validate share name from share config response Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 064/159] ksmbd: replace one-element arrays with flexible-array members Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 065/159] ksmbd: set SMB2_SESSION_FLAG_ENCRYPT_DATA when enforcing data encryption for this share Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 066/159] ksmbd: use F_SETLK when unlocking a file Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 067/159] ksmbd: Fix resource leak in smb2_lock() Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 068/159] ksmbd: Convert to use sysfs_emit()/sysfs_emit_at() APIs Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 069/159] ksmbd: send proper error response in smb2_tree_connect() Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 070/159] ksmbd: Implements sess->ksmbd_chann_list as xarray Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 071/159] ksmbd: Implements sess->rpc_handle_list " Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 072/159] ksmbd: fix typo, syncronous->synchronous Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 073/159] ksmbd: Remove duplicated codes Greg Kroah-Hartman
2023-12-20 16:08 ` [PATCH 5.15 074/159] ksmbd: update Kconfig to note Kerberos support and fix indentation Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 075/159] ksmbd: Fix spelling mistake "excceed" -> "exceeded" Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 076/159] ksmbd: Fix parameter name and comment mismatch Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 077/159] ksmbd: fix possible memory leak in smb2_lock() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 078/159] ksmbd: fix wrong signingkey creation when encryption is AES256 Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 079/159] ksmbd: remove unused is_char_allowed function Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 080/159] ksmbd: delete asynchronous work from list Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 081/159] ksmbd: fix slab-out-of-bounds in init_smb2_rsp_hdr Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 082/159] ksmbd: avoid out of bounds access in decode_preauth_ctxt() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 083/159] ksmbd: set NegotiateContextCount once instead of every inc Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 084/159] ksmbd: avoid duplicate negotiate ctx offset increments Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 085/159] ksmbd: remove unused compression negotiate ctx packing Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 086/159] fs: introduce lock_rename_child() helper Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 087/159] ksmbd: fix racy issue from using ->d_parent and ->d_name Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 088/159] ksmbd: fix racy issue from session setup and logoff Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 089/159] ksmbd: destroy expired sessions Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 090/159] ksmbd: block asynchronous requests when making a delay on session setup Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 091/159] ksmbd: fix racy issue from smb2 close and logoff with multichannel Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 092/159] ksmbd: fix racy issue under cocurrent smb2 tree disconnect Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 093/159] ksmbd: fix uninitialized pointer read in ksmbd_vfs_rename() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 094/159] ksmbd: fix uninitialized pointer read in smb2_create_link() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 095/159] ksmbd: fix multiple out-of-bounds read during context decoding Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 096/159] ksmbd: fix UAF issue from opinfo->conn Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 097/159] ksmbd: call putname after using the last component Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 098/159] ksmbd: fix out-of-bound read in deassemble_neg_contexts() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 099/159] ksmbd: fix out-of-bound read in parse_lease_state() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 100/159] ksmbd: fix posix_acls and acls dereferencing possible ERR_PTR() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 101/159] ksmbd: check the validation of pdu_size in ksmbd_conn_handler_loop Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 102/159] ksmbd: validate smb request protocol id Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 103/159] ksmbd: add mnt_want_write to ksmbd vfs functions Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 104/159] ksmbd: remove unused ksmbd_tree_conn_share function Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 105/159] ksmbd: use kzalloc() instead of __GFP_ZERO Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 106/159] ksmbd: return a literal instead of err in ksmbd_vfs_kern_path_locked() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 107/159] ksmbd: Change the return value of ksmbd_vfs_query_maximal_access to void Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 108/159] ksmbd: use kvzalloc instead of kvmalloc Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 109/159] ksmbd: Replace the ternary conditional operator with min() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 110/159] ksmbd: fix out of bounds read in smb2_sess_setup Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 111/159] ksmbd: add missing compound request handing in some commands Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 112/159] ksmbd: Use struct_size() helper in ksmbd_negotiate_smb_dialect() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 113/159] ksmbd: Replace one-element array with flexible-array member Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 114/159] ksmbd: Fix unsigned expression compared with zero Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 115/159] ksmbd: check if a mount point is crossed during path lookup Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 116/159] ksmbd: validate session id and tree id in compound request Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 117/159] ksmbd: fix out of bounds in init_smb2_rsp_hdr() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 118/159] ksmbd: switch to use kmemdup_nul() helper Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 119/159] ksmbd: add support for read compound Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 120/159] ksmbd: fix wrong interim response on compound Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 121/159] ksmbd: fix `force create mode and `force directory mode Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 122/159] ksmbd: reduce descriptor size if remaining bytes is less than request size Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 123/159] ksmbd: Fix one kernel-doc comment Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 124/159] ksmbd: fix slub overflow in ksmbd_decode_ntlmssp_auth_blob() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 125/159] ksmbd: add missing calling smb2_set_err_rsp() on error Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 126/159] ksmbd: remove experimental warning Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 127/159] ksmbd: remove unneeded mark_inode_dirty in set_info_sec() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 128/159] ksmbd: fix passing freed memory aux_payload_buf Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 129/159] ksmbd: return invalid parameter error response if smb2 request is invalid Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 130/159] ksmbd: check iov vector index in ksmbd_conn_write() Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 131/159] ksmbd: fix race condition between session lookup and expire Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 132/159] ksmbd: fix race condition with fp Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 133/159] ksmbd: fix race condition from parallel smb2 logoff requests Greg Kroah-Hartman
2023-12-20 16:09 ` [PATCH 5.15 134/159] ksmbd: fix race condition from parallel smb2 lock requests Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 135/159] ksmbd: fix race condition between tree conn lookup and disconnect Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 136/159] ksmbd: fix wrong error response status by using set_smb2_rsp_status() Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 137/159] ksmbd: fix Null pointer dereferences in ksmbd_update_fstate() Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 138/159] ksmbd: fix potential double free on smb2_read_pipe() error path Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 139/159] ksmbd: Remove unused field in ksmbd_user struct Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 140/159] ksmbd: reorganize ksmbd_iov_pin_rsp() Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 141/159] ksmbd: fix kernel-doc comment of ksmbd_vfs_setxattr() Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 142/159] ksmbd: fix recursive locking in vfs helpers Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 143/159] ksmbd: fix missing RDMA-capable flag for IPoIB device in ksmbd_rdma_capable_netdev() Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 144/159] ksmbd: add support for surrogate pair conversion Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 145/159] ksmbd: no need to wait for binded connection termination at logoff Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 146/159] ksmbd: fix kernel-doc comment of ksmbd_vfs_kern_path_locked() Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 147/159] ksmbd: handle malformed smb1 message Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 148/159] ksmbd: prevent memory leak on error return Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 149/159] ksmbd: fix possible deadlock in smb2_open Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 150/159] ksmbd: separately allocate ci per dentry Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 151/159] ksmbd: move oplock handling after unlock parent dir Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 152/159] ksmbd: release interim response after sending status pending response Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 153/159] ksmbd: move setting SMB2_FLAGS_ASYNC_COMMAND and AsyncId Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 154/159] ksmbd: dont update ->op_state as OPLOCK_STATE_NONE on error Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 155/159] Revert "drm/bridge: lt9611uxc: fix the race in the error path" Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 156/159] Revert "drm/bridge: lt9611uxc: Register and attach our DSI device at probe" Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 157/159] Revert "drm/bridge: lt9611uxc: Switch to devm MIPI-DSI helpers" Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 158/159] tracing/kprobes: Return EADDRNOTAVAIL when func matches several symbols Greg Kroah-Hartman
2023-12-20 16:10 ` [PATCH 5.15 159/159] kasan: disable kasan_non_canonical_hook() for HW tags Greg Kroah-Hartman
2023-12-20 19:31 ` [PATCH 5.15 000/159] 5.15.145-rc1 review Florian Fainelli
2023-12-20 19:38 ` Allen
2023-12-21 4:52 ` Shuah Khan
2023-12-21 5:41 ` Namjae Jeon
2023-12-21 6:48 ` Naresh Kamboju
2023-12-21 9:17 ` Ron Economos
2023-12-21 14:57 ` Guenter Roeck
2023-12-21 23:37 ` SeongJae Park
2023-12-22 13:28 ` Jon Hunter
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=20231220160932.873418693@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=hyc.lee@gmail.com \
--cc=linkinjeon@kernel.org \
--cc=patches@lists.linux.dev \
--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