git: 005aa1743b42 - main - modules: bzero the modspecific_t

From: Ka Ho Ng <khng_at_FreeBSD.org>
Date: Sat, 01 Jul 2023 22:59:22 UTC
The branch main has been updated by khng:

URL: https://cgit.FreeBSD.org/src/commit/?id=005aa1743b42b52fbd49b9d5ec44816902b6ee9f

commit 005aa1743b42b52fbd49b9d5ec44816902b6ee9f
Author:     Ka Ho Ng <khng@FreeBSD.org>
AuthorDate: 2023-07-01 19:41:53 +0000
Commit:     Ka Ho Ng <khng@FreeBSD.org>
CommitDate: 2023-07-01 22:58:46 +0000

    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 234e51cfd280..0b51edf5e985 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,