diff mbox series

block: Fix implicit unsigned to signed conversion

Message ID 20190918103828.257631-1-balsini@android.com (mailing list archive)
State New, archived
Headers show
Series block: Fix implicit unsigned to signed conversion | expand

Commit Message

Alessio Balsini Sept. 18, 2019, 10:38 a.m. UTC
An unsigned integer variable may be assigned negative values, and is
returned by the function with an implicit conversion to signed.  Besides
the implicit conversion at return time for which the variable
representation is fine and there is no variable manipulation that may
lead to bugs in the current code base, this is a conceptual error.

Fix by changing the variable type from unsigned to signed.

Signed-off-by: Alessio Balsini <balsini@android.com>
Cc: Jens Axboe <axboe@kernel.dk>
---
 block/blk-settings.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Chaitanya Kulkarni Sept. 18, 2019, 7:38 p.m. UTC | #1
Since this is a conceptual error and will not cause any bug
not sure if this needed as things are not leading to any bugs.

However cleanup is helpful in avoiding any confusion.

Looks good to me.

Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>

On 09/18/2019 03:39 AM, Alessio Balsini wrote:
> An unsigned integer variable may be assigned negative values, and is
> returned by the function with an implicit conversion to signed.  Besides
> the implicit conversion at return time for which the variable
> representation is fine and there is no variable manipulation that may
> lead to bugs in the current code base, this is a conceptual error.
>
> Fix by changing the variable type from unsigned to signed.
>
> Signed-off-by: Alessio Balsini<balsini@android.com>
> Cc: Jens Axboe<axboe@kernel.dk>
diff mbox series

Patch

diff --git a/block/blk-settings.c b/block/blk-settings.c
index 6bd1e3b082d8..c76c25c45869 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -496,7 +496,8 @@  EXPORT_SYMBOL(blk_queue_stack_limits);
 int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
 		     sector_t start)
 {
-	unsigned int top, bottom, alignment, ret = 0;
+	unsigned int top, bottom, alignment;
+	int ret = 0;
 
 	t->max_sectors = min_not_zero(t->max_sectors, b->max_sectors);
 	t->max_hw_sectors = min_not_zero(t->max_hw_sectors, b->max_hw_sectors);