Re: [PATCH] KVM: s390: Check kvm pointer when testing KVM_CAP_S390_HPAGE_1M

Claudio Imbrenda
2024-04-19T16:43:48Z

On Fri, 19 Apr 2024 17:07:24 +0100
Jean-Philippe Brucker <jean-philippe@linaro.org> wrote:

> KVM allows issuing the KVM_CHECK_EXTENSION ioctl either on the /dev/kvm
> fd or the VM fd. In the first case, kvm_vm_ioctl_check_extension() is
> called with kvm==NULL. Ensure we don't dereference the pointer in that
> case.
>
> Fixes: 40ebdb8e59df ("KVM: s390: Make huge pages unavailable in ucontrol VMs")
> Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>

Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>

> ---
> Only build-tested
> ---
> arch/s390/kvm/kvm-s390.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
> index 5147b943a864a..7721eb522f43d 100644
> --- a/arch/s390/kvm/kvm-s390.c
> +++ b/arch/s390/kvm/kvm-s390.c
> @@ -587,7 +587,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
> break;
> case KVM_CAP_S390_HPAGE_1M:
> r = 0;
> - if (hpage && !kvm_is_ucontrol(kvm))
> + if (hpage && !(kvm && kvm_is_ucontrol(kvm)))
> r = 1;
> break;
> case KVM_CAP_S390_MEM_OP: