On 29/05/2013 16:37, Eric Dumazet wrote:
On Wed, 2013-05-29 at 09:39 +0300, Eliezer Tamir wrote:

+static inline unsigned long ll_end_time(void)
+{
+       return TSC_MHZ * ACCESS_ONCE(sysctl_net_ll_poll) + get_cycles();
+}

This can overflow.

Multiply is giving 32bits, as tsc_khz is an int, and sysctl_net_ll_poll
is an int.

unsigned long sysctl_net_ll_poll ?
OK

Also, if we want this to work on i386, the correct type to use for
ll_end_time(void) would be cycles_t

OK
I would be really surprised if someone uses this on an i386, but I guess you never know.

Thanks!
-Eliezer
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to