Re: [PATCH 11/17] isofs: replace __get_free_page() with kmalloc()

From: Jan Kara

Date: Mon May 25 2026 - 12:18:28 EST


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) <rppt@xxxxxxxxxx>

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 <jack@xxxxxxxx>
SUSE Labs, CR