Messages in this thread | | | From | Seiji Aguchi <> | Subject | RE: efi_pstore: question about how to remove create_sysfs_entry() from a write callback. | Date | Tue, 14 Aug 2012 18:51:59 +0000 |
| |
> 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
| |