[openeuler:OLK-6.6 2051/2051] drivers/irqchip/irq-gic-v3.c:1086:43: warning: passing argument 3 of 'single_open' makes pointer from integer without a cast

tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 6f6f173b2b8fa65e1ef7ebc6e43b0b02c2a52759 commit: 63f9ef213a477c796c6b343010762513f6315f83 [2051/2051] arm64: Add debugfs dir for xint config: arm64-randconfig-r111-20250323 (https://download.01.org/0day-ci/archive/20250323/202503231209.3Hgyvn46-lkp@i...) compiler: aarch64-linux-gcc (GCC) 9.5.0 reproduce: (https://download.01.org/0day-ci/archive/20250323/202503231209.3Hgyvn46-lkp@i...) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202503231209.3Hgyvn46-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/irqchip/irq-gic-v3.c: In function 'xint_proc_write': drivers/irqchip/irq-gic-v3.c:1042:23: error: implicit declaration of function 'pde_data' [-Werror=implicit-function-declaration] 1042 | int irq = (int)(long)pde_data(file_inode(file)); | ^~~~~~~~ drivers/irqchip/irq-gic-v3.c: In function 'xint_proc_open':
drivers/irqchip/irq-gic-v3.c:1086:43: warning: passing argument 3 of 'single_open' makes pointer from integer without a cast [-Wint-conversion] 1086 | return single_open(file, xint_proc_show, pde_data(inode)); | ^~~~~~~~~~~~~~~ | | | int In file included from include/linux/debugfs.h:16, from arch/arm64/include/../../../kernel/irq/internals.h:495, from drivers/irqchip/irq-gic-v3.c:39: include/linux/seq_file.h:166:68: note: expected 'void *' but argument is of type 'int' 166 | int single_open(struct file *, int (*)(struct seq_file *, void *), void *); | ^~~~~~ drivers/irqchip/irq-gic-v3.c: At top level: drivers/irqchip/irq-gic-v3.c:1089:21: error: variable 'xint_proc_ops' has initializer but incomplete type 1089 | static const struct proc_ops xint_proc_ops = { | ^~~~~~~~ drivers/irqchip/irq-gic-v3.c:1090:3: error: 'const struct proc_ops' has no member named 'proc_open' 1090 | .proc_open = xint_proc_open, | ^~~~~~~~~ drivers/irqchip/irq-gic-v3.c:1090:15: warning: excess elements in struct initializer 1090 | .proc_open = xint_proc_open, | ^~~~~~~~~~~~~~ drivers/irqchip/irq-gic-v3.c:1090:15: note: (near initialization for 'xint_proc_ops') drivers/irqchip/irq-gic-v3.c:1091:3: error: 'const struct proc_ops' has no member named 'proc_read' 1091 | .proc_read = seq_read, | ^~~~~~~~~ drivers/irqchip/irq-gic-v3.c:1091:15: warning: excess elements in struct initializer 1091 | .proc_read = seq_read, | ^~~~~~~~ drivers/irqchip/irq-gic-v3.c:1091:15: note: (near initialization for 'xint_proc_ops') drivers/irqchip/irq-gic-v3.c:1092:3: error: 'const struct proc_ops' has no member named 'proc_lseek' 1092 | .proc_lseek = seq_lseek, | ^~~~~~~~~~ drivers/irqchip/irq-gic-v3.c:1092:16: warning: excess elements in struct initializer 1092 | .proc_lseek = seq_lseek, | ^~~~~~~~~ drivers/irqchip/irq-gic-v3.c:1092:16: note: (near initialization for 'xint_proc_ops') drivers/irqchip/irq-gic-v3.c:1093:3: error: 'const struct proc_ops' has no member named 'proc_release' 1093 | .proc_release = single_release, | ^~~~~~~~~~~~ drivers/irqchip/irq-gic-v3.c:1093:18: warning: excess elements in struct initializer 1093 | .proc_release = single_release, | ^~~~~~~~~~~~~~ drivers/irqchip/irq-gic-v3.c:1093:18: note: (near initialization for 'xint_proc_ops') drivers/irqchip/irq-gic-v3.c:1094:3: error: 'const struct proc_ops' has no member named 'proc_write' 1094 | .proc_write = xint_proc_write, | ^~~~~~~~~~ drivers/irqchip/irq-gic-v3.c:1094:16: warning: excess elements in struct initializer 1094 | .proc_write = xint_proc_write, | ^~~~~~~~~~~~~~~ drivers/irqchip/irq-gic-v3.c:1094:16: note: (near initialization for 'xint_proc_ops') drivers/irqchip/irq-gic-v3.c: In function 'register_irqchip_proc': drivers/irqchip/irq-gic-v3.c:1103:2: error: implicit declaration of function 'proc_create_data' [-Werror=implicit-function-declaration] 1103 | proc_create_data("xint", 0644, desc->dir, &xint_proc_ops, irqp); | ^~~~~~~~~~~~~~~~ drivers/irqchip/irq-gic-v3.c: In function 'unregister_irqchip_proc': drivers/irqchip/irq-gic-v3.c:1111:2: error: implicit declaration of function 'remove_proc_entry' [-Werror=implicit-function-declaration] 1111 | remove_proc_entry("xint", desc->dir); | ^~~~~~~~~~~~~~~~~ drivers/irqchip/irq-gic-v3.c: At top level: drivers/irqchip/irq-gic-v3.c:1089:30: error: storage size of 'xint_proc_ops' isn't known 1089 | static const struct proc_ops xint_proc_ops = { | ^~~~~~~~~~~~~ cc1: some warnings being treated as errors
Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for PGP_PRELOAD Depends on [n]: CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=n] Selected by [y]: - PGP_PRELOAD_PUBLIC_KEYS [=y] && CRYPTO [=y] vim +/single_open +1086 drivers/irqchip/irq-gic-v3.c 3053668e6b2119 Jinjie Ruan 2024-11-25 1038 3053668e6b2119 Jinjie Ruan 2024-11-25 1039 static ssize_t xint_proc_write(struct file *file, 3053668e6b2119 Jinjie Ruan 2024-11-25 1040 const char __user *buffer, size_t count, loff_t *pos) 3053668e6b2119 Jinjie Ruan 2024-11-25 1041 { 3053668e6b2119 Jinjie Ruan 2024-11-25 @1042 int irq = (int)(long)pde_data(file_inode(file)); 3053668e6b2119 Jinjie Ruan 2024-11-25 1043 bool xint_state = false; 3053668e6b2119 Jinjie Ruan 2024-11-25 1044 unsigned long val; 3053668e6b2119 Jinjie Ruan 2024-11-25 1045 char *buf = NULL; 3053668e6b2119 Jinjie Ruan 2024-11-25 1046 3053668e6b2119 Jinjie Ruan 2024-11-25 1047 if (!xint_transform(irq, XINT_RANGE_CHECK)) 3053668e6b2119 Jinjie Ruan 2024-11-25 1048 return -EPERM; 3053668e6b2119 Jinjie Ruan 2024-11-25 1049 3053668e6b2119 Jinjie Ruan 2024-11-25 1050 buf = memdup_user_nul(buffer, count); 3053668e6b2119 Jinjie Ruan 2024-11-25 1051 if (IS_ERR(buf)) 3053668e6b2119 Jinjie Ruan 2024-11-25 1052 return PTR_ERR(buf); 3053668e6b2119 Jinjie Ruan 2024-11-25 1053 3053668e6b2119 Jinjie Ruan 2024-11-25 1054 if (kstrtoul(buf, 0, &val) || (val != 0 && val != 1)) { 3053668e6b2119 Jinjie Ruan 2024-11-25 1055 kfree(buf); 3053668e6b2119 Jinjie Ruan 2024-11-25 1056 return -EINVAL; 3053668e6b2119 Jinjie Ruan 2024-11-25 1057 } 3053668e6b2119 Jinjie Ruan 2024-11-25 1058 3053668e6b2119 Jinjie Ruan 2024-11-25 1059 xint_state = xint_transform(irq, XINT_SET_CHECK); 3053668e6b2119 Jinjie Ruan 2024-11-25 1060 if (xint_state == val) { 3053668e6b2119 Jinjie Ruan 2024-11-25 1061 kfree(buf); 3053668e6b2119 Jinjie Ruan 2024-11-25 1062 return -EBUSY; 3053668e6b2119 Jinjie Ruan 2024-11-25 1063 } 3053668e6b2119 Jinjie Ruan 2024-11-25 1064 3053668e6b2119 Jinjie Ruan 2024-11-25 1065 local_irq_disable(); 3053668e6b2119 Jinjie Ruan 2024-11-25 1066 disable_irq(irq); 3053668e6b2119 Jinjie Ruan 2024-11-25 1067 3053668e6b2119 Jinjie Ruan 2024-11-25 1068 xint_transform(irq, xint_state ? XINT_TO_IRQ : IRQ_TO_XINT); 3053668e6b2119 Jinjie Ruan 2024-11-25 1069 3053668e6b2119 Jinjie Ruan 2024-11-25 1070 enable_irq(irq); 3053668e6b2119 Jinjie Ruan 2024-11-25 1071 local_irq_enable(); 3053668e6b2119 Jinjie Ruan 2024-11-25 1072 3053668e6b2119 Jinjie Ruan 2024-11-25 1073 kfree(buf); 3053668e6b2119 Jinjie Ruan 2024-11-25 1074 3053668e6b2119 Jinjie Ruan 2024-11-25 1075 return count; 3053668e6b2119 Jinjie Ruan 2024-11-25 1076 } 3053668e6b2119 Jinjie Ruan 2024-11-25 1077 3053668e6b2119 Jinjie Ruan 2024-11-25 1078 static int xint_proc_show(struct seq_file *m, void *v) 3053668e6b2119 Jinjie Ruan 2024-11-25 1079 { 3053668e6b2119 Jinjie Ruan 2024-11-25 1080 seq_printf(m, "%d\n", xint_transform((long)m->private, XINT_SET_CHECK)); 3053668e6b2119 Jinjie Ruan 2024-11-25 1081 return 0; 3053668e6b2119 Jinjie Ruan 2024-11-25 1082 } 3053668e6b2119 Jinjie Ruan 2024-11-25 1083 3053668e6b2119 Jinjie Ruan 2024-11-25 1084 static int xint_proc_open(struct inode *inode, struct file *file) 3053668e6b2119 Jinjie Ruan 2024-11-25 1085 { 3053668e6b2119 Jinjie Ruan 2024-11-25 @1086 return single_open(file, xint_proc_show, pde_data(inode)); 3053668e6b2119 Jinjie Ruan 2024-11-25 1087 } 3053668e6b2119 Jinjie Ruan 2024-11-25 1088 :::::: The code at line 1086 was first introduced by commit :::::: 3053668e6b211924bb67c19d791a5a532eca2ad8 arm64: Introduce Xint software solution :::::: TO: Jinjie Ruan <ruanjinjie@huawei.com> :::::: CC: Jinjie Ruan <ruanjinjie@huawei.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
participants (1)
-
kernel test robot