Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
xcap
xcap-capability-linux
Commits
d1abb6a2
Commit
d1abb6a2
authored
Feb 16, 2005
by
Ralf Baechle
Browse files
32-bit compatibility for various timer-related system calls.
Signed-off-by:
Ralf Baechle
<
ralf@linux-mips.org
>
parent
a982099c
Changes
3
Hide whitespace changes
Inline
Side-by-side
arch/mips/kernel/linux32.c
View file @
d1abb6a2
...
...
@@ -1418,3 +1418,53 @@ asmlinkage long sys32_socketcall(int call, unsigned int *args32)
}
return
err
;
}
struct
sigevent32
{
u32
sigev_value
;
u32
sigev_signo
;
u32
sigev_notify
;
u32
payload
[(
64
/
4
)
-
3
];
};
extern
asmlinkage
long
sys_timer_create
(
clockid_t
which_clock
,
struct
sigevent
__user
*
timer_event_spec
,
timer_t
__user
*
created_timer_id
);
long
sys32_timer_create
(
u32
clock
,
struct
sigevent32
__user
*
se32
,
timer_t
__user
*
timer_id
)
{
struct
sigevent
__user
*
p
=
NULL
;
if
(
se32
)
{
struct
sigevent
se
;
p
=
compat_alloc_user_space
(
sizeof
(
struct
sigevent
));
memset
(
&
se
,
0
,
sizeof
(
struct
sigevent
));
if
(
get_user
(
se
.
sigev_value
.
sival_int
,
&
se32
->
sigev_value
)
||
__get_user
(
se
.
sigev_signo
,
&
se32
->
sigev_signo
)
||
__get_user
(
se
.
sigev_notify
,
&
se32
->
sigev_notify
)
||
__copy_from_user
(
&
se
.
_sigev_un
.
_pad
,
&
se32
->
payload
,
sizeof
(
se32
->
payload
))
||
copy_to_user
(
p
,
&
se
,
sizeof
(
se
)))
return
-
EFAULT
;
}
return
sys_timer_create
(
clock
,
p
,
timer_id
);
}
asmlinkage
long
sysn32_rt_sigtimedwait
(
const
sigset_t
__user
*
uthese
,
siginfo_t
__user
*
uinfo
,
const
struct
compat_timespec
__user
*
uts32
,
size_t
sigsetsize
)
{
struct
timespec
__user
*
uts
=
NULL
;
if
(
uts32
)
{
struct
timespec
ts
;
uts
=
compat_alloc_user_space
(
sizeof
(
struct
timespec
));
if
(
get_user
(
ts
.
tv_sec
,
&
uts32
->
tv_sec
)
||
get_user
(
ts
.
tv_nsec
,
&
uts32
->
tv_nsec
)
||
copy_to_user
(
uts
,
&
ts
,
sizeof
(
ts
)))
return
-
EFAULT
;
}
return
sys_rt_sigtimedwait
(
uthese
,
uinfo
,
uts
,
sigsetsize
);
}
arch/mips/kernel/scall64-n32.S
View file @
d1abb6a2
...
...
@@ -243,8 +243,8 @@ EXPORT(sysn32_call_table)
PTR
sys_capget
PTR
sys_capset
PTR
sys32_rt_sigpending
/*
6125
*/
PTR
compat_
sys_rt_sigtimedwait
PTR
sys
32
_rt_sigqueueinfo
PTR
sys
n32
_rt_sigtimedwait
PTR
sys_rt_sigqueueinfo
PTR
sys32_rt_sigsuspend
PTR
sys32_sigaltstack
PTR
compat_sys_utime
/*
6130
*/
...
...
@@ -337,15 +337,15 @@ EXPORT(sysn32_call_table)
PTR
compat_sys_statfs64
PTR
compat_sys_fstatfs64
PTR
sys_sendfile64
PTR
sys_timer_create
/*
6220
*/
PTR
sys_timer_settime
PTR
sys_timer_gettime
PTR
sys
32
_timer_create
/*
6220
*/
PTR
compat_
sys_timer_settime
PTR
compat_
sys_timer_gettime
PTR
sys_timer_getoverrun
PTR
sys_timer_delete
PTR
sys_clock_settime
/*
6225
*/
PTR
sys_clock_gettime
PTR
sys_clock_getres
PTR
sys_clock_nanosleep
PTR
compat_
sys_clock_settime
/*
6225
*/
PTR
compat_
sys_clock_gettime
PTR
compat_
sys_clock_getres
PTR
compat_
sys_clock_nanosleep
PTR
sys_tgkill
PTR
compat_sys_utimes
/*
6230
*/
PTR
sys_ni_syscall
/*
sys_mbind
*/
...
...
arch/mips/kernel/scall64-o32.S
View file @
d1abb6a2
...
...
@@ -459,7 +459,7 @@ sys_call_table:
PTR
sys_fadvise64_64
PTR
compat_sys_statfs64
/*
4255
*/
PTR
compat_sys_fstatfs64
PTR
sys_timer_create
PTR
sys
32
_timer_create
PTR
compat_sys_timer_settime
PTR
compat_sys_timer_gettime
PTR
sys_timer_getoverrun
/*
4260
*/
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment