]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
NFSv4.2: fix failure to unregister shrinker
authorJ. Bruce Fields <bfields@redhat.com>
Wed, 21 Oct 2020 14:34:15 +0000 (10:34 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 12 Nov 2020 15:40:02 +0000 (10:40 -0500)
commit70438afbf17e5194dd607dd17759560a363b7bb4
tree9297e9ccdae46bcb8c44489e83e212ed7c525ba9
parent3fc2bfa365311c6ef3e4411437786a54a911d9a9
NFSv4.2: fix failure to unregister shrinker

We forgot to unregister the nfs4_xattr_large_entry_shrinker.

That leaves the global list of shrinkers corrupted after unload of the
nfs module, after which possibly unrelated code that calls
register_shrinker() or unregister_shrinker() gets a BUG() with
"supervisor write access in kernel mode".

And similarly for the nfs4_xattr_large_entry_lru.

Reported-by: Kris Karas <bugs-a17@moonlit-rail.com>
Tested-By: Kris Karas <bugs-a17@moonlit-rail.com>
Fixes: 95ad37f90c33 "NFSv4.2: add client side xattr caching."
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
CC: stable@vger.kernel.org
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/nfs42xattr.c