Source: linux Version: 4.9.25-1 Severity: important User: debian-ad...@lists.debian.org Usertags: needed-by-DSA-Team
Hi, DSA uses NFS through autofs, and machines using the Stretch kernel are affected by the following bug: https://bugzilla.redhat.com/show_bug.cgi?id=1427493 Basically each time a NFS filesystem is unmounted and remounted, a few NFSv4 callback processes are leaked. After one week, a few hundred of processes are there: | aurel32@lindsay:~$ uptime | 12:10:15 up 8 days, 15:14, 2 users, load average: 0,00, 0,03, 0,04 | aurel32@lindsay:~$ ps aux | grep -c "NFSv4 callback" | 693 It seems the issues is fixed since 4.12-rc1 by the following set of commts: | commit ed6473ddc704a2005b9900ca08e236ebb2d8540a | Author: Trond Myklebust <trond.mykleb...@primarydata.com> | Date: Wed Apr 26 11:55:27 2017 -0400 | | NFSv4: Fix callback server shutdown | | We want to use kthread_stop() in order to ensure the threads are | shut down before we tear down the nfs_callback_info in nfs_callback_down. | | Tested-and-reviewed-by: Kinglong Mee <kinglong...@gmail.com> | Reported-by: Kinglong Mee <kinglong...@gmail.com> | Fixes: bb6aeba736ba9 ("NFSv4.x: Switch to using svc_set_num_threads()...") | Signed-off-by: Trond Myklebust <trond.mykleb...@primarydata.com> | Signed-off-by: J. Bruce Fields <bfie...@redhat.com> | | commit 9e0d87680d689f1758185851c3da6eafb16e71e1 | Author: Trond Myklebust <trond.mykleb...@primarydata.com> | Date: Wed Apr 26 11:55:26 2017 -0400 | | SUNRPC: Refactor svc_set_num_threads() | | Refactor to separate out the functions of starting and stopping threads | so that they can be used in other helpers. | | Signed-off-by: Trond Myklebust <trond.mykleb...@primarydata.com> | Tested-and-reviewed-by: Kinglong Mee <kinglong...@gmail.com> | Signed-off-by: J. Bruce Fields <bfie...@redhat.com> | | commit df807fffaabde625fa9adb82e3e5b88cdaa5709a | Author: Kinglong Mee <kinglong...@gmail.com> | Date: Thu Apr 27 11:13:38 2017 +0800 | | NFSv4.x/callback: Create the callback service through svc_create_pooled | | As the comments for svc_set_num_threads() said, | " Destroying threads relies on the service threads filling in | rqstp->rq_task, which only the nfs ones do. Assumes the serv | has been created using svc_create_pooled()." | | If creating service through svc_create(), the svc_pool_map_put() | will be called in svc_destroy(), but the pool map isn't used. | So that, the reference of pool map will be drop, the next using | of pool map will get a zero npools. That said I haven't tried to backport them and sta...@vger.kernel.org hasn't been Cc:ed. Aurelien -- System Information: Debian Release: 9.0 APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.9.0-3-amd64 (SMP w/4 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)