]> www.infradead.org Git - linux.git/commitdiff
cifs: fix warning when destroy 'cifs_io_request_pool'
authorYe Bin <yebin10@huawei.com>
Wed, 23 Oct 2024 01:24:30 +0000 (09:24 +0800)
committerSteve French <stfrench@microsoft.com>
Wed, 23 Oct 2024 12:42:44 +0000 (07:42 -0500)
There's a issue as follows:
WARNING: CPU: 1 PID: 27826 at mm/slub.c:4698 free_large_kmalloc+0xac/0xe0
RIP: 0010:free_large_kmalloc+0xac/0xe0
Call Trace:
 <TASK>
 ? __warn+0xea/0x330
 mempool_destroy+0x13f/0x1d0
 init_cifs+0xa50/0xff0 [cifs]
 do_one_initcall+0xdc/0x550
 do_init_module+0x22d/0x6b0
 load_module+0x4e96/0x5ff0
 init_module_from_file+0xcd/0x130
 idempotent_init_module+0x330/0x620
 __x64_sys_finit_module+0xb3/0x110
 do_syscall_64+0xc1/0x1d0
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Obviously, 'cifs_io_request_pool' is not created by mempool_create().
So just use mempool_exit() to revert 'cifs_io_request_pool'.

Fixes: edea94a69730 ("cifs: Add mempools for cifs_io_request and cifs_io_subrequest structs")
Signed-off-by: Ye Bin <yebin10@huawei.com>
Acked-by: David Howells <dhowells@redhat.com
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/cifsfs.c

index 000e1ef3beea2e7f18a64e3f09df14deb789943c..20cafdff5081068dfbc2cddf4e51588d453d10c2 100644 (file)
@@ -1780,7 +1780,7 @@ static int cifs_init_netfs(void)
 nomem_subreqpool:
        kmem_cache_destroy(cifs_io_subrequest_cachep);
 nomem_subreq:
-       mempool_destroy(&cifs_io_request_pool);
+       mempool_exit(&cifs_io_request_pool);
 nomem_reqpool:
        kmem_cache_destroy(cifs_io_request_cachep);
 nomem_req: