DF-2867 / fix.diff
diff --git a/sys/platform/pc64/x86_64/trap.c b/sys/platform/pc64/x86_64/trap.c --- a/sys/platform/pc64/x86_64/trap.c 2026-09-02 15:17:01.489959357 +0000 +++ b/sys/platform/pc64/x86_64/trap.c 2026-09-02 15:17:01.513959060 +0000 @@ -1239,6 +1239,8 @@ argsdst = (register_t *)&sysmsg.extargs; bcopy(argp, argsdst, sizeof(register_t) * regcnt); + bzero(&argsdst[regcnt], + (narg - regcnt) * sizeof(register_t)); params = (caddr_t)frame->tf_rsp + sizeof(register_t); error = copyin(params, &argsdst[regcnt], (narg - regcnt) * sizeof(register_t)); @@ -1418,6 +1420,8 @@ argsdst = (register_t *)&sysmsg->extargs; bcopy(argp, argsdst, sizeof(register_t) * regcnt); + bzero(&argsdst[regcnt], + (narg - regcnt) * sizeof(register_t)); params = (caddr_t)frame->tf_rsp + sizeof(register_t); error = copyin(params, &argsdst[regcnt], (narg - regcnt) * sizeof(register_t)); diff --git a/sys/platform/vkernel64/x86_64/trap.c b/sys/platform/vkernel64/x86_64/trap.c --- a/sys/platform/vkernel64/x86_64/trap.c 2026-09-02 15:17:01.493959308 +0000 +++ b/sys/platform/vkernel64/x86_64/trap.c 2026-09-02 15:17:01.513959060 +0000 @@ -1078,6 +1078,8 @@ argsdst = (register_t *)&sysmsg.extargs; bcopy(argp, argsdst, sizeof(register_t) * regcnt); + bzero(&argsdst[regcnt], + (narg - regcnt) * sizeof(register_t)); params = (caddr_t)frame->tf_rsp + sizeof(register_t); KASSERT(params != NULL, ("copyin args with no params!")); |