efi_switch_mm() is a wrapper around switch_mm() which saves current's ->active_mm, sets the requests mm as ->active_mm and invokes switch_mm(). I don't think that task_lock() is required during that procedure. It protects ->mm which isn't changed here. It needs to be mentioned that during the whole procedure (switch to EFI's mm and back) the preemption needs to be disabled. A context switch at this point would reset the cr3 value based on current->mm. Also, this function may not be invoked at the same time on a different CPU because it would overwrite the efi_scratch.prev_mm information. Remove task_lock() and also update the comment to reflect it. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> |
||
---|---|---|
.. | ||
atom | ||
ce4100 | ||
efi | ||
geode | ||
goldfish | ||
intel | ||
intel-mid | ||
intel-quark | ||
iris | ||
olpc | ||
scx200 | ||
sfi | ||
ts5500 | ||
uv | ||
Makefile |