/* Create a private anonymous mapping. The memory will be *demand-zeropaged--thatis,notyetallocated.Whenwe *actuallytouchthememory,itwillbeallocatedvia *theuserfaultfd.
*/
ksft_print_msg("Address returned by mmap() = %p\n", addr);
/* Register the memory range of the mapping we just created for *handlingbytheuserfaultfdobject.Inmode,werequesttotrack *missingpages(i.e.,pagesthathavenotyetbeenfaultedin).
*/ if (uffd_register(uffd, addr, len, true, false, false))
ksft_exit_fail_msg("ioctl-UFFDIO_REGISTER: %s\n", strerror(errno));
}
int main(int argc, char *argv[])
{
size_t length = 0; int ret = 0, fd;
/* Read memory length as the first arg if valid, otherwise fallback to *thedefaultlength.
*/ if (argc >= 2)
length = (size_t)atoi(argv[1]); else
length = DEFAULT_LENGTH_MB;
ksft_print_msg("Mremap: Returned address is %p\n", addr);
check_bytes(addr);
write_bytes(addr, length);
ret = read_bytes(addr, length);
munmap(addr, length);
addr = mremap(addr, length, length, 0); if (addr != MAP_FAILED)
ksft_exit_fail_msg("mremap: Expected failure, but call succeeded\n");
close(fd);
ksft_test_result(!ret, "Read same data\n");
ksft_exit(!ret);
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.13Bemerkung:
(vorverarbeitet am 2026-10-12)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.