From: Leon Romanovsky <leon@kernel.org>
To: Zhu Yanjun <yanjun.zhu@linux.dev>
Cc: jgg@ziepe.ca, rpearsonhpe@gmail.com, matsuda-daisuke@fujitsu.com,
linux-rdma@vger.kernel.org, Honggang LI <honggangli@163.com>
Subject: Re: [PATCH] RDMA/rxe: Fix responder length checking for UD request packets
Date: Sun, 9 Jun 2024 13:38:59 +0300 [thread overview]
Message-ID: <20240609103859.GB8976@unreal> (raw)
In-Reply-To: <4b082825-af44-40fe-a6e9-a33d7caa4351@linux.dev>
On Fri, Jun 07, 2024 at 10:57:12AM +0200, Zhu Yanjun wrote:
>
> On 30.05.24 16:17, Leon Romanovsky wrote:
> > On Thu, 23 May 2024 17:46:17 +0800, Honggang LI wrote:
> > > According to the IBA specification:
> > > If a UD request packet is detected with an invalid length, the request
> > > shall be an invalid request and it shall be silently dropped by
> > > the responder. The responder then waits for a new request packet.
> > >
> > > commit 689c5421bfe0 ("RDMA/rxe: Fix incorrect responder length checking")
> > > defers responder length check for UD QPs in function `copy_data`.
> > > But it introduces a regression issue for UD QPs.
> > >
> > > [...]
> > Applied, thanks!
> >
> > [1/1] RDMA/rxe: Fix responder length checking for UD request packets
> > https://git.kernel.org/rdma/rdma/c/05301cb42a5567
>
> Hi, Leon
>
> When I built this commit with gcc (Debian 8.3.0-6) 8.3.0, the following
> warnings will pop out.
Thanks, I fixed it in my tree.
>
> "
> drivers/infiniband/sw/rxe/rxe_resp.c: In function ‘rxe_resp_check_length’:
> drivers/infiniband/sw/rxe/rxe_resp.c:401:3: error: ‘for’ loop initial
> declarations are only allowed in C99 or C11 mode
> for (int i = 0; i < qp->resp.wqe->dma.num_sge; i++)
> ^~~
> drivers/infiniband/sw/rxe/rxe_resp.c:401:3: note: use option -std=c99,
> -std=gnu99, -std=c11 or -std=gnu11 to compile your code
> "
>
> The following diff will fix this problem.
>
> "
>
> diff --git a/drivers/infiniband/sw/rxe/rxe_resp.c
> b/drivers/infiniband/sw/rxe/rxe_resp.c
> index ad3c7bf76752..6596a85723c9 100644
> --- a/drivers/infiniband/sw/rxe/rxe_resp.c
> +++ b/drivers/infiniband/sw/rxe/rxe_resp.c
> @@ -345,10 +345,11 @@ static enum resp_states rxe_resp_check_length(struct
> rxe_qp *qp,
> * length checks are performed in check_rkey.
> */
> if ((qp_type(qp) == IB_QPT_GSI) || (qp_type(qp) == IB_QPT_UD)) {
> - unsigned int recv_buffer_len = 0;
> unsigned int payload = payload_size(pkt);
> + unsigned int recv_buffer_len = 0;
> + int i;
>
> - for (int i = 0; i < qp->resp.wqe->dma.num_sge; i++)
> + for (i = 0; i < qp->resp.wqe->dma.num_sge; i++)
> recv_buffer_len += qp->resp.wqe->dma.sge[i].length;
> if (payload + 40 > recv_buffer_len) {
> rxe_dbg_qp(qp, "The receive buffer is too small for
> this UD packet.\n");
>
> "
>
> Zhu Yanjun
>
> >
> > Best regards,
>
> --
> Best Regards,
> Yanjun.Zhu
>
prev parent reply other threads:[~2024-06-09 10:39 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-23 9:46 [PATCH] RDMA/rxe: Fix responder length checking for UD request packets Honggang LI
2024-05-23 12:06 ` Zhu Yanjun
2024-05-23 15:03 ` Zhu Yanjun
2024-05-24 1:52 ` Honggang LI
2024-05-28 11:10 ` Zhu Yanjun
2024-05-30 14:13 ` Leon Romanovsky
2024-05-30 14:17 ` Leon Romanovsky
2024-06-07 8:57 ` Zhu Yanjun
2024-06-09 10:38 ` Leon Romanovsky [this message]
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=20240609103859.GB8976@unreal \
--to=leon@kernel.org \
--cc=honggangli@163.com \
--cc=jgg@ziepe.ca \
--cc=linux-rdma@vger.kernel.org \
--cc=matsuda-daisuke@fujitsu.com \
--cc=rpearsonhpe@gmail.com \
--cc=yanjun.zhu@linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.