* [openeuler:openEuler-1.0-LTS 13138/21542] arch/x86/kernel/livepatch.c:225:5: warning: no previous prototype for 'arch_klp_init_func'
@ 2024-01-11 7:06 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-01-11 7:06 UTC (permalink / raw)
To: kernel; +Cc: oe-kbuild-all
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 9b8b6ad39cc58aa26fb70284f482daec61e17c22
commit: 7e2ab91ea07673f855f16b54b7c6e6853b2efc1c [13138/21542] livepatch/x86: support livepatch without ftrace
config: x86_64-openeuler_defconfig (https://download.01.org/0day-ci/archive/20240111/202401111415.LckCd1Fu-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240111/202401111415.LckCd1Fu-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401111415.LckCd1Fu-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/x86/kernel/livepatch.c:225:5: warning: no previous prototype for 'arch_klp_init_func' [-Wmissing-prototypes]
225 | int arch_klp_init_func(struct klp_object *obj, struct klp_func *func)
| ^~~~~~~~~~~~~~~~~~
>> arch/x86/kernel/livepatch.c:230:6: warning: no previous prototype for 'arch_klp_free_func' [-Wmissing-prototypes]
230 | void arch_klp_free_func(struct klp_object *obj, struct klp_func *limit)
| ^~~~~~~~~~~~~~~~~~
>> arch/x86/kernel/livepatch.c:258:6: warning: no previous prototype for 'arch_klp_code_modify_prepare' [-Wmissing-prototypes]
258 | void arch_klp_code_modify_prepare(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/x86/kernel/livepatch.c:264:6: warning: no previous prototype for 'arch_klp_code_modify_post_process' [-Wmissing-prototypes]
264 | void arch_klp_code_modify_post_process(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
>> kernel/livepatch/core.c:75:16: warning: no previous prototype for 'klp_check_patch_kprobed' [-Wmissing-prototypes]
75 | struct kprobe *klp_check_patch_kprobed(struct klp_patch *patch)
| ^~~~~~~~~~~~~~~~~~~~~~~
>> kernel/livepatch/core.c:402:5: warning: no previous prototype for 'klp_try_disable_patch' [-Wmissing-prototypes]
402 | int klp_try_disable_patch(void *data)
| ^~~~~~~~~~~~~~~~~~~~~
kernel/livepatch/core.c: In function 'klp_try_disable_patch':
kernel/livepatch/core.c:435:38: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
435 | klp_smp_isb();
| ^
kernel/livepatch/core.c: At top level:
>> kernel/livepatch/core.c:441:13: warning: no previous prototype for 'arch_klp_code_modify_prepare' [-Wmissing-prototypes]
441 | void __weak arch_klp_code_modify_prepare(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/livepatch/core.c:445:13: warning: no previous prototype for 'arch_klp_code_modify_post_process' [-Wmissing-prototypes]
445 | void __weak arch_klp_code_modify_post_process(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/livepatch/core.c:617:5: warning: no previous prototype for 'klp_try_enable_patch' [-Wmissing-prototypes]
617 | int klp_try_enable_patch(void *data)
| ^~~~~~~~~~~~~~~~~~~~
kernel/livepatch/core.c: In function 'klp_try_enable_patch':
kernel/livepatch/core.c:650:38: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
650 | klp_smp_isb();
| ^
kernel/livepatch/core.c: At top level:
>> kernel/livepatch/core.c:1013:12: warning: no previous prototype for 'arch_klp_func_can_patch' [-Wmissing-prototypes]
1013 | int __weak arch_klp_func_can_patch(struct klp_func *func)
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +/arch_klp_init_func +225 arch/x86/kernel/livepatch.c
224
> 225 int arch_klp_init_func(struct klp_object *obj, struct klp_func *func)
226 {
227 return 0;
228 }
229
> 230 void arch_klp_free_func(struct klp_object *obj, struct klp_func *limit)
231 {
232
233 }
234
235 static int klp_calc_offset(long pc, long addr)
236 {
237 return (int)(addr - pc);
238 }
239
240 static unsigned char *klp_jmp_code(unsigned long ip, unsigned long addr)
241 {
242 static union klp_code_union calc;
243
244 calc.e9 = 0xe9;
245 calc.offset = klp_calc_offset(ip + JMP_E9_INSN_SIZE, addr);
246
247 return calc.code;
248 }
249
250 static unsigned char *klp_old_code(unsigned char *code)
251 {
252 static union klp_code_union old_code;
253
254 strncpy(old_code.code, code, JMP_E9_INSN_SIZE);
255 return old_code.code;
256 }
257
> 258 void arch_klp_code_modify_prepare(void)
259 {
260 set_kernel_text_rw();
261 set_all_modules_text_rw();
262 }
263
> 264 void arch_klp_code_modify_post_process(void)
265 {
266 set_all_modules_text_ro();
267 set_kernel_text_ro();
268 }
269
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-01-11 7:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-11 7:06 [openeuler:openEuler-1.0-LTS 13138/21542] arch/x86/kernel/livepatch.c:225:5: warning: no previous prototype for 'arch_klp_init_func' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.