svn commit: r365284 - head/sys/kern

Brooks Davis brooks at FreeBSD.org
Wed Sep 2 23:17:34 UTC 2020


Author: brooks
Date: Wed Sep  2 23:17:33 2020
New Revision: 365284
URL: https://svnweb.freebsd.org/changeset/base/365284

Log:
  Always report ENOSYS in init
  
  While rare, encountering an unimplemented system call early in init is
  catastrophic and difficult to debug.  Even after a SIGSYS handler is
  registered, such configurations are problematic.  As such, always report
  such events for pid 1 (following kern.lognosys if non-zero).
  
  Reviewed by:	kevans, imp
  Obtained from:	CheriBSD (plus suggestions from kevans)
  MFC after:	1 week
  Sponsored by:	DARPA
  Differential Revision:	https://reviews.freebsd.org/D26288

Modified:
  head/sys/kern/kern_sig.c

Modified: head/sys/kern/kern_sig.c
==============================================================================
--- head/sys/kern/kern_sig.c	Wed Sep  2 22:27:30 2020	(r365283)
+++ head/sys/kern/kern_sig.c	Wed Sep  2 23:17:33 2020	(r365284)
@@ -3794,7 +3794,8 @@ nosys(struct thread *td, struct nosys_args *args)
 		uprintf("pid %d comm %s: nosys %d\n", p->p_pid, p->p_comm,
 		    td->td_sa.code);
 	}
-	if (kern_lognosys == 2 || kern_lognosys == 3) {
+	if (kern_lognosys == 2 || kern_lognosys == 3 ||
+	    (p->p_pid == 1 && (kern_lognosys & 3) == 0)) {
 		printf("pid %d comm %s: nosys %d\n", p->p_pid, p->p_comm,
 		    td->td_sa.code);
 	}


More information about the svn-src-head mailing list