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

Jijie Shao
2024-08-22T07:34:01Z

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@huawei.com>
>>>> ---
>>>> 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