aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter/nf_conntrack_netlink.c
diff options
context:
space:
mode:
authorXi Wang <xi.wang@gmail.com>2011-12-30 10:40:17 -0500
committerPablo Neira Ayuso <pablo@netfilter.org>2011-12-31 10:59:04 -0500
commitc121638277a71c1e1fb44c3e654ea353357bbc2c (patch)
treeeacfd2881aa785c462587ab8173461b96c396771 /net/netfilter/nf_conntrack_netlink.c
parent52793dbe3d60bd73bbebe28b2bfc9f6b4b920d4c (diff)
netfilter: ctnetlink: fix timeout calculation
The sanity check (timeout < 0) never works; the dividend is unsigned and so is the division, which should have been a signed division. long timeout = (ct->timeout.expires - jiffies) / HZ; if (timeout < 0) timeout = 0; This patch converts the time values to signed for the division. Signed-off-by: Xi Wang <xi.wang@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nf_conntrack_netlink.c')
-rw-r--r--net/netfilter/nf_conntrack_netlink.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
index b6977776d71..257e77256c5 100644
--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -135,7 +135,7 @@ nla_put_failure:
135static inline int 135static inline int
136ctnetlink_dump_timeout(struct sk_buff *skb, const struct nf_conn *ct) 136ctnetlink_dump_timeout(struct sk_buff *skb, const struct nf_conn *ct)
137{ 137{
138 long timeout = (ct->timeout.expires - jiffies) / HZ; 138 long timeout = ((long)ct->timeout.expires - (long)jiffies) / HZ;
139 139
140 if (timeout < 0) 140 if (timeout < 0)
141 timeout = 0; 141 timeout = 0;
@@ -1641,7 +1641,7 @@ ctnetlink_exp_dump_expect(struct sk_buff *skb,
1641 const struct nf_conntrack_expect *exp) 1641 const struct nf_conntrack_expect *exp)
1642{ 1642{
1643 struct nf_conn *master = exp->master; 1643 struct nf_conn *master = exp->master;
1644 long timeout = (exp->timeout.expires - jiffies) / HZ; 1644 long timeout = ((long)exp->timeout.expires - (long)jiffies) / HZ;
1645 struct nf_conn_help *help; 1645 struct nf_conn_help *help;
1646 1646
1647 if (timeout < 0) 1647 if (timeout < 0)