# HG changeset patch
# User Kyle Moffett <[EMAIL PROTECTED]>
# Node ID 77475acbe89242e63e6fd73dc66fe52643011ed7
# Parent 43cd2abd0f4c5d2e8ee4666d6bf1f0b96e252e54
Fix a bug where sock_reset_flag() was called without lock_sock()
diff -r 43cd2abd0f4c -r 77475acbe892 net/core/sock.c
--- a/net/core/sock.c Wed Jul 27 04:02:15 2005
+++ b/net/core/sock.c Wed Jul 27 17:38:27 2005
@@ -206,13 +206,14 @@
*/
#ifdef SO_DONTLINGER /* Compatibility item... */
- switch (optname) {
- case SO_DONTLINGER:
- sock_reset_flag(sk, SOCK_LINGER);
- return 0;
- }
-#endif
-
+ if (optname == SO_DONTLINGER) {
+ lock_sock(sk);
+ sock_reset_flag(sk, SOCK_LINGER);
+ release_sock(sk);
+ return 0;
+ }
+#endif
+
if(optlen<sizeof(int))
return(-EINVAL);
Cheers,
Kyle Moffett
--
I lost interest in "blade servers" when I found they didn't throw
knives at
people who weren't supposed to be in your machine room.
-- Anthony de Boer