diff mbox

[TPROXY] supply a struct flowi->flags argument in inet_sk_rebuild_header()

Message ID c23fce5cd1bf67e9123ac6e5a776825b8664a124.1227023129.git.bazsi@balabit.hu
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Balazs Scheidler Nov. 18, 2008, 3:33 p.m. UTC
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>
---
 net/ipv4/af_inet.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Comments

David Miller Nov. 20, 2008, 9:08 a.m. UTC | #1
From: Balazs Scheidler <bazsi@balabit.hu>
Date: Tue, 18 Nov 2008 16:33:35 +0100

>     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>

Applied to net-2.6, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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,