From: Mike Rapoport (Microsoft) Date: Sat, 23 May 2026 17:54:25 +0000 (+0300) Subject: fs/select: replace __get_free_page() with kmalloc() X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=cf080236f386a6c275abb052786e7f5e63799af8;p=thirdparty%2Fkernel%2Flinux.git fs/select: replace __get_free_page() with kmalloc() poll_get_entry() allocates new memory for poll_table entries 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-13-275e36a83f0e@kernel.org Reviewed-by: Jan Kara Signed-off-by: Christian Brauner (Amutable) --- diff --git a/fs/select.c b/fs/select.c index 75978b18f48f8..6fa63e48cdeee 100644 --- a/fs/select.c +++ b/fs/select.c @@ -150,7 +150,7 @@ void poll_freewait(struct poll_wqueues *pwq) } while (entry > p->entries); old = p; p = p->next; - free_page((unsigned long) old); + kfree(old); } } EXPORT_SYMBOL(poll_freewait); @@ -165,7 +165,7 @@ static struct poll_table_entry *poll_get_entry(struct poll_wqueues *p) if (!table || POLL_TABLE_FULL(table)) { struct poll_table_page *new_table; - new_table = (struct poll_table_page *) __get_free_page(GFP_KERNEL); + new_table = kmalloc(PAGE_SIZE, GFP_KERNEL); if (!new_table) { p->error = -ENOMEM; return NULL;