lkml.org 
[lkml]   [2021]   [Aug]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 5/7] mm/page_alloc: Add __alloc_size attributes for better bounds checking
    Date
    As already done in GrapheneOS, add the __alloc_size attribute for
    appropriate page allocator interfaces, to provide additional hinting
    for better bounds checking, assisting CONFIG_FORTIFY_SOURCE and other
    compiler optimizations.

    Co-developed-by: Daniel Micay <danielmicay@gmail.com>
    Signed-off-by: Daniel Micay <danielmicay@gmail.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: linux-mm@kvack.org
    Signed-off-by: Kees Cook <keescook@chromium.org>
    ---
    include/linux/gfp.h | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/include/linux/gfp.h b/include/linux/gfp.h
    index 3745efd21cf6..897538d5ffd2 100644
    --- a/include/linux/gfp.h
    +++ b/include/linux/gfp.h
    @@ -618,8 +618,10 @@ static inline struct folio *folio_alloc(gfp_t gfp, unsigned int order)
    extern unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order);
    extern unsigned long get_zeroed_page(gfp_t gfp_mask);

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

    #define __get_free_page(gfp_mask) \
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-08-18 23:41    [W:6.139 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site