]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: macb: avoid dealing with endianness in macb_set_hwaddr()
authorThéo Lebrun <theo.lebrun@bootlin.com>
Tue, 23 Sep 2025 16:00:27 +0000 (18:00 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Dec 2025 11:45:14 +0000 (12:45 +0100)
commit0c5e86a1846168d11e1de207cc03e1b7911dd015
tree23a46f7adbdfb0b34c8ea54c9a35c719e847e3ae
parent6025f641a0e30afdc5aa62017397b1860ad9f677
net: macb: avoid dealing with endianness in macb_set_hwaddr()

[ Upstream commit 70a5ce8bc94545ba0fb47b2498bfb12de2132f4d ]

bp->dev->dev_addr is of type `unsigned char *`. Casting it to a u32
pointer and dereferencing implies dealing manually with endianness,
which is error-prone.

Replace by calls to get_unaligned_le32|le16() helpers.

This was found using sparse:
   ⟩ make C=2 drivers/net/ethernet/cadence/macb_main.o
   warning: incorrect type in assignment (different base types)
      expected unsigned int [usertype] bottom
      got restricted __le32 [usertype]
   warning: incorrect type in assignment (different base types)
      expected unsigned short [usertype] top
      got restricted __le16 [usertype]
   ...

Reviewed-by: Sean Anderson <sean.anderson@linux.dev>
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250923-macb-fixes-v6-5-772d655cdeb6@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/cadence/macb_main.c