Re: [git pull] vfs.git sysv pile

From: Al Viro
Date: Thu Mar 02 2023 - 14:26:44 EST


On Thu, Mar 02, 2023 at 10:59:31AM +0100, Jan Kara wrote:
> OK, I think your changes to ext2_rename() in PATCH 1 leak a reference and
> mapping of old_page

In which case? ext2_delete_entry() failing?

- ext2_delete_entry(old_de, old_page, old_page_addr);
+ err = ext2_delete_entry(old_de, old_page, old_page_addr);
+ if (err)
+ goto out_dir;

and on out_dir: we have
out_dir:
if (dir_de)
ext2_put_page(dir_page, dir_page_addr);
out_old:
ext2_put_page(old_page, old_page_addr);
out:
return err;

How is the old_page leaked here?