summaryrefslogtreecommitdiff
path: root/distrib/sets/lists/base
diff options
context:
space:
mode:
authorAlexander Bluhm <bluhm@cvs.openbsd.org>2012-07-07 18:48:20 +0000
committerAlexander Bluhm <bluhm@cvs.openbsd.org>2012-07-07 18:48:20 +0000
commitcc164332ba1d761cadb5a4a0d65b0f584151835a (patch)
tree0533ba339e1fac9a85ee6e9d23d07b8479e821b8 /distrib/sets/lists/base
parente270a01adaae8383487dc64f0f1509d5eca10c39 (diff)
Fix two races in socket splicing. When somove() gets called from
sosplice() to move the data already there, it might sleep in m_copym(). Another process must not unsplice during that sleep, so also lock the receive buffer when sosplice is called with fd -1. The same sleep can allow network interrupts to modify the socket buffer. So use sbsync() to write back modifications within the loop instead of fixing the socket buffer after the loop. OK claudio@
Diffstat (limited to 'distrib/sets/lists/base')
0 files changed, 0 insertions, 0 deletions