]> git.baikalelectronics.ru Git - kernel.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)
commit85be9cb02073081770fc8a5171ea57cf4a6c9801
tree7b1fbff2adbc65fe47a3a9d0b5156ba9f5a7fe07
parent758e32faf33071d7aa6fde398d6f3c0384689fea
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