Преглед изворни кода

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>
Balazs Scheidler пре 16 година
родитељ
комит
c828384582
1 измењених фајлова са 1 додато и 0 уклоњено
  1. 1 0
      net/ipv4/af_inet.c

+ 1 - 0
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,