lkml.org 
[lkml]   [2022]   [Jun]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH V4 02/26] mm/mmap: Define DECLARE_VM_GET_PAGE_PROT
    Date


    Le 24/06/2022 à 06:43, Anshuman Khandual a écrit :
    > This just converts the generic vm_get_page_prot() implementation into a new
    > macro i.e DECLARE_VM_GET_PAGE_PROT which later can be used across platforms
    > when enabling them with ARCH_HAS_VM_GET_PAGE_PROT. This does not create any
    > functional change.
    >
    > Cc: Andrew Morton <akpm@linux-foundation.org>
    > Cc: linux-mm@kvack.org
    > Cc: linux-kernel@vger.kernel.org
    > Suggested-by: Christoph Hellwig <hch@infradead.org>
    > Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
    > ---
    > include/linux/mm.h | 8 ++++++++
    > mm/mmap.c | 6 +-----
    > 2 files changed, 9 insertions(+), 5 deletions(-)
    >
    > diff --git a/include/linux/mm.h b/include/linux/mm.h
    > index 47bfe038d46e..237828c2bae2 100644
    > --- a/include/linux/mm.h
    > +++ b/include/linux/mm.h
    > @@ -428,6 +428,14 @@ extern unsigned int kobjsize(const void *objp);
    > extern pgprot_t protection_map[16];
    > #endif
    >

    I think the comment above protection_map[16] in mm/mmap.c should be
    moved here.

    > +#define DECLARE_VM_GET_PAGE_PROT \
    > +pgprot_t vm_get_page_prot(unsigned long vm_flags) \
    > +{ \
    > + return protection_map[vm_flags & \
    > + (VM_READ | VM_WRITE | VM_EXEC | VM_SHARED)]; \
    > +} \
    > +EXPORT_SYMBOL(vm_get_page_prot);
    > +
    > /*
    > * The default fault flags that should be used by most of the
    > * arch-specific page fault handlers.
    > diff --git a/mm/mmap.c b/mm/mmap.c
    > index b01f0280bda2..55c30aee3999 100644
    > --- a/mm/mmap.c
    > +++ b/mm/mmap.c
    > @@ -123,11 +123,7 @@ pgprot_t protection_map[16] __ro_after_init = {
    > #endif
    >
    > #ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
    > -pgprot_t vm_get_page_prot(unsigned long vm_flags)
    > -{
    > - return protection_map[vm_flags & (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)];
    > -}
    > -EXPORT_SYMBOL(vm_get_page_prot);
    > +DECLARE_VM_GET_PAGE_PROT
    > #endif /* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */
    >
    > static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags)
    \
     
     \ /
      Last update: 2022-06-24 07:30    [W:4.966 / U:0.896 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site