|
@@ -172,7 +172,7 @@ socket_match(const struct sk_buff *skb, struct xt_action_param *par,
|
|
|
|
|
|
/* Ignore non-transparent sockets,
|
|
|
if XT_SOCKET_TRANSPARENT is used */
|
|
|
- if (info && info->flags & XT_SOCKET_TRANSPARENT)
|
|
|
+ if (info->flags & XT_SOCKET_TRANSPARENT)
|
|
|
transparent = ((sk->sk_state != TCP_TIME_WAIT &&
|
|
|
inet_sk(sk)->transparent) ||
|
|
|
(sk->sk_state == TCP_TIME_WAIT &&
|
|
@@ -196,7 +196,11 @@ socket_match(const struct sk_buff *skb, struct xt_action_param *par,
|
|
|
static bool
|
|
|
socket_mt4_v0(const struct sk_buff *skb, struct xt_action_param *par)
|
|
|
{
|
|
|
- return socket_match(skb, par, NULL);
|
|
|
+ static struct xt_socket_mtinfo1 xt_info_v0 = {
|
|
|
+ .flags = 0,
|
|
|
+ };
|
|
|
+
|
|
|
+ return socket_match(skb, par, &xt_info_v0);
|
|
|
}
|
|
|
|
|
|
static bool
|
|
@@ -314,7 +318,7 @@ socket_mt6_v1_v2(const struct sk_buff *skb, struct xt_action_param *par)
|
|
|
|
|
|
/* Ignore non-transparent sockets,
|
|
|
if XT_SOCKET_TRANSPARENT is used */
|
|
|
- if (info && info->flags & XT_SOCKET_TRANSPARENT)
|
|
|
+ if (info->flags & XT_SOCKET_TRANSPARENT)
|
|
|
transparent = ((sk->sk_state != TCP_TIME_WAIT &&
|
|
|
inet_sk(sk)->transparent) ||
|
|
|
(sk->sk_state == TCP_TIME_WAIT &&
|