freebsd-nq/sys/netatalk
Robert Watson cc18b1dbf0 Add a global rwlock, at_ifaddr_rw, to protect the global netatalk
address lists, at_ifaddr_list.  Acquire the lock, and use ifaddr
refcounts where necessary, to close most known address-related
races in netatalk.

Annotate one potential race in at_control() where we acquire an
ifaddr reference, drop the global lock, and scrub the address from
the ifnet before re-acquiring the global lock, which could allow
for a writer-writer race.

MFC after:	3 weeks
2009-06-22 10:23:54 +00:00
..
aarp.c Add a global rwlock, at_ifaddr_rw, to protect the global netatalk 2009-06-22 10:23:54 +00:00
aarp.h
at_control.c Add a global rwlock, at_ifaddr_rw, to protect the global netatalk 2009-06-22 10:23:54 +00:00
at_extern.h Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
at_proto.c Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
at_rmx.c
at_var.h Add a global rwlock, at_ifaddr_rw, to protect the global netatalk 2009-06-22 10:23:54 +00:00
at.h
COPYRIGHT Add a global rwlock, at_ifaddr_rw, to protect the global netatalk 2009-06-22 10:23:54 +00:00
ddp_input.c Add a global rwlock, at_ifaddr_rw, to protect the global netatalk 2009-06-22 10:23:54 +00:00
ddp_output.c Add a global rwlock, at_ifaddr_rw, to protect the global netatalk 2009-06-22 10:23:54 +00:00
ddp_pcb.c Add a global rwlock, at_ifaddr_rw, to protect the global netatalk 2009-06-22 10:23:54 +00:00
ddp_pcb.h
ddp_usrreq.c Reimplement the netisr framework in order to support parallel netisr 2009-06-01 10:41:38 +00:00
ddp_var.h
ddp.h
endian.h
phase2.h