Messages in this thread Patch in this message | | | From | Weilong Chen <> | Subject | [PATCH] ipmi: fix unsigned long overflow | Date | Sat, 29 Jul 2017 10:42:41 +0800 |
| |
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.
Signed-off-by: Weilong Chen <chenweilong@huawei.com> --- drivers/char/ipmi/ipmi_msghandler.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c index 810b138..4c806e9 100644 --- a/drivers/char/ipmi/ipmi_msghandler.c +++ b/drivers/char/ipmi/ipmi_msghandler.c @@ -135,8 +135,8 @@ struct seq_table { unsigned int inuse : 1; unsigned int broadcast : 1; - unsigned long timeout; - unsigned long orig_timeout; + long timeout; + long orig_timeout; unsigned int retries_left; /* -- 1.8.3.1
| |