[PATCH] dlm: use 64-bit arithmetic instead of 32-bit

Gustavo A. R. Silva
2018-07-04T14:44:02Z

Add suffix LL to constant 10000 in order to give the compiler
complete information about the proper arithmetic to use.

Notice that such constant is used in a context that expects an
expression of type s64 (64 bits, signed) and the following
expression is currently being evaluated using 32-bit arithmetic:

dlm_config.ci_timewarn_cs * 10000

Addresses-Coverity-ID: 200667 ("Unintentional integer overflow")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
fs/dlm/lock.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index cc91963..a3939b2 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -1876,7 +1876,7 @@ void dlm_scan_timeout(struct dlm_ls *ls)
do_cancel = 1;

if ((lkb->lkb_flags & DLM_IFL_WATCH_TIMEWARN) &&
- wait_us >= dlm_config.ci_timewarn_cs * 10000)
+ wait_us >= dlm_config.ci_timewarn_cs * 10000LL)
do_warn = 1;

if (!do_cancel && !do_warn)
--
2.7.4