forked from Minki/linux
random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs
Rather than an awkward combination of ifdefs and __maybe_unused, we can ensure more source gets parsed, regardless of the configuration, by using IS_ENABLED for the CONFIG_NUMA conditional code. This makes things cleaner and easier to follow. I've confirmed that on !CONFIG_NUMA, we don't wind up with excess code by accident; the generated object file is the same. Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
161212c7fd
commit
7b87324112
@ -759,7 +759,6 @@ static int credit_entropy_bits_safe(struct entropy_store *r, int nbits)
|
||||
|
||||
static DECLARE_WAIT_QUEUE_HEAD(crng_init_wait);
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
/*
|
||||
* Hack to deal with crazy userspace progams when they are all trying
|
||||
* to access /dev/urandom in parallel. The programs are almost
|
||||
@ -767,7 +766,6 @@ static DECLARE_WAIT_QUEUE_HEAD(crng_init_wait);
|
||||
* their brain damage.
|
||||
*/
|
||||
static struct crng_state **crng_node_pool __read_mostly;
|
||||
#endif
|
||||
|
||||
static void invalidate_batched_entropy(void);
|
||||
static void numa_crng_init(void);
|
||||
@ -815,7 +813,7 @@ static bool __init crng_init_try_arch_early(struct crng_state *crng)
|
||||
return arch_init;
|
||||
}
|
||||
|
||||
static void __maybe_unused crng_initialize_secondary(struct crng_state *crng)
|
||||
static void crng_initialize_secondary(struct crng_state *crng)
|
||||
{
|
||||
chacha_init_consts(crng->state);
|
||||
_get_random_bytes(&crng->state[4], sizeof(__u32) * 12);
|
||||
@ -866,7 +864,6 @@ static void crng_finalize_init(struct crng_state *crng)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
static void do_numa_crng_init(struct work_struct *work)
|
||||
{
|
||||
int i;
|
||||
@ -893,29 +890,24 @@ static DECLARE_WORK(numa_crng_init_work, do_numa_crng_init);
|
||||
|
||||
static void numa_crng_init(void)
|
||||
{
|
||||
schedule_work(&numa_crng_init_work);
|
||||
if (IS_ENABLED(CONFIG_NUMA))
|
||||
schedule_work(&numa_crng_init_work);
|
||||
}
|
||||
|
||||
static struct crng_state *select_crng(void)
|
||||
{
|
||||
struct crng_state **pool;
|
||||
int nid = numa_node_id();
|
||||
if (IS_ENABLED(CONFIG_NUMA)) {
|
||||
struct crng_state **pool;
|
||||
int nid = numa_node_id();
|
||||
|
||||
/* pairs with cmpxchg_release() in do_numa_crng_init() */
|
||||
pool = READ_ONCE(crng_node_pool);
|
||||
if (pool && pool[nid])
|
||||
return pool[nid];
|
||||
/* pairs with cmpxchg_release() in do_numa_crng_init() */
|
||||
pool = READ_ONCE(crng_node_pool);
|
||||
if (pool && pool[nid])
|
||||
return pool[nid];
|
||||
}
|
||||
|
||||
return &primary_crng;
|
||||
}
|
||||
#else
|
||||
static void numa_crng_init(void) {}
|
||||
|
||||
static struct crng_state *select_crng(void)
|
||||
{
|
||||
return &primary_crng;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* crng_fast_load() can be called by code in the interrupt service
|
||||
|
Loading…
Reference in New Issue
Block a user