Re: [PATCH] selftests/bpf: Make bpf_util work on uniprocessor systems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxx>

Thanks for the fix. lgtm
Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx>

Looks good from here as well:

Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>

This time it's ok to go via selftest tree, but next time please use net-next/net
to avoid conflicts.

+1

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


--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux