qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: qemu-devel <qemu-devel@nongnu.org>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] [Question] dump memory when host pci device is used by guest
Date: Tue, 18 Oct 2011 09:25:38 +0100	[thread overview]
Message-ID: <20111018082538.GF13556@redhat.com> (raw)
In-Reply-To: <4E9D3617.4060205@siemens.com>

On Tue, Oct 18, 2011 at 10:17:27AM +0200, Jan Kiszka wrote:
> On 2011-10-18 09:58, Daniel P. Berrange wrote:
> > On Tue, Oct 18, 2011 at 03:15:29PM +0800, Wen Congyang wrote:
> >> Hi, Jan Kiszka
> >>
> >> At 10/10/2011 05:34 PM, Jan Kiszka Write:
> >>> On 2011-10-10 11:02, Daniel P. Berrange wrote:
> >>>> On Mon, Oct 10, 2011 at 08:52:08AM +0200, Jan Kiszka wrote:
> >>
> >>>
> >>> Run gdb with "set debug remote 1" and watch the communication, it is not
> >>> that complex. But a dump command is probably simpler for those
> >>> scenarios, I agree.
> >>
> >> I have implemented the command dump and reuse migration's code. But I meet a problem
> >> when I test it.
> >>
> >> My qemu-kvm's tree is not updated about 2 months ago, because kernel.org is down, and
> >> I forgot to pull from github.
> >>
> >> After I pull it from github, I find the following changes:
> >> @@ -1523,9 +1523,7 @@ static void assigned_dev_unregister_msix_mmio(AssignedDevice *dev)
> >>  
> >>  static const VMStateDescription vmstate_assigned_device = {
> >>      .name = "pci-assign",
> >> -    .fields = (VMStateField []) {
> >> -        VMSTATE_END_OF_LIST()
> >> -    }
> >> +    .unmigratable = 1,
> >>  };
> >>  
> >>  static void reset_assigned_device(DeviceState *dev)
> >>
> >> Why do you remove fields from vmstate_assigned_device?
> >> It is useful for dump because it does not check unmigratable. If vmstate_assigned_device
> >> does not contain .fields, qemu will crash in vmstate_save_state().
> > 
> > Given that '.fields' is allowed to be NULL for some devices, I'd say
> > even for normal migration, QEMU should be checking for NULL in the
> > vmstate_save_state() code. This would prevent QEMU crashes in the case
> > where someone removed the .unmigratable member, but forgot to add back
> > a .fields member.
> 
> That crash wouldn't be bad because removinb unmigratable without adding
> proper fields is almost always a bug.

This is the kind of example of why QEMU is too crashy in general. We
should be defensive against such bugs, by checking that preconditions
are valid in the code, even if we don't expect them to happen often.


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

  parent reply	other threads:[~2011-10-18  8:25 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-07  9:46 [Qemu-devel] [Question] dump memory when host pci device is used by guest Wen Congyang
2011-10-07 10:16 ` Jan Kiszka
2011-10-07 12:25   ` Wen Congyang
2011-10-07 12:56     ` Jan Kiszka
2011-10-07 14:05       ` Wen Congyang
2011-10-07 15:06         ` Jan Kiszka
2011-10-10  9:00       ` Daniel P. Berrange
2011-10-08 15:16   ` Richard W.M. Jones
2011-10-09  8:49     ` Jan Kiszka
2011-10-09 10:23       ` Richard W.M. Jones
2011-10-09 10:26         ` Jan Kiszka
2011-10-10  2:21         ` Wen Congyang
2011-10-10  6:52           ` Jan Kiszka
2011-10-10  6:59             ` Wen Congyang
2011-10-10  7:01               ` Jan Kiszka
2011-10-10  7:17                 ` Wen Congyang
2011-10-10  7:22                   ` Jan Kiszka
2011-10-10  7:47                     ` Wen Congyang
2011-10-10  7:48                       ` Jan Kiszka
2011-10-10  8:28                         ` Wen Congyang
2011-10-10  7:08             ` Alexander Graf
2011-10-10  7:10               ` Jan Kiszka
2011-10-10  9:02             ` Daniel P. Berrange
2011-10-10  9:34               ` Jan Kiszka
2011-10-11  2:27                 ` Wen Congyang
2011-10-18  7:15                 ` Wen Congyang
2011-10-18  7:52                   ` Jan Kiszka
2011-10-18  7:58                     ` Wen Congyang
2011-10-18  8:19                       ` Jan Kiszka
2011-10-18  8:25                         ` Wen Congyang
2011-10-18  8:26                           ` Jan Kiszka
2011-10-18  8:31                             ` Wen Congyang
2011-10-18  8:31                               ` Jan Kiszka
2011-10-18  8:34                                 ` Richard W.M. Jones
2011-10-18  8:36                                   ` Jan Kiszka
2011-10-18  8:39                                     ` Jan Kiszka
2011-10-18 10:41                                       ` Paolo Bonzini
2011-10-18 10:42                                         ` Christoph Hellwig
2011-10-18 12:47                                           ` Jan Kiszka
2011-10-18 13:08                                             ` Christoph Hellwig
2011-10-18 13:13                                               ` Jan Kiszka
2011-10-18 10:47                                         ` Jan Kiszka
2011-10-18 13:30                                           ` Richard W.M. Jones
2011-10-18 13:34                                             ` Jan Kiszka
2011-10-18  9:43                                     ` Wen Congyang
2011-10-18 10:28                                       ` Jan Kiszka
2011-10-18 13:51                                         ` Wen Congyang
2011-10-18 13:55                                           ` Jan Kiszka
2011-10-18 14:17                                             ` Wen Congyang
2011-10-18 14:21                                               ` Jan Kiszka
2011-10-18 15:04                                                 ` Wen Congyang
2011-10-18 15:27                                                   ` Jan Kiszka
2011-10-19  1:23                                                     ` Wen Congyang
2011-10-19  2:04                                 ` KAMEZAWA Hiroyuki
2011-10-19 11:40                                   ` Jan Kiszka
2011-10-20  1:22                                     ` Wen Congyang
2011-10-20  9:41                                       ` Jan Kiszka
2011-10-20 10:03                                         ` Wen Congyang
2011-10-21  7:11                                           ` Jan Kiszka
2011-10-21  7:50                                             ` Wen Congyang
2011-10-21 13:02                                               ` Dave Anderson
2011-10-21 13:16                                                 ` Jan Kiszka
2011-10-21 14:12                                                 ` Richard W.M. Jones
2011-10-24  2:25                                                 ` Wen Congyang
2011-10-24 14:25                                                   ` Dave Anderson
2011-10-24 15:01                                                     ` Avi Kivity
2011-10-24 15:25                                                       ` Dave Anderson
2011-10-24 15:30                                                         ` Avi Kivity
2011-10-24 15:58                                                           ` Dave Anderson
2011-10-25  1:37                                                             ` Wen Congyang
2011-10-25  7:37                                                               ` Jan Kiszka
2011-10-25  8:06                                                           ` Wen Congyang
2011-10-25  8:23                                                             ` Avi Kivity
2011-10-25  8:35                                                               ` Paolo Bonzini
2011-10-25  8:52                                                                 ` Avi Kivity
2011-10-25  8:56                                                                   ` Paolo Bonzini
2011-10-25  9:19                                                                     ` Jan Kiszka
2011-10-25 13:18                                                                 ` Dave Anderson
2011-10-25 13:22                                                                   ` Avi Kivity
2011-10-18  7:58                   ` Daniel P. Berrange
2011-10-18  8:17                     ` Jan Kiszka
2011-10-18  8:25                       ` Jan Kiszka
2011-10-18  8:25                       ` Daniel P. Berrange [this message]
2011-10-18  8:30                         ` Jan Kiszka
2011-10-10  9:08           ` Daniel P. Berrange
2011-10-10  9:10             ` Daniel P. Berrange
2011-10-10  9:34               ` Richard W.M. Jones
2011-10-10 10:17                 ` Jan Kiszka
2011-10-10  9:34               ` Jan Kiszka
2011-10-10 10:19                 ` Daniel P. Berrange
2011-10-11  2:20                   ` Wen Congyang
2011-10-11  6:58                     ` Jan Kiszka
2011-10-11  7:13                       ` Wen Congyang
2011-10-10 10:21                 ` Alon Levy
2011-10-10 10:48                   ` Paolo Bonzini
2011-10-10 11:04                     ` Daniel P. Berrange
2011-10-10 11:09                       ` Paolo Bonzini
2011-10-10 12:00                         ` [Qemu-devel] windows crash dump header. was: " Alon Levy
2011-10-10 12:38                           ` Paolo Bonzini
2011-10-10 13:47                             ` Alon Levy

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=20111018082538.GF13556@redhat.com \
    --to=berrange@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=lcapitulino@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rjones@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;
as well as URLs for NNTP newsgroup(s).