From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B5FBC42188B for ; Fri, 29 May 2026 18:36:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780079763; cv=none; b=MlACfHeR1ouns3zdpRDv9mAGc2XRUgu9B5urqWPvjE7SJF/AhEKh6SZGQUiH+goKRGj9UcXNgDaOnLQtPgR9F1MX+5XZ4V2JdVAkw6xnt+nrb43o0RhhsEXn89SR4CvEjMmyPi6iWo79lxz28TTjBR2bqu7Y6ahq/2RyyokC3J4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780079763; c=relaxed/simple; bh=6zMHgUTz910HkRMjPhK2mmo0fhUkyV7gKB3rHBzUOyg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=juckdSb/FpuKn2sKIE6xoNDDoZbDoerYR/EOe5OvsKZZ9xSMcX8eMQuePl8aK9S8t22NeEf8z5vqEs4fiAiysODKqu1oI8dTi5g5M6iZAI8ARLplRtI+H38UeIz7l8eyzfwjpAM37DSY4G5xRcpdVAQj5tSe9IzXmXtl3b0EVGo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=KKhe30fD; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=Odrs88SN; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="KKhe30fD"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="Odrs88SN" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1780079759; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TLsVryKtB+qjzmc5R5Imnpvup6JXosbAAkLD7ck1kGs=; b=KKhe30fDkcLH43ypUdQEMdph1D8OzXkjZ821+Zz7EBeRS1fJmxbXL2bQxai2LPrIXZXFLU m01OkeXZY9SnrB1WGE/llaZU7a/WUmQbeBCro2uuo76wwczwnpzXhTzzd3Vs8S1R31AcRt /LYBMXG9g/LAkpm2JOW+l17R8bUWRF8= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-607-RNGowOJ_MVyhoQBcEcwP4Q-1; Fri, 29 May 2026 14:35:58 -0400 X-MC-Unique: RNGowOJ_MVyhoQBcEcwP4Q-1 X-Mimecast-MFC-AGG-ID: RNGowOJ_MVyhoQBcEcwP4Q_1780079757 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-44f65835b77so9487186f8f.2 for ; Fri, 29 May 2026 11:35:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1780079757; x=1780684557; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TLsVryKtB+qjzmc5R5Imnpvup6JXosbAAkLD7ck1kGs=; b=Odrs88SNfevg2mv2ZMTP9n9aCtXvxx8mnFL/YAU/q6DwX3A8bf88LwDAgfWEtQwIlv /Tu3QzO4eelmRw8nIf5NdE7CYOposgPLmI3UctrLiGylsI/BG9MMAc6ynLIikYuG+Zk/ e9P+2aWpWJq4fITpeaOEE0NAyI750CgbOitfJOGPvfoA0iph8CrVuZDyBJ0Ttbg/ozTJ 6nF9RcdBS90EyKyVsriaoN9vpa2K3wNQJdDrCN4P5PuE5N0cHN4TQTGiOendv7AdzjLX 5stkpe6vWIuvT0dRwh4X+Km87e2Tysi+PXcePPxtGVlItS1j+0i9wG32F6Il2UKvQoG9 nn2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780079757; x=1780684557; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TLsVryKtB+qjzmc5R5Imnpvup6JXosbAAkLD7ck1kGs=; b=POY1+q2wmU5x5UVq1DM+4g8BHJXuf8zoOoEdEI5MT4fo4ieO87tkL+q8nd8tapHgb8 cY2AiwG6VOP4RbY6WXAJdBD/1XgyfBUXGZQesE0B6rpwcf3sVcBV0RN9i2HAxZ0NziRI dqm8zJZMzdCC+fnWztO5iWtv2yoht4NHScYwt57yHUhjJvy71RkmpRX5iOlBWikxH/LT R9zE6exYoBgYXHQKopHdoth5WLDmhupc/YCbe6ZzGVWjclxiLSaaLKoJ3QBIrFxpdshV 2hE4iP4H7qzaN/wOc6c9VkKCSGIvRBeF0VMSdnQrzzq7XDrjSo8FTPDFC7ZZls4oOQW/ TJog== X-Gm-Message-State: AOJu0YyJbtlZEaiYSdLLOvr7/yBFf+Ib+Y5riUxB+a+CIz2KQZq43WGS 2NJxV9zLfyEd3aOtuGRkaF2DFW/8oKCHwrsEC8HgxqW+4J5ilEwbP/2WRD933v+MEKdFaiMB6D2 OKWkMr/VHKjRLlrtF5DUp1/HEOFcnSy7oNyVv7AeBoGP/lFezymQmqOy1fNFDQ/87A4tHKyzEb6 tO1NJxxVpUpNCH04Y7KljUHoNYN4wrWhObC7w5SF5q+g9emMVgbA== X-Gm-Gg: Acq92OGSXnNM1AyObzJEKmXyRKExnMACHpCXtBQZQ79pCxpZWStOUscHMhe+91SncjH uR7gcXEGL4sJi+5SjWWVneNH23Tl/j7FFCpD2uJSkbDbYvNG3NgosuQDdlnoyeBzbbMuHjt2Gc7 MC8mKkdCD6Ur4YHs2FrjXgiS+3VdKvFLNdSaFzExuSsAii/yhXVS7hJfontJUVqr2r1GG1eU6RX NQeLMYGp2kPufMlZifG0rBTpQ1p04KSX2raClEX0zYnDLliQnWpKlskNgSJl7tMdQ2V6PrglYUh ZzVlQ3dqNfEzBnARG/BF7/BxlJ+De/xgmhadY7FKgjYFSIIiXztdbxrawUjCfF3EFyWdTuf8E2d n9qEdu9V/FpkVFtnWKFfnfPosJw0kH+182ZVFVn1MI1HFDu4l52Xa2MIDIqFM5a5FDgOyQSYB0V XJc1UiHu2+kh8b3VYYsamGOFExwz1rYYERb6D0ZA== X-Received: by 2002:adf:fe90:0:b0:45e:ee20:b897 with SMTP id ffacd0b85a97d-45ef6aeccb9mr1198550f8f.6.1780079757139; Fri, 29 May 2026 11:35:57 -0700 (PDT) X-Received: by 2002:adf:fe90:0:b0:45e:ee20:b897 with SMTP id ffacd0b85a97d-45ef6aeccb9mr1198515f8f.6.1780079756760; Fri, 29 May 2026 11:35:56 -0700 (PDT) Received: from [192.168.10.48] ([151.49.251.208]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45ef354b7edsm5206450f8f.22.2026.05.29.11.35.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 May 2026 11:35:53 -0700 (PDT) From: Paolo Bonzini To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: seanjc@google.com, Tom Lendacky , Michael Roth , stable@vger.kernel.org Subject: [PATCH 02/24] KVM: SEV: Ignore MMIO requests of length '0' Date: Fri, 29 May 2026 20:35:27 +0200 Message-ID: <20260529183549.1104619-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529183549.1104619-1-pbonzini@redhat.com> References: <20260529183549.1104619-1-pbonzini@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Sean Christopherson Explicitly ignore MMIO requests of length '0', so that setting up the software scratch area (and other code) doesn't have to worry about underflowing the length, and to allow for special casing '0' in the future. Fixes: 8f423a80d299 ("KVM: SVM: Support MMIO for an SEV-ES guest") Cc: stable@vger.kernel.org Reviewed-by: Tom Lendacky Signed-off-by: Sean Christopherson Message-ID: <20260501202250.2115252-3-seanjc@google.com> Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm/sev.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c index 23170b64f4a3..fb2174b6d1ba 100644 --- a/arch/x86/kvm/svm/sev.c +++ b/arch/x86/kvm/svm/sev.c @@ -4497,13 +4497,17 @@ int sev_handle_vmgexit(struct kvm_vcpu *vcpu) case SVM_VMGEXIT_MMIO_READ: case SVM_VMGEXIT_MMIO_WRITE: { bool is_write = control->exit_code == SVM_VMGEXIT_MMIO_WRITE; + u64 len = control->exit_info_2; - ret = setup_vmgexit_scratch(svm, !is_write, control->exit_info_2); + if (!len) + return 1; + + ret = setup_vmgexit_scratch(svm, !is_write, len); if (ret) break; - ret = kvm_sev_es_mmio(vcpu, is_write, control->exit_info_1, - control->exit_info_2, svm->sev_es.ghcb_sa); + ret = kvm_sev_es_mmio(vcpu, is_write, control->exit_info_1, len, + svm->sev_es.ghcb_sa); break; } case SVM_VMGEXIT_NMI_COMPLETE: -- 2.54.0