On Mon, May 09, 2011 at 10:09:19PM +0200, Jesper Juhl wrote:
> On Sat, 7 May 2011, Ben Hutchings wrote:
> 
> > On Thu, 2011-05-05 at 17:11 -0700, Greg KH wrote:
[...]
> > > - 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.
> > 
> 
> So something like this...
> 
> Return correct error (E2BIG) when nsops is greater than SEMOPM in 
> sys_oabi_semtimedop. The man page (semtimedop(2)) lists this as the proper 
> error in ths case: 
> "E2BIG  The argument nsops is greater than SEMOPM, the maximum number of 
> operations allowed per system call."

Looks right to me, not that I can test it.

Ben.

> Signed-off-by: Jesper Juhl <[email protected]>
> Reported-by: Ben Hutchings <[email protected]>
> --
>  sys_oabi-compat.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/kernel/sys_oabi-compat.c 
> b/arch/arm/kernel/sys_oabi-compat.c
> index af0aaeb..c196ad7 100644
> --- a/arch/arm/kernel/sys_oabi-compat.c
> +++ b/arch/arm/kernel/sys_oabi-compat.c
> @@ -311,8 +311,10 @@ asmlinkage long sys_oabi_semtimedop(int semid,
>       long err;
>       int i;
>  
> -     if (nsops < 1 || nsops > SEMOPM)
> +     if (nsops < 1)
>               return -EINVAL;
> +     else if (nsops > SEMOPM)
> +             return -E2BIG;
>       sops = kmalloc(sizeof(*sops) * nsops, GFP_KERNEL);
>       if (!sops)
>               return -ENOMEM;
> 
> 
-- 
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
                                                              - Albert Camus

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to