]> asedeno.scripts.mit.edu Git - linux.git/commit
efi/x86: drop task_lock() from efi_switch_mm()
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Tue, 24 Jul 2018 19:28:55 +0000 (21:28 +0200)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 26 Sep 2018 10:14:57 +0000 (12:14 +0200)
commit4eda11175fd9241908efb523b7f6e8a7c15afdb7
tree7b1fbff2adbc65fe47a3a9d0b5156ba9f5a7fe07
parent3425d934fc0312f62024163736a7afe4de20c10f
efi/x86: drop task_lock() from efi_switch_mm()

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>
arch/x86/platform/efi/efi_64.c