AUDIT_PIPE_LIST_WLOCK_ASSERT();
- ap = malloc(sizeof(*ap), M_AUDIT_PIPE, M_NOWAIT | M_ZERO);
+ ap = malloc(sizeof(*ap), M_AUDIT_PIPE, M_WAITOK | M_ZERO);
if (ap == NULL)
return (NULL);
audit_pipe_flush(ap);
cv_destroy(&ap->ap_cv);
AUDIT_PIPE_SX_LOCK_DESTROY(ap);
+ AUDIT_PIPE_UNLOCK(ap);
AUDIT_PIPE_LOCK_DESTROY(ap);
#ifndef __APPLE__
knlist_destroy(&ap->ap_selinfo.si_note);
KASSERT(ape->ape_record_len > ap->ap_qoffset,
("audit_pipe_read: record_len > qoffset (1)"));
- toread = MIN(ape->ape_record_len - ap->ap_qoffset,
+ toread = MIN((int)(ape->ape_record_len - ap->ap_qoffset),
uio_resid(uio));
AUDIT_PIPE_UNLOCK(ap);
error = uiomove((char *)ape->ape_record + ap->ap_qoffset,