Subject: linux-next: build failure after merge of the kspp tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 5 Mar 2024 14:50:18 +1100

Hi all,

After merging the kspp tree, today's linux-next build (x86_64
allmodconfig) failed like this:

In file included from lib/string_kunit.c:8:
lib/string_kunit.c: In function 'test_strspn':
lib/string_kunit.c:176:25: error: format '%d' expects argument of type 'int', but argument 7 has type 'size_t' {aka 'long unsigned int'} [-Werror=format=]
  176 |                         "i:%d", i);
      |                         ^~~~~~  ~
      |                                 |
      |                                 size_t {aka long unsigned int}
include/kunit/test.h:597:37: note: in definition of macro '_KUNIT_FAILED'
  597 |                                     fmt,                                       \
      |                                     ^~~
include/kunit/test.h:722:9: note: in expansion of macro 'KUNIT_BASE_BINARY_ASSERTION'
  722 |         KUNIT_BASE_BINARY_ASSERTION(test,                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/kunit/test.h:1253:9: note: in expansion of macro 'KUNIT_BINARY_INT_ASSERTION'
 1253 |         KUNIT_BINARY_INT_ASSERTION(test,                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
lib/string_kunit.c:175:17: note: in expansion of macro 'KUNIT_ASSERT_EQ_MSG'
  175 |                 KUNIT_ASSERT_EQ_MSG(test, s->a, strspn(s->str, s->accept),
      |                 ^~~~~~~~~~~~~~~~~~~
lib/string_kunit.c:176:29: note: format string is defined here
  176 |                         "i:%d", i);
      |                            ~^
      |                             |
      |                             int
      |                            %ld
lib/string_kunit.c:178:25: error: format '%d' expects argument of type 'int', but argument 7 has type 'size_t' {aka 'long unsigned int'} [-Werror=format=]
  178 |                         "i:%d", i);
      |                         ^~~~~~  ~
      |                                 |
      |                                 size_t {aka long unsigned int}
include/kunit/test.h:597:37: note: in definition of macro '_KUNIT_FAILED'
  597 |                                     fmt,                                       \
      |                                     ^~~
include/kunit/test.h:722:9: note: in expansion of macro 'KUNIT_BASE_BINARY_ASSERTION'
  722 |         KUNIT_BASE_BINARY_ASSERTION(test,                                      \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/kunit/test.h:1253:9: note: in expansion of macro 'KUNIT_BINARY_INT_ASSERTION'
 1253 |         KUNIT_BINARY_INT_ASSERTION(test,                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
lib/string_kunit.c:177:17: note: in expansion of macro 'KUNIT_ASSERT_EQ_MSG'
  177 |                 KUNIT_ASSERT_EQ_MSG(test, s->r, strcspn(s->str, s->reject),
      |                 ^~~~~~~~~~~~~~~~~~~
lib/string_kunit.c:178:29: note: format string is defined here
  178 |                         "i:%d", i);
      |                            ~^
      |                             |
      |                             int
      |                            %ld
cc1: all warnings being treated as errors

Caused by commit

  578914ebade8 ("string: Convert selftest to KUnit")

I have used the kspp tree from next-20240304 for today.

-- 
Cheers,
Stephen Rothwell