Am 16.10.2014 um 20:59 schrieb Peter Hurley: > Although the tty core maintains a pid reference for the foreground > process group, if the foreground process group is changed that > pid reference is dropped. Thus, the pid reference used for signalling > could become stale. > > Safely obtain a pid reference to the foreground process group and > release the reference after signalling is complete. > > cc: Jeff Dike <jd...@addtoit.com> > cc: Richard Weinberger <rich...@nod.at> > cc: user-mode-linux-devel@lists.sourceforge.net > Signed-off-by: Peter Hurley <pe...@hurleysoftware.com>
Acked-by: Richard Weinberger <rich...@nod.at> > --- > arch/um/drivers/line.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c > index 8035145..6208702 100644 > --- a/arch/um/drivers/line.c > +++ b/arch/um/drivers/line.c > @@ -632,6 +632,7 @@ static irqreturn_t winch_interrupt(int irq, void *data) > int fd = winch->fd; > int err; > char c; > + struct pid *pgrp; > > if (fd != -1) { > err = generic_read(fd, &c, NULL); > @@ -657,7 +658,10 @@ static irqreturn_t winch_interrupt(int irq, void *data) > if (line != NULL) { > chan_window_size(line, &tty->winsize.ws_row, > &tty->winsize.ws_col); > - kill_pgrp(tty->pgrp, SIGWINCH, 1); > + pgrp = tty_get_pgrp(tty); > + if (pgrp) > + kill_pgrp(pgrp, SIGWINCH, 1); > + put_pid(pgrp); > } > tty_kref_put(tty); > } > ------------------------------------------------------------------------------ Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel