Re: [PATCH RESEND] kvm: Fix nonsense handling of compat ioctl

From: Avi Kivity
Date: Wed Aug 22 2012 - 08:22:49 EST


On 08/20/2012 05:43 PM, Alan Cox wrote:
> From: Alan Cox <alan@xxxxxxxxxxxxxxx>
>
> KVM_SET_SIGNAL_MASK passed a NULL argument leaves the on stack signal
> sets uninitialized. It then passes them through to
> kvm_vcpu_ioctl_set_sigmask.
>
> We should be passing a NULL in this case not translated garbage.
>
> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
> ---
>
> virt/kvm/kvm_main.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index a2e85af..e47a7ca 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -1975,9 +1975,10 @@ static long kvm_vcpu_compat_ioctl(struct file *filp,
> if (copy_from_user(&csigset, sigmask_arg->sigset,
> sizeof csigset))
> goto out;
> - }
> - sigset_from_compat(&sigset, &csigset);
> - r = kvm_vcpu_ioctl_set_sigmask(vcpu, &sigset);
> + sigset_from_compat(&sigset, &csigset);
> + r = kvm_vcpu_ioctl_set_sigmask(vcpu, &sigset);
> + } else
> + kvm_vcpu_ioctl_set_sigmask(vcpu, NULL);
> break;
> }

Now r is uninitiali[sz]ed.


--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/