RE: [PATCH] cpqarray: check put_user() result

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

 



 

> -----Original Message-----
> From: Kulikov Vasiliy [mailto:segooon@xxxxxxxxx] 
> Sent: Thursday, July 29, 2010 10:55 AM
> To: kernel-janitors@xxxxxxxxxxxxxxx
> Cc: Chirag Kantharia; Jens Axboe; Andrew Morton; Alexey 
> Dobriyan; Christoph Hellwig; Arnd Bergmann; ISS StorageDev; 
> linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] cpqarray: check put_user() result
> 
> put_user() may fail, if so return -EFAULT.
> 
> Signed-off-by: Kulikov Vasiliy <segooon@xxxxxxxxx>
> ---
>  drivers/block/cpqarray.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/block/cpqarray.c 
> b/drivers/block/cpqarray.c index 9473215..d53b029 100644
> --- a/drivers/block/cpqarray.c
> +++ b/drivers/block/cpqarray.c
> @@ -1179,7 +1179,8 @@ out_passthru:
>  		return error;
>  	case IDAGETCTLRSIG:
>  		if (!arg) return -EINVAL;
> -		put_user(host->ctlr_sig, (int __user *)arg);
> +		if (put_user(host->ctlr_sig, (int __user *)arg))
> +			return -EFAULT;
>  		return 0;
>  	case IDAREVALIDATEVOLS:
>  		if (MINOR(bdev->bd_dev) != 0)
> @@ -1187,7 +1188,8 @@ out_passthru:
>  		return revalidate_allvol(host);
>  	case IDADRIVERVERSION:
>  		if (!arg) return -EINVAL;
> -		put_user(DRIVER_VERSION, (unsigned long __user *)arg);
> +		if (put_user(DRIVER_VERSION, (unsigned long 
> __user *)arg))
> +			return -EFAULT;
>  		return 0;
>  	case IDAGETPCIINFO:
>  	{
> --
> 1.7.0.4
> 
> 
Acked-by: Mike Miller <mike.miller@xxxxxx>--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux