From 24f6bff664a8f8ba70bab88632fdbc2a406f71bc Mon Sep 17 00:00:00 2001 From: short <> Date: Mon, 3 Dec 2001 16:32:25 +0000 Subject: [PATCH] Kernel patch update to 2.4.16. - export of TCP_RTO_MAX fixed (ipv6 and khttpd modules got broken by the bug) --- kernel-2.4.16.diff | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++ kernel-2.4.2-pre2.diff | 47 --------------------------------- versions | 2 +- 3 files changed, 71 insertions(+), 48 deletions(-) create mode 100644 kernel-2.4.16.diff delete mode 100644 kernel-2.4.2-pre2.diff diff --git a/kernel-2.4.16.diff b/kernel-2.4.16.diff new file mode 100644 index 0000000..77cb63b --- /dev/null +++ b/kernel-2.4.16.diff @@ -0,0 +1,70 @@ +diff -ru linux-2.4.16-cut-tcp_rto/include/linux/sysctl.h linux-2.4.16c/include/linux/sysctl.h +--- linux-2.4.16-cut-tcp_rto/include/linux/sysctl.h Mon Dec 3 17:27:26 2001 ++++ linux-2.4.16c/include/linux/sysctl.h Tue Nov 27 02:01:14 2001 +@@ -289,7 +289,8 @@ + NET_TCP_ADV_WIN_SCALE=87, + NET_IPV4_NONLOCAL_BIND=88, + NET_IPV4_ICMP_RATELIMIT=89, +- NET_IPV4_ICMP_RATEMASK=90 ++ NET_IPV4_ICMP_RATEMASK=90, ++ NET_TCP_RTO_MAX=91, + }; + + enum { +diff -ru linux-2.4.16-cut-tcp_rto/include/net/tcp.h linux-2.4.16c/include/net/tcp.h +--- linux-2.4.16-cut-tcp_rto/include/net/tcp.h Wed Oct 17 21:09:41 2001 ++++ linux-2.4.16c/include/net/tcp.h Tue Nov 27 02:12:29 2001 +@@ -331,7 +331,8 @@ + #define TCP_DELACK_MIN 4U + #define TCP_ATO_MIN 4U + #endif +-#define TCP_RTO_MAX ((unsigned)(120*HZ)) ++#define TCP_RTO_MAX_init ((unsigned)(120*HZ)) ++extern unsigned TCP_RTO_MAX; + #define TCP_RTO_MIN ((unsigned)(HZ/5)) + #define TCP_TIMEOUT_INIT ((unsigned)(3*HZ)) /* RFC 1122 initial RTO value */ + +diff -ru linux-2.4.16-cut-tcp_rto/net/ipv4/Makefile linux-2.4.16c/net/ipv4/Makefile +--- linux-2.4.16-cut-tcp_rto/net/ipv4/Makefile Sun Nov 11 17:56:25 2001 ++++ linux-2.4.16c/net/ipv4/Makefile Mon Dec 3 17:20:49 2001 +@@ -9,7 +9,7 @@ + + O_TARGET := ipv4.o + +-export-objs = ipip.o ip_gre.o ++export-objs = ipip.o ip_gre.o tcp_timer.o + + obj-y := utils.o route.o inetpeer.o proc.o protocol.o \ + ip_input.o ip_fragment.o ip_forward.o ip_options.o \ +diff -ru linux-2.4.16-cut-tcp_rto/net/ipv4/sysctl_net_ipv4.c linux-2.4.16c/net/ipv4/sysctl_net_ipv4.c +--- linux-2.4.16-cut-tcp_rto/net/ipv4/sysctl_net_ipv4.c Sun Nov 11 17:56:25 2001 ++++ linux-2.4.16c/net/ipv4/sysctl_net_ipv4.c Fri Nov 16 23:24:32 2001 +@@ -219,6 +219,8 @@ + &sysctl_icmp_ratelimit, sizeof(int), 0644, NULL, &proc_dointvec}, + {NET_IPV4_ICMP_RATEMASK, "icmp_ratemask", + &sysctl_icmp_ratemask, sizeof(int), 0644, NULL, &proc_dointvec}, ++ {NET_TCP_RTO_MAX, "tcp_rto_max", ++ &TCP_RTO_MAX, sizeof(unsigned), 0644, NULL, &proc_dointvec}, + {0} + }; + +diff -ru linux-2.4.16-cut-tcp_rto/net/ipv4/tcp_timer.c linux-2.4.16c/net/ipv4/tcp_timer.c +--- linux-2.4.16-cut-tcp_rto/net/ipv4/tcp_timer.c Wed Oct 17 21:09:42 2001 ++++ linux-2.4.16c/net/ipv4/tcp_timer.c Mon Dec 3 17:21:52 2001 +@@ -21,6 +21,7 @@ + */ + + #include ++#include + + int sysctl_tcp_syn_retries = TCP_SYN_RETRIES; + int sysctl_tcp_synack_retries = TCP_SYNACK_RETRIES; +@@ -30,6 +31,8 @@ + int sysctl_tcp_retries1 = TCP_RETR1; + int sysctl_tcp_retries2 = TCP_RETR2; + int sysctl_tcp_orphan_retries; ++unsigned TCP_RTO_MAX = TCP_RTO_MAX_init; ++EXPORT_SYMBOL(TCP_RTO_MAX); + + static void tcp_write_timer(unsigned long); + static void tcp_delack_timer(unsigned long); diff --git a/kernel-2.4.2-pre2.diff b/kernel-2.4.2-pre2.diff deleted file mode 100644 index 7f1684f..0000000 --- a/kernel-2.4.2-pre2.diff +++ /dev/null @@ -1,47 +0,0 @@ -diff -ru linux-2.4.2-pre2-cut-tcp_rto/include/linux/sysctl.h linux-2.4.2-pre2c/include/linux/sysctl.h ---- linux-2.4.2-pre2-cut-tcp_rto/include/linux/sysctl.h Fri Feb 9 13:31:49 2001 -+++ linux-2.4.2-pre2c/include/linux/sysctl.h Fri Feb 9 13:55:16 2001 -@@ -279,6 +279,7 @@ - NET_TCP_APP_WIN=86, - NET_TCP_ADV_WIN_SCALE=87, - NET_IPV4_NONLOCAL_BIND=88, -+ NET_TCP_RTO_MAX=89, - }; - - enum { -diff -ru linux-2.4.2-pre2-cut-tcp_rto/include/net/tcp.h linux-2.4.2-pre2c/include/net/tcp.h ---- linux-2.4.2-pre2-cut-tcp_rto/include/net/tcp.h Fri Feb 9 13:32:20 2001 -+++ linux-2.4.2-pre2c/include/net/tcp.h Fri Feb 9 13:57:37 2001 -@@ -335,7 +335,8 @@ - #define TCP_DELACK_MIN 4 - #define TCP_ATO_MIN 4 - #endif --#define TCP_RTO_MAX (120*HZ) -+#define TCP_RTO_MAX_init (120*HZ) -+extern int TCP_RTO_MAX; - #define TCP_RTO_MIN (HZ/5) - #define TCP_TIMEOUT_INIT (3*HZ) /* RFC 1122 initial RTO value */ - -diff -ru linux-2.4.2-pre2-cut-tcp_rto/net/ipv4/sysctl_net_ipv4.c linux-2.4.2-pre2c/net/ipv4/sysctl_net_ipv4.c ---- linux-2.4.2-pre2-cut-tcp_rto/net/ipv4/sysctl_net_ipv4.c Sun Nov 5 10:41:15 2000 -+++ linux-2.4.2-pre2c/net/ipv4/sysctl_net_ipv4.c Sun Nov 5 10:39:09 2000 -@@ -226,6 +226,8 @@ - &sysctl_tcp_app_win, sizeof(int), 0644, NULL, &proc_dointvec}, - {NET_TCP_ADV_WIN_SCALE, "tcp_adv_win_scale", - &sysctl_tcp_adv_win_scale, sizeof(int), 0644, NULL, &proc_dointvec}, -+ {NET_TCP_RTO_MAX, "tcp_rto_max", -+ &TCP_RTO_MAX, sizeof(int), 0644, NULL, &proc_dointvec}, - {0} - }; - -diff -ru linux-2.4.2-pre2-cut-tcp_rto/net/ipv4/tcp_timer.c linux-2.4.2-pre2c/net/ipv4/tcp_timer.c ---- linux-2.4.2-pre2-cut-tcp_rto/net/ipv4/tcp_timer.c Fri Feb 9 13:32:34 2001 -+++ linux-2.4.2-pre2c/net/ipv4/tcp_timer.c Fri Feb 9 13:29:12 2001 -@@ -30,6 +30,7 @@ - int sysctl_tcp_retries1 = TCP_RETR1; - int sysctl_tcp_retries2 = TCP_RETR2; - int sysctl_tcp_orphan_retries; -+int TCP_RTO_MAX = TCP_RTO_MAX_init; - - static void tcp_write_timer(unsigned long); - static void tcp_delack_timer(unsigned long); diff --git a/versions b/versions index b199ff6..0463a58 100644 --- a/versions +++ b/versions @@ -1,2 +1,2 @@ kernel22_ver=2.2.17 -kernel24_ver=2.4.2-pre2 +kernel24_ver=2.4.16 -- 1.8.3.1