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

2014-01-22 Thread H. Peter Anvin
On 01/22/2014 06:57 AM, Catalin Marinas wrote:
> 
> Thanks, very useful. We'll give it a try when we get there. So far I
> NAK'ed the first set of arm64 ILP32 patches as they were mostly using
> the compat ABI (https://lkml.org/lkml/2013/9/9/502).
> 

That's mostly where we started out, too.

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2014-01-22 Thread Catalin Marinas
On Tue, Jan 21, 2014 at 06:06:11PM +, H.J. Lu wrote:
> On Tue, Jan 21, 2014 at 9:10 AM, Catalin Marinas
>  wrote:
> > On Fri, Dec 27, 2013 at 05:25:10PM +, 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 
> >> ---
> >>  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.

OK, it makes sense.

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

Thanks, very useful. We'll give it a try when we get there. So far I
NAK'ed the first set of arm64 ILP32 patches as they were mostly using
the compat ABI (https://lkml.org/lkml/2013/9/9/502).

-- 
Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2014-01-21 Thread H.J. Lu
On Tue, Jan 21, 2014 at 9:10 AM, Catalin Marinas
 wrote:
> On Fri, Dec 27, 2013 at 05:25:10PM +, 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 
>> ---
>>  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.


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


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

2014-01-21 Thread Catalin Marinas
On Fri, Dec 27, 2013 at 05:25:10PM +, 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 
> ---
>  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?

-- 
Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2013-12-27 Thread H.J. Lu
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 
---
 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;
 };
 
 #endif /* _ASM_X86_SEMBUF_H */
-- 
1.8.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2013-12-27 Thread H.J. Lu
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 
---
 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;
 };
 
 #endif /* _ASM_X86_SEMBUF_H */
-- 
1.8.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/