diff options
author | Balazs Scheidler <bazsi@balabit.hu> | 2008-11-20 01:08:06 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-20 01:08:06 -0800 |
commit | c82838458200ec4167ce7083b0a17474150c5bf7 (patch) | |
tree | 5498ee0aa72c28c8e712fe5a30cd5e48aac1b9bf /net | |
parent | a134f85c131ffd56720e38af2967ec6265480757 (diff) | |
download | op-kernel-dev-c82838458200ec4167ce7083b0a17474150c5bf7.zip op-kernel-dev-c82838458200ec4167ce7083b0a17474150c5bf7.tar.gz |
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>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/af_inet.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index 1fbff5f..1aa2dc9 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, |