From: Mike Rapoport (Microsoft) Date: Sat, 23 May 2026 17:54:28 +0000 (+0300) Subject: binfmt_misc: replace __get_free_page() with kmalloc() X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=6ff17653e94d97735d426a4924df7be51fd63abd;p=thirdparty%2Flinux.git binfmt_misc: replace __get_free_page() with kmalloc() bm_entry_read() allocates temporary buffer using __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) Link: https://patch.msgid.link/20260523-b4-fs-v1-16-275e36a83f0e@kernel.org Signed-off-by: Christian Brauner (Amutable) --- diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c index b3d8fd70e8b1c..84349fcb93f13 100644 --- a/fs/binfmt_misc.c +++ b/fs/binfmt_misc.c @@ -704,7 +704,7 @@ bm_entry_read(struct file *file, char __user *buf, size_t nbytes, loff_t *ppos) ssize_t res; char *page; - page = (char *) __get_free_page(GFP_KERNEL); + page = kmalloc(PAGE_SIZE, GFP_KERNEL); if (!page) return -ENOMEM; @@ -712,7 +712,7 @@ bm_entry_read(struct file *file, char __user *buf, size_t nbytes, loff_t *ppos) res = simple_read_from_buffer(buf, nbytes, ppos, page, strlen(page)); - free_page((unsigned long) page); + kfree(page); return res; }