mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-03 17:40:04 +00:00
![Richard Henderson](/assets/img/avatar_default.png)
We must not use the pointer output without validating the success of the random read. Acked-by: Michael Ellerman <mpe@ellerman.id.au> Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20200110145422.49141-10-broonie@kernel.org Signed-off-by: Theodore Ts'o <tytso@mit.edu>
49 lines
1 KiB
C
49 lines
1 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_POWERPC_ARCHRANDOM_H
|
|
#define _ASM_POWERPC_ARCHRANDOM_H
|
|
|
|
#ifdef CONFIG_ARCH_RANDOM
|
|
|
|
#include <asm/machdep.h>
|
|
|
|
static inline bool __must_check arch_get_random_long(unsigned long *v)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
static inline bool __must_check arch_get_random_int(unsigned int *v)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
static inline bool __must_check arch_get_random_seed_long(unsigned long *v)
|
|
{
|
|
if (ppc_md.get_random_seed)
|
|
return ppc_md.get_random_seed(v);
|
|
|
|
return false;
|
|
}
|
|
|
|
static inline bool __must_check arch_get_random_seed_int(unsigned int *v)
|
|
{
|
|
unsigned long val;
|
|
bool rc;
|
|
|
|
rc = arch_get_random_seed_long(&val);
|
|
if (rc)
|
|
*v = val;
|
|
|
|
return rc;
|
|
}
|
|
#endif /* CONFIG_ARCH_RANDOM */
|
|
|
|
#ifdef CONFIG_PPC_POWERNV
|
|
int powernv_hwrng_present(void);
|
|
int powernv_get_random_long(unsigned long *v);
|
|
int powernv_get_random_real_mode(unsigned long *v);
|
|
#else
|
|
static inline int powernv_hwrng_present(void) { return 0; }
|
|
static inline int powernv_get_random_real_mode(unsigned long *v) { return 0; }
|
|
#endif
|
|
|
|
#endif /* _ASM_POWERPC_ARCHRANDOM_H */
|