Kernel
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- 57 participants
- 19202 discussions

[openeuler:OLK-6.6 2387/7378] include/linux/compiler.h:215:60: error: initializer element is not constant
by kernel test robot 13 Apr '24
by kernel test robot 13 Apr '24
13 Apr '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 2ce949a800b76538410170a027def9b8f24f791a
commit: 654944510822988390470cbc5b6f914c19dd9b88 [2387/7378] sched/psi: add cpu fine grained stall tracking in pressure.stat
config: arm64-randconfig-r054-20240413 (https://download.01.org/0day-ci/archive/20240413/202404131542.5G4oleuA-lkp@…)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240413/202404131542.5G4oleuA-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202404131542.5G4oleuA-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
| ^~~~~~~~~~~~
kernel/sched/psi.c:1778:12: error: invalid storage class for function 'psi_io_open'
1778 | static int psi_io_open(struct inode *inode, struct file *file)
| ^~~~~~~~~~~
kernel/sched/psi.c:1783:12: error: invalid storage class for function 'psi_memory_open'
1783 | static int psi_memory_open(struct inode *inode, struct file *file)
| ^~~~~~~~~~~~~~~
kernel/sched/psi.c:1788:12: error: invalid storage class for function 'psi_cpu_open'
1788 | static int psi_cpu_open(struct inode *inode, struct file *file)
| ^~~~~~~~~~~~
kernel/sched/psi.c:1793:16: error: invalid storage class for function 'psi_write'
1793 | static ssize_t psi_write(struct file *file, const char __user *user_buf,
| ^~~~~~~~~
kernel/sched/psi.c:1836:16: error: invalid storage class for function 'psi_io_write'
1836 | static ssize_t psi_io_write(struct file *file, const char __user *user_buf,
| ^~~~~~~~~~~~
kernel/sched/psi.c:1842:16: error: invalid storage class for function 'psi_memory_write'
1842 | static ssize_t psi_memory_write(struct file *file, const char __user *user_buf,
| ^~~~~~~~~~~~~~~~
kernel/sched/psi.c:1848:16: error: invalid storage class for function 'psi_cpu_write'
1848 | static ssize_t psi_cpu_write(struct file *file, const char __user *user_buf,
| ^~~~~~~~~~~~~
kernel/sched/psi.c:1854:17: error: invalid storage class for function 'psi_fop_poll'
1854 | static __poll_t psi_fop_poll(struct file *file, poll_table *wait)
| ^~~~~~~~~~~~
kernel/sched/psi.c:1861:12: error: invalid storage class for function 'psi_fop_release'
1861 | static int psi_fop_release(struct inode *inode, struct file *file)
| ^~~~~~~~~~~~~~~
kernel/sched/psi.c:1870:27: error: initializer element is not constant
1870 | .proc_open = psi_io_open,
| ^~~~~~~~~~~
kernel/sched/psi.c:1870:27: note: (near initialization for 'psi_io_proc_ops.proc_open')
kernel/sched/psi.c:1873:27: error: initializer element is not constant
1873 | .proc_write = psi_io_write,
| ^~~~~~~~~~~~
kernel/sched/psi.c:1873:27: note: (near initialization for 'psi_io_proc_ops.proc_write')
kernel/sched/psi.c:1874:27: error: initializer element is not constant
1874 | .proc_poll = psi_fop_poll,
| ^~~~~~~~~~~~
kernel/sched/psi.c:1874:27: note: (near initialization for 'psi_io_proc_ops.proc_poll')
kernel/sched/psi.c:1875:27: error: initializer element is not constant
1875 | .proc_release = psi_fop_release,
| ^~~~~~~~~~~~~~~
kernel/sched/psi.c:1875:27: note: (near initialization for 'psi_io_proc_ops.proc_release')
kernel/sched/psi.c:1879:27: error: initializer element is not constant
1879 | .proc_open = psi_memory_open,
| ^~~~~~~~~~~~~~~
kernel/sched/psi.c:1879:27: note: (near initialization for 'psi_memory_proc_ops.proc_open')
kernel/sched/psi.c:1882:27: error: initializer element is not constant
1882 | .proc_write = psi_memory_write,
| ^~~~~~~~~~~~~~~~
kernel/sched/psi.c:1882:27: note: (near initialization for 'psi_memory_proc_ops.proc_write')
kernel/sched/psi.c:1883:27: error: initializer element is not constant
1883 | .proc_poll = psi_fop_poll,
| ^~~~~~~~~~~~
kernel/sched/psi.c:1883:27: note: (near initialization for 'psi_memory_proc_ops.proc_poll')
kernel/sched/psi.c:1884:27: error: initializer element is not constant
1884 | .proc_release = psi_fop_release,
| ^~~~~~~~~~~~~~~
kernel/sched/psi.c:1884:27: note: (near initialization for 'psi_memory_proc_ops.proc_release')
kernel/sched/psi.c:1888:27: error: initializer element is not constant
1888 | .proc_open = psi_cpu_open,
| ^~~~~~~~~~~~
kernel/sched/psi.c:1888:27: note: (near initialization for 'psi_cpu_proc_ops.proc_open')
kernel/sched/psi.c:1891:27: error: initializer element is not constant
1891 | .proc_write = psi_cpu_write,
| ^~~~~~~~~~~~~
kernel/sched/psi.c:1891:27: note: (near initialization for 'psi_cpu_proc_ops.proc_write')
kernel/sched/psi.c:1892:27: error: initializer element is not constant
1892 | .proc_poll = psi_fop_poll,
| ^~~~~~~~~~~~
kernel/sched/psi.c:1892:27: note: (near initialization for 'psi_cpu_proc_ops.proc_poll')
kernel/sched/psi.c:1893:27: error: initializer element is not constant
1893 | .proc_release = psi_fop_release,
| ^~~~~~~~~~~~~~~
kernel/sched/psi.c:1893:27: note: (near initialization for 'psi_cpu_proc_ops.proc_release')
kernel/sched/psi.c:1907:13: error: invalid storage class for function 'get_stat_names'
1907 | static void get_stat_names(struct seq_file *m, int i, bool is_full)
| ^~~~~~~~~~~~~~
kernel/sched/psi.c:1953:12: error: invalid storage class for function 'system_psi_stat_show'
1953 | static int system_psi_stat_show(struct seq_file *m, void *v)
| ^~~~~~~~~~~~~~~~~~~~
kernel/sched/psi.c:1958:12: error: invalid storage class for function 'psi_stat_open'
1958 | static int psi_stat_open(struct inode *inode, struct file *file)
| ^~~~~~~~~~~~~
kernel/sched/psi.c:1964:27: error: initializer element is not constant
1964 | .proc_open = psi_stat_open,
| ^~~~~~~~~~~~~
kernel/sched/psi.c:1964:27: note: (near initialization for 'psi_stat_proc_ops.proc_open')
kernel/sched/psi.c:1967:27: error: initializer element is not constant
1967 | .proc_release = psi_fop_release,
| ^~~~~~~~~~~~~~~
kernel/sched/psi.c:1967:27: note: (near initialization for 'psi_stat_proc_ops.proc_release')
kernel/sched/psi.c:1998:19: error: invalid storage class for function 'psi_proc_init'
1998 | static int __init psi_proc_init(void)
| ^~~~~~~~~~~~~
In file included from include/linux/build_bug.h:5,
from include/linux/container_of.h:5,
from include/linux/list.h:5,
from include/linux/smp.h:12:
>> include/linux/compiler.h:215:60: error: initializer element is not constant
215 | __UNIQUE_ID(__PASTE(__addressable_,sym)) = (void *)&sym;
| ^
include/linux/compiler.h:217:9: note: in expansion of macro '___ADDRESSABLE'
217 | ___ADDRESSABLE(sym, __section(".discard.addressable"))
| ^~~~~~~~~~~~~~
include/linux/init.h:256:9: note: in expansion of macro '__ADDRESSABLE'
256 | __ADDRESSABLE(fn)
| ^~~~~~~~~~~~~
include/linux/init.h:261:9: note: in expansion of macro '__define_initcall_stub'
261 | __define_initcall_stub(__stub, fn) \
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/init.h:274:9: note: in expansion of macro '____define_initcall'
274 | ____define_initcall(fn, \
| ^~~~~~~~~~~~~~~~~~~
include/linux/init.h:280:9: note: in expansion of macro '__unique_initcall'
280 | __unique_initcall(fn, id, __sec, __initcall_id(fn))
| ^~~~~~~~~~~~~~~~~
include/linux/init.h:282:35: note: in expansion of macro '___define_initcall'
282 | #define __define_initcall(fn, id) ___define_initcall(fn, id, .initcall##id)
| ^~~~~~~~~~~~~~~~~~
include/linux/init.h:311:41: note: in expansion of macro '__define_initcall'
311 | #define device_initcall(fn) __define_initcall(fn, 6)
| ^~~~~~~~~~~~~~~~~
include/linux/init.h:316:24: note: in expansion of macro 'device_initcall'
316 | #define __initcall(fn) device_initcall(fn)
| ^~~~~~~~~~~~~~~
include/linux/module.h:88:25: note: in expansion of macro '__initcall'
88 | #define module_init(x) __initcall(x);
| ^~~~~~~~~~
kernel/sched/psi.c:2014:1: note: in expansion of macro 'module_init'
2014 | module_init(psi_proc_init);
| ^~~~~~~~~~~
In file included from kernel/sched/build_utility.c:101:
kernel/sched/membarrier.c:165:13: error: invalid storage class for function 'ipi_mb'
165 | static void ipi_mb(void *info)
| ^~~~~~
kernel/sched/membarrier.c:170:13: error: invalid storage class for function 'ipi_sync_core'
170 | static void ipi_sync_core(void *info)
| ^~~~~~~~~~~~~
kernel/sched/membarrier.c:187:13: error: invalid storage class for function 'ipi_rseq'
187 | static void ipi_rseq(void *info)
| ^~~~~~~~
kernel/sched/membarrier.c:200:13: error: invalid storage class for function 'ipi_sync_rq_state'
200 | static void ipi_sync_rq_state(void *info)
| ^~~~~~~~~~~~~~~~~
kernel/sched/membarrier.c:245:12: error: invalid storage class for function 'membarrier_global_expedited'
245 | static int membarrier_global_expedited(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/membarrier.c:310:12: error: invalid storage class for function 'membarrier_private_expedited'
310 | static int membarrier_private_expedited(int flags, int cpu_id)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/membarrier.c:426:12: error: invalid storage class for function 'sync_runqueues_membarrier_state'
426 | static int sync_runqueues_membarrier_state(struct mm_struct *mm)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/membarrier.c:483:12: error: invalid storage class for function 'membarrier_register_global_expedited'
483 | static int membarrier_register_global_expedited(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/membarrier.c:502:12: error: invalid storage class for function 'membarrier_register_private_expedited'
502 | static int membarrier_register_private_expedited(int flags)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/membarrier.c:544:12: error: invalid storage class for function 'membarrier_get_registrations'
544 | static int membarrier_get_registrations(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/compat.h:34,
from arch/arm64/include/asm/elf.h:9,
from include/linux/elf.h:6,
from include/linux/module.h:19,
from include/linux/device/driver.h:21,
from include/linux/device.h:32,
from include/linux/node.h:18,
from include/linux/cpu.h:17,
from include/linux/cpufreq.h:12,
from kernel/sched/build_utility.c:22:
>> arch/arm64/include/asm/syscall_wrapper.h:55:21: error: invalid storage class for function '__se_sys_membarrier'
55 | static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \
| ^~~~~~~~
include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3'
614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id)
| ^~~~~~~~~~~~~~~
>> arch/arm64/include/asm/syscall_wrapper.h:56:28: error: invalid storage class for function '__do_sys_membarrier'
56 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \
| ^~~~~~~~
include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3'
614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id)
| ^~~~~~~~~~~~~~~
>> arch/arm64/include/asm/syscall_wrapper.h:58:25: error: static declaration of '__arm64_sys_membarrier' follows non-static declaration
58 | asmlinkage long __arm64_sys##name(const struct pt_regs *regs) \
| ^~~~~~~~~~~
include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3'
614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id)
| ^~~~~~~~~~~~~~~
arch/arm64/include/asm/syscall_wrapper.h:57:25: note: previous declaration of '__arm64_sys_membarrier' with type 'long int(const struct pt_regs *)'
57 | asmlinkage long __arm64_sys##name(const struct pt_regs *regs); \
| ^~~~~~~~~~~
include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3'
614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c: In function '__arm64_sys_membarrier':
>> arch/arm64/include/asm/syscall_wrapper.h:60:24: error: implicit declaration of function '__se_sys_membarrier'; did you mean '__arm64_sys_membarrier'? [-Werror=implicit-function-declaration]
60 | return __se_sys##name(SC_ARM64_REGS_TO_ARGS(x,__VA_ARGS__)); \
| ^~~~~~~~
include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3'
614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c: In function 'record_stat_times':
arch/arm64/include/asm/syscall_wrapper.h:62:21: error: invalid storage class for function '__se_sys_membarrier'
62 | static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
| ^~~~~~~~
include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3'
614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c: In function '__se_sys_membarrier':
>> arch/arm64/include/asm/syscall_wrapper.h:64:28: error: implicit declaration of function '__do_sys_membarrier'; did you mean '__se_sys_membarrier'? [-Werror=implicit-function-declaration]
64 | long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__)); \
| ^~~~~~~~
include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3'
614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c: In function 'record_stat_times':
arch/arm64/include/asm/syscall_wrapper.h:69:28: error: invalid storage class for function '__do_sys_membarrier'
69 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
| ^~~~~~~~
include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3'
614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id)
| ^~~~~~~~~~~~~~~
In file included from kernel/sched/build_utility.c:109:
kernel/sched/autogroup.c:7:28: error: section attribute cannot be specified for local variables
7 | unsigned int __read_mostly sysctl_sched_autogroup_enabled = 1;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:15:35: error: initializer element is not constant
15 | .data = &sysctl_sched_autogroup_enabled,
| ^
kernel/sched/autogroup.c:15:35: note: (near initialization for 'sched_autogroup_sysctls[0].data')
kernel/sched/autogroup.c:25:20: error: invalid storage class for function 'sched_autogroup_sysctl_init'
25 | static void __init sched_autogroup_sysctl_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:47:20: error: invalid storage class for function 'autogroup_destroy'
47 | static inline void autogroup_destroy(struct kref *kref)
| ^~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:60:20: error: invalid storage class for function 'autogroup_kref_put'
60 | static inline void autogroup_kref_put(struct autogroup *ag)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:65:33: error: invalid storage class for function 'autogroup_kref_get'
65 | static inline struct autogroup *autogroup_kref_get(struct autogroup *ag)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:71:33: error: invalid storage class for function 'autogroup_task_get'
71 | static inline struct autogroup *autogroup_task_get(struct task_struct *p)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:85:33: error: invalid storage class for function 'autogroup_create'
85 | static inline struct autogroup *autogroup_create(void)
| ^~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:158:1: error: invalid storage class for function 'autogroup_move_group'
158 | autogroup_move_group(struct task_struct *p, struct autogroup *ag)
| ^~~~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:202:15: error: non-static declaration of 'sched_autogroup_create_attach' follows static declaration
202 | EXPORT_SYMBOL(sched_autogroup_create_attach);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/export.h:74:28: note: in definition of macro '__EXPORT_SYMBOL'
74 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:86:41: note: in expansion of macro '_EXPORT_SYMBOL'
86 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "")
| ^~~~~~~~~~~~~~
kernel/sched/autogroup.c:202:1: note: in expansion of macro 'EXPORT_SYMBOL'
202 | EXPORT_SYMBOL(sched_autogroup_create_attach);
| ^~~~~~~~~~~~~
kernel/sched/autogroup.c:193:6: note: previous definition of 'sched_autogroup_create_attach' with type 'void(struct task_struct *)'
193 | void sched_autogroup_create_attach(struct task_struct *p)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:209:15: error: non-static declaration of 'sched_autogroup_detach' follows static declaration
209 | EXPORT_SYMBOL(sched_autogroup_detach);
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/export.h:74:28: note: in definition of macro '__EXPORT_SYMBOL'
74 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:86:41: note: in expansion of macro '_EXPORT_SYMBOL'
86 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "")
| ^~~~~~~~~~~~~~
kernel/sched/autogroup.c:209:1: note: in expansion of macro 'EXPORT_SYMBOL'
209 | EXPORT_SYMBOL(sched_autogroup_detach);
| ^~~~~~~~~~~~~
kernel/sched/autogroup.c:205:6: note: previous definition of 'sched_autogroup_detach' with type 'void(struct task_struct *)'
205 | void sched_autogroup_detach(struct task_struct *p)
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:221:19: error: invalid storage class for function 'setup_autogroup'
221 | static int __init setup_autogroup(char *str)
| ^~~~~~~~~~~~~~~
In file included from include/linux/printk.h:6,
from include/linux/kernel.h:30:
kernel/sched/autogroup.c:227:24: error: initializer element is not constant
227 | __setup("noautogroup", setup_autogroup);
| ^~~~~~~~~~~~~~~
include/linux/init.h:343:46: note: in definition of macro '__setup_param'
343 | = { __setup_str_##unique_id, fn, early }
| ^~
kernel/sched/autogroup.c:227:1: note: in expansion of macro '__setup'
227 | __setup("noautogroup", setup_autogroup);
| ^~~~~~~
kernel/sched/autogroup.c:227:24: note: (near initialization for '__setup_setup_autogroup.setup_func')
227 | __setup("noautogroup", setup_autogroup);
| ^~~~~~~~~~~~~~~
include/linux/init.h:343:46: note: in definition of macro '__setup_param'
343 | = { __setup_str_##unique_id, fn, early }
| ^~
kernel/sched/autogroup.c:227:1: note: in expansion of macro '__setup'
227 | __setup("noautogroup", setup_autogroup);
| ^~~~~~~
kernel/sched/build_utility.c:110: error: expected declaration or statement at end of input
110 | #endif
|
kernel/sched/psi.c: At top level:
kernel/sched/psi.c:178:13: warning: 'psi_avgs_work' used but never defined
178 | static void psi_avgs_work(struct work_struct *work);
| ^~~~~~~~~~~~~
kernel/sched/psi.c:180:13: warning: 'poll_timer_fn' used but never defined
180 | static void poll_timer_fn(struct timer_list *t);
| ^~~~~~~~~~~~~
kernel/sched/autogroup.c:285:5: warning: 'autogroup_path' defined but not used [-Wunused-function]
285 | int autogroup_path(struct task_group *tg, char *buf, int buflen)
| ^~~~~~~~~~~~~~
kernel/sched/autogroup.c:269:6: warning: 'proc_sched_autogroup_show_task' defined but not used [-Wunused-function]
269 | void proc_sched_autogroup_show_task(struct task_struct *p, struct seq_file *m)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:231:5: warning: 'proc_sched_autogroup_set_nice' defined but not used [-Wunused-function]
231 | int proc_sched_autogroup_set_nice(struct task_struct *p, int nice)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:216:6: warning: 'sched_autogroup_exit' defined but not used [-Wunused-function]
216 | void sched_autogroup_exit(struct signal_struct *sig)
| ^~~~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:211:6: warning: 'sched_autogroup_fork' defined but not used [-Wunused-function]
211 | void sched_autogroup_fork(struct signal_struct *sig)
| ^~~~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:147:6: warning: 'sched_autogroup_exit_task' defined but not used [-Wunused-function]
147 | void sched_autogroup_exit_task(struct task_struct *p)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:129:6: warning: 'task_wants_autogroup' defined but not used [-Wunused-function]
129 | bool task_wants_autogroup(struct task_struct *p, struct task_group *tg)
| ^~~~~~~~~~~~~~~~~~~~
kernel/sched/autogroup.c:42:6: warning: 'autogroup_free' defined but not used [-Wunused-function]
42 | void autogroup_free(struct task_group *tg)
| ^~~~~~~~~~~~~~
kernel/sched/autogroup.c:33:13: warning: 'autogroup_init' defined but not used [-Wunused-function]
33 | void __init autogroup_init(struct task_struct *init_task)
| ^~~~~~~~~~~~~~
>> arch/arm64/include/asm/syscall_wrapper.h:62:21: warning: '__se_sys_membarrier' defined but not used [-Wunused-function]
62 | static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
| ^~~~~~~~
include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3'
614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id)
| ^~~~~~~~~~~~~~~
>> arch/arm64/include/asm/syscall_wrapper.h:58:25: warning: '__arm64_sys_membarrier' defined but not used [-Wunused-function]
58 | asmlinkage long __arm64_sys##name(const struct pt_regs *regs) \
| ^~~~~~~~~~~
include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx'
230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx'
221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3'
614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id)
| ^~~~~~~~~~~~~~~
kernel/sched/membarrier.c:233:6: warning: 'membarrier_update_current_mm' defined but not used [-Wunused-function]
233 | void membarrier_update_current_mm(struct mm_struct *next_mm)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/membarrier.c:217:6: warning: 'membarrier_exec_mmap' defined but not used [-Wunused-function]
217 | void membarrier_exec_mmap(struct mm_struct *mm)
| ^~~~~~~~~~~~~~~~~~~~
kernel/sched/psi.c:1471:6: warning: 'psi_cgroup_restart' defined but not used [-Wunused-function]
1471 | void psi_cgroup_restart(struct psi_group *group)
| ^~~~~~~~~~~~~~~~~~
kernel/sched/psi.c:1416:6: warning: 'cgroup_move_task' defined but not used [-Wunused-function]
1416 | void cgroup_move_task(struct task_struct *task, struct css_set *to)
| ^~~~~~~~~~~~~~~~
kernel/sched/psi.c:1392:6: warning: 'psi_cgroup_free' defined but not used [-Wunused-function]
1392 | void psi_cgroup_free(struct cgroup *cgroup)
| ^~~~~~~~~~~~~~~
kernel/sched/psi.c:1373:5: warning: 'psi_cgroup_alloc' defined but not used [-Wunused-function]
1373 | int psi_cgroup_alloc(struct cgroup *cgroup)
| ^~~~~~~~~~~~~~~~
kernel/sched/psi.c:1168:6: warning: 'psi_task_switch' defined but not used [-Wunused-function]
1168 | void psi_task_switch(struct task_struct *prev, struct task_struct *next,
| ^~~~~~~~~~~~~~~
kernel/sched/psi.c:949:13: warning: 'poll_timer_fn' defined but not used [-Wunused-function]
949 | static void poll_timer_fn(struct timer_list *t)
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +215 include/linux/compiler.h
^1da177e4c3f41 Linus Torvalds 2005-04-16 206
7290d58095712a Ard Biesheuvel 2018-08-21 207 /*
7290d58095712a Ard Biesheuvel 2018-08-21 208 * Force the compiler to emit 'sym' as a symbol, so that we can reference
7290d58095712a Ard Biesheuvel 2018-08-21 209 * it from inline assembler. Necessary in case 'sym' could be inlined
7290d58095712a Ard Biesheuvel 2018-08-21 210 * otherwise, or eliminated entirely due to lack of references that are
7290d58095712a Ard Biesheuvel 2018-08-21 211 * visible to the compiler.
7290d58095712a Ard Biesheuvel 2018-08-21 212 */
92efda8eb15295 Sami Tolvanen 2022-09-08 213 #define ___ADDRESSABLE(sym, __attrs) \
92efda8eb15295 Sami Tolvanen 2022-09-08 214 static void * __used __attrs \
563a02b0c9704f Josh Poimboeuf 2020-08-18 @215 __UNIQUE_ID(__PASTE(__addressable_,sym)) = (void *)&sym;
92efda8eb15295 Sami Tolvanen 2022-09-08 216 #define __ADDRESSABLE(sym) \
92efda8eb15295 Sami Tolvanen 2022-09-08 217 ___ADDRESSABLE(sym, __section(".discard.addressable"))
7290d58095712a Ard Biesheuvel 2018-08-21 218
:::::: The code at line 215 was first introduced by commit
:::::: 563a02b0c9704f69c0364befedd451f57fe88092 compiler.h: Make __ADDRESSABLE() symbol truly unique
:::::: TO: Josh Poimboeuf <jpoimboe(a)redhat.com>
:::::: CC: Ingo Molnar <mingo(a)kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
Fix CVE-2024-26686
Eric W. Biederman (1):
exit: Use the correct exit_code in /proc/<pid>/stat
Oleg Nesterov (3):
fs/proc: do_task_stat: use __for_each_thread()
fs/proc: do_task_stat: move thread_group_cputime_adjusted() outside of
lock_task_sighand()
fs/proc: do_task_stat: use sig->stats_lock to gather the
threads/children stats
fs/proc/array.c | 69 +++++++++++++++++++++++++++++--------------------
1 file changed, 41 insertions(+), 28 deletions(-)
--
2.34.1
2
5

13 Apr '24
From: ZhangPeng <zhangpeng362(a)huawei.com>
Like copy_pte_range()/zap_pte_range(), make mm counter batch updating
in filemap_map_pages(), since folios type are same(MM_SHMEMPAGES or
MM_FILEPAGES) in filemap_map_pages(), only check the first folio type
is enough, the 'lat_pagefault -P 1 file' test from lmbench shows 12%
improvement, and the percpu_counter_add_batch() is gone from perf flame
graph.
Kefeng Wang (2):
mm: move mm counter updating out of set_pte_range()
mm: filemap: batch mm counter updating in filemap_map_pages()
mm/filemap.c | 17 ++++++++++++-----
mm/memory.c | 8 +++++---
2 files changed, 17 insertions(+), 8 deletions(-)
--
2.25.1
2
3
Christophe Kerello (1):
mmc: mmci: stm32: fix DMA API overlapping mappings warning
Yann Gautier (1):
mmc: mmci: stm32: use a buffer for unaligned DMA requests
drivers/mmc/host/mmci_stm32_sdmmc.c | 112 +++++++++++++++++++++++-----
1 file changed, 95 insertions(+), 17 deletions(-)
--
2.25.1
2
3
Fix CVE-2024-26686
Eric W. Biederman (1):
exit: Use the correct exit_code in /proc/<pid>/stat
Oleg Nesterov (3):
fs/proc: do_task_stat: use __for_each_thread()
fs/proc: do_task_stat: move thread_group_cputime_adjusted() outside of
lock_task_sighand()
fs/proc: do_task_stat: use sig->stats_lock to gather the
threads/children stats
fs/proc/array.c | 69 +++++++++++++++++++++++++++++--------------------
1 file changed, 41 insertions(+), 28 deletions(-)
--
2.34.1
2
5
*** BLURB HERE ***
Eric W. Biederman (1):
[Backport] exit: Use the correct exit_code in /proc/<pid>/stat
Oleg Nesterov (3):
[Backport] fs/proc: do_task_stat: use __for_each_thread()
[Backport] fs/proc: do_task_stat: move thread_group_cputime_adjusted()
outside of lock_task_sighand()
[Backport] fs/proc: do_task_stat: use sig->stats_lock to gather the
threads/children stats
fs/proc/array.c | 69 +++++++++++++++++++++++++++++--------------------
1 file changed, 41 insertions(+), 28 deletions(-)
--
2.34.1
1
0

[openeuler:OLK-5.10 28090/30000] drivers/ub/urma/ubcore/ubcore_device.c:393:22: sparse: sparse: symbol 'ubcore_find_tpf_device_legacy' was not declared. Should it be static?
by kernel test robot 13 Apr '24
by kernel test robot 13 Apr '24
13 Apr '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 30b94f5b7f90893f07314da68de8bdafb68bc2b8
commit: 329bf7f331286ee5d571d374e31ed50d2877b110 [28090/30000] ubcore: fix the bug of tp negotiation concurrency
config: x86_64-randconfig-121-20240413 (https://download.01.org/0day-ci/archive/20240413/202404131005.V38fPPvo-lkp@…)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240413/202404131005.V38fPPvo-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202404131005.V38fPPvo-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/ub/urma/ubcore/ubcore_device.c:306:6: sparse: sparse: symbol 'ubcore_destroy_upi_list' was not declared. Should it be static?
>> drivers/ub/urma/ubcore/ubcore_device.c:393:22: sparse: sparse: symbol 'ubcore_find_tpf_device_legacy' was not declared. Should it be static?
--
>> drivers/ub/urma/ubcore/ubcore_tp.c:392:5: sparse: sparse: symbol 'ubcore_modify_tp_state' was not declared. Should it be static?
vim +/ubcore_find_tpf_device_legacy +393 drivers/ub/urma/ubcore/ubcore_device.c
392
> 393 struct ubcore_device *ubcore_find_tpf_device_legacy(void)
394 {
395 if (g_tpf == NULL)
396 ubcore_log_err("tpf is not registered yet");
397
398 ubcore_get_device(g_tpf);
399 return g_tpf;
400 }
401
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
Alexander Duyck (1):
bpf, arm64: Fix BTI type used for freplace attached functions
Nathan Chancellor (1):
bpf, arm64: Mark dummy_tramp as global
Peter Zijlstra (1):
x86/ibt,ftrace: Search for __fentry__ location
Pu Lehui (1):
config: Enable DYNAMIC_FTRACE_WITH_DIRECT_CALLS
Xu Kuohai (13):
arm64, insn: Add ldr/str with immediate offset
bpf, arm64: Optimize BPF store/load using arm64 str/ldr(immediate
offset)
bpf, arm64: Adjust the offset of str/ldr(immediate) to positive number
arm64: Add LDR (literal) instruction
bpf, arm64: Implement bpf_arch_text_poke() for arm64
bpf, arm64: Add bpf trampoline for arm64
bpf, arm64: Fix compile error in dummy_tramp()
bpf, arm64: Fix bpf trampoline instruction endianness
bpf, arm64: Fixed a BTI error on returning to patched function
ftrace: Allow users to disable ftrace direct call
arm64: ftrace: Support long jump for ftrace direct call
arm64: ftrace: Add ftrace direct call support
arm64: ftrace: Support direct call for no literal module functions
arch/arm64/Kconfig | 2 +
arch/arm64/Makefile | 4 +
arch/arm64/configs/openeuler_defconfig | 1 +
arch/arm64/include/asm/ftrace.h | 31 +-
arch/arm64/include/asm/insn.h | 14 +
arch/arm64/kernel/asm-offsets.c | 1 +
arch/arm64/kernel/entry-ftrace.S | 39 +-
arch/arm64/kernel/ftrace.c | 248 ++++++-
arch/arm64/kernel/insn.c | 111 +++-
arch/arm64/net/bpf_jit.h | 25 +
arch/arm64/net/bpf_jit_comp.c | 875 ++++++++++++++++++++++++-
arch/x86/kernel/kprobes/core.c | 11 +-
include/linux/ftrace.h | 3 +
kernel/bpf/trampoline.c | 20 +-
kernel/kprobes.c | 8 +-
kernel/trace/Kconfig | 7 +-
kernel/trace/ftrace.c | 65 +-
17 files changed, 1349 insertions(+), 116 deletions(-)
--
2.34.1
2
18

[openeuler:OLK-5.10 26258/30000] drivers/ub/urma/ubcore/ubcore_device.c:344:6: sparse: sparse: symbol 'ubcore_destroy_upi_list' was not declared. Should it be static?
by kernel test robot 13 Apr '24
by kernel test robot 13 Apr '24
13 Apr '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 30b94f5b7f90893f07314da68de8bdafb68bc2b8
commit: 84e122368ec3a37e074c9657bc09422b62f6ccd0 [26258/30000] ub: add new feature for urma
config: x86_64-randconfig-121-20240413 (https://download.01.org/0day-ci/archive/20240413/202404130852.oq58Pd8N-lkp@…)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240413/202404130852.oq58Pd8N-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202404130852.oq58Pd8N-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/ub/urma/ubcore/ubcore_device.c:344:6: sparse: sparse: symbol 'ubcore_destroy_upi_list' was not declared. Should it be static?
--
drivers/ub/urma/ubcore/ubcore_main.c:66:5: sparse: sparse: symbol 'ubcore_open' was not declared. Should it be static?
drivers/ub/urma/ubcore/ubcore_main.c:90:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:90:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:90:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:121:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:121:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:121:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:143:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:143:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:143:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:159:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:159:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:159:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:184:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:184:37: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:184:37: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:194:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:194:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:194:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:228:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:228:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:228:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:313:18: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:313:18: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:313:18: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:511:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:511:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:511:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:518:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:518:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:518:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:524:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:524:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:524:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:530:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:530:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:530:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:536:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:536:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:536:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:542:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:542:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:542:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:549:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:549:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:549:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:556:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:556:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:556:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:563:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:563:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:563:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:569:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:569:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:569:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:575:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:575:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:575:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:614:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:614:34: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:614:34: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:639:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:639:34: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:639:34: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:673:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:673:49: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:673:49: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:724:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:724:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:724:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:738:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:738:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:738:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_main.c:764:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_main.c:764:37: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_main.c:764:37: sparse: got void [noderef] __user *
>> drivers/ub/urma/ubcore/ubcore_main.c:890:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] reserved2 @@ got restricted __be32 [usertype] @@
drivers/ub/urma/ubcore/ubcore_main.c:890:41: sparse: expected unsigned int [usertype] reserved2
drivers/ub/urma/ubcore/ubcore_main.c:890:41: sparse: got restricted __be32 [usertype]
drivers/ub/urma/ubcore/ubcore_main.c:891:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addr @@ got restricted __be32 [usertype] ipv4 @@
drivers/ub/urma/ubcore/ubcore_main.c:891:36: sparse: expected unsigned int [usertype] addr
drivers/ub/urma/ubcore/ubcore_main.c:891:36: sparse: got restricted __be32 [usertype] ipv4
>> drivers/ub/urma/ubcore/ubcore_main.c:1061:51: sparse: sparse: restricted __be64 degrades to integer
drivers/ub/urma/ubcore/ubcore_main.c:1168:66: sparse: sparse: restricted __be64 degrades to integer
drivers/ub/urma/ubcore/ubcore_main.c: note: in included file:
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: expected void const [noderef] __user *from
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: expected void const [noderef] __user *from
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: expected void const [noderef] __user *from
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: expected void const [noderef] __user *from
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: expected void const [noderef] __user *from
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: expected void const [noderef] __user *from
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: expected void const [noderef] __user *from
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: expected void const [noderef] __user *from
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: expected void [noderef] __user *to
drivers/ub/urma/ubcore/ubcore_cmd.h:133:33: sparse: got void *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: expected void const [noderef] __user *from
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: got void const *args_addr
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *args_addr @@
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: expected void const [noderef] __user *from
drivers/ub/urma/ubcore/ubcore_cmd.h:122:41: sparse: got void const *args_addr
--
>> drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:38:18: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:38:18: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:38:18: sparse: got void [noderef] __user *
>> drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:50:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:50:18: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:50:18: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:201:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:201:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:201:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:309:18: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:309:18: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:309:18: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:333:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:333:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:333:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:427:18: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:427:18: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:427:18: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:475:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:475:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:475:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:483:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:483:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:483:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:572:18: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:572:18: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:572:18: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:616:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:616:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:616:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:706:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:706:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:706:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:803:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:803:43: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:803:43: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:836:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:836:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:836:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:908:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:908:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:908:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:940:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:940:34: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:940:34: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:958:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:958:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:958:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:999:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:999:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:999:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1113:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1113:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1113:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1156:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1156:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1156:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1198:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1198:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1198:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1214:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1214:34: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1214:34: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1226:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1226:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1226:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1291:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1291:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1291:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1313:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1313:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1313:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1351:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1351:34: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1351:34: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1442:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1442:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1442:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1475:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1475:34: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1475:34: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1499:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1499:43: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1499:43: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1549:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1549:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1549:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1579:18: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1579:18: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1579:18: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1604:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1604:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1604:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1629:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1629:44: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1629:44: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1670:18: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1670:18: sparse: expected void const *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1670:18: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1695:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1695:36: sparse: expected void *args_addr
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1695:36: sparse: got void [noderef] __user *
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1720:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/ubcore/ubcore_uvs_cmd.c:1720:44: sparse: expected void const *args_addr
--
drivers/ub/urma/uburma/uburma_cmd.c:69:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:69:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:69:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:96:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:96:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:96:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:149:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:149:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:149:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:171:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:171:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:171:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:193:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:193:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:193:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:226:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:226:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:226:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:256:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:256:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:256:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:283:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:283:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:283:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:306:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/ub/urma/uburma/uburma_cmd.c:306:16: sparse: void [noderef] __rcu *
drivers/ub/urma/uburma/uburma_cmd.c:306:16: sparse: void *
drivers/ub/urma/uburma/uburma_cmd.c:315:6: sparse: sparse: symbol 'uburma_jfc_event_cb' was not declared. Should it be static?
drivers/ub/urma/uburma/uburma_cmd.c:327:6: sparse: sparse: symbol 'uburma_jfs_event_cb' was not declared. Should it be static?
drivers/ub/urma/uburma/uburma_cmd.c:339:6: sparse: sparse: symbol 'uburma_jfr_event_cb' was not declared. Should it be static?
drivers/ub/urma/uburma/uburma_cmd.c:351:6: sparse: sparse: symbol 'uburma_jetty_event_cb' was not declared. Should it be static?
>> drivers/ub/urma/uburma/uburma_cmd.c:363:6: sparse: sparse: symbol 'uburma_jetty_grp_event_cb' was not declared. Should it be static?
drivers/ub/urma/uburma/uburma_cmd.c:387:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:387:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:387:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:442:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:442:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:442:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:472:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:472:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:472:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:495:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:495:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:495:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:511:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:511:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:511:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:541:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:541:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:541:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:555:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:555:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:555:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:579:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:579:37: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:579:37: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:593:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:593:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:593:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:621:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:621:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:621:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:639:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:639:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:639:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:667:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:667:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:667:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:718:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:718:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:718:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:748:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:748:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:748:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:772:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:772:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:772:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:788:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:788:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:788:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:818:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:818:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:818:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:832:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:832:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:832:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:856:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:856:37: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:856:37: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:871:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:871:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:871:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:919:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:919:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:919:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:949:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:949:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:949:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:973:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:973:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:973:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:987:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:987:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:987:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:1012:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:1012:37: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:1012:37: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:1064:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:1064:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:1064:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:1130:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:1130:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:1130:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:1171:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:1171:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:1171:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:1195:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:1195:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:1195:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:1211:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:1211:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:1211:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:1254:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:1254:36: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:1254:36: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:1268:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:1268:44: sparse: expected void const *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:1268:44: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:1292:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *args_addr @@ got void [noderef] __user * @@
drivers/ub/urma/uburma/uburma_cmd.c:1292:37: sparse: expected void *args_addr
drivers/ub/urma/uburma/uburma_cmd.c:1292:37: sparse: got void [noderef] __user *
drivers/ub/urma/uburma/uburma_cmd.c:1304:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *args_addr @@ got void [noderef] __user * @@
vim +/ubcore_destroy_upi_list +344 drivers/ub/urma/ubcore/ubcore_device.c
343
> 344 void ubcore_destroy_upi_list(void)
345 {
346 struct ubcore_upi_entry *entry = NULL, *next;
347
348 mutex_lock(&g_upi_lock);
349 list_for_each_entry_safe(entry, next, &g_upi_list, node) {
350 if (entry != NULL) {
351 list_del(&entry->node);
352 kfree(entry);
353 }
354 }
355 mutex_unlock(&g_upi_lock);
356 }
357
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10 6370/30000] drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:259:14: sparse: sparse: cast removes address space '__iomem' of expression
by kernel test robot 13 Apr '24
by kernel test robot 13 Apr '24
13 Apr '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 30b94f5b7f90893f07314da68de8bdafb68bc2b8
commit: 915ded04f7e236f1dc52aad0430c8814bd32c793 [6370/30000] Huawei BMA: Adding Huawei BMA driver: host_edma_drv
config: x86_64-randconfig-122-20240413 (https://download.01.org/0day-ci/archive/20240413/202404130728.5ZCtL66s-lkp@…)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240413/202404130728.5ZCtL66s-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202404130728.5ZCtL66s-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:450:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:460:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:461:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:67:5: sparse: sparse: symbol 'edma_param_get_statics' was not declared. Should it be static?
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:103:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:114:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:125:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:185:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:192:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:201:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:214:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:251:17: sparse: sparse: Using plain integer as NULL pointer
>> drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:259:14: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:258:37: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *edma_swap_addr @@ got unsigned char * @@
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:258:37: sparse: expected void [noderef] __iomem *edma_swap_addr
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:258:37: sparse: got unsigned char *
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:262:14: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:261:37: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *veth_swap_addr @@ got unsigned char * @@
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:261:37: sparse: expected void [noderef] __iomem *veth_swap_addr
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:261:37: sparse: got unsigned char *
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:282:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:292:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:303:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:316:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:328:5: sparse: sparse: symbol 'pme_pci_enable_msi' was not declared. Should it be static?
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:361:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:375:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:354:5: sparse: sparse: symbol 'pci_device_init' was not declared. Should it be static?
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:399:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:405:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:412:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:383:5: sparse: sparse: symbol 'pci_device_config' was not declared. Should it be static?
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:509:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:513:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:505:12: sparse: sparse: symbol 'bma_pci_init' was not declared. Should it be static?
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:520:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:518:13: sparse: sparse: symbol 'bma_pci_cleanup' was not declared. Should it be static?
--
>> drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:108:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:110:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:131:35: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:136:28: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:147:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:254:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:413:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:581:6: sparse: sparse: symbol 'host_dma_transfer_without_list' was not declared. Should it be static?
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:629:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:608:6: sparse: sparse: symbol 'host_dma_transfer_withlist' was not declared. Should it be static?
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:653:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:668:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:708:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:716:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:748:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:754:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:759:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:765:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:777:27: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:791:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:810:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:852:35: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:859:49: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:869:49: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:876:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:960:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:966:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:996:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1046:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1050:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1061:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1087:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1102:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1126:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1138:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1160:25: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1162:44: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1165:22: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1166:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned char * @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1166:33: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1166:33: sparse: got unsigned char *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1167:22: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1167:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned char * @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1167:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1167:22: sparse: got unsigned char *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1169:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1175:28: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1175:28: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1175:28: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1175:28: sparse: got void *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1181:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1186:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1196:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1200:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1201:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1203:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1217:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1218:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1219:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1227:36: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1227:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1227:36: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1227:36: sparse: got void *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1272:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1282:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1287:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1299:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1356:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1372:23: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1371:35: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *edma_send_addr @@ got void * @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1371:35: sparse: expected void [noderef] __iomem *edma_send_addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1371:35: sparse: got void *
>> drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *s @@ got void [noderef] __iomem *edma_send_addr @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: expected void *s
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1374:9: sparse: got void [noderef] __iomem *edma_send_addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1377:23: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1376:35: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *edma_recv_addr @@ got void * @@
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1376:35: sparse: expected void [noderef] __iomem *edma_recv_addr
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1376:35: sparse: got void *
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1380:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1406:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1413:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/ethernet/huawei/bma/edma_drv/edma_host.c:1442:16: sparse: sparse: cast removes address space '__iomem' of expression
vim +/__iomem +259 drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c
99
100 void __iomem *kbox_get_base_addr(void)
101 {
102 if (!g_bma_pci_dev || (!(g_bma_pci_dev->kbox_base_addr))) {
> 103 BMA_LOG(DLOG_ERROR, "kbox_base_addr NULL point\n");
104 return NULL;
105 }
106
107 return g_bma_pci_dev->kbox_base_addr;
108 }
109 EXPORT_SYMBOL_GPL(kbox_get_base_addr);
110
111 unsigned long kbox_get_io_len(void)
112 {
113 if (!g_bma_pci_dev) {
> 114 BMA_LOG(DLOG_ERROR, "kbox_io_len is error,can not get it\n");
115 return 0;
116 }
117
118 return g_bma_pci_dev->kbox_base_len;
119 }
120 EXPORT_SYMBOL_GPL(kbox_get_io_len);
121
122 unsigned long kbox_get_base_phy_addr(void)
123 {
124 if (!g_bma_pci_dev || !g_bma_pci_dev->kbox_base_phy_addr) {
125 BMA_LOG(DLOG_ERROR, "kbox_base_phy_addr NULL point\n");
126 return 0;
127 }
128
129 return g_bma_pci_dev->kbox_base_phy_addr;
130 }
131 EXPORT_SYMBOL_GPL(kbox_get_base_phy_addr);
132
133 static struct pci_driver bma_driver = {
134 .name = PCI_KBOX_MODULE_NAME,
135 .id_table = bma_pci_tbl,
136 .probe = bma_pci_probe,
137 .remove = bma_pci_remove,
138 .suspend = bma_pci_suspend,
139 .resume = bma_pci_resume,
140 };
141
142 s32 __atu_config_H(struct pci_dev *pdev, unsigned int region,
143 unsigned int hostaddr_h, unsigned int hostaddr_l,
144 unsigned int bmcaddr_h, unsigned int bmcaddr_l,
145 unsigned int len)
146 {
147 /* atu index reg,inbound and region*/
148 (void)pci_write_config_dword(pdev, ATU_VIEWPORT,
149 REGION_DIR_INPUT + (region & REGION_INDEX_MASK));
150 (void)pci_write_config_dword(pdev, ATU_BASE_LOW, hostaddr_l);
151 (void)pci_write_config_dword(pdev, ATU_BASE_HIGH, hostaddr_h);
152 (void)pci_write_config_dword(pdev, ATU_LIMIT, hostaddr_l + len - 1);
153 (void)pci_write_config_dword(pdev, ATU_TARGET_LOW, bmcaddr_l);
154 (void)pci_write_config_dword(pdev, ATU_TARGET_HIGH, bmcaddr_h);
155 /* atu ctrl1 reg */
156 (void)pci_write_config_dword(pdev, ATU_REGION_CTRL1, ATU_CTRL1_DEFAULT);
157 /* atu ctrl2 reg */
158 (void)pci_write_config_dword(pdev, ATU_REGION_CTRL2, REGION_ENABLE);
159
160 return 0;
161 }
162
163 static void iounmap_bar_mem(struct bma_pci_dev_s *bma_pci_dev)
164 {
165 if (bma_pci_dev->kbox_base_addr) {
166 iounmap(bma_pci_dev->kbox_base_addr);
167 bma_pci_dev->kbox_base_addr = NULL;
168 }
169
170 if (bma_pci_dev->bma_base_addr) {
171 iounmap(bma_pci_dev->bma_base_addr);
172 bma_pci_dev->bma_base_addr = NULL;
173 bma_pci_dev->edma_swap_addr = NULL;
174 bma_pci_dev->hostrtc_viraddr = NULL;
175 }
176 }
177
178 static int ioremap_pme_bar1_mem(struct pci_dev *pdev,
179 struct bma_pci_dev_s *bma_pci_dev)
180 {
181 unsigned long bar1_resource_flag = 0;
182 u32 data = 0;
183
184 bma_pci_dev->kbox_base_len = PCI_PME_USEABLE_SPACE;
185 BMA_LOG(DLOG_DEBUG, "1710\n");
186
187 bma_pci_dev->bma_base_phy_addr =
188 pci_resource_start(pdev, PCI_BAR1);
189 bar1_resource_flag = pci_resource_flags(pdev, PCI_BAR1);
190
191 if (!(bar1_resource_flag & IORESOURCE_MEM)) {
> 192 BMA_LOG(DLOG_ERROR,
193 "Cannot find proper PCI device base address, aborting\n");
194 return -ENODEV;
195 }
196
197 bma_pci_dev->bma_base_len = pci_resource_len(pdev, PCI_BAR1);
198 bma_pci_dev->edma_swap_len = EDMA_SWAP_DATA_SIZE;
199 bma_pci_dev->veth_swap_len = VETH_SWAP_DATA_SIZE;
200
201 BMA_LOG(DLOG_DEBUG,
202 "bar1: bma_base_len = 0x%lx, edma_swap_len = %ld, veth_swap_len = %ld(0x%lx)\n",
203 bma_pci_dev->bma_base_len, bma_pci_dev->edma_swap_len,
204 bma_pci_dev->veth_swap_len, bma_pci_dev->veth_swap_len);
205
206 bma_pci_dev->hostrtc_phyaddr = bma_pci_dev->bma_base_phy_addr;
207 /* edma */
208 bma_pci_dev->edma_swap_phy_addr =
209 bma_pci_dev->bma_base_phy_addr + EDMA_SWAP_BASE_OFFSET;
210 /* veth */
211 bma_pci_dev->veth_swap_phy_addr =
212 bma_pci_dev->edma_swap_phy_addr + EDMA_SWAP_DATA_SIZE;
213
214 BMA_LOG(DLOG_DEBUG,
215 "bar1: hostrtc_phyaddr = 0x%lx, edma_swap_phy_addr = 0x%lx, veth_swap_phy_addr = 0x%lx\n",
216 bma_pci_dev->hostrtc_phyaddr,
217 bma_pci_dev->edma_swap_phy_addr,
218 bma_pci_dev->veth_swap_phy_addr);
219
220 __atu_config_H(pdev, 0,
221 GET_HIGH_ADDR(bma_pci_dev->kbox_base_phy_addr),
222 (bma_pci_dev->kbox_base_phy_addr & 0xffffffff),
223 0, PCI_BAR0_PME_1710, PCI_PME_USEABLE_SPACE);
224
225 __atu_config_H(pdev, 1,
226 GET_HIGH_ADDR(bma_pci_dev->hostrtc_phyaddr),
227 (bma_pci_dev->hostrtc_phyaddr & 0xffffffff),
228 0, HOSTRTC_REG_BASE, HOSTRTC_REG_SIZE);
229
230 __atu_config_H(pdev, 2,
231 GET_HIGH_ADDR(bma_pci_dev->edma_swap_phy_addr),
232 (bma_pci_dev->edma_swap_phy_addr & 0xffffffff),
233 0, EDMA_SWAP_DATA_BASE, EDMA_SWAP_DATA_SIZE);
234
235 __atu_config_H(pdev, 3,
236 GET_HIGH_ADDR(bma_pci_dev->veth_swap_phy_addr),
237 (bma_pci_dev->veth_swap_phy_addr & 0xffffffff),
238 0, VETH_SWAP_DATA_BASE, VETH_SWAP_DATA_SIZE);
239
240 if (bar1_resource_flag & IORESOURCE_CACHEABLE) {
241 bma_pci_dev->bma_base_addr =
242 ioremap(bma_pci_dev->bma_base_phy_addr,
243 bma_pci_dev->bma_base_len);
244 } else {
245 bma_pci_dev->bma_base_addr =
246 IOREMAP(bma_pci_dev->bma_base_phy_addr,
247 bma_pci_dev->bma_base_len);
248 }
249
250 if (!bma_pci_dev->bma_base_addr) {
251 BMA_LOG(DLOG_ERROR,
252 "Cannot map device registers, aborting\n");
253
254 return -ENODEV;
255 }
256
257 bma_pci_dev->hostrtc_viraddr = bma_pci_dev->bma_base_addr;
> 258 bma_pci_dev->edma_swap_addr =
> 259 (unsigned char *)bma_pci_dev->bma_base_addr +
260 EDMA_SWAP_BASE_OFFSET;
> 261 bma_pci_dev->veth_swap_addr =
262 (unsigned char *)bma_pci_dev->edma_swap_addr +
263 EDMA_SWAP_DATA_SIZE;
264
265 (void)pci_read_config_dword(pdev, 0x78, &data);
266 data = data & 0xfffffff0;
267 (void)pci_write_config_dword(pdev, 0x78, data);
268 (void)pci_read_config_dword(pdev, 0x78, &data);
269
270 return 0;
271 }
272
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0