Linux Audio

Check our new training course

Loading...
v4.17
 1// SPDX-License-Identifier: GPL-2.0
 2#include <linux/types.h>
 3#include <linux/init.h>
 4#include <linux/slab.h>
 5#include <linux/bootmem.h>
 6#include <linux/string.h>
 7#include <asm/setup.h>
 8
 9
10void * __ref zalloc_maybe_bootmem(size_t size, gfp_t mask)
11{
12	void *p;
13
14	if (slab_is_available())
15		p = kzalloc(size, mask);
16	else {
17		p = memblock_virt_alloc(size, 0);
 
 
 
18	}
19	return p;
20}
v5.9
 1// SPDX-License-Identifier: GPL-2.0
 2#include <linux/types.h>
 3#include <linux/init.h>
 4#include <linux/slab.h>
 5#include <linux/memblock.h>
 6#include <linux/string.h>
 7#include <asm/setup.h>
 8
 9
10void * __ref zalloc_maybe_bootmem(size_t size, gfp_t mask)
11{
12	void *p;
13
14	if (slab_is_available())
15		p = kzalloc(size, mask);
16	else {
17		p = memblock_alloc(size, SMP_CACHE_BYTES);
18		if (!p)
19			panic("%s: Failed to allocate %zu bytes\n", __func__,
20			      size);
21	}
22	return p;
23}