HomePhabricator

[sanitizer] Change Mmap*NoAccess to return nullptr on error

Description

[sanitizer] Change Mmap*NoAccess to return nullptr on error

Summary:
MmapNoAccess & MmapFixedNoAccess return directly the result of
internal_mmap, as opposed to other Mmap functions that return nullptr.

This inconsistency leads to some confusion for the callers, as some check for
~(uptr)0 (MAP_FAILED) for failure (while it can fail with -ENOMEM for
example).

Two potential solutions: change the callers, or make the functions return
nullptr on failure to follow the precedent set by the other functions.
The second option looked more appropriate to me.

Correct the callers that were wrongly checking for ~(uptr)0 or
MAP_FAILED.

TODO for follow up CLs:

  • There are a couple of internal_mmap calls in XRay that check for MMAP_FAILED as a result as well (cc: @dberris); they should use internal_iserror;

Reviewers: eugenis, alekseyshl, dberris, kubamracek

Reviewed By: alekseyshl

Subscribers: kristina, kubamracek, delcypher, #sanitizers, dberris, llvm-commits

Differential Revision: https://reviews.llvm.org/D50940

Details

Committed
cryptoadAug 23 2018, 2:13 PM
Reviewer
alekseyshl
Differential Revision
D50940: [sanitizer] Change Mmap*NoAccess to return nullptr on error
Parents
rL340575: Remove unnecessary const_cast [NFC]
Branches
Unknown
Tags
Unknown