Re: [syzbot] general protection fault in list_lru_add
From: Linus Torvalds
Date: Wed Mar 23 2022 - 23:05:43 EST
On Wed, Mar 23, 2022 at 7:19 PM Muchun Song <songmuchun@xxxxxxxxxxxxx> wrote:
>
> After this commit, the rules of dentry allocations changed.
> The dentry should be allocated by kmem_cache_alloc_lru()
Yeah, I looked at that, but I can't find any way there could be other
allocations - not only are there strict rules how to initialize
everything, but the dentries are free'd using
kmem_cache_free(dentry_cache, dentry);
and as a result if they were allocated any other way I would expect
things would go south very quickly.
The only other thing I could come up with is some breakage in the
superblock lifetime so that &dentry->d_sb->s_dentry_lru would have
problems, but again, this is *such* core code and not some unusual
path, that I would be very very surprised if it wouldn't have
triggered other issues long long ago.
That's why I'd be more inclined to worry about the list_lru code being
somehow broken.
Linus