From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [Qemu-devel] [PATCH v2 14/18] nvdimm: support NFIT_CMD_IMPLEMENTED function Date: Mon, 31 Aug 2015 14:51:50 +0800 Message-ID: <55E3F986.1020708@linux.intel.com> References: <1439563931-12352-1-git-send-email-guangrong.xiao@linux.intel.com> <1439563931-12352-15-git-send-email-guangrong.xiao@linux.intel.com> <20150825162327.GG8344@stefanha-thinkpad.redhat.com> <55DD990B.80204@linux.intel.com> <20150828120155.GO4917@stefanha-thinkpad.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: ehabkost@redhat.com, kvm@vger.kernel.org, mst@redhat.com, gleb@kernel.org, Stefan Hajnoczi , mtosatti@redhat.com, qemu-devel@nongnu.org, pbonzini@redhat.com, imammedo@redhat.com, rth@twiddle.net To: Stefan Hajnoczi Return-path: Received: from mga11.intel.com ([192.55.52.93]:26551 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750934AbbHaG5q (ORCPT ); Mon, 31 Aug 2015 02:57:46 -0400 In-Reply-To: <20150828120155.GO4917@stefanha-thinkpad.redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 08/28/2015 08:01 PM, Stefan Hajnoczi wrote: > On Wed, Aug 26, 2015 at 06:46:35PM +0800, Xiao Guangrong wrote: >> On 08/26/2015 12:23 AM, Stefan Hajnoczi wrote: >>> On Fri, Aug 14, 2015 at 10:52:07PM +0800, Xiao Guangrong wrote: >>>> static void dsm_write(void *opaque, hwaddr addr, >>>> uint64_t val, unsigned size) >>>> { >>>> + struct MemoryRegion *dsm_ram_mr = opaque; >>>> + struct dsm_buffer *dsm; >>>> + struct dsm_out *out; >>>> + void *buf; >>>> + >>>> assert(val == NOTIFY_VALUE); >>> >>> The guest should not be able to cause an abort(3). If val != >>> NOTIFY_VALUE we can do nvdebug() and then return. >> >> The ACPI code and emulation code both are from qemu, if that happens, >> it's really a bug, aborting the VM is better than throwing a debug >> message under this case to avoid potential data corruption. > > abort(3) is dangerous because it can create a core dump. If a malicious > guest triggers this repeatedly it could consume a lot of disk space and > I/O or CPU while performing the core dumps. > > We cannot trust anything inside the guest, even if the guest code comes > from QEMU because a malicious guest can still read/write to the same > hardware registers. > Completely agree with you. :) How about use exit{1} instead of abort() to kill the VM?