Author: kib
Date: Wed Nov 11 00:43:13 2020
New Revision: 367582
URL: https://svnweb.freebsd.org/changeset/base/367582

Log:
  MFC r367120:
  Check for process group change in tty_wait_background().
  
  PR:   250701

Modified:
  stable/12/sys/kern/tty.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/kern/tty.c
==============================================================================
--- stable/12/sys/kern/tty.c    Tue Nov 10 23:25:16 2020        (r367581)
+++ stable/12/sys/kern/tty.c    Wed Nov 11 00:43:13 2020        (r367582)
@@ -464,6 +464,19 @@ tty_wait_background(struct tty *tp, struct thread *td,
                        sig = 0;
                }
                PGRP_LOCK(pg);
+
+               /*
+                * pg may no longer be our process group.
+                * Re-check after locking process group.
+                */
+               PROC_LOCK(p);
+               if (p->p_pgrp != pg) {
+                       PROC_UNLOCK(p);
+                       PGRP_UNLOCK(pg);
+                       continue;
+               }
+
+               PROC_UNLOCK(p);
                pgsignal(pg, ksi.ksi_signo, 1, &ksi);
                PGRP_UNLOCK(pg);
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to