2022-08-09 15:24:51

by Fabio M. De Francesco

[permalink] [raw]
Subject: [PATCH 1/3] hfs: Unmap the page in the "fail_page" label

Several paths within hfs_btree_open() jump to the "fail_page" label
where put_page() is called while the page is still mapped.

Call kunmap() to unmap the page soon before put_page().

Reviewed-by: Ira Weiny <[email protected]>
Signed-off-by: Fabio M. De Francesco <[email protected]>
---
fs/hfs/btree.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/hfs/btree.c b/fs/hfs/btree.c
index 19017d296173..56c6782436e9 100644
--- a/fs/hfs/btree.c
+++ b/fs/hfs/btree.c
@@ -124,6 +124,7 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id, btree_keycmp ke
return tree;

fail_page:
+ kunmap(page);
put_page(page);
free_inode:
tree->inode->i_mapping->a_ops = &hfs_aops;
--
2.37.1


2022-08-09 19:00:12

by Viacheslav Dubeyko

[permalink] [raw]
Subject: Re: [PATCH 1/3] hfs: Unmap the page in the "fail_page" label



> On Aug 9, 2022, at 8:20 AM, Fabio M. De Francesco <[email protected]> wrote:
>
> Several paths within hfs_btree_open() jump to the "fail_page" label
> where put_page() is called while the page is still mapped.
>
> Call kunmap() to unmap the page soon before put_page().
>
> Reviewed-by: Ira Weiny <[email protected]>
> Signed-off-by: Fabio M. De Francesco <[email protected]>
> ---
> fs/hfs/btree.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/hfs/btree.c b/fs/hfs/btree.c
> index 19017d296173..56c6782436e9 100644
> --- a/fs/hfs/btree.c
> +++ b/fs/hfs/btree.c
> @@ -124,6 +124,7 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id, btree_keycmp ke
> return tree;
>
> fail_page:
> + kunmap(page);
> put_page(page);
> free_inode:
> tree->inode->i_mapping->a_ops = &hfs_aops;
> --
> 2.37.1
>


Looks good.

Reviewed-by: Viacheslav Dubeyko <[email protected]>

Thanks,
Slava.