Re: [PATCH v2] fs/ext2: Avoid page_address on pages returned by ext2_get_page
From: Javier Pello
Date: Thu Jul 15 2021 - 12:18:29 EST
On Thu, 15 Jul 2021 14:17:30 +0200, Jan Kara wrote:
> On Wed 14-07-21 10:07:46, Ira Weiny wrote:
> > On Wed, Jul 14, 2021 at 06:54:48PM +0200, Javier Pello wrote:
> > > From: Javier Pello <javier.pello@xxxxxxx>
> > >
> > > 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@xxxxxxxxx>
>
> 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