Given the cluster of text allocpagegfpatomic , there is no space – but likely the intended signature is:
More plausibly, void is the return type: the allocator but modifies a pre-allocated pointer passed by reference (out-parameter).
while (1) void *head = atomic_load_explicit(&room->free_pages, memory_order_acquire); if (head == NULL) return NULL; // GFP_ATOMIC prevents reclaim define labyrinth void allocpagegfpatomic exclusive
It is important to clarify at the outset that the exact phrase does not correspond to a standard, pre-existing function, macro, or data structure in any mainstream programming language (C, C++, Rust, Zig), memory allocator (jemalloc, mimalloc), or kernel API (Linux, FreeBSD, NT).
void *alloc_page_gfp_atomic_exclusive(labyrinth *ctx); Or as a macro: #define labyrinth_void_alloc(...) Given the cluster of text allocpagegfpatomic , there
labyrinth_t rx_pool; // initialization omitted irqreturn_t handle_packet(...) void *page = alloc_labyrinth_page_atomic_exclusive(&rx_pool, GFP_ATOMIC); if (!page) return IRQ_NONE; // drop packet fill_skb(page); netif_rx(skb); return IRQ_HANDLED;
Instead, this keyword string appears to be a — likely a search query from a developer trying to troubleshoot or design a fragment of a custom memory allocator, a lock-free data structure inside a kernel module, or a page allocator for a custom OS. typedef struct labyrinth void *entrance; // base address
typedef struct labyrinth void *entrance; // base address of first page block struct labyrinth_room **rooms; // indirect index of free pages atomic_uint_least64_t version; // for atomic exclusivity labyrinth_t; In C, void as a return type means the function returns nothing. But void in parentheses ( allocpagegfpatomic(void) ) would mean no parameters.