public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Work around supported cpuid ioctl() brokenness
@ 2009-05-12 11:42 Mark McLoughlin
  2009-05-17 22:48 ` Avi Kivity
  0 siblings, 1 reply; 2+ messages in thread
From: Mark McLoughlin @ 2009-05-12 11:42 UTC (permalink / raw)
  To: Avi Kivity; +Cc: kvm, Mark McLoughlin

KVM_GET_SUPPORTED_CPUID has been known to fail to return -E2BIG
when it runs out of entries. Detect this by always trying again
with a bigger table if the ioctl() fills the table.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
---
 kvm/libkvm/libkvm-x86.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/kvm/libkvm/libkvm-x86.c b/kvm/libkvm/libkvm-x86.c
index a2f6320..4f9539a 100644
--- a/kvm/libkvm/libkvm-x86.c
+++ b/kvm/libkvm/libkvm-x86.c
@@ -575,6 +575,8 @@ static struct kvm_cpuid2 *try_get_cpuid(kvm_context_t kvm, int max)
 	r = ioctl(kvm->fd, KVM_GET_SUPPORTED_CPUID, cpuid);
 	if (r == -1)
 		r = -errno;
+	else if (r == 0 && cpuid->nent >= max)
+		r = -E2BIG;
 	if (r < 0) {
 		if (r == -E2BIG) {
 			free(cpuid);
-- 
1.6.0.6


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] Work around supported cpuid ioctl() brokenness
  2009-05-12 11:42 [PATCH] Work around supported cpuid ioctl() brokenness Mark McLoughlin
@ 2009-05-17 22:48 ` Avi Kivity
  0 siblings, 0 replies; 2+ messages in thread
From: Avi Kivity @ 2009-05-17 22:48 UTC (permalink / raw)
  To: Mark McLoughlin; +Cc: kvm

Mark McLoughlin wrote:
> KVM_GET_SUPPORTED_CPUID has been known to fail to return -E2BIG
> when it runs out of entries. Detect this by always trying again
> with a bigger table if the ioctl() fills the table.
>   

Applied, thanks.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to panic.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-05-17 22:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-12 11:42 [PATCH] Work around supported cpuid ioctl() brokenness Mark McLoughlin
2009-05-17 22:48 ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox