Re: [PATCH 6/8] Use __kernel_ulong_t in x86 struct semid64_ds

From: H.J. Lu
Date: Tue Jan 21 2014 - 13:06:24 EST


On Tue, Jan 21, 2014 at 9:10 AM, Catalin Marinas
<catalin.marinas@xxxxxxx> wrote:
> On Fri, Dec 27, 2013 at 05:25:10PM +0000, H.J. Lu wrote:
>> Both x32 and x86-64 use the same struct semid64_ds for system calls.
>> But x32 long is 32-bit. This patch replaces unsigned long with
>> __kernel_ulong_t in x86 struct semid64_ds.
>>
>> Signed-off-by: H.J. Lu <hjl.tools@xxxxxxxxx>
>> ---
>> arch/x86/include/uapi/asm/sembuf.h | 10 +++++-----
>> 1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/arch/x86/include/uapi/asm/sembuf.h b/arch/x86/include/uapi/asm/sembuf.h
>> index ee50c80..cc2d6a3 100644
>> --- a/arch/x86/include/uapi/asm/sembuf.h
>> +++ b/arch/x86/include/uapi/asm/sembuf.h
>> @@ -13,12 +13,12 @@
>> struct semid64_ds {
>> struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
>> __kernel_time_t sem_otime; /* last semop time */
>> - unsigned long __unused1;
>> + __kernel_ulong_t __unused1;
>> __kernel_time_t sem_ctime; /* last change time */
>> - unsigned long __unused2;
>> - unsigned long sem_nsems; /* no. of semaphores in array */
>> - unsigned long __unused3;
>> - unsigned long __unused4;
>> + __kernel_ulong_t __unused2;
>> + __kernel_ulong_t sem_nsems; /* no. of semaphores in array */
>> + __kernel_ulong_t __unused3;
>> + __kernel_ulong_t __unused4;
>> };
>
> Since you are at this, could you please change the
> include/uapi/asm-generic/sembuf.h structure as well?
>

I could, but my build doesn't use that header file. I prefer not to
change something I can't test.

I am enclosing a program to check kernel uabi header files
against glibc header files. You can try it on ILP32 ARM64.

--
H.J.

Attachment: uapi-header-check.tar.xz
Description: application/xz