[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202602052333.1Bhrssu1-lkp@intel.com>
Date: Thu, 5 Feb 2026 23:29:20 +0100
From: kernel test robot <lkp@...el.com>
To: Yuwen Chen <ywen.chen@...mail.com>, tglx@...nel.org
Cc: oe-kbuild-all@...ts.linux.dev, ywen.chen@...mail.com,
akpm@...ux-foundation.org, andrealmeid@...lia.com,
bigeasy@...utronix.de, colin.i.king@...il.com, dave@...olabs.net,
dvhart@...radead.org, edliaw@...gle.com, justinstitt@...gle.com,
kernel-team@...roid.com, licayy@...mail.com,
linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org,
luto@....edu, mingo@...hat.com, morbo@...gle.com, nathan@...nel.org,
ndesaulniers@...gle.com, peterz@...radead.org, shuah@...nel.org,
usama.anjum@...labora.com, wakel@...gle.com
Subject: Re: [PATCH] selftests/futex: fix incorrect result reporting of
futex_wait test item
Hi Yuwen,
kernel test robot noticed the following build warnings:
[auto build test WARNING on tip/locking/core]
[also build test WARNING on linus/master v6.19-rc8 next-20260205]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Yuwen-Chen/selftests-futex-fix-incorrect-result-reporting-of-futex_wait-test-item/20260205-110734
base: tip/locking/core
patch link: https://lore.kernel.org/r/tencent_7D6D776D157570FF8C9FB9DE9D9FE5257C0A%40qq.com
patch subject: [PATCH] selftests/futex: fix incorrect result reporting of futex_wait test item
config: powerpc64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20260205/202602052333.1Bhrssu1-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project f43d6834093b19baf79beda8c0337ab020ac5f17)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260205/202602052333.1Bhrssu1-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602052333.1Bhrssu1-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from futex_wait.c:8:
/usr/include/pthread.h:698:6: error: 'regparm' is not valid on this platform
698 | __cleanup_fct_attribute;
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/bits/pthreadtypes-arch.h:52:50: note: expanded from macro '__cleanup_fct_attribute'
52 | # define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
| ^ ~
In file included from futex_wait.c:8:
/usr/include/pthread.h:710:3: error: 'regparm' is not valid on this platform
710 | __cleanup_fct_attribute;
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/bits/pthreadtypes-arch.h:52:50: note: expanded from macro '__cleanup_fct_attribute'
52 | # define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
| ^ ~
In file included from futex_wait.c:8:
/usr/include/pthread.h:733:6: error: 'regparm' is not valid on this platform
733 | __cleanup_fct_attribute;
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/bits/pthreadtypes-arch.h:52:50: note: expanded from macro '__cleanup_fct_attribute'
52 | # define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
| ^ ~
In file included from futex_wait.c:8:
/usr/include/pthread.h:746:3: error: 'regparm' is not valid on this platform
746 | __cleanup_fct_attribute;
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/bits/pthreadtypes-arch.h:52:50: note: expanded from macro '__cleanup_fct_attribute'
52 | # define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
| ^ ~
In file included from futex_wait.c:8:
/usr/include/pthread.h:751:6: error: 'regparm' is not valid on this platform
751 | __cleanup_fct_attribute __attribute__ ((__noreturn__))
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/bits/pthreadtypes-arch.h:52:50: note: expanded from macro '__cleanup_fct_attribute'
52 | # define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
| ^ ~
In file included from futex_wait.c:14:
In file included from ../../kselftest_harness.h:63:
In file included from /usr/include/stdio.h:437:
/usr/include/bits/floatn.h:97:9: error: __float128 is not supported on this target
97 | typedef __float128 _Float128;
| ^
>> futex_wait.c:48:2: warning: format specifies type 'uintmax_t' (aka 'unsigned long') but the argument has type 'uintmax_t' (aka 'unsigned long long') [-Wformat]
48 | ASSERT_EQ(0, pthread_create(&waiter, NULL, waiterfn, (void *) &flags));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:513:2: note: expanded from macro 'ASSERT_EQ'
513 | __EXPECT(expected, #expected, seen, #seen, ==, 1)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:767:21: note: expanded from macro '__EXPECT'
766 | __TH_LOG("Expected %s (%ju) %s %s (%ju)", \
| ~~~
767 | _expected_str, __exp_print, #_t, \
| ^~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
>> futex_wait.c:48:2: warning: format specifies type 'uintmax_t' (aka 'unsigned long') but the argument has type 'uintmax_t' (aka 'unsigned long long') [-Wformat]
48 | ASSERT_EQ(0, pthread_create(&waiter, NULL, waiterfn, (void *) &flags));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:513:2: note: expanded from macro 'ASSERT_EQ'
513 | __EXPECT(expected, #expected, seen, #seen, ==, 1)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:768:17: note: expanded from macro '__EXPECT'
766 | __TH_LOG("Expected %s (%ju) %s %s (%ju)", \
| ~~~
767 | _expected_str, __exp_print, #_t, \
768 | _seen_str, __seen_print); \
| ^~~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
>> futex_wait.c:48:2: warning: format specifies type 'uintmax_t' (aka 'unsigned long') but the argument has type 'uintmax_t' (aka 'unsigned long long') [-Wformat]
48 | ASSERT_EQ(0, pthread_create(&waiter, NULL, waiterfn, (void *) &flags));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:513:2: note: expanded from macro 'ASSERT_EQ'
513 | __EXPECT(expected, #expected, seen, #seen, ==, 1)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:775:21: note: expanded from macro '__EXPECT'
774 | __TH_LOG("Expected %s (%ju) %s %s (%jd)", \
| ~~~
775 | _expected_str, __exp_print, #_t, \
| ^~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
>> futex_wait.c:48:2: warning: format specifies type 'intmax_t' (aka 'long') but the argument has type 'intmax_t' (aka 'long long') [-Wformat]
48 | ASSERT_EQ(0, pthread_create(&waiter, NULL, waiterfn, (void *) &flags));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:513:2: note: expanded from macro 'ASSERT_EQ'
513 | __EXPECT(expected, #expected, seen, #seen, ==, 1)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:776:17: note: expanded from macro '__EXPECT'
774 | __TH_LOG("Expected %s (%ju) %s %s (%jd)", \
| ~~~
775 | _expected_str, __exp_print, #_t, \
776 | _seen_str, __seen_print); \
| ^~~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
>> futex_wait.c:48:2: warning: format specifies type 'intmax_t' (aka 'long') but the argument has type 'intmax_t' (aka 'long long') [-Wformat]
48 | ASSERT_EQ(0, pthread_create(&waiter, NULL, waiterfn, (void *) &flags));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:513:2: note: expanded from macro 'ASSERT_EQ'
513 | __EXPECT(expected, #expected, seen, #seen, ==, 1)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:783:21: note: expanded from macro '__EXPECT'
782 | __TH_LOG("Expected %s (%jd) %s %s (%ju)", \
| ~~~
783 | _expected_str, __exp_print, #_t, \
| ^~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
>> futex_wait.c:48:2: warning: format specifies type 'uintmax_t' (aka 'unsigned long') but the argument has type 'uintmax_t' (aka 'unsigned long long') [-Wformat]
48 | ASSERT_EQ(0, pthread_create(&waiter, NULL, waiterfn, (void *) &flags));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:513:2: note: expanded from macro 'ASSERT_EQ'
513 | __EXPECT(expected, #expected, seen, #seen, ==, 1)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:784:17: note: expanded from macro '__EXPECT'
782 | __TH_LOG("Expected %s (%jd) %s %s (%ju)", \
| ~~~
783 | _expected_str, __exp_print, #_t, \
784 | _seen_str, __seen_print); \
| ^~~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
>> futex_wait.c:48:2: warning: format specifies type 'intmax_t' (aka 'long') but the argument has type 'intmax_t' (aka 'long long') [-Wformat]
48 | ASSERT_EQ(0, pthread_create(&waiter, NULL, waiterfn, (void *) &flags));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:513:2: note: expanded from macro 'ASSERT_EQ'
513 | __EXPECT(expected, #expected, seen, #seen, ==, 1)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:791:21: note: expanded from macro '__EXPECT'
790 | __TH_LOG("Expected %s (%jd) %s %s (%jd)", \
| ~~~
791 | _expected_str, __exp_print, #_t, \
| ^~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
>> futex_wait.c:48:2: warning: format specifies type 'intmax_t' (aka 'long') but the argument has type 'intmax_t' (aka 'long long') [-Wformat]
48 | ASSERT_EQ(0, pthread_create(&waiter, NULL, waiterfn, (void *) &flags));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:513:2: note: expanded from macro 'ASSERT_EQ'
513 | __EXPECT(expected, #expected, seen, #seen, ==, 1)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:792:17: note: expanded from macro '__EXPECT'
790 | __TH_LOG("Expected %s (%jd) %s %s (%jd)", \
| ~~~
791 | _expected_str, __exp_print, #_t, \
792 | _seen_str, __seen_print); \
| ^~~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
futex_wait.c:52:2: warning: format specifies type 'uintmax_t' (aka 'unsigned long') but the argument has type 'uintmax_t' (aka 'unsigned long long') [-Wformat]
52 | EXPECT_EQ(1, futex_wake(futex, 1, FUTEX_PRIVATE_FLAG));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:631:2: note: expanded from macro 'EXPECT_EQ'
631 | __EXPECT(expected, #expected, seen, #seen, ==, 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:767:21: note: expanded from macro '__EXPECT'
766 | __TH_LOG("Expected %s (%ju) %s %s (%ju)", \
| ~~~
767 | _expected_str, __exp_print, #_t, \
| ^~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
futex_wait.c:52:2: warning: format specifies type 'uintmax_t' (aka 'unsigned long') but the argument has type 'uintmax_t' (aka 'unsigned long long') [-Wformat]
52 | EXPECT_EQ(1, futex_wake(futex, 1, FUTEX_PRIVATE_FLAG));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:631:2: note: expanded from macro 'EXPECT_EQ'
631 | __EXPECT(expected, #expected, seen, #seen, ==, 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:768:17: note: expanded from macro '__EXPECT'
766 | __TH_LOG("Expected %s (%ju) %s %s (%ju)", \
| ~~~
767 | _expected_str, __exp_print, #_t, \
768 | _seen_str, __seen_print); \
| ^~~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
futex_wait.c:52:2: warning: format specifies type 'uintmax_t' (aka 'unsigned long') but the argument has type 'uintmax_t' (aka 'unsigned long long') [-Wformat]
52 | EXPECT_EQ(1, futex_wake(futex, 1, FUTEX_PRIVATE_FLAG));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:631:2: note: expanded from macro 'EXPECT_EQ'
631 | __EXPECT(expected, #expected, seen, #seen, ==, 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:775:21: note: expanded from macro '__EXPECT'
774 | __TH_LOG("Expected %s (%ju) %s %s (%jd)", \
| ~~~
775 | _expected_str, __exp_print, #_t, \
| ^~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
futex_wait.c:52:2: warning: format specifies type 'intmax_t' (aka 'long') but the argument has type 'intmax_t' (aka 'long long') [-Wformat]
52 | EXPECT_EQ(1, futex_wake(futex, 1, FUTEX_PRIVATE_FLAG));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:631:2: note: expanded from macro 'EXPECT_EQ'
631 | __EXPECT(expected, #expected, seen, #seen, ==, 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:776:17: note: expanded from macro '__EXPECT'
774 | __TH_LOG("Expected %s (%ju) %s %s (%jd)", \
| ~~~
775 | _expected_str, __exp_print, #_t, \
776 | _seen_str, __seen_print); \
| ^~~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
futex_wait.c:52:2: warning: format specifies type 'intmax_t' (aka 'long') but the argument has type 'intmax_t' (aka 'long long') [-Wformat]
52 | EXPECT_EQ(1, futex_wake(futex, 1, FUTEX_PRIVATE_FLAG));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:631:2: note: expanded from macro 'EXPECT_EQ'
631 | __EXPECT(expected, #expected, seen, #seen, ==, 0)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../kselftest_harness.h:783:21: note: expanded from macro '__EXPECT'
782 | __TH_LOG("Expected %s (%jd) %s %s (%ju)", \
| ~~~
783 | _expected_str, __exp_print, #_t, \
| ^~~~~~~~~~~
../../kselftest_harness.h:108:43: note: expanded from macro '__TH_LOG'
107 | fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
| ~~~
108 | __FILE__, __LINE__, _metadata->name, ##__VA_ARGS__)
| ^~~~~~~~~~~
futex_wait.c:52:2: warning: format specifies type 'uintmax_t' (aka 'unsigned long') but the argument has type 'uintmax_t' (aka 'unsigned long long') [-Wformat]
52 | EXPECT_EQ(1, futex_wake(futex, 1, FUTEX_PRIVATE_FLAG));
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists