[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wg3U3Y6eaura=xQzTsktpEOMETYYnue+_KSbQmpg7vZ0Q@mail.gmail.com>
Date: Thu, 5 Jan 2023 13:53:59 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Michael Schmitz <schmitzmic@...il.com>
Cc: Arnd Bergmann <arnd@...db.de>,
syzbot <syzbot+7bb7cd3595533513a9e7@...kaller.appspotmail.com>,
Andrew Morton <akpm@...ux-foundation.org>,
christian.brauner@...ntu.com,
Damien Le Moal <damien.lemoal@...nsource.wdc.com>,
jlayton@...nel.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org, syzkaller-bugs@...glegroups.com,
Matthew Wilcox <willy@...radead.org>,
ZhangPeng <zhangpeng362@...wei.com>,
Viacheslav Dubeyko <slava@...eyko.com>,
linux-m68k@...ts.linux-m68k.org, flar@...andria.com
Subject: Re: [syzbot] [hfs?] WARNING in hfs_write_inode
On Thu, Jan 5, 2023 at 1:35 PM Michael Schmitz <schmitzmic@...il.com> wrote:
>
> Looking at Linus' patch, I wonder whether the missing fd.entrylength
> size test in the HFS_IS_RSRC(inode) case was due to the fact that a
> file's resource fork may be empty?
But if that is the case, then the subsequent hfs_bnode_read would
return garbage, no? And then writing it back after the update would be
even worse.
So adding that
+ if (fd.entrylength < sizeof(struct hfs_cat_file))
+ goto out;
would seem to be the right thing anyway. No?
But I really don't know the code, so this is all from just looking at
it and going "that makes no sense". Maybe it _does_ make sense to
people who have more background on it.
Linus
Powered by blists - more mailing lists