]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r361075:
authorhselasky <hselasky@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 22 May 2020 09:01:26 +0000 (09:01 +0000)
committerhselasky <hselasky@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 22 May 2020 09:01:26 +0000 (09:01 +0000)
commit169eb6f1b949a0d734529bd3896daca01f2845cb
tree43075d8f1ca5081653676181e8c29a1d19fd0590
parent7fbce570a263452ee2e55fdb0c43c0f4daa14200
MFC r361075:
Assign process group of the TTY under the "proctree_lock".

This fixes a race where concurrent calls to doenterpgrp() and
leavepgrp() while TIOCSCTTY is executing may result in tp->t_pgrp
changing value so that tty_rel_pgrp() misses clearing it to NULL. For
more details refer to the use of pgdelete() in the kernel.

No functional change intended.

Panic backtrace:
__mtx_lock_sleep() # page fault due to using destroyed mutex
tty_signal_pgrp()
tty_ioctl()
ptsdev_ioctl()
kern_ioctl()
sys_ioctl()
amd64_syscall()

Sponsored by: Mellanox Technologies

git-svn-id: svn://svn.freebsd.org/base/stable/10@361358 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/kern/tty.c