* [GIT PULL] hfs/hfsplus changes for 7.0-rc1
@ 2026-02-07 0:26 Viacheslav Dubeyko
2026-02-07 1:18 ` Tetsuo Handa
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Viacheslav Dubeyko @ 2026-02-07 0:26 UTC (permalink / raw)
To: torvalds
Cc: linux-fsdevel, linux-kernel, glaubitz, frank.li, jkoolstra,
mehdi.benhadjkhelifa, shardul.b, penguin-kernel
Hello Linus,
This pull request contains several fixes of syzbot reported
issues and HFS+ fixes of xfstests failures.
Jori Koolstra has fixed the syzbot reported issue of triggering
BUG_ON() in the case of corrupted superblock. This patch replaces
the BUG_ON() in multiple places with proper error handling and
resolves the syzbot reported bug.
Mehdi Ben Hadj Khelifa has fixed the syzbot reported issues in
mount logic of HFS/HFS+ file systems. When HFS/HFS+ were converted to
the new mount api a bug was introduced by changing the allocation
pattern of sb->s_fs_info. The memory leaks issue has been fixed
by these two patches.
Shardul Bankar suggested the nice fix in hfs_bnode_create() by
returning ERR_PTR(-EEXIST) instead of the node pointer when it's
already hashed and fix of avoiding the double unload_nls() on mount
failure.
Tetsuo Handa added logic of setting inode's mode as regular
file for the case of system inodes.
The rest patches fix issue of failures in generic/020,
generic/037, generic/062, generic/480, and generic/498
xfstests for the case of HFS+ file system. Currently,
only 30 xfstests' test-cases experience failures for HFS+
file system (initially, it was around 100 failed xfstests).
The following changes since commit
8f0b4cce4481fb22653697cced8d0d04027cb1e8:
Linux 6.19-rc1 (2025-12-14 16:05:07 +1200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/vdubeyko/hfs.git
tags/hfs-v7.0-tag1
for you to fetch changes up to
ebebb04baefdace1e0dc17f7779e5549063ca592:
hfsplus: avoid double unload_nls() on mount failure (2026-02-06
15:20:00 -0800)
----------------------------------------------------------------
hfs/hfsplus updates for v7.0
- hfsplus: avoid double unload_nls() on mount failure
- hfsplus: fix warning issue in inode.c
- hfsplus: fix generic/062 xfstests failure
- hfsplus: fix generic/037 xfstests failure
- hfsplus: pretend special inodes as regular files
- hfsplus: return error when node already exists in hfs_bnode_create
- hfs: Replace BUG_ON with error handling for CNID count checks
- hfsplus: fix generic/020 xfstests failure
- hfsplus: fix volume corruption issue for generic/498
- hfsplus: fix volume corruption issue for generic/480
- hfsplus: ensure sb->s_fs_info is always cleaned up
- hfs: ensure sb->s_fs_info is always cleaned up
----------------------------------------------------------------
Jori Koolstra (1):
hfs: Replace BUG_ON with error handling for CNID count checks
Mehdi Ben Hadj Khelifa (2):
hfs: ensure sb->s_fs_info is always cleaned up
hfsplus: ensure sb->s_fs_info is always cleaned up
Shardul Bankar (2):
hfsplus: return error when node already exists in
hfs_bnode_create
hfsplus: avoid double unload_nls() on mount failure
Tetsuo Handa (1):
hfsplus: pretend special inodes as regular files
Viacheslav Dubeyko (6):
hfsplus: fix volume corruption issue for generic/480
hfsplus: fix volume corruption issue for generic/498
hfsplus: fix generic/020 xfstests failure
hfsplus: fix generic/037 xfstests failure
hfsplus: fix generic/062 xfstests failure
hfsplus: fix warning issue in inode.c
fs/hfs/dir.c | 15 +++-
fs/hfs/hfs_fs.h | 1 +
fs/hfs/inode.c | 30 ++++++--
fs/hfs/mdb.c | 66 ++++++++++-------
fs/hfs/super.c | 13 +++-
fs/hfsplus/attributes.c | 189 +++++++++++++++++++++++++++++++++++-----
--------
fs/hfsplus/bnode.c | 2 +-
fs/hfsplus/dir.c | 46 +++++++++++-
fs/hfsplus/hfsplus_fs.h | 3 +
fs/hfsplus/inode.c | 40 +++++++++-
fs/hfsplus/super.c | 20 +++--
fs/hfsplus/xattr.c | 104 +++++++++++++++++++-------
12 files changed, 407 insertions(+), 122 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT PULL] hfs/hfsplus changes for 7.0-rc1
2026-02-07 0:26 [GIT PULL] hfs/hfsplus changes for 7.0-rc1 Viacheslav Dubeyko
@ 2026-02-07 1:18 ` Tetsuo Handa
2026-02-07 8:55 ` John Paul Adrian Glaubitz
2026-02-10 0:50 ` pr-tracker-bot
2026-02-10 11:12 ` Tetsuo Handa
2 siblings, 1 reply; 7+ messages in thread
From: Tetsuo Handa @ 2026-02-07 1:18 UTC (permalink / raw)
To: Viacheslav Dubeyko
Cc: linux-fsdevel, linux-kernel, glaubitz, frank.li, jkoolstra,
mehdi.benhadjkhelifa, shardul.b, torvalds
On 2026/02/07 9:26, Viacheslav Dubeyko wrote:
> Hello Linus,
>
> This pull request contains several fixes of syzbot reported
> issues and HFS+ fixes of xfstests failures.
Where is the flow for testing these patches in linux-next tree?
Are HFS/HFS+ patches directly going to linux tree without testing
in linux-next tree?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT PULL] hfs/hfsplus changes for 7.0-rc1
2026-02-07 1:18 ` Tetsuo Handa
@ 2026-02-07 8:55 ` John Paul Adrian Glaubitz
2026-02-07 9:44 ` Tetsuo Handa
0 siblings, 1 reply; 7+ messages in thread
From: John Paul Adrian Glaubitz @ 2026-02-07 8:55 UTC (permalink / raw)
To: Tetsuo Handa, Viacheslav Dubeyko
Cc: linux-fsdevel, linux-kernel, frank.li, jkoolstra,
mehdi.benhadjkhelifa, shardul.b, torvalds
Hi Tetsuo,
On Sat, 2026-02-07 at 10:18 +0900, Tetsuo Handa wrote:
> On 2026/02/07 9:26, Viacheslav Dubeyko wrote:
> > Hello Linus,
> >
> > This pull request contains several fixes of syzbot reported
> > issues and HFS+ fixes of xfstests failures.
>
> Where is the flow for testing these patches in linux-next tree?
> Are HFS/HFS+ patches directly going to linux tree without testing
> in linux-next tree?
The HFS/HFS+ tree should be part of linux-next which is why it's got
a branch named like this [1].
Adrian
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/vdubeyko/hfs.git/log/?h=for-next
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT PULL] hfs/hfsplus changes for 7.0-rc1
2026-02-07 8:55 ` John Paul Adrian Glaubitz
@ 2026-02-07 9:44 ` Tetsuo Handa
0 siblings, 0 replies; 7+ messages in thread
From: Tetsuo Handa @ 2026-02-07 9:44 UTC (permalink / raw)
To: John Paul Adrian Glaubitz, Viacheslav Dubeyko
Cc: linux-fsdevel, linux-kernel, frank.li, jkoolstra,
mehdi.benhadjkhelifa, shardul.b, torvalds
On 2026/02/07 17:55, John Paul Adrian Glaubitz wrote:
> Hi Tetsuo,
>
> On Sat, 2026-02-07 at 10:18 +0900, Tetsuo Handa wrote:
>> On 2026/02/07 9:26, Viacheslav Dubeyko wrote:
>>> Hello Linus,
>>>
>>> This pull request contains several fixes of syzbot reported
>>> issues and HFS+ fixes of xfstests failures.
>>
>> Where is the flow for testing these patches in linux-next tree?
>> Are HFS/HFS+ patches directly going to linux tree without testing
>> in linux-next tree?
>
> The HFS/HFS+ tree should be part of linux-next which is why it's got
> a branch named like this [1].
>
> Adrian
>
>> [1] https://git.kernel.org/pub/scm/linux/kernel/git/vdubeyko/hfs.git/log/?h=for-next
>
Oops, the patch with old Reported-by: was applied. That's why I can't find
"hfsplus: pretend special inodes as regular files" as a fix commit for
https://syzkaller.appspot.com/bug?extid=f98189ed18c1f5f32e00 as of linux-next-20250205 .
Anyway, my patch was tested for one month in linux-next tree, and
it seems that no side effect is reported. Please proceed.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT PULL] hfs/hfsplus changes for 7.0-rc1
2026-02-07 0:26 [GIT PULL] hfs/hfsplus changes for 7.0-rc1 Viacheslav Dubeyko
2026-02-07 1:18 ` Tetsuo Handa
@ 2026-02-10 0:50 ` pr-tracker-bot
2026-02-10 11:12 ` Tetsuo Handa
2 siblings, 0 replies; 7+ messages in thread
From: pr-tracker-bot @ 2026-02-10 0:50 UTC (permalink / raw)
To: Viacheslav Dubeyko
Cc: torvalds, linux-fsdevel, linux-kernel, glaubitz, frank.li,
jkoolstra, mehdi.benhadjkhelifa, shardul.b, penguin-kernel
The pull request you sent on Fri, 06 Feb 2026 16:26:16 -0800:
> git://git.kernel.org/pub/scm/linux/kernel/git/vdubeyko/hfs.git tags/hfs-v7.0-tag1
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/4fb7d86fbef0e294f4bb6bc46930c5789d332dc7
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT PULL] hfs/hfsplus changes for 7.0-rc1
2026-02-07 0:26 [GIT PULL] hfs/hfsplus changes for 7.0-rc1 Viacheslav Dubeyko
2026-02-07 1:18 ` Tetsuo Handa
2026-02-10 0:50 ` pr-tracker-bot
@ 2026-02-10 11:12 ` Tetsuo Handa
2026-02-10 18:11 ` Viacheslav Dubeyko
2 siblings, 1 reply; 7+ messages in thread
From: Tetsuo Handa @ 2026-02-10 11:12 UTC (permalink / raw)
To: Viacheslav Dubeyko
Cc: linux-fsdevel, linux-kernel, glaubitz, frank.li, jkoolstra,
mehdi.benhadjkhelifa, shardul.b
On 2026/02/07 9:26, Viacheslav Dubeyko wrote:
> Jori Koolstra has fixed the syzbot reported issue of triggering
> BUG_ON() in the case of corrupted superblock. This patch replaces
> the BUG_ON() in multiple places with proper error handling and
> resolves the syzbot reported bug.
I think that commit b226804532a8 ("hfs: Replace BUG_ON with error handling for CNID count checks") is incomplete.
Since atomic64_t is signed 64bits and U32_MAX is unsigned 32bits, the comparison
"if (atomic64_read(&sbi->next_id) > U32_MAX)" becomes false when sbi->next_id >= ((-1ULL) / 2) + 1.
I guess that a corrupted filesystem can have e.g. sbi->next_id == -1, and
"if (atomic64_read(&sbi->next_id) >> 32)" would check that the upper 32bits are all 0.
Also, I confirmed that this pull request did not include a fix for
https://syzkaller.appspot.com/bug?id=ee595bf9e099fff0610828e37bbbcdb7a2933f58 .
I'm waiting for next version of patch for this problem.
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [GIT PULL] hfs/hfsplus changes for 7.0-rc1
2026-02-10 11:12 ` Tetsuo Handa
@ 2026-02-10 18:11 ` Viacheslav Dubeyko
0 siblings, 0 replies; 7+ messages in thread
From: Viacheslav Dubeyko @ 2026-02-10 18:11 UTC (permalink / raw)
To: penguin-kernel, slava
Cc: shardul.b, glaubitz, frank.li, linux-fsdevel, linux-kernel,
jkoolstra, mehdi.benhadjkhelifa
On Tue, 2026-02-10 at 20:12 +0900, Tetsuo Handa wrote:
> On 2026/02/07 9:26, Viacheslav Dubeyko wrote:
> > Jori Koolstra has fixed the syzbot reported issue of triggering
> > BUG_ON() in the case of corrupted superblock. This patch replaces
> > the BUG_ON() in multiple places with proper error handling and
> > resolves the syzbot reported bug.
>
> I think that commit b226804532a8 ("hfs: Replace BUG_ON with error handling for CNID count checks") is incomplete.
>
> Since atomic64_t is signed 64bits and U32_MAX is unsigned 32bits, the comparison
> "if (atomic64_read(&sbi->next_id) > U32_MAX)" becomes false when sbi->next_id >= ((-1ULL) / 2) + 1.
> I guess that a corrupted filesystem can have e.g. sbi->next_id == -1, and
> "if (atomic64_read(&sbi->next_id) >> 32)" would check that the upper 32bits are all 0.
>
>
>
> Also, I confirmed that this pull request did not include a fix for
> https://urldefense.proofpoint.com/v2/url?u=https-3A__syzkaller.appspot.com_bug-3Fid-3Dee595bf9e099fff0610828e37bbbcdb7a2933f58&d=DwICaQ&c=BSDicqBQBDjDI9RkVyTcHQ&r=q5bIm4AXMzc8NJu1_RGmnQ2fMWKq4Y4RAkElvUgSs00&m=oSYPrjvqOFJcM1QikgNde5oUhIdGdMpum5UQMLayiJS0yQrJtT-rfZXJJ6rqaBd_&s=ztXY-L3aBc2mxTwLuNk3drfU-ca8BOnIOSLbfUesA-o&e= .
> I'm waiting for next version of patch for this problem.
>
If something was missed in the patch, then you or Jori are welcome to send the
fix.
Thanks,
Slava.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-02-10 18:11 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-07 0:26 [GIT PULL] hfs/hfsplus changes for 7.0-rc1 Viacheslav Dubeyko
2026-02-07 1:18 ` Tetsuo Handa
2026-02-07 8:55 ` John Paul Adrian Glaubitz
2026-02-07 9:44 ` Tetsuo Handa
2026-02-10 0:50 ` pr-tracker-bot
2026-02-10 11:12 ` Tetsuo Handa
2026-02-10 18:11 ` Viacheslav Dubeyko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®