qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [Xen-devel] [XEN][RFC PATCH V2 11/17] xc: modify save/r


From: Ian Campbell
Subject: Re: [Qemu-devel] [Xen-devel] [XEN][RFC PATCH V2 11/17] xc: modify save/restore to support multiple device models
Date: Thu, 23 Aug 2012 20:52:05 +0100

On Thu, 2012-08-23 at 20:13 +0100, Julien Grall wrote:
> On 08/23/2012 02:27 PM, Ian Campbell wrote:
> >
> >> @@ -103,6 +103,9 @@ static ssize_t rdexact(xc_interface *xch, struct 
> >> restore_ctx *ctx,
> >>   #else
> >>   #define RDEXACT read_exact
> >>   #endif
> >> +
> >> +#define QEMUSIG_SIZE 21
> >> +
> >>   /*
> >>   ** In the state file (or during transfer), all page-table pages are
> >>   ** converted into a 'canonical' form where references to actual mfns
> >> @@ -467,7 +522,7 @@ static int buffer_tail_hvm(xc_interface *xch, struct 
> >> restore_ctx *ctx,
> >>                              int vcpuextstate, uint32_t vcpuextstate_size)
> >>   {
> >>       uint8_t *tmp;
> >> -    unsigned char qemusig[21];
> >> +    unsigned char qemusig[QEMUSIG_SIZE + 1];
> >>      
> > An extra + 1 here?
> >    
> QEMUSIG_SIZE doesn't take into account the '\0'. So we need to add 1.
> If an error occurred, without +1, the output log lost the last character.

So this is just a bug fix for a pre-existing issue?

> > [...]
> >    
> >> -    qemusig[20] = '\0';
> >> +    qemusig[QEMUSIG_SIZE] = '\0';
> >>      
> > This is one bigger than it used to be now.
> >
> > Perhaps this is an unrelated bug fix (I haven't check the real length of
> > the sig), in which case please can you split it out and submit
> > separately?
> >    
> 
> #define QEMU_SIGNATURE "DeviceModelRecord0002"
> Just checked, the length seems to be 21. I will send a patch with
> this change.

Perhaps use either sizeof(QEMU_SIGNATURE) or strlen(QEMU_SIGNATURE)
(depending on which semantics you want)?

Ian.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]