Subject: netfilter -stable 06/08: xt_rateest: fix comparison with self

From: Patrick McHardy <[email-masked]>
Date: Thu, 23 Jul 2009 16:15:32 +0200 (MEST)

commit 77609e5aca9bc8cd4e9ea960177df1e980b3d040
Author: Patrick McHardy <[email-masked]>
Date:   Fri Jul 3 10:35:55 2009 +0200

    netfilter: xt_rateest: fix comparison with self
    
    Upstream commit 4d900f9df:
    
    As noticed by Török Edwin <[email-masked]>:
    
    Compiling the kernel with clang has shown this warning:
    
    net/netfilter/xt_rateest.c:69:16: warning: self-comparison always results in a
    constant value
                            ret &= pps2 == pps2;
                                        ^
    Looking at the code:
    if (info->flags & XT_RATEEST_MATCH_BPS)
                ret &= bps1 == bps2;
            if (info->flags & XT_RATEEST_MATCH_PPS)
                ret &= pps2 == pps2;
    
    Judging from the MATCH_BPS case it seems to be a typo, with the intention of
    comparing pps1 with pps2.
    
    http://bugzilla.kernel.org/show_bug.cgi?id=13535
    
    Signed-off-by: Patrick McHardy <[email-masked]>

diff --git a/net/netfilter/xt_rateest.c b/net/netfilter/xt_rateest.c
index 220a1d5..4fc6a91 100644
--- a/net/netfilter/xt_rateest.c
+++ b/net/netfilter/xt_rateest.c
@@ -66,7 +66,7 @@ xt_rateest_mt(const struct sk_buff *skb, const struct xt_match_param *par)
 		if (info->flags & XT_RATEEST_MATCH_BPS)
 			ret &= bps1 == bps2;
 		if (info->flags & XT_RATEEST_MATCH_PPS)
-			ret &= pps2 == pps2;
+			ret &= pps1 == pps2;
 		break;
 	}