Message ID | 1571626376-11357-1-git-send-email-linmiaohe@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: remove redundant code in kvm_arch_vm_ioctl | expand |
On Mon, 21 Oct 2019, Miaohe Lin wrote: > If we reach here with r = 0, we will reassign r = 0 > unnecesarry, then do the label set_irqchip_out work. > If we reach here with r != 0, then we will do the label > work directly. So this if statement and r = 0 assignment > is redundant. > > Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> > --- > arch/x86/kvm/x86.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 661e2bf38526..0b3ebc2afb3d 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -4916,9 +4916,6 @@ long kvm_arch_vm_ioctl(struct file *filp, > if (!irqchip_kernel(kvm)) > goto set_irqchip_out; > r = kvm_vm_ioctl_set_irqchip(kvm, chip); > - if (r) > - goto set_irqchip_out; > - r = 0; > set_irqchip_out: > kfree(chip); > break; Can you please get rid of that odd jump label completely? if (irqchip_kernel(kvm)) r = kvm_vm_ioctl_set_irqchip(kvm, chip); Hmm? Thanks, tglx
On 21/10/19 10:16, Thomas Gleixner wrote: > Can you please get rid of that odd jump label completely? > > if (irqchip_kernel(kvm)) > r = kvm_vm_ioctl_set_irqchip(kvm, chip); Keeping the label has the advantage of making the get and set cases a bit more similar (the get case has to do a copy_to_user after kvm_vm_ioctl_get_irqchip returns). Unfortunately struct kvm_irqchip is quite big (520 bytes) so we don't allocate it on the stack. So I queued Miaohe's patch. Paolo
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 661e2bf38526..0b3ebc2afb3d 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -4916,9 +4916,6 @@ long kvm_arch_vm_ioctl(struct file *filp, if (!irqchip_kernel(kvm)) goto set_irqchip_out; r = kvm_vm_ioctl_set_irqchip(kvm, chip); - if (r) - goto set_irqchip_out; - r = 0; set_irqchip_out: kfree(chip); break;
If we reach here with r = 0, we will reassign r = 0 unnecesarry, then do the label set_irqchip_out work. If we reach here with r != 0, then we will do the label work directly. So this if statement and r = 0 assignment is redundant. Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> --- arch/x86/kvm/x86.c | 3 --- 1 file changed, 3 deletions(-)