All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhu Yanjun <yanjun.zhu@linux.dev>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>,
	Zhu Yanjun <zyjzyj2000@gmail.com>,
	Leon Romanovsky <leon@kernel.org>,
	linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [PATCH][next] RDMA/rxe: Avoid -Wflex-array-member-not-at-end warnings
Date: Sun, 14 Dec 2025 21:00:51 -0800	[thread overview]
Message-ID: <7e3a294f-5dc2-4e8c-aacc-0286c1592038@linux.dev> (raw)
In-Reply-To: <2191ee0f-a528-4187-ae5b-5aba18741701@linux.dev>



在 2025/12/5 20:41, Zhu Yanjun 写道:
> 
> 
> 在 2025/12/4 9:48, yanjun.zhu 写道:
>> On 12/4/25 5:05 AM, Jason Gunthorpe wrote:
>>> On Wed, Dec 03, 2025 at 09:08:45PM -0800, Zhu Yanjun wrote:
>>>>>        unsigned int        res_head;
>>>>>        unsigned int        res_tail;
>>>>>        struct resp_res        *res;
>>>>> +
>>>>> +    /* SRQ only. srq_wqe.dma.sge is a flex array */
>>>>> +    struct rxe_recv_wqe srq_wqe;
>>>>
>>>> drivers/infiniband/sw/rxe/rxe_resp.c: In function get_srq_wqe:
>>>> drivers/infiniband/sw/rxe/rxe_resp.c:289:41: error: struct 
>>>> rxe_recv_wqe has
>>>> no member named wqe
>>>>    289 |         qp->resp.wqe = &qp->resp.srq_wqe.wqe;
>>>>        |                                         ^
>>>
>>> I didn't try to fix all the typos, you will need to do that.
>>
>> Exactly. I will fix this problem. This weekend, I will send out an 
>> official commit.
> Hi, Jason
> 
> The followings are based on your commits and Leon's commits. And it can 
> pass the rdma-core tests.
> 
> I am not sure if this commit is good or not.

Hi, Jason && Leon

Any update? If this looks good to you, I will send out an official 
commit based on the following commit.

Thanks,
Yanjun.Zhu

> 
> 
> diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/ 
> sw/rxe/rxe_verbs.c
> index 38d8c408320f..189eaa59a5fb 100644
> --- a/drivers/infiniband/sw/rxe/rxe_verbs.c
> +++ b/drivers/infiniband/sw/rxe/rxe_verbs.c
> @@ -1524,7 +1524,8 @@ static const struct ib_device_ops rxe_dev_ops = {
>          INIT_RDMA_OBJ_SIZE(ib_ah, rxe_ah, ibah),
>          INIT_RDMA_OBJ_SIZE(ib_cq, rxe_cq, ibcq),
>          INIT_RDMA_OBJ_SIZE(ib_pd, rxe_pd, ibpd),
> -       INIT_RDMA_OBJ_SIZE(ib_qp, rxe_qp, ibqp),
> +       /* For resp.srq_wqe.dma.sge */
> +       INIT_RDMA_OBJ_SIZE(ib_qp, rxe_qp, ibqp) + 
> RXE_MAX_SGE*sizeof(struct ib_sge),
>          INIT_RDMA_OBJ_SIZE(ib_srq, rxe_srq, ibsrq),
>          INIT_RDMA_OBJ_SIZE(ib_ucontext, rxe_ucontext, ibuc),
>          INIT_RDMA_OBJ_SIZE(ib_mw, rxe_mw, ibmw),
> diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.h b/drivers/infiniband/ 
> sw/rxe/rxe_verbs.h
> index fd48075810dd..8c17f5f4e318 100644
> --- a/drivers/infiniband/sw/rxe/rxe_verbs.h
> +++ b/drivers/infiniband/sw/rxe/rxe_verbs.h
> @@ -219,12 +219,6 @@ struct rxe_resp_info {
>          u32                     rkey;
>          u32                     length;
> 
> -       /* SRQ only */
> -       struct {
> -               struct rxe_recv_wqe     wqe;
> -               struct ib_sge           sge[RXE_MAX_SGE];
> -       } srq_wqe;
> -
>          /* Responder resources. It's a circular list where the oldest
>           * resource is dropped first.
>           */
> @@ -232,6 +226,12 @@ struct rxe_resp_info {
>          unsigned int            res_head;
>          unsigned int            res_tail;
>          struct resp_res         *res;
> +
> +       /* SRQ only. srq_wqe.dma.sge is a flex array */
> +       struct {
> +               struct rxe_recv_wqe     wqe;
> +               struct ib_sge           sge[RXE_MAX_SGE];
> +       } srq_wqe;
>   };
> 
>   struct rxe_qp {
> @@ -269,7 +269,6 @@ struct rxe_qp {
> 
>          struct rxe_req_info     req;
>          struct rxe_comp_info    comp;
> -       struct rxe_resp_info    resp;
> 
>          atomic_t                ssn;
>          atomic_t                skb_out;
> @@ -289,6 +288,7 @@ struct rxe_qp {
>          spinlock_t              state_lock; /* guard requester and 
> completer */
> 
>          struct execute_work     cleanup_work;
> +       struct rxe_resp_info    resp;
>   };
> 
>   enum {
> 
> Yanjun.Zhu
> 
>>
>> Yanjun.Zhu
>>
>>>
>>> Jason
>>
> 

-- 
Best Regards,
Yanjun.Zhu


  reply	other threads:[~2025-12-15  5:01 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-11  3:35 [PATCH][next] RDMA/rxe: Avoid -Wflex-array-member-not-at-end warnings Gustavo A. R. Silva
2025-11-11 11:56 ` Leon Romanovsky
2025-11-11 12:14   ` Gustavo A. R. Silva
2025-11-11 14:19     ` Leon Romanovsky
2025-11-11 15:37       ` Zhu Yanjun
2025-11-12  8:49       ` Gustavo A. R. Silva
2025-11-12  9:32         ` Leon Romanovsky
2025-11-12  9:50           ` Gustavo A. R. Silva
2025-11-12 12:06             ` Leon Romanovsky
2025-12-02 18:13 ` Jason Gunthorpe
2025-12-03  7:32   ` Zhu Yanjun
2025-12-04  5:08   ` Zhu Yanjun
2025-12-04 13:05     ` Jason Gunthorpe
2025-12-04 17:48       ` yanjun.zhu
2025-12-06  4:41         ` Zhu Yanjun
2025-12-15  5:00           ` Zhu Yanjun [this message]
2025-12-18 15:56             ` Leon Romanovsky
2025-12-18 19:22               ` Yanjun.Zhu
2025-12-19  2:51                 ` Gustavo A. R. Silva
2025-12-19  4:29                   ` Zhu Yanjun
2025-12-19  4:35                     ` Gustavo A. R. Silva
2025-12-19  5:27                       ` Zhu Yanjun
2025-12-19  5:48                         ` Gustavo A. R. Silva
2025-12-19  6:59                           ` Zhu Yanjun
2025-12-19  9:55                             ` Gustavo A. R. Silva
2025-12-20  7:07                               ` Zhu Yanjun
2025-12-19 14:26                   ` Jason Gunthorpe
2025-12-26  6:13                     ` Zhu Yanjun

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=7e3a294f-5dc2-4e8c-aacc-0286c1592038@linux.dev \
    --to=yanjun.zhu@linux.dev \
    --cc=gustavoars@kernel.org \
    --cc=jgg@nvidia.com \
    --cc=leon@kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=zyjzyj2000@gmail.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 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.