* kernel/bpf/bpf_iter.c:409:14: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
@ 2021-06-26 19:44 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-06-26 19:44 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 5986 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Yonghong Song <yhs@fb.com>
CC: Alexei Starovoitov <ast@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b7050b242430f3170e0b57f5f55136e44cb8dc66
commit: 5e7b30205cef80f6bb922e61834437ca7bff5837 bpf: Change uapi for bpf iterator map elements
date: 11 months ago
:::::: branch date: 18 hours ago
:::::: commit date: 11 months ago
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
cppcheck possible warnings: (new ones prefixed by >>, may not real problems)
>> kernel/bpf/bpf_iter.c:409:14: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
if (!ulinfo ^ !linfo_len)
^
vim +409 kernel/bpf/bpf_iter.c
367ec3e4834cbd61 Yonghong Song 2020-05-09 390
de4e05cac46d206f Yonghong Song 2020-05-09 391 int bpf_iter_link_attach(const union bpf_attr *attr, struct bpf_prog *prog)
de4e05cac46d206f Yonghong Song 2020-05-09 392 {
5e7b30205cef80f6 Yonghong Song 2020-08-04 393 union bpf_iter_link_info __user *ulinfo;
de4e05cac46d206f Yonghong Song 2020-05-09 394 struct bpf_link_primer link_primer;
de4e05cac46d206f Yonghong Song 2020-05-09 395 struct bpf_iter_target_info *tinfo;
5e7b30205cef80f6 Yonghong Song 2020-08-04 396 union bpf_iter_link_info linfo;
de4e05cac46d206f Yonghong Song 2020-05-09 397 struct bpf_iter_link *link;
5e7b30205cef80f6 Yonghong Song 2020-08-04 398 u32 prog_btf_id, linfo_len;
de4e05cac46d206f Yonghong Song 2020-05-09 399 bool existed = false;
de4e05cac46d206f Yonghong Song 2020-05-09 400 int err;
de4e05cac46d206f Yonghong Song 2020-05-09 401
5e7b30205cef80f6 Yonghong Song 2020-08-04 402 if (attr->link_create.target_fd || attr->link_create.flags)
5e7b30205cef80f6 Yonghong Song 2020-08-04 403 return -EINVAL;
5e7b30205cef80f6 Yonghong Song 2020-08-04 404
5e7b30205cef80f6 Yonghong Song 2020-08-04 405 memset(&linfo, 0, sizeof(union bpf_iter_link_info));
5e7b30205cef80f6 Yonghong Song 2020-08-04 406
5e7b30205cef80f6 Yonghong Song 2020-08-04 407 ulinfo = u64_to_user_ptr(attr->link_create.iter_info);
5e7b30205cef80f6 Yonghong Song 2020-08-04 408 linfo_len = attr->link_create.iter_info_len;
5e7b30205cef80f6 Yonghong Song 2020-08-04 @409 if (!ulinfo ^ !linfo_len)
5e7b30205cef80f6 Yonghong Song 2020-08-04 410 return -EINVAL;
5e7b30205cef80f6 Yonghong Song 2020-08-04 411
5e7b30205cef80f6 Yonghong Song 2020-08-04 412 if (ulinfo) {
5e7b30205cef80f6 Yonghong Song 2020-08-04 413 err = bpf_check_uarg_tail_zero(ulinfo, sizeof(linfo),
5e7b30205cef80f6 Yonghong Song 2020-08-04 414 linfo_len);
5e7b30205cef80f6 Yonghong Song 2020-08-04 415 if (err)
5e7b30205cef80f6 Yonghong Song 2020-08-04 416 return err;
5e7b30205cef80f6 Yonghong Song 2020-08-04 417 linfo_len = min_t(u32, linfo_len, sizeof(linfo));
5e7b30205cef80f6 Yonghong Song 2020-08-04 418 if (copy_from_user(&linfo, ulinfo, linfo_len))
5e7b30205cef80f6 Yonghong Song 2020-08-04 419 return -EFAULT;
5e7b30205cef80f6 Yonghong Song 2020-08-04 420 }
5e7b30205cef80f6 Yonghong Song 2020-08-04 421
de4e05cac46d206f Yonghong Song 2020-05-09 422 prog_btf_id = prog->aux->attach_btf_id;
de4e05cac46d206f Yonghong Song 2020-05-09 423 mutex_lock(&targets_mutex);
de4e05cac46d206f Yonghong Song 2020-05-09 424 list_for_each_entry(tinfo, &targets, list) {
de4e05cac46d206f Yonghong Song 2020-05-09 425 if (tinfo->btf_id == prog_btf_id) {
de4e05cac46d206f Yonghong Song 2020-05-09 426 existed = true;
de4e05cac46d206f Yonghong Song 2020-05-09 427 break;
de4e05cac46d206f Yonghong Song 2020-05-09 428 }
de4e05cac46d206f Yonghong Song 2020-05-09 429 }
de4e05cac46d206f Yonghong Song 2020-05-09 430 mutex_unlock(&targets_mutex);
de4e05cac46d206f Yonghong Song 2020-05-09 431 if (!existed)
de4e05cac46d206f Yonghong Song 2020-05-09 432 return -ENOENT;
de4e05cac46d206f Yonghong Song 2020-05-09 433
de4e05cac46d206f Yonghong Song 2020-05-09 434 link = kzalloc(sizeof(*link), GFP_USER | __GFP_NOWARN);
de4e05cac46d206f Yonghong Song 2020-05-09 435 if (!link)
de4e05cac46d206f Yonghong Song 2020-05-09 436 return -ENOMEM;
de4e05cac46d206f Yonghong Song 2020-05-09 437
de4e05cac46d206f Yonghong Song 2020-05-09 438 bpf_link_init(&link->link, BPF_LINK_TYPE_ITER, &bpf_iter_link_lops, prog);
de4e05cac46d206f Yonghong Song 2020-05-09 439 link->tinfo = tinfo;
de4e05cac46d206f Yonghong Song 2020-05-09 440
de4e05cac46d206f Yonghong Song 2020-05-09 441 err = bpf_link_prime(&link->link, &link_primer);
de4e05cac46d206f Yonghong Song 2020-05-09 442 if (err) {
de4e05cac46d206f Yonghong Song 2020-05-09 443 kfree(link);
de4e05cac46d206f Yonghong Song 2020-05-09 444 return err;
de4e05cac46d206f Yonghong Song 2020-05-09 445 }
de4e05cac46d206f Yonghong Song 2020-05-09 446
5e7b30205cef80f6 Yonghong Song 2020-08-04 447 if (tinfo->reg_info->attach_target) {
5e7b30205cef80f6 Yonghong Song 2020-08-04 448 err = tinfo->reg_info->attach_target(prog, &linfo, &link->aux);
a5cbe05a6673b85b Yonghong Song 2020-07-23 449 if (err) {
5e7b30205cef80f6 Yonghong Song 2020-08-04 450 bpf_link_cleanup(&link_primer);
5e7b30205cef80f6 Yonghong Song 2020-08-04 451 return err;
a5cbe05a6673b85b Yonghong Song 2020-07-23 452 }
a5cbe05a6673b85b Yonghong Song 2020-07-23 453 }
a5cbe05a6673b85b Yonghong Song 2020-07-23 454
de4e05cac46d206f Yonghong Song 2020-05-09 455 return bpf_link_settle(&link_primer);
de4e05cac46d206f Yonghong Song 2020-05-09 456 }
ac51d99bf81caac8 Yonghong Song 2020-05-09 457
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 2+ messages in thread
* kernel/bpf/bpf_iter.c:409:14: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
@ 2021-07-27 4:50 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-07-27 4:50 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 5851 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Yonghong Song <yhs@fb.com>
CC: Alexei Starovoitov <ast@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: ff1176468d368232b684f75e82563369208bc371
commit: 5e7b30205cef80f6bb922e61834437ca7bff5837 bpf: Change uapi for bpf iterator map elements
date: 12 months ago
:::::: branch date: 30 hours ago
:::::: commit date: 12 months ago
compiler: powerpc-linux-gcc (GCC) 10.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
cppcheck possible warnings: (new ones prefixed by >>, may not real problems)
>> kernel/bpf/bpf_iter.c:409:14: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
if (!ulinfo ^ !linfo_len)
^
vim +409 kernel/bpf/bpf_iter.c
367ec3e4834cbd Yonghong Song 2020-05-09 390
de4e05cac46d20 Yonghong Song 2020-05-09 391 int bpf_iter_link_attach(const union bpf_attr *attr, struct bpf_prog *prog)
de4e05cac46d20 Yonghong Song 2020-05-09 392 {
5e7b30205cef80 Yonghong Song 2020-08-04 393 union bpf_iter_link_info __user *ulinfo;
de4e05cac46d20 Yonghong Song 2020-05-09 394 struct bpf_link_primer link_primer;
de4e05cac46d20 Yonghong Song 2020-05-09 395 struct bpf_iter_target_info *tinfo;
5e7b30205cef80 Yonghong Song 2020-08-04 396 union bpf_iter_link_info linfo;
de4e05cac46d20 Yonghong Song 2020-05-09 397 struct bpf_iter_link *link;
5e7b30205cef80 Yonghong Song 2020-08-04 398 u32 prog_btf_id, linfo_len;
de4e05cac46d20 Yonghong Song 2020-05-09 399 bool existed = false;
de4e05cac46d20 Yonghong Song 2020-05-09 400 int err;
de4e05cac46d20 Yonghong Song 2020-05-09 401
5e7b30205cef80 Yonghong Song 2020-08-04 402 if (attr->link_create.target_fd || attr->link_create.flags)
5e7b30205cef80 Yonghong Song 2020-08-04 403 return -EINVAL;
5e7b30205cef80 Yonghong Song 2020-08-04 404
5e7b30205cef80 Yonghong Song 2020-08-04 405 memset(&linfo, 0, sizeof(union bpf_iter_link_info));
5e7b30205cef80 Yonghong Song 2020-08-04 406
5e7b30205cef80 Yonghong Song 2020-08-04 407 ulinfo = u64_to_user_ptr(attr->link_create.iter_info);
5e7b30205cef80 Yonghong Song 2020-08-04 408 linfo_len = attr->link_create.iter_info_len;
5e7b30205cef80 Yonghong Song 2020-08-04 @409 if (!ulinfo ^ !linfo_len)
5e7b30205cef80 Yonghong Song 2020-08-04 410 return -EINVAL;
5e7b30205cef80 Yonghong Song 2020-08-04 411
5e7b30205cef80 Yonghong Song 2020-08-04 412 if (ulinfo) {
5e7b30205cef80 Yonghong Song 2020-08-04 413 err = bpf_check_uarg_tail_zero(ulinfo, sizeof(linfo),
5e7b30205cef80 Yonghong Song 2020-08-04 414 linfo_len);
5e7b30205cef80 Yonghong Song 2020-08-04 415 if (err)
5e7b30205cef80 Yonghong Song 2020-08-04 416 return err;
5e7b30205cef80 Yonghong Song 2020-08-04 417 linfo_len = min_t(u32, linfo_len, sizeof(linfo));
5e7b30205cef80 Yonghong Song 2020-08-04 418 if (copy_from_user(&linfo, ulinfo, linfo_len))
5e7b30205cef80 Yonghong Song 2020-08-04 419 return -EFAULT;
5e7b30205cef80 Yonghong Song 2020-08-04 420 }
5e7b30205cef80 Yonghong Song 2020-08-04 421
de4e05cac46d20 Yonghong Song 2020-05-09 422 prog_btf_id = prog->aux->attach_btf_id;
de4e05cac46d20 Yonghong Song 2020-05-09 423 mutex_lock(&targets_mutex);
de4e05cac46d20 Yonghong Song 2020-05-09 424 list_for_each_entry(tinfo, &targets, list) {
de4e05cac46d20 Yonghong Song 2020-05-09 425 if (tinfo->btf_id == prog_btf_id) {
de4e05cac46d20 Yonghong Song 2020-05-09 426 existed = true;
de4e05cac46d20 Yonghong Song 2020-05-09 427 break;
de4e05cac46d20 Yonghong Song 2020-05-09 428 }
de4e05cac46d20 Yonghong Song 2020-05-09 429 }
de4e05cac46d20 Yonghong Song 2020-05-09 430 mutex_unlock(&targets_mutex);
de4e05cac46d20 Yonghong Song 2020-05-09 431 if (!existed)
de4e05cac46d20 Yonghong Song 2020-05-09 432 return -ENOENT;
de4e05cac46d20 Yonghong Song 2020-05-09 433
de4e05cac46d20 Yonghong Song 2020-05-09 434 link = kzalloc(sizeof(*link), GFP_USER | __GFP_NOWARN);
de4e05cac46d20 Yonghong Song 2020-05-09 435 if (!link)
de4e05cac46d20 Yonghong Song 2020-05-09 436 return -ENOMEM;
de4e05cac46d20 Yonghong Song 2020-05-09 437
de4e05cac46d20 Yonghong Song 2020-05-09 438 bpf_link_init(&link->link, BPF_LINK_TYPE_ITER, &bpf_iter_link_lops, prog);
de4e05cac46d20 Yonghong Song 2020-05-09 439 link->tinfo = tinfo;
de4e05cac46d20 Yonghong Song 2020-05-09 440
de4e05cac46d20 Yonghong Song 2020-05-09 441 err = bpf_link_prime(&link->link, &link_primer);
de4e05cac46d20 Yonghong Song 2020-05-09 442 if (err) {
de4e05cac46d20 Yonghong Song 2020-05-09 443 kfree(link);
de4e05cac46d20 Yonghong Song 2020-05-09 444 return err;
de4e05cac46d20 Yonghong Song 2020-05-09 445 }
de4e05cac46d20 Yonghong Song 2020-05-09 446
5e7b30205cef80 Yonghong Song 2020-08-04 447 if (tinfo->reg_info->attach_target) {
5e7b30205cef80 Yonghong Song 2020-08-04 448 err = tinfo->reg_info->attach_target(prog, &linfo, &link->aux);
a5cbe05a6673b8 Yonghong Song 2020-07-23 449 if (err) {
5e7b30205cef80 Yonghong Song 2020-08-04 450 bpf_link_cleanup(&link_primer);
5e7b30205cef80 Yonghong Song 2020-08-04 451 return err;
a5cbe05a6673b8 Yonghong Song 2020-07-23 452 }
a5cbe05a6673b8 Yonghong Song 2020-07-23 453 }
a5cbe05a6673b8 Yonghong Song 2020-07-23 454
de4e05cac46d20 Yonghong Song 2020-05-09 455 return bpf_link_settle(&link_primer);
de4e05cac46d20 Yonghong Song 2020-05-09 456 }
ac51d99bf81caa Yonghong Song 2020-05-09 457
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-07-27 4:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-26 19:44 kernel/bpf/bpf_iter.c:409:14: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition] kernel test robot
2021-07-27 4:50 kernel test robot
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.