From 005aa1743b42b52fbd49b9d5ec44816902b6ee9f Mon Sep 17 00:00:00 2001 From: Ka Ho Ng Date: Sat, 1 Jul 2023 15:41:53 -0400 Subject: [PATCH] modules: bzero the modspecific_t Per https://reviews.llvm.org/D68115, only the first field is zero-initialized, meanwhile other fields are undef. The pattern can be observed on clang as well, that when -ftrivial-auto-var-init=pattern is specified 0xaa is filled for non-active fields, otherwise they are zero-initialized. Technically both are acceptable when using clang. However it would be good to simply bzero the modspecific_t in such case to be strict to the standard. MFC with: 2cab2d43b83b MFC after: 1 day Sponsored by: Juniper Networks, Inc. Reviewed by: delphij Differential Revision: https://reviews.freebsd.org/D40830 --- sys/kern/kern_syscalls.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_syscalls.c b/sys/kern/kern_syscalls.c index 234e51cfd28..0b51edf5e98 100644 --- a/sys/kern/kern_syscalls.c +++ b/sys/kern/kern_syscalls.c @@ -173,9 +173,10 @@ kern_syscall_module_handler(struct sysent *sysents, struct module *mod, int what, void *arg) { struct syscall_module_data *data = arg; - modspecific_t ms = { 0 }; + modspecific_t ms; int error; + bzero(&ms, sizeof(ms)); switch (what) { case MOD_LOAD: error = kern_syscall_register(sysents, data->offset,