Re: [PATCH 15/17] configfs: replace __get_free_pages() with kzalloc()
Jan Kara <[email protected]> Mon, 25 May 2026 18:22:45 +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 | <cnxlypiisnshulqluro2maw5vjnmmkbnvbkflfld3cv6j4m2zl@z3kwuj5nxx2u> |
On Sat 23-05-26 20:54:27, Mike Rapoport (Microsoft) wrote: > configfs allocates staging buffers __get_free_pages(). > > kmalloc() is a better API for such use and it also provides better > scalability and more debugging possibilities. > > Replace use of __get_free_pages() with kzalloc(). > > Signed-off-by: Mike Rapoport (Microsoft) <[email protected]> Looks good. Feel free to add: Reviewed-by: Jan Kara <[email protected]> Honza > --- > fs/configfs/file.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/fs/configfs/file.c b/fs/configfs/file.c > index ef8c3cd10cc6..a48cece775a3 100644 > --- a/fs/configfs/file.c > +++ b/fs/configfs/file.c > @@ -59,7 +59,7 @@ static int fill_read_buffer(struct file *file, struct configfs_buffer *buffer) > ssize_t count = -ENOENT; > > if (!buffer->page) > - buffer->page = (char *) get_zeroed_page(GFP_KERNEL); > + buffer->page = kzalloc(PAGE_SIZE, GFP_KERNEL); > if (!buffer->page) > return -ENOMEM; > > @@ -184,7 +184,7 @@ static int fill_write_buffer(struct configfs_buffer *buffer, > int copied; > > if (!buffer->page) > - buffer->page = (char *)__get_free_pages(GFP_KERNEL, 0); > + buffer->page = kmalloc(PAGE_SIZE, GFP_KERNEL); > if (!buffer->page) > return -ENOMEM; > > @@ -381,8 +381,7 @@ static int configfs_release(struct inode *inode, struct file *filp) > struct configfs_buffer *buffer = filp->private_data; > > module_put(buffer->owner); > - if (buffer->page) > - free_page((unsigned long)buffer->page); > + kfree(buffer->page); > mutex_destroy(&buffer->mutex); > kfree(buffer); > return 0; > > -- > 2.53.0 > -- Jan Kara <[email protected]> SUSE Labs, CR