From 8315bfdd0f3f58f397eb65c2cef747c536825caf Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sun, 14 May 2017 03:49:39 +0000 Subject: [PATCH] scst_vdisk: Avoid shifting left by a negative number of bits scst_calc_block_shift() can return a negative number. Hence avoid 1 << scst_calc_block_shift(). Detected by Coverity. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7180 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scst/src/dev_handlers/scst_vdisk.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scst/src/dev_handlers/scst_vdisk.c b/scst/src/dev_handlers/scst_vdisk.c index 6a32a3189..bf0a8fc5e 100644 --- a/scst/src/dev_handlers/scst_vdisk.c +++ b/scst/src/dev_handlers/scst_vdisk.c @@ -8133,7 +8133,7 @@ static int vdev_parse_add_dev_params(struct scst_vdisk_dev *virt_dev, } else if (!strcasecmp("blocksize", p)) { virt_dev->blk_shift = scst_calc_block_shift(val); if (virt_dev->blk_shift < 9) { - PRINT_ERROR("blocksize %u too small", 1<blk_shift); + PRINT_ERROR("blocksize %llu too small", val); res = -EINVAL; goto out; } @@ -10377,7 +10377,8 @@ static int vdisk_write_proc(char *buffer, char **start, off_t offset, block_shift = scst_calc_block_shift(block_size); if (block_shift < 9) { - PRINT_ERROR("blocksize %u too small", 1<