[PATCH] change compat shmget size arg to signed

Stephen Rothwell sfr at canb.auug.org.au
Fri Feb 24 10:16:44 EST 2006


Hi Olaf,

> change second arg (the 'size') to signed to handle a size of -1.
> ltp test shmget02 fails. This patch fixes it.
> Oddly, we see the failure only on a POWER4 LPAR with 4.6G ram.
> 
> Signed-off-by: Olaf Hering <olh at suse.de>
> 
>  arch/powerpc/kernel/sys_ppc32.c |    2 +-
>  1 files changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-2.6.16-rc4-olh/arch/powerpc/kernel/sys_ppc32.c
> ===================================================================
> --- linux-2.6.16-rc4-olh.orig/arch/powerpc/kernel/sys_ppc32.c
> +++ linux-2.6.16-rc4-olh/arch/powerpc/kernel/sys_ppc32.c
> @@ -429,7 +429,7 @@ long compat_sys_ipc(u32 call, u32 first,
>  		return sys_shmdt(compat_ptr(ptr));
>  	case SHMGET:
>  		/* sign extend key_t */
> -		return sys_shmget((int)first, second, third);
> +		return sys_shmget((int)first, (int)second, third);
>  	case SHMCTL:
>  		/* sign extend shmid */
>  		return compat_sys_shmctl((int)first, second, compat_ptr(ptr));

Does the ltp test fail on a standard kernel(where SHMMAX is 0x2000000), or
only on a SLES kernel (where SHMMAX is ULONG_MAX)?

-- 
Cheers,
Stephen Rothwell                    sfr at canb.auug.org.au
http://www.canb.auug.org.au/~sfr/



More information about the Linuxppc64-dev mailing list