[bionic:linux-azure-4.15, focal:linux-azure] LP:#1913294 - Sync FSGSBASE patches in azure kernel with mainline

Marcelo Henrique Cerri marcelo.cerri at canonical.com
Tue Jan 26 13:17:12 UTC 2021


BugLink: https://bugs.launchpad.net/bugs/1913294

Some of the patches are already applied. For 5.8 specifically, not
change is necessary because we dropped our sauce patches when
preparing groovy:linux-azure and picked all the changes from upstream
up to 5.9.

For 5.4 (focal:linux-azure) the changes are clean cherry-picks. For
4.15 (bionic:linux-azure-4.15) one additional change that was
introduced in 4.17 was necessary and one patch had to backport just to
adjust context.

Testing was performed by Microsoft that confirmed the changes are ok.

As bug description:

[Impact]

To include the missing upstream patches to the 4.15 and 5.4 kernel.

* x86/entry/64: Do not use RDPID in paranoid entry to accommodate KVM:
- occasional random failure when running KVM
* x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task
- Google folks found this when running their fuzzy test cases. Don't know how realistic this can hit.
* x86/fsgsbase: Fix Xen PV support
* x86/process/64: Make save_fsgs_for_kvm() ready for FSGSBASE
- these two are for VMMs.

Some of these are already included in our azure kernels. 5.8 doesn't
need them because we already synced with upstream while preparing it.

[Test Case]

Since we are syncing with mainline a boot test and a regression test
in ACC instances should be enough to confirm the changes are working.

Since these instances are not publicly available yet, Msft is helping
us to test this changes.

[Where problems could occur]

This affects the SGX driver that is only available on ACC instances
(which is not widely used yet).

---
Sean Christopherson (1):
  x86/entry/64: Do not use RDPID in paranoid entry to accomodate KVM

Thomas Gleixner (1):
  x86/process/64: Make save_fsgs_for_kvm() ready for FSGSBASE

 arch/x86/entry/calling.h         | 10 ++++++----
 arch/x86/include/asm/processor.h |  4 +---
 arch/x86/kernel/process_64.c     | 15 +++++++++------
 arch/x86/kvm/vmx/vmx.c           |  2 +-
 4 files changed, 17 insertions(+), 14 deletions(-)

-- 
2.25.1




More information about the kernel-team mailing list