[lkml]   [2009]   [Feb]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH, v2] x86: use the right protections for split-up pagetables

    * Ingo Molnar <> wrote:

    > [...] There's never any good reason to play protection games
    > with higher-level pagetable entries. We dont do it to
    > user-space pagetables either - we just populate them to
    > _PAGE_TABLE and that's it.

    btw., this means that we could probably even use _PAGE_TABLE
    here (i.e. with the _PAGE_USER bit set), and rely on the PTE
    clearing the user bit ... but in this case that tiny bit of
    paranoia seems justified.

    Btw., i also checked when this bug got introduced, and it got
    introduced 5 years ago (in May 2004) in 2.6.7-rc1, via this
    commit [historic-git sha1]:

    fb75a3d: [PATCH] x86-64 updates

    Date: Fri May 14 20:40:53 2004 -0700

    - Handle NX bit for code pages correctly in change_page_attr()

    - set_pte(kpte,mk_pte(split, PAGE_KERNEL));
    + set_pte(kpte,mk_pte(split, ref_prot));

    ( That 'set_pte(kpte,...)' sequence is not a pte update but a
    _pmd_ update, it is the ex-largepage pte, i.e. the pmd. )

    So it's an ancient, dormant bug in the CPA code that nobody ever
    triggered, and we didnt notice when we rewrote that code either.


     \ /
      Last update: 2009-02-20 11:27    [W:0.030 / U:96.544 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site