From: Justin M. Forbes <[email protected]>
Revert "crypto: rng - Override drivers/char/random in FIPS mode"
This reverts commit 427c8a54adcb92826faca4c40ef4591fe87e2fdf.
diff --git a/crypto/rng.c b/crypto/rng.c
index blahblah..blahblah 100644
--- a/crypto/rng.c
+++ b/crypto/rng.c
@@ -11,17 +11,14 @@
#include <linux/atomic.h>
#include <crypto/internal/rng.h>
#include <linux/err.h>
-#include <linux/fips.h>
-#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/random.h>
#include <linux/seq_file.h>
-#include <linux/sched.h>
-#include <linux/sched/signal.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/cryptouser.h>
+#include <linux/compiler.h>
#include <net/netlink.h>
#include "internal.h"
@@ -227,73 +224,5 @@ void crypto_unregister_rngs(struct rng_alg *algs, int
count)
}
EXPORT_SYMBOL_GPL(crypto_unregister_rngs);
-static ssize_t crypto_devrandom_read(void __user *buf, size_t buflen)
-{
- u8 tmp[256];
- ssize_t ret;
-
- if (!buflen)
- return 0;
-
- ret = crypto_get_default_rng();
- if (ret)
- return ret;
-
- for (;;) {
- int err;
- int i;
-
- i = min_t(int, buflen, sizeof(tmp));
- err = crypto_rng_get_bytes(crypto_default_rng, tmp, i);
- if (err) {
- ret = err;
- break;
- }
-
- if (copy_to_user(buf, tmp, i)) {
- ret = -EFAULT;
- break;
- }
-
- buflen -= i;
- buf += i;
- ret += i;
-
- if (!buflen)
- break;
-
- if (need_resched()) {
- if (signal_pending(current))
- break;
- schedule();
- }
- }
-
- crypto_put_default_rng();
- memzero_explicit(tmp, sizeof(tmp));
-
- return ret;
-}
-
-static const struct random_extrng crypto_devrandom_rng = {
- .extrng_read = crypto_devrandom_read,
- .owner = THIS_MODULE,
-};
-
-static int __init crypto_rng_init(void)
-{
- if (fips_enabled)
- random_register_extrng(&crypto_devrandom_rng);
- return 0;
-}
-
-static void __exit crypto_rng_exit(void)
-{
- random_unregister_extrng();
-}
-
-late_initcall(crypto_rng_init);
-module_exit(crypto_rng_exit);
-
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Random Number Generator");
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1809
_______________________________________________
kernel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam on the list, report it:
https://pagure.io/fedora-infrastructure