This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] aarch64: Fix ipc_perm definition for ILP32


On 22/08/17 18:46, Steve Ellcey wrote:
> Here is another aarch64 ILP32 patch.  The mode field in ipc_perm in ILP32
> should be a 16 bit field, not a 32 bit one.  This was out-of-sync with what the
> kernel had.  This was causing sysvipc/test-sysvsem to fail in ILP32 mode.
> This change is only needed for ILP32 so it doesn't need to go in until we add
> that ABI but I am sending out for review and comments.
> 
> 2017-08-22  Yury Norov  <ynorov@caviumnetworks.com>
> 	    Steve Ellcey  <sellcey@cavium.com>
> 
> 	* sysdeps/unix/sysv/linux/aarch64/bits/ipc.h (ipc_perm):
> 	Ifdef and pad the mode field for ILP32.
> 
> 
> diff --git a/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h b/sysdeps/unix/sysv/linu
> x/aarch64/bits/ipc.h
> index cd1f06e..cd05b74 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h
> +++ b/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h
> @@ -46,7 +46,12 @@ struct ipc_perm
>      __gid_t gid;			/* Owner's group ID.  */
>      __uid_t cuid;			/* Creator's user ID.  */
>      __gid_t cgid;			/* Creator's group ID.  */
> +#ifdef __LP64
>      unsigned int mode;			/* Read/write permission.  */
> +#else
> +    unsigned short int mode;		/* Read/write permission.  */
> +    unsigned short int __pad0;
> +#endif

when did this happen?

as far as i can tell staging/ilp32-4.12 branch in
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git
still has unsigned int __kernel_mode_t in uapi, so this is
an abi change compared to that branch.

i guess it's for 32bit compat, but i'd like to see the
kernel patch for this.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]