|
@@ -516,8 +516,11 @@ static void __proc_set_tty(struct tty_struct *tty)
|
|
{
|
|
{
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
- /* We should not have a session or pgrp to put here but.... */
|
|
|
|
spin_lock_irqsave(&tty->ctrl_lock, flags);
|
|
spin_lock_irqsave(&tty->ctrl_lock, flags);
|
|
|
|
+ /*
|
|
|
|
+ * The session and fg pgrp references will be non-NULL if
|
|
|
|
+ * tiocsctty() is stealing the controlling tty
|
|
|
|
+ */
|
|
put_pid(tty->session);
|
|
put_pid(tty->session);
|
|
put_pid(tty->pgrp);
|
|
put_pid(tty->pgrp);
|
|
tty->pgrp = get_pid(task_pgrp(current));
|
|
tty->pgrp = get_pid(task_pgrp(current));
|