Re: [PATCH 11/17] isofs: replace __get_free_page() with kmalloc()
Jan Kara <[email protected]> Mon, 25 May 2026 18:17:44 +0200
| Newsgroups | org.kernel.vger.linux-nilfs,dev.linux.lists.ocfs2-devel,org.kernel.vger.linux-ext4,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-nfs,org.kvack.linux-mm |
|---|---|
| Message-ID | <wxxq23pmklhklkmp6a6i4wfrzb4sn2wnvqlmmfeefbpbj4pmj6@y2k3f56igj3u> |
On Sat 23-05-26 20:54:23, Mike Rapoport (Microsoft) wrote: > isofs_readdir() allocates a temporary buffer with __get_free_page(). > > kmalloc() is a better API for such use and it also provides better > scalability and more debugging possibilities. > > Replace use of __get_free_page() with kmalloc(). > > Signed-off-by: Mike Rapoport (Microsoft) <[email protected]> Thanks. Added to my tree. Honza > --- > fs/isofs/dir.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/fs/isofs/dir.c b/fs/isofs/dir.c > index 2fd9948d606e..6d220eab531e 100644 > --- a/fs/isofs/dir.c > +++ b/fs/isofs/dir.c > @@ -13,6 +13,7 @@ > */ > #include <linux/gfp.h> > #include <linux/filelock.h> > +#include <linux/slab.h> > #include "isofs.h" > > int isofs_name_translate(struct iso_directory_record *de, char *new, struct inode *inode) > @@ -255,7 +256,7 @@ static int isofs_readdir(struct file *file, struct dir_context *ctx) > struct iso_directory_record *tmpde; > struct inode *inode = file_inode(file); > > - tmpname = (char *)__get_free_page(GFP_KERNEL); > + tmpname = kmalloc(PAGE_SIZE, GFP_KERNEL); > if (tmpname == NULL) > return -ENOMEM; > > @@ -263,7 +264,7 @@ static int isofs_readdir(struct file *file, struct dir_context *ctx) > > result = do_isofs_readdir(inode, file, ctx, tmpname, tmpde); > > - free_page((unsigned long) tmpname); > + kfree(tmpname); > return result; > } > > > -- > 2.53.0 > -- Jan Kara <[email protected]> SUSE Labs, CR