[PATCH] mm/page_alloc: Fix __alloc_size attribute for alloc_pages_exact_nid

From: Thibaut Sautereau
Date: Tue Dec 14 2021 - 11:21:28 EST


From: Thibaut Sautereau <thibaut.sautereau@xxxxxxxxxxx>

The second parameter of alloc_pages_exact_nid is the one indicating the
size of memory pointed by the returned pointer.

Fixes: abd58f38dfb4 ("mm/page_alloc: add __alloc_size attributes for better bounds checking")
Cc: Daniel Micay <danielmicay@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxxxx>
Cc: Levente Polyak <levente@xxxxxxxxxxxxxxxxx>
Signed-off-by: Thibaut Sautereau <thibaut.sautereau@xxxxxxxxxxx>
---
include/linux/gfp.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index b976c4177299..8fcc38467af6 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -624,7 +624,7 @@ extern unsigned long get_zeroed_page(gfp_t gfp_mask);

void *alloc_pages_exact(size_t size, gfp_t gfp_mask) __alloc_size(1);
void free_pages_exact(void *virt, size_t size);
-__meminit void *alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask) __alloc_size(1);
+__meminit void *alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask) __alloc_size(2);

#define __get_free_page(gfp_mask) \
__get_free_pages((gfp_mask), 0)
--
2.34.1