Changeset 917a8c8 in mainline


Ignore:
Timestamp:
2011-03-30T16:25:30Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
27bdfa5, 73aec008, beb6b3d
Parents:
563b538
Message:

be more robust in ELF backend, add checks (with page faults) instead of asserts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/mm/backend_elf.c

    r563b538 r917a8c8  
    9191        if (!as_area_check_access(area, access))
    9292                return AS_PF_FAULT;
    93 
    94         ASSERT(addr >= ALIGN_DOWN(entry->p_vaddr, PAGE_SIZE));
    95         ASSERT(addr < entry->p_vaddr + entry->p_memsz);
     93       
     94        if (addr < ALIGN_DOWN(entry->p_vaddr, PAGE_SIZE))
     95                return AS_PF_FAULT;
     96       
     97        if (addr >= entry->p_vaddr + entry->p_memsz)
     98                return AS_PF_FAULT;
     99       
    96100        i = (addr - ALIGN_DOWN(entry->p_vaddr, PAGE_SIZE)) >> PAGE_WIDTH;
    97101        base = (uintptr_t)
Note: See TracChangeset for help on using the changeset viewer.