diff mbox series

mm/page_alloc: Fix __alloc_size attribute for alloc_pages_exact_nid

Message ID YbjEgwhn4bGblp//@coeus (mailing list archive)
State New
Headers show
Series mm/page_alloc: Fix __alloc_size attribute for alloc_pages_exact_nid | expand

Commit Message

Thibaut Sautereau Dec. 14, 2021, 4:21 p.m. UTC
From: Thibaut Sautereau <thibaut.sautereau@ssi.gouv.fr>

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@gmail.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Levente Polyak <levente@leventepolyak.net>
Signed-off-by: Thibaut Sautereau <thibaut.sautereau@ssi.gouv.fr>
---
 include/linux/gfp.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kees Cook Dec. 14, 2021, 5:06 p.m. UTC | #1
On Tue, Dec 14, 2021 at 05:21:23PM +0100, Thibaut Sautereau wrote:
> From: Thibaut Sautereau <thibaut.sautereau@ssi.gouv.fr>
> 
> 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@gmail.com>
> Cc: Kees Cook <keescook@chromium.org>
> Cc: Levente Polyak <levente@leventepolyak.net>
> Signed-off-by: Thibaut Sautereau <thibaut.sautereau@ssi.gouv.fr>

Thanks! Andrew, can you take this?

Acked-by: Kees Cook <keescook@chromium.org>

-Kees

> ---
>  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
>
diff mbox series

Patch

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)