All of lore.kernel.org
 help / color / mirror / Atom feed
* kernel/bpf/btf.c:5588:13: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
@ 2021-09-20  1:04 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-09-20  1:04 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 8144 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Andrii Nakryiko <andrii@kernel.org>
CC: Alexei Starovoitov <ast@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   20621d2f27a0163b81dc2b74fd4c0b3e6aa5fa12
commit: 5329722057d41aebc31e391907a501feaa42f7d9 bpf: Assign ID to vmlinux BTF and return extra info for BTF in GET_OBJ_INFO
date:   10 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 10 months ago
compiler: nios2-linux-gcc (GCC) 11.2.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/core.c:1379:0: warning: Syntax Error: AST broken, binary operator '=' doesn't have two operands. [internalAstError]
   
   ^
>> kernel/bpf/syscall.c:2768:12: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
    if (!ulen ^ !ubuf)
              ^
>> kernel/bpf/btf.c:5588:13: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
    if (!uname ^ !uname_len)
               ^
   kernel/bpf/btf.c:4522:38: warning: Either the condition 't?btf_type_vlen(t):5' is redundant or there is pointer arithmetic with NULL pointer. [nullPointerArithmeticRedundantCheck]
    args = (const struct btf_param *)(t + 1);
                                        ^
   kernel/bpf/btf.c:4524:14: note: Assuming that condition 't?btf_type_vlen(t):5' is not redundant
    nr_args = t ? btf_type_vlen(t) : 5;
                ^
   kernel/bpf/btf.c:4522:38: note: Null pointer addition
    args = (const struct btf_param *)(t + 1);
                                        ^
   kernel/bpf/btf.c:4373:9: warning: Local variable btf_id shadows outer function [shadowFunction]
    int i, btf_id;
           ^
   kernel/bpf/btf.c:5638:5: note: Shadowed declaration
   u32 btf_id(const struct btf *btf)
       ^
   kernel/bpf/btf.c:4373:9: note: Shadow variable
    int i, btf_id;
           ^
   kernel/bpf/btf.c:5175:6: warning: Local variable btf_id shadows outer function [shadowFunction]
    u32 btf_id = 0;
        ^
   kernel/bpf/btf.c:5638:5: note: Shadowed declaration
   u32 btf_id(const struct btf *btf)
       ^
   kernel/bpf/btf.c:5175:6: note: Shadow variable
    u32 btf_id = 0;
        ^
   kernel/bpf/btf.c:5208:16: warning: Local variable btf_id shadows outer function [shadowFunction]
    u32 i, nargs, btf_id;
                  ^
   kernel/bpf/btf.c:5638:5: note: Shadowed declaration
   u32 btf_id(const struct btf *btf)
       ^
   kernel/bpf/btf.c:5208:16: note: Shadow variable
    u32 i, nargs, btf_id;
                  ^
   kernel/bpf/btf.c:5306:16: warning: Local variable btf_id shadows outer function [shadowFunction]
    u32 i, nargs, btf_id;
                  ^
   kernel/bpf/btf.c:5638:5: note: Shadowed declaration
   u32 btf_id(const struct btf *btf)
       ^
   kernel/bpf/btf.c:5306:16: note: Shadow variable
    u32 i, nargs, btf_id;
                  ^
>> kernel/bpf/btf.c:4277:5: warning: union member 'Anonymous2::__t' is never used. [unusedStructMember]
    } *__t;
       ^

vim +5588 kernel/bpf/btf.c

60197cfb6e11ff Martin KaFai Lau   2018-04-18  5556  
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5557  int btf_get_info_by_fd(const struct btf *btf,
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5558  		       const union bpf_attr *attr,
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5559  		       union bpf_attr __user *uattr)
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5560  {
62dab84c81a487 Martin KaFai Lau   2018-05-04  5561  	struct bpf_btf_info __user *uinfo;
5c6f25887963f1 Greg Kroah-Hartman 2020-03-20  5562  	struct bpf_btf_info info;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5563  	u32 info_copy, btf_copy;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5564  	void __user *ubtf;
5329722057d41a Andrii Nakryiko    2020-11-09  5565  	char __user *uname;
5329722057d41a Andrii Nakryiko    2020-11-09  5566  	u32 uinfo_len, uname_len, name_len;
5329722057d41a Andrii Nakryiko    2020-11-09  5567  	int ret = 0;
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5568  
62dab84c81a487 Martin KaFai Lau   2018-05-04  5569  	uinfo = u64_to_user_ptr(attr->info.info);
62dab84c81a487 Martin KaFai Lau   2018-05-04  5570  	uinfo_len = attr->info.info_len;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5571  
62dab84c81a487 Martin KaFai Lau   2018-05-04  5572  	info_copy = min_t(u32, uinfo_len, sizeof(info));
5c6f25887963f1 Greg Kroah-Hartman 2020-03-20  5573  	memset(&info, 0, sizeof(info));
62dab84c81a487 Martin KaFai Lau   2018-05-04  5574  	if (copy_from_user(&info, uinfo, info_copy))
62dab84c81a487 Martin KaFai Lau   2018-05-04  5575  		return -EFAULT;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5576  
62dab84c81a487 Martin KaFai Lau   2018-05-04  5577  	info.id = btf->id;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5578  	ubtf = u64_to_user_ptr(info.btf);
62dab84c81a487 Martin KaFai Lau   2018-05-04  5579  	btf_copy = min_t(u32, btf->data_size, info.btf_size);
62dab84c81a487 Martin KaFai Lau   2018-05-04  5580  	if (copy_to_user(ubtf, btf->data, btf_copy))
62dab84c81a487 Martin KaFai Lau   2018-05-04  5581  		return -EFAULT;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5582  	info.btf_size = btf->data_size;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5583  
5329722057d41a Andrii Nakryiko    2020-11-09  5584  	info.kernel_btf = btf->kernel_btf;
5329722057d41a Andrii Nakryiko    2020-11-09  5585  
5329722057d41a Andrii Nakryiko    2020-11-09  5586  	uname = u64_to_user_ptr(info.name);
5329722057d41a Andrii Nakryiko    2020-11-09  5587  	uname_len = info.name_len;
5329722057d41a Andrii Nakryiko    2020-11-09 @5588  	if (!uname ^ !uname_len)
5329722057d41a Andrii Nakryiko    2020-11-09  5589  		return -EINVAL;
5329722057d41a Andrii Nakryiko    2020-11-09  5590  
5329722057d41a Andrii Nakryiko    2020-11-09  5591  	name_len = strlen(btf->name);
5329722057d41a Andrii Nakryiko    2020-11-09  5592  	info.name_len = name_len;
5329722057d41a Andrii Nakryiko    2020-11-09  5593  
5329722057d41a Andrii Nakryiko    2020-11-09  5594  	if (uname) {
5329722057d41a Andrii Nakryiko    2020-11-09  5595  		if (uname_len >= name_len + 1) {
5329722057d41a Andrii Nakryiko    2020-11-09  5596  			if (copy_to_user(uname, btf->name, name_len + 1))
5329722057d41a Andrii Nakryiko    2020-11-09  5597  				return -EFAULT;
5329722057d41a Andrii Nakryiko    2020-11-09  5598  		} else {
5329722057d41a Andrii Nakryiko    2020-11-09  5599  			char zero = '\0';
5329722057d41a Andrii Nakryiko    2020-11-09  5600  
5329722057d41a Andrii Nakryiko    2020-11-09  5601  			if (copy_to_user(uname, btf->name, uname_len - 1))
5329722057d41a Andrii Nakryiko    2020-11-09  5602  				return -EFAULT;
5329722057d41a Andrii Nakryiko    2020-11-09  5603  			if (put_user(zero, uname + uname_len - 1))
5329722057d41a Andrii Nakryiko    2020-11-09  5604  				return -EFAULT;
5329722057d41a Andrii Nakryiko    2020-11-09  5605  			/* let user-space know about too short buffer */
5329722057d41a Andrii Nakryiko    2020-11-09  5606  			ret = -ENOSPC;
5329722057d41a Andrii Nakryiko    2020-11-09  5607  		}
5329722057d41a Andrii Nakryiko    2020-11-09  5608  	}
5329722057d41a Andrii Nakryiko    2020-11-09  5609  
62dab84c81a487 Martin KaFai Lau   2018-05-04  5610  	if (copy_to_user(uinfo, &info, info_copy) ||
62dab84c81a487 Martin KaFai Lau   2018-05-04  5611  	    put_user(info_copy, &uattr->info.info_len))
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5612  		return -EFAULT;
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5613  
5329722057d41a Andrii Nakryiko    2020-11-09  5614  	return ret;
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5615  }
78958fca7ead2f Martin KaFai Lau   2018-05-04  5616  

---
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/btf.c:5588:13: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
@ 2021-08-28  0:21 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-08-28  0:21 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 7816 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Andrii Nakryiko <andrii@kernel.org>
CC: Alexei Starovoitov <ast@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   8f9d0349841a2871624bb1e85309e03e9867c16e
commit: 5329722057d41aebc31e391907a501feaa42f7d9 bpf: Assign ID to vmlinux BTF and return extra info for BTF in GET_OBJ_INFO
date:   10 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 10 months ago
compiler: s390-linux-gcc (GCC) 11.2.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/btf.c:5588:13: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
    if (!uname ^ !uname_len)
               ^
   kernel/bpf/btf.c:4522:38: warning: Either the condition 't?btf_type_vlen(t):5' is redundant or there is pointer arithmetic with NULL pointer. [nullPointerArithmeticRedundantCheck]
    args = (const struct btf_param *)(t + 1);
                                        ^
   kernel/bpf/btf.c:4524:14: note: Assuming that condition 't?btf_type_vlen(t):5' is not redundant
    nr_args = t ? btf_type_vlen(t) : 5;
                ^
   kernel/bpf/btf.c:4522:38: note: Null pointer addition
    args = (const struct btf_param *)(t + 1);
                                        ^
   kernel/bpf/btf.c:4373:9: warning: Local variable btf_id shadows outer function [shadowFunction]
    int i, btf_id;
           ^
   kernel/bpf/btf.c:5638:5: note: Shadowed declaration
   u32 btf_id(const struct btf *btf)
       ^
   kernel/bpf/btf.c:4373:9: note: Shadow variable
    int i, btf_id;
           ^
   kernel/bpf/btf.c:5175:6: warning: Local variable btf_id shadows outer function [shadowFunction]
    u32 btf_id = 0;
        ^
   kernel/bpf/btf.c:5638:5: note: Shadowed declaration
   u32 btf_id(const struct btf *btf)
       ^
   kernel/bpf/btf.c:5175:6: note: Shadow variable
    u32 btf_id = 0;
        ^
   kernel/bpf/btf.c:5208:16: warning: Local variable btf_id shadows outer function [shadowFunction]
    u32 i, nargs, btf_id;
                  ^
   kernel/bpf/btf.c:5638:5: note: Shadowed declaration
   u32 btf_id(const struct btf *btf)
       ^
   kernel/bpf/btf.c:5208:16: note: Shadow variable
    u32 i, nargs, btf_id;
                  ^
   kernel/bpf/btf.c:5306:16: warning: Local variable btf_id shadows outer function [shadowFunction]
    u32 i, nargs, btf_id;
                  ^
   kernel/bpf/btf.c:5638:5: note: Shadowed declaration
   u32 btf_id(const struct btf *btf)
       ^
   kernel/bpf/btf.c:5306:16: note: Shadow variable
    u32 i, nargs, btf_id;
                  ^
>> kernel/bpf/btf.c:4277:5: warning: union member 'Anonymous2::__t' is never used. [unusedStructMember]
    } *__t;
       ^

vim +5588 kernel/bpf/btf.c

60197cfb6e11ff Martin KaFai Lau   2018-04-18  5556  
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5557  int btf_get_info_by_fd(const struct btf *btf,
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5558  		       const union bpf_attr *attr,
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5559  		       union bpf_attr __user *uattr)
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5560  {
62dab84c81a487 Martin KaFai Lau   2018-05-04  5561  	struct bpf_btf_info __user *uinfo;
5c6f25887963f1 Greg Kroah-Hartman 2020-03-20  5562  	struct bpf_btf_info info;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5563  	u32 info_copy, btf_copy;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5564  	void __user *ubtf;
5329722057d41a Andrii Nakryiko    2020-11-09  5565  	char __user *uname;
5329722057d41a Andrii Nakryiko    2020-11-09  5566  	u32 uinfo_len, uname_len, name_len;
5329722057d41a Andrii Nakryiko    2020-11-09  5567  	int ret = 0;
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5568  
62dab84c81a487 Martin KaFai Lau   2018-05-04  5569  	uinfo = u64_to_user_ptr(attr->info.info);
62dab84c81a487 Martin KaFai Lau   2018-05-04  5570  	uinfo_len = attr->info.info_len;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5571  
62dab84c81a487 Martin KaFai Lau   2018-05-04  5572  	info_copy = min_t(u32, uinfo_len, sizeof(info));
5c6f25887963f1 Greg Kroah-Hartman 2020-03-20  5573  	memset(&info, 0, sizeof(info));
62dab84c81a487 Martin KaFai Lau   2018-05-04  5574  	if (copy_from_user(&info, uinfo, info_copy))
62dab84c81a487 Martin KaFai Lau   2018-05-04  5575  		return -EFAULT;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5576  
62dab84c81a487 Martin KaFai Lau   2018-05-04  5577  	info.id = btf->id;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5578  	ubtf = u64_to_user_ptr(info.btf);
62dab84c81a487 Martin KaFai Lau   2018-05-04  5579  	btf_copy = min_t(u32, btf->data_size, info.btf_size);
62dab84c81a487 Martin KaFai Lau   2018-05-04  5580  	if (copy_to_user(ubtf, btf->data, btf_copy))
62dab84c81a487 Martin KaFai Lau   2018-05-04  5581  		return -EFAULT;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5582  	info.btf_size = btf->data_size;
62dab84c81a487 Martin KaFai Lau   2018-05-04  5583  
5329722057d41a Andrii Nakryiko    2020-11-09  5584  	info.kernel_btf = btf->kernel_btf;
5329722057d41a Andrii Nakryiko    2020-11-09  5585  
5329722057d41a Andrii Nakryiko    2020-11-09  5586  	uname = u64_to_user_ptr(info.name);
5329722057d41a Andrii Nakryiko    2020-11-09  5587  	uname_len = info.name_len;
5329722057d41a Andrii Nakryiko    2020-11-09 @5588  	if (!uname ^ !uname_len)
5329722057d41a Andrii Nakryiko    2020-11-09  5589  		return -EINVAL;
5329722057d41a Andrii Nakryiko    2020-11-09  5590  
5329722057d41a Andrii Nakryiko    2020-11-09  5591  	name_len = strlen(btf->name);
5329722057d41a Andrii Nakryiko    2020-11-09  5592  	info.name_len = name_len;
5329722057d41a Andrii Nakryiko    2020-11-09  5593  
5329722057d41a Andrii Nakryiko    2020-11-09  5594  	if (uname) {
5329722057d41a Andrii Nakryiko    2020-11-09  5595  		if (uname_len >= name_len + 1) {
5329722057d41a Andrii Nakryiko    2020-11-09  5596  			if (copy_to_user(uname, btf->name, name_len + 1))
5329722057d41a Andrii Nakryiko    2020-11-09  5597  				return -EFAULT;
5329722057d41a Andrii Nakryiko    2020-11-09  5598  		} else {
5329722057d41a Andrii Nakryiko    2020-11-09  5599  			char zero = '\0';
5329722057d41a Andrii Nakryiko    2020-11-09  5600  
5329722057d41a Andrii Nakryiko    2020-11-09  5601  			if (copy_to_user(uname, btf->name, uname_len - 1))
5329722057d41a Andrii Nakryiko    2020-11-09  5602  				return -EFAULT;
5329722057d41a Andrii Nakryiko    2020-11-09  5603  			if (put_user(zero, uname + uname_len - 1))
5329722057d41a Andrii Nakryiko    2020-11-09  5604  				return -EFAULT;
5329722057d41a Andrii Nakryiko    2020-11-09  5605  			/* let user-space know about too short buffer */
5329722057d41a Andrii Nakryiko    2020-11-09  5606  			ret = -ENOSPC;
5329722057d41a Andrii Nakryiko    2020-11-09  5607  		}
5329722057d41a Andrii Nakryiko    2020-11-09  5608  	}
5329722057d41a Andrii Nakryiko    2020-11-09  5609  
62dab84c81a487 Martin KaFai Lau   2018-05-04  5610  	if (copy_to_user(uinfo, &info, info_copy) ||
62dab84c81a487 Martin KaFai Lau   2018-05-04  5611  	    put_user(info_copy, &uattr->info.info_len))
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5612  		return -EFAULT;
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5613  
5329722057d41a Andrii Nakryiko    2020-11-09  5614  	return ret;
60197cfb6e11ff Martin KaFai Lau   2018-04-18  5615  }
78958fca7ead2f Martin KaFai Lau   2018-05-04  5616  

---
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-09-20  1:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-20  1:04 kernel/bpf/btf.c:5588:13: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition] kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2021-08-28  0:21 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.