]> git.dujemihanovic.xyz Git - linux.git/commitdiff
ufs_rename(): fix bogus argument of folio_release_kmap()
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 2 Oct 2024 03:28:49 +0000 (23:28 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 2 Oct 2024 04:05:09 +0000 (00:05 -0400)
new_dir does *NOT* point into dir_folio - it's an inode, not a pointer
to ufs directory entry.

Fixes: 516b97cf03dd6 "ufs: Convert directory handling to kmap_local"
Acked-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/ufs/namei.c

index 24bd12186647d4c5396c9242e8014d4b3ac92e90..c8390976ab6a117083c58dcd1cc05bfc5ca82886 100644 (file)
@@ -307,7 +307,7 @@ static int ufs_rename(struct mnt_idmap *idmap, struct inode *old_dir,
                if (old_dir != new_dir)
                        ufs_set_link(old_inode, dir_de, dir_folio, new_dir, 0);
                else
-                       folio_release_kmap(dir_folio, new_dir);
+                       folio_release_kmap(dir_folio, dir_de);
                inode_dec_link_count(old_dir);
        }
        return 0;