Re: [PATCH v2 0/3] hfs: fix various errors

From: Viacheslav Dubeyko
Date: Thu Jul 01 2021 - 13:03:46 EST




> On Jun 30, 2021, at 8:07 PM, Desmond Cheong Zhi Xi <desmondcheongzx@xxxxxxxxx> wrote:
>
> Hi,
>
> This series ultimately aims to address a lockdep warning in hfs_find_init reported by Syzbot:
> https://syzkaller.appspot.com/bug?id=f007ef1d7a31a469e3be7aeb0fde0769b18585db
>
> The work done for this led to the discovery of another bug, and the Syzkaller repro test also reveals an invalid memory access error after clearing the lockdep warning. Hence, this series is broken up into three patches:
>
> 1. Add a missing call to hfs_find_exit for an error path in hfs_fill_super
>
> 2. Fix memory mapping in hfs_bnode_read by fixing calls to kmap
>
> 3. Add lock nesting notation to tell lockdep that the observed locking hierarchy is safe
>
> v1 -> v2:
> Patch 1: Consolidated calls to hfs_find_exit on error paths in hfs_fill_super, as suggested by Viacheslav Dubeyko.
> Patch 2: Added safety checks, clarified code, and switched from kmap/kunmap to kmap_atomic/kunmap_atomic, as suggested by Viacheslav Dubeyko.
>
> Desmond Cheong Zhi Xi (3):
> hfs: add missing clean-up in hfs_fill_super
> hfs: fix high memory mapping in hfs_bnode_read
> hfs: add lock nesting notation to hfs_find_init
>
> fs/hfs/bfind.c | 14 +++++++++++++-
> fs/hfs/bnode.c | 25 ++++++++++++++++++++-----
> fs/hfs/btree.h | 7 +++++++
> fs/hfs/super.c | 10 +++++-----
> 4 files changed, 45 insertions(+), 11 deletions(-)
>
> --
> 2.25.1
>

Looks good.

Reviewed-by: Viacheslav Dubeyko <slava@xxxxxxxxxxx>

Thanks,
Slava.