linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Jason A. Donenfeld" <zx2c4@kernel.org>
Cc: <oe-kbuild-all@lists.linux.dev>,
	Linux Memory Management List <linux-mm@kvack.org>
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 10:20:29 +0800	[thread overview]
Message-ID: <Zt0J7YN9Asclh2Yw@rli9-mobl> (raw)

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-08  2:20 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=Zt0J7YN9Asclh2Yw@rli9-mobl \
    --to=lkp@intel.com \
    --cc=linux-mm@kvack.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=zx2c4@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox