selftests/mm: parse VMA range in one go
authorDev Jain <dev.jain@arm.com>
Fri, 22 Mar 2024 12:05:51 +0000 (17:35 +0530)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 26 Apr 2024 03:56:07 +0000 (20:56 -0700)
Use sscanf() to directly parse the VMA range. No functional change is intended.

Link: https://lkml.kernel.org/r/20240322120551.818764-1-dev.jain@arm.com
Signed-off-by: Dev Jain <dev.jain@arm.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
tools/testing/selftests/mm/mlock2-tests.c

index 26f744188ad0c8c0535ec8ecc4e903f0bd1b86c5..7f0d50fa361dcf8726e46ef907a7b344e8cdc3bd 100644 (file)
@@ -20,8 +20,6 @@ static int get_vm_area(unsigned long addr, struct vm_boundaries *area)
        FILE *file;
        int ret = 1;
        char line[1024] = {0};
-       char *end_addr;
-       char *stop;
        unsigned long start;
        unsigned long end;
 
@@ -37,21 +35,10 @@ static int get_vm_area(unsigned long addr, struct vm_boundaries *area)
        memset(area, 0, sizeof(struct vm_boundaries));
 
        while(fgets(line, 1024, file)) {
-               end_addr = strchr(line, '-');
-               if (!end_addr) {
+               if (sscanf(line, "%lx-%lx", &start, &end) != 2) {
                        ksft_print_msg("cannot parse /proc/self/maps\n");
                        goto out;
                }
-               *end_addr = '\0';
-               end_addr++;
-               stop = strchr(end_addr, ' ');
-               if (!stop) {
-                       ksft_print_msg("cannot parse /proc/self/maps\n");
-                       goto out;
-               }
-
-               sscanf(line, "%lx", &start);
-               sscanf(end_addr, "%lx", &end);
 
                if (start <= addr && end > addr) {
                        area->start = start;