[hch-block:bdev-lookup 26/26] fs/io_uring.c:2736: undefined reference to `I_BDEV'
by kernel test robot
tree: git://git.infradead.org/users/hch/block.git bdev-lookup
head: ad9fbb45818932ecfd28600994ff2c88ccd4b3e9
commit: ad9fbb45818932ecfd28600994ff2c88ccd4b3e9 [26/26] block: remove i_bdev
config: i386-randconfig-a012-20201117 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git remote add hch-block git://git.infradead.org/users/hch/block.git
git fetch --no-tags hch-block bdev-lookup
git checkout ad9fbb45818932ecfd28600994ff2c88ccd4b3e9
# save the attached .config to linux build tree
make W=1 ARCH=i386
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 >>):
ld: fs/io_uring.o: in function `io_file_supports_async':
>> fs/io_uring.c:2736: undefined reference to `I_BDEV'
vim +2736 fs/io_uring.c
2725
2726 /*
2727 * If we tracked the file through the SCM inflight mechanism, we could support
2728 * any file. For now, just ensure that anything potentially problematic is done
2729 * inline.
2730 */
2731 static bool io_file_supports_async(struct file *file, int rw)
2732 {
2733 umode_t mode = file_inode(file)->i_mode;
2734
2735 if (S_ISBLK(mode)) {
> 2736 if (io_bdev_nowait(I_BDEV(file->f_mapping->host)))
2737 return true;
2738 return false;
2739 }
2740 if (S_ISCHR(mode) || S_ISSOCK(mode))
2741 return true;
2742 if (S_ISREG(mode)) {
2743 if (io_bdev_nowait(file->f_inode->i_sb->s_bdev) &&
2744 file->f_op != &io_uring_fops)
2745 return true;
2746 return false;
2747 }
2748
2749 /* any ->read/write should understand O_NONBLOCK */
2750 if (file->f_flags & O_NONBLOCK)
2751 return true;
2752
2753 if (!(file->f_mode & FMODE_NOWAIT))
2754 return false;
2755
2756 if (rw == READ)
2757 return file->f_op->read_iter != NULL;
2758
2759 return file->f_op->write_iter != NULL;
2760 }
2761
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[linux-next:master 4258/6320] pwm-pxa.c:undefined reference to `devm_platform_ioremap_resource'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 7c8ca8129ee9724cb1527895fe6dec942ef07f19
commit: 3dfa2e947322fa7f6c1f2ef58f4c1187340d6375 [4258/6320] pwm: pxa: Convert to devm_platform_ioremap_resource()
config: s390-randconfig-r033-20201117 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ace9653c11c6308401dcda2e8b26bf97e6e66e30)
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 s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 3dfa2e947322fa7f6c1f2ef58f4c1187340d6375
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390
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 >>):
s390x-linux-gnu-ld: drivers/irqchip/irq-renesas-intc-irqpin.o: in function `intc_irqpin_probe':
irq-renesas-intc-irqpin.c:(.text+0x1f2): undefined reference to `devm_ioremap'
s390x-linux-gnu-ld: drivers/irqchip/irq-renesas-irqc.o: in function `irqc_probe':
irq-renesas-irqc.c:(.text+0xd8): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/irqchip/irq-imx-intmux.o: in function `imx_intmux_probe':
irq-imx-intmux.c:(.text+0xbe): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/phy/hisilicon/phy-histb-combphy.o: in function `histb_combphy_probe':
phy-histb-combphy.c:(.text+0x4e): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/phy/st/phy-stm32-usbphyc.o: in function `stm32_usbphyc_probe':
phy-stm32-usbphyc.c:(.text+0x66): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/pwm/pwm-bcm-iproc.o: in function `iproc_pwmc_probe':
pwm-bcm-iproc.c:(.text+0x94): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/pwm/pwm-hibvt.o: in function `hibvt_pwm_probe':
pwm-hibvt.c:(.text+0xd8): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/pwm/pwm-pxa.o: in function `pwm_probe':
>> pwm-pxa.c:(.text+0xcc): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/pwm/pwm-tegra.o: in function `tegra_pwm_probe':
pwm-tegra.c:(.text+0x54): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/pwm/pwm-tiecap.o: in function `ecap_pwm_probe':
pwm-tiecap.c:(.text+0x102): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/pwm/pwm-tiehrpwm.o: in function `ehrpwm_pwm_probe':
pwm-tiehrpwm.c:(.text+0x104): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/char/ipmi/bt-bmc.o: in function `bt_bmc_probe':
bt-bmc.c:(.text+0xae): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/clk-fsl-sai.o: in function `fsl_sai_clk_probe':
clk-fsl-sai.c:(.text+0x60): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/clk-gemini.o: in function `gemini_clk_probe':
clk-gemini.c:(.text+0x66): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/clk-plldig.o: in function `plldig_clk_probe':
clk-plldig.c:(.text+0x48): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/actions/owl-common.o: in function `owl_clk_regmap_init':
owl-common.c:(.text+0x3e): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/mediatek/clk-mt6765.o: in function `clk_mt6765_apmixed_probe':
clk-mt6765.c:(.text+0x5c): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/mediatek/clk-mt6765.o: in function `clk_mt6765_top_probe':
clk-mt6765.c:(.text+0x19c): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/mediatek/clk-mt6765.o: in function `clk_mt6765_ifr_probe':
clk-mt6765.c:(.text+0x2dc): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/mediatek/clk-mt6779.o: in function `clk_mt6779_top_probe':
clk-mt6779.c:(.text+0xc6): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/mediatek/clk-mt2701.o: in function `mtk_topckgen_init':
clk-mt2701.c:(.text+0x5c): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/mediatek/clk-mt2701.o: in function `mtk_pericfg_init':
clk-mt2701.c:(.text+0x2dc): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/mediatek/clk-mt2712.o: in function `clk_mt2712_top_probe':
clk-mt2712.c:(.text+0xa6): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/mediatek/clk-mt2712.o: in function `clk_mt2712_mcu_probe':
clk-mt2712.c:(.text+0x320): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/mediatek/clk-mt7629.o: in function `mtk_topckgen_init':
clk-mt7629.c:(.text+0x1e0): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/mediatek/clk-mt7629.o: in function `mtk_pericfg_init':
clk-mt7629.c:(.text+0x346): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/sifive/fu540-prci.o: in function `sifive_fu540_prci_probe':
fu540-prci.c:(.text+0x8a): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/sprd/common.o: in function `sprd_clk_regmap_init':
common.c:(.text+0x28): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/sunxi-ng/ccu-sun50i-a100.o: in function `sun50i_a100_ccu_probe':
ccu-sun50i-a100.c:(.text+0x24): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/sunxi-ng/ccu-sun50i-a100-r.o: in function `sun50i_a100_r_ccu_probe':
ccu-sun50i-a100-r.c:(.text+0x24): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/sunxi-ng/ccu-sun8i-a83t.o: in function `sun8i_a83t_ccu_probe':
ccu-sun8i-a83t.c:(.text+0x36): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/sunxi-ng/ccu-sun8i-r40.o: in function `sun8i_r40_ccu_probe':
ccu-sun8i-r40.c:(.text+0x3a): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/sunxi-ng/ccu-sun9i-a80.o: in function `sun9i_a80_ccu_probe':
ccu-sun9i-a80.c:(.text+0x36): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/sunxi-ng/ccu-sun9i-a80-de.o: in function `sun9i_a80_de_clk_probe':
ccu-sun9i-a80-de.c:(.text+0x3a): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/clk/sunxi-ng/ccu-sun9i-a80-usb.o: in function `sun9i_a80_usb_clk_probe':
ccu-sun9i-a80-usb.c:(.text+0x3a): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/soc/amlogic/meson-clk-measure.o:meson-clk-measure.c:(.text+0x8e): more undefined references to `devm_ioremap_resource' follow
s390x-linux-gnu-ld: drivers/reset/reset-npcm.o: in function `npcm_rc_probe':
reset-npcm.c:(.text+0x48): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/reset/reset-qcom-pdc.o: in function `qcom_pdc_reset_probe':
reset-qcom-pdc.c:(.text+0x5a): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/reset/reset-simple.o: in function `reset_simple_probe':
reset-simple.c:(.text+0x49e): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/mfd/syscon.o: in function `syscon_probe':
syscon.c:(.text+0x2d0): undefined reference to `devm_ioremap'
s390x-linux-gnu-ld: drivers/input/serio/sun4i-ps2.o: in function `sun4i_ps2_probe':
sun4i-ps2.c:(.text+0xca): undefined reference to `ioremap'
s390x-linux-gnu-ld: sun4i-ps2.c:(.text+0x2f2): undefined reference to `iounmap'
s390x-linux-gnu-ld: drivers/input/serio/sun4i-ps2.o: in function `sun4i_ps2_remove':
sun4i-ps2.c:(.text+0x38a): undefined reference to `iounmap'
s390x-linux-gnu-ld: drivers/power/reset/ocelot-reset.o: in function `ocelot_reset_probe':
ocelot-reset.c:(.text+0x5a): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/thermal/broadcom/sr-thermal.o: in function `sr_thermal_probe':
sr-thermal.c:(.text+0x74): undefined reference to `devm_memremap'
s390x-linux-gnu-ld: drivers/thermal/zx2967_thermal.o: in function `zx2967_thermal_probe':
zx2967_thermal.c:(.text+0x5a): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/watchdog/s3c2410_wdt.o: in function `s3c2410wdt_probe':
s3c2410_wdt.c:(.text+0xe2): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/watchdog/imx2_wdt.o: in function `imx2_wdt_probe':
imx2_wdt.c:(.init.text+0x6e): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/watchdog/moxart_wdt.o: in function `moxart_wdt_probe':
moxart_wdt.c:(.text+0x4e): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/watchdog/sirfsoc_wdt.o: in function `sirfsoc_wdt_probe':
sirfsoc_wdt.c:(.text+0x24): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/watchdog/bcm_kona_wdt.o: in function `bcm_kona_wdt_probe':
bcm_kona_wdt.c:(.text+0x4e): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/watchdog/renesas_wdt.o:renesas_wdt.c:(.text+0x48): more undefined references to `devm_platform_ioremap_resource' follow
s390x-linux-gnu-ld: drivers/crypto/atmel-aes.o: in function `atmel_aes_probe':
atmel-aes.c:(.text+0x16a): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/crypto/atmel-sha.o: in function `atmel_sha_probe':
atmel-sha.c:(.text+0x3a8a): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/crypto/atmel-tdes.o: in function `atmel_tdes_probe':
atmel-tdes.c:(.text+0x16a): undefined reference to `devm_ioremap_resource'
s390x-linux-gnu-ld: drivers/crypto/mediatek/mtk-platform.o: in function `mtk_crypto_probe':
mtk-platform.c:(.text+0x48): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/clocksource/timer-of.o: in function `timer_of_init':
timer-of.c:(.init.text+0x166): undefined reference to `iounmap'
s390x-linux-gnu-ld: drivers/clocksource/timer-of.o: in function `timer_of_cleanup':
timer-of.c:(.init.text+0x28a): undefined reference to `iounmap'
s390x-linux-gnu-ld: drivers/clocksource/ingenic-ost.o: in function `ingenic_ost_probe':
ingenic-ost.c:(.init.text+0x86): undefined reference to `devm_platform_ioremap_resource'
s390x-linux-gnu-ld: drivers/mailbox/mtk-cmdq-mailbox.o: in function `cmdq_probe':
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[zen-kernel-zen-kernel:5.9/muqss 1/1] kernel/sched/MuQSS.c:2471:11: sparse: sparse: incorrect type in assignment (different address spaces)
by kernel test robot
Hi Steven,
First bad commit (maybe != root cause):
tree: https://github.com/zen-kernel/zen-kernel 5.9/muqss
head: bb2916b2fc9b8433563583c67044135c9cfad84e
commit: bb2916b2fc9b8433563583c67044135c9cfad84e [1/1] Revert "Fix cpufreq_cooling build."
config: alpha-randconfig-s031-20201117 (attached as .config)
compiler: alpha-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.3-107-gaf3512a6-dirty
# https://github.com/zen-kernel/zen-kernel/commit/bb2916b2fc9b8433563583c67...
git remote add zen-kernel-zen-kernel https://github.com/zen-kernel/zen-kernel
git fetch --no-tags zen-kernel-zen-kernel 5.9/muqss
git checkout bb2916b2fc9b8433563583c67044135c9cfad84e
# 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=alpha
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 >>)"
>> kernel/sched/MuQSS.c:2471:11: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
>> kernel/sched/MuQSS.c:2471:11: sparse: expected struct task_struct *p
>> kernel/sched/MuQSS.c:2471:11: sparse: got struct task_struct [noderef] __rcu *curr
>> kernel/sched/MuQSS.c:2518:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *parent @@ got struct task_struct [noderef] __rcu *parent @@
>> kernel/sched/MuQSS.c:2518:16: sparse: expected struct task_struct *parent
>> kernel/sched/MuQSS.c:2518:16: sparse: got struct task_struct [noderef] __rcu *parent
>> kernel/sched/MuQSS.c:2530:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *rq_curr @@ got struct task_struct [noderef] __rcu *curr @@
>> kernel/sched/MuQSS.c:2530:17: sparse: expected struct task_struct *rq_curr
kernel/sched/MuQSS.c:2530:17: sparse: got struct task_struct [noderef] __rcu *curr
>> kernel/sched/MuQSS.c:3480:35: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/MuQSS.c:3480:35: sparse: expected struct task_struct *p
kernel/sched/MuQSS.c:3480:35: sparse: got struct task_struct [noderef] __rcu *curr
>> kernel/sched/MuQSS.c:3712:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/MuQSS.c:3712:37: sparse: expected struct task_struct *p
kernel/sched/MuQSS.c:3712:37: sparse: got struct task_struct [noderef] __rcu *curr
>> kernel/sched/MuQSS.c:4158:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *prev @@ got struct task_struct [noderef] __rcu *curr @@
>> kernel/sched/MuQSS.c:4158:14: sparse: expected struct task_struct *prev
kernel/sched/MuQSS.c:4158:14: sparse: got struct task_struct [noderef] __rcu *curr
>> kernel/sched/MuQSS.c:4661:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> kernel/sched/MuQSS.c:4661:17: sparse: struct task_struct *
>> kernel/sched/MuQSS.c:4661:17: sparse: struct task_struct [noderef] __rcu *
kernel/sched/MuQSS.c:4834:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/MuQSS.c:4834:22: sparse: struct task_struct [noderef] __rcu *
kernel/sched/MuQSS.c:4834:22: sparse: struct task_struct *
>> kernel/sched/MuQSS.c:5847:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *rq_p @@ got struct task_struct [noderef] __rcu *curr @@
>> kernel/sched/MuQSS.c:5847:14: sparse: expected struct task_struct *rq_p
kernel/sched/MuQSS.c:5847:14: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/MuQSS.c:5855:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/MuQSS.c:5855:34: sparse: expected struct task_struct *p
kernel/sched/MuQSS.c:5855:34: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/MuQSS.c:6117:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/MuQSS.c:6117:25: sparse: expected struct task_struct *p
kernel/sched/MuQSS.c:6117:25: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/MuQSS.c:1234:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@
kernel/sched/MuQSS.c:1234:24: sparse: expected struct task_struct *p
kernel/sched/MuQSS.c:1234:24: sparse: got struct task_struct [noderef] __rcu *curr
kernel/sched/MuQSS.c:1225:27: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/MuQSS.c:1225:27: sparse: struct task_struct [noderef] __rcu *
kernel/sched/MuQSS.c:1225:27: sparse: struct task_struct *
kernel/sched/MuQSS.c:1225:27: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/MuQSS.c:1225:27: sparse: struct task_struct [noderef] __rcu *
kernel/sched/MuQSS.c:1225:27: sparse: struct task_struct *
kernel/sched/MuQSS.c:3398:15: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/MuQSS.c:3398:15: sparse: struct task_struct *
kernel/sched/MuQSS.c:3398:15: sparse: struct task_struct [noderef] __rcu *
kernel/sched/MuQSS.c: note: in included file:
kernel/sched/MuQSS.h:382:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/MuQSS.h:382:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/MuQSS.h:382:25: sparse: struct task_struct *
kernel/sched/MuQSS.h:382:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/MuQSS.h:382:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/MuQSS.h:382:25: sparse: struct task_struct *
kernel/sched/MuQSS.h:382:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/MuQSS.h:382:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/MuQSS.h:382:25: sparse: struct task_struct *
kernel/sched/MuQSS.h:382:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/MuQSS.h:382:25: sparse: struct task_struct [noderef] __rcu *
kernel/sched/MuQSS.h:382:25: sparse: struct task_struct *
vim +2471 kernel/sched/MuQSS.c
49e82d66c704858 Con Kolivas 2019-10-25 2452
49e82d66c704858 Con Kolivas 2019-10-25 2453 /*
49e82d66c704858 Con Kolivas 2019-10-25 2454 * High-resolution time_slice expiry.
49e82d66c704858 Con Kolivas 2019-10-25 2455 * Runs from hardirq context with interrupts disabled.
49e82d66c704858 Con Kolivas 2019-10-25 2456 */
49e82d66c704858 Con Kolivas 2019-10-25 2457 static enum hrtimer_restart hrexpiry(struct hrtimer *timer)
49e82d66c704858 Con Kolivas 2019-10-25 2458 {
49e82d66c704858 Con Kolivas 2019-10-25 2459 struct rq *rq = container_of(timer, struct rq, hrexpiry_timer);
49e82d66c704858 Con Kolivas 2019-10-25 2460 struct task_struct *p;
49e82d66c704858 Con Kolivas 2019-10-25 2461
49e82d66c704858 Con Kolivas 2019-10-25 2462 /* This can happen during CPU hotplug / resume */
49e82d66c704858 Con Kolivas 2019-10-25 2463 if (unlikely(cpu_of(rq) != smp_processor_id()))
49e82d66c704858 Con Kolivas 2019-10-25 2464 goto out;
49e82d66c704858 Con Kolivas 2019-10-25 2465
49e82d66c704858 Con Kolivas 2019-10-25 2466 /*
49e82d66c704858 Con Kolivas 2019-10-25 2467 * We're doing this without the runqueue lock but this should always
49e82d66c704858 Con Kolivas 2019-10-25 2468 * be run on the local CPU. Time slice should run out in __schedule
49e82d66c704858 Con Kolivas 2019-10-25 2469 * but we set it to zero here in case niffies is slightly less.
49e82d66c704858 Con Kolivas 2019-10-25 2470 */
49e82d66c704858 Con Kolivas 2019-10-25 @2471 p = rq->curr;
49e82d66c704858 Con Kolivas 2019-10-25 2472 p->time_slice = 0;
49e82d66c704858 Con Kolivas 2019-10-25 2473 __set_tsk_resched(p);
49e82d66c704858 Con Kolivas 2019-10-25 2474 out:
49e82d66c704858 Con Kolivas 2019-10-25 2475 return HRTIMER_NORESTART;
49e82d66c704858 Con Kolivas 2019-10-25 2476 }
49e82d66c704858 Con Kolivas 2019-10-25 2477
49e82d66c704858 Con Kolivas 2019-10-25 2478 /*
49e82d66c704858 Con Kolivas 2019-10-25 2479 * Called to set the hrexpiry timer state.
49e82d66c704858 Con Kolivas 2019-10-25 2480 *
49e82d66c704858 Con Kolivas 2019-10-25 2481 * called with irqs disabled from the local CPU only
49e82d66c704858 Con Kolivas 2019-10-25 2482 */
49e82d66c704858 Con Kolivas 2019-10-25 2483 static void hrexpiry_start(struct rq *rq, u64 delay)
49e82d66c704858 Con Kolivas 2019-10-25 2484 {
49e82d66c704858 Con Kolivas 2019-10-25 2485 if (!hrexpiry_enabled(rq))
49e82d66c704858 Con Kolivas 2019-10-25 2486 return;
49e82d66c704858 Con Kolivas 2019-10-25 2487
49e82d66c704858 Con Kolivas 2019-10-25 2488 hrtimer_start(&rq->hrexpiry_timer, ns_to_ktime(delay),
49e82d66c704858 Con Kolivas 2019-10-25 2489 HRTIMER_MODE_REL_PINNED);
49e82d66c704858 Con Kolivas 2019-10-25 2490 }
49e82d66c704858 Con Kolivas 2019-10-25 2491
49e82d66c704858 Con Kolivas 2019-10-25 2492 static void init_rq_hrexpiry(struct rq *rq)
49e82d66c704858 Con Kolivas 2019-10-25 2493 {
49e82d66c704858 Con Kolivas 2019-10-25 2494 hrtimer_init(&rq->hrexpiry_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
49e82d66c704858 Con Kolivas 2019-10-25 2495 rq->hrexpiry_timer.function = hrexpiry;
49e82d66c704858 Con Kolivas 2019-10-25 2496 }
49e82d66c704858 Con Kolivas 2019-10-25 2497
49e82d66c704858 Con Kolivas 2019-10-25 2498 static inline int rq_dither(struct rq *rq)
49e82d66c704858 Con Kolivas 2019-10-25 2499 {
49e82d66c704858 Con Kolivas 2019-10-25 2500 if (!hrexpiry_enabled(rq))
49e82d66c704858 Con Kolivas 2019-10-25 2501 return HALF_JIFFY_US;
49e82d66c704858 Con Kolivas 2019-10-25 2502 return 0;
49e82d66c704858 Con Kolivas 2019-10-25 2503 }
49e82d66c704858 Con Kolivas 2019-10-25 2504
49e82d66c704858 Con Kolivas 2019-10-25 2505 /*
49e82d66c704858 Con Kolivas 2019-10-25 2506 * wake_up_new_task - wake up a newly created task for the first time.
49e82d66c704858 Con Kolivas 2019-10-25 2507 *
49e82d66c704858 Con Kolivas 2019-10-25 2508 * This function will do some initial scheduler statistics housekeeping
49e82d66c704858 Con Kolivas 2019-10-25 2509 * that must be done for every newly created context, then puts the task
49e82d66c704858 Con Kolivas 2019-10-25 2510 * on the runqueue and wakes it.
49e82d66c704858 Con Kolivas 2019-10-25 2511 */
49e82d66c704858 Con Kolivas 2019-10-25 2512 void wake_up_new_task(struct task_struct *p)
49e82d66c704858 Con Kolivas 2019-10-25 2513 {
49e82d66c704858 Con Kolivas 2019-10-25 2514 struct task_struct *parent, *rq_curr;
49e82d66c704858 Con Kolivas 2019-10-25 2515 struct rq *rq, *new_rq;
49e82d66c704858 Con Kolivas 2019-10-25 2516 unsigned long flags;
49e82d66c704858 Con Kolivas 2019-10-25 2517
49e82d66c704858 Con Kolivas 2019-10-25 @2518 parent = p->parent;
49e82d66c704858 Con Kolivas 2019-10-25 2519
49e82d66c704858 Con Kolivas 2019-10-25 2520 raw_spin_lock_irqsave(&p->pi_lock, flags);
49e82d66c704858 Con Kolivas 2019-10-25 2521 p->state = TASK_RUNNING;
49e82d66c704858 Con Kolivas 2019-10-25 2522 /* Task_rq can't change yet on a new task */
49e82d66c704858 Con Kolivas 2019-10-25 2523 new_rq = rq = task_rq(p);
49e82d66c704858 Con Kolivas 2019-10-25 2524 if (unlikely(needs_other_cpu(p, task_cpu(p)))) {
49e82d66c704858 Con Kolivas 2019-10-25 2525 set_task_cpu(p, valid_task_cpu(p));
49e82d66c704858 Con Kolivas 2019-10-25 2526 new_rq = task_rq(p);
49e82d66c704858 Con Kolivas 2019-10-25 2527 }
49e82d66c704858 Con Kolivas 2019-10-25 2528
49e82d66c704858 Con Kolivas 2019-10-25 2529 double_rq_lock(rq, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25 @2530 rq_curr = rq->curr;
49e82d66c704858 Con Kolivas 2019-10-25 2531
49e82d66c704858 Con Kolivas 2019-10-25 2532 /*
49e82d66c704858 Con Kolivas 2019-10-25 2533 * Make sure we do not leak PI boosting priority to the child.
49e82d66c704858 Con Kolivas 2019-10-25 2534 */
49e82d66c704858 Con Kolivas 2019-10-25 2535 p->prio = rq_curr->normal_prio;
49e82d66c704858 Con Kolivas 2019-10-25 2536
49e82d66c704858 Con Kolivas 2019-10-25 2537 trace_sched_wakeup_new(p);
49e82d66c704858 Con Kolivas 2019-10-25 2538
49e82d66c704858 Con Kolivas 2019-10-25 2539 /*
49e82d66c704858 Con Kolivas 2019-10-25 2540 * Share the timeslice between parent and child, thus the
49e82d66c704858 Con Kolivas 2019-10-25 2541 * total amount of pending timeslices in the system doesn't change,
49e82d66c704858 Con Kolivas 2019-10-25 2542 * resulting in more scheduling fairness. If it's negative, it won't
49e82d66c704858 Con Kolivas 2019-10-25 2543 * matter since that's the same as being 0. rq->rq_deadline is only
49e82d66c704858 Con Kolivas 2019-10-25 2544 * modified within schedule() so it is always equal to
49e82d66c704858 Con Kolivas 2019-10-25 2545 * current->deadline.
49e82d66c704858 Con Kolivas 2019-10-25 2546 */
49e82d66c704858 Con Kolivas 2019-10-25 2547 account_task_cpu(rq, rq_curr);
49e82d66c704858 Con Kolivas 2019-10-25 2548 p->last_ran = rq_curr->last_ran;
49e82d66c704858 Con Kolivas 2019-10-25 2549 if (likely(rq_curr->policy != SCHED_FIFO)) {
49e82d66c704858 Con Kolivas 2019-10-25 2550 rq_curr->time_slice /= 2;
49e82d66c704858 Con Kolivas 2019-10-25 2551 if (rq_curr->time_slice < RESCHED_US) {
49e82d66c704858 Con Kolivas 2019-10-25 2552 /*
49e82d66c704858 Con Kolivas 2019-10-25 2553 * Forking task has run out of timeslice. Reschedule it and
49e82d66c704858 Con Kolivas 2019-10-25 2554 * start its child with a new time slice and deadline. The
49e82d66c704858 Con Kolivas 2019-10-25 2555 * child will end up running first because its deadline will
49e82d66c704858 Con Kolivas 2019-10-25 2556 * be slightly earlier.
49e82d66c704858 Con Kolivas 2019-10-25 2557 */
49e82d66c704858 Con Kolivas 2019-10-25 2558 __set_tsk_resched(rq_curr);
49e82d66c704858 Con Kolivas 2019-10-25 2559 time_slice_expired(p, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25 2560 if (suitable_idle_cpus(p))
49e82d66c704858 Con Kolivas 2019-10-25 2561 resched_best_idle(p, task_cpu(p));
49e82d66c704858 Con Kolivas 2019-10-25 2562 else if (unlikely(rq != new_rq))
49e82d66c704858 Con Kolivas 2019-10-25 2563 try_preempt(p, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25 2564 } else {
49e82d66c704858 Con Kolivas 2019-10-25 2565 p->time_slice = rq_curr->time_slice;
49e82d66c704858 Con Kolivas 2019-10-25 2566 if (rq_curr == parent && rq == new_rq && !suitable_idle_cpus(p)) {
49e82d66c704858 Con Kolivas 2019-10-25 2567 /*
49e82d66c704858 Con Kolivas 2019-10-25 2568 * The VM isn't cloned, so we're in a good position to
49e82d66c704858 Con Kolivas 2019-10-25 2569 * do child-runs-first in anticipation of an exec. This
49e82d66c704858 Con Kolivas 2019-10-25 2570 * usually avoids a lot of COW overhead.
49e82d66c704858 Con Kolivas 2019-10-25 2571 */
49e82d66c704858 Con Kolivas 2019-10-25 2572 __set_tsk_resched(rq_curr);
49e82d66c704858 Con Kolivas 2019-10-25 2573 } else {
49e82d66c704858 Con Kolivas 2019-10-25 2574 /*
49e82d66c704858 Con Kolivas 2019-10-25 2575 * Adjust the hrexpiry since rq_curr will keep
49e82d66c704858 Con Kolivas 2019-10-25 2576 * running and its timeslice has been shortened.
49e82d66c704858 Con Kolivas 2019-10-25 2577 */
49e82d66c704858 Con Kolivas 2019-10-25 2578 hrexpiry_start(rq, US_TO_NS(rq_curr->time_slice));
49e82d66c704858 Con Kolivas 2019-10-25 2579 try_preempt(p, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25 2580 }
49e82d66c704858 Con Kolivas 2019-10-25 2581 }
49e82d66c704858 Con Kolivas 2019-10-25 2582 } else {
49e82d66c704858 Con Kolivas 2019-10-25 2583 time_slice_expired(p, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25 2584 try_preempt(p, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25 2585 }
49e82d66c704858 Con Kolivas 2019-10-25 2586 activate_task(new_rq, p, 0);
49e82d66c704858 Con Kolivas 2019-10-25 2587 double_rq_unlock(rq, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25 2588 raw_spin_unlock_irqrestore(&p->pi_lock, flags);
49e82d66c704858 Con Kolivas 2019-10-25 2589 }
49e82d66c704858 Con Kolivas 2019-10-25 2590
:::::: The code at line 2471 was first introduced by commit
:::::: 49e82d66c704858ba77947984535811593d6dacb MultiQueue Skiplist Scheduler v0.204
:::::: TO: Con Kolivas <kernel(a)kolivas.org>
:::::: CC: Con Kolivas <kernel(a)kolivas.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
Re: [PATCH net-next 4/4] ptp: ptp_ines: use enum ptp_msg_type
by kernel test robot
Hi Christian,
I love your patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Christian-Eggers/net-ptp-introdu...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 72308ecbf33b145641aba61071be31a85ebfd92c
config: sh-allmodconfig (attached as .config)
compiler: sh4-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
# https://github.com/0day-ci/linux/commit/c4e4cfcabe3201e2ece90cc9025894e4e...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Christian-Eggers/net-ptp-introduce-enum-ptp_msg_type/20201118-033828
git checkout c4e4cfcabe3201e2ece90cc9025894e4ed08f069
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
>> drivers/ptp/ptp_ines.c:690:26: error: conflicting types for 'tag_to_msgtype'
690 | static enum ptp_msg_type tag_to_msgtype(u8 tag)
| ^~~~~~~~~~~~~~
drivers/ptp/ptp_ines.c:178:11: note: previous declaration of 'tag_to_msgtype' was here
178 | static u8 tag_to_msgtype(u8 tag);
| ^~~~~~~~~~~~~~
>> drivers/ptp/ptp_ines.c:178:11: warning: 'tag_to_msgtype' used but never defined
drivers/ptp/ptp_ines.c:690:26: warning: 'tag_to_msgtype' defined but not used [-Wunused-function]
690 | static enum ptp_msg_type tag_to_msgtype(u8 tag)
| ^~~~~~~~~~~~~~
vim +/tag_to_msgtype +690 drivers/ptp/ptp_ines.c
689
> 690 static enum ptp_msg_type tag_to_msgtype(u8 tag)
691 {
692 switch (tag) {
693 case MESSAGE_TYPE_SYNC:
694 return PTP_MSGTYPE_SYNC;
695 case MESSAGE_TYPE_P_DELAY_REQ:
696 return PTP_MSGTYPE_PDELAY_REQ;
697 case MESSAGE_TYPE_P_DELAY_RESP:
698 return PTP_MSGTYPE_PDELAY_RESP;
699 case MESSAGE_TYPE_DELAY_REQ:
700 return PTP_MSGTYPE_DELAY_REQ;
701 }
702 return 0xf;
703 }
704
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[ribalda:uvc-noncontiguous 4/5] drivers/media/usb/uvc/uvc_video.c:909:8: warning: no previous prototype for 'uvc_video_dump_time_stats'
by kernel test robot
tree: https://github.com/ribalda/linux uvc-noncontiguous
head: 08aff4b45dd51b3dfba18af4aa40b0fa5e2b5529
commit: 817731cae164166428258499e995dfe1ed135ad1 [4/5] TEST-ONLY: media: uvcvideo: Add statistics for measuring performance
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-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
# https://github.com/ribalda/linux/commit/817731cae164166428258499e995dfe1e...
git remote add ribalda https://github.com/ribalda/linux
git fetch --no-tags ribalda uvc-noncontiguous
git checkout 817731cae164166428258499e995dfe1ed135ad1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=xtensa
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 >>):
>> drivers/media/usb/uvc/uvc_video.c:909:8: warning: no previous prototype for 'uvc_video_dump_time_stats' [-Wmissing-prototypes]
909 | size_t uvc_video_dump_time_stats(char *buf, size_t size,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/usb/uvc/uvc_video.c:930:8: warning: no previous prototype for 'uvc_video_dump_speed' [-Wmissing-prototypes]
930 | size_t uvc_video_dump_speed(char *buf, size_t size, const char *pfx, u64 bytes,
| ^~~~~~~~~~~~~~~~~~~~
vim +/uvc_video_dump_time_stats +909 drivers/media/usb/uvc/uvc_video.c
908
> 909 size_t uvc_video_dump_time_stats(char *buf, size_t size,
910 struct uvc_stats_time *stat, const char *pfx)
911 {
912 unsigned int avg = 0;
913 unsigned int std = 0;
914
915 if (stat->qty) {
916 avg = div_u64(stat->duration, stat->qty);
917 std = int_sqrt64(div_u64(stat->duration2, stat->qty) -
918 avg * avg);
919 }
920
921 /* Stat durations are in nanoseconds, we present in micro-seconds */
922 return scnprintf(
923 buf, size,
924 "%s: %llu/%u uS/qty: %u.%03u avg %u.%03u std %u.%03u min %u.%03u max (uS)\n",
925 pfx, div_u64(stat->duration, 1000), stat->qty, avg / 1000,
926 avg % 1000, std / 1000, std % 1000, stat->min / 1000,
927 stat->min % 1000, stat->max / 1000, stat->max % 1000);
928 }
929
> 930 size_t uvc_video_dump_speed(char *buf, size_t size, const char *pfx, u64 bytes,
931 u64 milliseconds)
932 {
933 unsigned int rate = 0;
934 bool gbit = false;
935
936 if (milliseconds)
937 rate = div_u64(bytes * 8, milliseconds);
938
939 if (rate >= 1000000) {
940 gbit = true;
941 rate /= 1000;
942 }
943
944 /*
945 * bits/milliseconds == kilobits/seconds,
946 * presented here as Mbits/s (or Gbit/s) with 3 decimal places
947 */
948 return scnprintf(buf, size, "%s: %d.%03d %sbits/s\n", pfx, rate / 1000,
949 rate % 1000, gbit ? "G" : "M");
950 }
951
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[ti:ti-linux-5.4.y 2369/11671] drivers/crypto/sa2ul.c:753:14: warning: variable 'cra_name' set but not used
by kernel test robot
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-linux-5.4.y
head: a78602ef875fdf4abcb333da76f020cba57cc913
commit: 5b8516f3bedb3e1c273e7747b6e4a85c6e47907a [2369/11671] crypto: sa2ul: Add crypto driver
config: nios2-randconfig-r034-20201117 (attached as .config)
compiler: nios2-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
git remote add ti git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
git fetch --no-tags ti ti-linux-5.4.y
git checkout 5b8516f3bedb3e1c273e7747b6e4a85c6e47907a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2
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 >>):
drivers/crypto/sa2ul.c: In function 'sa_aes_setkey':
>> drivers/crypto/sa2ul.c:753:14: warning: variable 'cra_name' set but not used [-Wunused-but-set-variable]
753 | const char *cra_name;
| ^~~~~~~~
drivers/crypto/sa2ul.c: In function 'sa_aes_run':
drivers/crypto/sa2ul.c:952:8: warning: variable 'flags' set but not used [-Wunused-but-set-variable]
952 | gfp_t flags;
| ^~~~~
drivers/crypto/sa2ul.c: At top level:
>> drivers/crypto/sa2ul.c:1169:6: warning: no previous prototype for 'sa_register_algos' [-Wmissing-prototypes]
1169 | void sa_register_algos(const struct device *dev)
| ^~~~~~~~~~~~~~~~~
>> drivers/crypto/sa2ul.c:1198:6: warning: no previous prototype for 'sa_unregister_algos' [-Wmissing-prototypes]
1198 | void sa_unregister_algos(const struct device *dev)
| ^~~~~~~~~~~~~~~~~~~
drivers/crypto/sa2ul.c: In function 'sa_unregister_algos':
drivers/crypto/sa2ul.c:1202:9: warning: variable 'err' set but not used [-Wunused-but-set-variable]
1202 | int i, err = 0, num_algs = ARRAY_SIZE(sa_algs);
| ^~~
drivers/crypto/sa2ul.c:1200:8: warning: variable 'alg_name' set but not used [-Wunused-but-set-variable]
1200 | char *alg_name;
| ^~~~~~~~
drivers/crypto/sa2ul.c: At top level:
drivers/crypto/sa2ul.c:1305:5: warning: no previous prototype for 'sa2ul_trng_enable' [-Wmissing-prototypes]
1305 | int sa2ul_trng_enable(struct device *dev)
| ^~~~~~~~~~~~~~~~~
vim +/cra_name +753 drivers/crypto/sa2ul.c
747
748 static int sa_aes_setkey(struct crypto_ablkcipher *tfm, const u8 *key,
749 unsigned int keylen, struct algo_data *ad)
750 {
751 struct sa_tfm_ctx *ctx = crypto_ablkcipher_ctx(tfm);
752
> 753 const char *cra_name;
754 int cmdl_len;
755 struct sa_cmdl_cfg cfg;
756
757 if (keylen != AES_KEYSIZE_128 && keylen != AES_KEYSIZE_192 &&
758 keylen != AES_KEYSIZE_256)
759 return -EINVAL;
760
761 cra_name = crypto_tfm_alg_name(&tfm->base);
762
763 memzero_explicit(&cfg, sizeof(cfg));
764 cfg.enc1st = 1;
765 cfg.enc_eng_id = ad->enc_eng.eng_id;
766 cfg.iv_size = crypto_ablkcipher_ivsize(tfm);
767 cfg.auth_eng_id = SA_ENG_ID_NONE;
768 cfg.auth_subkey_len = 0;
769
770 /* Setup Encryption Security Context & Command label template */
771 if (sa_init_sc(&ctx->enc, key, keylen,
772 NULL, 0, ad, 1, &ctx->enc.epib[1], false))
773 goto badkey;
774
775 cmdl_len = sa_format_cmdl_gen(&cfg,
776 (u8 *)ctx->enc.cmdl,
777 &ctx->enc.cmdl_upd_info);
778 if (cmdl_len <= 0 || (cmdl_len > SA_MAX_CMDL_WORDS * sizeof(u32)))
779 goto badkey;
780
781 ctx->enc.cmdl_size = cmdl_len;
782
783 /* Setup Decryption Security Context & Command label template */
784 if (sa_init_sc(&ctx->dec, key, keylen,
785 NULL, 0, ad, 0, &ctx->dec.epib[1], false))
786 goto badkey;
787
788 cfg.enc1st = 0;
789 cfg.enc_eng_id = ad->enc_eng.eng_id;
790 cfg.auth_eng_id = SA_ENG_ID_NONE;
791 cfg.auth_subkey_len = 0;
792 cmdl_len = sa_format_cmdl_gen(&cfg, (u8 *)ctx->dec.cmdl,
793 &ctx->dec.cmdl_upd_info);
794
795 if (cmdl_len <= 0 || (cmdl_len > SA_MAX_CMDL_WORDS * sizeof(u32)))
796 goto badkey;
797
798 ctx->dec.cmdl_size = cmdl_len;
799 ctx->iv_idx = ad->iv_idx;
800
801 kfree(ad);
802
803 return 0;
804
805 badkey:
806 dev_err(sa_k3_dev, "%s: badkey\n", __func__);
807 return -EINVAL;
808 }
809
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
Re: [PATCH v1] Bluetooth: btqca: Add support to read FW build version for WCN3991 BTSoC
by kernel test robot
Hi Venkata,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on bluetooth-next/master]
[also build test WARNING on linux/master linus/master bluetooth/master v5.10-rc4 next-20201117]
[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/Venkata-Lakshmi-Narayana-Gubba/B...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
config: x86_64-randconfig-a012-20201116 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ace9653c11c6308401dcda2e8b26bf97e6e66e30)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/773b13ede05cd62b2e429541685f7be9a...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Venkata-Lakshmi-Narayana-Gubba/Bluetooth-btqca-Add-support-to-read-FW-build-version-for-WCN3991-BTSoC/20201118-013220
git checkout 773b13ede05cd62b2e429541685f7be9a9ec1e7b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 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 >>):
>> drivers/bluetooth/btqca.c:104:5: warning: no previous prototype for function 'qca_read_fw_build_info' [-Wmissing-prototypes]
int qca_read_fw_build_info(struct hci_dev *hdev)
^
drivers/bluetooth/btqca.c:104:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int qca_read_fw_build_info(struct hci_dev *hdev)
^
static
1 warning generated.
vim +/qca_read_fw_build_info +104 drivers/bluetooth/btqca.c
103
> 104 int qca_read_fw_build_info(struct hci_dev *hdev)
105 {
106 struct sk_buff *skb;
107 struct edl_event_hdr *edl;
108 char cmd;
109 int err = 0;
110 char build_label[QCA_FW_BUILD_VER_LEN];
111 int build_lbl_len;
112
113 bt_dev_dbg(hdev, "QCA read fw build info");
114
115 cmd = EDL_GET_BUILD_INFO_CMD;
116 skb = __hci_cmd_sync_ev(hdev, EDL_PATCH_CMD_OPCODE, EDL_PATCH_CMD_LEN,
117 &cmd, HCI_EV_VENDOR, HCI_INIT_TIMEOUT);
118 if (IS_ERR(skb)) {
119 err = PTR_ERR(skb);
120 bt_dev_err(hdev, "Reading QCA fw build info failed (%d)",
121 err);
122 return err;
123 }
124
125 edl = (struct edl_event_hdr *)(skb->data);
126 if (!edl) {
127 bt_dev_err(hdev, "QCA read fw build info with no header");
128 err = -EILSEQ;
129 goto out;
130 }
131
132 if (edl->cresp != EDL_CMD_REQ_RES_EVT ||
133 edl->rtype != EDL_GET_BUILD_INFO_CMD) {
134 bt_dev_err(hdev, "QCA Wrong packet received %d %d", edl->cresp,
135 edl->rtype);
136 err = -EIO;
137 goto out;
138 }
139
140 build_lbl_len = edl->data[0];
141 memcpy(build_label, &edl->data[1], build_lbl_len);
142 *(build_label + build_lbl_len) = '\0';
143
144 bt_dev_info(hdev, "BT SoC FW Build info: %s", build_label);
145
146 out:
147 kfree_skb(skb);
148 if (err)
149 bt_dev_err(hdev, "QCA read fw build info failed (%d)", err);
150
151 return err;
152 }
153
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[linux-next:master 202/6320] drivers/soc/aspeed/aspeed-xdma.c:453:39: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 7c8ca8129ee9724cb1527895fe6dec942ef07f19
commit: 86609baa421735ab27c3b08db5bf18a96cc2132f [202/6320] soc: aspeed: xdma: Add user interface
config: alpha-randconfig-s031-20201117 (attached as .config)
compiler: alpha-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.3-107-gaf3512a6-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 86609baa421735ab27c3b08db5bf18a96cc2132f
# 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=alpha
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/soc/aspeed/aspeed-xdma.c:453:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem * @@ got struct aspeed_xdma_cmd * @@
>> drivers/soc/aspeed/aspeed-xdma.c:453:39: sparse: expected void volatile [noderef] __iomem *
drivers/soc/aspeed/aspeed-xdma.c:453:39: sparse: got struct aspeed_xdma_cmd *
vim +453 drivers/soc/aspeed/aspeed-xdma.c
0f6a7063f38520a Eddie James 2020-05-05 422
0f6a7063f38520a Eddie James 2020-05-05 423 static int aspeed_xdma_start(struct aspeed_xdma *ctx, unsigned int num_cmds,
0f6a7063f38520a Eddie James 2020-05-05 424 struct aspeed_xdma_cmd cmds[2], bool upstream,
0f6a7063f38520a Eddie James 2020-05-05 425 struct aspeed_xdma_client *client)
0f6a7063f38520a Eddie James 2020-05-05 426 {
0f6a7063f38520a Eddie James 2020-05-05 427 unsigned int i;
0f6a7063f38520a Eddie James 2020-05-05 428 int rc = -EBUSY;
0f6a7063f38520a Eddie James 2020-05-05 429 unsigned long flags;
0f6a7063f38520a Eddie James 2020-05-05 430
0f6a7063f38520a Eddie James 2020-05-05 431 spin_lock_irqsave(&ctx->engine_lock, flags);
0f6a7063f38520a Eddie James 2020-05-05 432 if (ctx->in_reset)
0f6a7063f38520a Eddie James 2020-05-05 433 goto unlock;
0f6a7063f38520a Eddie James 2020-05-05 434
0f6a7063f38520a Eddie James 2020-05-05 435 spin_lock(&ctx->client_lock);
0f6a7063f38520a Eddie James 2020-05-05 436 if (ctx->current_client) {
0f6a7063f38520a Eddie James 2020-05-05 437 spin_unlock(&ctx->client_lock);
0f6a7063f38520a Eddie James 2020-05-05 438 goto unlock;
0f6a7063f38520a Eddie James 2020-05-05 439 }
0f6a7063f38520a Eddie James 2020-05-05 440
0f6a7063f38520a Eddie James 2020-05-05 441 client->error = false;
0f6a7063f38520a Eddie James 2020-05-05 442 client->in_progress = true;
0f6a7063f38520a Eddie James 2020-05-05 443 ctx->current_client = client;
0f6a7063f38520a Eddie James 2020-05-05 444 spin_unlock(&ctx->client_lock);
0f6a7063f38520a Eddie James 2020-05-05 445
0f6a7063f38520a Eddie James 2020-05-05 446 ctx->upstream = upstream;
0f6a7063f38520a Eddie James 2020-05-05 447 for (i = 0; i < num_cmds; ++i) {
0f6a7063f38520a Eddie James 2020-05-05 448 /*
0f6a7063f38520a Eddie James 2020-05-05 449 * Use memcpy_toio here to get some barriers before starting
0f6a7063f38520a Eddie James 2020-05-05 450 * the operation. The command(s) need to be in physical memory
0f6a7063f38520a Eddie James 2020-05-05 451 * before the XDMA engine starts.
0f6a7063f38520a Eddie James 2020-05-05 452 */
0f6a7063f38520a Eddie James 2020-05-05 @453 memcpy_toio(&ctx->cmdq[ctx->cmd_idx], &cmds[i],
0f6a7063f38520a Eddie James 2020-05-05 454 sizeof(struct aspeed_xdma_cmd));
0f6a7063f38520a Eddie James 2020-05-05 455 ctx->cmd_idx = (ctx->cmd_idx + 1) % XDMA_NUM_CMDS;
0f6a7063f38520a Eddie James 2020-05-05 456 }
0f6a7063f38520a Eddie James 2020-05-05 457
0f6a7063f38520a Eddie James 2020-05-05 458 aspeed_xdma_writel(ctx, ctx->chip->regs.bmc_cmdq_writep,
0f6a7063f38520a Eddie James 2020-05-05 459 ctx->cmd_idx * ctx->chip->queue_entry_size);
0f6a7063f38520a Eddie James 2020-05-05 460 rc = 0;
0f6a7063f38520a Eddie James 2020-05-05 461
0f6a7063f38520a Eddie James 2020-05-05 462 unlock:
0f6a7063f38520a Eddie James 2020-05-05 463 spin_unlock_irqrestore(&ctx->engine_lock, flags);
0f6a7063f38520a Eddie James 2020-05-05 464 return rc;
0f6a7063f38520a Eddie James 2020-05-05 465 }
0f6a7063f38520a Eddie James 2020-05-05 466
:::::: The code at line 453 was first introduced by commit
:::::: 0f6a7063f38520a50bd2c9ed02f00e3d8646c2ad soc: aspeed: Add XDMA Engine Driver
:::::: TO: Eddie James <eajames(a)linux.ibm.com>
:::::: CC: Joel Stanley <joel(a)jms.id.au>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months