summaryrefslogtreecommitdiff
path: root/sys/compat/netbsd32
diff options
context:
space:
mode:
Diffstat (limited to 'sys/compat/netbsd32')
-rw-r--r--sys/compat/netbsd32/netbsd32_compat_12.c5
-rw-r--r--sys/compat/netbsd32/netbsd32_compat_20.c6
-rw-r--r--sys/compat/netbsd32/netbsd32_compat_43.c6
-rw-r--r--sys/compat/netbsd32/netbsd32_compat_50.c10
-rw-r--r--sys/compat/netbsd32/netbsd32_conv.h60
-rw-r--r--sys/compat/netbsd32/netbsd32_nfssvc.c5
-rw-r--r--sys/compat/netbsd32/netbsd32_ptrace.c6
-rw-r--r--sys/compat/netbsd32/netbsd32_signal.c7
-rw-r--r--sys/compat/netbsd32/netbsd32_time.c8
-rw-r--r--sys/compat/netbsd32/netbsd32_wait.c5
10 files changed, 95 insertions, 23 deletions
diff --git a/sys/compat/netbsd32/netbsd32_compat_12.c b/sys/compat/netbsd32/netbsd32_compat_12.c
index 70b6b5351d5..884d3127c50 100644
--- a/sys/compat/netbsd32/netbsd32_compat_12.c
+++ b/sys/compat/netbsd32/netbsd32_compat_12.c
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_compat_12.c,v 1.34 2019/01/27 02:08:40 pgoyette Exp $ */
+/* $NetBSD: netbsd32_compat_12.c,v 1.34.4.1 2022/08/03 11:11:31 martin Exp $ */
/*
* Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_12.c,v 1.34 2019/01/27 02:08:40 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_12.c,v 1.34.4.1 2022/08/03 11:11:31 martin Exp $");
#if defined(_KERNEL_OPT)
#include "opt_compat_netbsd.h"
@@ -62,6 +62,7 @@ static void
netbsd32_stat12_to_netbsd32(struct stat12 *sp12, struct netbsd32_stat12 *sp32)
{
+ memset(sp32, 0, sizeof(*sp32));
sp32->st_dev = sp12->st_dev;
sp32->st_ino = sp12->st_ino;
sp32->st_mode = sp12->st_mode;
diff --git a/sys/compat/netbsd32/netbsd32_compat_20.c b/sys/compat/netbsd32/netbsd32_compat_20.c
index 55f628c0677..7ef6e839e7c 100644
--- a/sys/compat/netbsd32/netbsd32_compat_20.c
+++ b/sys/compat/netbsd32/netbsd32_compat_20.c
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_compat_20.c,v 1.38.4.1 2020/01/02 09:50:34 martin Exp $ */
+/* $NetBSD: netbsd32_compat_20.c,v 1.38.4.2 2022/08/03 11:11:31 martin Exp $ */
/*
* Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_20.c,v 1.38.4.1 2020/01/02 09:50:34 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_20.c,v 1.38.4.2 2022/08/03 11:11:31 martin Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -57,6 +57,8 @@ static inline void compat_20_netbsd32_from_statvfs(struct statvfs *,
static inline void
compat_20_netbsd32_from_statvfs(struct statvfs *sbp, struct netbsd32_statfs *sb32p)
{
+
+ memset(sb32p, 0, sizeof(*sb32p));
sb32p->f_type = 0; /* XXX Put an actual value? */
sb32p->f_flags = sbp->f_flag;
sb32p->f_bsize = (netbsd32_long)sbp->f_bsize;
diff --git a/sys/compat/netbsd32/netbsd32_compat_43.c b/sys/compat/netbsd32/netbsd32_compat_43.c
index 38c5313ec7b..d85f6551f3b 100644
--- a/sys/compat/netbsd32/netbsd32_compat_43.c
+++ b/sys/compat/netbsd32/netbsd32_compat_43.c
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_compat_43.c,v 1.57.4.3 2020/03/08 10:36:38 martin Exp $ */
+/* $NetBSD: netbsd32_compat_43.c,v 1.57.4.4 2022/08/03 11:11:31 martin Exp $ */
/*
* Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_43.c,v 1.57.4.3 2020/03/08 10:36:38 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_43.c,v 1.57.4.4 2022/08/03 11:11:31 martin Exp $");
#if defined(_KERNEL_OPT)
#include "opt_compat_43.h"
@@ -646,6 +646,7 @@ compat_43_netbsd32_osigvec(struct lwp *l, const struct compat_43_netbsd32_osigve
return error;
if (SCARG_P32(uap, osv)) {
+ memset(&sv32, 0, sizeof(sv32));
NETBSD32PTR32(sv32.sv_handler, osa.sa_handler);
sv32.sv_mask = osa.sa_mask.__bits[0];
sv32.sv_flags = osa.sa_flags ^ SA_RESTART;
@@ -704,6 +705,7 @@ compat_43_netbsd32_osigstack(struct lwp *l, const struct compat_43_netbsd32_osig
return error;
if (SCARG_P32(uap, oss)) {
+ memset(&ss32, 0, sizeof(ss32));
NETBSD32PTR32(ss32.ss_sp, osa.ss_sp);
ss32.ss_onstack = (osa.ss_flags & SS_ONSTACK) != 0;
error = copyout(&ss32, SCARG_P32(uap, oss), sizeof(ss32));
diff --git a/sys/compat/netbsd32/netbsd32_compat_50.c b/sys/compat/netbsd32/netbsd32_compat_50.c
index cf631ba6770..9a23f1cb99a 100644
--- a/sys/compat/netbsd32/netbsd32_compat_50.c
+++ b/sys/compat/netbsd32/netbsd32_compat_50.c
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_compat_50.c,v 1.39.2.2 2020/01/02 09:50:34 martin Exp $ */
+/* $NetBSD: netbsd32_compat_50.c,v 1.39.2.3 2022/08/03 11:11:31 martin Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.39.2.2 2020/01/02 09:50:34 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.39.2.3 2022/08/03 11:11:31 martin Exp $");
#if defined(_KERNEL_OPT)
#include "opt_compat_netbsd.h"
@@ -167,6 +167,7 @@ compat_50_netbsd32_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_P32(uap, tzp), sizeof(tzfake));
@@ -248,6 +249,8 @@ compat_50_netbsd32_adjtime(struct lwp *l,
return (error);
if (SCARG_P32(uap, olddelta)) {
+ memset(&atv, 0, sizeof(atv));
+
mutex_spin_enter(&timecounter_lock);
atv.tv_sec = time_adjtime / 1000000;
atv.tv_usec = time_adjtime % 1000000;
@@ -394,6 +397,7 @@ compat_50_netbsd32_timer_settime(struct lwp *l,
return error;
if (ovp) {
+ memset(&its32, 0, sizeof(its32));
netbsd32_from_timespec50(&ovp->it_interval, &its32.it_interval);
netbsd32_from_timespec50(&ovp->it_value, &its32.it_value);
return copyout(&its32, SCARG_P32(uap, ovalue), sizeof(its32));
@@ -416,6 +420,8 @@ compat_50_netbsd32_timer_gettime(struct lwp *l, const struct compat_50_netbsd32_
&its)) != 0)
return error;
+ memset(&its32, 0, sizeof(its32));
+
netbsd32_from_timespec50(&its.it_interval, &its32.it_interval);
netbsd32_from_timespec50(&its.it_value, &its32.it_value);
diff --git a/sys/compat/netbsd32/netbsd32_conv.h b/sys/compat/netbsd32/netbsd32_conv.h
index 56df25aadc0..7c05e9fd0a6 100644
--- a/sys/compat/netbsd32/netbsd32_conv.h
+++ b/sys/compat/netbsd32/netbsd32_conv.h
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_conv.h,v 1.38.4.1 2022/08/03 11:05:51 martin Exp $ */
+/* $NetBSD: netbsd32_conv.h,v 1.38.4.2 2022/08/03 11:11:31 martin Exp $ */
/*
* Copyright (c) 1998, 2001 Matthew R. Green
@@ -58,6 +58,7 @@ netbsd32_from_timeval50(const struct timeval *tv,
struct netbsd32_timeval50 *tv32)
{
+ memset(tv32, 0, sizeof(*tv32));
tv32->tv_sec = (netbsd32_time50_t)tv->tv_sec;
tv32->tv_usec = (netbsd32_long)tv->tv_usec;
}
@@ -67,6 +68,7 @@ netbsd32_from_timeval(const struct timeval *tv,
struct netbsd32_timeval *tv32)
{
+ memset(tv32, 0, sizeof(*tv32));
tv32->tv_sec = (netbsd32_time_t)tv->tv_sec;
tv32->tv_usec = tv->tv_usec;
}
@@ -76,6 +78,7 @@ netbsd32_to_timeval50(const struct netbsd32_timeval50 *tv32,
struct timeval *tv)
{
+ memset(tv, 0, sizeof(*tv));
tv->tv_sec = (time_t)tv32->tv_sec;
tv->tv_usec = tv32->tv_usec;
}
@@ -85,6 +88,7 @@ netbsd32_to_timeval(const struct netbsd32_timeval *tv32,
struct timeval *tv)
{
+ memset(tv, 0, sizeof(*tv));
tv->tv_sec = (time_t)tv32->tv_sec;
tv->tv_usec = tv32->tv_usec;
}
@@ -94,6 +98,7 @@ netbsd32_from_itimerval50(const struct itimerval *itv,
struct netbsd32_itimerval50 *itv32)
{
+ memset(itv32, 0, sizeof(*itv32));
netbsd32_from_timeval50(&itv->it_interval,
&itv32->it_interval);
netbsd32_from_timeval50(&itv->it_value,
@@ -105,6 +110,7 @@ netbsd32_from_itimerval(const struct itimerval *itv,
struct netbsd32_itimerval *itv32)
{
+ memset(itv32, 0, sizeof(*itv32));
netbsd32_from_timeval(&itv->it_interval,
&itv32->it_interval);
netbsd32_from_timeval(&itv->it_value,
@@ -116,6 +122,7 @@ netbsd32_to_itimerval50(const struct netbsd32_itimerval50 *itv32,
struct itimerval *itv)
{
+ memset(itv, 0, sizeof(*itv));
netbsd32_to_timeval50(&itv32->it_interval, &itv->it_interval);
netbsd32_to_timeval50(&itv32->it_value, &itv->it_value);
}
@@ -125,6 +132,7 @@ netbsd32_to_itimerval(const struct netbsd32_itimerval *itv32,
struct itimerval *itv)
{
+ memset(itv, 0, sizeof(*itv));
netbsd32_to_timeval(&itv32->it_interval, &itv->it_interval);
netbsd32_to_timeval(&itv32->it_value, &itv->it_value);
}
@@ -134,6 +142,7 @@ netbsd32_to_timespec50(const struct netbsd32_timespec50 *s32p,
struct timespec *p)
{
+ memset(p, 0, sizeof(*p));
p->tv_sec = (time_t)s32p->tv_sec;
p->tv_nsec = (long)s32p->tv_nsec;
}
@@ -143,6 +152,7 @@ netbsd32_to_timespec(const struct netbsd32_timespec *s32p,
struct timespec *p)
{
+ memset(p, 0, sizeof(*p));
p->tv_sec = (time_t)s32p->tv_sec;
p->tv_nsec = (long)s32p->tv_nsec;
}
@@ -152,6 +162,7 @@ netbsd32_from_timespec50(const struct timespec *p,
struct netbsd32_timespec50 *s32p)
{
+ memset(s32p, 0, sizeof(*s32p));
s32p->tv_sec = (netbsd32_time50_t)p->tv_sec;
s32p->tv_nsec = (netbsd32_long)p->tv_nsec;
}
@@ -161,6 +172,7 @@ netbsd32_from_timespec(const struct timespec *p,
struct netbsd32_timespec *s32p)
{
+ memset(s32p, 0, sizeof(*s32p));
s32p->tv_sec = (netbsd32_time_t)p->tv_sec;
s32p->tv_nsec = (netbsd32_long)p->tv_nsec;
}
@@ -170,6 +182,7 @@ netbsd32_from_rusage(const struct rusage *rup,
struct netbsd32_rusage *ru32p)
{
+ memset(ru32p, 0, sizeof(*ru32p));
netbsd32_from_timeval(&rup->ru_utime, &ru32p->ru_utime);
netbsd32_from_timeval(&rup->ru_stime, &ru32p->ru_stime);
#define C(var) ru32p->var = (netbsd32_long)rup->var
@@ -195,6 +208,7 @@ netbsd32_to_rusage(const struct netbsd32_rusage *ru32p,
struct rusage *rup)
{
+ memset(rup, 0, sizeof(*rup));
netbsd32_to_timeval(&ru32p->ru_utime, &rup->ru_utime);
netbsd32_to_timeval(&ru32p->ru_stime, &rup->ru_stime);
#define C(var) rup->var = (long)ru32p->var
@@ -220,6 +234,7 @@ netbsd32_from_rusage50(const struct rusage *rup,
struct netbsd32_rusage50 *ru32p)
{
+ memset(ru32p, 0, sizeof(*ru32p));
netbsd32_from_timeval50(&rup->ru_utime, &ru32p->ru_utime);
netbsd32_from_timeval50(&rup->ru_stime, &ru32p->ru_stime);
#define C(var) ru32p->var = (netbsd32_long)rup->var
@@ -254,6 +269,7 @@ netbsd32_to_iovecin(const struct netbsd32_iovec *iov32p, struct iovec *iovp,
* each field separately. I'm doing the latter to reduce
* the number of MALLOC()s.
*/
+ memset(iovp, 0, sizeof(*iovp));
total_iov_len = 0;
for (i = 0; i < len; i++, iovp++, iov32p++) {
if ((error = copyin(&iov32p->iov_base, &iov_base, sizeof(iov_base))))
@@ -284,6 +300,7 @@ static __inline void
netbsd32_to_msghdr(const struct netbsd32_msghdr *mhp32, struct msghdr *mhp)
{
+ memset(mhp, 0, sizeof(*mhp));
mhp->msg_name = NETBSD32PTR64(mhp32->msg_name);
mhp->msg_namelen = mhp32->msg_namelen;
mhp->msg_iovlen = (size_t)mhp32->msg_iovlen;
@@ -297,6 +314,7 @@ static __inline void
netbsd32_from_msghdr(struct netbsd32_msghdr *mhp32, const struct msghdr *mhp)
{
+ memset(mhp32, 0, sizeof(*mhp32));
NETBSD32PTR32(mhp32->msg_name, mhp->msg_name);
mhp32->msg_namelen = mhp->msg_namelen;
mhp32->msg_iovlen = mhp->msg_iovlen;
@@ -309,21 +327,27 @@ static __inline void
netbsd32_to_mmsghdr(const struct netbsd32_mmsghdr *mmsg32,
struct mmsghdr *mmsg)
{
- netbsd32_to_msghdr(&mmsg32->msg_hdr, &mmsg->msg_hdr);
- mmsg->msg_len = mmsg32->msg_len;
+
+ memset(mmsg, 0, sizeof(*mmsg));
+ netbsd32_to_msghdr(&mmsg32->msg_hdr, &mmsg->msg_hdr);
+ mmsg->msg_len = mmsg32->msg_len;
}
static __inline void
netbsd32_from_mmsghdr(struct netbsd32_mmsghdr *mmsg32,
const struct mmsghdr *mmsg)
{
- netbsd32_from_msghdr(&mmsg32->msg_hdr, &mmsg->msg_hdr);
- mmsg32->msg_len = mmsg->msg_len;
+
+ memset(mmsg32, 0, sizeof(*mmsg32));
+ netbsd32_from_msghdr(&mmsg32->msg_hdr, &mmsg->msg_hdr);
+ mmsg32->msg_len = mmsg->msg_len;
}
static __inline void
netbsd32_from_statvfs(const struct statvfs *sbp, struct netbsd32_statvfs *sb32p)
{
+
+ memset(sb32p, 0, sizeof(*sb32p));
sb32p->f_flag = sbp->f_flag;
sb32p->f_bsize = (netbsd32_u_long)sbp->f_bsize;
sb32p->f_frsize = (netbsd32_u_long)sbp->f_frsize;
@@ -365,6 +389,7 @@ static __inline void
netbsd32_from_timex(const struct timex *txp, struct netbsd32_timex *tx32p)
{
+ memset(tx32p, 0, sizeof(*tx32p));
tx32p->modes = txp->modes;
tx32p->offset = (netbsd32_long)txp->offset;
tx32p->freq = (netbsd32_long)txp->freq;
@@ -388,6 +413,7 @@ static __inline void
netbsd32_to_timex(const struct netbsd32_timex *tx32p, struct timex *txp)
{
+ memset(txp, 0, sizeof(*txp));
txp->modes = tx32p->modes;
txp->offset = (long)tx32p->offset;
txp->freq = (long)tx32p->freq;
@@ -410,6 +436,7 @@ netbsd32_to_timex(const struct netbsd32_timex *tx32p, struct timex *txp)
static __inline void
netbsd32_from___stat13(const struct stat *sbp, struct netbsd32_stat13 *sb32p)
{
+
memset(sb32p, 0, sizeof *sb32p);
sb32p->st_dev = (uint32_t)sbp->st_dev;
sb32p->st_ino = sbp->st_ino;
@@ -436,6 +463,7 @@ netbsd32_from___stat13(const struct stat *sbp, struct netbsd32_stat13 *sb32p)
static __inline void
netbsd32_from___stat50(const struct stat *sbp, struct netbsd32_stat50 *sb32p)
{
+
memset(sb32p, 0, sizeof *sb32p);
sb32p->st_dev = (uint32_t)sbp->st_dev;
sb32p->st_ino = sbp->st_ino;
@@ -462,6 +490,7 @@ netbsd32_from___stat50(const struct stat *sbp, struct netbsd32_stat50 *sb32p)
static __inline void
netbsd32_from_stat(const struct stat *sbp, struct netbsd32_stat *sb32p)
{
+
memset(sb32p, 0, sizeof *sb32p);
sb32p->st_dev = sbp->st_dev;
sb32p->st_ino = sbp->st_ino;
@@ -490,6 +519,7 @@ netbsd32_to_ipc_perm(const struct netbsd32_ipc_perm *ip32p,
struct ipc_perm *ipp)
{
+ memset(ipp, 0, sizeof(*ipp));
ipp->cuid = ip32p->cuid;
ipp->cgid = ip32p->cgid;
ipp->uid = ip32p->uid;
@@ -518,6 +548,7 @@ static __inline void
netbsd32_to_msg(const struct netbsd32_msg *m32p, struct msg *mp)
{
+ memset(mp, 0, sizeof(*mp));
mp->msg_next = NETBSD32PTR64(m32p->msg_next);
mp->msg_type = (long)m32p->msg_type;
mp->msg_ts = m32p->msg_ts;
@@ -540,6 +571,7 @@ netbsd32_to_msqid_ds50(const struct netbsd32_msqid_ds50 *ds32p,
struct msqid_ds *dsp)
{
+ memset(dsp, 0, sizeof(*dsp));
netbsd32_to_ipc_perm(&ds32p->msg_perm, &dsp->msg_perm);
dsp->_msg_cbytes = (u_long)ds32p->_msg_cbytes;
dsp->msg_qnum = (u_long)ds32p->msg_qnum;
@@ -556,6 +588,7 @@ netbsd32_to_msqid_ds(const struct netbsd32_msqid_ds *ds32p,
struct msqid_ds *dsp)
{
+ memset(dsp, 0, sizeof(*dsp));
netbsd32_to_ipc_perm(&ds32p->msg_perm, &dsp->msg_perm);
dsp->_msg_cbytes = (u_long)ds32p->_msg_cbytes;
dsp->msg_qnum = (u_long)ds32p->msg_qnum;
@@ -606,6 +639,7 @@ netbsd32_to_shmid_ds50(const struct netbsd32_shmid_ds50 *ds32p,
struct shmid_ds *dsp)
{
+ memset(dsp, 0, sizeof(*dsp));
netbsd32_to_ipc_perm(&ds32p->shm_perm, &dsp->shm_perm);
dsp->shm_segsz = ds32p->shm_segsz;
dsp->shm_lpid = ds32p->shm_lpid;
@@ -621,6 +655,7 @@ netbsd32_to_shmid_ds(const struct netbsd32_shmid_ds *ds32p,
struct shmid_ds *dsp)
{
+ memset(dsp, 0, sizeof(*dsp));
netbsd32_to_ipc_perm(&ds32p->shm_perm, &dsp->shm_perm);
dsp->shm_segsz = ds32p->shm_segsz;
dsp->shm_lpid = ds32p->shm_lpid;
@@ -668,6 +703,7 @@ netbsd32_to_semid_ds50(const struct netbsd32_semid_ds50 *s32dsp,
struct semid_ds *dsp)
{
+ memset(dsp, 0, sizeof(*dsp));
netbsd32_to_ipc_perm(&s32dsp->sem_perm, &dsp->sem_perm);
dsp->sem_nsems = (time_t)s32dsp->sem_nsems;
dsp->sem_otime = (time_t)s32dsp->sem_otime;
@@ -679,6 +715,7 @@ netbsd32_to_semid_ds(const struct netbsd32_semid_ds *s32dsp,
struct semid_ds *dsp)
{
+ memset(dsp, 0, sizeof(*dsp));
netbsd32_to_ipc_perm(&s32dsp->sem_perm, &dsp->sem_perm);
dsp->sem_nsems = s32dsp->sem_nsems;
dsp->sem_otime = s32dsp->sem_otime;
@@ -714,6 +751,7 @@ netbsd32_from_loadavg(struct netbsd32_loadavg *av32,
const struct loadavg *av)
{
+ memset(av32, 0, sizeof(*av32));
av32->ldavg[0] = av->ldavg[0];
av32->ldavg[1] = av->ldavg[1];
av32->ldavg[2] = av->ldavg[2];
@@ -723,6 +761,8 @@ netbsd32_from_loadavg(struct netbsd32_loadavg *av32,
static __inline void
netbsd32_to_kevent(struct netbsd32_kevent *ke32, struct kevent *ke)
{
+
+ memset(ke, 0, sizeof(*ke));
ke->ident = ke32->ident;
ke->filter = ke32->filter;
ke->flags = ke32->flags;
@@ -734,6 +774,8 @@ netbsd32_to_kevent(struct netbsd32_kevent *ke32, struct kevent *ke)
static __inline void
netbsd32_from_kevent(struct kevent *ke, struct netbsd32_kevent *ke32)
{
+
+ memset(ke32, 0, sizeof(*ke32));
ke32->ident = ke->ident;
ke32->filter = ke->filter;
ke32->flags = ke->flags;
@@ -745,6 +787,8 @@ netbsd32_from_kevent(struct kevent *ke, struct netbsd32_kevent *ke32)
static __inline void
netbsd32_to_sigevent(const struct netbsd32_sigevent *ev32, struct sigevent *ev)
{
+
+ memset(ev, 0, sizeof(*ev));
ev->sigev_notify = ev32->sigev_notify;
ev->sigev_signo = ev32->sigev_signo;
/*
@@ -807,6 +851,7 @@ netbsd32_copyout_plistref(netbsd32_pointer_t n32p, struct plistref *p)
{
struct netbsd32_plistref n32plist;
+ memset(&n32plist, 0, sizeof(n32plist));
NETBSD32PTR32(n32plist.pref_plist, p->pref_plist);
n32plist.pref_len = p->pref_len;
return copyout(&n32plist, NETBSD32PTR64(n32p),
@@ -834,6 +879,7 @@ netbsd32_copyout_nvlist_ref_t(netbsd32_pointer_t n32p, nvlist_ref_t *p)
{
netbsd32_nvlist_ref_t n32nv;
+ memset(&n32nv, 0, sizeof(n32nv));
NETBSD32PTR32(n32nv.buf, p->buf);
n32nv.len = p->len;
n32nv.flags = p->flags;
@@ -845,6 +891,8 @@ static __inline void
netbsd32_to_mq_attr(const struct netbsd32_mq_attr *a32,
struct mq_attr *attr)
{
+
+ memset(attr, 0, sizeof(*attr));
attr->mq_flags = a32->mq_flags;
attr->mq_maxmsg = a32->mq_maxmsg;
attr->mq_msgsize = a32->mq_msgsize;
@@ -855,6 +903,8 @@ static __inline void
netbsd32_from_mq_attr(const struct mq_attr *attr,
struct netbsd32_mq_attr *a32)
{
+
+ memset(a32, 0, sizeof(*a32));
a32->mq_flags = attr->mq_flags;
a32->mq_maxmsg = attr->mq_maxmsg;
a32->mq_msgsize = attr->mq_msgsize;
diff --git a/sys/compat/netbsd32/netbsd32_nfssvc.c b/sys/compat/netbsd32/netbsd32_nfssvc.c
index e2c39c99f02..0278af12cf2 100644
--- a/sys/compat/netbsd32/netbsd32_nfssvc.c
+++ b/sys/compat/netbsd32/netbsd32_nfssvc.c
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_nfssvc.c,v 1.6.4.1 2022/08/03 10:58:58 martin Exp $ */
+/* $NetBSD: netbsd32_nfssvc.c,v 1.6.4.2 2022/08/03 11:11:31 martin Exp $ */
/*
* Copyright (c) 2015 Matthew R. Green
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_nfssvc.c,v 1.6.4.1 2022/08/03 10:58:58 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_nfssvc.c,v 1.6.4.2 2022/08/03 11:11:31 martin Exp $");
#if defined(_KERNEL_OPT)
#include "opt_nfs.h"
@@ -121,6 +121,7 @@ nfssvc32_nsd_out(void *argp, const struct nfsd_srvargs *nsd)
{
struct netbsd32_nfsd_srvargs args32;
+ memset(&args32, 0, sizeof(args32));
NETBSD32PTR32(args32.nsd_nfsd, nsd->nsd_nfsd);
args32.nsd_uid = nsd->nsd_uid;
args32.nsd_haddr = nsd->nsd_haddr;
diff --git a/sys/compat/netbsd32/netbsd32_ptrace.c b/sys/compat/netbsd32/netbsd32_ptrace.c
index 1741b852051..623224c096e 100644
--- a/sys/compat/netbsd32/netbsd32_ptrace.c
+++ b/sys/compat/netbsd32/netbsd32_ptrace.c
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_ptrace.c,v 1.7 2019/06/04 16:29:53 mgorny Exp $ */
+/* $NetBSD: netbsd32_ptrace.c,v 1.7.2.1 2022/08/03 11:11:31 martin Exp $ */
/*
* Copyright (c) 2016 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_ptrace.c,v 1.7 2019/06/04 16:29:53 mgorny Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_ptrace.c,v 1.7.2.1 2022/08/03 11:11:31 martin Exp $");
#if defined(_KERNEL_OPT)
#include "opt_ptrace.h"
@@ -82,6 +82,7 @@ netbsd32_copyout_piod(const struct ptrace_io_desc *piod, void *addr, size_t len)
if (len != 0 && sizeof(piod32) != len)
return EINVAL;
+ memset(&piod32, 0, sizeof(piod32));
piod32.piod_op = piod->piod_op;
NETBSD32PTR32(piod32.piod_offs, piod->piod_offs);
NETBSD32PTR32(piod32.piod_addr, piod->piod_addr);
@@ -113,6 +114,7 @@ netbsd32_copyout_siginfo(const struct ptrace_siginfo *psi, void *addr, size_t le
if (sizeof(psi32) != len)
return EINVAL;
+ memset(&psi32, 0, sizeof(psi32));
psi32.psi_lwpid = psi->psi_lwpid;
netbsd32_si_to_si32(&psi32.psi_siginfo, &psi->psi_siginfo);
return copyout(&psi32, addr, sizeof(psi32));
diff --git a/sys/compat/netbsd32/netbsd32_signal.c b/sys/compat/netbsd32/netbsd32_signal.c
index 45004b5b7fa..f2f0c8452e3 100644
--- a/sys/compat/netbsd32/netbsd32_signal.c
+++ b/sys/compat/netbsd32/netbsd32_signal.c
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_signal.c,v 1.45.8.1 2019/11/19 13:33:21 martin Exp $ */
+/* $NetBSD: netbsd32_signal.c,v 1.45.8.2 2022/08/03 11:11:31 martin Exp $ */
/*
* Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_signal.c,v 1.45.8.1 2019/11/19 13:33:21 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_signal.c,v 1.45.8.2 2022/08/03 11:11:31 martin Exp $");
#if defined(_KERNEL_OPT)
#include "opt_ktrace.h"
@@ -86,6 +86,7 @@ netbsd32_sigaction(struct lwp *l, const struct netbsd32_sigaction_args *uap, reg
return (error);
if (SCARG_P32(uap, osa)) {
+ memset(&sa32, 0, sizeof(sa32));
NETBSD32PTR32(sa32.netbsd32_sa_handler, osa.sa_handler);
sa32.netbsd32_sa_mask = osa.sa_mask.__bits[0];
sa32.netbsd32_sa_flags = osa.sa_flags;
@@ -135,6 +136,7 @@ netbsd32___sigaction14(struct lwp *l, const struct netbsd32___sigaction14_args *
if (error)
return (error);
if (SCARG_P32(uap, osa)) {
+ memset(&sa32, 0, sizeof(sa32));
NETBSD32PTR32(sa32.netbsd32_sa_handler, osa.sa_handler);
sa32.netbsd32_sa_mask = osa.sa_mask;
sa32.netbsd32_sa_flags = osa.sa_flags;
@@ -175,6 +177,7 @@ netbsd32___sigaction_sigtramp(struct lwp *l, const struct netbsd32___sigaction_s
if (error)
return (error);
if (SCARG_P32(uap, osa)) {
+ memset(&sa32, 0, sizeof(sa32));
NETBSD32PTR32(sa32.netbsd32_sa_handler, osa.sa_handler);
sa32.netbsd32_sa_mask = osa.sa_mask;
sa32.netbsd32_sa_flags = osa.sa_flags;
diff --git a/sys/compat/netbsd32/netbsd32_time.c b/sys/compat/netbsd32/netbsd32_time.c
index bc92ea073af..efa66cc208c 100644
--- a/sys/compat/netbsd32/netbsd32_time.c
+++ b/sys/compat/netbsd32/netbsd32_time.c
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_time.c,v 1.51 2019/01/27 02:08:40 pgoyette Exp $ */
+/* $NetBSD: netbsd32_time.c,v 1.51.4.1 2022/08/03 11:11:31 martin Exp $ */
/*
* Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_time.c,v 1.51 2019/01/27 02:08:40 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_time.c,v 1.51.4.1 2022/08/03 11:11:31 martin Exp $");
#if defined(_KERNEL_OPT)
#include "opt_ntp.h"
@@ -206,6 +206,7 @@ netbsd32___gettimeofday50(struct lwp *l, const struct netbsd32___gettimeofday50_
* 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_P32(uap, tzp), sizeof(tzfake));
@@ -266,6 +267,7 @@ netbsd32___adjtime50(struct lwp *l, const struct netbsd32___adjtime50_args *uap,
return (error);
if (SCARG_P32(uap, olddelta)) {
+ memset(&atv, 0, sizeof(atv));
atv.tv_sec = time_adjtime / 1000000;
atv.tv_usec = time_adjtime % 1000000;
if (atv.tv_usec < 0) {
@@ -477,6 +479,7 @@ netbsd32___timer_settime50(struct lwp *l, const struct netbsd32___timer_settime5
return error;
if (ovp) {
+ memset(&its32, 0, sizeof(its32));
netbsd32_from_timespec(&ovp->it_interval, &its32.it_interval);
netbsd32_from_timespec(&ovp->it_value, &its32.it_value);
return copyout(&its32, SCARG_P32(uap, ovalue), sizeof(its32));
@@ -499,6 +502,7 @@ netbsd32___timer_gettime50(struct lwp *l, const struct netbsd32___timer_gettime5
&its)) != 0)
return error;
+ memset(&its32, 0, sizeof(its32));
netbsd32_from_timespec(&its.it_interval, &its32.it_interval);
netbsd32_from_timespec(&its.it_value, &its32.it_value);
diff --git a/sys/compat/netbsd32/netbsd32_wait.c b/sys/compat/netbsd32/netbsd32_wait.c
index d5a5453e465..c6150f8d118 100644
--- a/sys/compat/netbsd32/netbsd32_wait.c
+++ b/sys/compat/netbsd32/netbsd32_wait.c
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_wait.c,v 1.23 2016/09/23 14:09:39 skrll Exp $ */
+/* $NetBSD: netbsd32_wait.c,v 1.23.20.1 2022/08/03 11:11:31 martin Exp $ */
/*
* Copyright (c) 1998, 2001 Matthew R. Green
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_wait.c,v 1.23 2016/09/23 14:09:39 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_wait.c,v 1.23.20.1 2022/08/03 11:11:31 martin Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -132,6 +132,7 @@ netbsd32_wait6(struct lwp *l, const struct netbsd32_wait6_args *uap,
if (wrup != NULL && error == 0) {
struct netbsd32_wrusage wru32;
+ memset(&wru32, 0, sizeof(wru32));
netbsd32_from_rusage(&wrup->wru_self, &wru32.wru_self);
netbsd32_from_rusage(&wrup->wru_children, &wru32.wru_children);
error = copyout(&wru32, SCARG_P32(uap, wru), sizeof(wru32));