netbsd32_epoll_pwait2: Dedup slightly. NFCI.

This commit is contained in:
rin 2023-07-30 07:56:15 +00:00
parent 86ba8846f4
commit 6217f2006b
1 changed files with 6 additions and 8 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: netbsd32_epoll.c,v 1.2 2023/07/30 07:48:54 rin Exp $ */
/* $NetBSD: netbsd32_epoll.c,v 1.3 2023/07/30 07:56:15 rin Exp $ */
/*-
* SPDX-License-Identifier: BSD-2-Clause
@ -28,7 +28,7 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: netbsd32_epoll.c,v 1.2 2023/07/30 07:48:54 rin Exp $");
__KERNEL_RCSID(0, "$NetBSD: netbsd32_epoll.c,v 1.3 2023/07/30 07:56:15 rin Exp $");
#include <sys/types.h>
#include <sys/epoll.h>
@ -129,10 +129,8 @@ netbsd32_epoll_pwait2(struct lwp *l,
error = epoll_wait_common(l, retval, SCARG(uap, epfd), events,
maxevents, tsp, ssp);
if (error != 0 || *retval == 0) {
kmem_free(events, maxevents * sizeof(*events));
return error;
}
if (error != 0 || *retval == 0)
goto out;
struct netbsd32_epoll_event *events32 =
kmem_alloc(*retval * sizeof(*events32), KM_SLEEP);
@ -140,12 +138,12 @@ netbsd32_epoll_pwait2(struct lwp *l,
for (int i = 0; i < *retval; i++)
netbsd32_from_epoll_event(&events[i], &events32[i]);
kmem_free(events, maxevents * sizeof(*events));
error = copyout(events, SCARG_P32(uap, events),
*retval * sizeof(*events32));
kmem_free(events32, *retval * sizeof(*events32));
out:
kmem_free(events, maxevents * sizeof(*events));
return error;
}