page_alloc.c (b073d7f8aee4ebf05d10e3380df377b73120cf16) | page_alloc.c (3c206509826094e85ead0b056f484db96829248d) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * linux/mm/page_alloc.c 4 * 5 * Manages the free list, the system allocates free pages here. 6 * Note that kmalloc() lives in slab.c 7 * 8 * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds --- 1795 unchanged lines hidden (view full) --- 1804} 1805#endif /* CONFIG_NUMA */ 1806 1807void __init memblock_free_pages(struct page *page, unsigned long pfn, 1808 unsigned int order) 1809{ 1810 if (early_page_uninitialised(pfn)) 1811 return; | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * linux/mm/page_alloc.c 4 * 5 * Manages the free list, the system allocates free pages here. 6 * Note that kmalloc() lives in slab.c 7 * 8 * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds --- 1795 unchanged lines hidden (view full) --- 1804} 1805#endif /* CONFIG_NUMA */ 1806 1807void __init memblock_free_pages(struct page *page, unsigned long pfn, 1808 unsigned int order) 1809{ 1810 if (early_page_uninitialised(pfn)) 1811 return; |
1812 if (!kmsan_memblock_free_pages(page, order)) { 1813 /* KMSAN will take care of these pages. */ 1814 return; 1815 } |
|
1812 __free_pages_core(page, order); 1813} 1814 1815/* 1816 * Check that the whole (or subset of) a pageblock given by the interval of 1817 * [start_pfn, end_pfn) is valid and within the same zone, before scanning it 1818 * with the migration of free compaction scanner. 1819 * --- 7874 unchanged lines hidden --- | 1816 __free_pages_core(page, order); 1817} 1818 1819/* 1820 * Check that the whole (or subset of) a pageblock given by the interval of 1821 * [start_pfn, end_pfn) is valid and within the same zone, before scanning it 1822 * with the migration of free compaction scanner. 1823 * --- 7874 unchanged lines hidden --- |