From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2889EC54E60 for ; Thu, 14 Mar 2024 21:46:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ADB42800E7; Thu, 14 Mar 2024 17:46:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ABCF5800B4; Thu, 14 Mar 2024 17:46:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 97980800E7; Thu, 14 Mar 2024 17:46:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 8814B800B4 for ; Thu, 14 Mar 2024 17:46:44 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 2F82080186 for ; Thu, 14 Mar 2024 21:46:44 +0000 (UTC) X-FDA: 81896979528.22.6BB2041 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) by imf03.hostedemail.com (Postfix) with ESMTP id 2D2B020005 for ; Thu, 14 Mar 2024 21:46:40 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="JWG4xo/k"; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf03.hostedemail.com: domain of zide.chen@intel.com designates 198.175.65.11 as permitted sender) smtp.mailfrom=zide.chen@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710452801; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=drCVKfJ4C63ggCYyFi5Re8PqtwcsQa0Fe/2GYLBvUQM=; b=rNkbu6pF5g12EsWahW8c2Lpa+DNba9e29n4MvCC6qzo9cnx3gLcn35cmkOoxAgkvEhE79u aqKMF8p3y6/wnUwIEGm2M+sfZLzKrQ+UlbQxqe+D1CjY8ZMczJvSNhrKfOCYXuov6bpGUG eFCxNBVKu0HWnxjwejZPmDCAdSZTlzM= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="JWG4xo/k"; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf03.hostedemail.com: domain of zide.chen@intel.com designates 198.175.65.11 as permitted sender) smtp.mailfrom=zide.chen@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710452801; a=rsa-sha256; cv=none; b=Ttej3EpVFHsxrPRtdu/yv5B58Fq4kqsMuFL2cs4lmCnunsY8Vlo0vDdjDBDyU4wUpGu7yF eWPKzZfZI/kQPF0SI88Mxb/bIZ0p3F9dxUbUBhBWtRB7mgVRv/syld7eZg/4ZX1d1nMfF7 hocEgMuDp+aPpWckvzLl7obabdytL/o= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710452801; x=1741988801; h=message-id:date:mime-version:subject:to:references:cc: from:in-reply-to:content-transfer-encoding; bh=024QBEVLTI+6kcoD7J49NoiaMMt3w6GMzvKHMg9E6rg=; b=JWG4xo/kXM40wN7SddsbLSFXT0+katv+c0BGzirf2j82IC1KBf9Qxobt Mani32PF+0I3h2Nla2Rx3FKwT7PzzzYhnSY2DGoogiwcF7YHHwhUSzUn8 FavpfX6s6YgC1xSi2yMxjiL8eYGIGecw0qFXzS281NxrFwGb/XaCs8eTM aVcdDjLZrsFp/cDyohF8hSK9bgLKQUnGAbCixaV9orqIU9ce9lsT/z8GD R8Qi0pl3/Dl16dMD0W7hgzKd2YH5hHQeYRoBdOg7xIo/cPyOgQdIeYHD2 xVJ7XBt5xHZ89nfIFXRhQ6bTZa90Jw2Inf4gwlswGv0+zVTilQIdeNslh g==; X-IronPort-AV: E=McAfee;i="6600,9927,11013"; a="15853631" X-IronPort-AV: E=Sophos;i="6.07,126,1708416000"; d="scan'208";a="15853631" Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 14:46:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,126,1708416000"; d="scan'208";a="16918258" Received: from soc-cp83kr3.jf.intel.com (HELO [10.24.10.77]) ([10.24.10.77]) by fmviesa005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 14:46:39 -0700 Message-ID: <03592298-4390-4111-870b-129b6be98d3a@intel.com> Date: Thu, 14 Mar 2024 14:46:38 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH v5 27/29] KVM: selftests: Propagate KVM_EXIT_MEMORY_FAULT to userspace Content-Language: en-US To: Sagi Shahar , linux-kselftest@vger.kernel.org, Ackerley Tng , "Afranji, Ryan" , "Aktas, Erdem" , Sagi Shahar , "Yamahata, Isaku" References: <20231212204647.2170650-1-sagis@google.com> <20231212204647.2170650-28-sagis@google.com> Cc: Sean Christopherson , Paolo Bonzini , Shuah Khan , Peter Gonda , "Xu, Haibo1" , Chao Peng , "Annapurve, Vishal" , Roger Wang , Vipin Sharma , jmattson@google.com, dmatlack@google.com, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, linux-mm@kvack.org From: "Chen, Zide" In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Stat-Signature: i5q881kcnhffouwcupzzdxg5qo8urrxg X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 2D2B020005 X-HE-Tag: 1710452800-116482 X-HE-Meta: U2FsdGVkX192EDH02xEt451K1f9Q6AZyomk5Ng8t70KN4Moxsa/f4uk4Pg3R3ulSmPOEdR1iiBoBC4O79CBDMkrukj8QCCL2KKiiKYK1LGA2nkVWEAb/4k5sqY5ee+PjEhq5skKp2MvyQpw4ZbYSMmgELkqQ3hJK3sO80+MCqFqshxzwH3Gh5fiTBNPfngXlPwme4tc9YzHEktAh1Grmopu1prM1vb509gKCvYkhbDxc+nxPkhymyMKI4RDgVE0H59BBs2USqYPHs1D5Yrl8/I6svvapBO59WENi/6SPbj3RHWA6XF4WVledVBBTFCWjvhfiiAocti0ciS5ISLNmP87hM90bIyhRZJTF9s33sU8FEUyZI0MfdCkoeghjDZ7aLoLkMeAiPCv5E4wsZM07NkwX5meatcRVmaz6DGU9pa92BkL1KwOSOWy2Kv7BJXZDcSzKz1RLQ6Ig5E2geiAcVN1GtcVZuQGH6Io8/66ktcOwZLsfF6Yf0SYtoTfQB5IvOlVgDRz4olilvJbaA8kFl+14J7+1hP5Z+uozmBmCRLDywyH+2UNtU0B/F2DNKYwrcxyPCfR+CJLct7Rg6jx5xx5fahmYE8NB7mL1ffroklUdwW1oLdd4FT6CeZndPD0vZqJA3e3xQW0r5UEHGW4ElK6fAyhaHxQfSoGuxby0p/id5pQwowsIKyD0iA/EduEsY/bHVEgXtU9AS6TmLoKszH9aGFOa27dBiqQixX0v445ZwjK55YUPV6688S2yNCUE7ClcxZjizImkP+UOc0mR02Ayj85v8A15hC5enJTJH21R3p+ay6dXta2LW9GCUAvg42Y1zRaOaLKdgrGdlD72XNhnYTiLO4P4h1daaU9+wMPpc5ATF+EEqlvwzsIKWcE4I3zsDqGF23mdA2r6eB2uPfaVQpgdO2rEFhpDwXIeGg24Xig0B+WPWA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 12/12/2023 12:47 PM, Shashar, Sagi wrote: > > > -----Original Message----- > From: Sagi Shahar > Sent: Tuesday, December 12, 2023 12:47 PM > To: linux-kselftest@vger.kernel.org; Ackerley Tng ; Afranji, Ryan ; Aktas, Erdem ; Sagi Shahar ; Yamahata, Isaku > Cc: Sean Christopherson ; Paolo Bonzini ; Shuah Khan ; Peter Gonda ; Xu, Haibo1 ; Chao Peng ; Annapurve, Vishal ; Roger Wang ; Vipin Sharma ; jmattson@google.com; dmatlack@google.com; linux-kernel@vger.kernel.org; kvm@vger.kernel.org; linux-mm@kvack.org > Subject: [RFC PATCH v5 27/29] KVM: selftests: Propagate KVM_EXIT_MEMORY_FAULT to userspace > > Allow userspace to handle KVM_EXIT_MEMORY_FAULT instead of triggering TEST_ASSERT. > > From the KVM_EXIT_MEMORY_FAULT documentation: > Note! KVM_EXIT_MEMORY_FAULT is unique among all KVM exit reasons in that it accompanies a return code of '-1', not '0'! errno will always be set to EFAULT or EHWPOISON when KVM exits with KVM_EXIT_MEMORY_FAULT, userspace should assume kvm_run.exit_reason is stale/undefined for all other error numbers. If KVM exits to userspace with KVM_EXIT_MEMORY_FAULT, most likely it's because the guest attempts to access the gfn in a way that is different from what the KVM is configured, in terms of private/shared property. I'd suggest to drop this patch and work on the selftests code to eliminate this exit. If we need a testcase to catch this exit intentionally, we may call _vcpu_run() directly from the testcase and keep the common API vcpu_run() intact. > > Signed-off-by: Sagi Shahar > --- > tools/testing/selftests/kvm/lib/kvm_util.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c > index d024abc5379c..8fb041e51484 100644 > --- a/tools/testing/selftests/kvm/lib/kvm_util.c > +++ b/tools/testing/selftests/kvm/lib/kvm_util.c > @@ -1742,6 +1742,10 @@ void vcpu_run(struct kvm_vcpu *vcpu) { > int ret = _vcpu_run(vcpu); > > + // Allow this scenario to be handled by the caller. > + if (ret == -1 && errno == EFAULT) > + return; > + > TEST_ASSERT(!ret, KVM_IOCTL_ERROR(KVM_RUN, ret)); } > > -- > 2.43.0.472.g3155946c3a-goog >