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 ad334c8..6b402e6 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 b2e6abc..981c1d7 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 99ddf03..b250ac1 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 *);