• Antonio Nino Diaz's avatar
    xlat v2: Correctly unmap regions on map error · 96abc22b
    Antonio Nino Diaz authored
    
    
    `mm_cursor` doesn't have the needed data because the `memmove()` that
    is called right before it overwrites that information. In order to get
    the information of the region that was being mapped, `mm` has to be used
    instead (like it is done to fill the fields of `unmap_mm`).
    
    If the incorrect information is read, this check isn't reliable and
    `xlat_tables_unmap_region` may be requested to unmap memory that isn't
    mapped at all, triggering assertions.
    
    Change-Id: I602d4ac83095d4e5dac9deb34aa5d00d00e6c289
    Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
    96abc22b
xlat_tables_internal.c 43.1 KB