Re: [PATCH v2] fs/ext2: Avoid page_address on pages returned by ext2_get_page
From: Javier Pello <hidden>
Date: 2021-07-15 16:18:29
Also in:
lkml
On Thu, 15 Jul 2021 14:17:30 +0200, Jan Kara wrote:
On Wed 14-07-21 10:07:46, Ira Weiny wrote:quoted
On Wed, Jul 14, 2021 at 06:54:48PM +0200, Javier Pello wrote:quoted
From: Javier Pello <redacted> Commit 782b76d7abdf02b12c46ed6f1e9bf715569027f7 ("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.Again thanks for catching this! Reviewed-by: Ira Weiny <ira.weiny@intel.com>Thanks for the patch and the review. I'de added the patch to my tree. Honza
Thank you both for dealing with this issue so quickly. Javier