diff options
author | Shu Wang <shuwang@redhat.com> | 2017-09-07 16:03:27 +0800 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2017-09-20 18:46:16 -0500 |
commit | 94183331e815617246b1baa97e0916f358c794bb (patch) | |
tree | a5c7e013aaac7c2dd4e0e567e91a8f99826447fc | |
parent | 4d61eda812041ef9c820d7f147884133fd3307bc (diff) | |
download | linux-94183331e815617246b1baa97e0916f358c794bb.tar.gz linux-94183331e815617246b1baa97e0916f358c794bb.tar.bz2 linux-94183331e815617246b1baa97e0916f358c794bb.zip |
cifs: release cifs root_cred after exit_cifs
memory leak was found by kmemleak. exit_cifs_spnego
should be called before cifs module removed, or
cifs root_cred will not be released.
kmemleak report:
unreferenced object 0xffff880070a3ce40 (size 192):
backtrace:
kmemleak_alloc+0x4a/0xa0
kmem_cache_alloc+0xc7/0x1d0
prepare_kernel_cred+0x20/0x120
init_cifs_spnego+0x2d/0x170 [cifs]
0xffffffffc07801f3
do_one_initcall+0x51/0x1b0
do_init_module+0x60/0x1fd
load_module+0x161e/0x1b60
SYSC_finit_module+0xa9/0x100
SyS_finit_module+0xe/0x10
Signed-off-by: Shu Wang <shuwang@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
CC: Stable <stable@vger.kernel.org>
-rw-r--r-- | fs/cifs/cifsfs.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index a864e6575309..8c8b75d33f31 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c @@ -1449,7 +1449,7 @@ exit_cifs(void) exit_cifs_idmap(); #endif #ifdef CONFIG_CIFS_UPCALL - unregister_key_type(&cifs_spnego_key_type); + exit_cifs_spnego(); #endif cifs_destroy_request_bufs(); cifs_destroy_mids(); |