diff mbox series

[-next] KVM: s390: Return the correct errno code

Message ID 20210204080523.18943-1-zhengyongjun3@huawei.com (mailing list archive)
State New, archived
Headers show
Series [-next] KVM: s390: Return the correct errno code | expand

Commit Message

Zheng Yongjun Feb. 4, 2021, 8:05 a.m. UTC
When valloc failed, should return ENOMEM rather than ENOBUF.

Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com>
---
 arch/s390/kvm/interrupt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Cornelia Huck Feb. 4, 2021, 8:32 a.m. UTC | #1
On Thu, 4 Feb 2021 16:05:23 +0800
Zheng Yongjun <zhengyongjun3@huawei.com> wrote:

> When valloc failed, should return ENOMEM rather than ENOBUF.
> 
> Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com>
> ---
>  arch/s390/kvm/interrupt.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c
> index 2f177298c663..6b7acc27cfa2 100644
> --- a/arch/s390/kvm/interrupt.c
> +++ b/arch/s390/kvm/interrupt.c
> @@ -2252,7 +2252,7 @@ static int get_all_floating_irqs(struct kvm *kvm, u8 __user *usrbuf, u64 len)
>  	 */
>  	buf = vzalloc(len);
>  	if (!buf)
> -		return -ENOBUFS;
> +		return -ENOMEM;
>  
>  	max_irqs = len / sizeof(struct kvm_s390_irq);
>  

This breaks a user space interface (see the comment right above the
vzalloc).
Christian Borntraeger Feb. 4, 2021, 8:42 a.m. UTC | #2
On 04.02.21 09:32, Cornelia Huck wrote:
> On Thu, 4 Feb 2021 16:05:23 +0800
> Zheng Yongjun <zhengyongjun3@huawei.com> wrote:
> 
>> When valloc failed, should return ENOMEM rather than ENOBUF.
>>
>> Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com>
>> ---
>>  arch/s390/kvm/interrupt.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c
>> index 2f177298c663..6b7acc27cfa2 100644
>> --- a/arch/s390/kvm/interrupt.c
>> +++ b/arch/s390/kvm/interrupt.c
>> @@ -2252,7 +2252,7 @@ static int get_all_floating_irqs(struct kvm *kvm, u8 __user *usrbuf, u64 len)
>>  	 */
>>  	buf = vzalloc(len);
>>  	if (!buf)
>> -		return -ENOBUFS;
>> +		return -ENOMEM;
>>  
>>  	max_irqs = len / sizeof(struct kvm_s390_irq);
>>  
> 
> This breaks a user space interface (see the comment right above the
> vzalloc).


Right. Please do not send (generated?) patches without looking at the code
that you are patching.
Zheng Yongjun Feb. 4, 2021, 9:04 a.m. UTC | #3
Thanks for your advice, I will do this better later :)

-----邮件原件-----
发件人: Christian Borntraeger [mailto:borntraeger@de.ibm.com] 
发送时间: 2021年2月4日 16:42
收件人: Cornelia Huck <cohuck@redhat.com>; zhengyongjun <zhengyongjun3@huawei.com>
抄送: kvm@vger.kernel.org; linux-s390@vger.kernel.org; linux-kernel@vger.kernel.org; frankja@linux.ibm.com; david@redhat.com; imbrenda@linux.ibm.com; hca@linux.ibm.com; gor@linux.ibm.com
主题: Re: [PATCH -next] KVM: s390: Return the correct errno code

On 04.02.21 09:32, Cornelia Huck wrote:
> On Thu, 4 Feb 2021 16:05:23 +0800
> Zheng Yongjun <zhengyongjun3@huawei.com> wrote:
> 
>> When valloc failed, should return ENOMEM rather than ENOBUF.
>>
>> Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com>
>> ---
>>  arch/s390/kvm/interrupt.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c 
>> index 2f177298c663..6b7acc27cfa2 100644
>> --- a/arch/s390/kvm/interrupt.c
>> +++ b/arch/s390/kvm/interrupt.c
>> @@ -2252,7 +2252,7 @@ static int get_all_floating_irqs(struct kvm *kvm, u8 __user *usrbuf, u64 len)
>>  	 */
>>  	buf = vzalloc(len);
>>  	if (!buf)
>> -		return -ENOBUFS;
>> +		return -ENOMEM;
>>  
>>  	max_irqs = len / sizeof(struct kvm_s390_irq);
>>  
> 
> This breaks a user space interface (see the comment right above the 
> vzalloc).


Right. Please do not send (generated?) patches without looking at the code that you are patching.
diff mbox series

Patch

diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c
index 2f177298c663..6b7acc27cfa2 100644
--- a/arch/s390/kvm/interrupt.c
+++ b/arch/s390/kvm/interrupt.c
@@ -2252,7 +2252,7 @@  static int get_all_floating_irqs(struct kvm *kvm, u8 __user *usrbuf, u64 len)
 	 */
 	buf = vzalloc(len);
 	if (!buf)
-		return -ENOBUFS;
+		return -ENOMEM;
 
 	max_irqs = len / sizeof(struct kvm_s390_irq);