netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net] e1000e: fix numeric overflow in phc settime method.
@ 2013-04-22 13:53 Richard Cochran
  2013-04-22 17:53 ` Jeff Kirsher
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Cochran @ 2013-04-22 13:53 UTC (permalink / raw)
  To: netdev
  Cc: David Miller, Jeff Kirsher, Jeroen Van den Keybus, bruce.w.allan,
	e1000-devel

The PTP Hardware Clock settime function in the e1000e driver
computes nanoseconds from a struct timespec. The code converts the
seconds field .tv_sec by multiplying it with NSEC_PER_SEC. However,
both operands are of type long, resulting in an unintended overflow.
The patch fixes the issue by using the helper function from time.h.

Signed-off-by: Richard Cochran <richardcochran@gmail.com>
---
 drivers/net/ethernet/intel/e1000e/ptp.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/ptp.c b/drivers/net/ethernet/intel/e1000e/ptp.c
index b477fa5..065f8c8 100644
--- a/drivers/net/ethernet/intel/e1000e/ptp.c
+++ b/drivers/net/ethernet/intel/e1000e/ptp.c
@@ -145,8 +145,7 @@ static int e1000e_phc_settime(struct ptp_clock_info *ptp,
 	unsigned long flags;
 	u64 ns;
 
-	ns = ts->tv_sec * NSEC_PER_SEC;
-	ns += ts->tv_nsec;
+	ns = timespec_to_ns(ts);
 
 	/* reset the timecounter */
 	spin_lock_irqsave(&adapter->systim_lock, flags);
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-04-22 18:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-22 13:53 [PATCH net] e1000e: fix numeric overflow in phc settime method Richard Cochran
2013-04-22 17:53 ` Jeff Kirsher
2013-04-22 17:56   ` Richard Cochran
2013-04-22 18:17     ` Jeff Kirsher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).