[PATCH v2] ioctl10: fix the sscanf() call to handle 64-bit inode on 32-bit arch
Jeff Layton via ltp <[email protected]>
| Newsgroups | gmane.linux.ltp |
|---|---|
| Message-ID | <[email protected]> |
This test started failing recently on arm32, when we switched the kernel to displaying the full 64-bit inode number in the maps file. Change the testcase to allow for a full 64-bit inode number on all arches. The value it's compared to is already 64-bits, so widening this field is all that is necessary. Reported-by: Mark Brown <[email protected]> Signed-off-by: Jeff Layton <[email protected]> --- Changes in v2: - Use SCNu64 instead of %llu in the sscanf() format string - Link to v1: https://lore.kernel.org/r/20260626-master-v1-1-e4fcb95b232d-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org --- testcases/kernel/syscalls/ioctl/ioctl10.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/testcases/kernel/syscalls/ioctl/ioctl10.c b/testcases/kernel/syscalls/ioctl/ioctl10.c index b668c9e93889..8a4f8ae405e6 100644 --- a/testcases/kernel/syscalls/ioctl/ioctl10.c +++ b/testcases/kernel/syscalls/ioctl/ioctl10.c @@ -17,6 +17,7 @@ #include "config.h" #include <stdlib.h> +#include <inttypes.h> #include <sys/ioctl.h> #include <errno.h> #include <fnmatch.h> @@ -35,7 +36,7 @@ struct map_entry { unsigned long vm_pgoff; unsigned int vm_major; unsigned int vm_minor; - unsigned long vm_inode; + uint64_t vm_inode; char vm_name[256]; unsigned int vm_flags; }; @@ -68,7 +69,7 @@ static void parse_maps_file(const char *filename, const char *keyword, struct ma while (fgets(line, sizeof(line), fp) != NULL) { if (fnmatch(keyword, line, 0) == 0) { - if (sscanf(line, "%lx-%lx %s %lx %x:%x %lu %s", + if (sscanf(line, "%lx-%lx %s %lx %x:%x %" SCNu64 " %s", &entry->vm_start, &entry->vm_end, entry->vm_flags_str, &entry->vm_pgoff, &entry->vm_major, &entry->vm_minor, &entry->vm_inode, entry->vm_name) < 7) --- base-commit: 534222c4f3908e9642f913399e37a66fdd266bbe change-id: 20260626-master-55d29494ba06 Best regards, -- Jeff Layton <[email protected]> -- Mailing list info: https://lists.linux.it/listinfo/ltp