From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751805AbcFEOTw (ORCPT ); Sun, 5 Jun 2016 10:19:52 -0400 Received: from mga03.intel.com ([134.134.136.65]:14273 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750993AbcFEOTs (ORCPT ); Sun, 5 Jun 2016 10:19:48 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,421,1459839600"; d="scan'208";a="995605979" Message-ID: <1465136464.1767.57.camel@linux.intel.com> Subject: Re: [PATCH v2 3/2] lib/uuid.c: Silence an unchecked return value warning From: Andy Shevchenko To: George Spelvin Cc: bjorn@mork.no, linux-kernel@vger.kernel.org, matt@codeblueprint.co.uk, rv@rasmusvillemoes.dk Date: Sun, 05 Jun 2016 17:21:04 +0300 In-Reply-To: <20160604131622.28377.qmail@ns.sciencehorizons.net> References: <20160604131622.28377.qmail@ns.sciencehorizons.net> Organization: Intel Finland Oy Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.2-2 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- >  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 Intel Finland Oy