Re: [PATCH] x86/ldt: Fix support_pte_mask filtering in map_ldt_struct()

Michal Kubecek
2018-04-19T14:58:36Z

On Thu, Apr 19, 2018 at 04:11:34PM +0200, Joerg Roedel wrote:
> On Thu, Apr 19, 2018 at 03:00:11PM +0200, Borislav Petkov wrote:
> > fb43d6cb91ef x86/mm: Do not auto-massage page protections <--- NOT OK
>
> Hmm, that hunk from above patch looks suspicious:
>
> - set_pgd(pgd + pgd_index(restore_jump_address), __pgd(__pa(pud) | _KERNPG_TABLE));
> + pgd_t new_pgd = __pgd(__pa(p4d) | pgprot_val(pgtable_prot));
> + set_pgd(pgd + pgd_index(restore_jump_address), new_pgd);
>
> The old code used __pa(pud) while the new one uses __pa(p4d).
>
> Boris, can you change that back to __pa(pud) and test please?

I had the same problem with v4.17-rc1 and fb43d6cb91ef and the change
you suggested applied on top of

(a) fb43d6cb91ef with cherry-picked e6f39e87b643
(b) current master (87ef12027b9b)

fixes the resume on my system.

Michal Kubecek