Jimi Xenidis
2006-Aug-24 18:04 UTC
[Xen-devel] [PATCH][TOOLS] Fix xenconsoled SEGV if domain is destroyed while connected.
The following patch fixes a bug where xenconsoled will can SEGV because it uses FD_ISSET(-1,xxx). Since the code is written that any ring/tty handler can set d->tty_fd to -1 it has to be checked _every_time_. Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com> diff -r 00c47d5766100994d1b936873629256874a8d5ba -r d2087a16bc5153d6abc4d28b3bcc39904a6c65b6 tools/console/daemon/io.c --- a/tools/console/daemon/io.c Wed Aug 23 05:49:29 2006 -0400 +++ b/tools/console/daemon/io.c Thu Aug 24 13:42:05 2006 -0400 @@ -584,16 +584,14 @@ void handle_io(void) FD_ISSET(xc_evtchn_fd(d->xce_handle), &readfds)) handle_ring_read(d); - if (d->tty_fd != -1) { - if (FD_ISSET(d->tty_fd, &readfds)) - handle_tty_read(d); - - if (FD_ISSET(d->tty_fd, &writefds)) - handle_tty_write(d); - - if (d->is_dead) - cleanup_domain(d); - } + if (d->tty_fd != -1 && FD_ISSET(d->tty_fd, &readfds)) + handle_tty_read(d); + + if (d->tty_fd != -1 && FD_ISSET(d->tty_fd, &writefds)) + handle_tty_write(d); + + if (d->is_dead) + cleanup_domain(d); } } while (ret > -1); } _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jimi Xenidis
2006-Aug-27 22:01 UTC
Resend: [Xen-devel] [PATCH][TOOLS] Fix xenconsoled SEGV if domain is destroyed while connected.
Any response to this? http://lists.xensource.com/archives/html/xen-devel/2006-08/ msg01315.html On Aug 24, 2006, at 2:04 PM, Jimi Xenidis wrote:> > The following patch fixes a bug where xenconsoled will can SEGV > because it uses FD_ISSET(-1,xxx). Since the code is written that any > ring/tty handler can set d->tty_fd to -1 it has to be checked > _every_time_. > > Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com> > > > diff -r 00c47d5766100994d1b936873629256874a8d5ba -r > d2087a16bc5153d6abc4d28b3bcc39904a6c65b6 tools/console/daemon/io.c > --- a/tools/console/daemon/io.c Wed Aug 23 05:49:29 2006 -0400 > +++ b/tools/console/daemon/io.c Thu Aug 24 13:42:05 2006 -0400 > @@ -584,16 +584,14 @@ void handle_io(void) > FD_ISSET(xc_evtchn_fd(d->xce_handle), &readfds)) > handle_ring_read(d); > > - if (d->tty_fd != -1) { > - if (FD_ISSET(d->tty_fd, &readfds)) > - handle_tty_read(d); > - > - if (FD_ISSET(d->tty_fd, &writefds)) > - handle_tty_write(d); > - > - if (d->is_dead) > - cleanup_domain(d); > - } > + if (d->tty_fd != -1 && FD_ISSET(d->tty_fd, &readfds)) > + handle_tty_read(d); > + > + if (d->tty_fd != -1 && FD_ISSET(d->tty_fd, &writefds)) > + handle_tty_write(d); > + > + if (d->is_dead) > + cleanup_domain(d); > } > } while (ret > -1); > } > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2006-Aug-28 08:21 UTC
Re: Resend: [Xen-devel] [PATCH][TOOLS] Fix xenconsoled SEGV if domain is destroyed while connected.
On 27/8/06 11:01 pm, "Jimi Xenidis" <jimix@watson.ibm.com> wrote:> Any response to this? > http://lists.xensource.com/archives/html/xen-devel/2006-08/ > msg01315.htmlIt''s fine. I''m just behind on applying patches. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel