From mboxrd@z Thu Jan 1 00:00:00 1970 From: Raghavendra K T Subject: Re: [PATCH 3.12-rc7] KVM: Fix modprobe failure for kvm_intel/kvm_amd Date: Wed, 30 Oct 2013 00:57:32 +0530 Message-ID: <52700C24.9050001@linux.vnet.ibm.com> References: <1383059634-55512-1-git-send-email-tim.gardner@canonical.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Tim Gardner , Linux Kernel Mailing List , the arch/x86 maintainers , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Gleb Natapov , Marcelo Tosatti , Paolo Bonzini , KVM list , Al Viro To: Linus Torvalds , Greg KH Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Adding Greg/AI too since we touch debugfs code. [...] >> >> sudo modprobe kvm_amd >> modprobe: ERROR: could not insert 'kvm_amd': Bad address > > "Bad address"? Christ people, are you guys making up error numbers > with some kind of dice-roll? I can just see it now, somebody sitting > there with a D20, playing some kind of kernel-specific D&D, and > rolling a ten means that you get to slay the orc, and pick an error > number of EFAULT for some random kernel function. Because quite > frankly, "random dice roll" is the _only_ thing that explains "Bad > address" sufficiently. > > Please, whoever wrote virt/kvm/kvm_main.c:: kvm_init_debug(), WTF? > EFAULT means "user passed in an invalid virtual address pointer", > which is why the error string is "Bad address". It makes absolutely NO > SENSE here. Perhaps EEXIST or EBUSY. > Right. In current scenario it should have been EEXIST :(. debugfs_create_dir() currently returns NULL dentry on both EEXIST, ENOMEM ... cases. Could one solution be cascading actual error that is lost in fs/debugfs/inode.c:__create_file(), so that we could take correct action in case of failure of debugfs_create_dir()? (ugly side is we increase total number of params for __create_file to 6). or I hope there could be some better solution.