Re: [PATCH 03/13] pinctrl: rockchip: make driver be tristate module
by kernel test robot
Hi Jianqun,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on rockchip/for-next]
[also build test ERROR on pinctrl/devel v5.8-rc5 next-20200717]
[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]
url: https://github.com/0day-ci/linux/commits/Jianqun-Xu/pinctrl-rockchip-prep...
base: https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
config: alpha-randconfig-r014-20200719 (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/pinctrl/pinctrl-rockchip.c: In function 'rockchip_pinctrl_parse_groups':
>> drivers/pinctrl/pinctrl-rockchip.c:2879:9: error: implicit declaration of function 'pinconf_generic_parse_dt_config'; did you mean 'pinconf_generic_dump_config'? [-Werror=implicit-function-declaration]
2879 | ret = pinconf_generic_parse_dt_config(np_config, NULL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| pinconf_generic_dump_config
drivers/pinctrl/pinctrl-rockchip.c: In function 'rockchip_gpiolib_register':
>> drivers/pinctrl/pinctrl-rockchip.c:3471:5: error: 'struct gpio_chip' has no member named 'of_node'
3471 | gc->of_node = bank->of_node;
| ^~
drivers/pinctrl/pinctrl-rockchip.c: In function 'rockchip_pinctrl_get_soc_data':
drivers/pinctrl/pinctrl-rockchip.c:3575:8: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
3575 | const const struct rockchip_pin_ctrl *ctrl;
| ^~~~~
drivers/pinctrl/pinctrl-rockchip.c: In function 'rockchip_pinctrl_probe':
drivers/pinctrl/pinctrl-rockchip.c:3753:8: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
3753 | const const struct rockchip_pin_ctrl *ctrl;
| ^~~~~
At top level:
drivers/pinctrl/pinctrl-rockchip.c:2802:34: warning: 'rockchip_bank_match' defined but not used [-Wunused-const-variable=]
2802 | static const struct of_device_id rockchip_bank_match[] = {
| ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +2879 drivers/pinctrl/pinctrl-rockchip.c
d3e5116119bd02 Heiko Stübner 2013-06-10 2821
d3e5116119bd02 Heiko Stübner 2013-06-10 2822 static int rockchip_pinctrl_parse_groups(struct device_node *np,
d3e5116119bd02 Heiko Stübner 2013-06-10 2823 struct rockchip_pin_group *grp,
d3e5116119bd02 Heiko Stübner 2013-06-10 2824 struct rockchip_pinctrl *info,
d3e5116119bd02 Heiko Stübner 2013-06-10 2825 u32 index)
d3e5116119bd02 Heiko Stübner 2013-06-10 2826 {
d3e5116119bd02 Heiko Stübner 2013-06-10 2827 struct rockchip_pin_bank *bank;
d3e5116119bd02 Heiko Stübner 2013-06-10 2828 int size;
d3e5116119bd02 Heiko Stübner 2013-06-10 2829 const __be32 *list;
d3e5116119bd02 Heiko Stübner 2013-06-10 2830 int num;
d3e5116119bd02 Heiko Stübner 2013-06-10 2831 int i, j;
d3e5116119bd02 Heiko Stübner 2013-06-10 2832 int ret;
d3e5116119bd02 Heiko Stübner 2013-06-10 2833
94f4e54cecaf3e Rob Herring 2018-08-27 2834 dev_dbg(info->dev, "group(%d): %pOFn\n", index, np);
d3e5116119bd02 Heiko Stübner 2013-06-10 2835
d3e5116119bd02 Heiko Stübner 2013-06-10 2836 /* Initialise group */
d3e5116119bd02 Heiko Stübner 2013-06-10 2837 grp->name = np->name;
d3e5116119bd02 Heiko Stübner 2013-06-10 2838
d3e5116119bd02 Heiko Stübner 2013-06-10 2839 /*
d3e5116119bd02 Heiko Stübner 2013-06-10 2840 * the binding format is rockchip,pins = <bank pin mux CONFIG>,
d3e5116119bd02 Heiko Stübner 2013-06-10 2841 * do sanity check and calculate pins number
d3e5116119bd02 Heiko Stübner 2013-06-10 2842 */
d3e5116119bd02 Heiko Stübner 2013-06-10 2843 list = of_get_property(np, "rockchip,pins", &size);
d3e5116119bd02 Heiko Stübner 2013-06-10 2844 /* we do not check return since it's safe node passed down */
d3e5116119bd02 Heiko Stübner 2013-06-10 2845 size /= sizeof(*list);
d3e5116119bd02 Heiko Stübner 2013-06-10 2846 if (!size || size % 4) {
d3e5116119bd02 Heiko Stübner 2013-06-10 2847 dev_err(info->dev, "wrong pins number or pins and configs should be by 4\n");
d3e5116119bd02 Heiko Stübner 2013-06-10 2848 return -EINVAL;
d3e5116119bd02 Heiko Stübner 2013-06-10 2849 }
d3e5116119bd02 Heiko Stübner 2013-06-10 2850
d3e5116119bd02 Heiko Stübner 2013-06-10 2851 grp->npins = size / 4;
d3e5116119bd02 Heiko Stübner 2013-06-10 2852
a86854d0c599b3 Kees Cook 2018-06-12 2853 grp->pins = devm_kcalloc(info->dev, grp->npins, sizeof(unsigned int),
d3e5116119bd02 Heiko Stübner 2013-06-10 2854 GFP_KERNEL);
a86854d0c599b3 Kees Cook 2018-06-12 2855 grp->data = devm_kcalloc(info->dev,
a86854d0c599b3 Kees Cook 2018-06-12 2856 grp->npins,
d3e5116119bd02 Heiko Stübner 2013-06-10 2857 sizeof(struct rockchip_pin_config),
d3e5116119bd02 Heiko Stübner 2013-06-10 2858 GFP_KERNEL);
d3e5116119bd02 Heiko Stübner 2013-06-10 2859 if (!grp->pins || !grp->data)
d3e5116119bd02 Heiko Stübner 2013-06-10 2860 return -ENOMEM;
d3e5116119bd02 Heiko Stübner 2013-06-10 2861
d3e5116119bd02 Heiko Stübner 2013-06-10 2862 for (i = 0, j = 0; i < size; i += 4, j++) {
d3e5116119bd02 Heiko Stübner 2013-06-10 2863 const __be32 *phandle;
d3e5116119bd02 Heiko Stübner 2013-06-10 2864 struct device_node *np_config;
d3e5116119bd02 Heiko Stübner 2013-06-10 2865
d3e5116119bd02 Heiko Stübner 2013-06-10 2866 num = be32_to_cpu(*list++);
d3e5116119bd02 Heiko Stübner 2013-06-10 2867 bank = bank_num_to_bank(info, num);
d3e5116119bd02 Heiko Stübner 2013-06-10 2868 if (IS_ERR(bank))
d3e5116119bd02 Heiko Stübner 2013-06-10 2869 return PTR_ERR(bank);
d3e5116119bd02 Heiko Stübner 2013-06-10 2870
d3e5116119bd02 Heiko Stübner 2013-06-10 2871 grp->pins[j] = bank->pin_base + be32_to_cpu(*list++);
d3e5116119bd02 Heiko Stübner 2013-06-10 2872 grp->data[j].func = be32_to_cpu(*list++);
d3e5116119bd02 Heiko Stübner 2013-06-10 2873
d3e5116119bd02 Heiko Stübner 2013-06-10 2874 phandle = list++;
d3e5116119bd02 Heiko Stübner 2013-06-10 2875 if (!phandle)
d3e5116119bd02 Heiko Stübner 2013-06-10 2876 return -EINVAL;
d3e5116119bd02 Heiko Stübner 2013-06-10 2877
d3e5116119bd02 Heiko Stübner 2013-06-10 2878 np_config = of_find_node_by_phandle(be32_to_cpup(phandle));
dd4d01f7bad886 Soren Brinkmann 2015-01-09 @2879 ret = pinconf_generic_parse_dt_config(np_config, NULL,
d3e5116119bd02 Heiko Stübner 2013-06-10 2880 &grp->data[j].configs, &grp->data[j].nconfigs);
d3e5116119bd02 Heiko Stübner 2013-06-10 2881 if (ret)
d3e5116119bd02 Heiko Stübner 2013-06-10 2882 return ret;
d3e5116119bd02 Heiko Stübner 2013-06-10 2883 }
d3e5116119bd02 Heiko Stübner 2013-06-10 2884
d3e5116119bd02 Heiko Stübner 2013-06-10 2885 return 0;
d3e5116119bd02 Heiko Stübner 2013-06-10 2886 }
d3e5116119bd02 Heiko Stübner 2013-06-10 2887
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[linux-next:master 6264/9127] arch/mips/kvm/emulate.c:2126:37: error: too many arguments to function call, expected single argument 'vcpu', have 2 arguments
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: aab7ee9f8ff0110bfcd594b33dc33748dc1baf46
commit: c34b26b98caca48ec9ee981d4a89ac4f73376a3a [6264/9127] KVM: MIPS: clean up redundant 'kvm_run' parameters
config: mips-randconfig-r005-20200719 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
git checkout c34b26b98caca48ec9ee981d4a89ac4f73376a3a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/mips/kvm/emulate.c:946:23: warning: no previous prototype for function 'kvm_mips_emul_eret' [-Wmissing-prototypes]
enum emulation_result kvm_mips_emul_eret(struct kvm_vcpu *vcpu)
^
arch/mips/kvm/emulate.c:946:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
enum emulation_result kvm_mips_emul_eret(struct kvm_vcpu *vcpu)
^
static
arch/mips/kvm/emulate.c:1029:23: warning: no previous prototype for function 'kvm_mips_emul_tlbr' [-Wmissing-prototypes]
enum emulation_result kvm_mips_emul_tlbr(struct kvm_vcpu *vcpu)
^
arch/mips/kvm/emulate.c:1029:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
enum emulation_result kvm_mips_emul_tlbr(struct kvm_vcpu *vcpu)
^
static
arch/mips/kvm/emulate.c:1102:23: warning: no previous prototype for function 'kvm_mips_emul_tlbwi' [-Wmissing-prototypes]
enum emulation_result kvm_mips_emul_tlbwi(struct kvm_vcpu *vcpu)
^
arch/mips/kvm/emulate.c:1102:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
enum emulation_result kvm_mips_emul_tlbwi(struct kvm_vcpu *vcpu)
^
static
arch/mips/kvm/emulate.c:1138:23: warning: no previous prototype for function 'kvm_mips_emul_tlbwr' [-Wmissing-prototypes]
enum emulation_result kvm_mips_emul_tlbwr(struct kvm_vcpu *vcpu)
^
arch/mips/kvm/emulate.c:1138:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
enum emulation_result kvm_mips_emul_tlbwr(struct kvm_vcpu *vcpu)
^
static
arch/mips/kvm/emulate.c:1163:23: warning: no previous prototype for function 'kvm_mips_emul_tlbp' [-Wmissing-prototypes]
enum emulation_result kvm_mips_emul_tlbp(struct kvm_vcpu *vcpu)
^
arch/mips/kvm/emulate.c:1163:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
enum emulation_result kvm_mips_emul_tlbp(struct kvm_vcpu *vcpu)
^
static
arch/mips/kvm/emulate.c:1733:28: warning: shift count >= width of type [-Wshift-count-overflow]
((vcpu->arch.gprs[rt] >> 56) & 0xff);
^ ~~
arch/mips/kvm/emulate.c:1737:28: warning: shift count >= width of type [-Wshift-count-overflow]
((vcpu->arch.gprs[rt] >> 48) & 0xffff);
^ ~~
arch/mips/kvm/emulate.c:1741:28: warning: shift count >= width of type [-Wshift-count-overflow]
((vcpu->arch.gprs[rt] >> 40) & 0xffffff);
^ ~~
arch/mips/kvm/emulate.c:1745:28: warning: shift count >= width of type [-Wshift-count-overflow]
((vcpu->arch.gprs[rt] >> 32) & 0xffffffff);
^ ~~
arch/mips/kvm/emulate.c:1795:27: warning: shift count >= width of type [-Wshift-count-overflow]
(vcpu->arch.gprs[rt] << 32);
^ ~~
arch/mips/kvm/emulate.c:1799:27: warning: shift count >= width of type [-Wshift-count-overflow]
(vcpu->arch.gprs[rt] << 40);
^ ~~
arch/mips/kvm/emulate.c:1803:27: warning: shift count >= width of type [-Wshift-count-overflow]
(vcpu->arch.gprs[rt] << 48);
^ ~~
arch/mips/kvm/emulate.c:1807:27: warning: shift count >= width of type [-Wshift-count-overflow]
(vcpu->arch.gprs[rt] << 56);
^ ~~
>> arch/mips/kvm/emulate.c:2126:37: error: too many arguments to function call, expected single argument 'vcpu', have 2 arguments
kvm_mips_complete_mmio_load(vcpu, run);
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~
arch/mips/include/asm/kvm_host.h:1072:30: note: 'kvm_mips_complete_mmio_load' declared here
extern enum emulation_result kvm_mips_complete_mmio_load(struct kvm_vcpu *vcpu);
^
13 warnings and 1 error generated.
vim +/vcpu +2126 arch/mips/kvm/emulate.c
dc6d95b153e78e arch/mips/kvm/emulate.c Huacai Chen 2020-05-23 2111
e685c689f3a84e arch/mips/kvm/kvm_mips_emul.c Sanjay Lal 2012-11-21 2112 default:
d86c1ebe8e3d8a arch/mips/kvm/emulate.c James Hogan 2016-06-14 2113 kvm_err("Load not yet supported (inst=0x%08x)\n",
258f3a2ea93ff7 arch/mips/kvm/emulate.c James Hogan 2016-06-15 2114 inst.word);
8b48d5b75dc4cb arch/mips/kvm/emulate.c James Hogan 2017-03-14 2115 vcpu->mmio_needed = 0;
8b48d5b75dc4cb arch/mips/kvm/emulate.c James Hogan 2017-03-14 2116 return EMULATE_FAIL;
e685c689f3a84e arch/mips/kvm/kvm_mips_emul.c Sanjay Lal 2012-11-21 2117 }
e685c689f3a84e arch/mips/kvm/kvm_mips_emul.c Sanjay Lal 2012-11-21 2118
8b48d5b75dc4cb arch/mips/kvm/emulate.c James Hogan 2017-03-14 2119 run->mmio.is_write = 0;
8b48d5b75dc4cb arch/mips/kvm/emulate.c James Hogan 2017-03-14 2120 vcpu->mmio_is_write = 0;
f21db3090de2c0 arch/mips/kvm/emulate.c Huacai Chen 2020-05-23 2121
f21db3090de2c0 arch/mips/kvm/emulate.c Huacai Chen 2020-05-23 2122 r = kvm_io_bus_read(vcpu, KVM_MMIO_BUS,
f21db3090de2c0 arch/mips/kvm/emulate.c Huacai Chen 2020-05-23 2123 run->mmio.phys_addr, run->mmio.len, run->mmio.data);
f21db3090de2c0 arch/mips/kvm/emulate.c Huacai Chen 2020-05-23 2124
f21db3090de2c0 arch/mips/kvm/emulate.c Huacai Chen 2020-05-23 2125 if (!r) {
f21db3090de2c0 arch/mips/kvm/emulate.c Huacai Chen 2020-05-23 @2126 kvm_mips_complete_mmio_load(vcpu, run);
f21db3090de2c0 arch/mips/kvm/emulate.c Huacai Chen 2020-05-23 2127 vcpu->mmio_needed = 0;
f21db3090de2c0 arch/mips/kvm/emulate.c Huacai Chen 2020-05-23 2128 return EMULATE_DONE;
f21db3090de2c0 arch/mips/kvm/emulate.c Huacai Chen 2020-05-23 2129 }
f21db3090de2c0 arch/mips/kvm/emulate.c Huacai Chen 2020-05-23 2130
8b48d5b75dc4cb arch/mips/kvm/emulate.c James Hogan 2017-03-14 2131 return EMULATE_DO_MMIO;
e685c689f3a84e arch/mips/kvm/kvm_mips_emul.c Sanjay Lal 2012-11-21 2132 }
e685c689f3a84e arch/mips/kvm/kvm_mips_emul.c Sanjay Lal 2012-11-21 2133
:::::: The code at line 2126 was first introduced by commit
:::::: f21db3090de2c056728dee76d5fb66343aaf6dd1 KVM: MIPS: Add Loongson-3 Virtual IPI interrupt support
:::::: TO: Huacai Chen <chenhc(a)lemote.com>
:::::: CC: Paolo Bonzini <pbonzini(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [RFC PATCH v4 04/12] ipe: add property for trust of boot volume
by kernel test robot
Hi Deven,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on dm/for-next]
[also build test WARNING on pcmoore-selinux/next linus/master v5.8-rc5 next-20200717]
[cannot apply to security/next-testing]
[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]
url: https://github.com/0day-ci/linux/commits/Deven-Bowers/Integrity-Policy-En...
base: https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git for-next
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> security/ipe/ipe-pin.c:34:6: warning: no previous prototype for 'ipe_is_from_pinned_sb' [-Wmissing-prototypes]
34 | bool ipe_is_from_pinned_sb(const struct file *file)
| ^~~~~~~~~~~~~~~~~~~~~
>> security/ipe/ipe-pin.c:62:6: warning: no previous prototype for 'ipe_pin_superblock' [-Wmissing-prototypes]
62 | void ipe_pin_superblock(const struct file *file)
| ^~~~~~~~~~~~~~~~~~
>> security/ipe/ipe-pin.c:81:6: warning: no previous prototype for 'ipe_invalidate_pinned_sb' [-Wmissing-prototypes]
81 | void ipe_invalidate_pinned_sb(const struct super_block *mnt_sb)
| ^~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/scatterlist.h:9,
from include/linux/dma-mapping.h:11,
from include/linux/skbuff.h:31,
from include/linux/lsm_audit.h:24,
from security/ipe/properties/../ipe-property.h:9,
from security/ipe/properties/boot-verified.c:8:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from security/ipe/properties/../ipe.h:12,
from security/ipe/properties/boot-verified.c:6:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
In file included from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/m68k/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/wait.h:9,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from security/ipe/properties/../ipe.h:12,
from security/ipe/properties/boot-verified.c:6:
include/linux/dma-mapping.h: In function 'dma_map_resource':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/asm-generic/bug.h:144:27: note: in definition of macro 'WARN_ON_ONCE'
144 | int __ret_warn_once = !!(condition); \
| ^~~~~~~~~
arch/m68k/include/asm/page_mm.h:170:25: note: in expansion of macro 'virt_addr_valid'
170 | #define pfn_valid(pfn) virt_addr_valid(pfn_to_virt(pfn))
| ^~~~~~~~~~~~~~~
include/linux/dma-mapping.h:352:19: note: in expansion of macro 'pfn_valid'
352 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr))))
| ^~~~~~~~~
security/ipe/properties/boot-verified.c: At top level:
>> security/ipe/properties/boot-verified.c:79:5: warning: no previous prototype for 'ipe_init_bootv' [-Wmissing-prototypes]
79 | int ipe_init_bootv(void)
| ^~~~~~~~~~~~~~
vim +/ipe_is_from_pinned_sb +34 security/ipe/ipe-pin.c
24
25 /**
26 * ipe_is_from_pinned_sb: Determine if @file originates from the initial
27 * super block that a file was executed from.
28 * @file: File to check if it originates from the super block.
29 *
30 * Return:
31 * true - File originates from the initial super block
32 * false - File does not originate from the initial super block
33 */
> 34 bool ipe_is_from_pinned_sb(const struct file *file)
35 {
36 bool rv = false;
37
38 spin_lock(&pinned_sb_spinlock);
39
40 /*
41 * Check if pinned_sb is set:
42 * NULL == not set -> exit
43 * ERR == was once set (and has been unmounted) -> exit
44 * AND check that the pinned sb is the same as the file's.
45 */
46 if (!IS_ERR_OR_NULL(pinned_sb) &&
47 file->f_path.mnt->mnt_sb == pinned_sb) {
48 rv = true;
49 goto cleanup;
50 }
51
52 cleanup:
53 spin_unlock(&pinned_sb_spinlock);
54 return rv;
55 }
56
57 /**
58 * ipe_pin_superblock: Attempt to save a file's super block address to later
59 * determine if a file originates from a super block.
60 * @file: File to source the super block from.
61 */
> 62 void ipe_pin_superblock(const struct file *file)
63 {
64 spin_lock(&pinned_sb_spinlock);
65
66 /* if set, return */
67 if (pinned_sb || !file)
68 goto cleanup;
69
70 pinned_sb = file->f_path.mnt->mnt_sb;
71 cleanup:
72 spin_unlock(&pinned_sb_spinlock);
73 }
74
75 /**
76 * ipe_invalidate_pinned_sb: Invalidate the saved super block.
77 * @mnt_sb: Super block to compare against the saved super block.
78 *
79 * This avoids authorizing a file when the super block does not exist anymore.
80 */
> 81 void ipe_invalidate_pinned_sb(const struct super_block *mnt_sb)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
drivers/video/fbdev/tdfxfb.c:1120:17: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6cf7ccba29dcf39ab27630c383a3844078a6d5cd
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 4 weeks ago
config: s390-randconfig-s032-20200719 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-49-g707c5017-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/video/fbdev/tdfxfb.c:1120:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *s @@ got unsigned char [noderef] [usertype] __iomem *cursorbase @@
drivers/video/fbdev/tdfxfb.c:1120:17: sparse: expected void *s
drivers/video/fbdev/tdfxfb.c:1120:17: sparse: got unsigned char [noderef] [usertype] __iomem *cursorbase
drivers/video/fbdev/tdfxfb.c:1131:33: sparse: sparse: cast removes address space '__iomem' of expression
drivers/video/fbdev/tdfxfb.c:1134:33: sparse: sparse: cast removes address space '__iomem' of expression
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
--
drivers/scsi/megaraid/megaraid_sas_base.c:4534:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:4534:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:4534:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:4785:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:4785:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:4785:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:6594:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:6594:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:6594:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:4441:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:4441:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:4441:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:281:31: sparse: sparse: restricted __le16 degrades to integer
drivers/scsi/megaraid/megaraid_sas_base.c:281:31: sparse: sparse: restricted __le16 degrades to integer
drivers/scsi/megaraid/megaraid_sas_base.c:281:31: sparse: sparse: restricted __le16 degrades to integer
drivers/scsi/megaraid/megaraid_sas_base.c:281:31: sparse: sparse: restricted __le16 degrades to integer
drivers/scsi/megaraid/megaraid_sas_base.c:287:31: sparse: sparse: cast from restricted __le16
drivers/scsi/megaraid/megaraid_sas_base.c:287:31: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] val @@ got restricted __le16 [usertype] flags @@
drivers/scsi/megaraid/megaraid_sas_base.c:287:31: sparse: expected unsigned short [usertype] val
drivers/scsi/megaraid/megaraid_sas_base.c:287:31: sparse: got restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:287:31: sparse: sparse: cast from restricted __le16
drivers/scsi/megaraid/megaraid_sas_base.c:287:31: sparse: sparse: cast from restricted __le16
drivers/scsi/megaraid/megaraid_sas_base.c:413:29: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:413:29: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:413:29: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:413:29: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:413:29: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:413:29: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:1206:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] opcode @@ got restricted __le32 [usertype] opcode @@
drivers/scsi/megaraid/megaraid_sas_base.c:1206:32: sparse: expected unsigned int [usertype] opcode
drivers/scsi/megaraid/megaraid_sas_base.c:1206:32: sparse: got restricted __le32 [usertype] opcode
drivers/scsi/megaraid/megaraid_sas_base.c:1984:33: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:1984:33: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:1984:33: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:1984:33: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:1984:33: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:1984:33: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:2025:34: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:2025:34: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:2025:34: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:2025:34: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:2025:34: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:2025:34: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:4665:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:4665:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:4665:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:4904:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:4904:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:4904:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:5089:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:5089:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:5089:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:5171:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:5171:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:5171:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:6147:42: sparse: sparse: cast removes address space '__iomem' of expression
drivers/scsi/megaraid/megaraid_sas_base.c:6146:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int [noderef] [usertype] __iomem * @@ got unsigned int [usertype] * @@
drivers/scsi/megaraid/megaraid_sas_base.c:6146:57: sparse: expected unsigned int [noderef] [usertype] __iomem *
drivers/scsi/megaraid/megaraid_sas_base.c:6146:57: sparse: got unsigned int [usertype] *
drivers/scsi/megaraid/megaraid_sas_base.c:6151:34: sparse: sparse: cast removes address space '__iomem' of expression
drivers/scsi/megaraid/megaraid_sas_base.c:6150:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int [noderef] [usertype] __iomem * @@ got unsigned int [usertype] * @@
drivers/scsi/megaraid/megaraid_sas_base.c:6150:57: sparse: expected unsigned int [noderef] [usertype] __iomem *
drivers/scsi/megaraid/megaraid_sas_base.c:6150:57: sparse: got unsigned int [usertype] *
drivers/scsi/megaraid/megaraid_sas_base.c:6458:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:6458:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:6458:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:6672:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:6672:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:6672:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:7407:44: sparse: sparse: restricted __le32 degrades to integer
drivers/scsi/megaraid/megaraid_sas_base.c:8031:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected int crash_support @@ got restricted __le32 @@
drivers/scsi/megaraid/megaraid_sas_base.c:8031:23: sparse: expected int crash_support
drivers/scsi/megaraid/megaraid_sas_base.c:8031:23: sparse: got restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:8114:31: sparse: sparse: invalid assignment: &=
drivers/scsi/megaraid/megaraid_sas_base.c:8114:31: sparse: left side has type restricted __le16
drivers/scsi/megaraid/megaraid_sas_base.c:8114:31: sparse: right side has type int
drivers/scsi/megaraid/megaraid_sas_base.c:8208:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long @@ got restricted __le64 [usertype] @@
drivers/scsi/megaraid/megaraid_sas_base.c:8208:36: sparse: expected unsigned long
drivers/scsi/megaraid/megaraid_sas_base.c:8208:36: sparse: got restricted __le64 [usertype]
drivers/scsi/megaraid/megaraid_sas_base.c:8210:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long @@ got restricted __le32 [usertype] @@
drivers/scsi/megaraid/megaraid_sas_base.c:8210:36: sparse: expected unsigned long
drivers/scsi/megaraid/megaraid_sas_base.c:8210:36: sparse: got restricted __le32 [usertype]
drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned int [usertype] *sense_cioc_ptr @@
drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: expected void const volatile [noderef] __user *
drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: got unsigned int [usertype] *sense_cioc_ptr
>> drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *ptr @@ got unsigned int [usertype] *sense_cioc_ptr @@
>> drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: expected void const [noderef] __user *ptr
drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: got unsigned int [usertype] *sense_cioc_ptr
>> drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *ptr @@ got unsigned int [usertype] *sense_cioc_ptr @@
>> drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: expected void const [noderef] __user *ptr
drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: got unsigned int [usertype] *sense_cioc_ptr
>> drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *ptr @@ got unsigned int [usertype] *sense_cioc_ptr @@
>> drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: expected void const [noderef] __user *ptr
drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: got unsigned int [usertype] *sense_cioc_ptr
>> drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *ptr @@ got unsigned int [usertype] *sense_cioc_ptr @@
>> drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: expected void const [noderef] __user *ptr
drivers/scsi/megaraid/megaraid_sas_base.c:8458:21: sparse: got unsigned int [usertype] *sense_cioc_ptr
drivers/scsi/megaraid/megaraid_sas_base.c:8459:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got void [noderef] __user **sense_ioc_ptr @@
drivers/scsi/megaraid/megaraid_sas_base.c:8459:21: sparse: expected void const volatile [noderef] __user *
drivers/scsi/megaraid/megaraid_sas_base.c:8459:21: sparse: got void [noderef] __user **sense_ioc_ptr
>> drivers/scsi/megaraid/megaraid_sas_base.c:8459:21: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __user *ptr @@ got void [noderef] __user **sense_ioc_ptr @@
>> drivers/scsi/megaraid/megaraid_sas_base.c:8459:21: sparse: expected void [noderef] __user *ptr
drivers/scsi/megaraid/megaraid_sas_base.c:8459:21: sparse: got void [noderef] __user **sense_ioc_ptr
drivers/scsi/megaraid/megaraid_sas_base.c:8665:46: sparse: sparse: restricted __le32 degrades to integer
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:225:22: sparse: expected unsigned int [usertype] val
include/asm-generic/io.h:225:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:179:15: sparse: sparse: too many warnings
--
>> drivers/video/fbdev/kyro/fbdev.c:725:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *s @@ got char [noderef] __iomem *screen_base @@
drivers/video/fbdev/kyro/fbdev.c:725:9: sparse: expected void *s
drivers/video/fbdev/kyro/fbdev.c:725:9: sparse: got char [noderef] __iomem *screen_base
vim +1120 drivers/video/fbdev/tdfxfb.c
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1040
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1041 static int tdfxfb_cursor(struct fb_info *info, struct fb_cursor *cursor)
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1042 {
a807f618b62594 drivers/video/tdfxfb.c Antonino A. Daplas 2006-01-09 1043 struct tdfx_par *par = info->par;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1044 u32 vidcfg;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1045
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1046 if (!hwcursor)
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1047 return -EINVAL; /* just to force soft_cursor() call */
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1048
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1049 /* Too large of a cursor or wrong bpp :-( */
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1050 if (cursor->image.width > 64 ||
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1051 cursor->image.height > 64 ||
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1052 cursor->image.depth > 1)
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1053 return -EINVAL;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1054
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1055 vidcfg = tdfx_inl(par, VIDPROCCFG);
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1056 if (cursor->enable)
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1057 tdfx_outl(par, VIDPROCCFG, vidcfg | VIDCFG_HWCURSOR_ENABLE);
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1058 else
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1059 tdfx_outl(par, VIDPROCCFG, vidcfg & ~VIDCFG_HWCURSOR_ENABLE);
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1060
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1061 /*
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1062 * If the cursor is not be changed this means either we want the
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1063 * current cursor state (if enable is set) or we want to query what
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1064 * we can do with the cursor (if enable is not set)
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1065 */
8af1d50f7f6793 drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1066 if (!cursor->set)
8af1d50f7f6793 drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1067 return 0;
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1068
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1069 /* fix cursor color - XFree86 forgets to restore it properly */
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1070 if (cursor->set & FB_CUR_SETCMAP) {
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1071 struct fb_cmap cmap = info->cmap;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1072 u32 bg_idx = cursor->image.bg_color;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1073 u32 fg_idx = cursor->image.fg_color;
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1074 unsigned long bg_color, fg_color;
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1075
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1076 fg_color = (((u32)cmap.red[fg_idx] & 0xff00) << 8) |
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1077 (((u32)cmap.green[fg_idx] & 0xff00) << 0) |
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1078 (((u32)cmap.blue[fg_idx] & 0xff00) >> 8);
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1079 bg_color = (((u32)cmap.red[bg_idx] & 0xff00) << 8) |
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1080 (((u32)cmap.green[bg_idx] & 0xff00) << 0) |
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1081 (((u32)cmap.blue[bg_idx] & 0xff00) >> 8);
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1082 banshee_make_room(par, 2);
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1083 tdfx_outl(par, HWCURC0, bg_color);
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1084 tdfx_outl(par, HWCURC1, fg_color);
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1085 }
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1086
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1087 if (cursor->set & FB_CUR_SETPOS) {
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1088 int x = cursor->image.dx;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1089 int y = cursor->image.dy - info->var.yoffset;
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1090
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1091 x += 63;
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1092 y += 63;
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1093 banshee_make_room(par, 1);
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1094 tdfx_outl(par, HWCURLOC, (y << 16) + x);
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1095 }
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1096 if (cursor->set & (FB_CUR_SETIMAGE | FB_CUR_SETSHAPE)) {
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1097 /*
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1098 * Voodoo 3 and above cards use 2 monochrome cursor patterns.
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1099 * The reason is so the card can fetch 8 words at a time
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1100 * and are stored on chip for use for the next 8 scanlines.
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1101 * This reduces the number of times for access to draw the
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1102 * cursor for each screen refresh.
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1103 * Each pattern is a bitmap of 64 bit wide and 64 bit high
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1104 * (total of 8192 bits or 1024 bytes). The two patterns are
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1105 * stored in such a way that pattern 0 always resides in the
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1106 * lower half (least significant 64 bits) of a 128 bit word
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1107 * and pattern 1 the upper half. If you examine the data of
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1108 * the cursor image the graphics card uses then from the
25985edcedea63 drivers/video/tdfxfb.c Lucas De Marchi 2011-03-30 1109 * beginning you see line one of pattern 0, line one of
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1110 * pattern 1, line two of pattern 0, line two of pattern 1,
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1111 * etc etc. The linear stride for the cursor is always 16 bytes
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1112 * (128 bits) which is the maximum cursor width times two for
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1113 * the two monochrome patterns.
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1114 */
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1115 u8 __iomem *cursorbase = info->screen_base + info->fix.smem_len;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1116 u8 *bitmap = (u8 *)cursor->image.data;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1117 u8 *mask = (u8 *)cursor->mask;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1118 int i;
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1119
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 @1120 fb_memset(cursorbase, 0, 1024);
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1121
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1122 for (i = 0; i < cursor->image.height; i++) {
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1123 int h = 0;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1124 int j = (cursor->image.width + 7) >> 3;
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1125
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1126 for (; j > 0; j--) {
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1127 u8 data = *mask ^ *bitmap;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1128 if (cursor->rop == ROP_COPY)
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1129 data = *mask & *bitmap;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1130 /* Pattern 0. Copy the cursor mask to it */
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1131 fb_writeb(*mask, cursorbase + h);
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1132 mask++;
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1133 /* Pattern 1. Copy the cursor bitmap to it */
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1134 fb_writeb(data, cursorbase + h + 8);
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1135 bitmap++;
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1136 h++;
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1137 }
90b0f08536531a drivers/video/tdfxfb.c Krzysztof Helt 2007-10-16 1138 cursorbase += 16;
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1139 }
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1140 }
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1141 return 0;
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1142 }
^1da177e4c3f41 drivers/video/tdfxfb.c Linus Torvalds 2005-04-16 1143
:::::: The code at line 1120 was first introduced by commit
:::::: 90b0f08536531abbbe7b5d4944792da08cadde01 tdfxfb: hardware cursor
:::::: TO: Krzysztof Helt <krzysztof.h1(a)wp.pl>
:::::: CC: Linus Torvalds <torvalds(a)woody.linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[linux-next:master 3550/9127] kernel/trace/ring_buffer.c:2494:1: warning: unused function 'rb_event_is_commit'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: aab7ee9f8ff0110bfcd594b33dc33748dc1baf46
commit: a389d86f7fd0902e4ce4136a5601988dbd371eb1 [3550/9127] ring-buffer: Have nested events still record running time stamp
config: mips-randconfig-r005-20200719 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
git checkout a389d86f7fd0902e4ce4136a5601988dbd371eb1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> kernel/trace/ring_buffer.c:2494:1: warning: unused function 'rb_event_is_commit'
rb_event_is_commit(struct ring_buffer_per_cpu
^
fatal error: error in backend: Nested variants found in inline asm string: ' .set push
.set mips64r2
.if ( 0x00 ) != -1)) 0x00 ) != -1)) : ($( static struct ftrace_branch_data __attribute__((__aligned__(4))) __attribute__((__section__("_ftrace_branch"))) __if_trace = $( .func = __func__, .file = "arch/mips/include/asm/bitops.h", .line = 105, $); 0x00 ) != -1)) : $))) ) && ( 0 ); .set push; .set mips64r2; .rept 1; sync 0x00; .endr; .set pop; .else; ; .endif
1: ll $0, $1
or $0, $2
sc $0, $1
beqz $0, 1b
.set pop
'
clang-12: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 12.0.0 (git://gitmirror/llvm_project ed6b578040a85977026c93bf4188f996148f3218)
Target: mipsel-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/cross/clang-ed6b578040/bin
clang-12: note: diagnostic msg:
Makefile arch include kernel mm null.dwo scripts source usr virt
vim +/rb_event_is_commit +2494 kernel/trace/ring_buffer.c
2492
2493 static __always_inline bool
> 2494 rb_event_is_commit(struct ring_buffer_per_cpu *cpu_buffer,
2495 struct ring_buffer_event *event)
2496 {
2497 unsigned long addr = (unsigned long)event;
2498 unsigned long index;
2499
2500 index = rb_event_index(event);
2501 addr &= PAGE_MASK;
2502
2503 return cpu_buffer->commit_page->page == (void *)addr &&
2504 rb_commit_index(cpu_buffer) == index;
2505 }
2506
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
arch/x86/entry/common.c:736:24: warning: no previous prototype for 'xen_pv_evtchn_do_upcall'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6cf7ccba29dcf39ab27630c383a3844078a6d5cd
commit: 2f6474e4636bcc68af6c44abb2703f12d7f083da x86/entry: Switch XEN/PV hypercall entry to IDTENTRY
date: 5 weeks ago
config: x86_64-randconfig-r004-20200719 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
git checkout 2f6474e4636bcc68af6c44abb2703f12d7f083da
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
arch/x86/entry/common.c:59:24: warning: no previous prototype for 'enter_from_user_mode' [-Wmissing-prototypes]
59 | __visible noinstr void enter_from_user_mode(void)
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/entry/common.c:274:24: warning: no previous prototype for 'prepare_exit_to_usermode' [-Wmissing-prototypes]
274 | __visible noinstr void prepare_exit_to_usermode(struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/entry/common.c:336:24: warning: no previous prototype for 'syscall_return_slowpath' [-Wmissing-prototypes]
336 | __visible noinstr void syscall_return_slowpath(struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~~~~~
>> arch/x86/entry/common.c:736:24: warning: no previous prototype for 'xen_pv_evtchn_do_upcall' [-Wmissing-prototypes]
736 | __visible noinstr void xen_pv_evtchn_do_upcall(struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +/xen_pv_evtchn_do_upcall +736 arch/x86/entry/common.c
735
> 736 __visible noinstr void xen_pv_evtchn_do_upcall(struct pt_regs *regs)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[leon-rdma:rdma-next 32/55] drivers/infiniband/core/uverbs_cmd.c:895:15: warning: Variable 'uobj->object' is reassigned a value before the old one has been used.
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git rdma-next
head: 773349feb182515e85e5ecfa7745dcd6c37cfc91
commit: 2bba7a3cc66fbfe94a3a1955f8fe5b983bf0a183 [32/55] RDMA/core: Update write interface to use automatic object lifetime
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
cppcheck warnings: (new ones prefixed by >>)
>> drivers/infiniband/core/uverbs_cmd.c:895:15: warning: Variable 'uobj->object' is reassigned a value before the old one has been used. [redundantAssignment]
uobj->object = mw;
^
drivers/infiniband/core/uverbs_cmd.c:893:15: note: Variable 'uobj->object' is reassigned a value before the old one has been used.
uobj->object = mw;
^
drivers/infiniband/core/uverbs_cmd.c:895:15: note: Variable 'uobj->object' is reassigned a value before the old one has been used.
uobj->object = mw;
^
drivers/infiniband/core/uverbs_cmd.c:1066:6: warning: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment]
ret = uverbs_request(attrs, &cmd, sizeof(cmd));
^
drivers/infiniband/core/uverbs_cmd.c:1064:0: note: Variable 'ret' is reassigned a value before the old one has been used.
int ret = -EINVAL;
^
drivers/infiniband/core/uverbs_cmd.c:1066:6: note: Variable 'ret' is reassigned a value before the old one has been used.
ret = uverbs_request(attrs, &cmd, sizeof(cmd));
^
drivers/infiniband/core/uverbs_cmd.c:1897:47: warning: Shifting signed 32-bit value by 31 bits is undefined behaviour [shiftTooManyBitsSigned]
BUILD_BUG_ON(IB_USER_LAST_QP_ATTR_MASK == (1 << 31));
^
vim +895 drivers/infiniband/core/uverbs_cmd.c
852
853 static int ib_uverbs_alloc_mw(struct uverbs_attr_bundle *attrs)
854 {
855 struct ib_uverbs_alloc_mw cmd;
856 struct ib_uverbs_alloc_mw_resp resp;
857 struct ib_uobject *uobj;
858 struct ib_pd *pd;
859 struct ib_mw *mw;
860 int ret;
861 struct ib_device *ib_dev;
862
863 ret = uverbs_request(attrs, &cmd, sizeof(cmd));
864 if (ret)
865 return ret;
866
867 uobj = uobj_alloc(UVERBS_OBJECT_MW, attrs, &ib_dev);
868 if (IS_ERR(uobj))
869 return PTR_ERR(uobj);
870
871 pd = uobj_get_obj_read(pd, UVERBS_OBJECT_PD, cmd.pd_handle, attrs);
872 if (!pd) {
873 ret = -EINVAL;
874 goto err_free;
875 }
876
877 if (cmd.mw_type != IB_MW_TYPE_1 && cmd.mw_type != IB_MW_TYPE_2) {
878 ret = -EINVAL;
879 goto err_put;
880 }
881
882 mw = pd->device->ops.alloc_mw(pd, cmd.mw_type, &attrs->driver_udata);
883 if (IS_ERR(mw)) {
884 ret = PTR_ERR(mw);
885 goto err_put;
886 }
887
888 mw->device = pd->device;
889 mw->pd = pd;
890 mw->uobject = uobj;
891 atomic_inc(&pd->usecnt);
892
893 uobj->object = mw;
894
> 895 uobj->object = mw;
896 uobj_put_obj_read(pd);
897 uobj_finalize_uobj_create(uobj, attrs);
898
899 resp.rkey = mw->rkey;
900 resp.mw_handle = uobj->id;
901 return uverbs_response(attrs, &resp, sizeof(resp));
902
903 err_put:
904 uobj_put_obj_read(pd);
905 err_free:
906 uobj_alloc_abort(uobj, attrs);
907 return ret;
908 }
909
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[powerpc:next-test 103/106] arch/powerpc/mm/book3s64/radix_pgtable.c:513:21: error: use of undeclared identifier 'SECTION_SIZE_BITS'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next-test
head: 5fed3b3e21db21f9a7002426f456fd3a8a8c0772
commit: 21407f39b9d547da527ad5224c4323e1f62bb514 [103/106] powerpc/mm/radix: Create separate mappings for hot-plugged memory
config: powerpc-randconfig-r016-20200719 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed6b578040a85977026c93bf4188f996148f3218)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
git checkout 21407f39b9d547da527ad5224c4323e1f62bb514
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> arch/powerpc/mm/book3s64/radix_pgtable.c:513:21: error: use of undeclared identifier 'SECTION_SIZE_BITS'
*mem_block_size = MIN_MEMORY_BLOCK_SIZE;
^
include/linux/memory.h:24:43: note: expanded from macro 'MIN_MEMORY_BLOCK_SIZE'
#define MIN_MEMORY_BLOCK_SIZE (1UL << SECTION_SIZE_BITS)
^
arch/powerpc/mm/book3s64/radix_pgtable.c:521:33: error: use of undeclared identifier 'SECTION_SIZE_BITS'
unsigned long mem_block_size = MIN_MEMORY_BLOCK_SIZE;
^
include/linux/memory.h:24:43: note: expanded from macro 'MIN_MEMORY_BLOCK_SIZE'
#define MIN_MEMORY_BLOCK_SIZE (1UL << SECTION_SIZE_BITS)
^
2 errors generated.
vim +/SECTION_SIZE_BITS +513 arch/powerpc/mm/book3s64/radix_pgtable.c
494
495 static int __init probe_memory_block_size(unsigned long node, const char *uname, int
496 depth, void *data)
497 {
498 unsigned long *mem_block_size = (unsigned long *)data;
499 const __be64 *prop;
500 int len;
501
502 if (depth != 1)
503 return 0;
504
505 if (strcmp(uname, "ibm,dynamic-reconfiguration-memory"))
506 return 0;
507
508 prop = of_get_flat_dt_prop(node, "ibm,lmb-size", &len);
509 if (!prop || len < sizeof(__be64))
510 /*
511 * Nothing in the device tree
512 */
> 513 *mem_block_size = MIN_MEMORY_BLOCK_SIZE;
514 else
515 *mem_block_size = be64_to_cpup(prop);
516 return 1;
517 }
518
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months