From: Andrew Lunn <andrew@lunn.ch>
To: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
Cc: gregkh@linuxfoundation.org, anirudha.sarangi@xilinx.com,
michal.simek@xilinx.com, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org, mchehab+samsung@kernel.org,
john.linn@xilinx.com, davem@davemloft.net,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 -next 4/4] net: emaclite: Fix restricted cast warning of sparse
Date: Fri, 31 Jan 2020 14:48:49 +0100 [thread overview]
Message-ID: <20200131134849.GE9639@lunn.ch> (raw)
In-Reply-To: <1580471270-16262-5-git-send-email-radhey.shyam.pandey@xilinx.com>
On Fri, Jan 31, 2020 at 05:17:50PM +0530, Radhey Shyam Pandey wrote:
> Explicitly cast xemaclite_readl return value when it's passed to ntohl.
> Fixes below reported sparse warnings:
>
> xilinx_emaclite.c:411:24: sparse: sparse: cast to restricted __be32
> xilinx_emaclite.c:420:36: sparse: sparse: cast to restricted __be32
>
> Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
> Reported-by: kbuild test robot <lkp@intel.com>
> ---
> drivers/net/ethernet/xilinx/xilinx_emaclite.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> index 96e9d21..3273d4f 100644
> --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> @@ -408,7 +408,8 @@ static u16 xemaclite_recv_data(struct net_local *drvdata, u8 *data, int maxlen)
>
> /* Get the protocol type of the ethernet frame that arrived
> */
> - proto_type = ((ntohl(xemaclite_readl(addr + XEL_HEADER_OFFSET +
> + proto_type = ((ntohl((__force __be32)xemaclite_readl(addr +
> + XEL_HEADER_OFFSET +
> XEL_RXBUFF_OFFSET)) >> XEL_HEADER_SHIFT) &
> XEL_RPLR_LENGTH_MASK);
>
> @@ -417,7 +418,7 @@ static u16 xemaclite_recv_data(struct net_local *drvdata, u8 *data, int maxlen)
> */
> if (proto_type > ETH_DATA_LEN) {
> if (proto_type == ETH_P_IP) {
> - length = ((ntohl(xemaclite_readl(addr +
> + length = ((ntohl((__force __be32)xemaclite_readl(addr +
> XEL_HEADER_IP_LENGTH_OFFSET +
> XEL_RXBUFF_OFFSET)) >>
> XEL_HEADER_SHIFT) &
If i understand this code correctly, you need the ntohl because you
are poking around inside the packet. All the other uses of
xemaclite_readl() are for descriptors etc.
It would be cleaner if you defined a xemaclite_readlbe32. If you use
ioread32be() it will do the endinness swap for you, so you don't need
the ntohl() and the horrible cast.
Andrew
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Andrew Lunn <andrew@lunn.ch>
To: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
Cc: davem@davemloft.net, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, anirudha.sarangi@xilinx.com,
michal.simek@xilinx.com, gregkh@linuxfoundation.org,
mchehab+samsung@kernel.org, john.linn@xilinx.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 -next 4/4] net: emaclite: Fix restricted cast warning of sparse
Date: Fri, 31 Jan 2020 14:48:49 +0100 [thread overview]
Message-ID: <20200131134849.GE9639@lunn.ch> (raw)
In-Reply-To: <1580471270-16262-5-git-send-email-radhey.shyam.pandey@xilinx.com>
On Fri, Jan 31, 2020 at 05:17:50PM +0530, Radhey Shyam Pandey wrote:
> Explicitly cast xemaclite_readl return value when it's passed to ntohl.
> Fixes below reported sparse warnings:
>
> xilinx_emaclite.c:411:24: sparse: sparse: cast to restricted __be32
> xilinx_emaclite.c:420:36: sparse: sparse: cast to restricted __be32
>
> Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
> Reported-by: kbuild test robot <lkp@intel.com>
> ---
> drivers/net/ethernet/xilinx/xilinx_emaclite.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> index 96e9d21..3273d4f 100644
> --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c
> @@ -408,7 +408,8 @@ static u16 xemaclite_recv_data(struct net_local *drvdata, u8 *data, int maxlen)
>
> /* Get the protocol type of the ethernet frame that arrived
> */
> - proto_type = ((ntohl(xemaclite_readl(addr + XEL_HEADER_OFFSET +
> + proto_type = ((ntohl((__force __be32)xemaclite_readl(addr +
> + XEL_HEADER_OFFSET +
> XEL_RXBUFF_OFFSET)) >> XEL_HEADER_SHIFT) &
> XEL_RPLR_LENGTH_MASK);
>
> @@ -417,7 +418,7 @@ static u16 xemaclite_recv_data(struct net_local *drvdata, u8 *data, int maxlen)
> */
> if (proto_type > ETH_DATA_LEN) {
> if (proto_type == ETH_P_IP) {
> - length = ((ntohl(xemaclite_readl(addr +
> + length = ((ntohl((__force __be32)xemaclite_readl(addr +
> XEL_HEADER_IP_LENGTH_OFFSET +
> XEL_RXBUFF_OFFSET)) >>
> XEL_HEADER_SHIFT) &
If i understand this code correctly, you need the ntohl because you
are poking around inside the packet. All the other uses of
xemaclite_readl() are for descriptors etc.
It would be cleaner if you defined a xemaclite_readlbe32. If you use
ioread32be() it will do the endinness swap for you, so you don't need
the ntohl() and the horrible cast.
Andrew
next prev parent reply other threads:[~2020-01-31 13:49 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-31 11:47 [PATCH v3 -next 0/4] net: emaclite: support arm64 platform Radhey Shyam Pandey
2020-01-31 11:47 ` Radhey Shyam Pandey
2020-01-31 11:47 ` [PATCH v3 -next 1/4] net: emaclite: Fix coding style Radhey Shyam Pandey
2020-01-31 11:47 ` Radhey Shyam Pandey
2020-01-31 11:47 ` [PATCH v3 -next 2/4] net: emaclite: In kconfig remove arch dependency Radhey Shyam Pandey
2020-01-31 11:47 ` Radhey Shyam Pandey
2020-01-31 11:47 ` [PATCH v3 -next 3/4] net: emaclite: Fix arm64 compilation warnings Radhey Shyam Pandey
2020-01-31 11:47 ` Radhey Shyam Pandey
2020-01-31 13:37 ` Andrew Lunn
2020-01-31 13:37 ` Andrew Lunn
2020-02-10 14:26 ` Radhey Shyam Pandey
2020-02-10 14:26 ` Radhey Shyam Pandey
2020-01-31 11:47 ` [PATCH v3 -next 4/4] net: emaclite: Fix restricted cast warning of sparse Radhey Shyam Pandey
2020-01-31 11:47 ` Radhey Shyam Pandey
2020-01-31 13:48 ` Andrew Lunn [this message]
2020-01-31 13:48 ` Andrew Lunn
2020-02-10 14:55 ` Radhey Shyam Pandey
2020-02-10 14:55 ` Radhey Shyam Pandey
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=20200131134849.GE9639@lunn.ch \
--to=andrew@lunn.ch \
--cc=anirudha.sarangi@xilinx.com \
--cc=davem@davemloft.net \
--cc=gregkh@linuxfoundation.org \
--cc=john.linn@xilinx.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab+samsung@kernel.org \
--cc=michal.simek@xilinx.com \
--cc=netdev@vger.kernel.org \
--cc=radhey.shyam.pandey@xilinx.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.