提交 8ad8f31b 编写于 作者: J Jason A. Donenfeld 提交者: Zheng Zengkai

nios2: use fallback for random_get_entropy() instead of zero

stable inclusion
from stable-v5.10.119
commit 0b93f40cbe9712563bb15329768bd73c9c19ac03
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I5L6BB

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0b93f40cbe9712563bb15329768bd73c9c19ac03

--------------------------------

commit c04e7270 upstream.

In the event that random_get_entropy() can't access a cycle counter or
similar, falling back to returning 0 is really not the best we can do.
Instead, at least calling random_get_entropy_fallback() would be
preferable, because that always needs to return _something_, even
falling back to jiffies eventually. It's not as though
random_get_entropy_fallback() is super high precision or guaranteed to
be entropic, but basically anything that's not zero all the time is
better than returning zero all the time.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Acked-by: NDinh Nguyen <dinguyen@kernel.org>
Signed-off-by: NJason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
Acked-by: NXie XiuQi <xiexiuqi@huawei.com>
上级 3190f2e4
...@@ -8,5 +8,8 @@ ...@@ -8,5 +8,8 @@
typedef unsigned long cycles_t; typedef unsigned long cycles_t;
extern cycles_t get_cycles(void); extern cycles_t get_cycles(void);
#define get_cycles get_cycles
#define random_get_entropy() (((unsigned long)get_cycles()) ?: random_get_entropy_fallback())
#endif #endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册