]> git.baikalelectronics.ru Git - kernel.git/commit
rbd: check for overflow in rbd_get_num_segments()
authorAlex Elder <elder@inktank.com>
Thu, 10 Jan 2013 18:56:58 +0000 (12:56 -0600)
committerAlex Elder <elder@inktank.com>
Fri, 25 Jan 2013 23:33:14 +0000 (17:33 -0600)
commit6323fce283d4dc92bd662f22ec66cb91117deb6e
treed69c8ed51d926b9bc79b2e7a6c078be3d79cb55f
parentb4dc26fcc36fd37538315ee39e94ea97fb144a4b
rbd: check for overflow in rbd_get_num_segments()

The return type of rbd_get_num_segments() is int, but the values it
operates on are u64.  Although it's not likely, there's no guarantee
the result won't exceed what can be respresented in an int.  The
function is already designed to return -ERANGE on error, so just add
this possible overflow as another reason to return that.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
drivers/block/rbd.c