From owner-cvs-src@FreeBSD.ORG Fri Jan 4 04:53:22 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4951B16A418; Fri, 4 Jan 2008 04:53:22 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3A44213C448; Fri, 4 Jan 2008 04:53:22 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m044rMu7020438; Fri, 4 Jan 2008 04:53:22 GMT (envelope-from kib@repoman.freebsd.org) Received: (from kib@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m044rMsf020436; Fri, 4 Jan 2008 04:53:22 GMT (envelope-from kib) Message-Id: <200801040453.m044rMsf020436@repoman.freebsd.org> From: Konstantin Belousov Date: Fri, 4 Jan 2008 04:53:22 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_7_0 Cc: Subject: cvs commit: src/sys/dev/snp snp.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2008 04:53:22 -0000 kib 2008-01-04 04:53:22 UTC FreeBSD src repository Modified files: (Branch: RELENG_7_0) sys/dev/snp snp.c Log: MFC rev. 1.106: Do not allow the SNPSTTY ioctl for the snoop device that has a tty attached. Otherwise, the snp->snp_tty would be overwritten, while the tty line discipline still set to the snpdisc. Then snplwrite() causes panic because ttytosnp() cannot find the snp. (And do it at the proper place, from rev. 1.107). MFC rev. 1.107: 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. Approved by: re (kensmith) Revision Changes Path 1.105.4.1 +7 -9 src/sys/dev/snp/snp.c