platform/x86: think-lmi: Prevent underflow in index_store()

There needs to be a check to prevent negative offsets for
setting->index.  I have reviewed this code and I think that the
"if (block->instance_count <= instance)" check in __query_block() will
prevent this from resulting in an out of bounds access.  But it's
still worth fixing.

Fixes: 640a5fa50a ("platform/x86: think-lmi: Opcode support")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20211217071209.GF26548@kili
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
Dan Carpenter 2021-12-17 10:12:09 +03:00 committed by Hans de Goede
parent 855045873b
commit 72e4d07d94

View file

@ -573,7 +573,7 @@ static ssize_t index_store(struct kobject *kobj,
if (err < 0)
return err;
if (val > TLMI_INDEX_MAX)
if (val < 0 || val > TLMI_INDEX_MAX)
return -EINVAL;
setting->index = val;