svn commit: r347423 - head/sys/dev/random

Mark Johnston markj at FreeBSD.org
Fri May 10 04:28:18 UTC 2019


Author: markj
Date: Fri May 10 04:28:17 2019
New Revision: 347423
URL: https://svnweb.freebsd.org/changeset/base/347423

Log:
  Avoid returning a NULL pointer from the Intel hw PRNG ifunc resolver.
  
  DTrace expects kernel function symbols of a non-zero size to have an
  implementation, which is a reasonable invariant to preserve.
  
  Reported and tested by:	ler
  Reviewed by:	cem, kib
  Approved by:	so (delphij)
  Sponsored by:	The FreeBSD Foundation
  Differential Revision:	https://reviews.freebsd.org/D20218

Modified:
  head/sys/dev/random/ivy.c

Modified: head/sys/dev/random/ivy.c
==============================================================================
--- head/sys/dev/random/ivy.c	Fri May 10 02:30:16 2019	(r347422)
+++ head/sys/dev/random/ivy.c	Fri May 10 04:28:17 2019	(r347423)
@@ -97,6 +97,13 @@ x86_rdseed_store(u_long *buf)
 	return (retry);
 }
 
+static int
+x86_unimpl_store(u_long *buf __unused)
+{
+
+	panic("%s called", __func__);
+}
+
 DEFINE_IFUNC(static, int, x86_rng_store, (u_long *buf), static)
 {
 	has_rdrand = (cpu_feature2 & CPUID2_RDRAND);
@@ -107,7 +114,7 @@ DEFINE_IFUNC(static, int, x86_rng_store, (u_long *buf)
 	else if (has_rdrand)
 		return (x86_rdrand_store);
 	else
-		return (NULL);
+		return (x86_unimpl_store);
 }
 
 /* It is required that buf length is a multiple of sizeof(u_long). */


More information about the svn-src-head mailing list