From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Nathan Chancellor <nathan@kernel.org>,
Kees Cook <keescook@chromium.org>,
Nick Desaulniers <ndesaulniers@google.com>,
"David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Netdev <netdev@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: mainline build failure due to 281d0c962752 ("fortify: Add Clang support")
Date: Wed, 22 Jun 2022 17:00:16 +0100 [thread overview]
Message-ID: <YrM8kC5zXzZgL/ca@debian> (raw)
In-Reply-To: <CAHk-=wjmREcirYi4k_CBT+2U8X5VOAjQn0tVD28OdcKJKpA0zg@mail.gmail.com>
On Wed, Jun 22, 2022 at 10:19:31AM -0500, Linus Torvalds wrote:
> On Wed, Jun 22, 2022 at 10:08 AM Sudip Mukherjee
> <sudipm.mukherjee@gmail.com> wrote:
> >
> > Yeah, true. I had to check to find out its from the memcpy() in check_image_valid().
>
> Funky but true - I can reproduce it, and just commenting out that
> memcpy fixes the warning.
>
> And I see nothing wrong with that code - it's copying a 'struct
> fw_section_info_st' between two other structs that seem to have arrays
> that are appropriately sized.
imho, there is no check for 'i' and it can become more than MAX_FW_TYPE_NUM and
in that case it will overwrite.
This fixes the error for me and I think will also address the concern that
clang is raising.
diff --git a/drivers/net/ethernet/huawei/hinic/hinic_devlink.c b/drivers/net/ethernet/huawei/hinic/hinic_devlink.c
index 60ae8bfc5f69..bc4b3ec15925 100644
--- a/drivers/net/ethernet/huawei/hinic/hinic_devlink.c
+++ b/drivers/net/ethernet/huawei/hinic/hinic_devlink.c
@@ -41,7 +41,7 @@ static bool check_image_valid(struct hinic_devlink_priv *priv, const u8 *buf,
return false;
}
- for (i = 0; i < fw_image->fw_info.fw_section_cnt; i++) {
+ for (i = 0; i < fw_image->fw_info.fw_section_cnt && i < MAX_FW_TYPE_NUM; i++) {
len += fw_image->fw_section_info[i].fw_section_len;
memcpy(&host_image->image_section_info[i],
&fw_image->fw_section_info[i],
--
Regards
Sudip
next prev parent reply other threads:[~2022-06-22 16:01 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-22 10:23 mainline build failure due to 281d0c962752 ("fortify: Add Clang support") Sudip Mukherjee
2022-06-22 13:47 ` Linus Torvalds
2022-06-22 15:01 ` Nathan Chancellor
2022-06-22 16:21 ` Linus Torvalds
2022-06-22 17:26 ` Sudip Mukherjee
2022-06-22 17:48 ` Linus Torvalds
2022-06-22 22:40 ` Nick Desaulniers
2022-06-23 10:12 ` David Laight
2022-06-23 23:33 ` Nick Desaulniers
2022-06-28 22:42 ` Josh Poimboeuf
2022-06-29 16:08 ` Linus Torvalds
2022-06-29 16:34 ` Josh Poimboeuf
2022-06-29 21:21 ` Nick Desaulniers
2022-06-29 21:39 ` Linus Torvalds
2022-06-22 18:07 ` Jakub Kicinski
2022-06-22 15:08 ` Sudip Mukherjee
2022-06-22 15:19 ` Linus Torvalds
2022-06-22 16:00 ` Sudip Mukherjee [this message]
2022-06-22 16:07 ` Linus Torvalds
2022-06-22 16:16 ` Sudip Mukherjee
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=YrM8kC5zXzZgL/ca@debian \
--to=sudipm.mukherjee@gmail.com \
--cc=davem@davemloft.net \
--cc=keescook@chromium.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=torvalds@linux-foundation.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.