Subject: Re: [PATCH] ethtool: check the ethtool_ops is NULL in dev_ethtool

From: Wang Weidong <[email-masked]>
Date: Tue, 18 Feb 2014 09:20:58 +0800

On 2014/2/18 1:09, Daniel Borkmann wrote:
> On 02/17/2014 12:31 PM, Wang Weidong wrote:
>> some drivers maybe not implement the ethtool_ops with only
>> set NULL. So when call the ethtool cmds will lead to a
>> 'NULL pointer dereference'.
>>
>> So add a checking in dev_ethtool.
>>
>> Signed-off-by: Wang Weidong <[email-masked]>
>> ---
>>   net/core/ethtool.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/net/core/ethtool.c b/net/core/ethtool.c
>> index 30071de..f418dcb 100644
>> --- a/net/core/ethtool.c
>> +++ b/net/core/ethtool.c
>> @@ -1499,6 +1499,9 @@ int dev_ethtool(struct net *net, struct ifreq *ifr)
>>           if (!ns_capable(net->user_ns, CAP_NET_ADMIN))
>>               return -EPERM;
>>       }
>> +   
> 
> You have a trailing whitespace/tab in the line above. Please
> use checkpatch for detecting such things.
> 
Sorry for that. I will fix it soon.

> Can you be more specific with "some drivers"? Any driver that
> is in the mainline tree?
> 
No. My team implements a driver without considering the ethtool_ops.
So I got the problem.

>> +    if (!dev->ethtool_ops)
>> +        return -EOPNOTSUPP;
>>
>>       if (dev->ethtool_ops->begin) {
>>           rc = dev->ethtool_ops->begin(dev);
>>
> 
>