From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Mihai Donțu" <mdontu@bitdefender.com>
Cc: "Konrad Rzeszutek Wilk" <konrad@kernel.org>,
kvm@vger.kernel.org, "Paolo Bonzini" <pbonzini@redhat.com>,
"Radim Krčmář" <rkrcmar@redhat.com>,
"Jan Kiszka" <jan.kiszka@siemens.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Adalbert Lazar" <alazar@bitdefender.com>
Subject: Re: [RFC PATCH v2 0/1] VM introspection
Date: Fri, 14 Jul 2017 12:13:16 -0400 [thread overview]
Message-ID: <20170714161315.GE24167@char.us.oracle.com> (raw)
In-Reply-To: <1499924227.2110.340.camel@bitdefender.com>
On Thu, Jul 13, 2017 at 08:37:07AM +0300, Mihai Donțu wrote:
> Hi Konrad,
>
> On Wed, 2017-07-12 at 10:09 -0400, Konrad Rzeszutek Wilk wrote:
> > On Fri, Jul 07, 2017 at 05:34:15PM +0300, Adalbert Lazar wrote:
> > > The following patch adds the documentation for an introspection subsystem for
> > > KVM (KVMi). It details the purpose and the use case that has shaped the
> > > proposed API/ABI, as well as the wire protocol.
> > >
> > > During the discussion that has developed around our previous RFC patchset a
> > > number of TODO-s have been highlighted:
> > >
> > > * the integration in qemu: a socket-based protocol used to initiate the
> > > connection with an introspection tool and then passes control to KVM, the
> > > in-kernel mechanism taking over from there;
> > >
> > > * the integration of the SPT-handling mechanism into the KVM MMU;
> > >
> > > * the elaboration of a set of policies and a mechanism to better control
> > > this feature;
> > >
> > > One bit of code that has passed (maybe) unnoticed in the RFC is a new
> > > function added to Linux' mm called vm_replace_page() which, much like KSM's
> > > replace_page(), gets two processes to share a page (read-write, no-COW):
> > >
> > > https://marc.info/?l=kvm&m=149762056518799&w=2
> > >
> > > This is used to quickly scan and patch the guest software.
> > >
> > > The patch following this cover letter does not yet address the points above
> > > but aims to clear with the community the overall ABI/API, with a focus on
> > > x86.
> >
> > Are there thoughts on making this work with libvmi? Or would this
> > interface be used by a paid product?
>
> We have not looked at how we would go about adding support for this API
> in libvmi, but a quick look tells me a driver shouldn't be that hard to
> write.
OK. Asking as the libvmi interface is quite fantastic. It has the drivers
for VMWare, Xen, and others - and a pretty cool library to do most of
the introspection through simple application linking to it.
And more importantly (to me at least), it does allow academia
to test different ideas.
>
> We are, however, looking at publishing the sources for a small library
> called libkvmi that would expose an easy-to-use interface and on top of
> which we will add support for KVM VMI in:
>
> https://github.com/razvan-cojocaru/libbdvmi
And thoughts of testing API that will be part of KVM test unit?
>
> Other than that, the major user will indeed be a commercial product
> that, right now, uses Xen's VMI infrastructure:
>
> https://citrixready.citrix.com/bitdefender/bitdefender-hypervisor-introspection.html
>
> Thanks,
>
> > > v2:
> > > - add documentation and ABI [Paolo, Jan]
> > > - drop all the other patches for now [Paolo]
> > > - remove KVMI_GET_GUESTS, KVMI_EVENT_GUEST_ON, KVMI_EVENT_GUEST_OFF,
> > > and let libvirt/qemu handle this [Stefan, Paolo]
> > > - change the license from LGPL to GPL [Jan]
> > > - remove KVMI_READ_PHYSICAL and KVMI_WRITE_PHYSICAL (not used anymore)
> > > - make the interface a little more consistent
> > >
> > > Adalbert Lazar (1):
> > > kvm: Add documentation and ABI/API header for VM introspection
> > >
> > > Documentation/virtual/kvm/kvmi.rst | 985 +++++++++++++++++++++++++++++++++++++
> > > include/uapi/linux/kvmi.h | 310 ++++++++++++
> > > 2 files changed, 1295 insertions(+)
> > > create mode 100644 Documentation/virtual/kvm/kvmi.rst
> > > create mode 100644 include/uapi/linux/kvmi.h
> > >
>
> --
> Mihai Donțu
>
next prev parent reply other threads:[~2017-07-14 16:13 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-07 14:34 [RFC PATCH v2 0/1] VM introspection Adalbert Lazar
2017-07-07 14:34 ` [RFC PATCH v2 1/1] kvm: Add documentation and ABI/API header for " Adalbert Lazar
2017-07-07 16:52 ` Paolo Bonzini
2017-07-10 15:32 ` alazar
2017-07-10 17:03 ` Paolo Bonzini
2017-07-11 16:48 ` Adalbert Lazar
2017-07-11 16:51 ` Paolo Bonzini
2017-07-13 5:57 ` Mihai Donțu
2017-07-13 7:32 ` Paolo Bonzini
2017-07-18 11:51 ` Mihai Donțu
2017-07-18 12:02 ` Mihai Donțu
2017-07-23 13:02 ` Paolo Bonzini
2017-07-26 17:04 ` Mihai Donțu
2017-07-26 17:25 ` Tamas K Lengyel
2017-07-27 14:41 ` Mihai Donțu
2017-07-27 13:33 ` Paolo Bonzini
2017-07-27 14:46 ` Mihai Donțu
2017-07-13 8:36 ` Mihai Donțu
2017-07-13 9:15 ` Paolo Bonzini
2017-07-27 16:23 ` Mihai Donțu
2017-07-27 16:52 ` Paolo Bonzini
2017-07-27 17:19 ` Mihai Donțu
2017-08-01 10:40 ` Paolo Bonzini
2017-08-01 16:33 ` Tamas K Lengyel
2017-08-01 20:47 ` Paolo Bonzini
2017-08-02 11:52 ` Mihai Donțu
2017-08-02 12:27 ` Paolo Bonzini
2017-08-02 13:32 ` Mihai Donțu
2017-08-02 13:51 ` Paolo Bonzini
2017-08-02 14:17 ` Mihai Donțu
2017-08-04 8:35 ` Paolo Bonzini
2017-08-04 15:29 ` Mihai Donțu
2017-08-04 15:37 ` Paolo Bonzini
2017-08-05 8:00 ` Andrei Vlad LUTAS
2017-08-07 12:18 ` Paolo Bonzini
2017-08-07 13:25 ` Mihai Donțu
2017-08-07 13:49 ` Paolo Bonzini
2017-08-07 14:12 ` Mihai Donțu
2017-08-07 15:56 ` Paolo Bonzini
2017-08-07 16:44 ` Mihai Donțu
2017-08-02 13:53 ` Mihai Donțu
2017-07-27 17:06 ` Mihai Donțu
2017-07-27 17:18 ` Paolo Bonzini
2017-07-07 17:29 ` [RFC PATCH v2 0/1] " Paolo Bonzini
2017-08-07 15:28 ` Mihai Donțu
2017-08-07 15:44 ` Paolo Bonzini
2017-07-12 14:09 ` Konrad Rzeszutek Wilk
2017-07-13 5:37 ` Mihai Donțu
2017-07-14 16:13 ` Konrad Rzeszutek Wilk [this message]
2017-07-18 8:55 ` Mihai Donțu
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=20170714161315.GE24167@char.us.oracle.com \
--to=konrad.wilk@oracle.com \
--cc=alazar@bitdefender.com \
--cc=jan.kiszka@siemens.com \
--cc=konrad@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=mdontu@bitdefender.com \
--cc=pbonzini@redhat.com \
--cc=rkrcmar@redhat.com \
--cc=stefanha@redhat.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