On Wed, Aug 21, 2024 at 02:04:01PM +0800, Jijie Shao wrote:
on 2024/8/21 9:55, Jakub Kicinski wrote:No, you just need to use the correct function to perform the check.
On Tue, 20 Aug 2024 22:01:54 +0800 Jijie Shao wrote:ok, this patch will be removed in v3.
core need test the mac_addr not every driver need to do.not every netdev is for an Ethernet device
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;
and the check will move to hibmcge driver.
__dev_open() does:
if (ops->ndo_validate_addr)
ret = ops->ndo_validate_addr(dev);
Andrew