вернуть NULL, если памяти не хватает. Что сделали в ядре? Правильно, сказали нехер и стали всегда возвращать указатель на память, даже если ее нет.
Если ты хочешь 100% получить память - ты можешь её получить mmap + map_populate. Тогда ты 100% получишь память, либо ошибку, если памяти не хватает.
более детальное обсуждение по ссылке.