[PATCH] fs: nfs: sysfs: Switch to kvfree_rcu() API

From: Uladzislau Rezki (Sony)
Date: Wed Dec 15 2021 - 06:19:06 EST


From: Uladzislau Rezki <uladzislau.rezki@xxxxxxxx>

Instead of invoking a synchronize_rcu() to free a pointer
after a grace period we can directly make use of new API
that does the same but in more efficient way.

TO: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
TO: linux-nfs@xxxxxxxxxxxxxxx
Signed-off-by: Uladzislau Rezki <uladzislau.rezki@xxxxxxxx>
---
fs/nfs/sysfs.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/fs/nfs/sysfs.c b/fs/nfs/sysfs.c
index 8cb70755e3c9..ff88d5d58e1e 100644
--- a/fs/nfs/sysfs.c
+++ b/fs/nfs/sysfs.c
@@ -113,10 +113,9 @@ static ssize_t nfs_netns_identifier_store(struct kobject *kobj,
if (!p)
return -ENOMEM;
old = rcu_dereference_protected(xchg(&c->identifier, (char __rcu *)p), 1);
- if (old) {
- synchronize_rcu();
- kfree(old);
- }
+ if (old)
+ kvfree_rcu(old);
+
return count;
}

--
2.30.2