From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f201.google.com (mail-pg1-f201.google.com [209.85.215.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CDEB34028D0 for ; Fri, 29 May 2026 16:51:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780073506; cv=none; b=RwEc68oGwHUPBEVEu3jMGllRSn4by9OqOXXc5AYU9iBUFDp3aAt8aGsV6/L6I68klNNbKjqMLpnfjhNKFLtdwYySITiw2WonWOctBxmfj2R/ZFhwGc7zqrA/Kha8hpBrsYNdlmj8bIfmZCaieeDzVccy4KLR4OWbqvbMPhwuFeM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780073506; c=relaxed/simple; bh=0HhtByV5rsxXuTBsxvldTKAWnLNz94TzjlFuF8ru/xU=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=MYJPE66Lt7P8H0JFSQ/+99/sLH1NE5bpxNLP+oaPcP+mWQXymePqzQowinBNg6wEIV8EQB+Twviz8W1BRof9RQms2qkTHabOaTRiTKg+sMh+0pn/17HqKOVqdqUzJ0NX4Dyh4tLx3b2TSP+hW8mAse+MtJlVbr77Y/mK6xICBgQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=YeyDWed9; arc=none smtp.client-ip=209.85.215.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="YeyDWed9" Received: by mail-pg1-f201.google.com with SMTP id 41be03b00d2f7-c85759a8f33so574140a12.0 for ; Fri, 29 May 2026 09:51:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1780073502; x=1780678302; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=ewXhP3520EhD386XfwBnuZGOAW/5b7EnRAjGjx/ciMY=; b=YeyDWed9Wuze4XVAE7zex6WcKqMWyW4rYNB+l6jzQMi/LvzoH7NjZ3P943KiVcY36Y ZCJosSaNlHmboDWryzvkD1d/jKVh7Uuyxmpf1F+klYe2V0AHWDQ4pQ1oL5/D9sGeSTYG aKiik4Zua5/4MHREiwqKThnRnAka2KNWDGUOx5Blh2pfE+6xcXcn8VTPRt0IfEEHzX9S V7NpX59+Mnd7wcQhisetOskN08CeABeQaeuBjCXkh/eamck71BqHjWjOuQwUI+lBc0O5 AZ2+O9NoFpxNUoj+a6TrjX0+zJLQnnG282ryNmu8fMdpbWMu0PAd2QyRzk7trLu4Up8A OMsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780073502; x=1780678302; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ewXhP3520EhD386XfwBnuZGOAW/5b7EnRAjGjx/ciMY=; b=s6+RushohtNzGHGLGefx44owV1vAHpd5ORpTXWx871zw61zJCyKaK0gM4V0RgZ2qSL AeY7yiScOA55mQiTvGF07S7039b7ZV1mPifUxn2dhByq5E3zCJRJ20MzG66fkw2hUzWR Ek12dtf4dCXT+ZTAw8LNIiDvERNUiixYMv0NRaz/EtLJzw1UXsh1G97J9DiL6cdx2QBd 536oAFixrtA3zcXJKVAw1QSl16EomsFGdVa6r3+DDy6gUtSNztiySFb6NGazzb901S6H LdEr012/5XEr9YE8Y3ohnNj86EhUpiL1WUmdGakF64PpruduULKhavGI2d4Pn5EzjWBj h2nw== X-Forwarded-Encrypted: i=1; AFNElJ9CLSRrO68FLLvLAkg+FCU4R1BxAgbxsgI3YnYPbrWBTBZ6HzQL9MQFob/veaNOeEQ/XvlYSV4giL/wu3g=@vger.kernel.org X-Gm-Message-State: AOJu0YxDxE4HBSSDt/urmf5LEi74rH0FbzY40+5PcKsNUUITZ+jPKsFe 11X/1MCZdIFxCopAcdDxKT1BtN5Qmf0kuw6tHsBD5jjO1QW4YiNQKFIySSfILti1ia4l1os6Ltq Dq0wb5Q== X-Received: from pgka18.prod.google.com ([2002:a63:e852:0:b0:c85:7fac:dcbd]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a21:6492:b0:3ab:30d:c7a0 with SMTP id adf61e73a8af0-3b40fd781abmr3906703637.32.1780073501523; Fri, 29 May 2026 09:51:41 -0700 (PDT) Reply-To: Sean Christopherson Date: Fri, 29 May 2026 09:51:10 -0700 In-Reply-To: <20260529165114.748639-1-seanjc@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260529165114.748639-1-seanjc@google.com> X-Mailer: git-send-email 2.54.0.823.g6e5bcc1fc9-goog Message-ID: <20260529165114.748639-17-seanjc@google.com> Subject: [PATCH v2 16/20] KVM: x86/xen: Convert xen_get_guest_pvclock() to gpc's CLASS() APIs From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini , David Woodhouse , Paul Durrant , Peter Zijlstra , Ingo Molnar , Will Deacon , Boqun Feng Cc: Waiman Long , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, David Woodhouse , Sebastian Andrzej Siewior , syzbot+208f7f3e5f59c11aeb90@syzkaller.appspotmail.com, Carsten Stollmaier Content-Type: text/plain; charset="UTF-8" Convert the Xen pvclock reads to the "map local" CLASS() APIs, using a read-only variants as KVM simply copying data from the pvclock. No functional change intended. Signed-off-by: Sean Christopherson --- arch/x86/kvm/xen.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/arch/x86/kvm/xen.c b/arch/x86/kvm/xen.c index 47750316f132..89daad3fe712 100644 --- a/arch/x86/kvm/xen.c +++ b/arch/x86/kvm/xen.c @@ -153,21 +153,11 @@ static int xen_get_guest_pvclock(struct kvm_vcpu *vcpu, struct gfn_to_pfn_cache *gpc, unsigned int offset) { - int r; + CLASS(gpc_map_local_ro, pvclock_map)(gpc, offset + sizeof(*hv_clock)); + if (IS_ERR(pvclock_map)) + return PTR_ERR(pvclock_map); - read_lock(&gpc->lock); - while (!kvm_gpc_check(gpc, offset + sizeof(*hv_clock))) { - read_unlock(&gpc->lock); - - r = kvm_gpc_refresh(gpc, offset + sizeof(*hv_clock)); - if (r) - return r; - - read_lock(&gpc->lock); - } - - memcpy(hv_clock, gpc->khva + offset, sizeof(*hv_clock)); - read_unlock(&gpc->lock); + memcpy(hv_clock, *pvclock_map + offset, sizeof(*hv_clock)); /* * Sanity check TSC shift+multiplier to verify the guest's view of time -- 2.54.0.823.g6e5bcc1fc9-goog