Re: [RFC PATCH 1/3] mm: Introduce VM_IBT for CET legacy code bitmap

From: Andy Lutomirski
Date: Fri Jun 28 2019 - 17:49:37 EST




> On Jun 28, 2019, at 12:41 PM, Yu-cheng Yu <yu-cheng.yu@xxxxxxxxx> wrote:
>
> The previous discussion of the IBT legacy code bitmap is here:
>
> https://lkml.org/lkml/2019/6/6/1032
>
> When CET Indirect Branch Tracking (IBT) is enabled, the processor expects
> every branch target is an ENDBR instruction, or the target's address is
> marked as legacy in the legacy code bitmap. The bitmap covers the whole
> user-mode address space (TASK_SIZE_MAX for 64-bit, TASK_SIZE for IA32),
> and each bit represents one page of linear address range.
>
> This patch introduces VM_IBT for the bitmap.

Thereâs no need to allocate a bit for this and to clutter up the fault code with special cases. Use _install_special_mapping(), please. If you need to make it more flexible to cover your use case, please do so.