Re: [PATCH net-next 1/8] atm: use min() to simplify the code

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

 



* Li Zetao (lizetao1@xxxxxxxxxx) wrote:
> When copying data to user, it needs to determine the copy length.
> It is easier to understand using min() here.
> 
> Signed-off-by: Li Zetao <lizetao1@xxxxxxxxxx>
> ---
>  net/atm/addr.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/net/atm/addr.c b/net/atm/addr.c
> index 0530b63f509a..6c4c942b2cb9 100644
> --- a/net/atm/addr.c
> +++ b/net/atm/addr.c
> @@ -136,7 +136,7 @@ int atm_get_addr(struct atm_dev *dev, struct sockaddr_atmsvc __user * buf,
>  	unsigned long flags;
>  	struct atm_dev_addr *this;
>  	struct list_head *head;
> -	int total = 0, error;
> +	size_t total = 0, error;

Aren't you accidentally changing the type of 'error' there, and the function
returns 'int'.

Dave


>  	struct sockaddr_atmsvc *tmp_buf, *tmp_bufp;
>  
>  	spin_lock_irqsave(&dev->lock, flags);
> @@ -155,7 +155,7 @@ int atm_get_addr(struct atm_dev *dev, struct sockaddr_atmsvc __user * buf,
>  	    memcpy(tmp_bufp++, &this->addr, sizeof(struct sockaddr_atmsvc));
>  	spin_unlock_irqrestore(&dev->lock, flags);
>  	error = total > size ? -E2BIG : total;
> -	if (copy_to_user(buf, tmp_buf, total < size ? total : size))
> +	if (copy_to_user(buf, tmp_buf, min(total, size)))
>  		error = -EFAULT;
>  	kfree(tmp_buf);
>  	return error;
> -- 
> 2.34.1
> 
-- 
 -----Open up your eyes, open up your mind, open up your code -------   
/ Dr. David Alan Gilbert    |       Running GNU/Linux       | Happy  \ 
\        dave @ treblig.org |                               | In Hex /
 \ _________________________|_____ http://www.treblig.org   |_______/




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux