On 03/10/19 23:23, Rick Edgecombe wrote:
> +
> +     protection_map[4] = PAGE_EXECONLY;
> +     protection_map[12] = PAGE_EXECONLY;

Can you add #defines for the bits in protection_map?  Also perhaps you
can replace the p_xo/p_xr/s_xo/s_xr checks with just with "if
(pgtable_kvmxo_enabled()".

Paolo

> +     /* Prefer non-pkey XO capability if available, to save a pkey */
> +
> +     if (flags & MAP_PRIVATE && (p_xo != p_xr))
> +             return 0;
> +
> +     if (flags & MAP_SHARED && (s_xo != s_xr))
> +             return 0;
>
> +     pkey = execute_only_pkey(current->mm);
> +     if (pkey < 0)

Reply via email to