Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-8]: src/sys/compat Pull up following revision(s) (requested by ri...



details:   https://anonhg.NetBSD.org/src/rev/126a0c825591
branches:  netbsd-8
changeset: 376550:126a0c825591
user:      martin <martin%NetBSD.org@localhost>
date:      Wed Jun 21 21:04:01 2023 +0000

description:
Pull up following revision(s) (requested by riastradh in ticket #1836):

        sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168
        sys/compat/sunos/sunos_misc.c: revision 1.177
        sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52
        sys/compat/common/kern_resource_43.c: revision 1.23
        sys/compat/netbsd32/netbsd32_conv.h: revision 1.46
        sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35
        sys/compat/common/vfs_syscalls_12.c: revision 1.38
        sys/compat/ultrix/ultrix_misc.c: revision 1.126
        sys/compat/common/kern_sig_43.c: revision 1.37
        sys/compat/linux/common/linux_mtio.c: revision 1.8
        sys/compat/freebsd/freebsd_misc.c: revision 1.34
        sys/compat/linux/common/linux_olduname.c: revision 1.67
        sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44
        sys/compat/freebsd/freebsd_sched.c: revision 1.23
        sys/compat/ossaudio/ossaudio.c: revision 1.84
        sys/compat/sys/time_types.h: revision 1.6
        sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51
        sys/compat/linux/common/linux_file.c: revision 1.119
        sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34
        sys/compat/netbsd32/netbsd32_wait.c: revision 1.25
        sys/compat/linux32/common/linux32_time.c: revision 1.38
        sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33
        sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52
        sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46
        sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36
        sys/compat/ultrix/ultrix_ioctl.c: revision 1.39
        sys/compat/linux/common/linux_misc.c: revision 1.252
        sys/compat/linux/common/linux_hdio.c: revision 1.19
        sys/compat/sunos/sunos_ioctl.c: revision 1.71
        sys/compat/linux/common/linux_sched.c: revision 1.79
        sys/compat/common/kern_info_43.c: revision 1.40
        sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20
        sys/compat/linux/common/linux_socket.c: revision 1.153
        sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60
        sys/compat/common/vfs_syscalls_43.c: revision 1.68
        sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25
        sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9
        sys/compat/common/kern_time_50.c: revision 1.37
        sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42
        sys/compat/linux/common/linux_cdrom.c: revision 1.28
        sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43
        sys/compat/common/kern_info_09.c: revision 1.22
        sys/compat/linux32/common/linux32_resource.c: revision 1.12
        sys/compat/linux/common/linux_oldolduname.c: revision 1.67
        sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8
        sys/compat/linux32/common/linux32_signal.c: revision 1.21
        sys/compat/common/kern_sig_13.c: revision 1.22
        sys/compat/sunos32/sunos32_ioctl.c: revision 1.36
        sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62
        sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23
        sys/compat/netbsd32/netbsd32_time.c: revision 1.56
        sys/compat/linux/common/linux_signal.c: revision 1.84
        sys/compat/netbsd32/netbsd32_signal.c: revision 1.52
        sys/compat/sunos32/sunos32_misc.c: revision 1.85
        sys/compat/linux/common/linux_time.c: revision 1.40
        sys/compat/linux/common/linux_fdio.c: revision 1.14
        sys/compat/common/vfs_syscalls_30.c: revision 1.43

sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure.  If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.

diffstat:

 sys/compat/common/kern_info_09.c                   |   5 +-
 sys/compat/common/kern_info_43.c                   |   6 +-
 sys/compat/common/kern_resource_43.c               |   5 +-
 sys/compat/common/kern_sig_13.c                    |   7 ++-
 sys/compat/common/kern_sig_43.c                    |  10 +++-
 sys/compat/common/kern_time_50.c                   |   6 +-
 sys/compat/common/vfs_syscalls_12.c                |   6 +-
 sys/compat/common/vfs_syscalls_30.c                |   6 +-
 sys/compat/common/vfs_syscalls_43.c                |   5 +-
 sys/compat/freebsd/freebsd_misc.c                  |   5 +-
 sys/compat/freebsd/freebsd_sched.c                 |   5 +-
 sys/compat/linux/arch/alpha/linux_machdep.c        |   8 ++-
 sys/compat/linux/arch/amd64/linux_machdep.c        |   5 +-
 sys/compat/linux/arch/arm/linux_machdep.c          |   6 +-
 sys/compat/linux/arch/arm/linux_ptrace.c           |   5 +-
 sys/compat/linux/arch/i386/linux_machdep.c         |  11 ++++-
 sys/compat/linux/arch/i386/linux_ptrace.c          |   5 +-
 sys/compat/linux/arch/m68k/linux_machdep.c         |   8 ++-
 sys/compat/linux/arch/mips/linux_machdep.c         |   5 +-
 sys/compat/linux/arch/powerpc/linux_exec_powerpc.c |   6 +-
 sys/compat/linux/arch/powerpc/linux_machdep.c      |   5 +-
 sys/compat/linux/arch/powerpc/linux_ptrace.c       |   7 +-
 sys/compat/linux/common/linux_cdrom.c              |   6 +-
 sys/compat/linux/common/linux_fdio.c               |   5 +-
 sys/compat/linux/common/linux_file.c               |   5 +-
 sys/compat/linux/common/linux_hdio.c               |   6 +-
 sys/compat/linux/common/linux_misc.c               |   7 ++-
 sys/compat/linux/common/linux_mtio.c               |   5 +-
 sys/compat/linux/common/linux_oldolduname.c        |   6 +-
 sys/compat/linux/common/linux_olduname.c           |   6 +-
 sys/compat/linux/common/linux_sched.c              |   6 +-
 sys/compat/linux/common/linux_signal.c             |  12 ++++-
 sys/compat/linux/common/linux_socket.c             |   7 ++-
 sys/compat/linux/common/linux_time.c               |   6 +-
 sys/compat/linux32/arch/amd64/linux32_machdep.c    |   6 +-
 sys/compat/linux32/common/linux32_exec_elf32.c     |   6 +-
 sys/compat/linux32/common/linux32_resource.c       |   5 +-
 sys/compat/linux32/common/linux32_signal.c         |   6 +-
 sys/compat/linux32/common/linux32_time.c           |  10 +++-
 sys/compat/netbsd32/netbsd32_compat_12.c           |   5 +-
 sys/compat/netbsd32/netbsd32_compat_20.c           |   6 +-
 sys/compat/netbsd32/netbsd32_compat_43.c           |   6 +-
 sys/compat/netbsd32/netbsd32_compat_50.c           |  10 +++-
 sys/compat/netbsd32/netbsd32_conv.h                |  47 +++++++++++++++++++++-
 sys/compat/netbsd32/netbsd32_nfssvc.c              |   5 +-
 sys/compat/netbsd32/netbsd32_ptrace.c              |   6 +-
 sys/compat/netbsd32/netbsd32_signal.c              |   7 ++-
 sys/compat/netbsd32/netbsd32_time.c                |   8 ++-
 sys/compat/netbsd32/netbsd32_wait.c                |   5 +-
 sys/compat/ossaudio/ossaudio.c                     |   8 ++-
 sys/compat/sunos/sunos_ioctl.c                     |  20 ++++++++-
 sys/compat/sunos/sunos_misc.c                      |   7 ++-
 sys/compat/sunos32/sunos32_ioctl.c                 |  21 ++++++++-
 sys/compat/sunos32/sunos32_misc.c                  |   8 ++-
 sys/compat/sys/time_types.h                        |  40 +++++++++++-------
 sys/compat/ultrix/ultrix_ioctl.c                   |  13 +++++-
 sys/compat/ultrix/ultrix_misc.c                    |   9 +++-
 57 files changed, 350 insertions(+), 128 deletions(-)

diffs (truncated from 2420 to 300 lines):

diff -r 5beb8c7bd6ba -r 126a0c825591 sys/compat/common/kern_info_09.c
--- a/sys/compat/common/kern_info_09.c  Wed Jun 21 20:48:06 2023 +0000
+++ b/sys/compat/common/kern_info_09.c  Wed Jun 21 21:04:01 2023 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_info_09.c,v 1.20 2007/12/20 23:02:44 dsl Exp $    */
+/*     $NetBSD: kern_info_09.c,v 1.20.90.1 2023/06/21 21:04:01 martin Exp $    */
 
 /*
  * Copyright (c) 1982, 1986, 1991, 1993
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_info_09.c,v 1.20 2007/12/20 23:02:44 dsl Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_info_09.c,v 1.20.90.1 2023/06/21 21:04:01 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -100,6 +100,7 @@ compat_09_sys_uname(struct lwp *l, const
        const char *cp;
        char *dp, *ep;
 
+       memset(&outsname, 0, sizeof(outsname));
        strncpy(outsname.sysname, ostype, sizeof(outsname.sysname));
        strncpy(outsname.nodename, hostname, sizeof(outsname.nodename));
        strncpy(outsname.release, osrelease, sizeof(outsname.release));
diff -r 5beb8c7bd6ba -r 126a0c825591 sys/compat/common/kern_info_43.c
--- a/sys/compat/common/kern_info_43.c  Wed Jun 21 20:48:06 2023 +0000
+++ b/sys/compat/common/kern_info_43.c  Wed Jun 21 21:04:01 2023 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_info_43.c,v 1.35 2014/03/24 20:08:08 christos Exp $       */
+/*     $NetBSD: kern_info_43.c,v 1.35.22.1 2023/06/21 21:04:01 martin Exp $    */
 
 /*
  * Copyright (c) 1982, 1986, 1991, 1993
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_info_43.c,v 1.35 2014/03/24 20:08:08 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_info_43.c,v 1.35.22.1 2023/06/21 21:04:01 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -233,6 +233,8 @@ compat_43_sys_getkerninfo(struct lwp *l,
                                break;
                        }
 
+                       memset(&ksi, 0, sizeof(ksi));
+
 #define COPY(fld)                                                      \
                        ksi.fld = us - (u_long) usi;                    \
                        if ((error = copyoutstr(fld, us, 1024, &len)) != 0)\
diff -r 5beb8c7bd6ba -r 126a0c825591 sys/compat/common/kern_resource_43.c
--- a/sys/compat/common/kern_resource_43.c      Wed Jun 21 20:48:06 2023 +0000
+++ b/sys/compat/common/kern_resource_43.c      Wed Jun 21 21:04:01 2023 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_resource_43.c,v 1.21 2007/12/20 23:02:44 dsl Exp $        */
+/*     $NetBSD: kern_resource_43.c,v 1.21.90.1 2023/06/21 21:04:01 martin Exp $        */
 
 /*-
  * Copyright (c) 1982, 1986, 1991, 1993
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_resource_43.c,v 1.21 2007/12/20 23:02:44 dsl Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_resource_43.c,v 1.21.90.1 2023/06/21 21:04:01 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -63,6 +63,7 @@ compat_43_sys_getrlimit(struct lwp *l, c
 
        if ((u_int)which >= RLIM_NLIMITS)
                return (EINVAL);
+       memset(&olim, 0, sizeof(olim));
        olim.rlim_cur = p->p_rlimit[which].rlim_cur;
        if (olim.rlim_cur == -1)
                olim.rlim_cur = 0x7fffffff;
diff -r 5beb8c7bd6ba -r 126a0c825591 sys/compat/common/kern_sig_13.c
--- a/sys/compat/common/kern_sig_13.c   Wed Jun 21 20:48:06 2023 +0000
+++ b/sys/compat/common/kern_sig_13.c   Wed Jun 21 21:04:01 2023 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_sig_13.c,v 1.20 2011/01/19 10:21:16 tsutsui Exp $ */
+/*     $NetBSD: kern_sig_13.c,v 1.20.50.1 2023/06/21 21:04:01 martin Exp $     */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_sig_13.c,v 1.20 2011/01/19 10:21:16 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_sig_13.c,v 1.20.50.1 2023/06/21 21:04:01 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -51,6 +51,7 @@ void
 native_sigset13_to_sigset(const sigset13_t *oss, sigset_t *ss)
 {
 
+       memset(ss, 0, sizeof(*ss));
        ss->__bits[0] = *oss;
        ss->__bits[1] = 0;
        ss->__bits[2] = 0;
@@ -68,6 +69,7 @@ void
 native_sigaction13_to_sigaction(const struct sigaction13 *osa, struct sigaction *sa)
 {
 
+       memset(sa, 0, sizeof(*sa));
        sa->sa_handler = osa->osa_handler;
        native_sigset13_to_sigset(&osa->osa_mask, &sa->sa_mask);
        sa->sa_flags = osa->osa_flags;
@@ -77,6 +79,7 @@ void
 native_sigaction_to_sigaction13(const struct sigaction *sa, struct sigaction13 *osa)
 {
 
+       memset(osa, 0, sizeof(*osa));
        osa->osa_handler = sa->sa_handler;
        native_sigset_to_sigset13(&sa->sa_mask, &osa->osa_mask);
        osa->osa_flags = sa->sa_flags;
diff -r 5beb8c7bd6ba -r 126a0c825591 sys/compat/common/kern_sig_43.c
--- a/sys/compat/common/kern_sig_43.c   Wed Jun 21 20:48:06 2023 +0000
+++ b/sys/compat/common/kern_sig_43.c   Wed Jun 21 21:04:01 2023 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_sig_43.c,v 1.34.50.1 2020/01/21 18:12:53 martin Exp $     */
+/*     $NetBSD: kern_sig_43.c,v 1.34.50.2 2023/06/21 21:04:01 martin Exp $     */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_sig_43.c,v 1.34.50.1 2020/01/21 18:12:53 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_sig_43.c,v 1.34.50.2 2023/06/21 21:04:01 martin Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -73,6 +73,7 @@ void
 compat_43_sigmask_to_sigset(const int *sm, sigset_t *ss)
 {
 
+       memset(ss, 0, sizeof(*ss));
        ss->__bits[0] = *sm;
        ss->__bits[1] = 0;
        ss->__bits[2] = 0;
@@ -89,6 +90,8 @@ compat_43_sigset_to_sigmask(const sigset
 void
 compat_43_sigvec_to_sigaction(const struct sigvec *sv, struct sigaction *sa)
 {
+
+       memset(sa, 0, sizeof(*sa));
        sa->sa_handler = sv->sv_handler;
        compat_43_sigmask_to_sigset(&sv->sv_mask, &sa->sa_mask);
        sa->sa_flags = sv->sv_flags ^ SA_RESTART;
@@ -97,6 +100,8 @@ compat_43_sigvec_to_sigaction(const stru
 void
 compat_43_sigaction_to_sigvec(const struct sigaction *sa, struct sigvec *sv)
 {
+
+       memset(sv, 0, sizeof(*sv));
        sv->sv_handler = sa->sa_handler;
        compat_43_sigset_to_sigmask(&sa->sa_mask, &sv->sv_mask);
        sv->sv_flags = sa->sa_flags ^ SA_RESTART;
@@ -105,6 +110,7 @@ compat_43_sigaction_to_sigvec(const stru
 void
 compat_43_sigstack_to_sigaltstack(const struct sigstack *ss, struct sigaltstack *sa)
 {
+       memset(sa, 0, sizeof(*sa));
        sa->ss_sp = ss->ss_sp;
        sa->ss_size = SIGSTKSZ; /* Use the recommended size */
        sa->ss_flags = 0;
diff -r 5beb8c7bd6ba -r 126a0c825591 sys/compat/common/kern_time_50.c
--- a/sys/compat/common/kern_time_50.c  Wed Jun 21 20:48:06 2023 +0000
+++ b/sys/compat/common/kern_time_50.c  Wed Jun 21 21:04:01 2023 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_time_50.c,v 1.31 2016/03/11 18:32:29 christos Exp $       */
+/*     $NetBSD: kern_time_50.c,v 1.31.10.1 2023/06/21 21:04:01 martin Exp $    */
 
 /*-
  * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_time_50.c,v 1.31 2016/03/11 18:32:29 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_time_50.c,v 1.31.10.1 2023/06/21 21:04:01 martin Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_aio.h"
@@ -191,6 +191,7 @@ compat_50_sys_gettimeofday(struct lwp *l
                 * NetBSD has no kernel notion of time zone, so we just
                 * fake up a timezone struct and return it if demanded.
                 */
+               memset(&tzfake, 0, sizeof(tzfake));
                tzfake.tz_minuteswest = 0;
                tzfake.tz_dsttime = 0;
                error = copyout(&tzfake, SCARG(uap, tzp), sizeof(tzfake));
@@ -425,6 +426,7 @@ compat_50_sys_mq_timedreceive(struct lwp
 void
 rusage_to_rusage50(const struct rusage *ru, struct rusage50 *ru50)
 {
+       memset(ru50, 0, sizeof(*ru50));
        (void)memcpy(&ru50->ru_first, &ru->ru_first,
            (char *)&ru50->ru_last - (char *)&ru50->ru_first +
            sizeof(ru50->ru_last));
diff -r 5beb8c7bd6ba -r 126a0c825591 sys/compat/common/vfs_syscalls_12.c
--- a/sys/compat/common/vfs_syscalls_12.c       Wed Jun 21 20:48:06 2023 +0000
+++ b/sys/compat/common/vfs_syscalls_12.c       Wed Jun 21 21:04:01 2023 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vfs_syscalls_12.c,v 1.33.8.2 2017/12/10 09:36:36 snj Exp $     */
+/*     $NetBSD: vfs_syscalls_12.c,v 1.33.8.3 2023/06/21 21:04:01 martin Exp $  */
 
 /*
  * Copyright (c) 1989, 1993
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls_12.c,v 1.33.8.2 2017/12/10 09:36:36 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls_12.c,v 1.33.8.3 2023/06/21 21:04:01 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -65,6 +65,7 @@ void
 compat_12_stat_conv(const struct stat *st, struct stat12 *ost)
 {
 
+       memset(ost, 0, sizeof(*ost));
        ost->st_dev = st->st_dev;
        ost->st_ino = st->st_ino;
        ost->st_mode = st->st_mode & 0xffff;
@@ -183,6 +184,7 @@ again:
                                off += reclen;
                        continue;
                }
+               memset(&idb, 0, sizeof(idb));
                if (bdp->d_namlen >= sizeof(idb.d_name))
                        idb.d_namlen = sizeof(idb.d_name) - 1;
                else
diff -r 5beb8c7bd6ba -r 126a0c825591 sys/compat/common/vfs_syscalls_30.c
--- a/sys/compat/common/vfs_syscalls_30.c       Wed Jun 21 20:48:06 2023 +0000
+++ b/sys/compat/common/vfs_syscalls_30.c       Wed Jun 21 21:04:01 2023 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vfs_syscalls_30.c,v 1.36.12.1 2021/08/15 10:03:46 martin Exp $ */
+/*     $NetBSD: vfs_syscalls_30.c,v 1.36.12.2 2023/06/21 21:04:01 martin Exp $ */
 
 /*-
  * Copyright (c) 2005, 2008 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls_30.c,v 1.36.12.1 2021/08/15 10:03:46 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls_30.c,v 1.36.12.2 2023/06/21 21:04:01 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -252,6 +252,7 @@ again:
                        error = EINVAL;
                        goto out;
                }
+               memset(&idb, 0, sizeof(idb));
                if (bdp->d_namlen >= sizeof(idb.d_name))
                        idb.d_namlen = sizeof(idb.d_name) - 1;
                else
@@ -341,6 +342,7 @@ compat_30_sys_getfh(struct lwp *l, const
        sz = sizeof(struct compat_30_fhandle);
        error = vfs_composefh(vp, (void *)&fh, &sz);
        vput(vp);
+       CTASSERT(FHANDLE_SIZE_COMPAT == sizeof(struct compat_30_fhandle));
        if (sz != FHANDLE_SIZE_COMPAT) {
                error = EINVAL;
        }
diff -r 5beb8c7bd6ba -r 126a0c825591 sys/compat/common/vfs_syscalls_43.c
--- a/sys/compat/common/vfs_syscalls_43.c       Wed Jun 21 20:48:06 2023 +0000
+++ b/sys/compat/common/vfs_syscalls_43.c       Wed Jun 21 21:04:01 2023 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vfs_syscalls_43.c,v 1.59.8.3 2021/08/15 10:03:46 martin Exp $  */
+/*     $NetBSD: vfs_syscalls_43.c,v 1.59.8.4 2023/06/21 21:04:01 martin Exp $  */
 
 /*
  * Copyright (c) 1989, 1993
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls_43.c,v 1.59.8.3 2021/08/15 10:03:46 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls_43.c,v 1.59.8.4 2023/06/21 21:04:01 martin Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -456,6 +456,7 @@ again:
                                off += reclen;
                        continue;
                }
+               memset(&idb, 0, sizeof(idb));
                if (bdp->d_namlen >= sizeof(idb.d_name))
                        idb.d_namlen = sizeof(idb.d_name) - 1;



Home | Main Index | Thread Index | Old Index