diff mbox

[-next] KVM: PPC: Fix error return code in kvm_vm_ioctl_create_spapr_tce()

Message ID 20170207153407.22325-1-weiyj.lk@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Wei Yongjun Feb. 7, 2017, 3:34 p.m. UTC
From: Wei Yongjun <weiyongjun1@huawei.com>

Fix to return error code -ENOMEM from the memory alloc error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
---
 arch/powerpc/kvm/book3s_64_vio.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Paul Mackerras Feb. 8, 2017, 9:48 a.m. UTC | #1
On Tue, Feb 07, 2017 at 03:34:07PM +0000, Wei Yongjun wrote:
> From: Wei Yongjun <weiyongjun1@huawei.com>
> 
> Fix to return error code -ENOMEM from the memory alloc error handling
> case instead of 0, as done elsewhere in this function.
> 
> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
> ---
>  arch/powerpc/kvm/book3s_64_vio.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/powerpc/kvm/book3s_64_vio.c b/arch/powerpc/kvm/book3s_64_vio.c
> index d71f872..8a4a3f0 100644
> --- a/arch/powerpc/kvm/book3s_64_vio.c
> +++ b/arch/powerpc/kvm/book3s_64_vio.c
> @@ -173,8 +173,10 @@ long kvm_vm_ioctl_create_spapr_tce(struct kvm *kvm,
>  
>  	stt = kzalloc(sizeof(*stt) + npages * sizeof(struct page *),
>  		      GFP_KERNEL);
> -	if (!stt)
> +	if (!stt) {
> +		ret = -ENOMEM;
>  		goto fail;

I think it would be better to set ret unconditionally to -ENOMEM
before the if; that would save you one line here and make the second
hunk unnecessary.

> +	}
>  
>  	stt->liobn = args->liobn;
>  	stt->page_shift = args->page_shift;
> @@ -184,8 +186,10 @@ long kvm_vm_ioctl_create_spapr_tce(struct kvm *kvm,
>  
>  	for (i = 0; i < npages; i++) {
>  		stt->pages[i] = alloc_page(GFP_KERNEL | __GFP_ZERO);
> -		if (!stt->pages[i])
> +		if (!stt->pages[i]) {
> +			ret = -ENOMEM;
>  			goto fail;
> +		}
>  	}
>  
>  	kvm_get_kvm(kvm);

Paul.
diff mbox

Patch

diff --git a/arch/powerpc/kvm/book3s_64_vio.c b/arch/powerpc/kvm/book3s_64_vio.c
index d71f872..8a4a3f0 100644
--- a/arch/powerpc/kvm/book3s_64_vio.c
+++ b/arch/powerpc/kvm/book3s_64_vio.c
@@ -173,8 +173,10 @@  long kvm_vm_ioctl_create_spapr_tce(struct kvm *kvm,
 
 	stt = kzalloc(sizeof(*stt) + npages * sizeof(struct page *),
 		      GFP_KERNEL);
-	if (!stt)
+	if (!stt) {
+		ret = -ENOMEM;
 		goto fail;
+	}
 
 	stt->liobn = args->liobn;
 	stt->page_shift = args->page_shift;
@@ -184,8 +186,10 @@  long kvm_vm_ioctl_create_spapr_tce(struct kvm *kvm,
 
 	for (i = 0; i < npages; i++) {
 		stt->pages[i] = alloc_page(GFP_KERNEL | __GFP_ZERO);
-		if (!stt->pages[i])
+		if (!stt->pages[i]) {
+			ret = -ENOMEM;
 			goto fail;
+		}
 	}
 
 	kvm_get_kvm(kvm);