linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joel Stanley <joel@jms.id.au>
To: Ivan Mikhaylov <i.mikhaylov@yadro.com>
Cc: "David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Samuel Mendoza-Jonas <sam@mendozajonas.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Networking <netdev@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	OpenBMC Maillist <openbmc@lists.ozlabs.org>
Subject: Re: [PATCH v2 1/3] net/ncsi: fix restricted cast warning of sparse
Date: Mon, 12 Jul 2021 09:09:15 +0000	[thread overview]
Message-ID: <CACPK8Xe2W-qTPjyuAHkTGq6Kz0sWYRz23Cqqdxu0CL2XNc=T0w@mail.gmail.com> (raw)
In-Reply-To: <20210708122754.555846-2-i.mikhaylov@yadro.com>

On Thu, 8 Jul 2021 at 12:27, Ivan Mikhaylov <i.mikhaylov@yadro.com> wrote:
>
> Sparse reports:
> net/ncsi/ncsi-rsp.c:406:24: warning: cast to restricted __be32
> net/ncsi/ncsi-manage.c:732:33: warning: cast to restricted __be32
> net/ncsi/ncsi-manage.c:756:25: warning: cast to restricted __be32
> net/ncsi/ncsi-manage.c:779:25: warning: cast to restricted __be32

Strange, I don't get these warnings from sparse on my system.

$ sparse --version
0.6.3 (Debian: 0.6.3-2)

>
> Signed-off-by: Ivan Mikhaylov <i.mikhaylov@yadro.com>
> ---
>  net/ncsi/ncsi-manage.c | 6 +++---
>  net/ncsi/ncsi-rsp.c    | 2 +-
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/net/ncsi/ncsi-manage.c b/net/ncsi/ncsi-manage.c
> index ca04b6df1341..42b54a3da2e6 100644
> --- a/net/ncsi/ncsi-manage.c
> +++ b/net/ncsi/ncsi-manage.c
> @@ -700,7 +700,7 @@ static int ncsi_oem_gma_handler_bcm(struct ncsi_cmd_arg *nca)
>         nca->payload = NCSI_OEM_BCM_CMD_GMA_LEN;
>
>         memset(data, 0, NCSI_OEM_BCM_CMD_GMA_LEN);
> -       *(unsigned int *)data = ntohl(NCSI_OEM_MFR_BCM_ID);
> +       *(unsigned int *)data = ntohl((__force __be32)NCSI_OEM_MFR_BCM_ID);

This looks wrong, the value you're passing isn't big endian. It would
make more sense if the byte swap was ntohl, as it's coming from the
cpu and going into the NCSI packet.

>         data[5] = NCSI_OEM_BCM_CMD_GMA;
>
>         nca->data = data;
> @@ -724,7 +724,7 @@ static int ncsi_oem_gma_handler_mlx(struct ncsi_cmd_arg *nca)
>         nca->payload = NCSI_OEM_MLX_CMD_GMA_LEN;
>
>         memset(&u, 0, sizeof(u));
> -       u.data_u32[0] = ntohl(NCSI_OEM_MFR_MLX_ID);
> +       u.data_u32[0] = ntohl((__force __be32)NCSI_OEM_MFR_MLX_ID);
>         u.data_u8[5] = NCSI_OEM_MLX_CMD_GMA;
>         u.data_u8[6] = NCSI_OEM_MLX_CMD_GMA_PARAM;
>
> @@ -747,7 +747,7 @@ static int ncsi_oem_smaf_mlx(struct ncsi_cmd_arg *nca)
>         int ret = 0;
>
>         memset(&u, 0, sizeof(u));
> -       u.data_u32[0] = ntohl(NCSI_OEM_MFR_MLX_ID);
> +       u.data_u32[0] = ntohl((__force __be32)NCSI_OEM_MFR_MLX_ID);
>         u.data_u8[5] = NCSI_OEM_MLX_CMD_SMAF;
>         u.data_u8[6] = NCSI_OEM_MLX_CMD_SMAF_PARAM;
>         memcpy(&u.data_u8[MLX_SMAF_MAC_ADDR_OFFSET],
> diff --git a/net/ncsi/ncsi-rsp.c b/net/ncsi/ncsi-rsp.c
> index 888ccc2d4e34..04bc50be5c01 100644
> --- a/net/ncsi/ncsi-rsp.c
> +++ b/net/ncsi/ncsi-rsp.c
> @@ -403,7 +403,7 @@ static int ncsi_rsp_handler_ev(struct ncsi_request *nr)
>         /* Update to VLAN mode */
>         cmd = (struct ncsi_cmd_ev_pkt *)skb_network_header(nr->cmd);
>         ncm->enable = 1;
> -       ncm->data[0] = ntohl(cmd->mode);
> +       ncm->data[0] = ntohl((__force __be32)cmd->mode);
>
>         return 0;
>  }
> --
> 2.31.1
>

  reply	other threads:[~2021-07-12  9:14 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-08 12:27 [PATCH v2 0/3] net/ncsi: Add NCSI Intel OEM command to keep PHY link up Ivan Mikhaylov
2021-07-08 12:27 ` [PATCH v2 1/3] net/ncsi: fix restricted cast warning of sparse Ivan Mikhaylov
2021-07-12  9:09   ` Joel Stanley [this message]
2021-07-13  9:08     ` Ivan Mikhaylov
2021-07-08 12:27 ` [PATCH v2 2/3] net/ncsi: add NCSI Intel OEM command to keep PHY up Ivan Mikhaylov
2021-07-12 10:01   ` Joel Stanley
2021-07-12 19:32     ` Eddie James
2021-07-13 10:16     ` Ivan Mikhaylov
2021-07-08 12:27 ` [PATCH v2 3/3] net/ncsi: add dummy response handler for Intel boards Ivan Mikhaylov
2021-07-12 10:03   ` Joel Stanley
2021-07-13  9:42     ` Ivan Mikhaylov
2021-07-20  9:41   ` Paul Fertser
2021-07-20 13:21     ` Ivan Mikhaylov
2021-07-20 13:29       ` Paul Fertser
2021-07-08 21:20 ` [PATCH v2 0/3] net/ncsi: Add NCSI Intel OEM command to keep PHY link up patchwork-bot+netdevbpf
2021-07-20  9:53 ` Paul Fertser
2021-07-20 14:00   ` Ivan Mikhaylov
2021-07-20 14:16     ` Paul Fertser

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='CACPK8Xe2W-qTPjyuAHkTGq6Kz0sWYRz23Cqqdxu0CL2XNc=T0w@mail.gmail.com' \
    --to=joel@jms.id.au \
    --cc=benh@kernel.crashing.org \
    --cc=davem@davemloft.net \
    --cc=i.mikhaylov@yadro.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=openbmc@lists.ozlabs.org \
    --cc=sam@mendozajonas.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).