Thread (10 messages) read the whole thread 10 messages, 3 authors, 2021-10-07

Re: [PATCH net-next 2/3] eth: platform: add a helper for loading netdev->dev_addr

From: Michael Walle <hidden>
Date: 2021-10-07 13:42:23

Am 2021-10-07 15:25, schrieb Jakub Kicinski:
Commit 406f42fa0d3c ("net-next: When a bond have a massive amount
of VLANs...") introduced a rbtree for faster Ethernet address look
up. To maintain netdev->dev_addr in this tree we need to make all
the writes to it got through appropriate helpers.

There is a handful of drivers which pass netdev->dev_addr as
the destination buffer to eth_platform_get_mac_address().
Add a helper which takes a dev pointer instead, so it can call
an appropriate helper.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
..
+/**
+ * platform_get_ethdev_address - Set netdev's MAC address from a given 
device
+ * @dev:	Pointer to the device
+ * @netdev:	Pointer to netdev to write the address to
+ *
+ * Wrapper around eth_platform_get_mac_address() which writes the 
address
+ * directly to netdev->dev_addr.
+ */
+int platform_get_ethdev_address(struct device *dev, struct net_device 
*netdev)
+{
+	u8 addr[ETH_ALEN];
+	int ret;
+
+	ret = eth_platform_get_mac_address(dev, addr);
this eventually calls ether_addr_copy(), which has a note:
   Please note: dst & src must both be aligned to u16.

Is this true for this addr on the stack?

-michael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help