random: use for_each_online_node() to iterate over NUMA nodes
This fixes a crash on s390 with fake NUMA enabled.
Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Fixes: 1e7f583af6
("random: make /dev/urandom scalable for silly userspace programs")
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
86a574de45
commit
59b8d4f1f5
|
@ -1668,13 +1668,12 @@ static int rand_initialize(void)
|
|||
#ifdef CONFIG_NUMA
|
||||
pool = kmalloc(num_nodes * sizeof(void *),
|
||||
GFP_KERNEL|__GFP_NOFAIL|__GFP_ZERO);
|
||||
for (i=0; i < num_nodes; i++) {
|
||||
for_each_online_node(i) {
|
||||
crng = kmalloc_node(sizeof(struct crng_state),
|
||||
GFP_KERNEL | __GFP_NOFAIL, i);
|
||||
spin_lock_init(&crng->lock);
|
||||
crng_initialize(crng);
|
||||
pool[i] = crng;
|
||||
|
||||
}
|
||||
mb();
|
||||
crng_node_pool = pool;
|
||||
|
|
Loading…
Reference in New Issue