On Tue, Jun 28, 2022 at 08:24:26PM +0200, Fabio M. De Francesco wrote: > The use of kmap() is being deprecated in favor of kmap_local_page(). > > With kmap_local_page(), the mapping is per thread, CPU local and not > globally visible. Furthermore, the mapping can be acquired from any context > (including interrupts). > > Therefore, use kmap_local_page() in nfs_do_filldir() because this mapping > is per thread, CPU local, and not globally visible. > > Suggested-by: Ira Weiny <ira.weiny@xxxxxxxxx> Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx> > Signed-off-by: Fabio M. De Francesco <fmdefrancesco@xxxxxxxxx> > --- > > I cannot test this patch for several reasons. While these changes seem safe > and trivial, I would feel better if people familiar with NFS could take the > time to properly test this patch. Thank you. > > fs/nfs/dir.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c > index 0c4e8dd6aa96..8b89f10d8899 100644 > --- a/fs/nfs/dir.c > +++ b/fs/nfs/dir.c > @@ -1084,7 +1084,7 @@ static void nfs_do_filldir(struct nfs_readdir_descriptor *desc, > struct nfs_cache_array *array; > unsigned int i; > > - array = kmap(desc->page); > + array = kmap_local_page(desc->page); > for (i = desc->cache_entry_index; i < array->size; i++) { > struct nfs_cache_array_entry *ent; > > @@ -1110,7 +1110,7 @@ static void nfs_do_filldir(struct nfs_readdir_descriptor *desc, > if (array->page_is_eof) > desc->eof = !desc->eob; > > - kunmap(desc->page); > + kunmap_local(array); > dfprintk(DIRCACHE, "NFS: nfs_do_filldir() filling ended @ cookie %llu\n", > (unsigned long long)desc->dir_cookie); > } > -- > 2.36.1 >