lkml.org 
[lkml]   [2011]   [May]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [Stable-review] [patch 31/38] ARM: 6891/1: prevent heap corruption in OABI semtimedop
On Thu, 2011-05-05 at 17:11 -0700, Greg KH wrote:
> 2.6.38-stable review patch. If anyone has any objections, please let us know.
>
> ------------------
>
> From: Dan Rosenberg <drosenberg@vsecurity.com>
>
> commit 0f22072ab50cac7983f9660d33974b45184da4f9 upstream.
>
> 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 <drosenberg@vsecurity.com>
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
>
> ---
> arch/arm/kernel/sys_oabi-compat.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/arch/arm/kernel/sys_oabi-compat.c
> +++ b/arch/arm/kernel/sys_oabi-compat.c
> @@ -311,7 +311,7 @@ asmlinkage long sys_oabi_semtimedop(int
> long err;
> int i;
>
> - if (nsops < 1)
> + if (nsops < 1 || nsops > SEMOPM)
> return -EINVAL;

It's not that important, but the manual page says the error code should
E2BIG in the latter case.

Ben.

--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2011-05-07 03:53    [W:0.197 / U:3.656 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site