ipmi: fix unsigned long underflow
authorCorey Minyard <cminyard@mvista.com>
Sun, 30 Jul 2017 02:14:55 +0000 (21:14 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 24 Nov 2017 07:37:04 +0000 (08:37 +0100)
commit3a46857604044d129dd7ac35f913c50627d37c4e
treee4106564fbf3f6fc84aecfb80d83dafc76910d8a
parent44ec0aecc73dc3959bdbb6fa733c69dc0bb633f4
ipmi: fix unsigned long underflow

commit 392a17b10ec4320d3c0e96e2a23ebaad1123b989 upstream.

When I set the timeout to a specific value such as 500ms, the timeout
event will not happen in time due to the overflow in function
check_msg_timeout:
...
ent->timeout -= timeout_period;
if (ent->timeout > 0)
return;
...

The type of timeout_period is long, but ent->timeout is unsigned long.
This patch makes the type consistent.

Reported-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Tested-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/ipmi/ipmi_msghandler.c