[tip:objtool/core 25/26] vmlinux.o: warning: objtool: fixup_bad_iret()+0x22: call to __this_cpu_preempt_check() leaves .noinstr.text section
by kernel test robot
CC: linux-kernel(a)vger.kernel.org
CC: x86(a)kernel.org
TO: Peter Zijlstra <peterz(a)infradead.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git objtool/core
head: b08cadbd3b8721db738d9a00ef3ce3ed667e6d9c
commit: db2b0c5d7b6f19b3c2cab08c531b65342eb5252b [25/26] objtool: Support pv_opsindirect calls for noinstr
config: x86_64-randconfig-r004-20211013 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b6a8c695542b2987eb9a203d5663a0740cb4725f)
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://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=db...
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip objtool/core
git checkout db2b0c5d7b6f19b3c2cab08c531b65342eb5252b
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
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 >>):
vmlinux.o: warning: objtool: do_syscall_64()+0x18: call to static_key_count() leaves .noinstr.text section
vmlinux.o: warning: objtool: do_int80_syscall_32()+0x23: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: do_fast_syscall_32()+0x1d: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: __do_fast_syscall_32()+0x29: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: fixup_bad_iret()+0x22: call to __this_cpu_preempt_check() leaves .noinstr.text section
vmlinux.o: warning: objtool: in_task_stack()+0x17: call to task_stack_page() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: in_entry_stack()+0xd: call to __this_cpu_preempt_check() leaves .noinstr.text section
vmlinux.o: warning: objtool: exc_nmi()+0xc: call to sev_es_nmi_complete() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: default_do_nmi()+0x17: call to __this_cpu_preempt_check() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: kvm_read_and_reset_apf_flags()+0x5: call to __this_cpu_preempt_check() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: lockdep_hardirqs_on()+0xb8: call to __this_cpu_preempt_check() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: lockdep_hardirqs_off()+0xb6: call to __this_cpu_preempt_check() leaves .noinstr.text section
vmlinux.o: warning: objtool: debug_lockdep_rcu_enabled()+0x26: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: rcu_dynticks_inc()+0x27: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: rcu_nmi_exit()+0x16f: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: rcu_dynticks_eqs_enter()+0x4: call to rcu_dynticks_task_trace_enter() leaves .noinstr.text section
vmlinux.o: warning: objtool: rcu_nmi_enter()+0x34: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: rcu_dynticks_eqs_exit()+0x12: call to rcu_dynticks_task_trace_exit() leaves .noinstr.text section
vmlinux.o: warning: objtool: enter_from_user_mode()+0x19: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: syscall_enter_from_user_mode()+0x22: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare()+0x19: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: exit_to_user_mode()+0x13: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: syscall_exit_to_user_mode()+0x1c6: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: irqentry_enter_from_user_mode()+0x19: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: irqentry_exit_to_user_mode()+0x1a: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: irqentry_enter()+0x16: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: irqentry_exit()+0x3e: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
vmlinux.o: warning: objtool: irqentry_nmi_enter()+0x1d: call to __tsan_atomic64_fetch_add() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: irqentry_nmi_exit()+0x3d: call to __this_cpu_preempt_check() leaves .noinstr.text section
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[gustavoars:for-next/kspp 4/6] drivers/video/fbdev/omap/omapfb_main.c:1558:2: warning: unannotated fall-through between switch labels
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git for-next/kspp
head: 312cee4f1ab71ad56dde7c45fc3943341e712536
commit: 9bed5200e04d2a3dcd3a420d249e947eac7ec7c1 [4/6] Makefile: Enable -Wimplicit-fallthrough for Clang
config: arm-randconfig-r023-20211013 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 6c76d0101193aa4eb891a6954ff047eda2f9cf71)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/comm...
git remote add gustavoars https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git
git fetch --no-tags gustavoars for-next/kspp
git checkout 9bed5200e04d2a3dcd3a420d249e947eac7ec7c1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm
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/video/fbdev/omap/omapfb_main.c:1558:2: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
case 0:
^
drivers/video/fbdev/omap/omapfb_main.c:1558:2: note: insert 'break;' to avoid fall-through
case 0:
^
break;
1 warning generated.
vim +1558 drivers/video/fbdev/omap/omapfb_main.c
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1521
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1522 /*
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1523 * Free driver resources. Can be called to rollback an aborted initialization
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1524 * sequence.
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1525 */
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1526 static void omapfb_free_resources(struct omapfb_device *fbdev, int state)
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1527 {
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1528 int i;
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1529
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1530 switch (state) {
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1531 case OMAPFB_ACTIVE:
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1532 for (i = 0; i < fbdev->mem_desc.region_cnt; i++)
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1533 unregister_framebuffer(fbdev->fb_info[i]);
df561f6688fef7 drivers/video/fbdev/omap/omapfb_main.c Gustavo A. R. Silva 2020-08-23 1534 fallthrough;
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1535 case 7:
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1536 omapfb_unregister_sysfs(fbdev);
df561f6688fef7 drivers/video/fbdev/omap/omapfb_main.c Gustavo A. R. Silva 2020-08-23 1537 fallthrough;
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1538 case 6:
561eb9d09a93d7 drivers/video/fbdev/omap/omapfb_main.c Lars-Peter Clausen 2017-01-30 1539 if (fbdev->panel->disable)
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1540 fbdev->panel->disable(fbdev->panel);
df561f6688fef7 drivers/video/fbdev/omap/omapfb_main.c Gustavo A. R. Silva 2020-08-23 1541 fallthrough;
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1542 case 5:
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1543 omapfb_set_update_mode(fbdev, OMAPFB_UPDATE_DISABLED);
df561f6688fef7 drivers/video/fbdev/omap/omapfb_main.c Gustavo A. R. Silva 2020-08-23 1544 fallthrough;
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1545 case 4:
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1546 planes_cleanup(fbdev);
df561f6688fef7 drivers/video/fbdev/omap/omapfb_main.c Gustavo A. R. Silva 2020-08-23 1547 fallthrough;
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1548 case 3:
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1549 ctrl_cleanup(fbdev);
df561f6688fef7 drivers/video/fbdev/omap/omapfb_main.c Gustavo A. R. Silva 2020-08-23 1550 fallthrough;
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1551 case 2:
561eb9d09a93d7 drivers/video/fbdev/omap/omapfb_main.c Lars-Peter Clausen 2017-01-30 1552 if (fbdev->panel->cleanup)
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1553 fbdev->panel->cleanup(fbdev->panel);
df561f6688fef7 drivers/video/fbdev/omap/omapfb_main.c Gustavo A. R. Silva 2020-08-23 1554 fallthrough;
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1555 case 1:
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1556 dev_set_drvdata(fbdev->dev, NULL);
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1557 kfree(fbdev);
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 @1558 case 0:
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1559 /* nothing to free */
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1560 break;
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1561 default:
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1562 BUG();
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1563 }
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1564 }
8b08cf2b64f5a6 drivers/video/omap/omapfb_main.c Imre Deak 2007-07-17 1565
:::::: The code at line 1558 was first introduced by commit
:::::: 8b08cf2b64f5a60594b07795b2ad518c6d044566 OMAP: add TI OMAP framebuffer driver
:::::: TO: Imre Deak <imre.deak(a)solidboot.com>
:::::: 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
11 months, 1 week
Re: [PATCH v2 3/6] staging: media: wave5: Add the v4l2 layer
by kernel test robot
Hi Dafna,
I love your patch! Yet something to improve:
[auto build test ERROR on staging/staging-testing]
url: https://github.com/0day-ci/linux/commits/Dafna-Hirschfeld/staging-media-w...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 98f668b30e8e65324b06332e9a3e2ea340bfd7f1
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.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/fd517a37be85a9497421e7ef39ca6b944...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Dafna-Hirschfeld/staging-media-wave5-add-wave5-codec-driver/20211013-185733
git checkout fd517a37be85a9497421e7ef39ca6b944d68089e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arc
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/staging/media/wave5/wave5-hw.c:240:5: error: no previous prototype for 'setup_wave5_properties' [-Werror=missing-prototypes]
240 | int setup_wave5_properties(struct device *dev)
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
drivers/staging/media/wave5/vpu_dec.c: In function 'wave5_vpu_dec_release':
>> drivers/staging/media/wave5/vpu_dec.c:1323:21: error: variable 'ret' set but not used [-Werror=unused-but-set-variable]
1323 | int ret;
| ^~~
cc1: all warnings being treated as errors
vim +/ret +1323 drivers/staging/media/wave5/vpu_dec.c
1314
1315 static int wave5_vpu_dec_release(struct file *filp)
1316 {
1317 int i;
1318 struct vpu_instance *inst = wave5_to_vpu_inst(filp->private_data);
1319 unsigned int loop_count = 0;
1320
1321 v4l2_m2m_ctx_release(inst->v4l2_fh.m2m_ctx);
1322 if (inst->state != VPU_INST_STATE_NONE) {
> 1323 int ret;
1324 u32 fail_res = 0;
1325
1326 ret = wave5_vpu_dec_close(inst, &fail_res);
1327 while (fail_res == WAVE5_SYSERR_VPU_STILL_RUNNING) {
1328 if (wave5_vpu_wait_interrupt(inst, VPU_DEC_TIMEOUT) < 0) {
1329 dev_dbg(inst->dev->dev, "failed to call vpu_wait_interrupt()\n");
1330 if (loop_count < 10) {
1331 loop_count++;
1332 continue;
1333 } else {
1334 dev_dbg(inst->dev->dev, "failed wave5_vpu_dec_close()\n");
1335 break;
1336 }
1337 } else {
1338 break;
1339 }
1340 fail_res = 0;
1341 ret = wave5_vpu_dec_close(inst, &fail_res);
1342 }
1343 }
1344 for (i = 0; i < inst->min_dst_frame_buf_count; i++) {
1345 if (inst->frame_vbuf[i].size != 0)
1346 wave5_vdi_free_dma_memory(inst->dev, &inst->frame_vbuf[i]);
1347 }
1348 if (inst->bitstream_vbuf.size != 0)
1349 wave5_vdi_free_dma_memory(inst->dev, &inst->bitstream_vbuf);
1350 v4l2_ctrl_handler_free(&inst->v4l2_ctrl_hdl);
1351 v4l2_fh_del(&inst->v4l2_fh);
1352 v4l2_fh_exit(&inst->v4l2_fh);
1353 kfree(inst);
1354
1355 return 0;
1356 }
1357
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[lpieralisi-pci:pci/qcom 4/6] drivers/pci/controller/dwc/pcie-qcom.c:1531:24: sparse: sparse: incorrect type in return expression (different base types)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git pci/qcom
head: bab406fc1147f27b9602d9e3c6d7a6edbee2ea16
commit: 64bb1ea81641fdcce4423e2672025e63ebe0bee4 [4/6] PCI: qcom: Replace ops with struct pcie_cfg in pcie match data
config: csky-randconfig-s031-20211013 (attached as .config)
compiler: csky-linux-gcc (GCC) 11.2.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.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git/commit...
git remote add lpieralisi-pci https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git
git fetch --no-tags lpieralisi-pci pci/qcom
git checkout 64bb1ea81641fdcce4423e2672025e63ebe0bee4
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=csky
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/pci/controller/dwc/pcie-qcom.c: note: in included file (through include/linux/bitops.h, include/linux/kernel.h, include/linux/clk.h):
arch/csky/include/asm/bitops.h:77:9: sparse: sparse: preprocessor token __clear_bit redefined
drivers/pci/controller/dwc/pcie-qcom.c: note: in included file (through arch/csky/include/asm/bitops.h, include/linux/bitops.h, include/linux/kernel.h, ...):
include/asm-generic/bitops/non-atomic.h:34:9: sparse: this was the original definition
drivers/pci/controller/dwc/pcie-qcom.c:1319:30: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned short [usertype] bdf_be @@ got restricted __be16 [usertype] @@
drivers/pci/controller/dwc/pcie-qcom.c:1319:30: sparse: expected unsigned short [usertype] bdf_be
drivers/pci/controller/dwc/pcie-qcom.c:1319:30: sparse: got restricted __be16 [usertype]
>> drivers/pci/controller/dwc/pcie-qcom.c:1531:24: sparse: sparse: incorrect type in return expression (different base types) @@ expected int @@ got void * @@
drivers/pci/controller/dwc/pcie-qcom.c:1531:24: sparse: expected int
drivers/pci/controller/dwc/pcie-qcom.c:1531:24: sparse: got void *
drivers/pci/controller/dwc/pcie-qcom.c: note: in included file (through arch/csky/include/asm/io.h, include/linux/io.h, include/linux/irq.h, ...):
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
vim +1531 drivers/pci/controller/dwc/pcie-qcom.c
1499
1500 static int qcom_pcie_probe(struct platform_device *pdev)
1501 {
1502 struct device *dev = &pdev->dev;
1503 struct pcie_port *pp;
1504 struct dw_pcie *pci;
1505 struct qcom_pcie *pcie;
1506 const struct qcom_pcie_cfg *pcie_cfg;
1507 int ret;
1508
1509 pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
1510 if (!pcie)
1511 return -ENOMEM;
1512
1513 pci = devm_kzalloc(dev, sizeof(*pci), GFP_KERNEL);
1514 if (!pci)
1515 return -ENOMEM;
1516
1517 pm_runtime_enable(dev);
1518 ret = pm_runtime_get_sync(dev);
1519 if (ret < 0)
1520 goto err_pm_runtime_put;
1521
1522 pci->dev = dev;
1523 pci->ops = &dw_pcie_ops;
1524 pp = &pci->pp;
1525
1526 pcie->pci = pci;
1527
1528 pcie_cfg = of_device_get_match_data(dev);
1529 if (!pcie_cfg || !pcie_cfg->ops) {
1530 dev_err(dev, "Invalid platform data\n");
> 1531 return NULL;
1532 }
1533
1534 pcie->ops = pcie_cfg->ops;
1535
1536 pcie->reset = devm_gpiod_get_optional(dev, "perst", GPIOD_OUT_HIGH);
1537 if (IS_ERR(pcie->reset)) {
1538 ret = PTR_ERR(pcie->reset);
1539 goto err_pm_runtime_put;
1540 }
1541
1542 pcie->parf = devm_platform_ioremap_resource_byname(pdev, "parf");
1543 if (IS_ERR(pcie->parf)) {
1544 ret = PTR_ERR(pcie->parf);
1545 goto err_pm_runtime_put;
1546 }
1547
1548 pcie->elbi = devm_platform_ioremap_resource_byname(pdev, "elbi");
1549 if (IS_ERR(pcie->elbi)) {
1550 ret = PTR_ERR(pcie->elbi);
1551 goto err_pm_runtime_put;
1552 }
1553
1554 pcie->phy = devm_phy_optional_get(dev, "pciephy");
1555 if (IS_ERR(pcie->phy)) {
1556 ret = PTR_ERR(pcie->phy);
1557 goto err_pm_runtime_put;
1558 }
1559
1560 ret = pcie->ops->get_resources(pcie);
1561 if (ret)
1562 goto err_pm_runtime_put;
1563
1564 pp->ops = &qcom_pcie_dw_ops;
1565
1566 ret = phy_init(pcie->phy);
1567 if (ret) {
1568 pm_runtime_disable(&pdev->dev);
1569 goto err_pm_runtime_put;
1570 }
1571
1572 platform_set_drvdata(pdev, pcie);
1573
1574 ret = dw_pcie_host_init(pp);
1575 if (ret) {
1576 dev_err(dev, "cannot initialize host\n");
1577 pm_runtime_disable(&pdev->dev);
1578 goto err_pm_runtime_put;
1579 }
1580
1581 return 0;
1582
1583 err_pm_runtime_put:
1584 pm_runtime_put(dev);
1585 pm_runtime_disable(dev);
1586
1587 return ret;
1588 }
1589
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
Re: [PATCH v2 net-next 4/6] net: dsa: tag_rtl8_4: add realtek 8 byte protocol 4 tag
by kernel test robot
Hi "Alvin,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Alvin-ipraga/net-dsa-add-support...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git d1f24712a86abd04d82cf4b00fb4ab8ff2d23c8a
config: powerpc-randconfig-r023-20211013 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 11.2.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/e17d422e49ba2acbf43ae144fcce940cc...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alvin-ipraga/net-dsa-add-support-for-RTL8365MB-VC/20211013-225955
git checkout e17d422e49ba2acbf43ae144fcce940cc06152a0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 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 >>):
In file included from include/linux/byteorder/big_endian.h:5,
from arch/powerpc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:7,
from arch/powerpc/include/asm/bitops.h:265,
from include/linux/bitops.h:33,
from include/linux/kernel.h:12,
from include/linux/skbuff.h:13,
from include/linux/if_ether.h:19,
from include/linux/etherdevice.h:20,
from net/dsa/tag_rtl8_4.c:64:
net/dsa/tag_rtl8_4.c: In function 'rtl8_4_tag_xmit':
>> net/dsa/tag_rtl8_4.c:108:24: error: implicit declaration of function 'FIELD_PREP' [-Werror=implicit-function-declaration]
108 | tag[1] = htons(FIELD_PREP(RTL8_4_PROTOCOL, RTL8_4_PROTOCOL_RTL8365MB));
| ^~~~~~~~~~
include/uapi/linux/byteorder/big_endian.h:41:51: note: in definition of macro '__cpu_to_be16'
41 | #define __cpu_to_be16(x) ((__force __be16)(__u16)(x))
| ^
include/linux/byteorder/generic.h:141:18: note: in expansion of macro '___htons'
141 | #define htons(x) ___htons(x)
| ^~~~~~~~
net/dsa/tag_rtl8_4.c:108:18: note: in expansion of macro 'htons'
108 | tag[1] = htons(FIELD_PREP(RTL8_4_PROTOCOL, RTL8_4_PROTOCOL_RTL8365MB));
| ^~~~~
net/dsa/tag_rtl8_4.c: In function 'rtl8_4_tag_rcv':
>> net/dsa/tag_rtl8_4.c:142:17: error: implicit declaration of function 'FIELD_GET'; did you mean 'FOLL_GET'? [-Werror=implicit-function-declaration]
142 | proto = FIELD_GET(RTL8_4_PROTOCOL, ntohs(tag[1]));
| ^~~~~~~~~
| FOLL_GET
cc1: some warnings being treated as errors
vim +/FIELD_PREP +108 net/dsa/tag_rtl8_4.c
> 64 #include <linux/etherdevice.h>
65
66 #include "dsa_priv.h"
67
68 /* Protocols supported:
69 *
70 * 0x04 = RTL8365MB DSA protocol
71 */
72
73 #define RTL8_4_TAG_LEN 8
74
75 #define RTL8_4_PROTOCOL GENMASK(15, 8)
76 #define RTL8_4_PROTOCOL_RTL8365MB 0x04
77 #define RTL8_4_REASON GENMASK(7, 0)
78 #define RTL8_4_REASON_FORWARD 0
79 #define RTL8_4_REASON_TRAP 80
80
81 #define RTL8_4_LEARN_DIS BIT(5)
82
83 #define RTL8_4_TX GENMASK(3, 0)
84 #define RTL8_4_RX GENMASK(10, 0)
85
86 static struct sk_buff *rtl8_4_tag_xmit(struct sk_buff *skb,
87 struct net_device *dev)
88 {
89 struct dsa_port *dp = dsa_slave_to_port(dev);
90 __be16 *tag;
91
92 /* Pad out so the (stripped) packet is at least 64 bytes long
93 * (including FCS), otherwise the switch will drop the packet.
94 * Then we need an additional 8 bytes for the Realtek tag.
95 */
96 if (unlikely(__skb_put_padto(skb, ETH_ZLEN + RTL8_4_TAG_LEN, false)))
97 return NULL;
98
99 skb_push(skb, RTL8_4_TAG_LEN);
100
101 dsa_alloc_etype_header(skb, RTL8_4_TAG_LEN);
102 tag = dsa_etype_header_pos_tx(skb);
103
104 /* Set Realtek EtherType */
105 tag[0] = htons(ETH_P_REALTEK);
106
107 /* Set Protocol; zero REASON */
> 108 tag[1] = htons(FIELD_PREP(RTL8_4_PROTOCOL, RTL8_4_PROTOCOL_RTL8365MB));
109
110 /* Zero FID_EN, FID, PRI_EN, PRI, KEEP; set LEARN_DIS */
111 tag[2] = htons(FIELD_PREP(RTL8_4_LEARN_DIS, 1));
112
113 /* Zero ALLOW; set RX (CPU->switch) forwarding port mask */
114 tag[3] = htons(FIELD_PREP(RTL8_4_RX, BIT(dp->index)));
115
116 return skb;
117 }
118
119 static struct sk_buff *rtl8_4_tag_rcv(struct sk_buff *skb,
120 struct net_device *dev)
121 {
122 __be16 *tag;
123 u16 etype;
124 u8 reason;
125 u8 proto;
126 u8 port;
127
128 if (unlikely(!pskb_may_pull(skb, RTL8_4_TAG_LEN)))
129 return NULL;
130
131 tag = dsa_etype_header_pos_rx(skb);
132
133 /* Parse Realtek EtherType */
134 etype = ntohs(tag[0]);
135 if (unlikely(etype != ETH_P_REALTEK)) {
136 dev_warn_ratelimited(&dev->dev,
137 "non-realtek ethertype 0x%04x\n", etype);
138 return NULL;
139 }
140
141 /* Parse Protocol */
> 142 proto = FIELD_GET(RTL8_4_PROTOCOL, ntohs(tag[1]));
143 if (unlikely(proto != RTL8_4_PROTOCOL_RTL8365MB)) {
144 dev_warn_ratelimited(&dev->dev,
145 "unknown realtek protocol 0x%02x\n",
146 proto);
147 return NULL;
148 }
149
150 /* Parse REASON */
151 reason = FIELD_GET(RTL8_4_REASON, ntohs(tag[1]));
152
153 /* Parse TX (switch->CPU) */
154 port = FIELD_GET(RTL8_4_TX, ntohs(tag[3]));
155 skb->dev = dsa_master_find_slave(dev, 0, port);
156 if (!skb->dev) {
157 dev_warn_ratelimited(&dev->dev,
158 "could not find slave for port %d\n",
159 port);
160 return NULL;
161 }
162
163 /* Remove tag and recalculate checksum */
164 skb_pull_rcsum(skb, RTL8_4_TAG_LEN);
165
166 dsa_strip_etype_header(skb, RTL8_4_TAG_LEN);
167
168 if (reason != RTL8_4_REASON_TRAP)
169 dsa_default_offload_fwd_mark(skb);
170
171 return skb;
172 }
173
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
Re: [PATCH v2 net-next 4/6] net: dsa: tag_rtl8_4: add realtek 8 byte protocol 4 tag
by kernel test robot
Hi "Alvin,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Alvin-ipraga/net-dsa-add-support...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git d1f24712a86abd04d82cf4b00fb4ab8ff2d23c8a
config: x86_64-randconfig-r034-20211013 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b6a8c695542b2987eb9a203d5663a0740cb4725f)
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/e17d422e49ba2acbf43ae144fcce940cc...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alvin-ipraga/net-dsa-add-support-for-RTL8365MB-VC/20211013-225955
git checkout e17d422e49ba2acbf43ae144fcce940cc06152a0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 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 errors (new ones prefixed by >>):
>> net/dsa/tag_rtl8_4.c:108:17: error: implicit declaration of function 'FIELD_PREP' [-Werror,-Wimplicit-function-declaration]
tag[1] = htons(FIELD_PREP(RTL8_4_PROTOCOL, RTL8_4_PROTOCOL_RTL8365MB));
^
>> net/dsa/tag_rtl8_4.c:142:10: error: implicit declaration of function 'FIELD_GET' [-Werror,-Wimplicit-function-declaration]
proto = FIELD_GET(RTL8_4_PROTOCOL, ntohs(tag[1]));
^
2 errors generated.
vim +/FIELD_PREP +108 net/dsa/tag_rtl8_4.c
85
86 static struct sk_buff *rtl8_4_tag_xmit(struct sk_buff *skb,
87 struct net_device *dev)
88 {
89 struct dsa_port *dp = dsa_slave_to_port(dev);
90 __be16 *tag;
91
92 /* Pad out so the (stripped) packet is at least 64 bytes long
93 * (including FCS), otherwise the switch will drop the packet.
94 * Then we need an additional 8 bytes for the Realtek tag.
95 */
96 if (unlikely(__skb_put_padto(skb, ETH_ZLEN + RTL8_4_TAG_LEN, false)))
97 return NULL;
98
99 skb_push(skb, RTL8_4_TAG_LEN);
100
101 dsa_alloc_etype_header(skb, RTL8_4_TAG_LEN);
102 tag = dsa_etype_header_pos_tx(skb);
103
104 /* Set Realtek EtherType */
105 tag[0] = htons(ETH_P_REALTEK);
106
107 /* Set Protocol; zero REASON */
> 108 tag[1] = htons(FIELD_PREP(RTL8_4_PROTOCOL, RTL8_4_PROTOCOL_RTL8365MB));
109
110 /* Zero FID_EN, FID, PRI_EN, PRI, KEEP; set LEARN_DIS */
111 tag[2] = htons(FIELD_PREP(RTL8_4_LEARN_DIS, 1));
112
113 /* Zero ALLOW; set RX (CPU->switch) forwarding port mask */
114 tag[3] = htons(FIELD_PREP(RTL8_4_RX, BIT(dp->index)));
115
116 return skb;
117 }
118
119 static struct sk_buff *rtl8_4_tag_rcv(struct sk_buff *skb,
120 struct net_device *dev)
121 {
122 __be16 *tag;
123 u16 etype;
124 u8 reason;
125 u8 proto;
126 u8 port;
127
128 if (unlikely(!pskb_may_pull(skb, RTL8_4_TAG_LEN)))
129 return NULL;
130
131 tag = dsa_etype_header_pos_rx(skb);
132
133 /* Parse Realtek EtherType */
134 etype = ntohs(tag[0]);
135 if (unlikely(etype != ETH_P_REALTEK)) {
136 dev_warn_ratelimited(&dev->dev,
137 "non-realtek ethertype 0x%04x\n", etype);
138 return NULL;
139 }
140
141 /* Parse Protocol */
> 142 proto = FIELD_GET(RTL8_4_PROTOCOL, ntohs(tag[1]));
143 if (unlikely(proto != RTL8_4_PROTOCOL_RTL8365MB)) {
144 dev_warn_ratelimited(&dev->dev,
145 "unknown realtek protocol 0x%02x\n",
146 proto);
147 return NULL;
148 }
149
150 /* Parse REASON */
151 reason = FIELD_GET(RTL8_4_REASON, ntohs(tag[1]));
152
153 /* Parse TX (switch->CPU) */
154 port = FIELD_GET(RTL8_4_TX, ntohs(tag[3]));
155 skb->dev = dsa_master_find_slave(dev, 0, port);
156 if (!skb->dev) {
157 dev_warn_ratelimited(&dev->dev,
158 "could not find slave for port %d\n",
159 port);
160 return NULL;
161 }
162
163 /* Remove tag and recalculate checksum */
164 skb_pull_rcsum(skb, RTL8_4_TAG_LEN);
165
166 dsa_strip_etype_header(skb, RTL8_4_TAG_LEN);
167
168 if (reason != RTL8_4_REASON_TRAP)
169 dsa_default_offload_fwd_mark(skb);
170
171 return skb;
172 }
173
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[gfs2:for-next 14/38] fs/erofs/data.c:290:17: error: too few arguments to function call, expected 6, have 5
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git for-next
head: 9d0084204c8a7e01f9b8ebe81402be61e0a67a62
commit: ec80c70d41f2bb63d9e62204d3a3450c41678f67 [14/38] iomap: Add done_before argument to iomap_dio_rw
config: mips-randconfig-r015-20211013 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b6a8c695542b2987eb9a203d5663a0740cb4725f)
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
# https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git/commi...
git remote add gfs2 https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
git fetch --no-tags gfs2 for-next
git checkout ec80c70d41f2bb63d9e62204d3a3450c41678f67
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/pci/ fs/erofs/
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 >>):
>> fs/erofs/data.c:290:17: error: too few arguments to function call, expected 6, have 5
NULL, 0);
^
include/linux/iomap.h:340:9: note: 'iomap_dio_rw' declared here
ssize_t iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
^
1 error generated.
vim +290 fs/erofs/data.c
a08e67a0280215 Huang Jianan 2021-08-05 274
a08e67a0280215 Huang Jianan 2021-08-05 275 static ssize_t erofs_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
a08e67a0280215 Huang Jianan 2021-08-05 276 {
a08e67a0280215 Huang Jianan 2021-08-05 277 /* no need taking (shared) inode lock since it's a ro filesystem */
a08e67a0280215 Huang Jianan 2021-08-05 278 if (!iov_iter_count(to))
a08e67a0280215 Huang Jianan 2021-08-05 279 return 0;
a08e67a0280215 Huang Jianan 2021-08-05 280
06252e9ce05b94 Gao Xiang 2021-08-05 281 #ifdef CONFIG_FS_DAX
06252e9ce05b94 Gao Xiang 2021-08-05 282 if (IS_DAX(iocb->ki_filp->f_mapping->host))
06252e9ce05b94 Gao Xiang 2021-08-05 283 return dax_iomap_rw(iocb, to, &erofs_iomap_ops);
06252e9ce05b94 Gao Xiang 2021-08-05 284 #endif
a08e67a0280215 Huang Jianan 2021-08-05 285 if (iocb->ki_flags & IOCB_DIRECT) {
a08e67a0280215 Huang Jianan 2021-08-05 286 int err = erofs_prepare_dio(iocb, to);
a08e67a0280215 Huang Jianan 2021-08-05 287
a08e67a0280215 Huang Jianan 2021-08-05 288 if (!err)
a08e67a0280215 Huang Jianan 2021-08-05 289 return iomap_dio_rw(iocb, to, &erofs_iomap_ops,
a08e67a0280215 Huang Jianan 2021-08-05 @290 NULL, 0);
a08e67a0280215 Huang Jianan 2021-08-05 291 if (err < 0)
a08e67a0280215 Huang Jianan 2021-08-05 292 return err;
a08e67a0280215 Huang Jianan 2021-08-05 293 }
a08e67a0280215 Huang Jianan 2021-08-05 294 return filemap_read(iocb, to, 0);
a08e67a0280215 Huang Jianan 2021-08-05 295 }
a08e67a0280215 Huang Jianan 2021-08-05 296
:::::: The code at line 290 was first introduced by commit
:::::: a08e67a0280215f74eccf14fda81dd7fed6596ba erofs: iomap support for non-tailpacking DIO
:::::: TO: Huang Jianan <huangjianan(a)oppo.com>
:::::: CC: Gao Xiang <hsiangkao(a)linux.alibaba.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[gfs2:for-next 4/38] fs/ntfs3/file.c:990:16: error: implicit declaration of function 'iov_iter_fault_in_readable'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git for-next
head: 9d0084204c8a7e01f9b8ebe81402be61e0a67a62
commit: 4b03be65e2d7c2a3c7a83d28d5f9882e9dcf178d [4/38] iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readable
config: hexagon-randconfig-r045-20211013 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b6a8c695542b2987eb9a203d5663a0740cb4725f)
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://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git/commi...
git remote add gfs2 https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
git fetch --no-tags gfs2 for-next
git checkout 4b03be65e2d7c2a3c7a83d28d5f9882e9dcf178d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon
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 >>):
>> fs/ntfs3/file.c:990:16: error: implicit declaration of function 'iov_iter_fault_in_readable' [-Werror,-Wimplicit-function-declaration]
if (unlikely(iov_iter_fault_in_readable(from, bytes))) {
^
1 error generated.
vim +/iov_iter_fault_in_readable +990 fs/ntfs3/file.c
4342306f0f0d5f Konstantin Komarov 2021-08-13 863
e8b8e97f91b80f Kari Argillander 2021-08-03 864 /*
e8b8e97f91b80f Kari Argillander 2021-08-03 865 * ntfs_compress_write - Helper for ntfs_file_write_iter() (compressed files).
e8b8e97f91b80f Kari Argillander 2021-08-03 866 */
4342306f0f0d5f Konstantin Komarov 2021-08-13 867 static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from)
4342306f0f0d5f Konstantin Komarov 2021-08-13 868 {
4342306f0f0d5f Konstantin Komarov 2021-08-13 869 int err;
4342306f0f0d5f Konstantin Komarov 2021-08-13 870 struct file *file = iocb->ki_filp;
4342306f0f0d5f Konstantin Komarov 2021-08-13 871 size_t count = iov_iter_count(from);
4342306f0f0d5f Konstantin Komarov 2021-08-13 872 loff_t pos = iocb->ki_pos;
4342306f0f0d5f Konstantin Komarov 2021-08-13 873 struct inode *inode = file_inode(file);
4342306f0f0d5f Konstantin Komarov 2021-08-13 874 loff_t i_size = inode->i_size;
4342306f0f0d5f Konstantin Komarov 2021-08-13 875 struct address_space *mapping = inode->i_mapping;
4342306f0f0d5f Konstantin Komarov 2021-08-13 876 struct ntfs_inode *ni = ntfs_i(inode);
4342306f0f0d5f Konstantin Komarov 2021-08-13 877 u64 valid = ni->i_valid;
4342306f0f0d5f Konstantin Komarov 2021-08-13 878 struct ntfs_sb_info *sbi = ni->mi.sbi;
4342306f0f0d5f Konstantin Komarov 2021-08-13 879 struct page *page, **pages = NULL;
4342306f0f0d5f Konstantin Komarov 2021-08-13 880 size_t written = 0;
4342306f0f0d5f Konstantin Komarov 2021-08-13 881 u8 frame_bits = NTFS_LZNT_CUNIT + sbi->cluster_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13 882 u32 frame_size = 1u << frame_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13 883 u32 pages_per_frame = frame_size >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13 884 u32 ip, off;
4342306f0f0d5f Konstantin Komarov 2021-08-13 885 CLST frame;
4342306f0f0d5f Konstantin Komarov 2021-08-13 886 u64 frame_vbo;
4342306f0f0d5f Konstantin Komarov 2021-08-13 887 pgoff_t index;
4342306f0f0d5f Konstantin Komarov 2021-08-13 888 bool frame_uptodate;
4342306f0f0d5f Konstantin Komarov 2021-08-13 889
4342306f0f0d5f Konstantin Komarov 2021-08-13 890 if (frame_size < PAGE_SIZE) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 891 /*
4342306f0f0d5f Konstantin Komarov 2021-08-13 892 * frame_size == 8K if cluster 512
4342306f0f0d5f Konstantin Komarov 2021-08-13 893 * frame_size == 64K if cluster 4096
4342306f0f0d5f Konstantin Komarov 2021-08-13 894 */
4342306f0f0d5f Konstantin Komarov 2021-08-13 895 ntfs_inode_warn(inode, "page size is bigger than frame size");
4342306f0f0d5f Konstantin Komarov 2021-08-13 896 return -EOPNOTSUPP;
4342306f0f0d5f Konstantin Komarov 2021-08-13 897 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 898
345482bc431f64 Kari Argillander 2021-08-24 899 pages = kmalloc_array(pages_per_frame, sizeof(struct page *), GFP_NOFS);
4342306f0f0d5f Konstantin Komarov 2021-08-13 900 if (!pages)
4342306f0f0d5f Konstantin Komarov 2021-08-13 901 return -ENOMEM;
4342306f0f0d5f Konstantin Komarov 2021-08-13 902
4342306f0f0d5f Konstantin Komarov 2021-08-13 903 current->backing_dev_info = inode_to_bdi(inode);
4342306f0f0d5f Konstantin Komarov 2021-08-13 904 err = file_remove_privs(file);
4342306f0f0d5f Konstantin Komarov 2021-08-13 905 if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13 906 goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13 907
4342306f0f0d5f Konstantin Komarov 2021-08-13 908 err = file_update_time(file);
4342306f0f0d5f Konstantin Komarov 2021-08-13 909 if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13 910 goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13 911
e8b8e97f91b80f Kari Argillander 2021-08-03 912 /* Zero range [valid : pos). */
4342306f0f0d5f Konstantin Komarov 2021-08-13 913 while (valid < pos) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 914 CLST lcn, clen;
4342306f0f0d5f Konstantin Komarov 2021-08-13 915
4342306f0f0d5f Konstantin Komarov 2021-08-13 916 frame = valid >> frame_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13 917 frame_vbo = valid & ~(frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13 918 off = valid & (frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13 919
4342306f0f0d5f Konstantin Komarov 2021-08-13 920 err = attr_data_get_block(ni, frame << NTFS_LZNT_CUNIT, 0, &lcn,
4342306f0f0d5f Konstantin Komarov 2021-08-13 921 &clen, NULL);
4342306f0f0d5f Konstantin Komarov 2021-08-13 922 if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13 923 goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13 924
4342306f0f0d5f Konstantin Komarov 2021-08-13 925 if (lcn == SPARSE_LCN) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 926 ni->i_valid = valid =
4342306f0f0d5f Konstantin Komarov 2021-08-13 927 frame_vbo + ((u64)clen << sbi->cluster_bits);
4342306f0f0d5f Konstantin Komarov 2021-08-13 928 continue;
4342306f0f0d5f Konstantin Komarov 2021-08-13 929 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 930
e8b8e97f91b80f Kari Argillander 2021-08-03 931 /* Load full frame. */
4342306f0f0d5f Konstantin Komarov 2021-08-13 932 err = ntfs_get_frame_pages(mapping, frame_vbo >> PAGE_SHIFT,
4342306f0f0d5f Konstantin Komarov 2021-08-13 933 pages, pages_per_frame,
4342306f0f0d5f Konstantin Komarov 2021-08-13 934 &frame_uptodate);
4342306f0f0d5f Konstantin Komarov 2021-08-13 935 if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13 936 goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13 937
4342306f0f0d5f Konstantin Komarov 2021-08-13 938 if (!frame_uptodate && off) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 939 err = ni_read_frame(ni, frame_vbo, pages,
4342306f0f0d5f Konstantin Komarov 2021-08-13 940 pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13 941 if (err) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 942 for (ip = 0; ip < pages_per_frame; ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 943 page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13 944 unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 945 put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 946 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 947 goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13 948 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 949 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 950
4342306f0f0d5f Konstantin Komarov 2021-08-13 951 ip = off >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13 952 off = offset_in_page(valid);
4342306f0f0d5f Konstantin Komarov 2021-08-13 953 for (; ip < pages_per_frame; ip++, off = 0) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 954 page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13 955 zero_user_segment(page, off, PAGE_SIZE);
4342306f0f0d5f Konstantin Komarov 2021-08-13 956 flush_dcache_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 957 SetPageUptodate(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 958 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 959
4342306f0f0d5f Konstantin Komarov 2021-08-13 960 ni_lock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13 961 err = ni_write_frame(ni, pages, pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13 962 ni_unlock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13 963
4342306f0f0d5f Konstantin Komarov 2021-08-13 964 for (ip = 0; ip < pages_per_frame; ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 965 page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13 966 SetPageUptodate(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 967 unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 968 put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 969 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 970
4342306f0f0d5f Konstantin Komarov 2021-08-13 971 if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13 972 goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13 973
4342306f0f0d5f Konstantin Komarov 2021-08-13 974 ni->i_valid = valid = frame_vbo + frame_size;
4342306f0f0d5f Konstantin Komarov 2021-08-13 975 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 976
e8b8e97f91b80f Kari Argillander 2021-08-03 977 /* Copy user data [pos : pos + count). */
4342306f0f0d5f Konstantin Komarov 2021-08-13 978 while (count) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 979 size_t copied, bytes;
4342306f0f0d5f Konstantin Komarov 2021-08-13 980
4342306f0f0d5f Konstantin Komarov 2021-08-13 981 off = pos & (frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13 982 bytes = frame_size - off;
4342306f0f0d5f Konstantin Komarov 2021-08-13 983 if (bytes > count)
4342306f0f0d5f Konstantin Komarov 2021-08-13 984 bytes = count;
4342306f0f0d5f Konstantin Komarov 2021-08-13 985
4342306f0f0d5f Konstantin Komarov 2021-08-13 986 frame = pos >> frame_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13 987 frame_vbo = pos & ~(frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13 988 index = frame_vbo >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13 989
4342306f0f0d5f Konstantin Komarov 2021-08-13 @990 if (unlikely(iov_iter_fault_in_readable(from, bytes))) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 991 err = -EFAULT;
4342306f0f0d5f Konstantin Komarov 2021-08-13 992 goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13 993 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 994
e8b8e97f91b80f Kari Argillander 2021-08-03 995 /* Load full frame. */
4342306f0f0d5f Konstantin Komarov 2021-08-13 996 err = ntfs_get_frame_pages(mapping, index, pages,
4342306f0f0d5f Konstantin Komarov 2021-08-13 997 pages_per_frame, &frame_uptodate);
4342306f0f0d5f Konstantin Komarov 2021-08-13 998 if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13 999 goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1000
4342306f0f0d5f Konstantin Komarov 2021-08-13 1001 if (!frame_uptodate) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 1002 loff_t to = pos + bytes;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1003
4342306f0f0d5f Konstantin Komarov 2021-08-13 1004 if (off || (to < i_size && (to & (frame_size - 1)))) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 1005 err = ni_read_frame(ni, frame_vbo, pages,
4342306f0f0d5f Konstantin Komarov 2021-08-13 1006 pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1007 if (err) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 1008 for (ip = 0; ip < pages_per_frame;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1009 ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 1010 page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13 1011 unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1012 put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1013 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 1014 goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1015 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 1016 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 1017 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 1018
4342306f0f0d5f Konstantin Komarov 2021-08-13 1019 WARN_ON(!bytes);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1020 copied = 0;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1021 ip = off >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1022 off = offset_in_page(pos);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1023
e8b8e97f91b80f Kari Argillander 2021-08-03 1024 /* Copy user data to pages. */
4342306f0f0d5f Konstantin Komarov 2021-08-13 1025 for (;;) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 1026 size_t cp, tail = PAGE_SIZE - off;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1027
4342306f0f0d5f Konstantin Komarov 2021-08-13 1028 page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13 1029 cp = copy_page_from_iter_atomic(page, off,
4342306f0f0d5f Konstantin Komarov 2021-08-13 1030 min(tail, bytes), from);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1031 flush_dcache_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1032
4342306f0f0d5f Konstantin Komarov 2021-08-13 1033 copied += cp;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1034 bytes -= cp;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1035 if (!bytes || !cp)
4342306f0f0d5f Konstantin Komarov 2021-08-13 1036 break;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1037
4342306f0f0d5f Konstantin Komarov 2021-08-13 1038 if (cp < tail) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 1039 off += cp;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1040 } else {
4342306f0f0d5f Konstantin Komarov 2021-08-13 1041 ip++;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1042 off = 0;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1043 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 1044 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 1045
4342306f0f0d5f Konstantin Komarov 2021-08-13 1046 ni_lock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1047 err = ni_write_frame(ni, pages, pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1048 ni_unlock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1049
4342306f0f0d5f Konstantin Komarov 2021-08-13 1050 for (ip = 0; ip < pages_per_frame; ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13 1051 page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13 1052 ClearPageDirty(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1053 SetPageUptodate(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1054 unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1055 put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1056 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 1057
4342306f0f0d5f Konstantin Komarov 2021-08-13 1058 if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13 1059 goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1060
4342306f0f0d5f Konstantin Komarov 2021-08-13 1061 /*
4342306f0f0d5f Konstantin Komarov 2021-08-13 1062 * We can loop for a long time in here. Be nice and allow
4342306f0f0d5f Konstantin Komarov 2021-08-13 1063 * us to schedule out to avoid softlocking if preempt
4342306f0f0d5f Konstantin Komarov 2021-08-13 1064 * is disabled.
4342306f0f0d5f Konstantin Komarov 2021-08-13 1065 */
4342306f0f0d5f Konstantin Komarov 2021-08-13 1066 cond_resched();
4342306f0f0d5f Konstantin Komarov 2021-08-13 1067
4342306f0f0d5f Konstantin Komarov 2021-08-13 1068 pos += copied;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1069 written += copied;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1070
4342306f0f0d5f Konstantin Komarov 2021-08-13 1071 count = iov_iter_count(from);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1072 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 1073
4342306f0f0d5f Konstantin Komarov 2021-08-13 1074 out:
195c52bdd5d5ec Kari Argillander 2021-08-24 1075 kfree(pages);
4342306f0f0d5f Konstantin Komarov 2021-08-13 1076
4342306f0f0d5f Konstantin Komarov 2021-08-13 1077 current->backing_dev_info = NULL;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1078
4342306f0f0d5f Konstantin Komarov 2021-08-13 1079 if (err < 0)
4342306f0f0d5f Konstantin Komarov 2021-08-13 1080 return err;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1081
4342306f0f0d5f Konstantin Komarov 2021-08-13 1082 iocb->ki_pos += written;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1083 if (iocb->ki_pos > ni->i_valid)
4342306f0f0d5f Konstantin Komarov 2021-08-13 1084 ni->i_valid = iocb->ki_pos;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1085
4342306f0f0d5f Konstantin Komarov 2021-08-13 1086 return written;
4342306f0f0d5f Konstantin Komarov 2021-08-13 1087 }
4342306f0f0d5f Konstantin Komarov 2021-08-13 1088
:::::: The code at line 990 was first introduced by commit
:::::: 4342306f0f0d5ff4315a204d315c1b51b914fca5 fs/ntfs3: Add file operations and implementation
:::::: TO: Konstantin Komarov <almaz.alexandrovich(a)paragon-software.com>
:::::: CC: Konstantin Komarov <almaz.alexandrovich(a)paragon-software.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[gfs2:for-next 14/38] fs/erofs/data.c:289:32: error: too few arguments to function 'iomap_dio_rw'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git for-next
head: 9d0084204c8a7e01f9b8ebe81402be61e0a67a62
commit: ec80c70d41f2bb63d9e62204d3a3450c41678f67 [14/38] iomap: Add done_before argument to iomap_dio_rw
config: nios2-randconfig-r003-20211013 (attached as .config)
compiler: nios2-linux-gcc (GCC) 11.2.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://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git/commi...
git remote add gfs2 https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
git fetch --no-tags gfs2 for-next
git checkout ec80c70d41f2bb63d9e62204d3a3450c41678f67
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nios2 SHELL=/bin/bash block/ fs/erofs/ net/bluetooth/
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 >>):
fs/erofs/data.c: In function 'erofs_file_read_iter':
>> fs/erofs/data.c:289:32: error: too few arguments to function 'iomap_dio_rw'
289 | return iomap_dio_rw(iocb, to, &erofs_iomap_ops,
| ^~~~~~~~~~~~
In file included from fs/erofs/internal.h:19,
from fs/erofs/data.c:7:
include/linux/iomap.h:340:9: note: declared here
340 | ssize_t iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
| ^~~~~~~~~~~~
vim +/iomap_dio_rw +289 fs/erofs/data.c
a08e67a0280215 Huang Jianan 2021-08-05 274
a08e67a0280215 Huang Jianan 2021-08-05 275 static ssize_t erofs_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
a08e67a0280215 Huang Jianan 2021-08-05 276 {
a08e67a0280215 Huang Jianan 2021-08-05 277 /* no need taking (shared) inode lock since it's a ro filesystem */
a08e67a0280215 Huang Jianan 2021-08-05 278 if (!iov_iter_count(to))
a08e67a0280215 Huang Jianan 2021-08-05 279 return 0;
a08e67a0280215 Huang Jianan 2021-08-05 280
06252e9ce05b94 Gao Xiang 2021-08-05 281 #ifdef CONFIG_FS_DAX
06252e9ce05b94 Gao Xiang 2021-08-05 282 if (IS_DAX(iocb->ki_filp->f_mapping->host))
06252e9ce05b94 Gao Xiang 2021-08-05 283 return dax_iomap_rw(iocb, to, &erofs_iomap_ops);
06252e9ce05b94 Gao Xiang 2021-08-05 284 #endif
a08e67a0280215 Huang Jianan 2021-08-05 285 if (iocb->ki_flags & IOCB_DIRECT) {
a08e67a0280215 Huang Jianan 2021-08-05 286 int err = erofs_prepare_dio(iocb, to);
a08e67a0280215 Huang Jianan 2021-08-05 287
a08e67a0280215 Huang Jianan 2021-08-05 288 if (!err)
a08e67a0280215 Huang Jianan 2021-08-05 @289 return iomap_dio_rw(iocb, to, &erofs_iomap_ops,
a08e67a0280215 Huang Jianan 2021-08-05 290 NULL, 0);
a08e67a0280215 Huang Jianan 2021-08-05 291 if (err < 0)
a08e67a0280215 Huang Jianan 2021-08-05 292 return err;
a08e67a0280215 Huang Jianan 2021-08-05 293 }
a08e67a0280215 Huang Jianan 2021-08-05 294 return filemap_read(iocb, to, 0);
a08e67a0280215 Huang Jianan 2021-08-05 295 }
a08e67a0280215 Huang Jianan 2021-08-05 296
:::::: The code at line 289 was first introduced by commit
:::::: a08e67a0280215f74eccf14fda81dd7fed6596ba erofs: iomap support for non-tailpacking DIO
:::::: TO: Huang Jianan <huangjianan(a)oppo.com>
:::::: CC: Gao Xiang <hsiangkao(a)linux.alibaba.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week