diff options
author | Randall Stewart <rrs@FreeBSD.org> | 2010-06-09 16:42:42 +0000 |
---|---|---|
committer | Randall Stewart <rrs@FreeBSD.org> | 2010-06-09 16:42:42 +0000 |
commit | b3a44e469dda70a9c3fa79cbecbf80646f496fa2 (patch) | |
tree | c6f90684e05b5bb8c66d9b41c1f6ff9f194a25f1 /contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp | |
parent | 8dcde5165ea9caabd9b04e1c50e4e88e204a6ad3 (diff) |
Fix serveral bugs all having to do with freeing an
sctp_inpcb:
1) Make sure not to remove the flag on the PCB until
after the close() caller is back in control with the
lock. Otherwise a quickly freeing assoc could kill the
inpcb and cause a panic.
2) Make sure all calls to log_closing have not released
the locks before calling the log function, we don't
want the logging function to crash us due to a freed
inpcb.
3) Make sure that when we get to the end, we release all
locks (after removing them from view) and as long as
we are NOT the inp-kill timer removing the inp, call
the callout_drain() function so a racing timer won't
later call in and cause a racing crash.
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=208953
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp')
0 files changed, 0 insertions, 0 deletions