On Tue, Jan 15, 2013 at 04:12:57AM -0700, Alexander Bluhm wrote: > CVSROOT: /cvs > Module name: src > Changes by: bl...@cvs.openbsd.org 2013/01/15 04:12:57 > > Modified files: > sys/kern : sys_socket.c uipc_socket.c uipc_socket2.c > sys/sys : socketvar.h > > Log message: > Changing the socket buffer flags sb_flags was not interrupt safe > as |= and &= are non-atomic operations. To avoid additional locks, > put the flags that have to be accessed from interrupt into a separate > sb_flagsintr 32 bit integer field. sb_flagsintr is protected by > splsoftnet. > Input from miod@ deraadt@; OK deraadt@
and OK markus@