2004-10-25 00:14:49

by ahendry

[permalink] [raw]
Subject: [PATCH TRIVIAL 2.6.8.1] X.25 : Stop x25_destroy_socket timer looping


The sk_timer.data for the x.25 destroy_socket timer went missing at some
stage, causing a timer loop where x25_destroy_socket would keep setting
up timers to call itself.

Signed-off-by: Andrew Hendry <[email protected]>


diff -up linux-2.6.8.1/net/x25/af_x25.c.orig
linux-2.6.8.1/net/x25/af_x25.c
--- linux-2.6.8.1/net/x25/af_x25.c.orig 2004-10-25 08:49:40.780391664
+1000
+++ linux-2.6.8.1/net/x25/af_x25.c 2004-10-25 09:08:22.797819088
+1000
@@ -347,6 +347,7 @@ void x25_destroy_socket(struct sock *sk)
/* Defer: outstanding buffers */
sk->sk_timer.expires = jiffies + 10 * HZ;
sk->sk_timer.function = x25_destroy_timer;
+ sk->sk_timer.data = (unsigned long)sk;
add_timer(&sk->sk_timer);
} else {
/* drop last reference so sock_put will free */