Patch "SUNRPC: cleanup ida information when removing sunrpc module" has been added to the 4.4-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
SUNRPC: cleanup ida information when removing sunrpc module
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
sunrpc-cleanup-ida-information-when-removing-sunrpc-module.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
c929ea0b910355e1876c64431f3d5802f95b3d75Mon Sep 17 00:00:00 2001
From: Kinglong Mee <[email protected]>
Date: Fri, 20 Jan 2017 16:48:39 +0800
Subject: SUNRPC: cleanup ida information when removing sunrpc module
From: Kinglong Mee <[email protected]>
commit c929ea0b910355e1876c64431f3d5802f95b3d75 upstream.
After removing sunrpc module, I get many kmemleak information as, unreferenced object 0xffff88003316b1e0 (size 544):
comm "gssproxy", pid 2148, jiffies 4294794465 (age 4200.081s) hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffffb0cfb58a>] kmemleak_alloc+0x4a/0xa0
[<ffffffffb03507fe>] kmem_cache_alloc+0x15e/0x1f0
[<ffffffffb0639baa>] ida_pre_get+0xaa/0x150
[<ffffffffb0639cfd>] ida_simple_get+0xad/0x180
[<ffffffffc06054fb>] nlmsvc_lookup_host+0x4ab/0x7f0 [lockd]
[<ffffffffc0605e1d>] lockd+0x4d/0x270 [lockd]
[<ffffffffc06061e5>] param_set_timeout+0x55/0x100 [lockd]
[<ffffffffc06cba24>] svc_defer+0x114/0x3f0 [sunrpc]
[<ffffffffc06cbbe7>] svc_defer+0x2d7/0x3f0 [sunrpc]
[<ffffffffc06c71da>] rpc_show_info+0x8a/0x110 [sunrpc]
[<ffffffffb044a33f>] proc_reg_write+0x7f/0xc0
[<ffffffffb038e41f>] __vfs_write+0xdf/0x3c0
[<ffffffffb0390f1f>] vfs_write+0xef/0x240
[<ffffffffb0392fbd>] SyS_write+0xad/0x130
[<ffffffffb0d06c37>] entry_SYSCALL_64_fastpath+0x1a/0xa9
[<ffffffffffffffff>] 0xffffffffffffffffI found, the ida information (dynamic memory) isn't cleanup.
--- include/linux/sunrpc/clnt.h | 1 + net/sunrpc/clnt.c | 5 +++++ net/sunrpc/sunrpc_syms.c | 1 + 3 files changed, 7 insertions(+)
include/linux/sunrpc/clnt.h +1 -0
@@ -180,5 +180,6 @@ const char *rpc_peeraddr2str(struct rpc_int rpc_localaddr (struct rpc_clnt *,struct sockaddr *,size_t );const char *rpc_proc_name (const struct rpc_task *task); +void rpc_cleanup_clids (void );#endif /* __KERNEL__ */ #endif /* _LINUX_SUNRPC_CLNT_H */
net/sunrpc/clnt.c +5 -0
@@ -337,6 +337,11 @@ out:static DEFINE_IDA (rpc_clids); +void rpc_cleanup_clids (void ) +{ +ida_destroy (&rpc_clids); +} +static int rpc_alloc_clid (struct rpc_clnt *clnt) {int clid;
net/sunrpc/sunrpc_syms.c +1 -0
@@ -119,6 +119,7 @@ out: static void __exitcleanup_sunrpc (void ) { +rpc_cleanup_clids ();rpcauth_remove_module ();cleanup_socket_xprt ();svc_cleanup_xprt_sock ();
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/sunrpc-cleanup-ida-information-when-removing-sunrpc-module.patch