Public bug reported: X86 has instructions (RDFSBASE, RDGSBASE, WRFSBASE, and WRGSBASE) to support read/write of the FS/GS bases. Linux doesn't allow user mode code to execute these instructions by default. These instructions can be enabled for user mode by setting the 16th control bit of the CR4 register. Since only protected mode can modify the control registers, application programs and operating-system procedures (running at privilege levels 1, 2, or 3) are prevented from reading or loading the control registers. The kernel patch sets this CR4 register and handles the context switching to account for the fact that user mode can now modify the FS/GS base.
A recent news article that talks about the performance benefits: https://phoronix.com/scan.php?page=news_item&px=Intel-FSGSBASE- Linux-2020. Another news article covers the performance information in a lot more detail by running a number of performance tests: https://www.phoronix.com/scan.php?page=article&item=linux-wip- fsgsbase&num=1 Patch set: https://lkml.org/lkml/2019/10/4/725 ** Affects: linux-azure (Ubuntu) Importance: Undecided Assignee: Marcelo Cerri (mhcerri) Status: In Progress ** Affects: linux-azure-4.15 (Ubuntu) Importance: Undecided Status: In Progress ** Affects: linux-azure (Ubuntu Bionic) Importance: Undecided Status: Invalid ** Affects: linux-azure-4.15 (Ubuntu Bionic) Importance: Undecided Status: In Progress ** Affects: linux-azure (Ubuntu Eoan) Importance: Undecided Status: In Progress ** Affects: linux-azure-4.15 (Ubuntu Eoan) Importance: Undecided Status: Invalid ** Affects: linux-azure (Ubuntu Focal) Importance: Undecided Status: In Progress ** Affects: linux-azure-4.15 (Ubuntu Focal) Importance: Undecided Status: Invalid ** Also affects: linux-azure-4.15 (Ubuntu) Importance: Undecided Status: New ** Also affects: linux-azure (Ubuntu Focal) Importance: Undecided Status: New ** Also affects: linux-azure-4.15 (Ubuntu Focal) Importance: Undecided Status: New ** Also affects: linux-azure (Ubuntu Eoan) Importance: Undecided Status: New ** Also affects: linux-azure-4.15 (Ubuntu Eoan) Importance: Undecided Status: New ** Also affects: linux-azure (Ubuntu Bionic) Importance: Undecided Status: New ** Also affects: linux-azure-4.15 (Ubuntu Bionic) Importance: Undecided Status: New ** Changed in: linux-azure (Ubuntu Bionic) Status: New => Invalid ** Changed in: linux-azure-4.15 (Ubuntu Eoan) Status: New => Invalid ** Changed in: linux-azure-4.15 (Ubuntu Focal) Status: New => Invalid ** Changed in: linux-azure (Ubuntu Eoan) Status: New => In Progress ** Changed in: linux-azure (Ubuntu Focal) Status: New => In Progress ** Changed in: linux-azure-4.15 (Ubuntu) Status: New => In Progress ** Changed in: linux-azure-4.15 (Ubuntu Bionic) Status: New => In Progress -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1877425 Title: linux-azure: Enable FSGSBASE instructions to support SGX To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-azure/+bug/1877425/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs