svn commit: r354913 - head/sys/dev/random
Conrad Meyer
cem at FreeBSD.org
Wed Nov 20 19:55:44 UTC 2019
Author: cem
Date: Wed Nov 20 19:55:43 2019
New Revision: 354913
URL: https://svnweb.freebsd.org/changeset/base/354913
Log:
random/ivy: Trivial refactoring
It is clearer to me to return success/error (true/false) instead of some
retry count linked to the inline assembly implementation.
No functional change.
Approved by: core(csprng) => csprng(markm)
Differential Revision: https://reviews.freebsd.org/D22454
Modified:
head/sys/dev/random/ivy.c
Modified: head/sys/dev/random/ivy.c
==============================================================================
--- head/sys/dev/random/ivy.c Wed Nov 20 19:43:34 2019 (r354912)
+++ head/sys/dev/random/ivy.c Wed Nov 20 19:55:43 2019 (r354913)
@@ -59,7 +59,7 @@ static struct random_source random_ivy = {
.rs_read = random_ivy_read
};
-static int
+static bool
x86_rdrand_store(u_long *buf)
{
u_long rndval;
@@ -75,10 +75,10 @@ x86_rdrand_store(u_long *buf)
"2:"
: "+r" (retry), "=r" (rndval) : : "cc");
*buf = rndval;
- return (retry);
+ return (retry != 0);
}
-static int
+static bool
x86_rdseed_store(u_long *buf)
{
u_long rndval;
@@ -94,17 +94,17 @@ x86_rdseed_store(u_long *buf)
"2:"
: "+r" (retry), "=r" (rndval) : : "cc");
*buf = rndval;
- return (retry);
+ return (retry != 0);
}
-static int
+static bool
x86_unimpl_store(u_long *buf __unused)
{
panic("%s called", __func__);
}
-DEFINE_IFUNC(static, int, x86_rng_store, (u_long *buf))
+DEFINE_IFUNC(static, bool, x86_rng_store, (u_long *buf))
{
has_rdrand = (cpu_feature2 & CPUID2_RDRAND);
has_rdseed = (cpu_stdext_feature & CPUID_STDEXT_RDSEED);
@@ -127,7 +127,7 @@ random_ivy_read(void *buf, u_int c)
KASSERT(c % sizeof(*b) == 0, ("partial read %d", c));
b = buf;
for (count = c; count > 0; count -= sizeof(*b)) {
- if (x86_rng_store(&rndval) == 0)
+ if (!x86_rng_store(&rndval))
break;
*b++ = rndval;
}
More information about the svn-src-all
mailing list