This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Use __syscall_ulong_t for __cpu_mask
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>, libc-alpha at sourceware dot org
- Date: Tue, 1 Dec 2015 11:07:18 -0500
- Subject: Re: [PATCH] Use __syscall_ulong_t for __cpu_mask
- Authentication-results: sourceware.org; auth=none
- References: <1448909195-12575-1-git-send-email-hjl dot tools at gmail dot com>
On 11/30/2015 01:46 PM, H.J. Lu wrote:
> Since x86-64 and x32 use the same set of sched_XXX system call
> interface:
>
> [hjl@gnu-6 linux-stable]$ grep sched_
> arch/x86/entry/syscalls/syscall_64.tbl
> 24 common sched_yield sys_sched_yield
> 142 common sched_setparam sys_sched_setparam
> 143 common sched_getparam sys_sched_getparam
> 144 common sched_setscheduler sys_sched_setscheduler
> 145 common sched_getscheduler sys_sched_getscheduler
> 146 common sched_get_priority_max sys_sched_get_priority_max
> 147 common sched_get_priority_min sys_sched_get_priority_min
> 148 common sched_rr_get_interval sys_sched_rr_get_interval
> 203 common sched_setaffinity sys_sched_setaffinity
> 204 common sched_getaffinity sys_sched_getaffinity
> 314 common sched_setattr sys_sched_setattr
> 315 common sched_getattr sys_sched_getattr
> [hjl@gnu-6 linux-stable]$
>
> __cpu_mask should be __syscall_ulong_t.
>
> [BZ #19313]
> * sysdeps/unix/sysv/linux/bits/sched.h (__cpu_mask): Replace
> unsigned long int with __syscall_ulong_t.
How did you test this?
> ---
> sysdeps/unix/sysv/linux/bits/sched.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h
> index ae089df..27d87c4 100644
> --- a/sysdeps/unix/sysv/linux/bits/sched.h
> +++ b/sysdeps/unix/sysv/linux/bits/sched.h
> @@ -115,7 +115,7 @@ struct __sched_param
> # define __NCPUBITS (8 * sizeof (__cpu_mask))
>
> /* Type for array elements in 'cpu_set_t'. */
> -typedef unsigned long int __cpu_mask;
> +typedef __syscall_ulong_t __cpu_mask;
>
> /* Basic access functions. */
> # define __CPUELT(cpu) ((cpu) / __NCPUBITS)
>