Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1414114

Re: [PATCH v2 3/2] lib/uuid.c: Silence an unchecked return value warning

From Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Newsgroups linux.kernel
Subject Re: [PATCH v2 3/2] lib/uuid.c: Silence an unchecked return value warning
Date 2016-06-05 16:20 +0200
Message-ID <rGH4e-7Uk-9@gated-at.bofh.it> (permalink)
References <rGjEC-1yj-9@gated-at.bofh.it>
Organization Intel Finland Oy

Show all headers | View raw


On Sat, 2016-06-04 at 09:16 -0400, George Spelvin wrote:
> Andy Shevchenko pointed out that __uuid_to_bin doesn't need to check
> the return value from hex2bin(), because the preceding uuid_is_valid()
> check already took care of that.
> 
> But hex2bin() is declared __must_check, so checking anyway is the
> simplest way to silence the warning.
> 
> This cancels a small fraction of the the space savings, but not all:
> 
> 	vs. previous patch		vs. before patch series
> 	Before  After   Delta   Percent	Orig.	Delta
> Percent
> x86-32	90	 96	 +6	6.7%	122	-
> 26	-21.3%
> x86-64	90	 96	 +6	6.7%	127     -31	
> -24.4%
> arm	92	104	+12	13.0%	116     -12	
> -10.3%
> thumb	50	 62	+12	24.0%	100     -38	
> -38.0%
> arm64	116	124	 +8	6.9%	148     -24	
> -16.2%
> 
> Signed-off-by: George Spelvin <linux@sciencehorizons.net>
> ---
>  lib/uuid.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/uuid.c b/lib/uuid.c
> index 93945915..1a6dbbd2 100644
> --- a/lib/uuid.c
> +++ b/lib/uuid.c
> @@ -104,7 +104,8 @@ static int __uuid_to_bin(const char uuid[36], __u8
> b[16], const u8 pos[16])
>  		return -EINVAL;
>  
>  	for (i = 0; i < 16; i++)
> -		hex2bin(b + i, uuid + pos[i], 1);
> +		if (hex2bin(b + i, uuid + pos[i], 1) < 0)
> +			return -EINVAL;

Which I against of. Please, use normal hex_to_bin() calls here.

Compiler will inline it anyway, but at least will not do second check
for nothing.

>  
>  	return 0;
>  }

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 0/2] Clean up and shrink uuid input & output "George Spelvin" <linux@sciencehorizons.net> - 2016-06-04 07:20 +0200
  [PATCH v2 1/2] lib/vsprintf.c: Simplify uuid_string() "George Spelvin" <linux@sciencehorizons.net> - 2016-06-04 07:20 +0200
    Re: [PATCH v2 1/2] lib/vsprintf.c: Simplify uuid_string() Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2016-06-05 16:30 +0200
      Re: [PATCH v2 1/2] lib/vsprintf.c: Simplify uuid_string() "George Spelvin" <linux@sciencehorizons.net> - 2016-06-05 22:00 +0200
  [PATCH v2 2/2] lib/uuid.c: eliminate uuid_[bl]e_index arrays "George Spelvin" <linux@sciencehorizons.net> - 2016-06-04 07:20 +0200
    Re: [PATCH v2 2/2] lib/uuid.c: eliminate uuid_[bl]e_index arrays kbuild test robot <lkp@intel.com> - 2016-06-04 08:00 +0200
    Re: [PATCH v2 2/2] lib/uuid.c: eliminate uuid_[bl]e_index arrays Joe Perches <joe@perches.com> - 2016-06-04 18:30 +0200
      Re: [PATCH v2 2/2] lib/uuid.c: eliminate uuid_[bl]e_index arrays "George Spelvin" <linux@sciencehorizons.net> - 2016-06-05 00:00 +0200
      Re: [PATCH v2 2/2] lib/uuid.c: eliminate uuid_[bl]e_index arrays Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2016-06-05 16:20 +0200
        Re: [PATCH v2 2/2] lib/uuid.c: eliminate uuid_[bl]e_index arrays Joe Perches <joe@perches.com> - 2016-06-05 17:40 +0200
          Re: [PATCH v2 2/2] lib/uuid.c: eliminate uuid_[bl]e_index arrays Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2016-06-05 18:20 +0200
  [PATCH v2 3/2] lib/uuid.c: Silence an unchecked return value warning "George Spelvin" <linux@sciencehorizons.net> - 2016-06-04 15:20 +0200
    Re: [PATCH v2 3/2] lib/uuid.c: Silence an unchecked return value  warning Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2016-06-05 16:20 +0200
      Re: [PATCH v2 3/2] lib/uuid.c: Silence an unchecked return value warning "George Spelvin" <linux@sciencehorizons.net> - 2016-06-05 21:30 +0200
        Re: [PATCH v2 3/2] lib/uuid.c: Silence an unchecked return value  warning Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2016-06-06 10:30 +0200
          Re: [PATCH v2 3/2] lib/uuid.c: Silence an unchecked return value warning "George Spelvin" <linux@sciencehorizons.net> - 2016-06-07 18:50 +0200
            Re: [PATCH v2 3/2] lib/uuid.c: Silence an unchecked return value  warning Joe Perches <joe@perches.com> - 2016-06-07 19:20 +0200

csiph-web