From nobody Mon Sep 28 21:55:07 2026 Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) (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 3312D3AAF41 for ; Mon, 17 Aug 2026 07:33:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786952010; cv=none; b=H4YQ5GZV6sMyJRHPr81cT/MDxHcL4VN1KDfD8oqcPcfaE9pv9b6daKytu+5nHuZPaLm0kZSZPlXmwwB8hOny2KaGoVljsjXXjfM59XMoNYl/l0Z6T9enNVQy72fI9/rbiz5Kgn5i9S0YF3oqdih2/U+VqXOuY2zLn0+J5NO6WmI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786952010; c=relaxed/simple; bh=tM0pTha1/9nfcltCgNGuo/8gpha3J9wIDaj3gZsBSBo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=h++XJ0U++gDZ2V7vpCwIInym0iNEEbgn6rwPCyXRVLAqf+XBrKfOQDv4oe45tPomx5RQq0cZXvQfA2iPb9iGPGT2PM9dnRkrhMWc+x28OjK8p0o3R2PodFqLEL5+seT0/HiLuNHvDrquAjHPwWo3ucq2/oGB3S5bYexmmOoJ0pA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com; spf=pass smtp.mailfrom=sifive.com; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b=kRPYtlGp; arc=none smtp.client-ip=209.85.215.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sifive.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b="kRPYtlGp" Received: by mail-pg1-f176.google.com with SMTP id 41be03b00d2f7-cc11a905ba5so1331403a12.2 for ; Mon, 17 Aug 2026 00:33:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1786952007; x=1787556807; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:content-type :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=ctO/918wY9I8dgMN/rNhQAZPgaBP/6EBpuY/G7CkCVE=; b=kRPYtlGp6tjDZO1MoOKwooRhe9o+y77qwcwF+6aR1wNLqQ9Wrehxsh5PiQMu2KWEg6 z8RkNRDrZf2G+/ujyyaBfuAjjMZmV2qluBkP6kbvZ+wzWpYySyeOUu1AjH6eLUC0MN+I lTufIYkgF+iALfcuWL7KZXLL5vIwxqWIV1LTsXwILPlGXgZ9eC2NW3zovUWoBIoZ5K47 0MRo07D2gfamrBRXwynGF8xR4uWpn5T1tjVmbqlrEe7oAGnjCrYWT3uf+xT9oWoW7JEo k7jL4sVHcnvoWeVSqLi5/6LkaXsZ6gntW1s1d+Sew5ovojzqqb2FN9Q/1kVJ1Ll4m6as svIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786952007; x=1787556807; h=cc:to:message-id:content-transfer-encoding:content-type :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=ctO/918wY9I8dgMN/rNhQAZPgaBP/6EBpuY/G7CkCVE=; b=XVzbeqp0D+6eYDnH3wOag6LDrjzFNIPZcFdxPyxUsqt5R+etzgXy2bjEN9GBnzmVIz idhzRJLjZj8hgwPj3tUr33U8AJt93njUcZQCyLYMvgnxGdjjoaxaF3eWq9EKFBWZHs90 1ypM47Z00HVHPN1QAeyIZuN6WDL1OuvdkHYmTFk1T1S2n+pnqxn2Fmq4P8Jt5KzhYjj1 39npmk+UmBUnjf2NRSJ6f9ebb+2KMD/Gw6EobzZymHeA2qQOKf5W3blr4r1p7hRrS3YF ZIHpk4b9Kzi6LGuVS6UJ43wGdJUbxAEyZH5svm0wxXnpZsMr8ZoCngPF8yMUH6wd9j9a QGAw== X-Forwarded-Encrypted: i=1; AHgh+RptHh+RtVlQVwI+C6CWeINTvLxQs4WIicsRxwEdWQ8Yo9sgGEfBM5z281GJZByS+jKu6CGcKC8aTzhqM/U=@vger.kernel.org X-Gm-Message-State: AOJu0YzvB2G5CH4Xoe/vgOEmHv3cJ7o/NjgV0p9bIwGpOMfWpTzt40sB dRmb7pIZ3N3pKeUmqQABUCnfmtavP2bdG/PhlF5+tOtB2RRNzvozNTnLfZNi2qz4iXw= X-Gm-Gg: AR+sD11a53KrVhuBv3nb1ZfAKdO0yyX/SHyZB9bTub02m2FgckuRiMTaRrHHRR3x1zX qmcBJGJ4YVdaPvBYP6gX7N6jgbXLt3Hb/Xv5LCk69d0Qi6SsKdqTP5UOdz1bcoPNDgBCs9/ctJ0 2b9PdJi52OKgEW4iSKBZit3Y5OAJ9VIbFgrseISB+rkY5wZi56rBf60zmzVHVBLK6oBAwN8EXjS BLeKGGozvw1OdtImGLKyZ8sRKnIMAJvYzsUEVzzuh1zcr5VVL+CGjMo/sVjWiNfIW98Dq8ExL+I 9syGWGO4QHNmoZo1xcVvDGBnGKzGQjTYEmMhS5jvlw3IHSZcK+k+W9bvyxtQiEnGIO4n/N+IplE MoSTtS/il7r4wQs7JJ4MWFxS/u0Z901SkgooHcUzLazAOgDNySmA+f8Qt2wSq8AmZra2HgRapwV Ckzza0BLAWg54vCS7nMaoA6qZlrYPSnvRrt2oE9fxnzx/B8IaeukeO2S58Wb4jVeYBjl9gYArGB fhYloWq X-Received: by 2002:a05:6a21:7702:b0:3b3:d0f:7883 with SMTP id adf61e73a8af0-3cc7196eda5mr27885097637.7.1786952007506; Mon, 17 Aug 2026 00:33:27 -0700 (PDT) Received: from sw07.internal.sifive.com ([4.53.31.132]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-326796d646bsm3575972eec.10.2026.08.17.00.33.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Aug 2026 00:33:26 -0700 (PDT) From: Yong-Xuan Wang Date: Mon, 17 Aug 2026 00:32:59 -0700 Subject: [PATCH] KVM: RISC-V: Clear HSTATUS.HU on hypervisor initialization Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260817-hstatus_hu-v1-1-28c53cdfb408@sifive.com> X-B4-Tracking: v=1; b=H4sIACq5gmoC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDIzMDC0Nz3YziksSS0uL4jFLdRMNEC4tEI/Nk8yRDJaCGgqLUtMwKsGHRsRB +cWlSVmpyCcgEpdpaANvzj4duAAAA X-Change-ID: 20260817-hstatus_hu-a1a88a27c7b1 To: Anup Patel , Atish Patra , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: greentime.hu@sifive.com, vincent.chen@sifive.com, zong.li@sifive.com, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Yong-Xuan Wang , Samuel Holland X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786952006; l=1212; i=yongxuan.wang@sifive.com; s=20260424; h=from:subject:message-id; bh=tM0pTha1/9nfcltCgNGuo/8gpha3J9wIDaj3gZsBSBo=; b=xzAemguTvxKYZkrL488xqh1xU5+sYfHiXmghrUUa42oEqlIaC+MMhYmzECXbY6IRHF230q1PA xRvrYY3gIRDCL/W3d8Js+WjMQhGkDGoZJqmExKFef81IWvX/6NJVnCE X-Developer-Key: i=yongxuan.wang@sifive.com; a=ed25519; pk=+8NCHB1ZJvZthQAmZspOAaqjo+/snaW8mFSiDx45HxY= The RISC-V privileged specification does not mandate HSTATUS reset values, leaving the HU bit potentially set after hardware reset. When HU=3D1, hypervisor instructions (HLV/HLVX/HSV) can execute in U-mode to access guest memory, which may cause unintended behavior if not explicitly controlled. Clear HSTATUS.HU during KVM initialization to ensure hypervisor instructions are only available in HS-mode, preventing unexpected guest memory access from U-mode code. Signed-off-by: Yong-Xuan Wang Reviewed-by: Samuel Holland --- arch/riscv/kvm/main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/riscv/kvm/main.c b/arch/riscv/kvm/main.c index 85e772588fad..e80a99e93d56 100644 --- a/arch/riscv/kvm/main.c +++ b/arch/riscv/kvm/main.c @@ -47,6 +47,9 @@ static void kvm_riscv_csr_init(void) csr_write(CSR_HCOUNTEREN, 0x02); =20 csr_write(CSR_HVIP, 0); + + /* clear HSTATUS.HU */ + csr_clear(CSR_HSTATUS, HSTATUS_HU); } =20 /* Clear hypervisor CSRs - called during CPU offline and non-retention idl= e entry */ --- base-commit: b5060a4aa33d7d78a8c1837ab08ef0c81ea96650 change-id: 20260817-hstatus_hu-a1a88a27c7b1