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 <li...@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.shevche...@linux.intel.com>
Intel Finland Oy

Reply via email to