Re: [PATCH 0/2] x86/entry: simplify RESTORE_CR3

From: Andy Lutomirski
Date: Fri May 29 2020 - 14:17:37 EST


On Mon, May 25, 2020 at 9:35 PM Lai Jiangshan <laijs@xxxxxxxxxxxxxxxxx> wrote:
>
> When I searched percpu data touched by entry code for #DB
> protection[1], it seems to me RESTORE_CR3() does too much work,
> this patchset simplifies it.
>
> Patch 1 enhances 21e944591102("x86/mm: Optimize RESTORE_CR3") for
> kernel CR3.
>
> Patch 2 *reverts* 21e944591102("x86/mm: Optimize RESTORE_CR3") for
> User CR3.

This series looks correct, but I don't think it's 5.8 material. I
also want to try moving all this code to C, so it's possible this
little series will become obsolete.

>
> Cc: Andy Lutomirski <luto@xxxxxxxxxx>
> Cc: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: x86@xxxxxxxxxx
> Link: https://lore.kernel.org/lkml/20200525145102.122557-1-laijs@xxxxxxxxxxxxxxxxx
> Lai Jiangshan (2):
> x86/entry: Don't write to CR3 when restoring to kernel CR3
> x86/entry: always flush user CR3 in RESTORE_CR3
>
> arch/x86/entry/calling.h | 36 ++++++++----------------------------
> arch/x86/entry/entry_64.S | 6 +++---
> 2 files changed, 11 insertions(+), 31 deletions(-)
>
> --
> 2.20.1
>