summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2017-11-29 15:23:48 -0500
committerPaul Gortmaker <paul.gortmaker@windriver.com>2017-11-29 15:23:48 -0500
commitdd437364ef91693b06274069f1025306a7dfb8ea (patch)
tree926368d855ba36ca003e0e14ac5a510cc425ff94
parent5b748fc1a98b2b78d4a67855120b8e8a28cd3303 (diff)
download4.12-rt-patches-dd437364ef91693b06274069f1025306a7dfb8ea.tar.gz
random: another trivial context refreshrt-v4.12.15
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--patches/random-avoid-preempt_disable-ed-section.patch18
1 files changed, 9 insertions, 9 deletions
diff --git a/patches/random-avoid-preempt_disable-ed-section.patch b/patches/random-avoid-preempt_disable-ed-section.patch
index dd48dbfa109b9..53eb184e1e6a6 100644
--- a/patches/random-avoid-preempt_disable-ed-section.patch
+++ b/patches/random-avoid-preempt_disable-ed-section.patch
@@ -1,4 +1,4 @@
-From ffd80c5fc10ec6f31482dd42abc2e6aaa396fec0 Mon Sep 17 00:00:00 2001
+From e455fbaab7bf46ddde36f3ede5363e03327a316e Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 12 May 2017 15:46:17 +0200
Subject: [PATCH] random: avoid preempt_disable()ed section
@@ -11,7 +11,7 @@ Cc: stable-rt@vger.kernel.org # where it applies to
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
diff --git a/drivers/char/random.c b/drivers/char/random.c
-index f8794363e9c7..2267cebadf63 100644
+index d7f44305e33e..f0ed557c9d26 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -265,6 +265,7 @@
@@ -22,15 +22,15 @@ index f8794363e9c7..2267cebadf63 100644
#include <crypto/chacha20.h>
#include <asm/processor.h>
-@@ -2034,6 +2035,7 @@ static rwlock_t batched_entropy_reset_lock = __RW_LOCK_UNLOCKED(batched_entropy_
- * goal of being quite fast and not depleting entropy.
+@@ -2055,6 +2056,7 @@ static rwlock_t batched_entropy_reset_lock = __RW_LOCK_UNLOCKED(batched_entropy_
+ * at any point prior.
*/
static DEFINE_PER_CPU(struct batched_entropy, batched_entropy_u64);
+static DEFINE_LOCAL_IRQ_LOCK(batched_entropy_u64_lock);
u64 get_random_u64(void)
{
u64 ret;
-@@ -2050,7 +2052,7 @@ u64 get_random_u64(void)
+@@ -2071,7 +2073,7 @@ u64 get_random_u64(void)
return ret;
#endif
@@ -39,7 +39,7 @@ index f8794363e9c7..2267cebadf63 100644
if (use_lock)
read_lock_irqsave(&batched_entropy_reset_lock, flags);
if (batch->position % ARRAY_SIZE(batch->entropy_u64) == 0) {
-@@ -2060,12 +2062,13 @@ u64 get_random_u64(void)
+@@ -2081,12 +2083,13 @@ u64 get_random_u64(void)
ret = batch->entropy_u64[batch->position++];
if (use_lock)
read_unlock_irqrestore(&batched_entropy_reset_lock, flags);
@@ -54,7 +54,7 @@ index f8794363e9c7..2267cebadf63 100644
u32 get_random_u32(void)
{
u32 ret;
-@@ -2076,7 +2079,7 @@ u32 get_random_u32(void)
+@@ -2097,7 +2100,7 @@ u32 get_random_u32(void)
if (arch_get_random_int(&ret))
return ret;
@@ -63,7 +63,7 @@ index f8794363e9c7..2267cebadf63 100644
if (use_lock)
read_lock_irqsave(&batched_entropy_reset_lock, flags);
if (batch->position % ARRAY_SIZE(batch->entropy_u32) == 0) {
-@@ -2086,7 +2089,7 @@ u32 get_random_u32(void)
+@@ -2107,7 +2110,7 @@ u32 get_random_u32(void)
ret = batch->entropy_u32[batch->position++];
if (use_lock)
read_unlock_irqrestore(&batched_entropy_reset_lock, flags);
@@ -73,5 +73,5 @@ index f8794363e9c7..2267cebadf63 100644
}
EXPORT_SYMBOL(get_random_u32);
--
-2.1.4
+2.15.0