Fix netfilter xt_time's time_mt()'s use of do_div() on an s64 by using
div_s64() instead.
This was introduced by patch ee4411a1b1e0b679c99686629b5eab5a072ce49f.
Signed-off-by: David Howells <[email protected]>
---
net/netfilter/xt_time.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/net/netfilter/xt_time.c b/net/netfilter/xt_time.c
index ed76baa..9f32859 100644
--- a/net/netfilter/xt_time.c
+++ b/net/netfilter/xt_time.c
@@ -173,7 +173,7 @@ time_mt(const struct sk_buff *skb, const struct net_device *in,
__net_timestamp((struct sk_buff *)skb);
stamp = ktime_to_ns(skb->tstamp);
- do_div(stamp, NSEC_PER_SEC);
+ stamp = div_s64(stamp, NSEC_PER_SEC);
if (info->flags & XT_TIME_LOCAL_TZ)
/* Adjust for local timezone */
David Howells wrote:
> Fix netfilter xt_time's time_mt()'s use of do_div() on an s64 by using
> div_s64() instead.
>
> This was introduced by patch ee4411a1b1e0b679c99686629b5eab5a072ce49f.
Alternatively we could use an u64 for the time. Jan, any preferences?
On Tuesday 2008-07-15 13:43, Patrick McHardy wrote:
> David Howells wrote:
>> Fix netfilter xt_time's time_mt()'s use of do_div() on an s64 by using
>> div_s64() instead.
>>
>> This was introduced by patch ee4411a1b1e0b679c99686629b5eab5a072ce49f.
>
> Alternatively we could use an u64 for the time. Jan, any preferences?
ktime_t and ktime_to_ns operate on signed quantities. I do not think we
should be interpreting it as unsigned.
Jan Engelhardt wrote:
> On Tuesday 2008-07-15 13:43, Patrick McHardy wrote:
>
>> David Howells wrote:
>>> Fix netfilter xt_time's time_mt()'s use of do_div() on an s64 by using
>>> div_s64() instead.
>>>
>>> This was introduced by patch ee4411a1b1e0b679c99686629b5eab5a072ce49f.
>> Alternatively we could use an u64 for the time. Jan, any preferences?
>
> ktime_t and ktime_to_ns operate on signed quantities. I do not think we
> should be interpreting it as unsigned.
OK, I've applied David's patch. Thanks.