* [legion:sysctl-next 5/5] kernel/ucount.c:66:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)'
@ 2023-08-30 23:06 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2023-08-30 23:06 UTC (permalink / raw)
To: Alexey Gladkov; +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/legion/linux.git sysctl-next
head: 5db649a3f876dee97af2da8462e4314424a04675
commit: 5db649a3f876dee97af2da8462e4314424a04675 [5/5] ucounts: Convert user_table to static array [WIP]
config: um-allmodconfig (https://download.01.org/0day-ci/archive/20230831/202308310731.0LSwarYJ-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230831/202308310731.0LSwarYJ-lkp@intel.com/reproduce)
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/202308310731.0LSwarYJ-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from kernel/ucount.c:4:
include/linux/sysctl.h:91:31: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
91 | ssize_t proc_read_bool(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:92:32: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
92 | ssize_t proc_write_bool(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:94:33: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
94 | ssize_t proc_read_intvec(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:95:34: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
95 | ssize_t proc_write_intvec(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:97:41: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
97 | ssize_t proc_read_intvec_jiffies(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:98:42: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
98 | ssize_t proc_write_intvec_jiffies(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:100:40: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
100 | ssize_t proc_read_intvec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:101:41: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
101 | ssize_t proc_write_intvec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:103:44: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
103 | ssize_t proc_read_intvec_ms_jiffies(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:104:45: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
104 | ssize_t proc_write_intvec_ms_jiffies(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:106:33: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
106 | ssize_t proc_read_string(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:107:34: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
107 | ssize_t proc_write_string(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:109:39: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
109 | ssize_t proc_read_u8vec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:110:40: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
110 | ssize_t proc_write_u8vec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:112:34: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
112 | ssize_t proc_read_uintvec(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:113:35: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
113 | ssize_t proc_write_uintvec(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:115:41: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
115 | ssize_t proc_read_uintvec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:116:42: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
116 | ssize_t proc_write_uintvec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:118:42: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
118 | ssize_t proc_read_ulongvec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:119:43: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
119 | ssize_t proc_write_ulongvec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:121:53: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
121 | ssize_t proc_read_ulongvec_ms_jiffies_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:122:54: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
122 | ssize_t proc_write_ulongvec_ms_jiffies_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:181:38: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
181 | int (*open) (struct inode *, struct file *);
| ^
include/linux/sysctl.h:182:41: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
182 | int (*release) (struct inode *, struct file *);
| ^
include/linux/sysctl.h:183:26: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
183 | ssize_t (*read) (struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:184:27: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
184 | ssize_t (*write) (struct file *, char *, size_t *, loff_t *);
| ^
>> kernel/ucount.c:66:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' [-Wincompatible-function-pointer-types]
66 | UCOUNT_ENTRY(SYSCTL_MAX_USER_NAMESPACES, "max_user_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:59:16: note: expanded from macro 'UCOUNT_ENTRY'
59 | .fops.open = proc_ucount_open, \
| ^~~~~~~~~~~~~~~~
kernel/ucount.c:66:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
66 | UCOUNT_ENTRY(SYSCTL_MAX_USER_NAMESPACES, "max_user_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:60:16: note: expanded from macro 'UCOUNT_ENTRY'
60 | .fops.read = proc_read_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:66:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
66 | UCOUNT_ENTRY(SYSCTL_MAX_USER_NAMESPACES, "max_user_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:61:17: note: expanded from macro 'UCOUNT_ENTRY'
61 | .fops.write = proc_write_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:67:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' [-Wincompatible-function-pointer-types]
67 | UCOUNT_ENTRY(SYSCTL_MAX_PID_NAMESPACES, "max_pid_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:59:16: note: expanded from macro 'UCOUNT_ENTRY'
59 | .fops.open = proc_ucount_open, \
| ^~~~~~~~~~~~~~~~
kernel/ucount.c:67:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
67 | UCOUNT_ENTRY(SYSCTL_MAX_PID_NAMESPACES, "max_pid_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:60:16: note: expanded from macro 'UCOUNT_ENTRY'
60 | .fops.read = proc_read_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:67:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
67 | UCOUNT_ENTRY(SYSCTL_MAX_PID_NAMESPACES, "max_pid_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:61:17: note: expanded from macro 'UCOUNT_ENTRY'
61 | .fops.write = proc_write_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:68:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' [-Wincompatible-function-pointer-types]
68 | UCOUNT_ENTRY(SYSCTL_MAX_UTS_NAMESPACES, "max_uts_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:59:16: note: expanded from macro 'UCOUNT_ENTRY'
59 | .fops.open = proc_ucount_open, \
| ^~~~~~~~~~~~~~~~
kernel/ucount.c:68:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
68 | UCOUNT_ENTRY(SYSCTL_MAX_UTS_NAMESPACES, "max_uts_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:60:16: note: expanded from macro 'UCOUNT_ENTRY'
60 | .fops.read = proc_read_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:68:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
68 | UCOUNT_ENTRY(SYSCTL_MAX_UTS_NAMESPACES, "max_uts_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:61:17: note: expanded from macro 'UCOUNT_ENTRY'
61 | .fops.write = proc_write_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:69:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' [-Wincompatible-function-pointer-types]
69 | UCOUNT_ENTRY(SYSCTL_MAX_IPC_NAMESPACES, "max_ipc_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:59:16: note: expanded from macro 'UCOUNT_ENTRY'
59 | .fops.open = proc_ucount_open, \
| ^~~~~~~~~~~~~~~~
kernel/ucount.c:69:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
69 | UCOUNT_ENTRY(SYSCTL_MAX_IPC_NAMESPACES, "max_ipc_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:60:16: note: expanded from macro 'UCOUNT_ENTRY'
60 | .fops.read = proc_read_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:69:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
69 | UCOUNT_ENTRY(SYSCTL_MAX_IPC_NAMESPACES, "max_ipc_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:61:17: note: expanded from macro 'UCOUNT_ENTRY'
61 | .fops.write = proc_write_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:70:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' [-Wincompatible-function-pointer-types]
70 | UCOUNT_ENTRY(SYSCTL_MAX_NET_NAMESPACES, "max_net_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:59:16: note: expanded from macro 'UCOUNT_ENTRY'
59 | .fops.open = proc_ucount_open, \
| ^~~~~~~~~~~~~~~~
kernel/ucount.c:70:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
70 | UCOUNT_ENTRY(SYSCTL_MAX_NET_NAMESPACES, "max_net_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:60:16: note: expanded from macro 'UCOUNT_ENTRY'
60 | .fops.read = proc_read_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:70:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
70 | UCOUNT_ENTRY(SYSCTL_MAX_NET_NAMESPACES, "max_net_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:61:17: note: expanded from macro 'UCOUNT_ENTRY'
61 | .fops.write = proc_write_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:71:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' [-Wincompatible-function-pointer-types]
71 | UCOUNT_ENTRY(SYSCTL_MAX_MNT_NAMESPACES, "max_mnt_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:59:16: note: expanded from macro 'UCOUNT_ENTRY'
59 | .fops.open = proc_ucount_open, \
| ^~~~~~~~~~~~~~~~
kernel/ucount.c:71:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
71 | UCOUNT_ENTRY(SYSCTL_MAX_MNT_NAMESPACES, "max_mnt_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:60:16: note: expanded from macro 'UCOUNT_ENTRY'
60 | .fops.read = proc_read_ulongvec_minmax, \
vim +66 kernel/ucount.c
53
54 #define UCOUNT_ENTRY(index, name) \
55 [index] = { \
56 .procname = name, \
57 .maxlen = sizeof(long), \
58 .mode = 0666, \
59 .fops.open = proc_ucount_open, \
60 .fops.read = proc_read_ulongvec_minmax, \
61 .fops.write = proc_write_ulongvec_minmax, \
62 .extra1 = &ue_zero, \
63 .extra2 = &ue_int_max, \
64 }
65 static struct ctl_table user_table[] = {
> 66 UCOUNT_ENTRY(SYSCTL_MAX_USER_NAMESPACES, "max_user_namespaces"),
67 UCOUNT_ENTRY(SYSCTL_MAX_PID_NAMESPACES, "max_pid_namespaces"),
68 UCOUNT_ENTRY(SYSCTL_MAX_UTS_NAMESPACES, "max_uts_namespaces"),
69 UCOUNT_ENTRY(SYSCTL_MAX_IPC_NAMESPACES, "max_ipc_namespaces"),
70 UCOUNT_ENTRY(SYSCTL_MAX_NET_NAMESPACES, "max_net_namespaces"),
71 UCOUNT_ENTRY(SYSCTL_MAX_MNT_NAMESPACES, "max_mnt_namespaces"),
72 UCOUNT_ENTRY(SYSCTL_MAX_CGROUP_NAMESPACES, "max_cgroup_namespaces"),
73 UCOUNT_ENTRY(SYSCTL_MAX_TIME_NAMESPACES, "max_time_namespaces"),
74 #ifdef CONFIG_INOTIFY_USER
75 UCOUNT_ENTRY(SYSCTL_MAX_INOTIFY_INSTANCES, "max_inotify_instances"),
76 UCOUNT_ENTRY(SYSCTL_MAX_INOTIFY_WATCHES, "max_inotify_watches"),
77 #endif
78 #ifdef CONFIG_FANOTIFY
79 UCOUNT_ENTRY(SYSCTL_MAX_FANOTIFY_GROUPS, "max_fanotify_groups"),
80 UCOUNT_ENTRY(SYSCTL_MAX_FANOTIFY_MARKS, "max_fanotify_marks"),
81 #endif
82 { }
83 };
84
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread* [legion:sysctl-next 5/5] kernel/ucount.c:66:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)'
@ 2023-10-12 23:43 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2023-10-12 23:43 UTC (permalink / raw)
To: Alexey Gladkov; +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/legion/linux.git sysctl-next
head: 5db649a3f876dee97af2da8462e4314424a04675
commit: 5db649a3f876dee97af2da8462e4314424a04675 [5/5] ucounts: Convert user_table to static array [WIP]
config: um-randconfig-r004-20230831 (https://download.01.org/0day-ci/archive/20231013/202310130732.zGnKq3SL-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231013/202310130732.zGnKq3SL-lkp@intel.com/reproduce)
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/202310130732.zGnKq3SL-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from kernel/ucount.c:4:
include/linux/sysctl.h:91:31: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
91 | ssize_t proc_read_bool(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:92:32: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
92 | ssize_t proc_write_bool(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:94:33: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
94 | ssize_t proc_read_intvec(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:95:34: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
95 | ssize_t proc_write_intvec(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:97:41: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
97 | ssize_t proc_read_intvec_jiffies(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:98:42: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
98 | ssize_t proc_write_intvec_jiffies(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:100:40: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
100 | ssize_t proc_read_intvec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:101:41: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
101 | ssize_t proc_write_intvec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:103:44: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
103 | ssize_t proc_read_intvec_ms_jiffies(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:104:45: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
104 | ssize_t proc_write_intvec_ms_jiffies(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:106:33: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
106 | ssize_t proc_read_string(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:107:34: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
107 | ssize_t proc_write_string(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:109:39: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
109 | ssize_t proc_read_u8vec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:110:40: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
110 | ssize_t proc_write_u8vec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:112:34: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
112 | ssize_t proc_read_uintvec(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:113:35: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
113 | ssize_t proc_write_uintvec(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:115:41: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
115 | ssize_t proc_read_uintvec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:116:42: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
116 | ssize_t proc_write_uintvec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:118:42: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
118 | ssize_t proc_read_ulongvec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:119:43: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
119 | ssize_t proc_write_ulongvec_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:121:53: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
121 | ssize_t proc_read_ulongvec_ms_jiffies_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:122:54: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
122 | ssize_t proc_write_ulongvec_ms_jiffies_minmax(struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:181:38: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
181 | int (*open) (struct inode *, struct file *);
| ^
include/linux/sysctl.h:182:41: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
182 | int (*release) (struct inode *, struct file *);
| ^
include/linux/sysctl.h:183:26: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
183 | ssize_t (*read) (struct file *, char *, size_t *, loff_t *);
| ^
include/linux/sysctl.h:184:27: warning: declaration of 'struct file' will not be visible outside of this function [-Wvisibility]
184 | ssize_t (*write) (struct file *, char *, size_t *, loff_t *);
| ^
>> kernel/ucount.c:66:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' [-Wincompatible-function-pointer-types]
66 | UCOUNT_ENTRY(SYSCTL_MAX_USER_NAMESPACES, "max_user_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:59:16: note: expanded from macro 'UCOUNT_ENTRY'
59 | .fops.open = proc_ucount_open, \
| ^~~~~~~~~~~~~~~~
kernel/ucount.c:66:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
66 | UCOUNT_ENTRY(SYSCTL_MAX_USER_NAMESPACES, "max_user_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:60:16: note: expanded from macro 'UCOUNT_ENTRY'
60 | .fops.read = proc_read_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:66:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
66 | UCOUNT_ENTRY(SYSCTL_MAX_USER_NAMESPACES, "max_user_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:61:17: note: expanded from macro 'UCOUNT_ENTRY'
61 | .fops.write = proc_write_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:67:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' [-Wincompatible-function-pointer-types]
67 | UCOUNT_ENTRY(SYSCTL_MAX_PID_NAMESPACES, "max_pid_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:59:16: note: expanded from macro 'UCOUNT_ENTRY'
59 | .fops.open = proc_ucount_open, \
| ^~~~~~~~~~~~~~~~
kernel/ucount.c:67:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
67 | UCOUNT_ENTRY(SYSCTL_MAX_PID_NAMESPACES, "max_pid_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:60:16: note: expanded from macro 'UCOUNT_ENTRY'
60 | .fops.read = proc_read_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:67:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
67 | UCOUNT_ENTRY(SYSCTL_MAX_PID_NAMESPACES, "max_pid_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:61:17: note: expanded from macro 'UCOUNT_ENTRY'
61 | .fops.write = proc_write_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:68:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' [-Wincompatible-function-pointer-types]
68 | UCOUNT_ENTRY(SYSCTL_MAX_UTS_NAMESPACES, "max_uts_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:59:16: note: expanded from macro 'UCOUNT_ENTRY'
59 | .fops.open = proc_ucount_open, \
| ^~~~~~~~~~~~~~~~
kernel/ucount.c:68:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
68 | UCOUNT_ENTRY(SYSCTL_MAX_UTS_NAMESPACES, "max_uts_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:60:16: note: expanded from macro 'UCOUNT_ENTRY'
60 | .fops.read = proc_read_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:68:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
68 | UCOUNT_ENTRY(SYSCTL_MAX_UTS_NAMESPACES, "max_uts_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:61:17: note: expanded from macro 'UCOUNT_ENTRY'
61 | .fops.write = proc_write_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:69:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' [-Wincompatible-function-pointer-types]
69 | UCOUNT_ENTRY(SYSCTL_MAX_IPC_NAMESPACES, "max_ipc_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:59:16: note: expanded from macro 'UCOUNT_ENTRY'
59 | .fops.open = proc_ucount_open, \
| ^~~~~~~~~~~~~~~~
kernel/ucount.c:69:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
69 | UCOUNT_ENTRY(SYSCTL_MAX_IPC_NAMESPACES, "max_ipc_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:60:16: note: expanded from macro 'UCOUNT_ENTRY'
60 | .fops.read = proc_read_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:69:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
69 | UCOUNT_ENTRY(SYSCTL_MAX_IPC_NAMESPACES, "max_ipc_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:61:17: note: expanded from macro 'UCOUNT_ENTRY'
61 | .fops.write = proc_write_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:70:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' [-Wincompatible-function-pointer-types]
70 | UCOUNT_ENTRY(SYSCTL_MAX_NET_NAMESPACES, "max_net_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:59:16: note: expanded from macro 'UCOUNT_ENTRY'
59 | .fops.open = proc_ucount_open, \
| ^~~~~~~~~~~~~~~~
kernel/ucount.c:70:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
70 | UCOUNT_ENTRY(SYSCTL_MAX_NET_NAMESPACES, "max_net_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:60:16: note: expanded from macro 'UCOUNT_ENTRY'
60 | .fops.read = proc_read_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:70:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
70 | UCOUNT_ENTRY(SYSCTL_MAX_NET_NAMESPACES, "max_net_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:61:17: note: expanded from macro 'UCOUNT_ENTRY'
61 | .fops.write = proc_write_ulongvec_minmax, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:71:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' [-Wincompatible-function-pointer-types]
71 | UCOUNT_ENTRY(SYSCTL_MAX_MNT_NAMESPACES, "max_mnt_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:59:16: note: expanded from macro 'UCOUNT_ENTRY'
59 | .fops.open = proc_ucount_open, \
| ^~~~~~~~~~~~~~~~
kernel/ucount.c:71:2: error: incompatible function pointer types initializing 'ssize_t (*)(struct file *, char *, size_t *, loff_t *)' (aka 'long (*)(struct file *, char *, unsigned long *, long long *)') with an expression of type 'ssize_t (struct file *, char *, size_t *, loff_t *)' (aka 'long (struct file *, char *, unsigned long *, long long *)') [-Wincompatible-function-pointer-types]
71 | UCOUNT_ENTRY(SYSCTL_MAX_MNT_NAMESPACES, "max_mnt_namespaces"),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/ucount.c:60:16: note: expanded from macro 'UCOUNT_ENTRY'
60 | .fops.read = proc_read_ulongvec_minmax, \
vim +66 kernel/ucount.c
53
54 #define UCOUNT_ENTRY(index, name) \
55 [index] = { \
56 .procname = name, \
57 .maxlen = sizeof(long), \
58 .mode = 0666, \
59 .fops.open = proc_ucount_open, \
60 .fops.read = proc_read_ulongvec_minmax, \
61 .fops.write = proc_write_ulongvec_minmax, \
62 .extra1 = &ue_zero, \
63 .extra2 = &ue_int_max, \
64 }
65 static struct ctl_table user_table[] = {
> 66 UCOUNT_ENTRY(SYSCTL_MAX_USER_NAMESPACES, "max_user_namespaces"),
67 UCOUNT_ENTRY(SYSCTL_MAX_PID_NAMESPACES, "max_pid_namespaces"),
68 UCOUNT_ENTRY(SYSCTL_MAX_UTS_NAMESPACES, "max_uts_namespaces"),
69 UCOUNT_ENTRY(SYSCTL_MAX_IPC_NAMESPACES, "max_ipc_namespaces"),
70 UCOUNT_ENTRY(SYSCTL_MAX_NET_NAMESPACES, "max_net_namespaces"),
71 UCOUNT_ENTRY(SYSCTL_MAX_MNT_NAMESPACES, "max_mnt_namespaces"),
72 UCOUNT_ENTRY(SYSCTL_MAX_CGROUP_NAMESPACES, "max_cgroup_namespaces"),
73 UCOUNT_ENTRY(SYSCTL_MAX_TIME_NAMESPACES, "max_time_namespaces"),
74 #ifdef CONFIG_INOTIFY_USER
75 UCOUNT_ENTRY(SYSCTL_MAX_INOTIFY_INSTANCES, "max_inotify_instances"),
76 UCOUNT_ENTRY(SYSCTL_MAX_INOTIFY_WATCHES, "max_inotify_watches"),
77 #endif
78 #ifdef CONFIG_FANOTIFY
79 UCOUNT_ENTRY(SYSCTL_MAX_FANOTIFY_GROUPS, "max_fanotify_groups"),
80 UCOUNT_ENTRY(SYSCTL_MAX_FANOTIFY_MARKS, "max_fanotify_marks"),
81 #endif
82 { }
83 };
84
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-10-12 23:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-30 23:06 [legion:sysctl-next 5/5] kernel/ucount.c:66:2: error: incompatible function pointer types initializing 'int (*)(struct inode *, struct file *)' with an expression of type 'int (struct inode *, struct file *)' kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2023-10-12 23:43 kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.