Skip to contentSkip to conversation

dlm: use 64-bit arithmetic instead of 32-bit

PATCH New Gustavo A. R. Silva 1 participant 1 message Jul 4, 2018 Distributed lock manager (DLM)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dlm: use 64-bit arithmetic instead of 32-bit

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")

---
 fs/dlm/lock.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fs/dlm/lock.c +1 -1
index cc91963..a3939b2 100644
@@ -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)
Signature · 1 line
2.7.4