Print unimplemented syscall number to the ctty on SIGSYS, if enabled
by the knob kern.lognosys. Discussed with: imp Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 3 weeks X-Differential revision: https://reviews.freebsd.org/D11080
This commit is contained in:
parent
e2a14c603f
commit
68cf2ac6e5
@ -150,6 +150,10 @@ static int signal_alloc_fail = 0;
|
||||
SYSCTL_INT(_kern_sigqueue, OID_AUTO, alloc_fail, CTLFLAG_RD,
|
||||
&signal_alloc_fail, 0, "signals failed to be allocated");
|
||||
|
||||
static int kern_lognosys = 0;
|
||||
SYSCTL_INT(_kern, OID_AUTO, lognosys, CTLFLAG_RWTUN, &kern_lognosys, 0,
|
||||
"Log invalid syscalls");
|
||||
|
||||
SYSINIT(signal, SI_SUB_P1003_1B, SI_ORDER_FIRST+3, sigqueue_start, NULL);
|
||||
|
||||
/*
|
||||
@ -3568,11 +3572,16 @@ struct nosys_args {
|
||||
int
|
||||
nosys(struct thread *td, struct nosys_args *args)
|
||||
{
|
||||
struct proc *p = td->td_proc;
|
||||
struct proc *p;
|
||||
|
||||
p = td->td_proc;
|
||||
|
||||
PROC_LOCK(p);
|
||||
tdsignal(td, SIGSYS);
|
||||
PROC_UNLOCK(p);
|
||||
if (kern_lognosys)
|
||||
uprintf("pid %d comm %s: nosys %d\n", p->p_pid, p->p_comm,
|
||||
td->td_sa.code);
|
||||
return (ENOSYS);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user