Re: [RFC PATCH] 2.6.22.6 netfilter: sk_setup_caps in ip_make_route_harder

Previous thread: PROBLEM: System Freeze on Particular workload with kernel 2.6.22.6 by Low Yucheng on Wednesday, September 19, 2007 - 4:45 am. (9 messages)

Next thread: [RFC][PATCH 5/6] fixup funny preemption tricks in irq_exit by Peter Zijlstra on Wednesday, September 19, 2007 - 6:41 am. (1 message)
To: <kaber@...>
Cc: lkm <linux-kernel@...>
Date: Wednesday, September 19, 2007 - 5:36 am

Hi,
For local src packets, it is better to update sk_route_caps in
ip_route_me_harder.

Signed-off-by: Lepton Wu <ytht.net@gmail.com>

diff -pru -X linux-2.6.22.6/Documentation/dontdiff linux-2.6.22.6/net/ipv4/netfilter.c linux-2.6.22.6-lepton/net/ipv4/netfilter.c
--- linux-2.6.22.6/net/ipv4/netfilter.c 2007-09-19 13:19:13.000000000 +0800
+++ linux-2.6.22.6-lepton/net/ipv4/netfilter.c 2007-09-19 17:10:36.000000000 +0800
@@ -37,6 +37,10 @@ int ip_route_me_harder(struct sk_buff **
/* Drop old route. */
dst_release((*pskb)->dst);
(*pskb)->dst = &rt->u.dst;
+ if((*pskb)->sk){
+ dst_hold((*pskb)->dst);
+ sk_setup_caps((*pskb)->sk, (*pskb)->dst);
+ }
} else {
/* non-local src, find valid iif to satisfy
* rp-filter when calling ip_route_input. */
-

To: lepton <ytht.net@...>
Cc: lkm <linux-kernel@...>, Netfilter Development Mailinglist <netfilter-devel@...>, Linux Netdev List <netdev@...>
Date: Wednesday, September 19, 2007 - 11:00 am

This seems like a good idea to me. But why only for local src
(address) packets? This function can also be used for locally
generated packet that have been (f.i.) NATed to a foreign

-

Previous thread: PROBLEM: System Freeze on Particular workload with kernel 2.6.22.6 by Low Yucheng on Wednesday, September 19, 2007 - 4:45 am. (9 messages)

Next thread: [RFC][PATCH 5/6] fixup funny preemption tricks in irq_exit by Peter Zijlstra on Wednesday, September 19, 2007 - 6:41 am. (1 message)