From: Gao Feng <f...@ikuai8.com>

The origin codes perform two condition checks with dst_mtu(skb_dst(skb))
and in_mtu. And the last statement is "min(dst_mtu(skb_dst(skb)),
in_mtu) - minlen". It may let reader think about how about the result.
Would it be negative.

Now assign the result of min(dst_mtu(skb_dst(skb)), in_mtu) to a new
variable, then only perform one condition check, and it is more readable.

Signed-off-by: Gao Feng <f...@ikuai8.com>
Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>
---
 net/netfilter/xt_TCPMSS.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/net/netfilter/xt_TCPMSS.c b/net/netfilter/xt_TCPMSS.c
index e118397254af..872db2d0e2a9 100644
--- a/net/netfilter/xt_TCPMSS.c
+++ b/net/netfilter/xt_TCPMSS.c
@@ -110,18 +110,14 @@ tcpmss_mangle_packet(struct sk_buff *skb,
        if (info->mss == XT_TCPMSS_CLAMP_PMTU) {
                struct net *net = par->net;
                unsigned int in_mtu = tcpmss_reverse_mtu(net, skb, family);
+               unsigned int min_mtu = min(dst_mtu(skb_dst(skb)), in_mtu);
 
-               if (dst_mtu(skb_dst(skb)) <= minlen) {
+               if (min_mtu <= minlen) {
                        net_err_ratelimited("unknown or invalid path-MTU 
(%u)\n",
-                                           dst_mtu(skb_dst(skb)));
+                                           min_mtu);
                        return -1;
                }
-               if (in_mtu <= minlen) {
-                       net_err_ratelimited("unknown or invalid path-MTU 
(%u)\n",
-                                           in_mtu);
-                       return -1;
-               }
-               newmss = min(dst_mtu(skb_dst(skb)), in_mtu) - minlen;
+               newmss = min_mtu - minlen;
        } else
                newmss = info->mss;
 
-- 
2.1.4

Reply via email to