cvs commit: src/sys/kern lwkt_msgport.c uipc_msg.c uipc_proto.c src/sys/net netisr.c src/sys/sys msgport.h protosw.h src/sys/netproto/atm atm_proto.c

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Jun 7 00:03:00 PDT 2004


dillon      2004/06/07 00:01:36 PDT

DragonFly src repository

  Modified files:
    sys/kern             lwkt_msgport.c uipc_msg.c uipc_proto.c 
    sys/net              netisr.c 
    sys/sys              msgport.h protosw.h 
    sys/netproto/atm     atm_proto.c 
  Log:
  Recent accept() changes started depending on the protosw->pr_mport field
  being non-NULL, but unix domain sockets still used a NULL pr_mport field.
  This was causing e.g. XFree86 to panic the system.
  
  Unix domain socket calls must still be executed synchronously in the context
  of the originating process in order to access the proc structure (for ucred
  and other things).
  
  Implement a special synchronous port (netisr_sync_port) and hook function
  for the protosw called sync_soport() and hook it into the unix domain
  socket protosw.  This port executes netmsg's synchronously and also supports
  aborts for predicate messages (used by connect and accept).
  
  The atm protosw also specified NULL which we change to the standard
  cpu0_soport().
  
  Remove previous workaround code for NULL mports, since we no longer have
  any NULL mports.  Remove an assertion in connect2() that was designed to
  detect mis-programmed use of the UNIX DOMAIN socket protosw structure.
  
  Original-problem-reported-by: David Rhodus
  
  Revision  Changes    Path
  1.23      +7 -1      src/sys/kern/lwkt_msgport.c
  1.12      +0 -66     src/sys/kern/uipc_msg.c
  1.4       +3 -3      src/sys/kern/uipc_proto.c
  1.17      +65 -1     src/sys/net/netisr.c
  1.19      +38 -0     src/sys/sys/msgport.h
  1.13      +1 -0      src/sys/sys/protosw.h
  1.7       +1 -1      src/sys/netproto/atm/atm_proto.c


http://www.dragonflybsd.org/cvsweb/src/sys/kern/lwkt_msgport.c.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/uipc_msg.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/uipc_proto.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/netisr.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/msgport.h.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/protosw.h.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/atm/atm_proto.c.diff?r1=1.6&r2=1.7&f=u





More information about the Commits mailing list