All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com
Subject: [linux-next:master 10218/10296] vdso_test_getrandom.c:281:40: warning: | has lower precedence than ==; == will be evaluated first
Date: Sun, 8 Sep 2024 06:09:38 +0800	[thread overview]
Message-ID: <202409080600.YI5mIBVR-lkp@intel.com> (raw)

:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: Linux Memory Management List <linux-mm@kvack.org>
TO: "Jason A. Donenfeld" <zx2c4@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   9aaeb87ce1e966169a57f53a02ba05b30880ffb8
commit: 212857cd099510461127f40ae7dc21092d0c0dd1 [10218/10296] selftests: vDSO: ensure vgetrandom works in a time namespace
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240908/202409080600.YI5mIBVR-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@intel.com>
| Closes: https://lore.kernel.org/r/202409080600.YI5mIBVR-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> vdso_test_getrandom.c:281:40: warning: | has lower precedence than ==; == will be evaluated first [-Wparentheses]
     281 |                 else if (WSTOPSIG(status) == SIGTRAP | 0x80) {
         |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   vdso_test_getrandom.c:281:40: note: place parentheses around the '==' expression to silence this warning
     281 |                 else if (WSTOPSIG(status) == SIGTRAP | 0x80) {
         |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
   vdso_test_getrandom.c:281:40: note: place parentheses around the | expression to evaluate it first
     281 |                 else if (WSTOPSIG(status) == SIGTRAP | 0x80) {
         |                                              ~~~~~~~~^~~~~~
   1 warning generated.


vim +281 tools/testing/selftests/vDSO/vdso_test_getrandom.c

4920a2590e91bc Jason A. Donenfeld 2024-07-07  241  
4920a2590e91bc Jason A. Donenfeld 2024-07-07  242  static void kselftest(void)
4920a2590e91bc Jason A. Donenfeld 2024-07-07  243  {
4920a2590e91bc Jason A. Donenfeld 2024-07-07  244  	uint8_t weird_size[1263];
212857cd099510 Jason A. Donenfeld 2024-09-05  245  	pid_t child;
4920a2590e91bc Jason A. Donenfeld 2024-07-07  246  
4920a2590e91bc Jason A. Donenfeld 2024-07-07  247  	ksft_print_header();
212857cd099510 Jason A. Donenfeld 2024-09-05  248  	ksft_set_plan(2);
4920a2590e91bc Jason A. Donenfeld 2024-07-07  249  
4920a2590e91bc Jason A. Donenfeld 2024-07-07  250  	for (size_t i = 0; i < 1000; ++i) {
4920a2590e91bc Jason A. Donenfeld 2024-07-07  251  		ssize_t ret = vgetrandom(weird_size, sizeof(weird_size), 0);
4920a2590e91bc Jason A. Donenfeld 2024-07-07  252  		if (ret != sizeof(weird_size))
4920a2590e91bc Jason A. Donenfeld 2024-07-07  253  			exit(KSFT_FAIL);
4920a2590e91bc Jason A. Donenfeld 2024-07-07  254  	}
4920a2590e91bc Jason A. Donenfeld 2024-07-07  255  
4920a2590e91bc Jason A. Donenfeld 2024-07-07  256  	ksft_test_result_pass("getrandom: PASS\n");
212857cd099510 Jason A. Donenfeld 2024-09-05  257  
212857cd099510 Jason A. Donenfeld 2024-09-05  258  	assert(unshare(CLONE_NEWUSER | CLONE_NEWTIME) == 0);
212857cd099510 Jason A. Donenfeld 2024-09-05  259  	child = fork();
212857cd099510 Jason A. Donenfeld 2024-09-05  260  	assert(child >= 0);
212857cd099510 Jason A. Donenfeld 2024-09-05  261  	if (!child) {
212857cd099510 Jason A. Donenfeld 2024-09-05  262  		vgetrandom_init();
212857cd099510 Jason A. Donenfeld 2024-09-05  263  		child = getpid();
212857cd099510 Jason A. Donenfeld 2024-09-05  264  		assert(ptrace(PTRACE_TRACEME, 0, NULL, NULL) == 0);
212857cd099510 Jason A. Donenfeld 2024-09-05  265  		assert(kill(child, SIGSTOP) == 0);
212857cd099510 Jason A. Donenfeld 2024-09-05  266  		assert(vgetrandom(weird_size, sizeof(weird_size), 0) == sizeof(weird_size));
212857cd099510 Jason A. Donenfeld 2024-09-05  267  		_exit(0);
212857cd099510 Jason A. Donenfeld 2024-09-05  268  	}
212857cd099510 Jason A. Donenfeld 2024-09-05  269  	for (;;) {
212857cd099510 Jason A. Donenfeld 2024-09-05  270  		struct ptrace_syscall_info info = { 0 };
212857cd099510 Jason A. Donenfeld 2024-09-05  271  		int status, ret;
212857cd099510 Jason A. Donenfeld 2024-09-05  272  		assert(waitpid(child, &status, 0) >= 0);
212857cd099510 Jason A. Donenfeld 2024-09-05  273  		if (WIFEXITED(status)) {
212857cd099510 Jason A. Donenfeld 2024-09-05  274  			if (WEXITSTATUS(status) != 0)
212857cd099510 Jason A. Donenfeld 2024-09-05  275  				exit(KSFT_FAIL);
212857cd099510 Jason A. Donenfeld 2024-09-05  276  			break;
212857cd099510 Jason A. Donenfeld 2024-09-05  277  		}
212857cd099510 Jason A. Donenfeld 2024-09-05  278  		assert(WIFSTOPPED(status));
212857cd099510 Jason A. Donenfeld 2024-09-05  279  		if (WSTOPSIG(status) == SIGSTOP)
212857cd099510 Jason A. Donenfeld 2024-09-05  280  			assert(ptrace(PTRACE_SETOPTIONS, child, 0, PTRACE_O_TRACESYSGOOD) == 0);
212857cd099510 Jason A. Donenfeld 2024-09-05 @281  		else if (WSTOPSIG(status) == SIGTRAP | 0x80) {
212857cd099510 Jason A. Donenfeld 2024-09-05  282  			assert(ptrace(PTRACE_GET_SYSCALL_INFO, child, sizeof(info), &info) > 0);
212857cd099510 Jason A. Donenfeld 2024-09-05  283  			if (info.entry.nr == __NR_getrandom &&
212857cd099510 Jason A. Donenfeld 2024-09-05  284  			    (info.entry.args[0] == (uintptr_t)weird_size && info.entry.args[1] == sizeof(weird_size)))
212857cd099510 Jason A. Donenfeld 2024-09-05  285  				exit(KSFT_FAIL);
212857cd099510 Jason A. Donenfeld 2024-09-05  286  		}
212857cd099510 Jason A. Donenfeld 2024-09-05  287  		assert(ptrace(PTRACE_SYSCALL, child, 0, 0) == 0);
212857cd099510 Jason A. Donenfeld 2024-09-05  288  	}
212857cd099510 Jason A. Donenfeld 2024-09-05  289  
212857cd099510 Jason A. Donenfeld 2024-09-05  290  	ksft_test_result_pass("getrandom timens: PASS\n");
212857cd099510 Jason A. Donenfeld 2024-09-05  291  
4920a2590e91bc Jason A. Donenfeld 2024-07-07  292  	exit(KSFT_PASS);
4920a2590e91bc Jason A. Donenfeld 2024-07-07  293  }
4920a2590e91bc Jason A. Donenfeld 2024-07-07  294  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2024-09-07 22:10 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-07 22:09 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-08  2:20 [linux-next:master 10218/10296] vdso_test_getrandom.c:281:40: warning: | has lower precedence than ==; == will be evaluated first kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202409080600.YI5mIBVR-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=oe-kbuild@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.