Skip to content
  • Julian Lettner's avatar
    [ASan] Do not misrepresent high value address dereferences as null dereferences · b577efe4
    Julian Lettner authored
    Dereferences with addresses above the 48-bit hardware addressable range
    produce "invalid instruction" (instead of "invalid access") hardware
    exceptions (there is no hardware address decoding logic for those bits),
    and the address provided by this exception is the address of the
    instruction (not the faulting address).  The kernel maps the "invalid
    instruction" to SEGV, but fails to provide the real fault address.
    
    Because of this ASan lies and says that those cases are null
    dereferences.  This downgrades the severity of a found bug in terms of
    security.  In the ASan signal handler, we can not provide the real
    faulting address, but at least we can try not to lie.
    
    rdar://50366151
    
    Reviewed By: vitalybuka
    
    Differential Revision: https://reviews.llvm.org/D68676
    
    llvm-svn: 374265
    b577efe4
Loading