sandbox: Unprotect DATA regions in bus tests
On my Ubuntu 18.04.1 machine two driver-model bus tests have started failing recently. The problem appears to be that the DATA region of the executable is protected. This does not seem correct, but perhaps there is a reason. To work around it, unprotect the regions in these tests before accessing them. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -636,3 +636,14 @@ void os_abort(void)
|
||||
{
|
||||
abort();
|
||||
}
|
||||
|
||||
int os_mprotect_allow(void *start, size_t len)
|
||||
{
|
||||
int page_size = getpagesize();
|
||||
|
||||
/* Move start to the start of a page, len to the end */
|
||||
start = (void *)(((ulong)start) & ~(page_size - 1));
|
||||
len = (len + page_size * 2) & ~(page_size - 1);
|
||||
|
||||
return mprotect(start, len, PROT_READ | PROT_WRITE);
|
||||
}
|
||||
|
Reference in New Issue
Block a user