diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c
index 984f8e6379dd47630768e599a69057b078fce980..6d0455973d641e24886b0bb5cb36ef1ffe1add47 100644
--- a/fs/nfsd/export.c
+++ b/fs/nfsd/export.c
@@ -1425,9 +1425,12 @@ static int e_show(struct seq_file *m, void *p)
 		return 0;
 	}
 
-	exp_get(exp);
+	if (!cache_get_rcu(&exp->h))
+		return 0;
+
 	if (cache_check(cd, &exp->h, NULL))
 		return 0;
+
 	exp_put(exp);
 	return svc_export_show(m, cd, cp);
 }