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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 17, 2015 at 07:02:17PM +0900, Tony Cho wrote:
> From: Leo Kim <leo.kim@xxxxxxxxx>
> 
> 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@xxxxxxxxx>
> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx>
> ---
>  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.

>  		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?

thanks,

greg k-h
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux