From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757442AbdIHXCL (ORCPT ); Fri, 8 Sep 2017 19:02:11 -0400 Received: from mail-pg0-f65.google.com ([74.125.83.65]:37003 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757424AbdIHXCA (ORCPT ); Fri, 8 Sep 2017 19:02:00 -0400 X-Google-Smtp-Source: ADKCNb526lELLnz0hc5liRKeWK6hVKeNsEStJt7Ca2WTQoDNuEsqmlcu28cI+1WiFlhHaE37i4Mt0w== Date: Fri, 8 Sep 2017 16:01:57 -0700 From: Alexei Starovoitov To: Thomas Meyer Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, shuah@kernel.org, Daniel Borkmann Subject: Re: [PATCH] selftests/bpf: Make bpf_util work on uniprocessor systems Message-ID: <20170908230155.esge2mctk5d5g7gb@ast-mbp> References: <20170908111923.27434-1-thomas@m3y3r.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170908111923.27434-1-thomas@m3y3r.de> User-Agent: NeoMutt/20170421 (1.8.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Sep 08, 2017 at 01:19:23PM +0200, Thomas Meyer wrote: > The current implementation fails to work on uniprocessor systems. > Fix the parser to also handle the uniprocessor case. > > Signed-off-by: Thomas Meyer Thanks for the fix. lgtm Acked-by: Alexei Starovoitov This time it's ok to go via selftest tree, but next time please use net-next/net to avoid conflicts. Thanks > --- > tools/testing/selftests/bpf/bpf_util.h | 17 +++++++++-------- > 1 file changed, 9 insertions(+), 8 deletions(-) > > diff --git a/tools/testing/selftests/bpf/bpf_util.h b/tools/testing/selftests/bpf/bpf_util.h > index 20ecbaa0d85d..6c53a8906eff 100644 > --- a/tools/testing/selftests/bpf/bpf_util.h > +++ b/tools/testing/selftests/bpf/bpf_util.h > @@ -12,6 +12,7 @@ static inline unsigned int bpf_num_possible_cpus(void) > unsigned int start, end, possible_cpus = 0; > char buff[128]; > FILE *fp; > + int n; > > fp = fopen(fcpu, "r"); > if (!fp) { > @@ -20,17 +21,17 @@ static inline unsigned int bpf_num_possible_cpus(void) > } > > while (fgets(buff, sizeof(buff), fp)) { > - if (sscanf(buff, "%u-%u", &start, &end) == 2) { > - possible_cpus = start == 0 ? end + 1 : 0; > - break; > + n = sscanf(buff, "%u-%u", &start, &end); > + if (n == 0) { > + printf("Failed to retrieve # possible CPUs!\n"); > + exit(1); > + } else if (n == 1) { > + end = start; > } > + possible_cpus = start == 0 ? end + 1 : 0; > + break; > } > - > fclose(fp); > - if (!possible_cpus) { > - printf("Failed to retrieve # possible CPUs!\n"); > - exit(1); > - } > > return possible_cpus; > } > -- > 2.11.0 >