fs/ecryptfs: Use kmap_local_page() in ecryptfs_write()
authorFabio M. De Francesco <fmdefrancesco@gmail.com>
Wed, 26 Apr 2023 17:22:22 +0000 (19:22 +0200)
committerChristian Brauner <brauner@kernel.org>
Mon, 10 Jul 2023 12:36:10 +0000 (14:36 +0200)
commitc3c6833ea8114a18d5acf5f9a4d32f864103144c
tree9c921c162f3db6ada7232452bb83ee3f32f442dc
parent8b70deb8ca901d45e2342d654c1e8d306f52e6cb
fs/ecryptfs: Use kmap_local_page() in ecryptfs_write()

kmap_atomic() is deprecated in favor of kmap_local_page().

Therefore, replace kmap_atomic() with kmap_local_page() in
ecryptfs_write().

kmap_atomic() is implemented like kmap_local_page() which also disables
page-faults and preemption (the latter only for !PREEMPT_RT kernels).

The code within the mapping/un-mapping in ecryptfs_write() does not
depend on the above-mentioned side effects so that a mere replacement of
the old API with the new one is all that is required (i.e., there is no
need to explicitly call pagefault_disable() and/or preempt_disable()).

Tested in a QEMU/KVM x86_32 VM, 6GB RAM, booting a kernel with
HIGHMEM64GB enabled.

Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: "Fabio M. De Francesco" <fmdefrancesco@gmail.com>
Message-Id: <20230426172223.8896-3-fmdefrancesco@gmail.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/ecryptfs/read_write.c