|
From: Seiji A. <sei...@hd...> - 2012-08-14 18:52:12
|
> Can we not serialize this with &efivars->lock if it is updated to disable interrupts? A loop in the workqueue that locks, iterates through
> ->get_next_variable, and compares against searches in
> efivars->list should work, no?
If my understanding is correct, your pseudo code is as follows.
spin_lock_irqsave(&efivars_lock);
do {
get_next_variable();
if (found new entry)
efivars_create_sysfs_entries();
} while()
spin_lock_irqrestore(&efivars_lock);
But, memory is allocated dynamically with kzalloc() in efivars_create_sysfs_entries().
I don't want to allocate memory while holding spin_lock.
Please let me know if I'm missing something.
Seiji
|