]> git.baikalelectronics.ru Git - kernel.git/commit
kyber: fix integer overflow of latency targets on 32-bit
authorOmar Sandoval <osandov@fb.com>
Fri, 28 Sep 2018 16:22:50 +0000 (09:22 -0700)
committerJens Axboe <axboe@kernel.dk>
Fri, 28 Sep 2018 16:49:39 +0000 (10:49 -0600)
commit88a7a42a224e7131b239db25aa8e8af2133cc04f
tree7ff5182cf80287cedc531edd29c6a9c96b3f96e1
parent5e357ec0593bfda584860f961367d08c7280ec1a
kyber: fix integer overflow of latency targets on 32-bit

NSEC_PER_SEC has type long, so 5 * NSEC_PER_SEC is calculated as a long.
However, 5 seconds is 5,000,000,000 nanoseconds, which overflows a
32-bit long. Make sure all of the targets are calculated as 64-bit
values.

Fixes: d07781c3c9d0 ("kyber: implement improved heuristics")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/kyber-iosched.c