From ac95ef947173dc8dd8a5e22c06d3d7b2bd8d1c52 Mon Sep 17 00:00:00 2001 From: Colin Ian King Date: Thu, 1 Dec 2016 00:03:33 +0000 Subject: [PATCH] ipc/sem: ensure we left shift a ULL rather than a 32 bit integer The left shift amount is sop->sem_num % 64, which is up to 63, so ensure we are shifting a ULL rather than a 32 bit value. CoverityScan CID#1372862 "Bad bit shift operation" Fixes: 7c24530cb4e3c0ae ("ipc/sem: optimize perform_atomic_semop()") Link: http://lkml.kernel.org/r/20161028181129.7311-1-colin.king@canonical.com Signed-off-by: Colin Ian King Cc: Davidlohr Bueso Cc: Manfred Spraul Signed-off-by: Andrew Morton --- ipc/sem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipc/sem.c b/ipc/sem.c index 55107f2177b314..6633915f43801e 100644 --- a/ipc/sem.c +++ b/ipc/sem.c @@ -1850,7 +1850,7 @@ SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsops, max = 0; for (sop = sops; sop < sops + nsops; sop++) { - unsigned long mask = 1 << ((sop->sem_num) % BITS_PER_LONG); + unsigned long mask = 1ULL << ((sop->sem_num) % BITS_PER_LONG); if (sop->sem_num >= max) max = sop->sem_num;