Date: Sun, 23 Jul 2000 22:15:22 -0700 (PDT) From: Jonathan Lemon <jlemon@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern uipc_socket.c Message-ID: <200007240515.WAA12061@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
jlemon 2000/07/23 22:15:22 PDT
Modified files: (Branch: RELENG_4)
sys/kern uipc_socket.c
Log:
When shutdown(s, SHUT_RD) is called, it calls sorflush(), which uses
bzero to wipe out the socket buffer. However, this is not the right
thing to do, as some state may need to be kept (SB_SEL, SB_AIO, SB_KNOTE).
In particular, erasing the si_note entry will cause a panic in
filt_sordetach() later, when the system attempts to remove the knote
from the SLIST.
Add a workaround which leaves the si_note field alone. The real fix
is to only clear out those fields which need to be reset, rather than
using bzero() to swat everything. However, this close to -release, a
minimal fix was chosen in order to keep changes to a minimum.
Reviewed by: dillon, wollman (in concept)
Approved by: jkh
Revision Changes Path
1.68.2.3 +5 -1 src/sys/kern/uipc_socket.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200007240515.WAA12061>
