On Fri, Apr 19, 2024 at 4:44 AM <jeffxu@xxxxxxxxxxxx> wrote: > > From: Jeff Xu <jeffxu@xxxxxxxxxxxx> > > fix compile warning reported by test robot > > Signed-off-by: Jeff Xu <jeffxu@xxxxxxxxxxxx> > Reported-by: kernel test robot <yujie.liu@xxxxxxxxx> > Closes: https://lore.kernel.org/r/202404190226.OfJOewV8-lkp@xxxxxxxxx/ > --- > tools/testing/selftests/mm/mseal_test.c | 3 +-- > tools/testing/selftests/mm/seal_elf.c | 3 +-- > 2 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/tools/testing/selftests/mm/mseal_test.c b/tools/testing/selftests/mm/mseal_test.c > index 4a326334726d..35cdae93e580 100644 > --- a/tools/testing/selftests/mm/mseal_test.c > +++ b/tools/testing/selftests/mm/mseal_test.c > @@ -79,7 +79,7 @@ static unsigned long get_vma_size(void *addr, int *prot) > return 0; > > while (fgets(line, sizeof(line), maps)) { > - if (sscanf(line, "%lx-%lx %4s", &addr_start, &addr_end, &protstr) == 3) { > + if (sscanf(line, "%lx-%lx %4s", &addr_start, &addr_end, (char *) &protstr) == 3) { This fix is wrong. You can simply do: + if (sscanf(line, "%lx-%lx %4s", &addr_start, &addr_end, protstr) == 3) { and it'll just work (arrays decay to pointers when required). > if (addr_start == (uintptr_t) addr) { > size = addr_end - addr_start; > if (protstr[0] == 'r') > @@ -208,7 +208,6 @@ static u64 set_pkey_bits(u64 reg, int pkey, u64 flags) > > static void set_pkey(int pkey, unsigned long pkey_value) > { > - unsigned long mask = (PKEY_DISABLE_ACCESS | PKEY_DISABLE_WRITE); > u64 new_pkey_reg; > > new_pkey_reg = set_pkey_bits(__read_pkey_reg(), pkey, pkey_value); > diff --git a/tools/testing/selftests/mm/seal_elf.c b/tools/testing/selftests/mm/seal_elf.c > index 7143dc4f1b10..b7e72f9804f8 100644 > --- a/tools/testing/selftests/mm/seal_elf.c > +++ b/tools/testing/selftests/mm/seal_elf.c > @@ -105,7 +105,6 @@ static void test_seal_elf(void) > int ret; > FILE *maps; > char line[512]; > - int size = 0; > uintptr_t addr_start, addr_end; > char prot[5]; > char filename[256]; > @@ -136,7 +135,7 @@ static void test_seal_elf(void) > */ > while (fgets(line, sizeof(line), maps)) { > if (sscanf(line, "%lx-%lx %4s %*x %*x:%*x %*u %255[^\n]", > - &addr_start, &addr_end, &prot, &filename) == 4) { > + &addr_start, &addr_end, (char *)&prot, (char *)&filename) == 4) { aaand same here. -- Pedro