Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Jun 2017 21:11:11 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r319874 - head/sys/kern
Message-ID:  <201706122111.v5CLBBUT092606@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Mon Jun 12 21:11:11 2017
New Revision: 319874
URL: https://svnweb.freebsd.org/changeset/base/319874

Log:
  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

Modified:
  head/sys/kern/kern_sig.c

Modified: head/sys/kern/kern_sig.c
==============================================================================
--- head/sys/kern/kern_sig.c	Mon Jun 12 21:03:23 2017	(r319873)
+++ head/sys/kern/kern_sig.c	Mon Jun 12 21:11:11 2017	(r319874)
@@ -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);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706122111.v5CLBBUT092606>