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 Mark wire data structures in netatalk as __packed so that they are 2007-06-28 12:54:58 +00:00
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 Cleanup of netatalk atalk layer includes, protocol definitions, and 2007-01-12 13:18:08 +00:00
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 Cleanup of netatalk atalk layer includes, protocol definitions, and 2007-01-12 13:18:08 +00:00
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 Clean up DDP layer netatalk code: 2007-01-12 15:07:51 +00:00
ddp_usrreq.c Reimplement the netisr framework in order to support parallel netisr 2009-06-01 10:41:38 +00:00
ddp_var.h Clean up DDP layer netatalk code: 2007-01-12 15:07:51 +00:00
ddp.h Mark wire data structures in netatalk as __packed so that they are 2007-06-28 12:54:58 +00:00
endian.h
phase2.h