On Thu, Jul 28, 2011 at 08:05:09PM +0530, Amit Shah wrote: > We don't allow port name changes dynamically for a port. So any > requests by the host to change the name are ignored. It would be nice to check the name and if changed, print a warning. > > Before this patch, if the hypervisor sent a port name while we had one > set already, we would leak memory equivalent to the size of the old > name. > > This scenario wasn't expected so far, but with the suspend-resume > support, we'll send the VIRTIO_CONSOLE_PORT_READY message after restore, > which can get us into this situation. > > Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> Memleaks are bad. So this is a bugfix we probably should have anyway? > --- > drivers/char/virtio_console.c | 7 +++++++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c > index fb68b12..3c10b10 100644 > --- a/drivers/char/virtio_console.c > +++ b/drivers/char/virtio_console.c > @@ -1394,6 +1394,13 @@ static void handle_control_message(struct ports_device *portdev, > break; > case VIRTIO_CONSOLE_PORT_NAME: > /* > + * If we woke up after hibernation, we can get this > + * again. Skip it in that case. > + */ > + if (port->name) > + break; > + > + /* > * Skip the size of the header and the cpkt to get the size > * of the name that was sent > */ > -- > 1.7.6 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization