diff --git a/kernel/auditsc.c b/kernel/auditsc.c index 6610e667c728..2b9ce0b52511 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c @@ -2712,7 +2712,8 @@ int audit_signal_info_syscall(struct task_struct *t) axp->d.next = ctx->aux_pids; ctx->aux_pids = (void *)axp; } - BUG_ON(axp->pid_count >= AUDIT_AUX_PIDS); + if (WARN_ON_ONCE(axp->pid_count >= AUDIT_AUX_PIDS)) + return -EINVAL; axp->target_pid[axp->pid_count] = task_tgid_nr(t); axp->target_auid[axp->pid_count] = audit_get_loginuid(t);