From: "yanjun.zhu" <yanjun.zhu@linux.dev>
To: Arnd Bergmann <arnd@kernel.org>,
Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>,
Jason Gunthorpe <jgg@ziepe.ca>, Leon Romanovsky <leon@kernel.org>,
Zhu Yanjun <yanjun.zhu@linux.dev>
Cc: Arnd Bergmann <arnd@arndb.de>, Kees Cook <kees@kernel.org>,
Ingo Molnar <mingo@kernel.org>, Thomas Gleixner <tglx@kernel.org>,
linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] [RESEND] RDMA/hfi1: use a struct group to avoid warning
Date: Fri, 20 Mar 2026 14:49:11 -0700 [thread overview]
Message-ID: <bb9c825b-56e8-468b-b1d8-9b4aa1177d10@linux.dev> (raw)
In-Reply-To: <20260320151511.3420818-1-arnd@kernel.org>
On 3/20/26 8:12 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> On gcc-11 and earlier, the driver sometimes produces a warning
> for memset:
>
> In file included from include/linux/string.h:392,
> from drivers/infiniband/hw/hfi1/mad.c:6:
> In function 'fortify_memset_chk',
> inlined from '__subn_get_opa_hfi1_cong_log' at drivers/infiniband/hw/hfi1/mad.c:3873:2,
> inlined from 'subn_get_opa_sma' at drivers/infiniband/hw/hfi1/mad.c:4114:9:
> include/linux/fortify-string.h:480:4: error: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror]
> __write_overflow_field(p_size_field, size);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> This seems to be a false positive, and I found no nice way to rewrite
> the code to avoid the warning, but adding a a struct group works.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> resending as the patch did not get picked up last year
> https://lore.kernel.org/all/20250410075928.GN199604@unreal/
> ---
> drivers/infiniband/hw/hfi1/hfi.h | 6 ++++--
> drivers/infiniband/hw/hfi1/mad.c | 4 ++--
> 2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/infiniband/hw/hfi1/hfi.h b/drivers/infiniband/hw/hfi1/hfi.h
> index 5a0310f758dc..ae17cea4e8c9 100644
> --- a/drivers/infiniband/hw/hfi1/hfi.h
> +++ b/drivers/infiniband/hw/hfi1/hfi.h
> @@ -878,8 +878,10 @@ struct hfi1_pportdata {
> * cc_log_lock protects all congestion log related data
> */
> spinlock_t cc_log_lock ____cacheline_aligned_in_smp;
> - u8 threshold_cong_event_map[OPA_MAX_SLS / 8];
> - u16 threshold_event_counter;
> + struct_group (zero_event_map,
> + u8 threshold_cong_event_map[OPA_MAX_SLS / 8];
> + u16 threshold_event_counter;
> + );
> struct opa_hfi1_cong_log_event_internal cc_events[OPA_CONG_LOG_ELEMS];
> int cc_log_idx; /* index for logging events */
> int cc_mad_idx; /* index for reporting events */
> diff --git a/drivers/infiniband/hw/hfi1/mad.c b/drivers/infiniband/hw/hfi1/mad.c
> index 585f1d99b91b..9154638e9ce2 100644
> --- a/drivers/infiniband/hw/hfi1/mad.c
> +++ b/drivers/infiniband/hw/hfi1/mad.c
> @@ -3869,8 +3869,8 @@ static int __subn_get_opa_hfi1_cong_log(struct opa_smp *smp, u32 am,
> * Reset threshold_cong_event_map, and threshold_event_counter
> * to 0 when log is read.
> */
> - memset(ppd->threshold_cong_event_map, 0x0,
> - sizeof(ppd->threshold_cong_event_map));
> + memset(&ppd->zero_event_map, 0x0,
> + sizeof(ppd->zero_event_map));
> ppd->threshold_event_counter = 0;
Not sure if ppd->threshold_event_counter is also set to 0 in memset or
not. If yes, this line "ppd->threshold_event_counter = 0;" can be removed?
Zhu Yanjun
>
> spin_unlock_irq(&ppd->cc_log_lock);
prev parent reply other threads:[~2026-03-20 21:49 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-20 15:12 [PATCH 1/3] [RESEND] RDMA/hfi1: use a struct group to avoid warning Arnd Bergmann
2026-03-20 15:12 ` [PATCH 2/3] RDMA/hfi1, rdmavt: open-code rvt_set_ibdev_name() Arnd Bergmann
2026-03-20 15:53 ` Arnd Bergmann
2026-03-23 8:08 ` Leon Romanovsky
2026-03-23 8:48 ` Arnd Bergmann
2026-03-23 11:01 ` Leon Romanovsky
2026-03-23 21:47 ` Dennis Dalessandro
2026-03-24 7:27 ` Arnd Bergmann
2026-03-24 7:51 ` Leon Romanovsky
2026-03-24 7:53 ` Leon Romanovsky
2026-03-23 21:54 ` Dennis Dalessandro
2026-03-22 18:29 ` kernel test robot
2026-03-22 20:12 ` kernel test robot
2026-03-24 1:29 ` kernel test robot
2026-03-20 15:12 ` [PATCH 3/3] RDMA/hfi1: reduce namespace pollution Arnd Bergmann
2026-03-20 18:01 ` [PATCH 1/3] [RESEND] RDMA/hfi1: use a struct group to avoid warning Kees Cook
2026-03-20 21:49 ` yanjun.zhu [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=bb9c825b-56e8-468b-b1d8-9b4aa1177d10@linux.dev \
--to=yanjun.zhu@linux.dev \
--cc=arnd@arndb.de \
--cc=arnd@kernel.org \
--cc=dennis.dalessandro@cornelisnetworks.com \
--cc=jgg@ziepe.ca \
--cc=kees@kernel.org \
--cc=leon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=tglx@kernel.org \
/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.