aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/netfilter/nft_quota.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/netfilter/nft_quota.c b/net/netfilter/nft_quota.c
index 92b6ff16dbb3..c00104c07095 100644
--- a/net/netfilter/nft_quota.c
+++ b/net/netfilter/nft_quota.c
@@ -21,10 +21,10 @@ struct nft_quota {
21 atomic64_t remain; 21 atomic64_t remain;
22}; 22};
23 23
24static inline long nft_quota(struct nft_quota *priv, 24static inline bool nft_overquota(struct nft_quota *priv,
25 const struct nft_pktinfo *pkt) 25 const struct nft_pktinfo *pkt)
26{ 26{
27 return atomic64_sub_return(pkt->skb->len, &priv->remain); 27 return atomic64_sub_return(pkt->skb->len, &priv->remain) < 0;
28} 28}
29 29
30static void nft_quota_eval(const struct nft_expr *expr, 30static void nft_quota_eval(const struct nft_expr *expr,
@@ -33,7 +33,7 @@ static void nft_quota_eval(const struct nft_expr *expr,
33{ 33{
34 struct nft_quota *priv = nft_expr_priv(expr); 34 struct nft_quota *priv = nft_expr_priv(expr);
35 35
36 if ((nft_quota(priv, pkt) < 0) ^ priv->invert) 36 if (nft_overquota(priv, pkt) ^ priv->invert)
37 regs->verdict.code = NFT_BREAK; 37 regs->verdict.code = NFT_BREAK;
38} 38}
39 39