Skip to contentSkip to conversation

NFS: Error out when register_shrinker fail in register_nfs_fs

PATCH Superseded Kinglong Mee 1 participant 1 message Jul 28, 2015

Subsystems (2)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH 2/5 NFS: Error out when register_shrinker fail in register_nfs_fs

Commit 1d3d4437ea "vmscan: per-node deferred work" have made register_shrinker can return an intergater error.

If register_shrinker() fail, the later unregister_shrinker() will
cause a NULL pointer access.

---
 fs/nfs/super.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
fs/nfs/super.c +5 -2
index aa62004..383a027 100644
@@ -381,9 +381,12 @@ int __init register_nfs_fs(void)
 	ret = nfs_register_sysctl();
 	if (ret < 0)
 		goto error_2;
-	register_shrinker(&acl_shrinker);
+	ret = register_shrinker(&acl_shrinker);
+	if (ret < 0)
+		goto error_3;
 	return 0;
-
+error_3:
+	nfs_unregister_sysctl();
 error_2:
 	unregister_nfs4_fs();
 error_1:
Signature · 1 line
2.4.3