/* Reserve the same page twice, should return -EBUSY. */
SEC("syscall")
__success __retval(0) int reserve_twice(void *ctx)
{ #ifdefined(__BPF_FEATURE_ADDR_SPACE_CAST) char __arena *page; int ret;
page = arena_base(&arena);
ret = bpf_arena_reserve_pages(&arena, page, 1); if (ret) return1;
ret = bpf_arena_reserve_pages(&arena, page, 1); if (ret != -EBUSY) return2; #endif return0;
}
/* Try to reserve past the end of the arena. */
SEC("syscall")
__success __retval(0) int reserve_invalid_region(void *ctx)
{ #ifdefined(__BPF_FEATURE_ADDR_SPACE_CAST) char __arena *page; int ret;
/* Try a NULL pointer. */
ret = bpf_arena_reserve_pages(&arena, NULL, 3); if (ret != -EINVAL) return1;
page = arena_base(&arena);
ret = bpf_arena_reserve_pages(&arena, page, 3); if (ret != -EINVAL) return2;
ret = bpf_arena_reserve_pages(&arena, page, 4096); if (ret != -EINVAL) return3;
ret = bpf_arena_reserve_pages(&arena, page, (1ULL << 32) - 1); if (ret != -EINVAL) return4; #endif return0;
}
if (!map) return0;
bpf_arena_alloc_pages(map->inner_map_meta, NULL, map->max_entries, 0, 0); return0;
}
char _license[] SEC("license") = "GPL";
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.17Bemerkung:
(vorverarbeitet am 2026-10-11)
¤
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.