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

Re: [win-pv-devel] [PATCH] Fix heap corruption in co-installer



> -----Original Message-----
> From: Fabio Fantoni [mailto:fabio.fantoni@xxxxxxx]
> Sent: 13 October 2014 14:36
> To: Paul Durrant; win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> Subject: Re: [win-pv-devel] [PATCH] Fix heap corruption in co-installer
> 
> Il 13/10/2014 15:10, Paul Durrant ha scritto:
> >> -----Original Message-----
> >> From: Fabio Fantoni [mailto:fabio.fantoni@xxxxxxx]
> >> Sent: 13 October 2014 13:59
> >> To: Paul Durrant; win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> >> Subject: Re: [win-pv-devel] [PATCH] Fix heap corruption in co-installer
> >>
> >> Il 13/10/2014 14:23, Paul Durrant ha scritto:
> >>>> -----Original Message-----
> >>>> From: win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx [mailto:win-pv-
> devel-
> >>>> bounces@xxxxxxxxxxxxxxxxxxxx] On Behalf Of Fabio Fantoni
> >>>> Sent: 13 October 2014 13:21
> >>>> To: Paul Durrant; win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> >>>> Subject: Re: [win-pv-devel] [PATCH] Fix heap corruption in co-installer
> >>>>
> >>>> Il 07/10/2014 16:57, Paul Durrant ha scritto:
> >>>>> The co-installer was corrupting its heap by trying to free a pointer
> after
> >>>>> incrementing it from its original value.
> >>>>>
> >>>>> Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
> >>>> I saw that this patch is still not in repository, may have problems and
> >>>> should be tested before?
> >>> Sorry. My mistake. I had neglected to push after applying. It's there now.
> >>>
> >>>> It should solves xenbus upgrade problem, right?
> >>>>
> >>> Yes, it should.
> >>>
> >>>     Paul
> >> Thanks for patch and reply.
> >> I did new xenbus build and tested it.
> >> On W 8.1 where I not tried previous update new xenbus installed
> successfull.
> >> On W7 where I tested previous xenbus update failed now still fails and I
> >> also can't unistall it from control panel->software because xenbus entry
> >> is nomore present.
> >> Is there a way to solves?
> > Can you see the Xen PV bus device in device manager? You should be able
> to force an uninstall of the driver by right-clicking and selecting 
> 'uninstall'.
> >
> >    Paul
> 
> Uninstalled the device, rebooted, installed the new driver's build and
> rebooted.
> Now seems all ok.
> Seems also that new winpv drivers are better that old gplpv that if you
> have problems installing/upgrading pv driver windows have the blue
> screen at startup.
> Thanks to you and all other people was/are working on this new winpv
> drivers.

Fabio,

  Glad to help.

  Paul

> 
> >
> >> Probably this patch solves completly the update problem and my problem
> >> with W7 domUs is caused by previous update failed where I had to do a xl
> >> destroy.
> >>
> >> Thanks for any reply and sorry for my bad english.
> >>
> >>>> Thanks for any reply.
> >>>>
> >>>>> ---
> >>>>>     src/coinst/coinst.c | 10 ++++++----
> >>>>>     src/xenbus.inf      |  2 +-
> >>>>>     2 files changed, 7 insertions(+), 5 deletions(-)
> >>>>>
> >>>>> diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c
> >>>>> index 27d3211..59726f5 100644
> >>>>> --- a/src/coinst/coinst.c
> >>>>> +++ b/src/coinst/coinst.c
> >>>>> @@ -1132,6 +1132,7 @@ MatchExistingDriver(
> >>>>>         DWORD   MaxValueLength;
> >>>>>         DWORD   DriverDescLength;
> >>>>>         PTCHAR  DriverDesc = NULL;
> >>>>> +    DWORD   ProductNameLength;
> >>>>>         DWORD   Type;
> >>>>>
> >>>>>         // Look for a legacy platform device
> >>>>> @@ -1213,16 +1214,17 @@ found:
> >>>>>             goto fail9;
> >>>>>         }
> >>>>>
> >>>>> +    ProductNameLength = (DWORD)strlen(PRODUCT_NAME_STR);
> >>>>> +
> >>>>>         if (strncmp(DriverDesc,
> >>>>>                     PRODUCT_NAME_STR,
> >>>>> -                strlen(PRODUCT_NAME_STR)) != 0) {
> >>>>> +                ProductNameLength) != 0) {
> >>>>>             SetLastError(ERROR_INSTALL_FAILURE);
> >>>>>             goto fail10;
> >>>>>         }
> >>>>>
> >>>>> -    DriverDesc += strlen(PRODUCT_NAME_STR);
> >>>>> -
> >>>>> -    if (strcmp(DriverDesc, " PV Bus") != 0) {
> >>>>> +    if (strcmp(DriverDesc + ProductNameLength,
> >>>>> +               " PV Bus") != 0) {
> >>>>>             SetLastError(ERROR_INSTALL_FAILURE);
> >>>>>             goto fail11;
> >>>>>         }
> >>>>> diff --git a/src/xenbus.inf b/src/xenbus.inf
> >>>>> index fe01c79..544bb2c 100644
> >>>>> --- a/src/xenbus.inf
> >>>>> +++ b/src/xenbus.inf
> >>>>> @@ -72,8 +72,8 @@
> >>
> xenbus_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VER
> >>>> SION@_@BUILD_NUMBER@.dll
> >>>>>     CopyFiles=XenBus_Copyfiles
> >>>>>
> >>>>>     [XenBus_Inst.Services]
> >>>>> -AddService=xenfilt,,XenFilt_Service,
> >>>>>     AddService=xenbus,0x02,XenBus_Service,
> >>>>> +AddService=xenfilt,,XenFilt_Service,
> >>>>>
> >>>>>     [XenBus_Service]
> >>>>>     DisplayName=%XenBusDesc%
> >>>> _______________________________________________
> >>>> win-pv-devel mailing list
> >>>> win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> >>>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel


_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.