Messages in this thread | | | From | Ira Weiny <> | Subject | [PATCH v2 0/4] Remove get_kernel_pages() | Date | Fri, 03 Feb 2023 20:06:32 -0800 |
| |
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?
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@mail.gmail.com/ [2] https://lore.kernel.org/lkml/YzSSl1ItVlARDvG3@ZenIV
To: Sumit Garg <sumit.garg@linaro.org> To: Andrew Morton <akpm@linux-foundation.org> Cc: "Al Viro" <viro@zeniv.linux.org.uk> Cc: "Christoph Hellwig" <hch@lst.de> Cc: linux-kernel@vger.kernel.org Cc: op-tee@lists.trustedfirmware.org Cc: linux-mm@kvack.org Cc: Jens Wiklander <jens.wiklander@linaro.org> Cc: "Fabio M. De Francesco" <fmdefrancesco@gmail.com> Signed-off-by: Ira Weiny <ira.weiny@intel.com>
--- 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@intel.com
--- 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@intel.com>
| |