[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <55452103-8c14-19df-38d8-99459e9abd6a@redhat.com>
Date: Wed, 14 Feb 2018 12:32:29 +0100
From: Paolo Bonzini <pbonzini@...hat.com>
To: Christian Borntraeger <borntraeger@...ibm.com>,
David Rientjes <rientjes@...gle.com>
Cc: Radim Krčmář <rkrcmar@...hat.com>,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org
Subject: Re: [patch] kvm: suppress KVM_SET_GSI_ROUTING allocation failure
On 14/02/2018 12:14, Christian Borntraeger wrote:
>
>
> On 02/14/2018 11:10 AM, Paolo Bonzini wrote:
>> On 14/02/2018 02:03, David Rientjes wrote:
>>> On Tue, 13 Feb 2018, Paolo Bonzini wrote:
>>>
>>>>>> The KVM_SET_GSI_ROUTING ioctl does a vmalloc() of
>>>>>> sizeof(struct kvm_irq_routing_entry) multiplied by a user-supplied value.
>>>>>> This can be up to 4096 entries on architectures such as arm64 and s390
>>>>>> (and the upper bound may be increased on s390 eventually).
>>>>>>
>>>>>> This can produce a vmalloc allocation failure warning:
>>>>>>
>>>>> [...]
>>>>>> kvm_vm_ioctl+0x910/0x15e0 arch/x86/kvm/../../../virt/kvm/kvm_main.c:4153
>>>>>
>>>>> ^^^^^
>>>>>
>>>>>> @@ -3063,7 +3063,8 @@ static long kvm_vm_ioctl(struct file *filp,
>>>>>
>>>>> ^^^^^
>>>>>
>>>>>
>>>>> Are you sure that you got the right vmalloc?
>>>>
>>>> Nice catch! But well, it's the only one in the whole file. :)
>>>>
>>>> That seems very much like an old patch then. I'm unqueuing it.
>>>>
>>>
>>> It's not a catch at all, the fact that I saw this warning with an older
>>> kernel for KVM_SET_GSI_ROUTING doesn't mean that I can't patch it with an
>>> upstream kernel. Would you prefer I remove the stack trace completely?
>>
>> The upstream kernel doesn't warn. It checks "if (routing.nr)" before
>> calling vmalloc.
>
> It will warn of the vmalloc space is really exhausted. But then I really ask
> myself if we really want to suppress this warning. This should be a big
> ALERT to the host admin.
Especially since the biggest allocation KVM_SET_GSI_ROUTING can do is
128 KiB...
Paolo
Powered by blists - more mailing lists