From 846d702f234b80881dc6641057b623308917b66a Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Thu, 25 Jul 2024 15:32:42 -0400 Subject: [PATCH] libnvmf: Reject invalid values of MAXH2CDATA for new associations Sponsored by: Chelsio Communications --- lib/libnvmf/nvmf_tcp.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/libnvmf/nvmf_tcp.c b/lib/libnvmf/nvmf_tcp.c index 89fc65bf6c43..93948b9b5fd0 100644 --- a/lib/libnvmf/nvmf_tcp.c +++ b/lib/libnvmf/nvmf_tcp.c @@ -924,11 +924,18 @@ nvmf_tcp_read_ic_resp(struct nvmf_association *na, struct nvmf_tcp_qpair *qp, } static struct nvmf_association * -tcp_allocate_association(bool controller __unused, - const struct nvmf_association_params *params __unused) +tcp_allocate_association(bool controller, + const struct nvmf_association_params *params) { struct nvmf_tcp_association *ta; + if (controller) { + /* 7.4.10.3 */ + if (params->tcp.maxh2cdata < 4096 || + params->tcp.maxh2cdata % 4 != 0) + return (NULL); + } + ta = calloc(1, sizeof(*ta)); return (&ta->na);