From: "GONG, Ruiqi" <gongruiqi1(a)huawei.com>
Offering: HULK
hulk inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I4MYYH
----------------------------------------
Commit 328e64817efe ("kabi: reserve space for cred and user_namespace"),
besides reserving space for struct cred and struct user_namespace, adds
new members to enum ucount_type and struct ctl_table user_table[] as
well. Use CONFIG_KABI_RESERVE to control them.
Signed-off-by: GONG, Ruiqi <gongruiqi1(a)huawei.com>
---
include/linux/user_namespace.h | 2 ++
kernel/ucount.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
index f79abb16a874..6bdd18062ee0 100644
--- a/include/linux/user_namespace.h
+++ b/include/linux/user_namespace.h
@@ -51,6 +51,7 @@ enum ucount_type {
UCOUNT_INOTIFY_INSTANCES,
UCOUNT_INOTIFY_WATCHES,
#endif
+#ifdef CONFIG_KABI_RESERVE
/* These 15 members are reserved (with extra margin) for the future
* enlargement of enum ucount_type, as how RH8.1 did it. This number
* should be enough, as 6 of them are very likely to be used in the near
@@ -71,6 +72,7 @@ enum ucount_type {
UCOUNT_KABI_RESERVE13,
UCOUNT_KABI_RESERVE14,
UCOUNT_KABI_RESERVE15,
+#endif
UCOUNT_COUNTS,
};
diff --git a/kernel/ucount.c b/kernel/ucount.c
index 1f5825b674d8..093b2fa76385 100644
--- a/kernel/ucount.c
+++ b/kernel/ucount.c
@@ -77,6 +77,7 @@ static struct ctl_table user_table[] = {
UCOUNT_ENTRY("max_inotify_instances"),
UCOUNT_ENTRY("max_inotify_watches"),
#endif
+#ifdef CONFIG_KABI_RESERVE
/* These corresponds to the reservation in enum ucount_type */
{ }, // UCOUNT_KABI_RESERVE1
{ }, // UCOUNT_KABI_RESERVE2
@@ -93,6 +94,7 @@ static struct ctl_table user_table[] = {
{ }, // UCOUNT_KABI_RESERVE13
{ }, // UCOUNT_KABI_RESERVE14
{ }, // UCOUNT_KABI_RESERVE15
+#endif
{ }
};
#endif /* CONFIG_SYSCTL */
--
2.25.1
Hi fangbaoshun,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 86591467ffc7fadfd84e3f8769e8ba303cf7d2de
commit: 1c3b1095a26ed8bc1aa7ac3d4e8dd3e65964a74b [10553/15325] KVM: SVM: Add KVM_CSV_COMMAND_BATCH command for applying CSV RING_BUFFER mode
config: x86_64-randconfig-003-20241026 (https://download.01.org/0day-ci/archive/20241026/202410261641.KwxLXwTB-lkp@…)
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/20241026/202410261641.KwxLXwTB-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/202410261641.KwxLXwTB-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/x86/kvm/svm/sev.c:2198:6: warning: no previous prototype for 'sev_install_hooks' [-Wmissing-prototypes]
2198 | void sev_install_hooks(void)
| ^~~~~~~~~~~~~~~~~
arch/x86/kvm/svm/sev.c: In function 'sev_install_hooks':
>> arch/x86/kvm/svm/sev.c:2200:24: error: 'struct hygon_kvm_hooks_table' has no member named 'false'
2200 | hygon_kvm_hooks.sev_enabled = &sev_enabled;
| ^
>> arch/x86/kvm/svm/sev.c:2200:39: error: lvalue required as unary '&' operand
2200 | hygon_kvm_hooks.sev_enabled = &sev_enabled;
| ^
vim +2200 arch/x86/kvm/svm/sev.c
2195
2196 #ifdef CONFIG_HYGON_CSV
2197 /* Code to set all of the function and vaiable pointers */
> 2198 void sev_install_hooks(void)
2199 {
> 2200 hygon_kvm_hooks.sev_enabled = &sev_enabled;
2201 hygon_kvm_hooks.sev_issue_cmd = sev_issue_cmd;
2202 hygon_kvm_hooks.get_num_contig_pages = get_num_contig_pages;
2203 hygon_kvm_hooks.sev_pin_memory = sev_pin_memory;
2204 hygon_kvm_hooks.sev_unpin_memory = sev_unpin_memory;
2205
2206 hygon_kvm_hooks.sev_hooks_installed = true;
2207 }
2208 #endif
2209
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki