Re: [PATCH v3 6/7] misc: bcm-vk: add Broadcom VK driver
by kbuild test robot
Hi Scott,
I love your patch! Perhaps something to improve:
[auto build test WARNING on driver-core/driver-core-testing]
[also build test WARNING on next-20200421]
[cannot apply to char-misc/char-misc-testing kselftest/next linus/master v5.7-rc2]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Scott-Branden/firmware-add-parti...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git 55623260bb33e2ab849af76edf2253bc04cb241f
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-191-gc51a0382-dirty
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/misc/bcm-vk/bcm_vk_dev.c:189:15: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct bcm_vk_peer_log *p_ctl @@ got struct bcm_vk_peer_log *p_ctl @@
>> drivers/misc/bcm-vk/bcm_vk_dev.c:189:15: sparse: expected struct bcm_vk_peer_log *p_ctl
>> drivers/misc/bcm-vk/bcm_vk_dev.c:189:15: sparse: got void [noderef] <asn:2> *
>> drivers/misc/bcm-vk/bcm_vk_dev.c:685:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] <asn:1> *from @@ got oderef] <asn:1> *from @@
>> drivers/misc/bcm-vk/bcm_vk_dev.c:685:36: sparse: expected void const [noderef] <asn:1> *from
>> drivers/misc/bcm-vk/bcm_vk_dev.c:685:36: sparse: got struct vk_image *arg
drivers/misc/bcm-vk/bcm_vk_dev.c:780:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] <asn:1> *from @@ got oderef] <asn:1> *from @@
drivers/misc/bcm-vk/bcm_vk_dev.c:780:36: sparse: expected void const [noderef] <asn:1> *from
>> drivers/misc/bcm-vk/bcm_vk_dev.c:780:36: sparse: got struct vk_reset *arg
>> drivers/misc/bcm-vk/bcm_vk_dev.c:858:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct vk_image *arg @@ got void [nstruct vk_image *arg @@
>> drivers/misc/bcm-vk/bcm_vk_dev.c:858:45: sparse: expected struct vk_image *arg
>> drivers/misc/bcm-vk/bcm_vk_dev.c:858:45: sparse: got void [noderef] <asn:1> *argp
>> drivers/misc/bcm-vk/bcm_vk_dev.c:862:40: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct vk_reset *arg @@ got void [nstruct vk_reset *arg @@
>> drivers/misc/bcm-vk/bcm_vk_dev.c:862:40: sparse: expected struct vk_reset *arg
drivers/misc/bcm-vk/bcm_vk_dev.c:862:40: sparse: got void [noderef] <asn:1> *argp
--
>> drivers/misc/bcm-vk/bcm_vk_msg.c:507:17: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/misc/bcm-vk/bcm_vk_msg.c:707:15: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/misc/bcm-vk/bcm_vk_msg.c:715:23: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/misc/bcm-vk/bcm_vk_msg.c:871:31: sparse: sparse: cast removes address space '<asn:2>' of expression
drivers/misc/bcm-vk/bcm_vk_msg.c:899:47: sparse: sparse: cast removes address space '<asn:2>' of expression
vim +189 drivers/misc/bcm-vk/bcm_vk_dev.c
180
181 static void bcm_vk_dump_peer_log(struct bcm_vk *vk)
182 {
183 struct bcm_vk_peer_log log, *p_ctl;
184 char loc_buf[BCM_VK_PEER_LOG_LINE_MAX];
185 int cnt;
186 struct device *dev = &vk->pdev->dev;
187 uint data_offset;
188
> 189 p_ctl = vk->bar[BAR_2] + vk->peerlog_off;
190 log = *p_ctl;
191 /* do a rmb() to make sure log is updated */
192 rmb();
193
194 dev_dbg(dev, "Peer PANIC: Size 0x%x(0x%x), [Rd Wr] = [%d %d]\n",
195 log.buf_size, log.mask, log.rd_idx, log.wr_idx);
196
197 cnt = 0;
198 data_offset = vk->peerlog_off + sizeof(struct bcm_vk_peer_log);
199 while (log.rd_idx != log.wr_idx) {
200 loc_buf[cnt] = vkread8(vk, BAR_2, data_offset + log.rd_idx);
201
202 if ((loc_buf[cnt] == '\0') ||
203 (cnt == (BCM_VK_PEER_LOG_LINE_MAX - 1))) {
204 dev_err(dev, "%s", loc_buf);
205 cnt = 0;
206 } else {
207 cnt++;
208 }
209 log.rd_idx = (log.rd_idx + 1) & log.mask;
210 }
211 /* update rd idx at the end */
212 vkwrite32(vk, log.rd_idx, BAR_2, vk->peerlog_off);
213 }
214
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[linuxppc:next-test 48/49] arch/x86/kernel/signal.c:312:7: error: implicit declaration of function 'user_access_begin'; did you mean 'user_access_end'?
by kbuild test robot
tree: https://github.com/linuxppc/linux next-test
head: 7d204d846b04d0a1b4d3712736029fbf2e7a7359
commit: 5bb3b9d986426296507d3ef58d1e5fe4625de01f [48/49] uaccess: Rename user_access_begin/end() to user_full_access_begin/end()
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
git checkout 5bb3b9d986426296507d3ef58d1e5fe4625de01f
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/x86/kernel/signal.c: In function '__setup_frame':
>> arch/x86/kernel/signal.c:312:7: error: implicit declaration of function 'user_access_begin'; did you mean 'user_access_end'? [-Werror=implicit-function-declaration]
if (!user_access_begin(frame, sizeof(*frame)))
^~~~~~~~~~~~~~~~~
user_access_end
cc1: some warnings being treated as errors
vim +312 arch/x86/kernel/signal.c
75779f05264b99 arch/x86/kernel/signal.c Hiroshi Shimamoto 2009-02-27 301
7e907f48980d66 arch/x86/kernel/signal_32.c Ingo Molnar 2008-03-06 302 static int
235b80226b986d arch/x86/kernel/signal.c Al Viro 2012-11-09 303 __setup_frame(int sig, struct ksignal *ksig, sigset_t *set,
7e907f48980d66 arch/x86/kernel/signal_32.c Ingo Molnar 2008-03-06 304 struct pt_regs *regs)
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 305 {
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 306 struct sigframe __user *frame;
7e907f48980d66 arch/x86/kernel/signal_32.c Ingo Molnar 2008-03-06 307 void __user *restorer;
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 308 void __user *fp = NULL;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 309
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 310 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fp);
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 311
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 @312 if (!user_access_begin(frame, sizeof(*frame)))
3d0aedd9538e6b arch/x86/kernel/signal_32.c Hiroshi Shimamoto 2008-09-12 313 return -EFAULT;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 314
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 315 unsafe_put_user(sig, &frame->sig, Efault);
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 316 unsafe_put_sigcontext(&frame->sc, fp, regs, set, Efault);
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 317 unsafe_put_user(set->sig[1], &frame->extramask[0], Efault);
1a3e4ca41c5a38 arch/x86/kernel/signal_32.c Roland McGrath 2008-04-09 318 if (current->mm->context.vdso)
6f121e548f8367 arch/x86/kernel/signal.c Andy Lutomirski 2014-05-05 319 restorer = current->mm->context.vdso +
0a6d1fa0d2b48f arch/x86/kernel/signal.c Andy Lutomirski 2015-10-05 320 vdso_image_32.sym___kernel_sigreturn;
9fbbd4dd17d071 arch/i386/kernel/signal.c Andi Kleen 2007-02-13 321 else
ade1af77129dea arch/x86/kernel/signal_32.c Jan Engelhardt 2008-01-30 322 restorer = &frame->retcode;
235b80226b986d arch/x86/kernel/signal.c Al Viro 2012-11-09 323 if (ksig->ka.sa.sa_flags & SA_RESTORER)
235b80226b986d arch/x86/kernel/signal.c Al Viro 2012-11-09 324 restorer = ksig->ka.sa.sa_restorer;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 325
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 326 /* Set up to return from userspace. */
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 327 unsafe_put_user(restorer, &frame->pretcode, Efault);
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 328
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 329 /*
7e907f48980d66 arch/x86/kernel/signal_32.c Ingo Molnar 2008-03-06 330 * This is popl %eax ; movl $__NR_sigreturn, %eax ; int $0x80
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 331 *
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 332 * WE DO NOT USE IT ANY MORE! It's only left here for historical
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 333 * reasons and because gdb uses it as a signature to notice
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 334 * signal handler stack frames.
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 335 */
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 336 unsafe_put_user(*((u64 *)&retcode), (u64 *)frame->retcode, Efault);
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 337 user_access_end();
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 338
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 339 /* Set up registers for signal handler */
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 340 regs->sp = (unsigned long)frame;
235b80226b986d arch/x86/kernel/signal.c Al Viro 2012-11-09 341 regs->ip = (unsigned long)ksig->ka.sa.sa_handler;
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 342 regs->ax = (unsigned long)sig;
92bc2056855b32 arch/x86/kernel/signal_32.c Harvey Harrison 2008-02-08 343 regs->dx = 0;
92bc2056855b32 arch/x86/kernel/signal_32.c Harvey Harrison 2008-02-08 344 regs->cx = 0;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 345
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 346 regs->ds = __USER_DS;
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 347 regs->es = __USER_DS;
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 348 regs->ss = __USER_DS;
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 349 regs->cs = __USER_CS;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 350
283828f3c19ceb arch/i386/kernel/signal.c David Howells 2006-01-18 351 return 0;
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 352
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 353 Efault:
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 354 user_access_end();
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 355 return -EFAULT;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 356 }
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 357
:::::: The code at line 312 was first introduced by commit
:::::: 5c1f178094631e8b9acc67e4a9b6e03abfbc2529 x86: __setup_frame(): consolidate uaccess areas
:::::: TO: Al Viro <viro(a)zeniv.linux.org.uk>
:::::: CC: Al Viro <viro(a)zeniv.linux.org.uk>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
[peterz-queue:modules/WIP 23/24] kernel/module.c:1033: undefined reference to `ftrace_module_release'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git modules/WIP
head: d525bf9c75d505af76d3e6759aba116afa78eaf9
commit: 44180b4742e40bb4afc0fb79ed75366411d5fc6c [23/24] ftrace: Merge ftrace_module_{init,enable}()
config: sparc64-randconfig-a001-20200430 (attached as .config)
compiler: sparc64-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
git checkout 44180b4742e40bb4afc0fb79ed75366411d5fc6c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=sparc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
sparc64-linux-ld: kernel/module.o: in function `__do_sys_delete_module':
>> kernel/module.c:1033: undefined reference to `ftrace_module_release'
sparc64-linux-ld: kernel/module.o: in function `do_init_module':
kernel/module.c:3641: undefined reference to `ftrace_module_release'
sparc64-linux-ld: kernel/module.o: in function `load_module':
kernel/module.c:3936: undefined reference to `ftrace_module_release'
vim +1033 kernel/module.c
969
970 SYSCALL_DEFINE2(delete_module, const char __user *, name_user,
971 unsigned int, flags)
972 {
973 struct module *mod;
974 char name[MODULE_NAME_LEN];
975 int ret, forced = 0;
976
977 if (!capable(CAP_SYS_MODULE) || modules_disabled)
978 return -EPERM;
979
980 if (strncpy_from_user(name, name_user, MODULE_NAME_LEN-1) < 0)
981 return -EFAULT;
982 name[MODULE_NAME_LEN-1] = '\0';
983
984 audit_log_kern_module(name);
985
986 if (mutex_lock_interruptible(&module_mutex) != 0)
987 return -EINTR;
988
989 mod = find_module(name);
990 if (!mod) {
991 ret = -ENOENT;
992 goto out;
993 }
994
995 if (!list_empty(&mod->source_list)) {
996 /* Other modules depend on us: get rid of them first. */
997 ret = -EWOULDBLOCK;
998 goto out;
999 }
1000
1001 /* Doing init or already dying? */
1002 if (mod->state != MODULE_STATE_LIVE) {
1003 /* FIXME: if (force), slam module count damn the torpedoes */
1004 pr_debug("%s already dying\n", mod->name);
1005 ret = -EBUSY;
1006 goto out;
1007 }
1008
1009 /* If it has an init func, it must have an exit func to unload */
1010 if (mod->init && !mod->exit) {
1011 forced = try_force_unload(flags);
1012 if (!forced) {
1013 /* This module can't be removed */
1014 ret = -EBUSY;
1015 goto out;
1016 }
1017 }
1018
1019 /* Stop the machine so refcounts can't move and disable module. */
1020 ret = try_stop_module(mod, flags, &forced);
1021 if (ret != 0)
1022 goto out;
1023
1024 mutex_unlock(&module_mutex);
1025 /* Final destruction now no one is using it. */
1026 if (mod->exit != NULL)
1027 mod->exit();
1028 blocking_notifier_call_chain(&module_notify_list,
1029 MODULE_STATE_GOING, mod);
1030 klp_module_going(mod);
1031 blocking_notifier_call_chain(&module_notify_list,
1032 MODULE_STATE_GONE, mod);
> 1033 ftrace_module_release(mod);
1034
1035 async_synchronize_full();
1036
1037 /* Store the name of the last unloaded module for diagnostic purposes */
1038 strlcpy(last_unloaded_module, mod->name, sizeof(last_unloaded_module));
1039
1040 free_module(mod);
1041 /* someone could wait for the module in add_unformed_module() */
1042 wake_up_all(&module_wq);
1043 return 0;
1044 out:
1045 mutex_unlock(&module_mutex);
1046 return ret;
1047 }
1048
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
[mips-linux:mips-next 15/49] ld.lld: error: section .text at 0xFFFFFFFF80010000 of size 0x4E70EC exceeds available address space
by kbuild test robot
CC: linux-mips(a)linux-mips.org
TO: Christoph Hellwig <hch(a)lst.de>
CC: Thomas Bogendoerfer <tsbogend(a)alpha.franken.de>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git mips-next
head: da1bd29742b185c00a1737ba955aa3e75659be2b
commit: c2591eb5da521f34bd6023ece98b657719831752 [15/49] MIPS: use ioremap_page_range
config: mips-bcm63xx_defconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 1ccde533425a4ba9d379510206ad680ff9702129)
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
git checkout c2591eb5da521f34bd6023ece98b657719831752
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> ld.lld: error: section .text at 0xFFFFFFFF80010000 of size 0x4E70EC exceeds available address space
>> ld.lld: error: section __ex_table at 0xFFFFFFFF804F70F0 of size 0x15A8 exceeds available address space
>> ld.lld: error: section __dbe_table at 0xFFFFFFFF804F8698 of size 0x0 exceeds available address space
>> ld.lld: error: section .rodata at 0xFFFFFFFF804F9000 of size 0x79078 exceeds available address space
ld.lld: error: section .data..page_aligned at 0xFFFFFFFF80573000 of size 0x2000 exceeds available address space
ld.lld: error: section .got at 0xFFFFFFFF80575000 of size 0x8 exceeds available address space
ld.lld: error: section .rodata1 at 0xFFFFFFFF80575008 of size 0x0 exceeds available address space
ld.lld: error: section .pci_fixup at 0xFFFFFFFF80575008 of size 0x1E90 exceeds available address space
ld.lld: error: section .builtin_fw at 0xFFFFFFFF80576E98 of size 0x0 exceeds available address space
ld.lld: error: section __ksymtab at 0xFFFFFFFF80576E98 of size 0x0 exceeds available address space
ld.lld: error: section __ksymtab_gpl at 0xFFFFFFFF80576E98 of size 0x0 exceeds available address space
ld.lld: error: section __ksymtab_unused at 0xFFFFFFFF80576E98 of size 0x0 exceeds available address space
ld.lld: error: section __ksymtab_unused_gpl at 0xFFFFFFFF80576E98 of size 0x0 exceeds available address space
ld.lld: error: section __ksymtab_gpl_future at 0xFFFFFFFF80576E98 of size 0x0 exceeds available address space
ld.lld: error: section __kcrctab at 0xFFFFFFFF80576E98 of size 0x0 exceeds available address space
ld.lld: error: section __kcrctab_gpl at 0xFFFFFFFF80576E98 of size 0x0 exceeds available address space
ld.lld: error: section __kcrctab_unused at 0xFFFFFFFF80576E98 of size 0x0 exceeds available address space
ld.lld: error: section __kcrctab_unused_gpl at 0xFFFFFFFF80576E98 of size 0x0 exceeds available address space
ld.lld: error: section __kcrctab_gpl_future at 0xFFFFFFFF80576E98 of size 0x0 exceeds available address space
ld.lld: error: section __ksymtab_strings at 0xFFFFFFFF80576E98 of size 0x0 exceeds available address space
ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
[rcar:gmsl/test 2/16] drivers/media/i2c/max9286.c:1031:6: error: 'struct gpio_chip' has no member named 'of_node'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kbingham/rcar.git gmsl/test
head: 3b3d69c2b9469a39bd431d81e06b94a09798ba95
commit: ae36292a5896cc62c6df32279f7d7bb87302d536 [2/16] media: i2c: Add MAX9286 driver
config: ia64-randconfig-a001-20200501 (attached as .config)
compiler: ia64-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
git checkout ae36292a5896cc62c6df32279f7d7bb87302d536
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/media/i2c/max9286.c: In function 'max9286_register_gpio':
>> drivers/media/i2c/max9286.c:1031:6: error: 'struct gpio_chip' has no member named 'of_node'
1031 | gpio->of_node = dev->of_node;
| ^~
vim +1031 drivers/media/i2c/max9286.c
1015
1016 static int max9286_register_gpio(struct max9286_priv *priv)
1017 {
1018 struct device *dev = &priv->client->dev;
1019 struct gpio_chip *gpio = &priv->gpio;
1020 int ret;
1021
1022 static const char * const names[] = {
1023 "GPIO0OUT",
1024 "GPIO1OUT",
1025 };
1026
1027 /* Configure the GPIO */
1028 gpio->label = dev_name(dev);
1029 gpio->parent = dev;
1030 gpio->owner = THIS_MODULE;
> 1031 gpio->of_node = dev->of_node;
1032 gpio->ngpio = 2;
1033 gpio->base = -1;
1034 gpio->set = max9286_gpio_set;
1035 gpio->get = max9286_gpio_get;
1036 gpio->can_sleep = true;
1037 gpio->names = names;
1038
1039 /* GPIO values default to high */
1040 priv->gpio_state = BIT(0) | BIT(1);
1041
1042 ret = devm_gpiochip_add_data(dev, gpio, priv);
1043 if (ret)
1044 dev_err(dev, "Unable to create gpio_chip\n");
1045
1046 return ret;
1047 }
1048
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
Re: [PATCH V3 1/3] nl80211: add support for setting fixed HE rate/gi/ltf
by kbuild test robot
Hi John,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on mac80211/master]
[also build test WARNING on ath6kl/ath-next v5.7-rc3 next-20200430]
[cannot apply to mac80211-next/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/John-Crispin/nl80211-add-support...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git master
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-191-gc51a0382-dirty
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> net/wireless/nl80211.c:4440:47: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned short @@ got restricted __le16 conunsigned short @@
>> net/wireless/nl80211.c:4440:47: sparse: expected unsigned short
>> net/wireless/nl80211.c:4440:47: sparse: got restricted __le16 const [usertype] tx_mcs_80p80
net/wireless/nl80211.c:4442:47: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned short @@ got restricted __le16 conunsigned short @@
net/wireless/nl80211.c:4442:47: sparse: expected unsigned short
>> net/wireless/nl80211.c:4442:47: sparse: got restricted __le16 const [usertype] tx_mcs_160
vim +4440 net/wireless/nl80211.c
4431
4432 static u16 he_get_txmcsmap(struct genl_info *info,
4433 const struct ieee80211_sta_he_cap *he_cap)
4434 {
4435 struct net_device *dev = info->user_ptr[1];
4436 struct wireless_dev *wdev = dev->ieee80211_ptr;
4437
4438 switch (wdev->chandef.width) {
4439 case NL80211_CHAN_WIDTH_80P80:
> 4440 return he_cap->he_mcs_nss_supp.tx_mcs_80p80;
4441 case NL80211_CHAN_WIDTH_160:
> 4442 return he_cap->he_mcs_nss_supp.tx_mcs_160;
4443 default:
4444 break;
4445 }
4446 return le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80);
4447 }
4448
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
[peterz-queue:modules/WIP 23/24] module.c:undefined reference to `.ftrace_module_release'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git modules/WIP
head: d525bf9c75d505af76d3e6759aba116afa78eaf9
commit: 44180b4742e40bb4afc0fb79ed75366411d5fc6c [23/24] ftrace: Merge ftrace_module_{init,enable}()
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-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
git checkout 44180b4742e40bb4afc0fb79ed75366411d5fc6c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
powerpc64-linux-ld: kernel/module.o: in function `.__se_sys_delete_module':
>> module.c:(.text+0x489c): undefined reference to `.ftrace_module_release'
powerpc64-linux-ld: kernel/module.o: in function `.do_init_module':
module.c:(.text+0x4bb0): undefined reference to `.ftrace_module_release'
powerpc64-linux-ld: kernel/module.o: in function `.load_module':
module.c:(.text+0x6b1c): undefined reference to `.ftrace_module_release'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
[dhowells-fs:afs-operation 6/16] fs/f2fs/node.c:1793:10: error: implicit declaration of function 'find_inode_nowait'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git afs-operation
head: 1f3c3f47e3f51601284088e397bdc243a1ee77d3
commit: 413a5d1b67a006f91aa592269237e11902a176ff [6/16] vfs: Make the inode hash table RCU searchable
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 1ccde533425a4ba9d379510206ad680ff9702129)
reproduce:
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
git checkout 413a5d1b67a006f91aa592269237e11902a176ff
# 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: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> fs/f2fs/node.c:1793:10: error: implicit declaration of function 'find_inode_nowait' [-Werror,-Wimplicit-function-declaration]
inode = find_inode_nowait(sbi->sb, ino, f2fs_match_ino, NULL);
^
fs/f2fs/node.c:1793:8: warning: incompatible integer to pointer conversion assigning to 'struct inode *' from 'int' [-Wint-conversion]
inode = find_inode_nowait(sbi->sb, ino, f2fs_match_ino, NULL);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning and 1 error generated.
vim +/find_inode_nowait +1793 fs/f2fs/node.c
052a82d85a3b3ee Chao Yu 2019-08-22 1786
052a82d85a3b3ee Chao Yu 2019-08-22 1787 static bool flush_dirty_inode(struct page *page)
052a82d85a3b3ee Chao Yu 2019-08-22 1788 {
052a82d85a3b3ee Chao Yu 2019-08-22 1789 struct f2fs_sb_info *sbi = F2FS_P_SB(page);
052a82d85a3b3ee Chao Yu 2019-08-22 1790 struct inode *inode;
052a82d85a3b3ee Chao Yu 2019-08-22 1791 nid_t ino = ino_of_node(page);
052a82d85a3b3ee Chao Yu 2019-08-22 1792
052a82d85a3b3ee Chao Yu 2019-08-22 @1793 inode = find_inode_nowait(sbi->sb, ino, f2fs_match_ino, NULL);
052a82d85a3b3ee Chao Yu 2019-08-22 1794 if (!inode)
052a82d85a3b3ee Chao Yu 2019-08-22 1795 return false;
052a82d85a3b3ee Chao Yu 2019-08-22 1796
052a82d85a3b3ee Chao Yu 2019-08-22 1797 f2fs_update_inode(inode, page);
052a82d85a3b3ee Chao Yu 2019-08-22 1798 unlock_page(page);
052a82d85a3b3ee Chao Yu 2019-08-22 1799
052a82d85a3b3ee Chao Yu 2019-08-22 1800 iput(inode);
052a82d85a3b3ee Chao Yu 2019-08-22 1801 return true;
052a82d85a3b3ee Chao Yu 2019-08-22 1802 }
052a82d85a3b3ee Chao Yu 2019-08-22 1803
:::::: The code at line 1793 was first introduced by commit
:::::: 052a82d85a3b3eee6a386be2ba3b82278cf277ce f2fs: fix to writeout dirty inode during node flush
:::::: TO: Chao Yu <yuchao0(a)huawei.com>
:::::: CC: Jaegeuk Kim <jaegeuk(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
[skn:smccc_v1_2_soc_id 5/5] include/linux/arm-smccc.h:330:48: error: expected string literal before 'SMCCC_HVC_INST'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git smccc_v1_2_soc_id
head: 115a25be0455e18591cddf3336fd6afaa904ac61
commit: 115a25be0455e18591cddf3336fd6afaa904ac61 [5/5] arm/arm64: smccc: Add ARCH_SOC_ID support
config: mips-allyesconfig (attached as .config)
compiler: mips-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
git checkout 115a25be0455e18591cddf3336fd6afaa904ac61
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from drivers/firmware/psci/soc_id.c:6:
drivers/firmware/psci/soc_id.c: In function 'smccc_soc_id_support_check':
>> include/linux/arm-smccc.h:330:48: error: expected string literal before 'SMCCC_HVC_INST'
330 | #define arm_smccc_1_1_hvc(...) __arm_smccc_1_1(SMCCC_HVC_INST, __VA_ARGS__)
| ^~~~~~~~~~~~~~
include/linux/arm-smccc.h:294:16: note: in definition of macro '__arm_smccc_1_1'
294 | asm volatile(inst "\n" \
| ^~~~
>> include/linux/arm-smccc.h:373:4: note: in expansion of macro 'arm_smccc_1_1_hvc'
373 | arm_smccc_1_1_hvc(__VA_ARGS__); \
| ^~~~~~~~~~~~~~~~~
>> drivers/firmware/psci/soc_id.c:43:2: note: in expansion of macro 'arm_smccc_1_1_invoke'
43 | arm_smccc_1_1_invoke(ARM_SMCCC_ARCH_FEATURES_FUNC_ID,
| ^~~~~~~~~~~~~~~~~~~~
>> include/linux/arm-smccc.h:314:48: error: expected string literal before 'SMCCC_SMC_INST'
314 | #define arm_smccc_1_1_smc(...) __arm_smccc_1_1(SMCCC_SMC_INST, __VA_ARGS__)
| ^~~~~~~~~~~~~~
include/linux/arm-smccc.h:294:16: note: in definition of macro '__arm_smccc_1_1'
294 | asm volatile(inst "\n" \
| ^~~~
>> include/linux/arm-smccc.h:376:4: note: in expansion of macro 'arm_smccc_1_1_smc'
376 | arm_smccc_1_1_smc(__VA_ARGS__); \
| ^~~~~~~~~~~~~~~~~
>> drivers/firmware/psci/soc_id.c:43:2: note: in expansion of macro 'arm_smccc_1_1_invoke'
43 | arm_smccc_1_1_invoke(ARM_SMCCC_ARCH_FEATURES_FUNC_ID,
| ^~~~~~~~~~~~~~~~~~~~
drivers/firmware/psci/soc_id.c: In function 'smccc_soc_init':
>> include/linux/arm-smccc.h:330:48: error: expected string literal before 'SMCCC_HVC_INST'
330 | #define arm_smccc_1_1_hvc(...) __arm_smccc_1_1(SMCCC_HVC_INST, __VA_ARGS__)
| ^~~~~~~~~~~~~~
include/linux/arm-smccc.h:294:16: note: in definition of macro '__arm_smccc_1_1'
294 | asm volatile(inst "\n" \
| ^~~~
>> include/linux/arm-smccc.h:373:4: note: in expansion of macro 'arm_smccc_1_1_hvc'
373 | arm_smccc_1_1_hvc(__VA_ARGS__); \
| ^~~~~~~~~~~~~~~~~
drivers/firmware/psci/soc_id.c:89:2: note: in expansion of macro 'arm_smccc_1_1_invoke'
89 | arm_smccc_1_1_invoke(ARM_SMCCC_ARCH_SOC_ID, 0, &res);
| ^~~~~~~~~~~~~~~~~~~~
>> include/linux/arm-smccc.h:314:48: error: expected string literal before 'SMCCC_SMC_INST'
314 | #define arm_smccc_1_1_smc(...) __arm_smccc_1_1(SMCCC_SMC_INST, __VA_ARGS__)
| ^~~~~~~~~~~~~~
include/linux/arm-smccc.h:294:16: note: in definition of macro '__arm_smccc_1_1'
294 | asm volatile(inst "\n" \
| ^~~~
>> include/linux/arm-smccc.h:376:4: note: in expansion of macro 'arm_smccc_1_1_smc'
376 | arm_smccc_1_1_smc(__VA_ARGS__); \
| ^~~~~~~~~~~~~~~~~
drivers/firmware/psci/soc_id.c:89:2: note: in expansion of macro 'arm_smccc_1_1_invoke'
89 | arm_smccc_1_1_invoke(ARM_SMCCC_ARCH_SOC_ID, 0, &res);
| ^~~~~~~~~~~~~~~~~~~~
>> include/linux/arm-smccc.h:330:48: error: expected string literal before 'SMCCC_HVC_INST'
330 | #define arm_smccc_1_1_hvc(...) __arm_smccc_1_1(SMCCC_HVC_INST, __VA_ARGS__)
| ^~~~~~~~~~~~~~
include/linux/arm-smccc.h:294:16: note: in definition of macro '__arm_smccc_1_1'
294 | asm volatile(inst "\n" \
| ^~~~
>> include/linux/arm-smccc.h:373:4: note: in expansion of macro 'arm_smccc_1_1_hvc'
373 | arm_smccc_1_1_hvc(__VA_ARGS__); \
| ^~~~~~~~~~~~~~~~~
drivers/firmware/psci/soc_id.c:97:2: note: in expansion of macro 'arm_smccc_1_1_invoke'
97 | arm_smccc_1_1_invoke(ARM_SMCCC_ARCH_SOC_ID, 1, &res);
| ^~~~~~~~~~~~~~~~~~~~
>> include/linux/arm-smccc.h:314:48: error: expected string literal before 'SMCCC_SMC_INST'
314 | #define arm_smccc_1_1_smc(...) __arm_smccc_1_1(SMCCC_SMC_INST, __VA_ARGS__)
| ^~~~~~~~~~~~~~
include/linux/arm-smccc.h:294:16: note: in definition of macro '__arm_smccc_1_1'
294 | asm volatile(inst "\n" \
| ^~~~
>> include/linux/arm-smccc.h:376:4: note: in expansion of macro 'arm_smccc_1_1_smc'
376 | arm_smccc_1_1_smc(__VA_ARGS__); \
| ^~~~~~~~~~~~~~~~~
drivers/firmware/psci/soc_id.c:97:2: note: in expansion of macro 'arm_smccc_1_1_invoke'
97 | arm_smccc_1_1_invoke(ARM_SMCCC_ARCH_SOC_ID, 1, &res);
| ^~~~~~~~~~~~~~~~~~~~
vim +/SMCCC_HVC_INST +330 include/linux/arm-smccc.h
f2d3b2e8759a58 Marc Zyngier 2018-02-06 285
f2d3b2e8759a58 Marc Zyngier 2018-02-06 286 /*
f2d3b2e8759a58 Marc Zyngier 2018-02-06 287 * We have an output list that is not necessarily used, and GCC feels
f2d3b2e8759a58 Marc Zyngier 2018-02-06 288 * entitled to optimise the whole sequence away. "volatile" is what
f2d3b2e8759a58 Marc Zyngier 2018-02-06 289 * makes it stick.
f2d3b2e8759a58 Marc Zyngier 2018-02-06 290 */
f2d3b2e8759a58 Marc Zyngier 2018-02-06 291 #define __arm_smccc_1_1(inst, ...) \
f2d3b2e8759a58 Marc Zyngier 2018-02-06 292 do { \
f2d3b2e8759a58 Marc Zyngier 2018-02-06 293 __declare_args(__count_args(__VA_ARGS__), __VA_ARGS__); \
f2d3b2e8759a58 Marc Zyngier 2018-02-06 @294 asm volatile(inst "\n" \
f2d3b2e8759a58 Marc Zyngier 2018-02-06 295 __constraints(__count_args(__VA_ARGS__))); \
f2d3b2e8759a58 Marc Zyngier 2018-02-06 296 if (___res) \
f2d3b2e8759a58 Marc Zyngier 2018-02-06 297 *___res = (typeof(*___res)){r0, r1, r2, r3}; \
f2d3b2e8759a58 Marc Zyngier 2018-02-06 298 } while (0)
f2d3b2e8759a58 Marc Zyngier 2018-02-06 299
f2d3b2e8759a58 Marc Zyngier 2018-02-06 300 /*
f2d3b2e8759a58 Marc Zyngier 2018-02-06 301 * arm_smccc_1_1_smc() - make an SMCCC v1.1 compliant SMC call
f2d3b2e8759a58 Marc Zyngier 2018-02-06 302 *
f2d3b2e8759a58 Marc Zyngier 2018-02-06 303 * This is a variadic macro taking one to eight source arguments, and
f2d3b2e8759a58 Marc Zyngier 2018-02-06 304 * an optional return structure.
f2d3b2e8759a58 Marc Zyngier 2018-02-06 305 *
f2d3b2e8759a58 Marc Zyngier 2018-02-06 306 * @a0-a7: arguments passed in registers 0 to 7
f2d3b2e8759a58 Marc Zyngier 2018-02-06 307 * @res: result values from registers 0 to 3
f2d3b2e8759a58 Marc Zyngier 2018-02-06 308 *
f2d3b2e8759a58 Marc Zyngier 2018-02-06 309 * This macro is used to make SMC calls following SMC Calling Convention v1.1.
f2d3b2e8759a58 Marc Zyngier 2018-02-06 310 * The content of the supplied param are copied to registers 0 to 7 prior
f2d3b2e8759a58 Marc Zyngier 2018-02-06 311 * to the SMC instruction. The return values are updated with the content
f2d3b2e8759a58 Marc Zyngier 2018-02-06 312 * from register 0 to 3 on return from the SMC instruction if not NULL.
f2d3b2e8759a58 Marc Zyngier 2018-02-06 313 */
f2d3b2e8759a58 Marc Zyngier 2018-02-06 @314 #define arm_smccc_1_1_smc(...) __arm_smccc_1_1(SMCCC_SMC_INST, __VA_ARGS__)
f2d3b2e8759a58 Marc Zyngier 2018-02-06 315
f2d3b2e8759a58 Marc Zyngier 2018-02-06 316 /*
f2d3b2e8759a58 Marc Zyngier 2018-02-06 317 * arm_smccc_1_1_hvc() - make an SMCCC v1.1 compliant HVC call
f2d3b2e8759a58 Marc Zyngier 2018-02-06 318 *
f2d3b2e8759a58 Marc Zyngier 2018-02-06 319 * This is a variadic macro taking one to eight source arguments, and
f2d3b2e8759a58 Marc Zyngier 2018-02-06 320 * an optional return structure.
f2d3b2e8759a58 Marc Zyngier 2018-02-06 321 *
f2d3b2e8759a58 Marc Zyngier 2018-02-06 322 * @a0-a7: arguments passed in registers 0 to 7
f2d3b2e8759a58 Marc Zyngier 2018-02-06 323 * @res: result values from registers 0 to 3
f2d3b2e8759a58 Marc Zyngier 2018-02-06 324 *
f2d3b2e8759a58 Marc Zyngier 2018-02-06 325 * This macro is used to make HVC calls following SMC Calling Convention v1.1.
f2d3b2e8759a58 Marc Zyngier 2018-02-06 326 * The content of the supplied param are copied to registers 0 to 7 prior
f2d3b2e8759a58 Marc Zyngier 2018-02-06 327 * to the HVC instruction. The return values are updated with the content
f2d3b2e8759a58 Marc Zyngier 2018-02-06 328 * from register 0 to 3 on return from the HVC instruction if not NULL.
f2d3b2e8759a58 Marc Zyngier 2018-02-06 329 */
f2d3b2e8759a58 Marc Zyngier 2018-02-06 @330 #define arm_smccc_1_1_hvc(...) __arm_smccc_1_1(SMCCC_HVC_INST, __VA_ARGS__)
f2d3b2e8759a58 Marc Zyngier 2018-02-06 331
1a2eead6cb33b0 Sudeep Holla 2020-04-17 332 /*
1a2eead6cb33b0 Sudeep Holla 2020-04-17 333 * Return codes defined in ARM DEN 0070A
1a2eead6cb33b0 Sudeep Holla 2020-04-17 334 * ARM DEN 0070A is now merged/consolidated into ARM DEN 0028C
1a2eead6cb33b0 Sudeep Holla 2020-04-17 335 */
eff0e9e1078ea7 Marc Zyngier 2018-05-29 336 #define SMCCC_RET_SUCCESS 0
eff0e9e1078ea7 Marc Zyngier 2018-05-29 337 #define SMCCC_RET_NOT_SUPPORTED -1
eff0e9e1078ea7 Marc Zyngier 2018-05-29 338 #define SMCCC_RET_NOT_REQUIRED -2
1a2eead6cb33b0 Sudeep Holla 2020-04-17 339 #define SMCCC_RET_INVALID_PARAMETER -3
eff0e9e1078ea7 Marc Zyngier 2018-05-29 340
541625ac47ce9d Steven Price 2019-10-21 341 /*
541625ac47ce9d Steven Price 2019-10-21 342 * Like arm_smccc_1_1* but always returns SMCCC_RET_NOT_SUPPORTED.
541625ac47ce9d Steven Price 2019-10-21 343 * Used when the SMCCC conduit is not defined. The empty asm statement
541625ac47ce9d Steven Price 2019-10-21 344 * avoids compiler warnings about unused variables.
541625ac47ce9d Steven Price 2019-10-21 345 */
541625ac47ce9d Steven Price 2019-10-21 346 #define __fail_smccc_1_1(...) \
541625ac47ce9d Steven Price 2019-10-21 347 do { \
541625ac47ce9d Steven Price 2019-10-21 348 __declare_args(__count_args(__VA_ARGS__), __VA_ARGS__); \
541625ac47ce9d Steven Price 2019-10-21 349 asm ("" __constraints(__count_args(__VA_ARGS__))); \
541625ac47ce9d Steven Price 2019-10-21 350 if (___res) \
541625ac47ce9d Steven Price 2019-10-21 351 ___res->a0 = SMCCC_RET_NOT_SUPPORTED; \
541625ac47ce9d Steven Price 2019-10-21 352 } while (0)
541625ac47ce9d Steven Price 2019-10-21 353
541625ac47ce9d Steven Price 2019-10-21 354 /*
541625ac47ce9d Steven Price 2019-10-21 355 * arm_smccc_1_1_invoke() - make an SMCCC v1.1 compliant call
541625ac47ce9d Steven Price 2019-10-21 356 *
541625ac47ce9d Steven Price 2019-10-21 357 * This is a variadic macro taking one to eight source arguments, and
541625ac47ce9d Steven Price 2019-10-21 358 * an optional return structure.
541625ac47ce9d Steven Price 2019-10-21 359 *
541625ac47ce9d Steven Price 2019-10-21 360 * @a0-a7: arguments passed in registers 0 to 7
541625ac47ce9d Steven Price 2019-10-21 361 * @res: result values from registers 0 to 3
541625ac47ce9d Steven Price 2019-10-21 362 *
541625ac47ce9d Steven Price 2019-10-21 363 * This macro will make either an HVC call or an SMC call depending on the
541625ac47ce9d Steven Price 2019-10-21 364 * current SMCCC conduit. If no valid conduit is available then -1
541625ac47ce9d Steven Price 2019-10-21 365 * (SMCCC_RET_NOT_SUPPORTED) is returned in @res.a0 (if supplied).
541625ac47ce9d Steven Price 2019-10-21 366 *
541625ac47ce9d Steven Price 2019-10-21 367 * The return value also provides the conduit that was used.
541625ac47ce9d Steven Price 2019-10-21 368 */
541625ac47ce9d Steven Price 2019-10-21 369 #define arm_smccc_1_1_invoke(...) ({ \
541625ac47ce9d Steven Price 2019-10-21 370 int method = arm_smccc_1_1_get_conduit(); \
541625ac47ce9d Steven Price 2019-10-21 371 switch (method) { \
541625ac47ce9d Steven Price 2019-10-21 372 case SMCCC_CONDUIT_HVC: \
541625ac47ce9d Steven Price 2019-10-21 @373 arm_smccc_1_1_hvc(__VA_ARGS__); \
541625ac47ce9d Steven Price 2019-10-21 374 break; \
541625ac47ce9d Steven Price 2019-10-21 375 case SMCCC_CONDUIT_SMC: \
541625ac47ce9d Steven Price 2019-10-21 @376 arm_smccc_1_1_smc(__VA_ARGS__); \
541625ac47ce9d Steven Price 2019-10-21 377 break; \
541625ac47ce9d Steven Price 2019-10-21 378 default: \
541625ac47ce9d Steven Price 2019-10-21 379 __fail_smccc_1_1(__VA_ARGS__); \
541625ac47ce9d Steven Price 2019-10-21 380 method = SMCCC_CONDUIT_NONE; \
541625ac47ce9d Steven Price 2019-10-21 381 break; \
541625ac47ce9d Steven Price 2019-10-21 382 } \
541625ac47ce9d Steven Price 2019-10-21 383 method; \
541625ac47ce9d Steven Price 2019-10-21 384 })
541625ac47ce9d Steven Price 2019-10-21 385
:::::: The code at line 330 was first introduced by commit
:::::: f2d3b2e8759a5833df6f022e42df2d581e6d843c arm/arm64: smccc: Implement SMCCC v1.1 inline primitive
:::::: TO: Marc Zyngier <marc.zyngier(a)arm.com>
:::::: CC: Catalin Marinas <catalin.marinas(a)arm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
[alibaba-cloud:linux-next 11100/11102] kernel/sched/fair.c:10045:36: error: 'struct task_struct' has no member named 'cpu'
by kbuild test robot
tree: https://github.com/alibaba/cloud-kernel.git linux-next
head: 34e80779976780a7de3a79606ed73f634b1d2efc
commit: 9e7b35d6d84e2361d56a113cf40139fe83f4ba37 [11100/11102] alinux: sched: Introduce per-cgroup iowait accounting
config: arm-allyesconfig (attached as .config)
compiler: arm-linux-gnueabi-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
git checkout 9e7b35d6d84e2361d56a113cf40139fe83f4ba37
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/compiler_types.h:64,
from <command-line>:
kernel/sched/fair.c: In function 'update_nr_iowait_fair':
>> kernel/sched/fair.c:10045:36: error: 'struct task_struct' has no member named 'cpu'
10045 | clock = __rq_clock_broken(cpu_rq(p->cpu));
| ^~
include/linux/compiler-gcc.h:58:26: note: in definition of macro 'RELOC_HIDE'
58 | (typeof(ptr)) (__ptr + (off)); \
| ^~~
include/linux/percpu-defs.h:238:2: note: in expansion of macro 'SHIFT_PERCPU_PTR'
238 | SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))); \
| ^~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:238:26: note: in expansion of macro 'per_cpu_offset'
238 | SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))); \
| ^~~~~~~~~~~~~~
include/linux/percpu-defs.h:271:29: note: in expansion of macro 'per_cpu_ptr'
271 | #define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
| ^~~~~~~~~~~
kernel/sched/sched.h:968:24: note: in expansion of macro 'per_cpu'
968 | #define cpu_rq(cpu) (&per_cpu(runqueues, (cpu)))
| ^~~~~~~
kernel/sched/fair.c:10045:28: note: in expansion of macro 'cpu_rq'
10045 | clock = __rq_clock_broken(cpu_rq(p->cpu));
| ^~~~~~
vim +10045 kernel/sched/fair.c
10033
10034 #ifdef CONFIG_FAIR_GROUP_SCHED
10035 #ifdef CONFIG_SCHED_SLI
10036 static void update_nr_iowait_fair(struct task_struct *p, long inc)
10037 {
10038 unsigned long flags;
10039 struct sched_entity *se = p->se.parent;
10040 u64 clock;
10041
10042 if (!schedstat_enabled())
10043 return;
10044
10045 clock = __rq_clock_broken(cpu_rq(p->cpu));
10046
10047 for_each_sched_entity(se) {
10048 /*
10049 * Avoid locking rq->lock from try_to_wakeup hot path, in
10050 * the price of poor consistency among cgroup hierarchy,
10051 * which we can tolerate.
10052 * While accessing se->on_rq does need to hold rq->lock. We
10053 * already do, because when inc==1, the caller is __schedule
10054 * and task_move_group_fair
10055 */
10056 spin_lock_irqsave(&se->iowait_lock, flags);
10057 if (!se->on_rq && !schedstat_val(se->cg_nr_iowait) && inc > 0)
10058 __schedstat_set(se->cg_iowait_start, clock);
10059 if (schedstat_val(se->cg_iowait_start) > 0 &&
10060 schedstat_val(se->cg_nr_iowait) + inc == 0) {
10061 __schedstat_add(se->cg_iowait_sum, clock -
10062 schedstat_val(se->cg_iowait_start));
10063 __schedstat_set(se->cg_iowait_start, 0);
10064 }
10065 __schedstat_add(se->cg_nr_iowait, inc);
10066 spin_unlock_irqrestore(&se->iowait_lock, flags);
10067 }
10068 }
10069 #else
10070 static void update_nr_iowait_fair(struct task_struct *p, long inc) {}
10071 #endif
10072
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks