buf = mmap(0, page_size, PROT_WRITE, MAP_SHARED, rwfd, 0);
assert(buf != (char *)-1);
- status |= attempt_rw(rwfd, buf, SIZE, 0, READ, SIZE);
-
/* Whether PROT_WRITE is readable is arch-dependent. So compare
* against read result. */
res = read(rwfd, buf, SIZE);
if (res < 0)
res = -errno;
- status |= attempt_rw(rwfd, buf, SIZE, 0, WRITE, res);
+ status |= attempt_rw(rwfd, buf, SIZE, 0, READ, res);
+
+ status |= attempt_rw(rwfd, buf, SIZE, 0, WRITE, SIZE);
return status;
}