linux/fs/ext2
Javier Pello 728d392f8a fs/ext2: Avoid page_address on pages returned by ext2_get_page
Commit 782b76d7ab ("fs/ext2: Replace
kmap() with kmap_local_page()") replaced the kmap/kunmap calls in
ext2_get_page/ext2_put_page with kmap_local_page/kunmap_local for
efficiency reasons. As a necessary side change, the commit also
made ext2_get_page (and ext2_find_entry and ext2_dotdot) return
the mapping address along with the page itself, as it is required
for kunmap_local, and converted uses of page_address on such pages
to use the newly returned address instead. However, uses of
page_address on such pages were missed in ext2_check_page and
ext2_delete_entry, which triggers oopses if kmap_local_page happens
to return an address from high memory. Fix this now by converting
the remaining uses of page_address to use the right address, as
returned by kmap_local_page.

Link: https://lore.kernel.org/r/20210714185448.8707ac239e9f12b3a7f5b9f9@urjc.es
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Javier Pello <javier.pello@urjc.es>
Fixes: 782b76d7ab ("fs/ext2: Replace kmap() with kmap_local_page()")
Signed-off-by: Jan Kara <jack@suse.cz>
2021-07-16 12:36:51 +02:00
..
acl.c fs: make helpers idmap mount aware 2021-01-24 14:27:20 +01:00
acl.h fs: make helpers idmap mount aware 2021-01-24 14:27:20 +01:00
balloc.c ext2: Fix some kernel-doc warnings in balloc.c 2020-09-14 10:34:56 +02:00
dir.c fs/ext2: Avoid page_address on pages returned by ext2_get_page 2021-07-16 12:36:51 +02:00
ext2.h fs/ext2: Avoid page_address on pages returned by ext2_get_page 2021-07-16 12:36:51 +02:00
file.c ext2: convert to fileattr 2021-04-12 15:04:29 +02:00
ialloc.c inode: make init and permission helpers idmapped mount aware 2021-01-24 14:27:16 +01:00
inode.c fs: remove noop_set_page_dirty() 2021-06-29 10:53:48 -07:00
ioctl.c ext2: convert to fileattr 2021-04-12 15:04:29 +02:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
namei.c fs/ext2: Avoid page_address on pages returned by ext2_get_page 2021-07-16 12:36:51 +02:00
super.c \n 2021-04-29 11:06:13 -07:00
symlink.c ext2: code cleanup by removing ifdef macro surrounding 2020-05-22 15:11:00 +02:00
xattr_security.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
xattr_trusted.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
xattr_user.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
xattr.c ext2: initialize quota info in ext2_xattr_set() 2020-07-09 08:14:01 +02:00
xattr.h ext2: code cleanup by removing ifdef macro surrounding 2020-05-22 15:11:00 +02:00