linux-kselftest.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vishal Annapurve <vannapurve@google.com>
To: x86@kernel.org, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org
Cc: pbonzini@redhat.com, vkuznets@redhat.com, wanpengli@tencent.com,
	jmattson@google.com, joro@8bytes.org, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com,
	hpa@zytor.com, shuah@kernel.org, yang.zhong@intel.com,
	drjones@redhat.com, ricarkol@google.com, aaronlewis@google.com,
	wei.w.wang@intel.com, kirill.shutemov@linux.intel.com,
	corbet@lwn.net, hughd@google.com, jlayton@kernel.org,
	bfields@fieldses.org, akpm@linux-foundation.org,
	chao.p.peng@linux.intel.com, yu.c.zhang@linux.intel.com,
	jun.nakajima@intel.com, dave.hansen@intel.com,
	michael.roth@amd.com, qperret@google.com, steven.price@arm.com,
	ak@linux.intel.com, david@redhat.com, luto@kernel.org,
	vbabka@suse.cz, marcorr@google.com, erdemaktas@google.com,
	pgonda@google.com, nikunj@amd.com, seanjc@google.com,
	diviness@google.com, maz@kernel.org, dmatlack@google.com,
	axelrasmussen@google.com, maciej.szmigiero@oracle.com,
	mizhang@google.com, bgardon@google.com,
	Vishal Annapurve <vannapurve@google.com>
Subject: [RFC V3 PATCH 0/6] selftests: KVM: selftests for fd-based private memory
Date: Fri, 19 Aug 2022 17:46:53 +0000	[thread overview]
Message-ID: <20220819174659.2427983-1-vannapurve@google.com> (raw)

This v3 series implements selftests targeting the feature floated by Chao
via:
https://lore.kernel.org/linux-mm/20220706082016.2603916-12-chao.p.peng@linux.intel.com/T/

Below changes aim to test the fd based approach for guest private memory
in context of normal (non-confidential) VMs executing on non-confidential
platforms.

private_mem_test.c file adds selftest to access private memory from the
guest via private/shared accesses and checking if the contents can be
leaked to/accessed by vmm via shared memory view before/after conversions.

Updates in V3:
1) Series is based on v7 series from Chao
2) Changes are introduced in KVM to help execute private mem selftests
3) Selftests are executing from private memory
4) Test implementation is simplified to contain implicit/explicit memory
conversion paths according to feedback from Sean.
5) Addressed comments from Sean and Shuah.

This series has dependency on following patches:
1) V7 series patches from Chao mentioned above.
2) https://lore.kernel.org/lkml/20220810152033.946942-1-pgonda@google.com/T/#u
  - Series posted by Peter containing patches from Michael and Sean.

Github link for the patches posted as part of this series:
https://github.com/vishals4gh/linux/commits/priv_memfd_selftests_rfc_v3

Vishal Annapurve (6):
  kvm: x86: Add support for testing private memory
  selftests: kvm: Add support for private memory
  selftests: kvm: ucall: Allow querying ucall pool gpa
  selftests: kvm: x86: Execute hypercall as per the cpu
  selftests: kvm: x86: Execute VMs with private memory
  sefltests: kvm: x86: Add selftest for private memory

 arch/x86/include/uapi/asm/kvm_para.h          |   2 +
 arch/x86/kvm/Kconfig                          |   1 +
 arch/x86/kvm/mmu/mmu.c                        |  19 ++
 arch/x86/kvm/mmu/mmu_internal.h               |   2 +-
 arch/x86/kvm/x86.c                            |  67 +++-
 include/linux/kvm_host.h                      |  12 +
 tools/testing/selftests/kvm/.gitignore        |   1 +
 tools/testing/selftests/kvm/Makefile          |   2 +
 .../selftests/kvm/include/kvm_util_base.h     |  12 +-
 .../selftests/kvm/include/ucall_common.h      |   2 +
 .../kvm/include/x86_64/private_mem.h          |  51 +++
 tools/testing/selftests/kvm/lib/kvm_util.c    |  40 ++-
 .../testing/selftests/kvm/lib/ucall_common.c  |  12 +
 .../selftests/kvm/lib/x86_64/private_mem.c    | 297 ++++++++++++++++++
 .../selftests/kvm/lib/x86_64/processor.c      |  15 +-
 .../selftests/kvm/x86_64/private_mem_test.c   | 262 +++++++++++++++
 virt/kvm/Kconfig                              |   9 +
 virt/kvm/kvm_main.c                           |  90 +++++-
 18 files changed, 887 insertions(+), 9 deletions(-)
 create mode 100644 tools/testing/selftests/kvm/include/x86_64/private_mem.h
 create mode 100644 tools/testing/selftests/kvm/lib/x86_64/private_mem.c
 create mode 100644 tools/testing/selftests/kvm/x86_64/private_mem_test.c

-- 
2.37.1.595.g718a3a8f04-goog


             reply	other threads:[~2022-08-19 18:01 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-19 17:46 Vishal Annapurve [this message]
2022-08-19 17:46 ` [RFC V3 PATCH 1/6] kvm: x86: Add support for testing private memory Vishal Annapurve
2022-08-19 17:46 ` [RFC V3 PATCH 2/6] selftests: kvm: Add support for " Vishal Annapurve
2022-08-19 17:46 ` [RFC V3 PATCH 3/6] selftests: kvm: ucall: Allow querying ucall pool gpa Vishal Annapurve
2022-10-06 20:02   ` Sean Christopherson
2022-10-14  9:33     ` Vishal Annapurve
2022-10-14 18:47       ` Sean Christopherson
2022-10-17 10:00         ` Vishal Annapurve
2022-10-17 18:08           ` Sean Christopherson
2022-10-18 13:11             ` Vishal Annapurve
2022-08-19 17:46 ` [RFC V3 PATCH 4/6] selftests: kvm: x86: Execute hypercall as per the cpu Vishal Annapurve
2022-08-25  0:07   ` Sean Christopherson
2022-09-06 22:48     ` Vishal Annapurve
2022-08-19 17:46 ` [RFC V3 PATCH 5/6] selftests: kvm: x86: Execute VMs with private memory Vishal Annapurve
2022-10-06 20:17   ` Sean Christopherson
2022-10-14  9:35     ` Vishal Annapurve
2022-08-19 17:46 ` [RFC V3 PATCH 6/6] sefltests: kvm: x86: Add selftest for " Vishal Annapurve
2022-10-06 20:23   ` Sean Christopherson
2022-10-14  9:41     ` Vishal Annapurve

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220819174659.2427983-1-vannapurve@google.com \
    --to=vannapurve@google.com \
    --cc=aaronlewis@google.com \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=axelrasmussen@google.com \
    --cc=bfields@fieldses.org \
    --cc=bgardon@google.com \
    --cc=bp@alien8.de \
    --cc=chao.p.peng@linux.intel.com \
    --cc=corbet@lwn.net \
    --cc=dave.hansen@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@redhat.com \
    --cc=diviness@google.com \
    --cc=dmatlack@google.com \
    --cc=drjones@redhat.com \
    --cc=erdemaktas@google.com \
    --cc=hpa@zytor.com \
    --cc=hughd@google.com \
    --cc=jlayton@kernel.org \
    --cc=jmattson@google.com \
    --cc=joro@8bytes.org \
    --cc=jun.nakajima@intel.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=maciej.szmigiero@oracle.com \
    --cc=marcorr@google.com \
    --cc=maz@kernel.org \
    --cc=michael.roth@amd.com \
    --cc=mingo@redhat.com \
    --cc=mizhang@google.com \
    --cc=nikunj@amd.com \
    --cc=pbonzini@redhat.com \
    --cc=pgonda@google.com \
    --cc=qperret@google.com \
    --cc=ricarkol@google.com \
    --cc=seanjc@google.com \
    --cc=shuah@kernel.org \
    --cc=steven.price@arm.com \
    --cc=tglx@linutronix.de \
    --cc=vbabka@suse.cz \
    --cc=vkuznets@redhat.com \
    --cc=wanpengli@tencent.com \
    --cc=wei.w.wang@intel.com \
    --cc=x86@kernel.org \
    --cc=yang.zhong@intel.com \
    --cc=yu.c.zhang@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).