fs/sysv: Use dir_put_page() in sysv_rename()
authorFabio M. De Francesco <fmdefrancesco@gmail.com>
Thu, 19 Jan 2023 15:32:31 +0000 (16:32 +0100)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 20 Jan 2023 00:45:43 +0000 (19:45 -0500)
Use the dir_put_page() helper in sysv_rename() instead of open-coding two
kunmap() + put_page().

Cc: Al Viro <viro@zeniv.linux.org.uk>
Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/sysv/dir.c
fs/sysv/namei.c
fs/sysv/sysv.h

index ad334c8ef7b12c1068c5586737a1d63911c72867..6b402e685f1e1ccc47c858b14193827f23f59794 100644 (file)
@@ -28,7 +28,7 @@ const struct file_operations sysv_dir_operations = {
        .fsync          = generic_file_fsync,
 };
 
-static inline void dir_put_page(struct page *page)
+inline void dir_put_page(struct page *page)
 {
        kunmap(page);
        put_page(page);
index b2e6abc06a2d990dcd31f4547d53b9a53100436b..981c1d76f3428f7e36d32ed73ba6f0428061f9fb 100644 (file)
@@ -250,13 +250,10 @@ static int sysv_rename(struct user_namespace *mnt_userns, struct inode *old_dir,
        return 0;
 
 out_dir:
-       if (dir_de) {
-               kunmap(dir_page);
-               put_page(dir_page);
-       }
+       if (dir_de)
+               dir_put_page(dir_page);
 out_old:
-       kunmap(old_page);
-       put_page(old_page);
+       dir_put_page(old_page);
 out:
        return err;
 }
index 99ddf033da4f1dadc749337d42d30d23ab350fe3..b250ac1dd348fb4bbf9709861e42ecea90a70037 100644 (file)
@@ -148,6 +148,7 @@ extern void sysv_destroy_icache(void);
 
 
 /* dir.c */
+extern void dir_put_page(struct page *page);
 extern struct sysv_dir_entry *sysv_find_entry(struct dentry *, struct page **);
 extern int sysv_add_link(struct dentry *, struct inode *);
 extern int sysv_delete_entry(struct sysv_dir_entry *, struct page *);