lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <ed20875b-7a01-fbc8-e8d1-3929ba35c8ac@kernel.org> Date: Thu, 14 Sep 2017 09:01:19 -0600 From: Shuah Khan <shuah@...nel.org> To: Daniel Borkmann <daniel@...earbox.net>, Alexei Starovoitov <alexei.starovoitov@...il.com>, Thomas Meyer <thomas@...3r.de> Cc: linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org, Shuah Khan <shuah@...nel.org>, Shuah Khan <shuahkh@....samsung.com> Subject: Re: [PATCH] selftests/bpf: Make bpf_util work on uniprocessor systems On 09/08/2017 05:05 PM, Daniel Borkmann wrote: > On 09/09/2017 01:01 AM, Alexei Starovoitov wrote: >> 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 <thomas@...3r.de> >> >> Thanks for the fix. lgtm >> Acked-by: Alexei Starovoitov <ast@...nel.org> > > Looks good from here as well: > > Acked-by: Daniel Borkmann <daniel@...earbox.net> > >> This time it's ok to go via selftest tree, but next time please use net-next/net >> to avoid conflicts. > > +1 > >> Thanks Thank you. I will get this into 4.14-rc2 or rc3. thanks, -- Shuah >> >>> --- >>> 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 >>> > > >
Powered by blists - more mailing lists