Source-Changes-HG archive

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

[src/netbsd-9]: src/sys/compat Pull up following revision(s), all via patch



details:   https://anonhg.NetBSD.org/src/rev/e01ea41d9429
branches:  netbsd-9
changeset: 368771:e01ea41d9429
user:      martin <martin%NetBSD.org@localhost>
date:      Wed Aug 03 11:11:31 2022 +0000

description:
Pull up following revision(s), all via patch
(requested by riastradh in ticket #1487):

        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/freebsd/freebsd_machdep.c: revision 1.5
        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/common/ieee80211_20.c: revision 1.7
        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/common/if_media_80.c: revision 1.4
        sys/compat/linux/arch/alpha/linux_osf1.c: revision 1.5
        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/ieee80211_20.c                   |   7 +-
 sys/compat/common/if_media_80.c                    |   5 +-
 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_machdep.c               |   6 +-
 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/alpha/linux_osf1.c           |   9 ++-
 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                |  60 ++++++++++++++++++++-
 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                        |  43 +++++++++------
 sys/compat/ultrix/ultrix_ioctl.c                   |  13 ++++-
 sys/compat/ultrix/ultrix_misc.c                    |   9 ++-
 61 files changed, 377 insertions(+), 144 deletions(-)

diffs (truncated from 2572 to 300 lines):

diff -r 7bf36f519ecc -r e01ea41d9429 sys/compat/common/ieee80211_20.c
--- a/sys/compat/common/ieee80211_20.c  Wed Aug 03 11:05:51 2022 +0000
+++ b/sys/compat/common/ieee80211_20.c  Wed Aug 03 11:11:31 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ieee80211_20.c,v 1.5 2019/03/01 11:06:56 pgoyette Exp $        */
+/*     $NetBSD: ieee80211_20.c,v 1.5.6.1 2022/08/03 11:11:31 martin Exp $      */
 /*-
  * Copyright (c) 2001 Atsushi Onoe
  * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting
@@ -36,7 +36,7 @@
 __FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.35 2005/08/30 14:27:47 avatar Exp $");
 #endif
 #ifdef __NetBSD__
-__KERNEL_RCSID(0, "$NetBSD: ieee80211_20.c,v 1.5 2019/03/01 11:06:56 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ieee80211_20.c,v 1.5.6.1 2022/08/03 11:11:31 martin Exp $");
 #endif
 
 /*
@@ -76,6 +76,9 @@
 ieee80211_get_ostats(struct ieee80211_ostats *ostats,
     struct ieee80211_stats *stats)
 {
+
+       memset(ostats, 0, sizeof(*ostats));
+
 #define        COPYSTATS1(__ostats, __nstats, __dstmemb, __srcmemb, __lastmemb)\
        (void)memcpy(&(__ostats)->__dstmemb, &(__nstats)->__srcmemb,    \
            offsetof(struct ieee80211_stats, __lastmemb) -              \
diff -r 7bf36f519ecc -r e01ea41d9429 sys/compat/common/if_media_80.c
--- a/sys/compat/common/if_media_80.c   Wed Aug 03 11:05:51 2022 +0000
+++ b/sys/compat/common/if_media_80.c   Wed Aug 03 11:11:31 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_media_80.c,v 1.1 2019/05/17 07:37:11 msaitoh Exp $  */
+/*     $NetBSD: if_media_80.c,v 1.1.4.1 2022/08/03 11:11:31 martin Exp $       */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -141,7 +141,8 @@
                 * there is no problem to trust ifm_count.
                 */
                minwords = ifmr->ifm_count;
-               kptr = malloc(minwords * sizeof(*kptr), M_TEMP, M_WAITOK);
+               kptr = malloc(minwords * sizeof(*kptr), M_TEMP,
+                   M_WAITOK|M_ZERO);
                if (kptr == NULL)
                        return ENOMEM;
 
diff -r 7bf36f519ecc -r e01ea41d9429 sys/compat/common/kern_info_09.c
--- a/sys/compat/common/kern_info_09.c  Wed Aug 03 11:05:51 2022 +0000
+++ b/sys/compat/common/kern_info_09.c  Wed Aug 03 11:11:31 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_info_09.c,v 1.21 2019/01/27 02:08:39 pgoyette Exp $       */
+/*     $NetBSD: kern_info_09.c,v 1.21.4.1 2022/08/03 11:11:31 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.21 2019/01/27 02:08:39 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_info_09.c,v 1.21.4.1 2022/08/03 11:11:31 martin Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -120,6 +120,7 @@
        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 7bf36f519ecc -r e01ea41d9429 sys/compat/common/kern_info_43.c
--- a/sys/compat/common/kern_info_43.c  Wed Aug 03 11:05:51 2022 +0000
+++ b/sys/compat/common/kern_info_43.c  Wed Aug 03 11:11:31 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_info_43.c,v 1.37 2019/01/27 02:08:39 pgoyette Exp $       */
+/*     $NetBSD: kern_info_43.c,v 1.37.4.1 2022/08/03 11:11:31 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.37 2019/01/27 02:08:39 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_info_43.c,v 1.37.4.1 2022/08/03 11:11:31 martin Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -255,6 +255,8 @@
                                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 7bf36f519ecc -r e01ea41d9429 sys/compat/common/kern_resource_43.c
--- a/sys/compat/common/kern_resource_43.c      Wed Aug 03 11:05:51 2022 +0000
+++ b/sys/compat/common/kern_resource_43.c      Wed Aug 03 11:11:31 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_resource_43.c,v 1.22 2019/01/27 02:08:39 pgoyette Exp $   */
+/*     $NetBSD: kern_resource_43.c,v 1.22.4.1 2022/08/03 11:11:31 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.22 2019/01/27 02:08:39 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_resource_43.c,v 1.22.4.1 2022/08/03 11:11:31 martin Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -77,6 +77,7 @@
 
        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 7bf36f519ecc -r e01ea41d9429 sys/compat/common/kern_sig_13.c
--- a/sys/compat/common/kern_sig_13.c   Wed Aug 03 11:05:51 2022 +0000
+++ b/sys/compat/common/kern_sig_13.c   Wed Aug 03 11:11:31 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_sig_13.c,v 1.21 2019/01/27 02:08:39 pgoyette Exp $        */
+/*     $NetBSD: kern_sig_13.c,v 1.21.4.1 2022/08/03 11:11:31 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.21 2019/01/27 02:08:39 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_sig_13.c,v 1.21.4.1 2022/08/03 11:11:31 martin Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -73,6 +73,7 @@
 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;
@@ -90,6 +91,7 @@
 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;
@@ -99,6 +101,7 @@
 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 7bf36f519ecc -r e01ea41d9429 sys/compat/common/kern_sig_43.c
--- a/sys/compat/common/kern_sig_43.c   Wed Aug 03 11:05:51 2022 +0000
+++ b/sys/compat/common/kern_sig_43.c   Wed Aug 03 11:11:31 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_sig_43.c,v 1.35.4.1 2020/01/02 09:50:34 martin Exp $      */
+/*     $NetBSD: kern_sig_43.c,v 1.35.4.2 2022/08/03 11:11:31 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.35.4.1 2020/01/02 09:50:34 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_sig_43.c,v 1.35.4.2 2022/08/03 11:11:31 martin Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -86,6 +86,7 @@
 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;
@@ -102,6 +103,8 @@
 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;
@@ -110,6 +113,8 @@
 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;
@@ -118,6 +123,7 @@
 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 7bf36f519ecc -r e01ea41d9429 sys/compat/common/kern_time_50.c
--- a/sys/compat/common/kern_time_50.c  Wed Aug 03 11:05:51 2022 +0000
+++ b/sys/compat/common/kern_time_50.c  Wed Aug 03 11:11:31 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: kern_time_50.c,v 1.33 2019/01/27 02:08:39 pgoyette Exp $       */
+/*     $NetBSD: kern_time_50.c,v 1.33.4.1 2022/08/03 11:11:31 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.33 2019/01/27 02:08:39 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_time_50.c,v 1.33.4.1 2022/08/03 11:11:31 martin Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -228,6 +228,7 @@
                 * 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));
@@ -462,6 +463,7 @@
 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 7bf36f519ecc -r e01ea41d9429 sys/compat/common/vfs_syscalls_12.c
--- a/sys/compat/common/vfs_syscalls_12.c       Wed Aug 03 11:05:51 2022 +0000
+++ b/sys/compat/common/vfs_syscalls_12.c       Wed Aug 03 11:11:31 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vfs_syscalls_12.c,v 1.37 2019/01/27 02:08:39 pgoyette Exp $    */
+/*     $NetBSD: vfs_syscalls_12.c,v 1.37.4.1 2022/08/03 11:11:31 martin Exp $  */
 
 /*
  * Copyright (c) 1989, 1993
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls_12.c,v 1.37 2019/01/27 02:08:39 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls_12.c,v 1.37.4.1 2022/08/03 11:11:31 martin Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -82,6 +82,7 @@
 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;
@@ -201,6 +202,7 @@
                                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 7bf36f519ecc -r e01ea41d9429 sys/compat/common/vfs_syscalls_30.c
--- a/sys/compat/common/vfs_syscalls_30.c       Wed Aug 03 11:05:51 2022 +0000
+++ b/sys/compat/common/vfs_syscalls_30.c       Wed Aug 03 11:11:31 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vfs_syscalls_30.c,v 1.38.4.1 2021/08/15 09:27:50 martin Exp $  */
+/*     $NetBSD: vfs_syscalls_30.c,v 1.38.4.2 2022/08/03 11:11:31 martin Exp $  */
 
 /*-
  * Copyright (c) 2005, 2008 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */



Home | Main Index | Thread Index | Old Index