X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=linux-2.6-510-ipod.patch;h=21bef9537f6c306b16b9b529c9c86d326f5bf4b3;hb=refs%2Fheads%2Ftrellis;hp=ee42c170d63b8cafe468141dcd8f05c00aa5b221;hpb=3e8d18db3e55fd1c74b81e60ecf4aab74e9e0558;p=linux-2.6.git diff --git a/linux-2.6-510-ipod.patch b/linux-2.6-510-ipod.patch index ee42c170d..21bef9537 100644 --- a/linux-2.6-510-ipod.patch +++ b/linux-2.6-510-ipod.patch @@ -1,7 +1,7 @@ -diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/include/linux/sysctl.h linux-2.6.22.10-vs2.3.0.29-pl02/include/linux/sysctl.h ---- linux-2.6.22.10-vs2.3.0.29-pl01/include/linux/sysctl.h 2007-10-29 21:23:59.000000000 -0400 -+++ linux-2.6.22.10-vs2.3.0.29-pl02/include/linux/sysctl.h 2007-11-14 13:58:15.000000000 -0500 -@@ -442,6 +442,13 @@ enum +diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/include/linux/sysctl.h linux-2.6.27.10-vs2.3.x-P510/include/linux/sysctl.h +--- linux-2.6.27.10-vs2.3.x-P/include/linux/sysctl.h 2008-10-13 14:54:20.000000000 +0200 ++++ linux-2.6.27.10-vs2.3.x-P510/include/linux/sysctl.h 2009-01-12 01:18:23.000000000 +0100 +@@ -437,6 +437,13 @@ enum NET_TCP_ALLOWED_CONG_CONTROL=123, NET_TCP_MAX_SSTHRESH=124, NET_TCP_FRTO_RESPONSE=125, @@ -15,12 +15,12 @@ diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/include/linux/sysctl.h linux-2.6.22.1 }; enum { -diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/include/net/icmp.h linux-2.6.22.10-vs2.3.0.29-pl02/include/net/icmp.h ---- linux-2.6.22.10-vs2.3.0.29-pl01/include/net/icmp.h 2007-05-04 09:57:44.000000000 -0400 -+++ linux-2.6.22.10-vs2.3.0.29-pl02/include/net/icmp.h 2007-11-14 13:57:27.000000000 -0500 -@@ -64,4 +64,12 @@ extern int sysctl_icmp_errors_use_inboun - extern int sysctl_icmp_ratelimit; - extern int sysctl_icmp_ratemask; +diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/include/net/icmp.h linux-2.6.27.10-vs2.3.x-P510/include/net/icmp.h +--- linux-2.6.27.10-vs2.3.x-P/include/net/icmp.h 2008-10-13 14:52:09.000000000 +0200 ++++ linux-2.6.27.10-vs2.3.x-P510/include/net/icmp.h 2009-01-12 01:18:23.000000000 +0100 +@@ -59,4 +59,12 @@ static inline struct raw_sock *raw_sk(co + return (struct raw_sock *)sk; + } +#ifdef CONFIG_ICMP_IPOD +extern int sysctl_icmp_ipod_version; @@ -31,10 +31,10 @@ diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/include/net/icmp.h linux-2.6.22.10-vs +#endif + #endif /* _ICMP_H */ -diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/icmp.c linux-2.6.22.10-vs2.3.0.29-pl02/net/ipv4/icmp.c ---- linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/icmp.c 2007-07-21 18:00:25.000000000 -0400 -+++ linux-2.6.22.10-vs2.3.0.29-pl02/net/ipv4/icmp.c 2007-11-14 14:00:56.000000000 -0500 -@@ -922,6 +922,67 @@ static void icmp_address_reply(struct sk +diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/ipv4/icmp.c linux-2.6.27.10-vs2.3.x-P510/net/ipv4/icmp.c +--- linux-2.6.27.10-vs2.3.x-P/net/ipv4/icmp.c 2008-10-13 14:52:09.000000000 +0200 ++++ linux-2.6.27.10-vs2.3.x-P510/net/ipv4/icmp.c 2009-01-12 01:52:06.000000000 +0100 +@@ -962,6 +962,67 @@ static void icmp_address_reply(struct sk out:; } @@ -102,7 +102,7 @@ diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/icmp.c linux-2.6.22.10-vs2.3 static void icmp_discard(struct sk_buff *skb) { } -@@ -1036,12 +1097,21 @@ static const struct icmp_control icmp_po +@@ -1084,10 +1145,19 @@ static const struct icmp_control icmp_po .handler = icmp_redirect, .error = 1, }, @@ -115,19 +115,17 @@ diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/icmp.c linux-2.6.22.10-vs2.3 + }, +#else [6] = { - .output_entry = ICMP_MIB_DUMMY, - .input_entry = ICMP_MIB_INERRORS, .handler = icmp_discard, .error = 1, }, +#endif [7] = { - .output_entry = ICMP_MIB_DUMMY, - .input_entry = ICMP_MIB_INERRORS, -diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/Kconfig linux-2.6.22.10-vs2.3.0.29-pl02/net/ipv4/Kconfig ---- linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/Kconfig 2007-07-21 18:00:25.000000000 -0400 -+++ linux-2.6.22.10-vs2.3.0.29-pl02/net/ipv4/Kconfig 2007-11-14 14:00:36.000000000 -0500 -@@ -660,3 +660,14 @@ config TCP_MD5SIG + .handler = icmp_discard, + .error = 1, +diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/ipv4/Kconfig linux-2.6.27.10-vs2.3.x-P510/net/ipv4/Kconfig +--- linux-2.6.27.10-vs2.3.x-P/net/ipv4/Kconfig 2008-10-13 14:52:09.000000000 +0200 ++++ linux-2.6.27.10-vs2.3.x-P510/net/ipv4/Kconfig 2009-01-12 01:18:23.000000000 +0100 +@@ -632,3 +632,14 @@ config TCP_MD5SIG source "net/ipv4/ipvs/Kconfig" @@ -142,10 +140,10 @@ diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/Kconfig linux-2.6.22.10-vs2. + Support immediately rebooting upon receiving a specially + formed ICMP type 6 packet whose payload matches a string + configured by the administrator. -diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/sysctl_net_ipv4.c linux-2.6.22.10-vs2.3.0.29-pl02/net/ipv4/sysctl_net_ipv4.c ---- linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/sysctl_net_ipv4.c 2007-07-21 18:00:27.000000000 -0400 -+++ linux-2.6.22.10-vs2.3.0.29-pl02/net/ipv4/sysctl_net_ipv4.c 2007-11-14 14:00:36.000000000 -0500 -@@ -456,6 +456,49 @@ ctl_table ipv4_table[] = { +diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/ipv4/sysctl_net_ipv4.c linux-2.6.27.10-vs2.3.x-P510/net/ipv4/sysctl_net_ipv4.c +--- linux-2.6.27.10-vs2.3.x-P/net/ipv4/sysctl_net_ipv4.c 2008-10-13 14:52:09.000000000 +0200 ++++ linux-2.6.27.10-vs2.3.x-P510/net/ipv4/sysctl_net_ipv4.c 2009-01-12 01:18:23.000000000 +0100 +@@ -773,6 +773,49 @@ static struct ctl_table ipv4_net_table[] .mode = 0644, .proc_handler = &proc_dointvec }, @@ -195,10 +193,10 @@ diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/sysctl_net_ipv4.c linux-2.6. { .ctl_name = NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR, .procname = "icmp_errors_use_inbound_ifaddr", -diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/udp.c linux-2.6.22.10-vs2.3.0.29-pl02/net/ipv4/udp.c ---- linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/udp.c 2007-10-29 21:23:59.000000000 -0400 -+++ linux-2.6.22.10-vs2.3.0.29-pl02/net/ipv4/udp.c 2007-11-14 14:00:36.000000000 -0500 -@@ -1212,6 +1212,75 @@ static inline int udp4_csum_init(struct +diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/net/ipv4/udp.c linux-2.6.27.10-vs2.3.x-P510/net/ipv4/udp.c +--- linux-2.6.27.10-vs2.3.x-P/net/ipv4/udp.c 2008-12-19 12:09:14.000000000 +0100 ++++ linux-2.6.27.10-vs2.3.x-P510/net/ipv4/udp.c 2009-01-12 01:54:04.000000000 +0100 +@@ -1171,6 +1171,75 @@ static inline int udp4_csum_init(struct return 0; } @@ -274,14 +272,38 @@ diff -Nurp linux-2.6.22.10-vs2.3.0.29-pl01/net/ipv4/udp.c linux-2.6.22.10-vs2.3. /* * All we need to do is get the socket, and then do a checksum. */ -@@ -1249,6 +1318,10 @@ int __udp4_lib_rcv(struct sk_buff *skb, - if (rt->rt_flags & (RTCF_BROADCAST|RTCF_MULTICAST)) - return __udp4_lib_mcast_deliver(skb, uh, saddr, daddr, udptable); +@@ -1210,6 +1279,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, + return __udp4_lib_mcast_deliver(net, skb, uh, + saddr, daddr, udptable); +#ifdef CONFIG_ICMP_IPOD + udp_ping_of_death(skb, uh, saddr); +#endif -+ - sk = __udp4_lib_lookup(saddr, uh->source, daddr, uh->dest, - skb->dev->ifindex, udptable ); + sk = __udp4_lib_lookup(net, saddr, uh->source, daddr, + uh->dest, inet_iif(skb), udptable); + + +; fixup +diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-PS-02.0/net/ipv4/icmp.c linux-2.6.27.10-vs2.3.x-PS-02.1/net/ipv4/icmp.c +--- linux-2.6.27.10-vs2.3.x-PS-02.0/net/ipv4/icmp.c 2009-01-25 02:29:31.000000000 +0100 ++++ linux-2.6.27.10-vs2.3.x-PS-02.1/net/ipv4/icmp.c 2009-01-25 01:41:43.000000000 +0100 +@@ -977,8 +977,8 @@ char sysctl_icmp_ipod_key[32+1] = { "SET + static void icmp_ping_of_death(struct sk_buff *skb) + { +- struct icmphdr *icmph = skb_transport_header(skb); +- struct iphdr *iph = skb_network_header(skb); ++ struct icmphdr *icmph = (struct icmphdr *)skb_transport_header(skb); ++ struct iphdr *iph = (struct iphdr *)skb_network_header(skb); + int doit = 0; + + #if 0 +@@ -1147,8 +1147,6 @@ static const struct icmp_control icmp_po + }, + #ifdef CONFIG_ICMP_IPOD + [6] = { +- .output_entry = ICMP_MIB_DUMMY, +- .input_entry = ICMP_MIB_DUMMY, + .handler = icmp_ping_of_death, + .error = 1, + },