diff --git a/fs/locks.c b/fs/locks.c
index 545e79d6eb70b9648766d5efff2adac1339e1ed1..9dc72fda5e4ecb4b55c4218ee212fc0272447d99 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -479,7 +479,7 @@ static int flock64_to_posix_lock(struct file *filp, struct file_lock *fl,
 	if (l->l_len > 0) {
 		if (l->l_len - 1 > OFFSET_MAX - fl->fl_start)
 			return -EOVERFLOW;
-		fl->fl_end = fl->fl_start + l->l_len - 1;
+		fl->fl_end = fl->fl_start + (l->l_len - 1);
 
 	} else if (l->l_len < 0) {
 		if (fl->fl_start + l->l_len < 0)