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

From: Gustavo A. R. Silva
Date: Wed Jul 04 2018 - 10:44:02 EST


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@xxxxxxxxxxxxxx>
---
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