Date: Mon, 24 Dec 2007 13:47:16 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/snp snp.c Message-ID: <200712241347.lBODlGWh016925@repoman.freebsd.org>
index | next in thread | raw e-mail
kib 2007-12-24 13:47:16 UTC
FreeBSD src repository
Modified files:
sys/dev/snp snp.c
Log:
Move the check for the snp device being already attached after the
fget() call, that is sleeping point, and possibly dropping Giant.
The snp_target == NULL implies the snp_tty == NULL. Remove the code
that is put under snp_target == NULL and snp_tty != NULL clause.
In snpclose(), do the snp_detach() before scheduling the snp device
destruction. Otherwise, after the return from snpclose(), the snp
device is already removed from the snp_list, but tty is still in
snooped state. Any attempt to do i/o on such tty cause panic because
ttytosnp() returns NULL.
Tested by: Peter Holm
MFC after: 1 week
Revision Changes Path
1.107 +6 -11 src/sys/dev/snp/snp.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200712241347.lBODlGWh016925>
