summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBalazs Scheidler <bazsi@balabit.hu>2008-11-20 01:08:06 -0800
committerDavid S. Miller <davem@davemloft.net>2008-11-20 01:08:06 -0800
commitc82838458200ec4167ce7083b0a17474150c5bf7 (patch)
tree5498ee0aa72c28c8e712fe5a30cd5e48aac1b9bf
parenta134f85c131ffd56720e38af2967ec6265480757 (diff)
downloadblackbird-op-linux-c82838458200ec4167ce7083b0a17474150c5bf7.tar.gz
blackbird-op-linux-c82838458200ec4167ce7083b0a17474150c5bf7.zip
TPROXY: supply a struct flowi->flags argument in inet_sk_rebuild_header()
inet_sk_rebuild_header() does a new route lookup if the dst_entry associated with a socket becomes stale. However inet_sk_rebuild_header() didn't use struct flowi->flags, causing the route lookup to fail for foreign-bound IP_TRANSPARENT sockets, causing an error state to be set for the sockets in question. Signed-off-by: Balazs Scheidler <bazsi@balabit.hu> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/af_inet.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 1fbff5fa4241..1aa2dc9e380e 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1117,6 +1117,7 @@ int inet_sk_rebuild_header(struct sock *sk)
},
},
.proto = sk->sk_protocol,
+ .flags = inet_sk_flowi_flags(sk),
.uli_u = {
.ports = {
.sport = inet->sport,
OpenPOWER on IntegriCloud