if (!ASSERT_EQ(mprotect(raw_data, btf_size, PROT_READ | PROT_WRITE), -1, "mprotect_writable")) goto cleanup;
if (!ASSERT_EQ(mprotect(raw_data, btf_size, PROT_READ | PROT_EXEC), -1, "mprotect_executable")) goto cleanup;
/* Check padding is zeroed */ for (int i = btf_size; i < end; i++) { if (((__u8 *)raw_data)[i] != 0) {
PRINT_FAIL("tail of BTF is not zero at page offset %d\n", i); goto cleanup;
}
}
btf = btf__new_split(raw_data, btf_size, base); if (!ASSERT_OK_PTR(btf, "parse_btf")) goto cleanup;
cleanup:
btf__free(btf); if (raw_data && raw_data != MAP_FAILED)
munmap(raw_data, btf_size); if (fd >= 0)
close(fd);
}
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.