Re: [PATCH V2 net-next 11/11] net: add is_valid_ether_addr check in dev_set_mac_address

From: Jijie Shao
Date: Thu Aug 22 2024 - 03:34:11 EST



on 2024/8/21 20:15, Andrew Lunn wrote:
On Wed, Aug 21, 2024 at 02:04:01PM +0800, Jijie Shao wrote:
on 2024/8/21 9:55, Jakub Kicinski wrote:
On Tue, 20 Aug 2024 22:01:54 +0800 Jijie Shao wrote:
core need test the mac_addr not every driver need to do.

Signed-off-by: Jijie Shao <shaojijie@xxxxxxxxxx>
---
net/core/dev.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/net/core/dev.c b/net/core/dev.c
index e7260889d4cb..2e19712184bc 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -9087,6 +9087,8 @@ int dev_set_mac_address(struct net_device *dev, struct sockaddr *sa,
return -EOPNOTSUPP;
if (sa->sa_family != dev->type)
return -EINVAL;
+ if (!is_valid_ether_addr(sa->sa_data))
+ return -EADDRNOTAVAIL;
not every netdev is for an Ethernet device
ok, this patch will be removed in v3.
and the check will move to hibmcge driver.
No, you just need to use the correct function to perform the check.

__dev_open() does:

if (ops->ndo_validate_addr)
ret = ops->ndo_validate_addr(dev);

Andrew

okay, it looks perfect!

Jijie Shao