lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 30 Oct 2018 20:45:26 +0800
From:   zhong jiang <zhongjiang@...wei.com>
To:     <herbert@...dor.apana.org.au>
CC:     <linux-crypto@...r.kernel.org>, LKML <linux-kernel@...r.kernel.org>
Subject: [Qestion]  Lots of memory leaks when mounting and unmounting nfs
 client to server continuously.

Hi,   Herbert

Recently,  I  hit  a memory leak issue when  mounting and unmounting nfs with  the way of  krb5.
The issue happens to the linux-3.10-stable.

I find that slab-1024 and slab-512 will take up most of the memory.  And it can not be freed.
Meanwhile, it result in rpcsec_gss_krb5 can be unregistered as well.

nfs-sve1:/home # cat /proc/modules | grep krb5
rpcsec_gss_krb5 31477 239730 - Live 0xffffffffa0334000
auth_rpcgss 59314 3 rpcsec_gss_krb5,nfsd, Live 0xffffffffa0123000
sunrpc 300546 25 rpcsec_gss_krb5,nfsd,auth_rpcgss,nfs_acl,lockd, Live 0xffffffffa013b000

I open the slab-1024 trace by enabling /sys/kernel/slab/:t-0001024/trace and get the following

[123420.989831] Call Trace:
[123420.989834]  [<ffffffff81642d2a>] dump_stack+0x19/0x1b
[123420.989837]  [<ffffffff8163f25e>] alloc_debug_processing+0xc5/0x118
[123420.989839]  [<ffffffff8163fd4d>] __slab_alloc+0x400/0x48f
[123420.989841]  [<ffffffff812b1795>] ? __crypto_alloc_tfm+0x45/0x170
[123420.989845]  [<ffffffff812b2307>] ? setkey+0x57/0x110
[123420.989847]  [<ffffffff8118b5fd>] ? kzfree+0x2d/0x30
[123420.989850]  [<ffffffff811c6e88>] __kmalloc+0x1c8/0x230
[123420.989852]  [<ffffffff812b1795>] __crypto_alloc_tfm+0x45/0x170
[123420.989854]  [<ffffffff812b2e45>] crypto_spawn_tfm+0x45/0x80
[123420.989857]  [<ffffffff811c6eb3>] ? __kmalloc+0x1f3/0x230
[123420.989859]  [<ffffffff812c15c7>] crypto_cbc_init_tfm+0x27/0x40
[123420.989864]  [<ffffffff812b1851>] __crypto_alloc_tfm+0x101/0x170
[123420.989866]  [<ffffffff812b1ffc>] crypto_alloc_base+0x4c/0xb0
[123420.989869]  [<ffffffffa033411b>] context_v2_alloc_cipher.isra.2+0x2b/0xc0 [rpcsec_gss_krb5]
[123420.989871]  [<ffffffffa0334da8>] gss_import_sec_context_kerberos+0xbf8/0xf00 [rpcsec_gss_krb5]
[123420.989875]  [<ffffffffa0126d5d>] gss_import_sec_context+0x7d/0xb0 [auth_rpcgss]
[123420.989878]  [<ffffffffa012b35e>] gss_proxy_save_rsc+0x137/0x1b0 [auth_rpcgss]
[123420.989884]  [<ffffffffa012b51e>] svcauth_gss_proxy_init+0x147/0x1e4 [auth_rpcgss]
[123420.989886]  [<ffffffff810c2ad6>] ? dequeue_entity+0x106/0x520
[123420.989890]  [<ffffffffa0128e2a>] svcauth_gss_accept+0x3da/0xb70 [auth_rpcgss]
[123420.989892]  [<ffffffff810b6c25>] ? check_preempt_curr+0x85/0xa0
[123420.989894]  [<ffffffff810b6c59>] ? ttwu_do_wakeup+0x19/0xd0
[123420.989897]  [<ffffffff810b6ded>] ? ttwu_do_activate.constprop.86+0x5d/0x70
[123420.989900]  [<ffffffff810b9422>] ? try_to_wake_up+0x162/0x330
[123420.989908]  [<ffffffffa014f490>] svc_authenticate+0xc0/0xe0 [sunrpc]
[123420.989914]  [<ffffffffa014c04a>] svc_process_common+0x21a/0x6f0 [sunrpc]
[123420.989921]  [<ffffffffa014c623>] svc_process+0x103/0x170 [sunrpc]
[123420.989928]  [<ffffffffa01baaaf>] nfsd+0xdf/0x150 [nfsd]
[123420.989932]  [<ffffffffa01ba9d0>] ? nfsd_destroy+0x80/0x80 [nfsd]
[123420.989934]  [<ffffffff810a648f>] kthread+0xcf/0xe0
[123420.989936]  [<ffffffff810a63c0>] ? kthread_create_on_node+0x140/0x140
[123420.989939]  [<ffffffff81653318>] ret_from_fork+0x58/0x90
[123420.989943]  [<ffffffff810a63c0>] ? kthread_create_on_node+0x140/0x140

I am unfamiliar with crypto.   I will be appreciated  if you could give me some suggestion.

Thanks,
zhong jiang

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ