Received: by 2002:a05:6520:1682:b0:147:d1a0:b502 with SMTP id ck2csp5596669lkb; Mon, 11 Oct 2021 09:39:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzynAystoEBv065VoyPjE4ARQUDvBFc7kJJs4YJDgZqZcFY9mQigt36laxy4CeB7GntXOqD X-Received: by 2002:aa7:914d:0:b0:44c:61e3:99b9 with SMTP id 13-20020aa7914d000000b0044c61e399b9mr26936490pfi.65.1633970351280; Mon, 11 Oct 2021 09:39:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633970351; cv=none; d=google.com; s=arc-20160816; b=Kx7rNI0VLBtaWplWSxL3RIhUbbtTrfptUlyy77Yx3PTdAZru6xscv31AgQxdqYhnQf nKbcWcyYkTymJHaMhaPpk06mT4kKV/n7nJpAhUG+LmIMrFIqqO7mUVcDKJ3N0bNfMJ5o 79k+mexMuTaX91cIecu4g5fUUXeJ98zPnNGb7uYzBfPyerWoNuJ32z6LtH5alEK4aSs4 WYyXfj2SI2/0gL1OOW1slKdODmP4MIwCBf01xX92B3MTRhKsWkDtX/vEU55MH3zvFDd7 3uF4Aq6d7S8RwjLiGTh0PbBU9aq95KhgXVyMP6iPn1XRvzqcomc4hZ1cd2EDM+bZe8PL Ej3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=KwV0j5l+6jp7oi03p9mWq74y0+pPufe5DR//TIJnJ0o=; b=ZwIHWq866am2qOD6b9lovtDRNexbwT7xSR44Tzv48ezm7MRhfcG/7mUNDICqbxxhim pVmSoiakooiAYtScqWFUBntINi6ErZct0mmD70Ogcbrhv1eVn18VhIPNtJvkq/ckX+kI Uxx8h1dF7XYCDvEXuXVxrn01R70+sCZY0HxfVCOv/Lgm0BcrbCIsBruFZ7UN5fZO6VmC DsYjMqn2wX6pxLq34sIHS/WatIRD0TPReZVbRFqarxWMx6OBIxS9aDHZgrNb2J0aMt7Q 8QQ6m//Brg9eaCftQQxtMVrU1UiwmZ2bSBxYO5F0o4psjywz16a3j7pIqGYmVduIkARJ aljQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="tSlT/vaO"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f187si10244799pfg.87.2021.10.11.09.38.58; Mon, 11 Oct 2021 09:39:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="tSlT/vaO"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238183AbhJKOhd (ORCPT + 99 others); Mon, 11 Oct 2021 10:37:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45284 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237686AbhJKOh3 (ORCPT ); Mon, 11 Oct 2021 10:37:29 -0400 Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3BBDAC06161C for ; Mon, 11 Oct 2021 07:35:29 -0700 (PDT) Received: by mail-lf1-x12e.google.com with SMTP id x27so74457118lfa.9 for ; Mon, 11 Oct 2021 07:35:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=KwV0j5l+6jp7oi03p9mWq74y0+pPufe5DR//TIJnJ0o=; b=tSlT/vaOIZ7/xP1SYtjDrUM6zeicsCDdfvQmPM0bhEaEe106g/25m1QWASj7TLzW/9 DsOn6EGujLp17YIv7/Effv67U/zAr79cu3RUSBeiiip5hVaALHGajC6YeLmkQVGQ0C8S w7mEbguwEFrkl0xpyR9z7jGXRDQTRvsMWMlbrPvFO3naoD7VG+ujxFiZQRu+Ahy2Bzey Ow3Hw9kgiyzRRMY48ycOrOj1e0bHAnwCKdT1FEoOuHJWVQLc5aebEokPcv4C4Lp443Qs j3fCIezddi0EX9bSmjbA/1AApjzNwCrfNaOkoxTwADK3ImFvydV9qd75NUqYzbe5TX1i UY6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=KwV0j5l+6jp7oi03p9mWq74y0+pPufe5DR//TIJnJ0o=; b=lNFSdd/xWSWcLY2v/5CT+CIs9Eq25gUAw2HRz2owF+IUwfnWQ7xmJLRP89S1NmYowh 6h8i6lUS10jtwfTD2edLsfQki6ALbYgO36gYD/bQ7pmInPFxHefAvskeuzDzPy1C8hjf QUvHa/ntHHLpnlo8rTmlmpMzb6IObTu/H+a3lFoS5NdC0xpi7jB1+10C41lVihlJXrtP Eiax87Iz9V75TUIR11ssKDkoOtZ9VQplgriI5wJQpH3vAdyzrzXYpvwLGudfyU5xxcZZ fCeiO7/PS+/KR7EcxGCqFwJEo4vPEcayK7RzdxjY86UoJxaTVrr4YSVc5vfANhJsg2mF dvaw== X-Gm-Message-State: AOAM533Y55gjma86hit3UOFu7CxZyvNfTN5ckZwuJ/nuvHCWxXTstST5 sPs6n13WPgi6ZA08qJkEBZ1zorpeqDKJPZMRMMtqoQ== X-Received: by 2002:a2e:8ec3:: with SMTP id e3mr8346534ljl.337.1633962922631; Mon, 11 Oct 2021 07:35:22 -0700 (PDT) MIME-Version: 1.0 References: <20211007231647.3553604-1-seanjc@google.com> In-Reply-To: <20211007231647.3553604-1-seanjc@google.com> From: Oliver Upton Date: Mon, 11 Oct 2021 09:35:11 -0500 Message-ID: Subject: Re: [PATCH] KVM: x86: Account for 32-bit kernels when handling address in TSC attrs To: Sean Christopherson Cc: Paolo Bonzini , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , kvm@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Oct 7, 2021 at 6:16 PM Sean Christopherson wrot= e: > > When handling TSC attributes, cast the userspace provided virtual address > to an unsigned long before casting it to a pointer to fix warnings on > 32-bit kernels due to casting a 64-bit integer to a 32-bit pointer. > > Add a check that the truncated address matches the original address, e.g. > to prevent userspace specifying garbage in bits 63:32. > > arch/x86/kvm/x86.c: In function =E2=80=98kvm_arch_tsc_get_attr=E2=80=99= : > arch/x86/kvm/x86.c:4947:22: error: cast to pointer from integer of diff= erent size > 4947 | u64 __user *uaddr =3D (u64 __user *)attr->addr; > | ^ > arch/x86/kvm/x86.c: In function =E2=80=98kvm_arch_tsc_set_attr=E2=80=99= : > arch/x86/kvm/x86.c:4967:22: error: cast to pointer from integer of diff= erent size > 4967 | u64 __user *uaddr =3D (u64 __user *)attr->addr; > | ^ > > Cc: Oliver Upton > Fixes: 469fde25e680 ("KVM: x86: Expose TSC offset controls to userspace") > Signed-off-by: Sean Christopherson > --- > arch/x86/kvm/x86.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > Reviewed-by: Oliver Upton