arm: prevent heap corruption in OABI semtimedop
PATCH 1/1 arm: prevent heap corruption in OABI semtimedop
When CONFIG_OABI_COMPAT is set, the wrapper for semtimedop does not bound the nsops argument. A sufficiently large value will cause an integer overflow in allocation size, followed by copying too much data into the allocated buffer. Fix this by restricting nsops to SEMOPM. Untested.
Signed-off-by Dan Rosenberg <[email protected]>
Cc stable at kernel.org
--- arch/arm/kernel/sys_oabi-compat.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/kernel/sys_oabi-compat.c +1 -1
@@ -311,7 +311,7 @@ asmlinkage long sys_oabi_semtimedop(int semid,long err;int i; -if (nsops <1 ) +if (nsops <1 || nsops >SEMOPM )return -EINVAL ; sops =kmalloc (sizeof (*sops) * nsops,GFP_KERNEL );if (!sops)