Hi Ze,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 4cbb736395eb31ff181c4488182276601992fa0b
commit: 0695e18bbaebbfbe22b049104bbb9a4300a9f30c [2439/2439] mm: Add PMU based memory sampling abstract layer
config: arm64-randconfig-004-20241117 (https://download.01.org/0day-ci/archive/20241117/202411171805.sOdLtjgt-lkp@…)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241117/202411171805.sOdLtjgt-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/202411171805.sOdLtjgt-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from include/linux/compiler_types.h:65,
from <command-line>:
drivers/arm/spe/spe.c: In function '__arm_spe_dev_probe':
>> include/linux/compiler_attributes.h:221:41: warning: attribute 'fallthrough' not preceding a case label or default label
221 | # define fallthrough __attribute__((__fallthrough__))
| ^~~~~~~~~~~~~
drivers/arm/spe/spe.c:492:17: note: in expansion of macro 'fallthrough'
492 | fallthrough;
| ^~~~~~~~~~~
>> include/linux/compiler_attributes.h:221:41: warning: attribute 'fallthrough' not preceding a case label or default label
221 | # define fallthrough __attribute__((__fallthrough__))
| ^~~~~~~~~~~~~
drivers/arm/spe/spe.c:514:17: note: in expansion of macro 'fallthrough'
514 | fallthrough;
| ^~~~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for ARM_SPE_MEM_SAMPLING
Depends on [n]: ARM64 [=y] && !ARM_SPE_PMU [=y]
Selected by [y]:
- MEM_SAMPLING [=y] && ARM64 [=y]
vim +/fallthrough +221 include/linux/compiler_attributes.h
294f69e662d157 Joe Perches 2019-10-05 209
294f69e662d157 Joe Perches 2019-10-05 210 /*
294f69e662d157 Joe Perches 2019-10-05 211 * Add the pseudo keyword 'fallthrough' so case statement blocks
294f69e662d157 Joe Perches 2019-10-05 212 * must end with any of these keywords:
294f69e662d157 Joe Perches 2019-10-05 213 * break;
294f69e662d157 Joe Perches 2019-10-05 214 * fallthrough;
294f69e662d157 Joe Perches 2019-10-05 215 * goto <label>;
294f69e662d157 Joe Perches 2019-10-05 216 * return [expression];
294f69e662d157 Joe Perches 2019-10-05 217 *
294f69e662d157 Joe Perches 2019-10-05 218 * gcc: https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html#Statement-Attr…
294f69e662d157 Joe Perches 2019-10-05 219 */
294f69e662d157 Joe Perches 2019-10-05 220 #if __has_attribute(__fallthrough__)
294f69e662d157 Joe Perches 2019-10-05 @221 # define fallthrough __attribute__((__fallthrough__))
294f69e662d157 Joe Perches 2019-10-05 222 #else
294f69e662d157 Joe Perches 2019-10-05 223 # define fallthrough do {} while (0) /* fallthrough */
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 224 #endif
a3f8a30f3f0079 Miguel Ojeda 2018-08-30 225
:::::: The code at line 221 was first introduced by commit
:::::: 294f69e662d1570703e9b56e95be37a9fd3afba5 compiler_attributes.h: Add 'fallthrough' pseudo keyword for switch/case use
:::::: TO: Joe Perches <joe(a)perches.com>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 7c547c6bbe6b6a9cedf63d7cdadb2529404df633
commit: b89997c5e3ffa58c43c4cb3547eb0c11b75d0634 [1474/1474] IMA support script execution check
config: x86_64-buildonly-randconfig-001-20241117 (https://download.01.org/0day-ci/archive/20241117/202411171510.9dZc68aH-lkp@…)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241117/202411171510.9dZc68aH-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/202411171510.9dZc68aH-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from security/security.c:14:
In file included from include/linux/bpf.h:21:
In file included from include/linux/kallsyms.h:13:
In file included from include/linux/mm.h:2247:
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
>> security/security.c:1071:9: error: call to undeclared function 'ima_bprm_creds_for_exec'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
1071 | return ima_bprm_creds_for_exec(bprm);
| ^
security/security.c:1071:9: note: did you mean 'security_bprm_creds_for_exec'?
security/security.c:1064:5: note: 'security_bprm_creds_for_exec' declared here
1064 | int security_bprm_creds_for_exec(struct linux_binprm *bprm)
| ^
1065 | {
1066 | int ret;
1067 |
1068 | ret = call_int_hook(bprm_creds_for_exec, 0, bprm);
1069 | if (ret)
1070 | return ret;
1071 | return ima_bprm_creds_for_exec(bprm);
| ~~~~~~~~~~~~~~~~~~~~~~~
| security_bprm_creds_for_exec
1 warning and 1 error generated.
vim +/ima_bprm_creds_for_exec +1071 security/security.c
1043
1044 /**
1045 * security_bprm_creds_for_exec() - Prepare the credentials for exec()
1046 * @bprm: binary program information
1047 *
1048 * If the setup in prepare_exec_creds did not setup @bprm->cred->security
1049 * properly for executing @bprm->file, update the LSM's portion of
1050 * @bprm->cred->security to be what commit_creds needs to install for the new
1051 * program. This hook may also optionally check permissions (e.g. for
1052 * transitions between security domains). The hook must set @bprm->secureexec
1053 * to 1 if AT_SECURE should be set to request libc enable secure mode. @bprm
1054 * contains the linux_binprm structure.
1055 *
1056 * If execveat(2) is called with the AT_CHECK flag, bprm->is_check is set. The
1057 * result must be the same as without this flag even if the execution will
1058 * never really happen and @bprm will always be dropped.
1059 *
1060 * This hook must not change current->cred, only @bprm->cred.
1061 *
1062 * Return: Returns 0 if the hook is successful and permission is granted.
1063 */
1064 int security_bprm_creds_for_exec(struct linux_binprm *bprm)
1065 {
1066 int ret;
1067
1068 ret = call_int_hook(bprm_creds_for_exec, 0, bprm);
1069 if (ret)
1070 return ret;
> 1071 return ima_bprm_creds_for_exec(bprm);
1072 }
1073
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Hi laokz,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 7c547c6bbe6b6a9cedf63d7cdadb2529404df633
commit: b8f3220637be1736c165c289c634f27841ac4e01 [1474/1474] livepatch: add arch hook before doing klp_resolve_symbols
config: arm64-randconfig-003-20241117 (https://download.01.org/0day-ci/archive/20241117/202411171312.1qX29CJl-lkp@…)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241117/202411171312.1qX29CJl-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/202411171312.1qX29CJl-lkp@intel.com/
All warnings (new ones prefixed by >>):
kernel/livepatch/core.c:97:12: warning: no previous prototype for function 'arch_klp_init_func' [-Wmissing-prototypes]
int __weak arch_klp_init_func(struct klp_object *obj, struct klp_func *func)
^
kernel/livepatch/core.c:97:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __weak arch_klp_init_func(struct klp_object *obj, struct klp_func *func)
^
static
>> kernel/livepatch/core.c:216:13: warning: no previous prototype for function 'arch_klp_skip_resolve' [-Wmissing-prototypes]
bool __weak arch_klp_skip_resolve(unsigned int type)
^
kernel/livepatch/core.c:216:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
bool __weak arch_klp_skip_resolve(unsigned int type)
^
static
kernel/livepatch/core.c:1767:12: warning: no previous prototype for function 'arch_klp_check_activeness_func' [-Wmissing-prototypes]
int __weak arch_klp_check_activeness_func(struct klp_func *func, int enable,
^
kernel/livepatch/core.c:1767:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __weak arch_klp_check_activeness_func(struct klp_func *func, int enable,
^
static
kernel/livepatch/core.c:2022:14: warning: no previous prototype for function 'arch_klp_mem_alloc' [-Wmissing-prototypes]
void __weak *arch_klp_mem_alloc(size_t size)
^
kernel/livepatch/core.c:2022:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak *arch_klp_mem_alloc(size_t size)
^
static
kernel/livepatch/core.c:2027:13: warning: no previous prototype for function 'arch_klp_mem_free' [-Wmissing-prototypes]
void __weak arch_klp_mem_free(void *mem)
^
kernel/livepatch/core.c:2027:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_mem_free(void *mem)
^
static
kernel/livepatch/core.c:2032:13: warning: no previous prototype for function 'arch_klp_code_modify_prepare' [-Wmissing-prototypes]
void __weak arch_klp_code_modify_prepare(void)
^
kernel/livepatch/core.c:2032:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_code_modify_prepare(void)
^
static
kernel/livepatch/core.c:2036:13: warning: no previous prototype for function 'arch_klp_code_modify_post_process' [-Wmissing-prototypes]
void __weak arch_klp_code_modify_post_process(void)
^
kernel/livepatch/core.c:2036:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_code_modify_post_process(void)
^
static
kernel/livepatch/core.c:2049:12: warning: no previous prototype for function 'arch_klp_check_breakpoint' [-Wmissing-prototypes]
int __weak arch_klp_check_breakpoint(struct arch_klp_data *arch_data, void *old_func)
^
kernel/livepatch/core.c:2049:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __weak arch_klp_check_breakpoint(struct arch_klp_data *arch_data, void *old_func)
^
static
kernel/livepatch/core.c:2063:13: warning: no previous prototype for function 'arch_klp_set_brk_func' [-Wmissing-prototypes]
void __weak arch_klp_set_brk_func(struct klp_func_node *func_node, void *new_func)
^
kernel/livepatch/core.c:2063:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_set_brk_func(struct klp_func_node *func_node, void *new_func)
^
static
9 warnings generated.
vim +/arch_klp_skip_resolve +216 kernel/livepatch/core.c
214
215 #ifdef CONFIG_LIVEPATCH_WO_FTRACE
> 216 bool __weak arch_klp_skip_resolve(unsigned int type)
217 {
218 return false;
219 }
220 #endif
221
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 7c547c6bbe6b6a9cedf63d7cdadb2529404df633
commit: eabc33c6f2c91168537f10e9275b0921c9f78c45 [1474/1474] livepatch/ppc64: Implement livepatch without ftrace for ppc64be
config: arm64-randconfig-003-20241117 (https://download.01.org/0day-ci/archive/20241117/202411171106.SNb1bUTk-lkp@…)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241117/202411171106.SNb1bUTk-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/202411171106.SNb1bUTk-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> kernel/livepatch/core.c:97:12: warning: no previous prototype for function 'arch_klp_init_func' [-Wmissing-prototypes]
int __weak arch_klp_init_func(struct klp_object *obj, struct klp_func *func)
^
kernel/livepatch/core.c:97:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __weak arch_klp_init_func(struct klp_object *obj, struct klp_func *func)
^
static
kernel/livepatch/core.c:1756:12: warning: no previous prototype for function 'arch_klp_check_activeness_func' [-Wmissing-prototypes]
int __weak arch_klp_check_activeness_func(struct klp_func *func, int enable,
^
kernel/livepatch/core.c:1756:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __weak arch_klp_check_activeness_func(struct klp_func *func, int enable,
^
static
kernel/livepatch/core.c:2011:14: warning: no previous prototype for function 'arch_klp_mem_alloc' [-Wmissing-prototypes]
void __weak *arch_klp_mem_alloc(size_t size)
^
kernel/livepatch/core.c:2011:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak *arch_klp_mem_alloc(size_t size)
^
static
kernel/livepatch/core.c:2016:13: warning: no previous prototype for function 'arch_klp_mem_free' [-Wmissing-prototypes]
void __weak arch_klp_mem_free(void *mem)
^
kernel/livepatch/core.c:2016:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_mem_free(void *mem)
^
static
kernel/livepatch/core.c:2021:13: warning: no previous prototype for function 'arch_klp_code_modify_prepare' [-Wmissing-prototypes]
void __weak arch_klp_code_modify_prepare(void)
^
kernel/livepatch/core.c:2021:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_code_modify_prepare(void)
^
static
kernel/livepatch/core.c:2025:13: warning: no previous prototype for function 'arch_klp_code_modify_post_process' [-Wmissing-prototypes]
void __weak arch_klp_code_modify_post_process(void)
^
kernel/livepatch/core.c:2025:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_code_modify_post_process(void)
^
static
kernel/livepatch/core.c:2038:12: warning: no previous prototype for function 'arch_klp_check_breakpoint' [-Wmissing-prototypes]
int __weak arch_klp_check_breakpoint(struct arch_klp_data *arch_data, void *old_func)
^
kernel/livepatch/core.c:2038:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __weak arch_klp_check_breakpoint(struct arch_klp_data *arch_data, void *old_func)
^
static
kernel/livepatch/core.c:2052:13: warning: no previous prototype for function 'arch_klp_set_brk_func' [-Wmissing-prototypes]
void __weak arch_klp_set_brk_func(struct klp_func_node *func_node, void *new_func)
^
kernel/livepatch/core.c:2052:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_set_brk_func(struct klp_func_node *func_node, void *new_func)
^
static
8 warnings generated.
vim +/arch_klp_init_func +97 kernel/livepatch/core.c
96
> 97 int __weak arch_klp_init_func(struct klp_object *obj, struct klp_func *func)
98 {
99 return 0;
100 }
101 #endif /* CONFIG_LIVEPATCH_FTRACE */
102
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Hi Binfeng,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 4cbb736395eb31ff181c4488182276601992fa0b
commit: 3bf501c87ffe1f045f86af89e8958fed62c02c94 [2439/2439] ascend agent smmu: an implementation of ARM SMMUv3 ATOS feature
config: arm64-randconfig-004-20241117 (https://download.01.org/0day-ci/archive/20241117/202411171149.AYnfA3ex-lkp@…)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241117/202411171149.AYnfA3ex-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/202411171149.AYnfA3ex-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c:71:20: warning: no previous prototype for 'agent_smmu_unlocked_find' [-Wmissing-prototypes]
71 | struct agent_smmu *agent_smmu_unlocked_find(u64 device_id)
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c: In function 'agent_smmu_platform_probe':
drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c:145:18: error: implicit declaration of function 'acpi_evaluate_integer'; did you mean 'acpi_evaluate_object'? [-Werror=implicit-function-declaration]
145 | status = acpi_evaluate_integer(ACPI_HANDLE(&pdev->dev), METHOD_NAME__UID,
| ^~~~~~~~~~~~~~~~~~~~~
| acpi_evaluate_object
drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c: At top level:
>> drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c:420:36: warning: 'agent_smmu_acpi_match' defined but not used [-Wunused-const-variable=]
420 | static const struct acpi_device_id agent_smmu_acpi_match[] = {
| ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/agent_smmu_unlocked_find +71 drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c
70
> 71 struct agent_smmu *agent_smmu_unlocked_find(u64 device_id)
72 {
73 struct agent_smmu *temp = NULL;
74
75 list_for_each_entry(temp, &agent_smmu_list, list) {
76 if (temp->device_id == device_id) {
77 return temp;
78 }
79 }
80 return NULL;
81 }
82
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 7c547c6bbe6b6a9cedf63d7cdadb2529404df633
commit: 470628a716984e1325b92bef4fa2140ff5a062a5 [1474/1474] livepatch: Use breakpoint exception to optimize enabling livepatch
config: arm64-randconfig-003-20241117 (https://download.01.org/0day-ci/archive/20241117/202411170907.1enJR1qQ-lkp@…)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241117/202411170907.1enJR1qQ-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/202411170907.1enJR1qQ-lkp@intel.com/
All warnings (new ones prefixed by >>):
kernel/livepatch/core.c:1728:12: warning: no previous prototype for function 'arch_klp_check_activeness_func' [-Wmissing-prototypes]
int __weak arch_klp_check_activeness_func(struct klp_func *func, int enable,
^
kernel/livepatch/core.c:1728:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __weak arch_klp_check_activeness_func(struct klp_func *func, int enable,
^
static
kernel/livepatch/core.c:1983:14: warning: no previous prototype for function 'arch_klp_mem_alloc' [-Wmissing-prototypes]
void __weak *arch_klp_mem_alloc(size_t size)
^
kernel/livepatch/core.c:1983:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak *arch_klp_mem_alloc(size_t size)
^
static
kernel/livepatch/core.c:1988:13: warning: no previous prototype for function 'arch_klp_mem_free' [-Wmissing-prototypes]
void __weak arch_klp_mem_free(void *mem)
^
kernel/livepatch/core.c:1988:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_mem_free(void *mem)
^
static
kernel/livepatch/core.c:1993:13: warning: no previous prototype for function 'arch_klp_code_modify_prepare' [-Wmissing-prototypes]
void __weak arch_klp_code_modify_prepare(void)
^
kernel/livepatch/core.c:1993:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_code_modify_prepare(void)
^
static
kernel/livepatch/core.c:1997:13: warning: no previous prototype for function 'arch_klp_code_modify_post_process' [-Wmissing-prototypes]
void __weak arch_klp_code_modify_post_process(void)
^
kernel/livepatch/core.c:1997:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_code_modify_post_process(void)
^
static
>> kernel/livepatch/core.c:2006:12: warning: no previous prototype for function 'arch_klp_check_breakpoint' [-Wmissing-prototypes]
int __weak arch_klp_check_breakpoint(struct arch_klp_data *arch_data, void *old_func)
^
kernel/livepatch/core.c:2006:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __weak arch_klp_check_breakpoint(struct arch_klp_data *arch_data, void *old_func)
^
static
kernel/livepatch/core.c:2011:12: warning: no previous prototype for function 'arch_klp_add_breakpoint' [-Wmissing-prototypes]
int __weak arch_klp_add_breakpoint(struct arch_klp_data *arch_data, void *old_func)
^
kernel/livepatch/core.c:2011:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __weak arch_klp_add_breakpoint(struct arch_klp_data *arch_data, void *old_func)
^
static
kernel/livepatch/core.c:2016:13: warning: no previous prototype for function 'arch_klp_remove_breakpoint' [-Wmissing-prototypes]
void __weak arch_klp_remove_breakpoint(struct arch_klp_data *arch_data, void *old_func)
^
kernel/livepatch/core.c:2016:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_remove_breakpoint(struct arch_klp_data *arch_data, void *old_func)
^
static
>> kernel/livepatch/core.c:2020:13: warning: no previous prototype for function 'arch_klp_set_brk_func' [-Wmissing-prototypes]
void __weak arch_klp_set_brk_func(struct klp_func_node *func_node, void *new_func)
^
kernel/livepatch/core.c:2020:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_klp_set_brk_func(struct klp_func_node *func_node, void *new_func)
^
static
9 warnings generated.
vim +/arch_klp_check_breakpoint +2006 kernel/livepatch/core.c
2005
> 2006 int __weak arch_klp_check_breakpoint(struct arch_klp_data *arch_data, void *old_func)
2007 {
2008 return 0;
2009 }
2010
2011 int __weak arch_klp_add_breakpoint(struct arch_klp_data *arch_data, void *old_func)
2012 {
2013 return -EOPNOTSUPP;
2014 }
2015
2016 void __weak arch_klp_remove_breakpoint(struct arch_klp_data *arch_data, void *old_func)
2017 {
2018 }
2019
> 2020 void __weak arch_klp_set_brk_func(struct klp_func_node *func_node, void *new_func)
2021 {
2022 func_node->brk_func = new_func;
2023 }
2024
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Hi Zheng,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 7c547c6bbe6b6a9cedf63d7cdadb2529404df633
commit: c8783f92771c891518257c9deb22cd91d4e1a212 [1474/1474] livepatch/core: Revert module_enable_ro and module_disable_ro
config: arm64-randconfig-003-20241117 (https://download.01.org/0day-ci/archive/20241117/202411170813.ebFeHSuu-lkp@…)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241117/202411170813.ebFeHSuu-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/202411170813.ebFeHSuu-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> kernel/module/strict_rwx.c:36:6: warning: no previous prototype for function 'module_disable_ro' [-Wmissing-prototypes]
void module_disable_ro(const struct module *mod)
^
kernel/module/strict_rwx.c:36:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void module_disable_ro(const struct module *mod)
^
static
1 warning generated.
vim +/module_disable_ro +36 kernel/module/strict_rwx.c
34
35 #ifdef CONFIG_LIVEPATCH_WO_FTRACE
> 36 void module_disable_ro(const struct module *mod)
37 {
38 if (!IS_ENABLED(CONFIG_STRICT_MODULE_RWX))
39 return;
40 #ifdef CONFIG_STRICT_MODULE_RWX
41 if (!rodata_enabled)
42 return;
43 #endif
44
45 module_set_memory(mod, MOD_TEXT, set_memory_rw);
46 module_set_memory(mod, MOD_INIT_TEXT, set_memory_rw);
47 module_set_memory(mod, MOD_RODATA, set_memory_rw);
48 module_set_memory(mod, MOD_INIT_RODATA, set_memory_rw);
49 }
50 #endif /* CONFIG_LIVEPATCH_WO_FTRACE */
51
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 7c547c6bbe6b6a9cedf63d7cdadb2529404df633
commit: b89997c5e3ffa58c43c4cb3547eb0c11b75d0634 [1474/1474] IMA support script execution check
config: arm64-randconfig-004-20241117 (https://download.01.org/0day-ci/archive/20241117/202411170859.cFlE6yaf-lkp@…)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241117/202411170859.cFlE6yaf-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/202411170859.cFlE6yaf-lkp@intel.com/
All errors (new ones prefixed by >>):
security/security.c: In function 'security_bprm_creds_for_exec':
>> security/security.c:1071:16: error: implicit declaration of function 'ima_bprm_creds_for_exec'; did you mean 'security_bprm_creds_for_exec'? [-Wimplicit-function-declaration]
1071 | return ima_bprm_creds_for_exec(bprm);
| ^~~~~~~~~~~~~~~~~~~~~~~
| security_bprm_creds_for_exec
vim +1071 security/security.c
1043
1044 /**
1045 * security_bprm_creds_for_exec() - Prepare the credentials for exec()
1046 * @bprm: binary program information
1047 *
1048 * If the setup in prepare_exec_creds did not setup @bprm->cred->security
1049 * properly for executing @bprm->file, update the LSM's portion of
1050 * @bprm->cred->security to be what commit_creds needs to install for the new
1051 * program. This hook may also optionally check permissions (e.g. for
1052 * transitions between security domains). The hook must set @bprm->secureexec
1053 * to 1 if AT_SECURE should be set to request libc enable secure mode. @bprm
1054 * contains the linux_binprm structure.
1055 *
1056 * If execveat(2) is called with the AT_CHECK flag, bprm->is_check is set. The
1057 * result must be the same as without this flag even if the execution will
1058 * never really happen and @bprm will always be dropped.
1059 *
1060 * This hook must not change current->cred, only @bprm->cred.
1061 *
1062 * Return: Returns 0 if the hook is successful and permission is granted.
1063 */
1064 int security_bprm_creds_for_exec(struct linux_binprm *bprm)
1065 {
1066 int ret;
1067
1068 ret = call_int_hook(bprm_creds_for_exec, 0, bprm);
1069 if (ret)
1070 return ret;
> 1071 return ima_bprm_creds_for_exec(bprm);
1072 }
1073
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki