Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

kvm: properly check debugfs dentry before using it

debugfs can now report an error code if something went wrong instead of
just NULL. So if the return value is to be used as a "real" dentry, it
needs to be checked if it is an error before dereferencing it.

This is now happening because of ff9fb72bc077 ("debugfs: return error
values, not NULL"). syzbot has found a way to trigger multiple debugfs
files attempting to be created, which fails, and then the error code
gets passed to dentry_path_raw() which obviously does not like it.

Reported-by: Eric Biggers <ebiggers@kernel.org>
Reported-and-tested-by: syzbot+7857962b4d45e602b8ad@syzkaller.appspotmail.com
Cc: "Radim Krčmář" <rkrcmar@redhat.com>
Cc: kvm@vger.kernel.org
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Greg Kroah-Hartman and committed by
Linus Torvalds
8ed0579c 0a1d5299

+1 -1
+1 -1
virt/kvm/kvm_main.c
··· 4044 4044 } 4045 4045 add_uevent_var(env, "PID=%d", kvm->userspace_pid); 4046 4046 4047 - if (kvm->debugfs_dentry) { 4047 + if (!IS_ERR_OR_NULL(kvm->debugfs_dentry)) { 4048 4048 char *tmp, *p = kmalloc(PATH_MAX, GFP_KERNEL); 4049 4049 4050 4050 if (p) {