Patchwork UBIFS: Fix integer overflow warnings

login
register
mail settings
Submitter Kevin Cernekee
Date June 27, 2009, 12:10 a.m.
Message ID <3f15c0091535d0ab4a1d45cbc9eb3667@localhost>
Download mbox | patch
Permalink /patch/29219/
State New
Headers show

Comments

Kevin Cernekee - June 27, 2009, 12:10 a.m.
This warning was observed on MIPS32 using 2.6.31-rc1 and gcc-4.2.0:

fs/ubifs/io.c: In function 'ubifs_wbuf_init':
fs/ubifs/io.c:860: warning: integer overflow in expression
fs/ubifs/io.c:860: warning: integer overflow in expression
fs/ubifs/io.c:860: warning: integer overflow in expression

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
---
index bc58571..184157e 100644
--
Artem Bityutskiy - June 27, 2009, 11:37 a.m.
On Fri, 2009-06-26 at 17:10 -0700, Kevin Cernekee wrote:
> This warning was observed on MIPS32 using 2.6.31-rc1 and gcc-4.2.0:
> 
> fs/ubifs/io.c: In function 'ubifs_wbuf_init':
> fs/ubifs/io.c:860: warning: integer overflow in expression
> fs/ubifs/io.c:860: warning: integer overflow in expression
> fs/ubifs/io.c:860: warning: integer overflow in expression
> 
> Signed-off-by: Kevin Cernekee <cernekee@gmail.com>

Thanks for the patch,

however we there is already a fix for this. I'll send it to
Linus soon.

http://git.infradead.org/ubifs-2.6.git?a=commit;h=4804e8b700504978eb4b9397f818ba7ba1227a15

Patch

--- a/fs/ubifs/io.c
+++ b/fs/ubifs/io.c
@@ -857,7 +857,8 @@  int ubifs_wbuf_init(struct ubifs_info *c, struct ubifs_wbuf *wbuf)
 	 * and hard limits.
 	 */
 	hardlimit = ktime_set(DEFAULT_WBUF_TIMEOUT_SECS, 0);
-	wbuf->delta = (DEFAULT_WBUF_TIMEOUT_SECS * NSEC_PER_SEC) * 2 / 10;
+	wbuf->delta = ((unsigned long long)DEFAULT_WBUF_TIMEOUT_SECS *
+		       NSEC_PER_SEC) * 2 / 10;
 	wbuf->softlimit = ktime_sub_ns(hardlimit, wbuf->delta);
 	hrtimer_set_expires_range_ns(&wbuf->timer,  wbuf->softlimit,
 				     wbuf->delta);