Re: [PATCH v2 0/4] Remove get_kernel_pages()

From: Ira Weiny
Date: Tue Feb 07 2023 - 11:19:23 EST


Sumit Garg wrote:
> On Sat, 4 Feb 2023 at 09:36, Ira Weiny <ira.weiny@xxxxxxxxx> wrote:
> >
> > Sumit,
> >
> > I did not see a follow up on this series per your last email.[1] I'd like to
> > move forward with getting rid of kmap_to_page(). So Hopefully this can land
> > and you can build on this rather than the other way around?
>
> Apologies Ira for keeping you waiting. Actually I was fully involved
> with other high priority work with my upstream review backlog
> increasing. So I wasn't able to devote time to this work. Sure I will
> rebase my work on top of your changes.

No problem on my end. I just wanted to ensure that I did not miss
something.

Thanks for the reviews!
Ira

>
> -Sumit
>
> >
> > All,
> >
> > Al Viro found[2] that kmap_to_page() is broken. But not only is it broken, it
> > presents confusion over how highmem should be used because kmap() and friends
> > should not be used for 'long term' mappings.
> >
> > get_kernel_pages() is a caller of kmap_to_page(). It only has one caller
> > [shm_get_kernel_pages()] which does not need the functionality.
> >
> > Alter shm_get_kernel_pages() to no longer call get_kernel_pages() and remove
> > get_kernel_pages(). Along the way it was noted that shm_get_kernel_pages()
> > does not have any need to support vmalloc'ed addresses either. Remove that
> > functionality to clean up the logic.
> >
> > This series also fixes is_kmap_addr() and uses it to ensure no kmap addresses
> > slip in later.
> >
> > [1] https://lore.kernel.org/all/CAFA6WYMqEVDVW-ifoh-V9ni1zntYdes8adQKf2XXAUpqdaW53w@xxxxxxxxxxxxxx/
> > [2] https://lore.kernel.org/lkml/YzSSl1ItVlARDvG3@ZenIV
> >
> > To: Sumit Garg <sumit.garg@xxxxxxxxxx>
> > To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > Cc: "Al Viro" <viro@xxxxxxxxxxxxxxxxxx>
> > Cc: "Christoph Hellwig" <hch@xxxxxx>
> > Cc: linux-kernel@xxxxxxxxxxxxxxx
> > Cc: op-tee@xxxxxxxxxxxxxxxxxxxxxxxxx
> > Cc: linux-mm@xxxxxxxxx
> > Cc: Jens Wiklander <jens.wiklander@xxxxxxxxxx>
> > Cc: "Fabio M. De Francesco" <fmdefrancesco@xxxxxxxxx>
> > Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx>
> >
> > ---
> > Changes in v2:
> > - Al Viro: Avoid allocating the kiov.
> > - Sumit: Update cover letter to clarify the motivation behind removing
> > get_kernel_pages()
> > - Link to v1: https://lore.kernel.org/r/20221002002326.946620-1-ira.weiny@xxxxxxxxx
> >
> > ---
> > Ira Weiny (4):
> > highmem: Enhance is_kmap_addr() to check kmap_local_page() mappings
> > tee: Remove vmalloc page support
> > tee: Remove call to get_kernel_pages()
> > mm: Remove get_kernel_pages()
> >
> > drivers/tee/tee_shm.c | 37 ++++++++++---------------------------
> > include/linux/highmem-internal.h | 5 ++++-
> > include/linux/mm.h | 2 --
> > mm/swap.c | 30 ------------------------------
> > 4 files changed, 14 insertions(+), 60 deletions(-)
> > ---
> > base-commit: 0136d86b78522bbd5755f8194c97a987f0586ba5
> > change-id: 20230203-get_kernel_pages-199342cfba79
> >
> > Best regards,
> > --
> > Ira Weiny <ira.weiny@xxxxxxxxx>