Messages in this thread | | | From | Linus Torvalds <> | Date | Wed, 23 Mar 2022 20:05:11 -0700 | Subject | Re: [syzbot] general protection fault in list_lru_add |
| |
On Wed, Mar 23, 2022 at 7:19 PM Muchun Song <songmuchun@bytedance.com> 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
| |