UBIFS: fix integer overflow warning
Fix the following warning: fs/ubifs/io.c: In function 'ubifs_wbuf_init': fs/ubifs/io.c:860: warning: integer overflow in expression And limit maximum hrtimer delta to ULONG_MAX because the argument is 'unsigned long'. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
This commit is contained in:
parent
8e4a718ff3
commit
e3dc5a665d
|
@ -857,7 +857,9 @@ int ubifs_wbuf_init(struct ubifs_info *c, struct ubifs_wbuf *wbuf)
|
||||||
* and hard limits.
|
* and hard limits.
|
||||||
*/
|
*/
|
||||||
hardlimit = ktime_set(DEFAULT_WBUF_TIMEOUT_SECS, 0);
|
hardlimit = ktime_set(DEFAULT_WBUF_TIMEOUT_SECS, 0);
|
||||||
wbuf->delta = (DEFAULT_WBUF_TIMEOUT_SECS * NSEC_PER_SEC) * 2 / 10;
|
wbuf->delta = DEFAULT_WBUF_TIMEOUT_SECS * 1000000000ULL * 2 / 10;
|
||||||
|
if (wbuf->delta > ULONG_MAX)
|
||||||
|
wbuf->delta = ULONG_MAX;
|
||||||
wbuf->softlimit = ktime_sub_ns(hardlimit, wbuf->delta);
|
wbuf->softlimit = ktime_sub_ns(hardlimit, wbuf->delta);
|
||||||
hrtimer_set_expires_range_ns(&wbuf->timer, wbuf->softlimit,
|
hrtimer_set_expires_range_ns(&wbuf->timer, wbuf->softlimit,
|
||||||
wbuf->delta);
|
wbuf->delta);
|
||||||
|
|
Loading…
Reference in New Issue