[PATCH v2 1/4] staging: wilc1000: fix null check routine

Tony Cho tony.cho at atmel.com
Mon Sep 21 01:52:32 UTC 2015



On 2015년 09월 19일 11:50, Greg KH wrote:
> On Thu, Sep 17, 2015 at 07:02:17PM +0900, Tony Cho wrote:
>> From: Leo Kim <leo.kim at atmel.com>
>>
>> This patch removes the potential faults which may happen when unexpectedly
>> getting access to invalid pointer. The pointer of pstrWFIDrv is unlikely
>> to be invalid. However, it is safer to return error when the invalid
>> memory is unfortunately accessed.
>>
>> Signed-off-by: Leo Kim <leo.kim at atmel.com>
>> Signed-off-by: Tony Cho <tony.cho at atmel.com>
>> ---
>>   drivers/staging/wilc1000/host_interface.c | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c
>> index 6fdf392..151e8c4 100644
>> --- a/drivers/staging/wilc1000/host_interface.c
>> +++ b/drivers/staging/wilc1000/host_interface.c
>> @@ -2403,8 +2403,10 @@ static s32 Handle_RcvdGnrlAsyncInfo(tstrWILC_WFIDrv *drvHandler, tstrRcvdGnrlAsy
>>   	s32 s32Err = 0;
>>   	tstrWILC_WFIDrv *pstrWFIDrv = (tstrWILC_WFIDrv *) drvHandler;
>>   
>> -	if (pstrWFIDrv == NULL)
>> +	if (unlikely(!pstrWFIDrv)) {
> Can you measure the difference of using unlikely and not using it?  If
> not, never use it, as odds are, the compiler and processor already
> guessed it correctly and made the code faster.
>
> If you can measure it, great, I'll be glad to take this patch, but you
> need to show your measurements in the changelog comments.

I thought it twice and checked gcc documentation again. Finally, I was careless for that use.
So, I will revert it and thank you for your advice.

>>   		PRINT_ER("Driver handler is NULL\n");
>> +		return -EFAULT;
> -EFAULT is only for when we take a memory fault, which is not what is
> happening here.  -ENODEV?

This will be replaced with a correct return value. Thank you.:-)

> thanks,
>
> greg k-h



More information about the devel mailing list