From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Alexander Aring <aahringo@redhat.com>
Cc: Stefan Schmidt <stefan@datenfreihafen.org>,
Alexander Aring <alex.aring@gmail.com>,
linux-wpan@vger.kernel.org,
"David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>,
netdev@vger.kernel.org, David Girault <david.girault@qorvo.com>,
Romuald Despres <romuald.despres@qorvo.com>,
Frederic Blain <frederic.blain@qorvo.com>,
Nicolas Schodet <nico@ni.fr.eu.org>,
Guilhem Imberton <guilhem.imberton@qorvo.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
kernel test robot <lkp@intel.com>
Subject: Re: [PATCH wpan-next] mac802154: Avoid superfluous endianness handling
Date: Tue, 31 Jan 2023 12:03:46 +0100 [thread overview]
Message-ID: <20230131120346.65d42f25@xps-13> (raw)
In-Reply-To: <CAK-6q+iOXe2CQ=Bc4Ba8vK=M_hTW7cdJ5TormiHy5DJsiyr_BQ@mail.gmail.com>
Hi Alexander,
aahringo@redhat.com wrote on Mon, 30 Jan 2023 11:41:20 -0500:
> Hi,
>
> On Mon, Jan 30, 2023 at 11:34 AM Stefan Schmidt
> <stefan@datenfreihafen.org> wrote:
> >
> > Hello.
> >
> > On 30.01.23 16:43, Miquel Raynal wrote:
> > > When compiling scan.c with C=1, Sparse complains with:
> > >
> > > sparse: expected unsigned short [usertype] val
> > > sparse: got restricted __le16 [usertype] pan_id
> > > sparse: sparse: cast from restricted __le16
> > >
> > > sparse: expected unsigned long long [usertype] val
> > > sparse: got restricted __le64 [usertype] extended_addr
> > > sparse: sparse: cast from restricted __le64
> > >
> > > The tool is right, both pan_id and extended_addr already are rightfully
> > > defined as being __le16 and __le64 on both sides of the operations and
> > > do not require extra endianness handling.
> > >
> > > Fixes: 3accf4762734 ("mac802154: Handle basic beaconing")
> > > Reported-by: kernel test robot <lkp@intel.com>
> > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
> > > ---
> > > net/mac802154/scan.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/net/mac802154/scan.c b/net/mac802154/scan.c
> > > index cfbe20b1ec5e..8f98efec7753 100644
> > > --- a/net/mac802154/scan.c
> > > +++ b/net/mac802154/scan.c
> > > @@ -419,8 +419,8 @@ int mac802154_send_beacons_locked(struct ieee802154_sub_if_data *sdata,
> > > local->beacon.mhr.fc.source_addr_mode = IEEE802154_EXTENDED_ADDRESSING;
> > > atomic_set(&request->wpan_dev->bsn, -1);
> > > local->beacon.mhr.source.mode = IEEE802154_ADDR_LONG;
> > > - local->beacon.mhr.source.pan_id = cpu_to_le16(request->wpan_dev->pan_id);
> > > - local->beacon.mhr.source.extended_addr = cpu_to_le64(request->wpan_dev->extended_addr);
> > > + local->beacon.mhr.source.pan_id = request->wpan_dev->pan_id;
> > > + local->beacon.mhr.source.extended_addr = request->wpan_dev->extended_addr;
> > > local->beacon.mac_pl.beacon_order = request->interval;
> > > local->beacon.mac_pl.superframe_order = request->interval;
> > > local->beacon.mac_pl.final_cap_slot = 0xf;
> >
> > This patch has been applied to the wpan-next tree and will be
> > part of the next pull request to net-next. Thanks!
>
> fyi: in my opinion, depending on system endianness this is actually a bug.
Actually there are many uses of __le16 and __le64 for PAN IDs, short
and extended addresses. I did follow the existing patterns, I think
they are legitimate. Can you clarify what you think is a bug in the
current state? I always feel a bit flaky when it comes to properly
handling endianness, so all feedback welcome, if you have any hints
of what should be fixed after this patch, I'll do it.
Thanks,
Miquèl
next prev parent reply other threads:[~2023-01-31 11:04 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-30 15:43 [PATCH wpan-next] mac802154: Avoid superfluous endianness handling Miquel Raynal
2023-01-30 16:32 ` Stefan Schmidt
2023-01-30 16:41 ` Alexander Aring
2023-01-31 11:03 ` Miquel Raynal [this message]
2023-02-06 1:37 ` Alexander Aring
2023-02-06 8:53 ` Miquel Raynal
2023-02-07 0:28 ` Alexander Aring
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=20230131120346.65d42f25@xps-13 \
--to=miquel.raynal@bootlin.com \
--cc=aahringo@redhat.com \
--cc=alex.aring@gmail.com \
--cc=davem@davemloft.net \
--cc=david.girault@qorvo.com \
--cc=edumazet@google.com \
--cc=frederic.blain@qorvo.com \
--cc=guilhem.imberton@qorvo.com \
--cc=kuba@kernel.org \
--cc=linux-wpan@vger.kernel.org \
--cc=lkp@intel.com \
--cc=netdev@vger.kernel.org \
--cc=nico@ni.fr.eu.org \
--cc=pabeni@redhat.com \
--cc=romuald.despres@qorvo.com \
--cc=stefan@datenfreihafen.org \
--cc=thomas.petazzoni@bootlin.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).