lkml.org 
[lkml]   [2018]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 24/35] x86/mm/pti: Add an overflow check to pti_clone_pmds()
    Date
    From: Joerg Roedel <jroedel@suse.de>

    The addr counter will overflow if we clone the last PMD of
    the address space, resulting in an endless loop.

    Check for that and bail out of the loop when it happens.

    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    ---
    arch/x86/mm/pti.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/arch/x86/mm/pti.c b/arch/x86/mm/pti.c
    index 9bea9c3..f967b51 100644
    --- a/arch/x86/mm/pti.c
    +++ b/arch/x86/mm/pti.c
    @@ -297,6 +297,10 @@ pti_clone_pmds(unsigned long start, unsigned long end, pmdval_t clear)
    p4d_t *p4d;
    pud_t *pud;

    + /* Overflow check */
    + if (addr < start)
    + break;
    +
    pgd = pgd_offset_k(addr);
    if (WARN_ON(pgd_none(*pgd)))
    return;
    --
    2.7.4
    \
     
     \ /
      Last update: 2018-04-16 17:30    [W:4.049 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site