[android-common:android-3.18 396/932] arch/arm64/xen/../../arm/xen/enlighten.c:228:55: sparse: sparse: Using plain integer as NULL pointer
by kernel test robot
Hi Lee,
First bad commit (maybe != root cause):
tree: https://android.googlesource.com/kernel/common android-3.18
head: e9fc33125a4d09c6247e830df66b2aba6488c797
commit: 8214bf079208b146e63cd0a3ce0ed335a87ce7b3 [396/932] scripts/dtc: Export YYLOC global declaration
config: arm64-randconfig-s032-20210409 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 5.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-279-g6d5d9b42-dirty
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android-3.18
git checkout 8214bf079208b146e63cd0a3ce0ed335a87ce7b3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-5.5.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm64
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 >>)
arch/arm64/xen/../../arm/xen/enlighten.c:30:19: sparse: sparse: symbol '_xen_start_info' was not declared. Should it be static?
arch/arm64/xen/../../arm/xen/enlighten.c:51:5: sparse: sparse: symbol 'xen_platform_pci_unplug' was not declared. Should it be static?
>> arch/arm64/xen/../../arm/xen/enlighten.c:228:55: sparse: sparse: Using plain integer as NULL pointer
In file included from arch/arm64/include/generated/asm/bug.h:1:0,
from include/linux/bug.h:4,
from include/linux/thread_info.h:11,
from include/asm-generic/preempt.h:4,
from arch/arm64/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:18,
from include/linux/interrupt.h:8,
from include/xen/events.h:4,
from arch/arm64/xen/../../arm/xen/enlighten.c:2:
include/linux/cpumask.h: In function 'cpumask_check':
include/linux/cpumask.h:116:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
WARN_ON_ONCE(cpu >= nr_cpumask_bits);
^
include/asm-generic/bug.h:112:27: note: in definition of macro 'WARN_ON_ONCE'
int __ret_warn_once = !!(condition); 20- ^
In file included from arch/arm64/include/asm/mmu.h:24:0,
from include/linux/mm_types.h:18,
from include/linux/sched.h:27,
from arch/arm64/include/asm/compat.h:25,
from arch/arm64/include/asm/stat.h:23,
from include/linux/stat.h:5,
from include/linux/sysfs.h:21,
from include/linux/kobject.h:21,
from include/linux/msi.h:4,
from include/xen/events.h:6,
from arch/arm64/xen/../../arm/xen/enlighten.c:2:
arch/arm64/include/asm/cpufeature.h: In function 'arm64_ftr_value':
arch/arm64/include/asm/cpufeature.h:153:68: warning: signed and unsigned type in conditional expression [-Wsign-compare]
cpuid_feature_extract_field_width(val, ftrp->shift, ftrp->width) :
^
In file included from arch/arm64/include/asm/compat.h:25:0,
from arch/arm64/include/asm/stat.h:23,
from include/linux/stat.h:5,
from include/linux/sysfs.h:21,
from include/linux/kobject.h:21,
from include/linux/msi.h:4,
from include/xen/events.h:6,
from arch/arm64/xen/../../arm/xen/enlighten.c:2:
include/linux/sched.h: At top level:
include/linux/sched.h:1067:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
const struct sched_group_energy * const(*sched_domain_energy_f)(int cpu);
^
In file included from arch/arm64/xen/../../arm/xen/enlighten.c:4:0:
include/xen/hvm.h: In function 'param_name':
include/xen/hvm.h:30:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (op >= ARRAY_SIZE(names))
^
arch/arm64/xen/../../arm/xen/enlighten.c: In function 'xen_guest_init':
arch/arm64/xen/../../arm/xen/enlighten.c:243:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (strlen(xen_prefix) + 3 < len &&
^
vim +228 arch/arm64/xen/../../arm/xen/enlighten.c
8b271d57b57585 Julien Grall 2014-01-30 219
2e01f16601d892 Stefano Stabellini 2012-09-14 220 /*
2e01f16601d892 Stefano Stabellini 2012-09-14 221 * see Documentation/devicetree/bindings/arm/xen.txt for the
2e01f16601d892 Stefano Stabellini 2012-09-14 222 * documentation of the Xen Device Tree format.
2e01f16601d892 Stefano Stabellini 2012-09-14 223 */
b3b52fd87e8f75 Stefano Stabellini 2012-09-13 224 #define GRANT_TABLE_PHYSADDR 0
2e01f16601d892 Stefano Stabellini 2012-09-14 225 static int __init xen_guest_init(void)
2e01f16601d892 Stefano Stabellini 2012-09-14 226 {
2e01f16601d892 Stefano Stabellini 2012-09-14 227 struct xen_add_to_physmap xatp;
2e01f16601d892 Stefano Stabellini 2012-09-14 @228 static struct shared_info *shared_info_page = 0;
2e01f16601d892 Stefano Stabellini 2012-09-14 229 struct device_node *node;
2e01f16601d892 Stefano Stabellini 2012-09-14 230 int len;
2e01f16601d892 Stefano Stabellini 2012-09-14 231 const char *s = NULL;
2e01f16601d892 Stefano Stabellini 2012-09-14 232 const char *version = NULL;
2e01f16601d892 Stefano Stabellini 2012-09-14 233 const char *xen_prefix = "xen,xen-";
b3b52fd87e8f75 Stefano Stabellini 2012-09-13 234 struct resource res;
47c542050d306e Julien Grall 2014-01-30 235 phys_addr_t grant_frames;
2e01f16601d892 Stefano Stabellini 2012-09-14 236
2e01f16601d892 Stefano Stabellini 2012-09-14 237 node = of_find_compatible_node(NULL, NULL, "xen,xen");
2e01f16601d892 Stefano Stabellini 2012-09-14 238 if (!node) {
2e01f16601d892 Stefano Stabellini 2012-09-14 239 pr_debug("No Xen support\n");
2e01f16601d892 Stefano Stabellini 2012-09-14 240 return 0;
2e01f16601d892 Stefano Stabellini 2012-09-14 241 }
2e01f16601d892 Stefano Stabellini 2012-09-14 242 s = of_get_property(node, "compatible", &len);
2e01f16601d892 Stefano Stabellini 2012-09-14 243 if (strlen(xen_prefix) + 3 < len &&
2e01f16601d892 Stefano Stabellini 2012-09-14 244 !strncmp(xen_prefix, s, strlen(xen_prefix)))
2e01f16601d892 Stefano Stabellini 2012-09-14 245 version = s + strlen(xen_prefix);
2e01f16601d892 Stefano Stabellini 2012-09-14 246 if (version == NULL) {
2e01f16601d892 Stefano Stabellini 2012-09-14 247 pr_debug("Xen version not found\n");
2e01f16601d892 Stefano Stabellini 2012-09-14 248 return 0;
2e01f16601d892 Stefano Stabellini 2012-09-14 249 }
b3b52fd87e8f75 Stefano Stabellini 2012-09-13 250 if (of_address_to_resource(node, GRANT_TABLE_PHYSADDR, &res))
b3b52fd87e8f75 Stefano Stabellini 2012-09-13 251 return 0;
efaf30a3357872 Konrad Rzeszutek Wilk 2014-01-06 252 grant_frames = res.start;
0ec53ecf38bcbf Stefano Stabellini 2012-09-14 253 xen_events_irq = irq_of_parse_and_map(node, 0);
47c542050d306e Julien Grall 2014-01-30 254 pr_info("Xen %s support found, events_irq=%d gnttab_frame=%pa\n",
47c542050d306e Julien Grall 2014-01-30 255 version, xen_events_irq, &grant_frames);
8b271d57b57585 Julien Grall 2014-01-30 256
8b271d57b57585 Julien Grall 2014-01-30 257 if (xen_events_irq < 0)
8b271d57b57585 Julien Grall 2014-01-30 258 return -ENODEV;
8b271d57b57585 Julien Grall 2014-01-30 259
2e01f16601d892 Stefano Stabellini 2012-09-14 260 xen_domain_type = XEN_HVM_DOMAIN;
2e01f16601d892 Stefano Stabellini 2012-09-14 261
ef61ee0dc7ba04 Stefano Stabellini 2012-08-08 262 xen_setup_features();
5ebc77de83c7b7 Stefano Stabellini 2014-09-10 263
5ebc77de83c7b7 Stefano Stabellini 2014-09-10 264 if (!xen_feature(XENFEAT_grant_map_identity)) {
5ebc77de83c7b7 Stefano Stabellini 2014-09-10 265 pr_warn("Please upgrade your Xen.\n"
5ebc77de83c7b7 Stefano Stabellini 2014-09-10 266 "If your platform has any non-coherent DMA devices, they won't work properly.\n");
5ebc77de83c7b7 Stefano Stabellini 2014-09-10 267 }
5ebc77de83c7b7 Stefano Stabellini 2014-09-10 268
ef61ee0dc7ba04 Stefano Stabellini 2012-08-08 269 if (xen_feature(XENFEAT_dom0))
ef61ee0dc7ba04 Stefano Stabellini 2012-08-08 270 xen_start_info->flags |= SIF_INITDOMAIN|SIF_PRIVILEGED;
ef61ee0dc7ba04 Stefano Stabellini 2012-08-08 271 else
ef61ee0dc7ba04 Stefano Stabellini 2012-08-08 272 xen_start_info->flags &= ~(SIF_INITDOMAIN|SIF_PRIVILEGED);
ef61ee0dc7ba04 Stefano Stabellini 2012-08-08 273
2e01f16601d892 Stefano Stabellini 2012-09-14 274 if (!shared_info_page)
2e01f16601d892 Stefano Stabellini 2012-09-14 275 shared_info_page = (struct shared_info *)
2e01f16601d892 Stefano Stabellini 2012-09-14 276 get_zeroed_page(GFP_KERNEL);
2e01f16601d892 Stefano Stabellini 2012-09-14 277 if (!shared_info_page) {
2e01f16601d892 Stefano Stabellini 2012-09-14 278 pr_err("not enough memory\n");
2e01f16601d892 Stefano Stabellini 2012-09-14 279 return -ENOMEM;
2e01f16601d892 Stefano Stabellini 2012-09-14 280 }
2e01f16601d892 Stefano Stabellini 2012-09-14 281 xatp.domid = DOMID_SELF;
2e01f16601d892 Stefano Stabellini 2012-09-14 282 xatp.idx = 0;
2e01f16601d892 Stefano Stabellini 2012-09-14 283 xatp.space = XENMAPSPACE_shared_info;
2e01f16601d892 Stefano Stabellini 2012-09-14 284 xatp.gpfn = __pa(shared_info_page) >> PAGE_SHIFT;
2e01f16601d892 Stefano Stabellini 2012-09-14 285 if (HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp))
2e01f16601d892 Stefano Stabellini 2012-09-14 286 BUG();
2e01f16601d892 Stefano Stabellini 2012-09-14 287
2e01f16601d892 Stefano Stabellini 2012-09-14 288 HYPERVISOR_shared_info = (struct shared_info *)shared_info_page;
2e01f16601d892 Stefano Stabellini 2012-09-14 289
2e01f16601d892 Stefano Stabellini 2012-09-14 290 /* xen_vcpu is a pointer to the vcpu_info struct in the shared_info
2e01f16601d892 Stefano Stabellini 2012-09-14 291 * page, we use it in the event channel upcall and in some pvclock
9a9ab3cc00dc0c Stefano Stabellini 2013-04-25 292 * related functions.
2e01f16601d892 Stefano Stabellini 2012-09-14 293 * The shared info contains exactly 1 CPU (the boot CPU). The guest
2e01f16601d892 Stefano Stabellini 2012-09-14 294 * is required to use VCPUOP_register_vcpu_info to place vcpu info
9a9ab3cc00dc0c Stefano Stabellini 2013-04-25 295 * for secondary CPUs as they are brought up.
9a9ab3cc00dc0c Stefano Stabellini 2013-04-25 296 * For uniformity we use VCPUOP_register_vcpu_info even on cpu0.
9a9ab3cc00dc0c Stefano Stabellini 2013-04-25 297 */
16691059c77a6a Julien Grall 2016-12-07 298 xen_vcpu_info = alloc_percpu(struct vcpu_info);
9a9ab3cc00dc0c Stefano Stabellini 2013-04-25 299 if (xen_vcpu_info == NULL)
9a9ab3cc00dc0c Stefano Stabellini 2013-04-25 300 return -ENOMEM;
b3b52fd87e8f75 Stefano Stabellini 2012-09-13 301
efaf30a3357872 Konrad Rzeszutek Wilk 2014-01-06 302 if (gnttab_setup_auto_xlat_frames(grant_frames)) {
efaf30a3357872 Konrad Rzeszutek Wilk 2014-01-06 303 free_percpu(xen_vcpu_info);
efaf30a3357872 Konrad Rzeszutek Wilk 2014-01-06 304 return -ENOMEM;
efaf30a3357872 Konrad Rzeszutek Wilk 2014-01-06 305 }
b3b52fd87e8f75 Stefano Stabellini 2012-09-13 306 gnttab_init();
b3b52fd87e8f75 Stefano Stabellini 2012-09-13 307 if (!xen_initial_domain())
b3b52fd87e8f75 Stefano Stabellini 2012-09-13 308 xenbus_probe(NULL);
b3b52fd87e8f75 Stefano Stabellini 2012-09-13 309
e1a9c16b303725 Julien Grall 2013-09-09 310 /*
e1a9c16b303725 Julien Grall 2013-09-09 311 * Making sure board specific code will not set up ops for
e1a9c16b303725 Julien Grall 2013-09-09 312 * cpu idle and cpu freq.
e1a9c16b303725 Julien Grall 2013-09-09 313 */
e1a9c16b303725 Julien Grall 2013-09-09 314 disable_cpuidle();
e1a9c16b303725 Julien Grall 2013-09-09 315 disable_cpufreq();
e1a9c16b303725 Julien Grall 2013-09-09 316
8b271d57b57585 Julien Grall 2014-01-30 317 xen_init_IRQ();
8b271d57b57585 Julien Grall 2014-01-30 318
8b271d57b57585 Julien Grall 2014-01-30 319 if (request_percpu_irq(xen_events_irq, xen_arm_callback,
8b271d57b57585 Julien Grall 2014-01-30 320 "events", &xen_vcpu)) {
8b271d57b57585 Julien Grall 2014-01-30 321 pr_err("Error request IRQ %d\n", xen_events_irq);
8b271d57b57585 Julien Grall 2014-01-30 322 return -EINVAL;
8b271d57b57585 Julien Grall 2014-01-30 323 }
8b271d57b57585 Julien Grall 2014-01-30 324
8b271d57b57585 Julien Grall 2014-01-30 325 xen_percpu_init();
8b271d57b57585 Julien Grall 2014-01-30 326
8b271d57b57585 Julien Grall 2014-01-30 327 register_cpu_notifier(&xen_cpu_notifier);
8b271d57b57585 Julien Grall 2014-01-30 328
1aa3d8d9935dfb Stefano Stabellini 2013-05-08 329 return 0;
1aa3d8d9935dfb Stefano Stabellini 2013-05-08 330 }
8b271d57b57585 Julien Grall 2014-01-30 331 early_initcall(xen_guest_init);
1aa3d8d9935dfb Stefano Stabellini 2013-05-08 332
:::::: The code at line 228 was first introduced by commit
:::::: 2e01f16601d8924b12b1acf1cdc49a0d1cc1cfb2 xen/arm: Xen detection and shared_info page mapping
:::::: TO: Stefano Stabellini <stefano.stabellini(a)eu.citrix.com>
:::::: CC: Stefano Stabellini <stefano.stabellini(a)eu.citrix.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[linuxppc:next-test 130/182] arch/powerpc/kernel/signal_32.c:573:36: error: macro "unsafe_copy_from_user" requires 4 arguments, but only 3 given
by kernel test robot
Hi Christophe,
FYI, the error/warning still remains.
tree: https://github.com/linuxppc/linux next-test
head: 3ac6488df9160f52bbd8b8ec3387a53ac3d0f2eb
commit: 627b72bee84d6652e0af26617e71ce2b3c18fcd5 [130/182] powerpc/signal32: Convert restore_[tm]_user_regs() to user access block
config: powerpc-mpc8540_ads_defconfig (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/linuxppc/linux/commit/627b72bee84d6652e0af26617e71ce2b...
git remote add linuxppc https://github.com/linuxppc/linux
git fetch --no-tags linuxppc next-test
git checkout 627b72bee84d6652e0af26617e71ce2b3c18fcd5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.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 >>):
arch/powerpc/kernel/signal_32.c: In function 'restore_user_regs':
>> arch/powerpc/kernel/signal_32.c:573:36: error: macro "unsafe_copy_from_user" requires 4 arguments, but only 3 given
573 | ELF_NEVRREG * sizeof(u32));
| ^
In file included from include/linux/uaccess.h:11,
from include/linux/sched/task.h:11,
from include/linux/sched/signal.h:9,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from arch/powerpc/kernel/signal_32.c:17:
arch/powerpc/include/asm/uaccess.h:428: note: macro "unsafe_copy_from_user" defined here
428 | #define unsafe_copy_from_user(d, s, l, e) \
|
>> arch/powerpc/kernel/signal_32.c:572:3: error: 'unsafe_copy_from_user' undeclared (first use in this function); did you mean 'raw_copy_from_user'?
572 | unsafe_copy_from_user(current->thread.evr, &sr->mc_vregs,
| ^~~~~~~~~~~~~~~~~~~~~
| raw_copy_from_user
arch/powerpc/kernel/signal_32.c:572:3: note: each undeclared identifier is reported only once for each function it appears in
vim +/unsafe_copy_from_user +573 arch/powerpc/kernel/signal_32.c
502
503 if (!user_read_access_begin(sr, sizeof(*sr)))
504 return 1;
505 /*
506 * restore general registers but not including MSR or SOFTE. Also
507 * take care of keeping r2 (TLS) intact if not a signal
508 */
509 if (!sig)
510 save_r2 = (unsigned int)regs->gpr[2];
511 unsafe_restore_general_regs(regs, sr, failed);
512 set_trap_norestart(regs);
513 unsafe_get_user(msr, &sr->mc_gregs[PT_MSR], failed);
514 if (!sig)
515 regs->gpr[2] = (unsigned long) save_r2;
516
517 /* if doing signal return, restore the previous little-endian mode */
518 if (sig)
519 regs->msr = (regs->msr & ~MSR_LE) | (msr & MSR_LE);
520
521 #ifdef CONFIG_ALTIVEC
522 /*
523 * Force the process to reload the altivec registers from
524 * current->thread when it next does altivec instructions
525 */
526 regs->msr &= ~MSR_VEC;
527 if (msr & MSR_VEC) {
528 /* restore altivec registers from the stack */
529 unsafe_copy_from_user(¤t->thread.vr_state, &sr->mc_vregs,
530 sizeof(sr->mc_vregs), failed);
531 current->thread.used_vr = true;
532 } else if (current->thread.used_vr)
533 memset(¤t->thread.vr_state, 0,
534 ELF_NVRREG * sizeof(vector128));
535
536 /* Always get VRSAVE back */
537 unsafe_get_user(current->thread.vrsave, (u32 __user *)&sr->mc_vregs[32], failed);
538 if (cpu_has_feature(CPU_FTR_ALTIVEC))
539 mtspr(SPRN_VRSAVE, current->thread.vrsave);
540 #endif /* CONFIG_ALTIVEC */
541 unsafe_copy_fpr_from_user(current, &sr->mc_fregs, failed);
542
543 #ifdef CONFIG_VSX
544 /*
545 * Force the process to reload the VSX registers from
546 * current->thread when it next does VSX instruction.
547 */
548 regs->msr &= ~MSR_VSX;
549 if (msr & MSR_VSX) {
550 /*
551 * Restore altivec registers from the stack to a local
552 * buffer, then write this out to the thread_struct
553 */
554 unsafe_copy_vsx_from_user(current, &sr->mc_vsregs, failed);
555 current->thread.used_vsr = true;
556 } else if (current->thread.used_vsr)
557 for (i = 0; i < 32 ; i++)
558 current->thread.fp_state.fpr[i][TS_VSRLOWOFFSET] = 0;
559 #endif /* CONFIG_VSX */
560 /*
561 * force the process to reload the FP registers from
562 * current->thread when it next does FP instructions
563 */
564 regs->msr &= ~(MSR_FP | MSR_FE0 | MSR_FE1);
565
566 #ifdef CONFIG_SPE
567 /* force the process to reload the spe registers from
568 current->thread when it next does spe instructions */
569 regs->msr &= ~MSR_SPE;
570 if (msr & MSR_SPE) {
571 /* restore spe registers from the stack */
> 572 unsafe_copy_from_user(current->thread.evr, &sr->mc_vregs,
> 573 ELF_NEVRREG * sizeof(u32));
574 current->thread.used_spe = true;
575 } else if (current->thread.used_spe)
576 memset(current->thread.evr, 0, ELF_NEVRREG * sizeof(u32));
577
578 /* Always get SPEFSCR back */
579 unsafe_get_user(current->thread.spefscr, (u32 __user *)&sr->mc_vregs + ELF_NEVRREG, failed);
580 #endif /* CONFIG_SPE */
581
582 user_read_access_end();
583 return 0;
584
585 failed:
586 user_read_access_end();
587 return 1;
588 }
589
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
Re: [PATCH 03/16] lpfc: Fix reference counting errors in lpfc_cmpl_els_rsp()
by kernel test robot
Hi James,
I love your patch! Perhaps something to improve:
[auto build test WARNING on scsi/for-next]
[also build test WARNING on mkp-scsi/for-next linus/master v5.12-rc6 next-20210409]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/James-Smart/lpfc-Update-lpfc-to-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/14cc4aacd0b5890c9db3ce319c67b9565...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review James-Smart/lpfc-Update-lpfc-to-revision-12-8-0-9/20210411-013122
git checkout 14cc4aacd0b5890c9db3ce319c67b956520a2aa7
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/scsi/lpfc/lpfc_els.c: In function 'lpfc_cmpl_els_rsp':
>> drivers/scsi/lpfc/lpfc_els.c:4460:11: warning: variable 'ls_rjt' set but not used [-Wunused-but-set-variable]
4460 | uint32_t ls_rjt = 0;
| ^~~~~~
vim +/ls_rjt +4460 drivers/scsi/lpfc/lpfc_els.c
858c9f6c19c6f9 James Smart 2007-06-17 4435
e59058c44025d7 James Smart 2008-08-24 4436 /**
3621a710a7dbb2 James Smart 2009-04-06 4437 * lpfc_cmpl_els_rsp - Completion callback function for els response iocb cmd
e59058c44025d7 James Smart 2008-08-24 4438 * @phba: pointer to lpfc hba data structure.
e59058c44025d7 James Smart 2008-08-24 4439 * @cmdiocb: pointer to lpfc command iocb data structure.
e59058c44025d7 James Smart 2008-08-24 4440 * @rspiocb: pointer to lpfc response iocb data structure.
e59058c44025d7 James Smart 2008-08-24 4441 *
e59058c44025d7 James Smart 2008-08-24 4442 * This routine is the completion callback function for ELS Response IOCB
e59058c44025d7 James Smart 2008-08-24 4443 * command. In normal case, this callback function just properly sets the
e59058c44025d7 James Smart 2008-08-24 4444 * nlp_flag bitmap in the ndlp data structure, if the mbox command reference
e59058c44025d7 James Smart 2008-08-24 4445 * field in the command IOCB is not NULL, the referred mailbox command will
e59058c44025d7 James Smart 2008-08-24 4446 * be send out, and then invokes the lpfc_els_free_iocb() routine to release
14cc4aacd0b589 James Smart 2021-04-10 4447 * the IOCB.
e59058c44025d7 James Smart 2008-08-24 4448 **/
dea3101e0a5c89 James Bottomley 2005-04-17 4449 static void
858c9f6c19c6f9 James Smart 2007-06-17 4450 lpfc_cmpl_els_rsp(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
dea3101e0a5c89 James Bottomley 2005-04-17 4451 struct lpfc_iocbq *rspiocb)
dea3101e0a5c89 James Bottomley 2005-04-17 4452 {
2e0fef85e098f6 James Smart 2007-06-17 4453 struct lpfc_nodelist *ndlp = (struct lpfc_nodelist *) cmdiocb->context1;
2e0fef85e098f6 James Smart 2007-06-17 4454 struct lpfc_vport *vport = ndlp ? ndlp->vport : NULL;
2e0fef85e098f6 James Smart 2007-06-17 4455 struct Scsi_Host *shost = vport ? lpfc_shost_from_vport(vport) : NULL;
33ccf8d1080bdc James Smart 2006-08-17 4456 IOCB_t *irsp;
87af33fe5f78c2 James Smart 2007-10-27 4457 uint8_t *pcmd;
dea3101e0a5c89 James Bottomley 2005-04-17 4458 LPFC_MBOXQ_t *mbox = NULL;
2e0fef85e098f6 James Smart 2007-06-17 4459 struct lpfc_dmabuf *mp = NULL;
87af33fe5f78c2 James Smart 2007-10-27 @4460 uint32_t ls_rjt = 0;
dea3101e0a5c89 James Bottomley 2005-04-17 4461
33ccf8d1080bdc James Smart 2006-08-17 4462 irsp = &rspiocb->iocb;
33ccf8d1080bdc James Smart 2006-08-17 4463
43bfea1bffb6b0 James Smart 2019-09-21 4464 if (!vport) {
372c187b8a705c Dick Kennedy 2020-06-30 4465 lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
43bfea1bffb6b0 James Smart 2019-09-21 4466 "3177 ELS response failed\n");
43bfea1bffb6b0 James Smart 2019-09-21 4467 goto out;
43bfea1bffb6b0 James Smart 2019-09-21 4468 }
dea3101e0a5c89 James Bottomley 2005-04-17 4469 if (cmdiocb->context_un.mbox)
dea3101e0a5c89 James Bottomley 2005-04-17 4470 mbox = cmdiocb->context_un.mbox;
dea3101e0a5c89 James Bottomley 2005-04-17 4471
fa4066b672821d James Smart 2008-01-11 4472 /* First determine if this is a LS_RJT cmpl. Note, this callback
fa4066b672821d James Smart 2008-01-11 4473 * function can have cmdiocb->contest1 (ndlp) field set to NULL.
fa4066b672821d James Smart 2008-01-11 4474 */
87af33fe5f78c2 James Smart 2007-10-27 4475 pcmd = (uint8_t *) (((struct lpfc_dmabuf *) cmdiocb->context2)->virt);
307e338097dc32 James Smart 2020-11-15 4476 if (ndlp && (*((uint32_t *) (pcmd)) == ELS_CMD_LS_RJT)) {
fa4066b672821d James Smart 2008-01-11 4477 /* A LS_RJT associated with Default RPI cleanup has its own
3ad2f3fbb96142 Daniel Mack 2010-02-03 4478 * separate code path.
87af33fe5f78c2 James Smart 2007-10-27 4479 */
87af33fe5f78c2 James Smart 2007-10-27 4480 if (!(ndlp->nlp_flag & NLP_RM_DFLT_RPI))
87af33fe5f78c2 James Smart 2007-10-27 4481 ls_rjt = 1;
87af33fe5f78c2 James Smart 2007-10-27 4482 }
87af33fe5f78c2 James Smart 2007-10-27 4483
dea3101e0a5c89 James Bottomley 2005-04-17 4484 /* Check to see if link went down during discovery */
307e338097dc32 James Smart 2020-11-15 4485 if (!ndlp || lpfc_els_chk_latt(vport)) {
dea3101e0a5c89 James Bottomley 2005-04-17 4486 if (mbox) {
3e1f0718921cd1 James Smart 2018-11-29 4487 mp = (struct lpfc_dmabuf *)mbox->ctx_buf;
146911500f2572 James Smart 2006-12-02 4488 if (mp) {
146911500f2572 James Smart 2006-12-02 4489 lpfc_mbuf_free(phba, mp->virt, mp->phys);
146911500f2572 James Smart 2006-12-02 4490 kfree(mp);
146911500f2572 James Smart 2006-12-02 4491 }
dea3101e0a5c89 James Bottomley 2005-04-17 4492 mempool_free(mbox, phba->mbox_mem_pool);
dea3101e0a5c89 James Bottomley 2005-04-17 4493 }
dea3101e0a5c89 James Bottomley 2005-04-17 4494 goto out;
dea3101e0a5c89 James Bottomley 2005-04-17 4495 }
dea3101e0a5c89 James Bottomley 2005-04-17 4496
858c9f6c19c6f9 James Smart 2007-06-17 4497 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_ELS_RSP,
51ef4c26891a73 James Smart 2007-08-02 4498 "ELS rsp cmpl: status:x%x/x%x did:x%x",
858c9f6c19c6f9 James Smart 2007-06-17 4499 irsp->ulpStatus, irsp->un.ulpWord[4],
51ef4c26891a73 James Smart 2007-08-02 4500 cmdiocb->iocb.un.elsreq64.remoteID);
dea3101e0a5c89 James Bottomley 2005-04-17 4501 /* ELS response tag <ulpIoTag> completes */
e8b62011d88d6f James Smart 2007-08-02 4502 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS,
e8b62011d88d6f James Smart 2007-08-02 4503 "0110 ELS response tag x%x completes "
c9f8735beadfba Jamie Wellnitz 2006-02-28 4504 "Data: x%x x%x x%x x%x x%x x%x x%x\n",
dea3101e0a5c89 James Bottomley 2005-04-17 4505 cmdiocb->iocb.ulpIoTag, rspiocb->iocb.ulpStatus,
c9f8735beadfba Jamie Wellnitz 2006-02-28 4506 rspiocb->iocb.un.ulpWord[4], rspiocb->iocb.ulpTimeout,
c9f8735beadfba Jamie Wellnitz 2006-02-28 4507 ndlp->nlp_DID, ndlp->nlp_flag, ndlp->nlp_state,
c9f8735beadfba Jamie Wellnitz 2006-02-28 4508 ndlp->nlp_rpi);
dea3101e0a5c89 James Bottomley 2005-04-17 4509 if (mbox) {
4430f7fd09ecb0 James Smart 2020-11-15 4510 if ((rspiocb->iocb.ulpStatus == 0) &&
4430f7fd09ecb0 James Smart 2020-11-15 4511 (ndlp->nlp_flag & NLP_ACC_REGLOGIN)) {
1fe68477d235e4 Dick Kennedy 2017-08-23 4512 if (!lpfc_unreg_rpi(vport, ndlp) &&
4430f7fd09ecb0 James Smart 2020-11-15 4513 (!(vport->fc_flag & FC_PT2PT))) {
4430f7fd09ecb0 James Smart 2020-11-15 4514 if (ndlp->nlp_state == NLP_STE_REG_LOGIN_ISSUE) {
1fe68477d235e4 Dick Kennedy 2017-08-23 4515 lpfc_printf_vlog(vport, KERN_INFO,
1fe68477d235e4 Dick Kennedy 2017-08-23 4516 LOG_DISCOVERY,
4430f7fd09ecb0 James Smart 2020-11-15 4517 "0314 PLOGI recov "
4430f7fd09ecb0 James Smart 2020-11-15 4518 "DID x%x "
1fe68477d235e4 Dick Kennedy 2017-08-23 4519 "Data: x%x x%x x%x\n",
4430f7fd09ecb0 James Smart 2020-11-15 4520 ndlp->nlp_DID,
4430f7fd09ecb0 James Smart 2020-11-15 4521 ndlp->nlp_state,
4430f7fd09ecb0 James Smart 2020-11-15 4522 ndlp->nlp_rpi,
4430f7fd09ecb0 James Smart 2020-11-15 4523 ndlp->nlp_flag);
3e1f0718921cd1 James Smart 2018-11-29 4524 mp = mbox->ctx_buf;
1fe68477d235e4 Dick Kennedy 2017-08-23 4525 if (mp) {
1fe68477d235e4 Dick Kennedy 2017-08-23 4526 lpfc_mbuf_free(phba, mp->virt,
1fe68477d235e4 Dick Kennedy 2017-08-23 4527 mp->phys);
1fe68477d235e4 Dick Kennedy 2017-08-23 4528 kfree(mp);
1fe68477d235e4 Dick Kennedy 2017-08-23 4529 }
1fe68477d235e4 Dick Kennedy 2017-08-23 4530 mempool_free(mbox, phba->mbox_mem_pool);
1fe68477d235e4 Dick Kennedy 2017-08-23 4531 goto out;
1fe68477d235e4 Dick Kennedy 2017-08-23 4532 }
4430f7fd09ecb0 James Smart 2020-11-15 4533 }
1fe68477d235e4 Dick Kennedy 2017-08-23 4534
e47c9093531d34 James Smart 2008-02-08 4535 /* Increment reference count to ndlp to hold the
e47c9093531d34 James Smart 2008-02-08 4536 * reference to ndlp for the callback function.
e47c9093531d34 James Smart 2008-02-08 4537 */
3e1f0718921cd1 James Smart 2018-11-29 4538 mbox->ctx_ndlp = lpfc_nlp_get(ndlp);
4430f7fd09ecb0 James Smart 2020-11-15 4539 if (!mbox->ctx_ndlp)
4430f7fd09ecb0 James Smart 2020-11-15 4540 goto out;
4430f7fd09ecb0 James Smart 2020-11-15 4541
2e0fef85e098f6 James Smart 2007-06-17 4542 mbox->vport = vport;
858c9f6c19c6f9 James Smart 2007-06-17 4543 if (ndlp->nlp_flag & NLP_RM_DFLT_RPI) {
858c9f6c19c6f9 James Smart 2007-06-17 4544 mbox->mbox_flag |= LPFC_MBX_IMED_UNREG;
858c9f6c19c6f9 James Smart 2007-06-17 4545 mbox->mbox_cmpl = lpfc_mbx_cmpl_dflt_rpi;
858c9f6c19c6f9 James Smart 2007-06-17 4546 }
858c9f6c19c6f9 James Smart 2007-06-17 4547 else {
858c9f6c19c6f9 James Smart 2007-06-17 4548 mbox->mbox_cmpl = lpfc_mbx_cmpl_reg_login;
5024ab179c13d7 Jamie Wellnitz 2006-02-28 4549 ndlp->nlp_prev_state = ndlp->nlp_state;
2e0fef85e098f6 James Smart 2007-06-17 4550 lpfc_nlp_set_state(vport, ndlp,
2e0fef85e098f6 James Smart 2007-06-17 4551 NLP_STE_REG_LOGIN_ISSUE);
858c9f6c19c6f9 James Smart 2007-06-17 4552 }
4b7789b71c916f James Smart 2015-12-16 4553
4b7789b71c916f James Smart 2015-12-16 4554 ndlp->nlp_flag |= NLP_REG_LOGIN_SEND;
0b727fea7a700e James Smart 2007-10-27 4555 if (lpfc_sli_issue_mbox(phba, mbox, MBX_NOWAIT)
e47c9093531d34 James Smart 2008-02-08 4556 != MBX_NOT_FINISHED)
dea3101e0a5c89 James Bottomley 2005-04-17 4557 goto out;
4b7789b71c916f James Smart 2015-12-16 4558
e47c9093531d34 James Smart 2008-02-08 4559 /* Decrement the ndlp reference count we
e47c9093531d34 James Smart 2008-02-08 4560 * set for this failed mailbox command.
e47c9093531d34 James Smart 2008-02-08 4561 */
e47c9093531d34 James Smart 2008-02-08 4562 lpfc_nlp_put(ndlp);
4b7789b71c916f James Smart 2015-12-16 4563 ndlp->nlp_flag &= ~NLP_REG_LOGIN_SEND;
98c9ea5c026ee4 James Smart 2007-10-27 4564
98c9ea5c026ee4 James Smart 2007-10-27 4565 /* ELS rsp: Cannot issue reg_login for <NPortid> */
372c187b8a705c Dick Kennedy 2020-06-30 4566 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
98c9ea5c026ee4 James Smart 2007-10-27 4567 "0138 ELS rsp: Cannot issue reg_login for x%x "
98c9ea5c026ee4 James Smart 2007-10-27 4568 "Data: x%x x%x x%x\n",
98c9ea5c026ee4 James Smart 2007-10-27 4569 ndlp->nlp_DID, ndlp->nlp_flag, ndlp->nlp_state,
98c9ea5c026ee4 James Smart 2007-10-27 4570 ndlp->nlp_rpi);
dea3101e0a5c89 James Bottomley 2005-04-17 4571 }
3e1f0718921cd1 James Smart 2018-11-29 4572 mp = (struct lpfc_dmabuf *)mbox->ctx_buf;
146911500f2572 James Smart 2006-12-02 4573 if (mp) {
146911500f2572 James Smart 2006-12-02 4574 lpfc_mbuf_free(phba, mp->virt, mp->phys);
146911500f2572 James Smart 2006-12-02 4575 kfree(mp);
146911500f2572 James Smart 2006-12-02 4576 }
146911500f2572 James Smart 2006-12-02 4577 mempool_free(mbox, phba->mbox_mem_pool);
33ccf8d1080bdc James Smart 2006-08-17 4578 }
dea3101e0a5c89 James Bottomley 2005-04-17 4579 out:
307e338097dc32 James Smart 2020-11-15 4580 if (ndlp && shost) {
c6adba15019176 James Smart 2020-11-15 4581 spin_lock_irq(&ndlp->lock);
7b08e89f98cee9 James Smart 2020-08-28 4582 if (mbox)
7b08e89f98cee9 James Smart 2020-08-28 4583 ndlp->nlp_flag &= ~NLP_ACC_REGLOGIN;
7b08e89f98cee9 James Smart 2020-08-28 4584 ndlp->nlp_flag &= ~NLP_RM_DFLT_RPI;
c6adba15019176 James Smart 2020-11-15 4585 spin_unlock_irq(&ndlp->lock);
dea3101e0a5c89 James Bottomley 2005-04-17 4586 }
87af33fe5f78c2 James Smart 2007-10-27 4587
4430f7fd09ecb0 James Smart 2020-11-15 4588 /* Release the originating I/O reference. */
dea3101e0a5c89 James Bottomley 2005-04-17 4589 lpfc_els_free_iocb(phba, cmdiocb);
4430f7fd09ecb0 James Smart 2020-11-15 4590 lpfc_nlp_put(ndlp);
dea3101e0a5c89 James Bottomley 2005-04-17 4591 return;
dea3101e0a5c89 James Bottomley 2005-04-17 4592 }
dea3101e0a5c89 James Bottomley 2005-04-17 4593
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[android-common:android-mainline-tracking 357/836] fs/incfs/format.c:86:25: error: passing argument 1 of 'notify_change' from incompatible pointer type
by kernel test robot
tree: https://android.googlesource.com/kernel/common android-mainline-tracking
head: 74f61c888eeeb9cbc57d44c61fafe32df9b3da51
commit: f2a64330429497063865c4a69cff003b698dbb91 [357/836] ANDROID: Initial commit of Incremental FS
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android-mainline-tracking
git checkout f2a64330429497063865c4a69cff003b698dbb91
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the android-common/android-mainline-tracking HEAD 74f61c888eeeb9cbc57d44c61fafe32df9b3da51 builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>):
fs/incfs/format.c: In function 'truncate_backing_file':
>> fs/incfs/format.c:86:25: error: passing argument 1 of 'notify_change' from incompatible pointer type [-Werror=incompatible-pointer-types]
86 | result = notify_change(dentry, &attr, NULL);
| ^~~~~~
| |
| struct dentry *
In file included from fs/incfs/format.c:5:
include/linux/fs.h:2865:19: note: expected 'struct user_namespace *' but argument is of type 'struct dentry *'
2865 | int notify_change(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/format.c:86:33: error: passing argument 2 of 'notify_change' from incompatible pointer type [-Werror=incompatible-pointer-types]
86 | result = notify_change(dentry, &attr, NULL);
| ^~~~~
| |
| struct iattr *
In file included from fs/incfs/format.c:5:
include/linux/fs.h:2865:44: note: expected 'struct dentry *' but argument is of type 'struct iattr *'
2865 | int notify_change(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~~~
>> fs/incfs/format.c:86:11: error: too few arguments to function 'notify_change'
86 | result = notify_change(dentry, &attr, NULL);
| ^~~~~~~~~~~~~
In file included from fs/incfs/format.c:5:
include/linux/fs.h:2865:5: note: declared here
2865 | int notify_change(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
>> fs/incfs/integrity.c:5:10: fatal error: crypto/sha.h: No such file or directory
5 | #include <crypto/sha.h>
| ^~~~~~~~~~~~~~
compilation terminated.
--
>> fs/incfs/vfs.c:101:11: error: initialization of 'int (*)(struct user_namespace *, struct inode *, struct dentry *, umode_t)' {aka 'int (*)(struct user_namespace *, struct inode *, struct dentry *, short unsigned int)'} from incompatible pointer type 'int (*)(struct inode *, struct dentry *, umode_t)' {aka 'int (*)(struct inode *, struct dentry *, short unsigned int)'} [-Werror=incompatible-pointer-types]
101 | .mkdir = dir_mkdir,
| ^~~~~~~~~
fs/incfs/vfs.c:101:11: note: (near initialization for 'incfs_dir_inode_ops.mkdir')
>> fs/incfs/vfs.c:102:12: error: initialization of 'int (*)(struct user_namespace *, struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int)' from incompatible pointer type 'int (*)(struct inode *, struct dentry *, struct inode *, struct dentry *, unsigned int)' [-Werror=incompatible-pointer-types]
102 | .rename = dir_rename_wrap,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:102:12: note: (near initialization for 'incfs_dir_inode_ops.rename')
fs/incfs/vfs.c: In function 'read_size_attr':
>> fs/incfs/vfs.c:332:28: error: passing argument 1 of 'vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
332 | bytes_read = vfs_getxattr(backing_dentry, INCFS_XATTR_SIZE_NAME,
| ^~~~~~~~~~~~~~
| |
| struct dentry *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:22: note: expected 'struct user_namespace *' but argument is of type 'struct dentry *'
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:19:
>> include/uapi/linux/incrementalfs.h:33:31: error: passing argument 2 of 'vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
33 | #define INCFS_XATTR_SIZE_NAME (XATTR_USER_PREFIX "incfs.size")
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
fs/incfs/vfs.c:332:44: note: in expansion of macro 'INCFS_XATTR_SIZE_NAME'
332 | bytes_read = vfs_getxattr(backing_dentry, INCFS_XATTR_SIZE_NAME,
| ^~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:47: note: expected 'struct dentry *' but argument is of type 'char *'
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:333:25: warning: passing argument 4 of 'vfs_getxattr' makes pointer from integer without a cast [-Wint-conversion]
333 | (char *)&attr_value, sizeof(attr_value));
| ^~~~~~~~~~~~~~~~~~
| |
| long unsigned int
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:54:8: note: expected 'void *' but argument is of type 'long unsigned int'
54 | void *, size_t);
| ^~~~~~
>> fs/incfs/vfs.c:332:15: error: too few arguments to function 'vfs_getxattr'
332 | bytes_read = vfs_getxattr(backing_dentry, INCFS_XATTR_SIZE_NAME,
| ^~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:9: note: declared here
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
fs/incfs/vfs.c: In function 'inode_set':
fs/incfs/vfs.c:368:20: error: passing argument 1 of 'inode_init_owner' from incompatible pointer type [-Werror=incompatible-pointer-types]
368 | inode_init_owner(inode, NULL, backing_inode->i_mode);
| ^~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1828:46: note: expected 'struct user_namespace *' but argument is of type 'struct inode *'
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
fs/incfs/vfs.c:368:46: warning: passing argument 3 of 'inode_init_owner' makes pointer from integer without a cast [-Wint-conversion]
368 | inode_init_owner(inode, NULL, backing_inode->i_mode);
| ~~~~~~~~~~~~~^~~~~~~~
| |
| umode_t {aka short unsigned int}
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1829:29: note: expected 'const struct inode *' but argument is of type 'umode_t' {aka 'short unsigned int'}
1829 | const struct inode *dir, umode_t mode);
| ~~~~~~~~~~~~~~~~~~~~^~~
fs/incfs/vfs.c:368:3: error: too few arguments to function 'inode_init_owner'
368 | inode_init_owner(inode, NULL, backing_inode->i_mode);
| ^~~~~~~~~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1828:6: note: declared here
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ^~~~~~~~~~~~~~~~
fs/incfs/vfs.c:411:20: error: passing argument 1 of 'inode_init_owner' from incompatible pointer type [-Werror=incompatible-pointer-types]
411 | inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
| ^~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1828:46: note: expected 'struct user_namespace *' but argument is of type 'struct inode *'
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
In file included from include/linux/stat.h:7,
from include/linux/fs.h:10,
from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/uapi/linux/stat.h:12:18: warning: passing argument 3 of 'inode_init_owner' makes pointer from integer without a cast [-Wint-conversion]
12 | #define S_IFREG 0100000
fs/incfs/vfs.c:411:33: note: in expansion of macro 'S_IFREG'
411 | inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
| ^~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1829:29: note: expected 'const struct inode *' but argument is of type 'int'
1829 | const struct inode *dir, umode_t mode);
| ~~~~~~~~~~~~~~~~~~~~^~~
fs/incfs/vfs.c:411:3: error: too few arguments to function 'inode_init_owner'
411 | inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
| ^~~~~~~~~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1828:6: note: declared here
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ^~~~~~~~~~~~~~~~
fs/incfs/vfs.c:426:20: error: passing argument 1 of 'inode_init_owner' from incompatible pointer type [-Werror=incompatible-pointer-types]
426 | inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
| ^~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1828:46: note: expected 'struct user_namespace *' but argument is of type 'struct inode *'
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
In file included from include/linux/stat.h:7,
from include/linux/fs.h:10,
from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/uapi/linux/stat.h:12:18: warning: passing argument 3 of 'inode_init_owner' makes pointer from integer without a cast [-Wint-conversion]
12 | #define S_IFREG 0100000
fs/incfs/vfs.c:426:33: note: in expansion of macro 'S_IFREG'
426 | inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
| ^~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1829:29: note: expected 'const struct inode *' but argument is of type 'int'
1829 | const struct inode *dir, umode_t mode);
| ~~~~~~~~~~~~~~~~~~~~^~~
fs/incfs/vfs.c:426:3: error: too few arguments to function 'inode_init_owner'
426 | inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
| ^~~~~~~~~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1828:6: note: declared here
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ^~~~~~~~~~~~~~~~
fs/incfs/vfs.c: In function 'open_or_create_index_dir':
>> fs/incfs/vfs.c:773:18: error: passing argument 1 of 'vfs_mkdir' from incompatible pointer type [-Werror=incompatible-pointer-types]
773 | err = vfs_mkdir(backing_inode, index_dentry, 0777);
| ^~~~~~~~~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1773:15: note: expected 'struct user_namespace *' but argument is of type 'struct inode *'
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:773:33: error: passing argument 2 of 'vfs_mkdir' from incompatible pointer type [-Werror=incompatible-pointer-types]
773 | err = vfs_mkdir(backing_inode, index_dentry, 0777);
| ^~~~~~~~~~~~
| |
| struct dentry *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1773:40: note: expected 'struct inode *' but argument is of type 'struct dentry *'
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~
fs/incfs/vfs.c:773:47: warning: passing argument 3 of 'vfs_mkdir' makes pointer from integer without a cast [-Wint-conversion]
773 | err = vfs_mkdir(backing_inode, index_dentry, 0777);
| ^~~~
| |
| int
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1774:8: note: expected 'struct dentry *' but argument is of type 'int'
1774 | struct dentry *, umode_t);
| ^~~~~~~~~~~~~~~
>> fs/incfs/vfs.c:773:8: error: too few arguments to function 'vfs_mkdir'
773 | err = vfs_mkdir(backing_inode, index_dentry, 0777);
| ^~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1773:5: note: declared here
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~
fs/incfs/vfs.c: In function 'incfs_link':
>> fs/incfs/vfs.c:1065:25: error: passing argument 2 of 'vfs_link' from incompatible pointer type [-Werror=incompatible-pointer-types]
1065 | error = vfs_link(what, pinode, where, NULL);
| ^~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1779:31: note: expected 'struct user_namespace *' but argument is of type 'struct inode *'
1779 | int vfs_link(struct dentry *, struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:1065:33: error: passing argument 3 of 'vfs_link' from incompatible pointer type [-Werror=incompatible-pointer-types]
1065 | error = vfs_link(what, pinode, where, NULL);
| ^~~~~
| |
| struct dentry *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1779:56: note: expected 'struct inode *' but argument is of type 'struct dentry *'
1779 | int vfs_link(struct dentry *, struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~
>> fs/incfs/vfs.c:1065:10: error: too few arguments to function 'vfs_link'
1065 | error = vfs_link(what, pinode, where, NULL);
| ^~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1779:5: note: declared here
1779 | int vfs_link(struct dentry *, struct user_namespace *, struct inode *,
| ^~~~~~~~
fs/incfs/vfs.c: In function 'incfs_unlink':
>> fs/incfs/vfs.c:1079:21: error: passing argument 1 of 'vfs_unlink' from incompatible pointer type [-Werror=incompatible-pointer-types]
1079 | error = vfs_unlink(pinode, dentry, NULL);
| ^~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1782:16: note: expected 'struct user_namespace *' but argument is of type 'struct inode *'
1782 | int vfs_unlink(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:1079:29: error: passing argument 2 of 'vfs_unlink' from incompatible pointer type [-Werror=incompatible-pointer-types]
1079 | error = vfs_unlink(pinode, dentry, NULL);
| ^~~~~~
| |
| struct dentry *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1782:41: note: expected 'struct inode *' but argument is of type 'struct dentry *'
1782 | int vfs_unlink(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~~~~~~
>> fs/incfs/vfs.c:1079:10: error: too few arguments to function 'vfs_unlink'
1079 | error = vfs_unlink(pinode, dentry, NULL);
| ^~~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1782:5: note: declared here
1782 | int vfs_unlink(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~~
fs/incfs/vfs.c: In function 'incfs_rmdir':
>> fs/incfs/vfs.c:1093:20: error: passing argument 1 of 'vfs_rmdir' from incompatible pointer type [-Werror=incompatible-pointer-types]
1093 | error = vfs_rmdir(pinode, dentry);
| ^~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1781:15: note: expected 'struct user_namespace *' but argument is of type 'struct inode *'
1781 | int vfs_rmdir(struct user_namespace *, struct inode *, struct dentry *);
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:1093:28: error: passing argument 2 of 'vfs_rmdir' from incompatible pointer type [-Werror=incompatible-pointer-types]
1093 | error = vfs_rmdir(pinode, dentry);
| ^~~~~~
| |
| struct dentry *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1781:40: note: expected 'struct inode *' but argument is of type 'struct dentry *'
1781 | int vfs_rmdir(struct user_namespace *, struct inode *, struct dentry *);
| ^~~~~~~~~~~~~~
>> fs/incfs/vfs.c:1093:10: error: too few arguments to function 'vfs_rmdir'
1093 | error = vfs_rmdir(pinode, dentry);
| ^~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1781:5: note: declared here
1781 | int vfs_rmdir(struct user_namespace *, struct inode *, struct dentry *);
| ^~~~~~~~~
fs/incfs/vfs.c: In function 'dir_relative_path_resolve':
fs/incfs/vfs.c:1132:2: error: implicit declaration of function 'ksys_close'; did you mean 'ksys_chown'? [-Werror=implicit-function-declaration]
1132 | ksys_close(dir_fd);
| ^~~~~~~~~~
| ksys_chown
fs/incfs/vfs.c: In function 'ioctl_create_file':
fs/incfs/vfs.c:1256:21: error: passing argument 1 of 'vfs_create' from incompatible pointer type [-Werror=incompatible-pointer-types]
1256 | error = vfs_create(index_dir_inode, index_file_dentry,
| ^~~~~~~~~~~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1771:16: note: expected 'struct user_namespace *' but argument is of type 'struct inode *'
1771 | int vfs_create(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:1256:38: error: passing argument 2 of 'vfs_create' from incompatible pointer type [-Werror=incompatible-pointer-types]
1256 | error = vfs_create(index_dir_inode, index_file_dentry,
| ^~~~~~~~~~~~~~~~~
| |
| struct dentry *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1771:41: note: expected 'struct inode *' but argument is of type 'struct dentry *'
1771 | int vfs_create(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~
fs/incfs/vfs.c:1257:8: warning: passing argument 3 of 'vfs_create' makes pointer from integer without a cast [-Wint-conversion]
1257 | args.mode, true);
| ~~~~^~~~~
| |
| __u16 {aka short unsigned int}
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1772:9: note: expected 'struct dentry *' but argument is of type '__u16' {aka 'short unsigned int'}
1772 | struct dentry *, umode_t, bool);
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:1256:10: error: too few arguments to function 'vfs_create'
1256 | error = vfs_create(index_dir_inode, index_file_dentry,
| ^~~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1771:5: note: declared here
1771 | int vfs_create(struct user_namespace *, struct inode *,
| ^~~~~~~~~~
>> fs/incfs/vfs.c:1268:23: error: passing argument 1 of 'vfs_setxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
1268 | error = vfs_setxattr(index_file_dentry, INCFS_XATTR_ID_NAME,
| ^~~~~~~~~~~~~~~~~
| |
| struct dentry *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:18: note: expected 'struct user_namespace *' but argument is of type 'struct dentry *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:19:
>> include/uapi/linux/incrementalfs.h:32:29: error: passing argument 2 of 'vfs_setxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
32 | #define INCFS_XATTR_ID_NAME (XATTR_USER_PREFIX "incfs.id")
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
fs/incfs/vfs.c:1268:42: note: in expansion of macro 'INCFS_XATTR_ID_NAME'
1268 | error = vfs_setxattr(index_file_dentry, INCFS_XATTR_ID_NAME,
| ^~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:43: note: expected 'struct dentry *' but argument is of type 'char *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:1269:16: warning: passing argument 4 of 'vfs_setxattr' makes pointer from integer without a cast [-Wint-conversion]
1269 | file_id_str, strlen(file_id_str), XATTR_CREATE);
| ^~~~~~~~~~~~~~~~~~~
| |
| size_t {aka long unsigned int}
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:64:4: note: expected 'const void *' but argument is of type 'size_t' {aka 'long unsigned int'}
64 | const void *, size_t, int);
| ^~~~~~~~~~~~
>> fs/incfs/vfs.c:1268:10: error: too few arguments to function 'vfs_setxattr'
1268 | error = vfs_setxattr(index_file_dentry, INCFS_XATTR_ID_NAME,
| ^~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:5: note: declared here
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
fs/incfs/vfs.c:1277:23: error: passing argument 1 of 'vfs_setxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
1277 | error = vfs_setxattr(index_file_dentry, INCFS_XATTR_SIZE_NAME,
| ^~~~~~~~~~~~~~~~~
| |
| struct dentry *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:18: note: expected 'struct user_namespace *' but argument is of type 'struct dentry *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:19:
include/uapi/linux/incrementalfs.h:33:31: error: passing argument 2 of 'vfs_setxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
33 | #define INCFS_XATTR_SIZE_NAME (XATTR_USER_PREFIX "incfs.size")
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
fs/incfs/vfs.c:1277:42: note: in expansion of macro 'INCFS_XATTR_SIZE_NAME'
1277 | error = vfs_setxattr(index_file_dentry, INCFS_XATTR_SIZE_NAME,
| ^~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:43: note: expected 'struct dentry *' but argument is of type 'char *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:1278:29: warning: passing argument 4 of 'vfs_setxattr' makes pointer from integer without a cast [-Wint-conversion]
1278 | (char *)&size_attr_value, sizeof(size_attr_value),
| ^~~~~~~~~~~~~~~~~~~~~~~
| |
| long unsigned int
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:64:4: note: expected 'const void *' but argument is of type 'long unsigned int'
64 | const void *, size_t, int);
| ^~~~~~~~~~~~
fs/incfs/vfs.c:1277:10: error: too few arguments to function 'vfs_setxattr'
1277 | error = vfs_setxattr(index_file_dentry, INCFS_XATTR_SIZE_NAME,
| ^~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:5: note: declared here
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
fs/incfs/vfs.c:1311:24: error: passing argument 1 of 'vfs_setxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
1311 | error = vfs_setxattr(index_file_dentry,
| ^~~~~~~~~~~~~~~~~
| |
| struct dentry *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:18: note: expected 'struct user_namespace *' but argument is of type 'struct dentry *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:19:
include/uapi/linux/incrementalfs.h:34:35: error: passing argument 2 of 'vfs_setxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
34 | #define INCFS_XATTR_METADATA_NAME (XATTR_USER_PREFIX "incfs.metadata")
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
fs/incfs/vfs.c:1312:5: note: in expansion of macro 'INCFS_XATTR_METADATA_NAME'
1312 | INCFS_XATTR_METADATA_NAME,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:43: note: expected 'struct dentry *' but argument is of type 'char *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:1313:21: warning: passing argument 4 of 'vfs_setxattr' makes pointer from integer without a cast [-Wint-conversion]
1313 | attr_value, args.file_attr_len,
| ~~~~^~~~~~~~~~~~~~
| |
| __u32 {aka unsigned int}
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:64:4: note: expected 'const void *' but argument is of type '__u32' {aka 'unsigned int'}
64 | const void *, size_t, int);
| ^~~~~~~~~~~~
fs/incfs/vfs.c:1311:11: error: too few arguments to function 'vfs_setxattr'
1311 | error = vfs_setxattr(index_file_dentry,
| ^~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:5: note: declared here
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
fs/incfs/vfs.c: In function 'dir_mkdir':
fs/incfs/vfs.c:1556:26: error: passing argument 1 of 'vfs_mkdir' from incompatible pointer type [-Werror=incompatible-pointer-types]
1556 | err = vfs_mkdir(dir_node->n_backing_inode, backing_dentry, mode);
| ~~~~~~~~^~~~~~~~~~~~~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1773:15: note: expected 'struct user_namespace *' but argument is of type 'struct inode *'
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:1556:45: error: passing argument 2 of 'vfs_mkdir' from incompatible pointer type [-Werror=incompatible-pointer-types]
1556 | err = vfs_mkdir(dir_node->n_backing_inode, backing_dentry, mode);
| ^~~~~~~~~~~~~~
| |
| struct dentry *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1773:40: note: expected 'struct inode *' but argument is of type 'struct dentry *'
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~
fs/incfs/vfs.c:1556:61: warning: passing argument 3 of 'vfs_mkdir' makes pointer from integer without a cast [-Wint-conversion]
1556 | err = vfs_mkdir(dir_node->n_backing_inode, backing_dentry, mode);
| ^~~~
| |
| umode_t {aka short unsigned int}
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1774:8: note: expected 'struct dentry *' but argument is of type 'umode_t' {aka 'short unsigned int'}
1774 | struct dentry *, umode_t);
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:1556:8: error: too few arguments to function 'vfs_mkdir'
1556 | err = vfs_mkdir(dir_node->n_backing_inode, backing_dentry, mode);
| ^~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1773:5: note: declared here
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~
fs/incfs/vfs.c: In function 'final_file_delete':
fs/incfs/vfs.c:1595:27: error: passing argument 1 of 'vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
1595 | uuid_size = vfs_getxattr(backing_dentry, INCFS_XATTR_ID_NAME,
| ^~~~~~~~~~~~~~
| |
| struct dentry *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:22: note: expected 'struct user_namespace *' but argument is of type 'struct dentry *'
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:19:
include/uapi/linux/incrementalfs.h:32:29: error: passing argument 2 of 'vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
32 | #define INCFS_XATTR_ID_NAME (XATTR_USER_PREFIX "incfs.id")
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
fs/incfs/vfs.c:1595:43: note: in expansion of macro 'INCFS_XATTR_ID_NAME'
1595 | uuid_size = vfs_getxattr(backing_dentry, INCFS_XATTR_ID_NAME,
| ^~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:47: note: expected 'struct dentry *' but argument is of type 'char *'
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:1596:17: warning: passing argument 4 of 'vfs_getxattr' makes pointer from integer without a cast [-Wint-conversion]
1596 | file_id_str, 2 * sizeof(incfs_uuid_t));
| ^~~~~~~~~~~~~~~~~~~~~~~~
| |
| long unsigned int
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:54:8: note: expected 'void *' but argument is of type 'long unsigned int'
54 | void *, size_t);
| ^~~~~~
fs/incfs/vfs.c:1595:14: error: too few arguments to function 'vfs_getxattr'
1595 | uuid_size = vfs_getxattr(backing_dentry, INCFS_XATTR_ID_NAME,
| ^~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:9: note: declared here
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
fs/incfs/vfs.c: In function 'dir_rename':
>> fs/incfs/vfs.c:1800:21: error: passing argument 1 of 'vfs_rename' from incompatible pointer type [-Werror=incompatible-pointer-types]
1800 | error = vfs_rename(d_inode(backing_old_dir_dentry), backing_old_dentry,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1796:16: note: expected 'struct renamedata *' but argument is of type 'struct inode *'
1796 | int vfs_rename(struct renamedata *);
| ^~~~~~~~~~~~~~~~~~~
>> fs/incfs/vfs.c:1800:10: error: too many arguments to function 'vfs_rename'
1800 | error = vfs_rename(d_inode(backing_old_dir_dentry), backing_old_dentry,
| ^~~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1796:5: note: declared here
1796 | int vfs_rename(struct renamedata *);
| ^~~~~~~~~~
fs/incfs/vfs.c: In function 'incfs_getxattr':
fs/incfs/vfs.c:2044:38: error: passing argument 1 of 'vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
2044 | return vfs_getxattr(di->backing_path.dentry, name, value, size);
| ~~~~~~~~~~~~~~~~^~~~~~~
| |
| struct dentry *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:22: note: expected 'struct user_namespace *' but argument is of type 'struct dentry *'
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:2044:47: error: passing argument 2 of 'vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
2044 | return vfs_getxattr(di->backing_path.dentry, name, value, size);
| ^~~~
| |
| const char *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:47: note: expected 'struct dentry *' but argument is of type 'const char *'
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:2044:60: warning: passing argument 4 of 'vfs_getxattr' makes pointer from integer without a cast [-Wint-conversion]
2044 | return vfs_getxattr(di->backing_path.dentry, name, value, size);
| ^~~~
| |
| size_t {aka long unsigned int}
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:54:8: note: expected 'void *' but argument is of type 'size_t' {aka 'long unsigned int'}
54 | void *, size_t);
| ^~~~~~
fs/incfs/vfs.c:2044:9: error: too few arguments to function 'vfs_getxattr'
2044 | return vfs_getxattr(di->backing_path.dentry, name, value, size);
| ^~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:9: note: declared here
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
fs/incfs/vfs.c: At top level:
fs/incfs/vfs.c:2057:16: warning: no previous prototype for 'incfs_mount_fs' [-Wmissing-prototypes]
2057 | struct dentry *incfs_mount_fs(struct file_system_type *type, int flags,
| ^~~~~~~~~~~~~~
fs/incfs/vfs.c:2176:6: warning: no previous prototype for 'incfs_kill_sb' [-Wmissing-prototypes]
2176 | void incfs_kill_sb(struct super_block *sb)
| ^~~~~~~~~~~~~
fs/incfs/vfs.c: In function 'incfs_getxattr':
fs/incfs/vfs.c:2045:1: error: control reaches end of non-void function [-Werror=return-type]
2045 | }
| ^
cc1: some warnings being treated as errors
vim +/notify_change +86 fs/incfs/format.c
51
52 /*
53 * Truncate the tail of the file to the given length.
54 * Used to rollback partially successful multistep writes.
55 */
56 static int truncate_backing_file(struct backing_file_context *bfc,
57 loff_t new_end)
58 {
59 struct inode *inode = NULL;
60 struct dentry *dentry = NULL;
61 loff_t old_end = 0;
62 struct iattr attr;
63 int result = 0;
64
65 if (!bfc)
66 return -EFAULT;
67
68 LOCK_REQUIRED(bfc->bc_mutex);
69
70 if (!bfc->bc_file)
71 return -EFAULT;
72
73 old_end = incfs_get_end_offset(bfc->bc_file);
74 if (old_end == new_end)
75 return 0;
76 if (old_end < new_end)
77 return -EINVAL;
78
79 inode = bfc->bc_file->f_inode;
80 dentry = bfc->bc_file->f_path.dentry;
81
82 attr.ia_size = new_end;
83 attr.ia_valid = ATTR_SIZE;
84
85 inode_lock(inode);
> 86 result = notify_change(dentry, &attr, NULL);
87 inode_unlock(inode);
88
89 return result;
90 }
91
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[sashal-linux-stable:queue-5.4 38/38] drivers/net/virtio_net.c:414:21: error: 'metasize' undeclared
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-5.4
head: d97c3e7785e0bbc76a30f4d8953cf278a7b25886
commit: d97c3e7785e0bbc76a30f4d8953cf278a7b25886 [38/38] virtio_net: Do not pull payload in skb->head
config: i386-randconfig-r024-20210411 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable queue-5.4
git checkout d97c3e7785e0bbc76a30f4d8953cf278a7b25886
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/net/virtio_net.c: In function 'page_to_skb':
>> drivers/net/virtio_net.c:414:21: error: 'metasize' undeclared (first use in this function)
414 | copy = ETH_HLEN + metasize;
| ^~~~~~~~
drivers/net/virtio_net.c:414:21: note: each undeclared identifier is reported only once for each function it appears in
vim +/metasize +414 drivers/net/virtio_net.c
373
374 /* Called from bottom half context */
375 static struct sk_buff *page_to_skb(struct virtnet_info *vi,
376 struct receive_queue *rq,
377 struct page *page, unsigned int offset,
378 unsigned int len, unsigned int truesize,
379 bool hdr_valid)
380 {
381 struct sk_buff *skb;
382 struct virtio_net_hdr_mrg_rxbuf *hdr;
383 unsigned int copy, hdr_len, hdr_padded_len;
384 char *p;
385
386 p = page_address(page) + offset;
387
388 /* copy small packet so we can reuse these pages for small data */
389 skb = napi_alloc_skb(&rq->napi, GOOD_COPY_LEN);
390 if (unlikely(!skb))
391 return NULL;
392
393 hdr = skb_vnet_hdr(skb);
394
395 hdr_len = vi->hdr_len;
396 if (vi->mergeable_rx_bufs)
397 hdr_padded_len = sizeof(*hdr);
398 else
399 hdr_padded_len = sizeof(struct padded_vnet_hdr);
400
401 if (hdr_valid)
402 memcpy(hdr, p, hdr_len);
403
404 len -= hdr_len;
405 offset += hdr_padded_len;
406 p += hdr_padded_len;
407
408 /* Copy all frame if it fits skb->head, otherwise
409 * we let virtio_net_hdr_to_skb() and GRO pull headers as needed.
410 */
411 if (len <= skb_tailroom(skb))
412 copy = len;
413 else
> 414 copy = ETH_HLEN + metasize;
415 skb_put_data(skb, p, copy);
416
417 len -= copy;
418 offset += copy;
419
420 if (vi->mergeable_rx_bufs) {
421 if (len)
422 skb_add_rx_frag(skb, 0, page, offset, len, truesize);
423 else
424 put_page(page);
425 return skb;
426 }
427
428 /*
429 * Verify that we can indeed put this data into a skb.
430 * This is here to handle cases when the device erroneously
431 * tries to receive more than is possible. This is usually
432 * the case of a broken device.
433 */
434 if (unlikely(len > MAX_SKB_FRAGS * PAGE_SIZE)) {
435 net_dbg_ratelimited("%s: too much data\n", skb->dev->name);
436 dev_kfree_skb(skb);
437 return NULL;
438 }
439 BUG_ON(offset >= PAGE_SIZE);
440 while (len) {
441 unsigned int frag_size = min((unsigned)PAGE_SIZE - offset, len);
442 skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, page, offset,
443 frag_size, truesize);
444 len -= frag_size;
445 page = (struct page *)page->private;
446 offset = 0;
447 }
448
449 if (page)
450 give_pages(rq, page);
451
452 return skb;
453 }
454
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[sashal-linux-stable:queue-5.4 36/38] net/sched/act_api.c:914:16: error: 'TCA_ACT_HW_STATS_ANY' undeclared; did you mean 'TCA_ACT_STATS'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-5.4
head: d97c3e7785e0bbc76a30f4d8953cf278a7b25886
commit: 7bc0ce12818fb941334ac54afe37de4e6787a57e [36/38] net_sched: fix RTNL deadlock again caused by request_module()
config: s390-randconfig-r022-20210411 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable queue-5.4
git checkout 7bc0ce12818fb941334ac54afe37de4e6787a57e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
net/sched/act_api.c: In function 'tcf_action_init_1':
>> net/sched/act_api.c:914:16: error: 'TCA_ACT_HW_STATS_ANY' undeclared (first use in this function); did you mean 'TCA_ACT_STATS'?
914 | u8 hw_stats = TCA_ACT_HW_STATS_ANY;
| ^~~~~~~~~~~~~~~~~~~~
| TCA_ACT_STATS
net/sched/act_api.c:914:16: note: each undeclared identifier is reported only once for each function it appears in
>> net/sched/act_api.c:934:14: error: implicit declaration of function 'tcf_action_hw_stats_get' [-Werror=implicit-function-declaration]
934 | hw_stats = tcf_action_hw_stats_get(tb[TCA_ACT_HW_STATS]);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> net/sched/act_api.c:934:41: error: 'TCA_ACT_HW_STATS' undeclared (first use in this function); did you mean 'TCA_ACT_STATS'?
934 | hw_stats = tcf_action_hw_stats_get(tb[TCA_ACT_HW_STATS]);
| ^~~~~~~~~~~~~~~~
| TCA_ACT_STATS
>> net/sched/act_api.c:935:10: error: 'TCA_ACT_FLAGS' undeclared (first use in this function); did you mean 'TCA_ROOT_FLAGS'?
935 | if (tb[TCA_ACT_FLAGS])
| ^~~~~~~~~~~~~
| TCA_ROOT_FLAGS
>> net/sched/act_api.c:914:5: warning: variable 'hw_stats' set but not used [-Wunused-but-set-variable]
914 | u8 hw_stats = TCA_ACT_HW_STATS_ANY;
| ^~~~~~~~
>> net/sched/act_api.c:913:24: warning: variable 'flags' set but not used [-Wunused-but-set-variable]
913 | struct nla_bitfield32 flags = { 0, 0 };
| ^~~~~
cc1: some warnings being treated as errors
vim +914 net/sched/act_api.c
906
907 struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp,
908 struct nlattr *nla, struct nlattr *est,
909 char *name, int ovr, int bind,
910 struct tc_action_ops *a_o, bool rtnl_held,
911 struct netlink_ext_ack *extack)
912 {
> 913 struct nla_bitfield32 flags = { 0, 0 };
> 914 u8 hw_stats = TCA_ACT_HW_STATS_ANY;
915 struct nlattr *tb[TCA_ACT_MAX + 1];
916 struct tc_cookie *cookie = NULL;
917 struct tc_action *a;
918 int err;
919
920 /* backward compatibility for policer */
921 if (name == NULL) {
922 err = nla_parse_nested_deprecated(tb, TCA_ACT_MAX, nla,
923 tcf_action_policy, extack);
924 if (err < 0)
925 return ERR_PTR(err);
926 if (tb[TCA_ACT_COOKIE]) {
927 cookie = nla_memdup_cookie(tb);
928 if (!cookie) {
929 NL_SET_ERR_MSG(extack, "No memory to generate TC cookie");
930 err = -ENOMEM;
931 goto err_out;
932 }
933 }
> 934 hw_stats = tcf_action_hw_stats_get(tb[TCA_ACT_HW_STATS]);
> 935 if (tb[TCA_ACT_FLAGS])
936 flags = nla_get_bitfield32(tb[TCA_ACT_FLAGS]);
937
938 err = a_o->init(net, tb[TCA_ACT_OPTIONS], est, &a, ovr, bind,
939 rtnl_held, tp, extack);
940 } else {
941 err = a_o->init(net, nla, est, &a, ovr, bind, rtnl_held,
942 tp, extack);
943 }
944 if (err < 0)
945 goto err_out;
946
947 if (!name && tb[TCA_ACT_COOKIE])
948 tcf_set_action_cookie(&a->act_cookie, cookie);
949
950 /* module count goes up only when brand new policy is created
951 * if it exists and is only bound to in a_o->init() then
952 * ACT_P_CREATED is not returned (a zero is).
953 */
954 if (err != ACT_P_CREATED)
955 module_put(a_o->owner);
956
957 return a;
958
959 err_out:
960 if (cookie) {
961 kfree(cookie->data);
962 kfree(cookie);
963 }
964 return ERR_PTR(err);
965 }
966
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
collect2: error: ld returned 1 exit status
by kernel test robot
Hi Alexei,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 95c7b07551879c8ad4d6dca10c02de46ddbf55a8
commit: d71fa5c9763c24dd997a2fa4feb7a13a95bab42c bpf: Add kernel module with user mode driver that populates bpffs.
date: 8 months ago
config: i386-randconfig-m021-20210411 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d71fa5c9763c24dd997a2fa4feb7a13a95bab42c
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libelf.so when searching for -lelf
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libelf.a when searching for -lelf
/usr/bin/ld: cannot find -lelf
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libelf.so when searching for -lelf
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libz.so when searching for -lz
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libz.a when searching for -lz
/usr/bin/ld: cannot find -lz
/usr/bin/ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libz.so when searching for -lz
>> collect2: error: ld returned 1 exit status
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[linux-next:master 8508/11648] include/asm-generic/bitops/find.h:164:16: error: implicit declaration of function '__fls'; did you mean '__ffs'?
by kernel test robot
Hi Yury,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: e99d8a8495175df8cb8b739f8cf9b0fc9d0cd3b5
commit: bd083065154285baeb8af54147adac634a4e0b38 [8508/11648] lib: add fast path for find_first_*_bit() and find_last_bit()
config: h8300-randconfig-r013-20210411 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout bd083065154285baeb8af54147adac634a4e0b38
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300
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 arch/h8300/include/asm/bitops.h:167,
from include/linux/bitops.h:32,
from include/linux/log2.h:12,
from include/asm-generic/getorder.h:8,
from include/asm-generic/page.h:95,
from arch/h8300/include/asm/page.h:5,
from arch/h8300/include/asm/string.h:8,
from include/linux/string.h:21,
from include/linux/uuid.h:12,
from include/linux/mod_devicetable.h:13,
from scripts/mod/devicetable-offsets.c:3:
include/asm-generic/bitops/find.h: In function 'find_last_bit':
>> include/asm-generic/bitops/find.h:164:16: error: implicit declaration of function '__fls'; did you mean '__ffs'? [-Werror=implicit-function-declaration]
164 | return val ? __fls(val) : size;
| ^~~~~
| __ffs
In file included from arch/h8300/include/asm/bitops.h:177,
from include/linux/bitops.h:32,
from include/linux/log2.h:12,
from include/asm-generic/getorder.h:8,
from include/asm-generic/page.h:95,
from arch/h8300/include/asm/page.h:5,
from arch/h8300/include/asm/string.h:8,
from include/linux/string.h:21,
from include/linux/uuid.h:12,
from include/linux/mod_devicetable.h:13,
from scripts/mod/devicetable-offsets.c:3:
include/asm-generic/bitops/__fls.h: At top level:
>> include/asm-generic/bitops/__fls.h:13:38: error: conflicting types for '__fls'
13 | static __always_inline unsigned long __fls(unsigned long word)
| ^~~~~
In file included from arch/h8300/include/asm/bitops.h:167,
from include/linux/bitops.h:32,
from include/linux/log2.h:12,
from include/asm-generic/getorder.h:8,
from include/asm-generic/page.h:95,
from arch/h8300/include/asm/page.h:5,
from arch/h8300/include/asm/string.h:8,
from include/linux/string.h:21,
from include/linux/uuid.h:12,
from include/linux/mod_devicetable.h:13,
from scripts/mod/devicetable-offsets.c:3:
include/asm-generic/bitops/find.h:164:16: note: previous implicit declaration of '__fls' was here
164 | return val ? __fls(val) : size;
| ^~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:116: scripts/mod/devicetable-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1234: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:215: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +164 include/asm-generic/bitops/find.h
149
150 #ifndef find_last_bit
151 /**
152 * find_last_bit - find the last set bit in a memory region
153 * @addr: The address to start the search at
154 * @size: The number of bits to search
155 *
156 * Returns the bit number of the last set bit, or size.
157 */
158 static inline
159 unsigned long find_last_bit(const unsigned long *addr, unsigned long size)
160 {
161 if (small_const_nbits(size)) {
162 unsigned long val = *addr & GENMASK(size - 1, 0);
163
> 164 return val ? __fls(val) : size;
165 }
166
167 return _find_last_bit(addr, size);
168 }
169 #endif
170
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
Re: [PATCH] LoadPin: Allow filesystem switch when not enforcing
by kernel test robot
Hi Kees,
I love your patch! Yet something to improve:
[auto build test ERROR on linux/master]
[also build test ERROR on kees/for-next/pstore linus/master v5.12-rc6 next-20210409]
[cannot apply to kees/for-next/loadpin]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Kees-Cook/LoadPin-Allow-filesyst...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 5e46d1b78a03d52306f21f77a4e4a144b6d31486
config: x86_64-randconfig-a003-20210410 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project dd453a1389b6a7e6d9214b449d3c54981b1a89b6)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/3dc7289d9d15396745929884191874dc2...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Kees-Cook/LoadPin-Allow-filesystem-switch-when-not-enforcing/20210409-073059
git checkout 3dc7289d9d15396745929884191874dc2cce1afc
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> security/loadpin/loadpin.c:106:4: error: use of undeclared identifier 'load_root_writable'
load_root_writable ? "writable" : "read-only");
^
>> security/loadpin/loadpin.c:121:7: error: use of undeclared identifier 'enforced'; did you mean 'enforce'?
if (enforced) {
^~~~~~~~
enforce
security/loadpin/loadpin.c:41:12: note: 'enforce' declared here
static int enforce = IS_ENABLED(CONFIG_SECURITY_LOADPIN_ENFORCE);
^
2 errors generated.
vim +/load_root_writable +106 security/loadpin/loadpin.c
96
97 static void report_writable(struct block_device *bdev)
98 {
99 if (bdev) {
100 char name[BDEVNAME_SIZE];
101
102 bdevname(bdev, name);
103 pr_info("%s (%u:%u): %s\n", name,
104 MAJOR(bdev->bd_dev),
105 MINOR(bdev->bd_dev),
> 106 load_root_writable ? "writable" : "read-only");
107 } else {
108 pr_info("pinned filesystem lacks block device, treating as: writable\n");
109 }
110 }
111
112 static void loadpin_sb_free_security(struct super_block *mnt_sb)
113 {
114 /*
115 * When unmounting the filesystem we were using for load
116 * pinning, we acknowledge the superblock release, but make sure
117 * no other modules or firmware can be loaded when we are in
118 * enforcing mode. Otherwise, allow the root to be reestablished.
119 */
120 if (!IS_ERR_OR_NULL(pinned_root) && mnt_sb == pinned_root) {
> 121 if (enforced) {
122 pinned_root = ERR_PTR(-EIO);
123 pr_info("umount pinned fs: refusing further loads\n");
124 } else {
125 pinned_root = NULL;
126 }
127 }
128 }
129
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
Re: [PATCH 25/25] staging: rtl8723bs: remove more empty if blocks after DBG_8192C deletion
by kernel test robot
Hi Fabio,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on staging/staging-testing]
url: https://github.com/0day-ci/linux/commits/Fabio-Aiuto/staging-rtl8723bs-re...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 32abcac8037da5dc570c22abf266cbb92eee9fc9
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/a140b646e0cc8d3db3e30fc46b3491ecb...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Fabio-Aiuto/staging-rtl8723bs-remove-DBG_8192C-tracing-macro/20210410-222529
git checkout a140b646e0cc8d3db3e30fc46b3491ecbb2d0b47
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.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 warnings (new ones prefixed by >>):
drivers/staging/rtl8723bs/hal/sdio_halinit.c: In function 'CardDisableRTL8723BSdio':
>> drivers/staging/rtl8723bs/hal/sdio_halinit.c:881:5: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
881 | u8 ret = _FAIL;
| ^~~
drivers/staging/rtl8723bs/hal/sdio_halinit.c: In function '_ReadAdapterInfo8723BS':
drivers/staging/rtl8723bs/hal/sdio_halinit.c:1156:16: warning: variable 'start' set but not used [-Wunused-but-set-variable]
1156 | unsigned long start;
| ^~~~~
vim +/ret +881 drivers/staging/rtl8723bs/hal/sdio_halinit.c
554c0a3abf216c Hans de Goede 2017-03-29 870
554c0a3abf216c Hans de Goede 2017-03-29 871 /* */
554c0a3abf216c Hans de Goede 2017-03-29 872 /* Description: */
554c0a3abf216c Hans de Goede 2017-03-29 873 /* RTL8723e card disable power sequence v003 which suggested by Scott. */
554c0a3abf216c Hans de Goede 2017-03-29 874 /* */
554c0a3abf216c Hans de Goede 2017-03-29 875 /* First created by tynli. 2011.01.28. */
554c0a3abf216c Hans de Goede 2017-03-29 876 /* */
554c0a3abf216c Hans de Goede 2017-03-29 877 static void CardDisableRTL8723BSdio(struct adapter *padapter)
554c0a3abf216c Hans de Goede 2017-03-29 878 {
554c0a3abf216c Hans de Goede 2017-03-29 879 u8 u1bTmp;
554c0a3abf216c Hans de Goede 2017-03-29 880 u8 bMacPwrCtrlOn;
554c0a3abf216c Hans de Goede 2017-03-29 @881 u8 ret = _FAIL;
554c0a3abf216c Hans de Goede 2017-03-29 882
554c0a3abf216c Hans de Goede 2017-03-29 883 /* Run LPS WL RFOFF flow */
554c0a3abf216c Hans de Goede 2017-03-29 884 ret = HalPwrSeqCmdParsing(padapter, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, rtl8723B_enter_lps_flow);
554c0a3abf216c Hans de Goede 2017-03-29 885
554c0a3abf216c Hans de Goede 2017-03-29 886 /* ==== Reset digital sequence ====== */
554c0a3abf216c Hans de Goede 2017-03-29 887
554c0a3abf216c Hans de Goede 2017-03-29 888 u1bTmp = rtw_read8(padapter, REG_MCUFWDL);
554c0a3abf216c Hans de Goede 2017-03-29 889 if ((u1bTmp & RAM_DL_SEL) && padapter->bFWReady) /* 8051 RAM code */
554c0a3abf216c Hans de Goede 2017-03-29 890 rtl8723b_FirmwareSelfReset(padapter);
554c0a3abf216c Hans de Goede 2017-03-29 891
554c0a3abf216c Hans de Goede 2017-03-29 892 /* Reset MCU 0x2[10]= 0. Suggested by Filen. 2011.01.26. by tynli. */
554c0a3abf216c Hans de Goede 2017-03-29 893 u1bTmp = rtw_read8(padapter, REG_SYS_FUNC_EN + 1);
554c0a3abf216c Hans de Goede 2017-03-29 894 u1bTmp &= ~BIT(2); /* 0x2[10], FEN_CPUEN */
554c0a3abf216c Hans de Goede 2017-03-29 895 rtw_write8(padapter, REG_SYS_FUNC_EN + 1, u1bTmp);
554c0a3abf216c Hans de Goede 2017-03-29 896
554c0a3abf216c Hans de Goede 2017-03-29 897 /* MCUFWDL 0x80[1:0]= 0 */
554c0a3abf216c Hans de Goede 2017-03-29 898 /* reset MCU ready status */
554c0a3abf216c Hans de Goede 2017-03-29 899 rtw_write8(padapter, REG_MCUFWDL, 0);
554c0a3abf216c Hans de Goede 2017-03-29 900
554c0a3abf216c Hans de Goede 2017-03-29 901 /* Reset MCU IO Wrapper, added by Roger, 2011.08.30 */
554c0a3abf216c Hans de Goede 2017-03-29 902 u1bTmp = rtw_read8(padapter, REG_RSV_CTRL + 1);
554c0a3abf216c Hans de Goede 2017-03-29 903 u1bTmp &= ~BIT(0);
554c0a3abf216c Hans de Goede 2017-03-29 904 rtw_write8(padapter, REG_RSV_CTRL + 1, u1bTmp);
554c0a3abf216c Hans de Goede 2017-03-29 905 u1bTmp = rtw_read8(padapter, REG_RSV_CTRL + 1);
554c0a3abf216c Hans de Goede 2017-03-29 906 u1bTmp |= BIT(0);
554c0a3abf216c Hans de Goede 2017-03-29 907 rtw_write8(padapter, REG_RSV_CTRL+1, u1bTmp);
554c0a3abf216c Hans de Goede 2017-03-29 908
554c0a3abf216c Hans de Goede 2017-03-29 909 /* ==== Reset digital sequence end ====== */
554c0a3abf216c Hans de Goede 2017-03-29 910
554c0a3abf216c Hans de Goede 2017-03-29 911 bMacPwrCtrlOn = false; /* Disable CMD53 R/W */
554c0a3abf216c Hans de Goede 2017-03-29 912 ret = false;
554c0a3abf216c Hans de Goede 2017-03-29 913 rtw_hal_set_hwreg(padapter, HW_VAR_APFM_ON_MAC, &bMacPwrCtrlOn);
554c0a3abf216c Hans de Goede 2017-03-29 914 ret = HalPwrSeqCmdParsing(padapter, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, rtl8723B_card_disable_flow);
554c0a3abf216c Hans de Goede 2017-03-29 915 }
554c0a3abf216c Hans de Goede 2017-03-29 916
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months