mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
[CVE-2009-0029] System call wrappers part 05
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
parent
b290ebe2c4
commit
362e9c07c7
2 changed files with 21 additions and 27 deletions
|
@ -260,9 +260,8 @@ unsigned int alarm_setitimer(unsigned int seconds)
|
|||
return it_old.it_value.tv_sec;
|
||||
}
|
||||
|
||||
asmlinkage long sys_setitimer(int which,
|
||||
struct itimerval __user *value,
|
||||
struct itimerval __user *ovalue)
|
||||
SYSCALL_DEFINE3(setitimer, int, which, struct itimerval __user *, value,
|
||||
struct itimerval __user *, ovalue)
|
||||
{
|
||||
struct itimerval set_buffer, get_buffer;
|
||||
int error;
|
||||
|
|
|
@ -477,10 +477,9 @@ static void release_posix_timer(struct k_itimer *tmr, int it_id_set)
|
|||
|
||||
/* Create a POSIX.1b interval timer. */
|
||||
|
||||
asmlinkage long
|
||||
sys_timer_create(const clockid_t which_clock,
|
||||
struct sigevent __user *timer_event_spec,
|
||||
timer_t __user * created_timer_id)
|
||||
SYSCALL_DEFINE3(timer_create, const clockid_t, which_clock,
|
||||
struct sigevent __user *, timer_event_spec,
|
||||
timer_t __user *, created_timer_id)
|
||||
{
|
||||
struct k_itimer *new_timer;
|
||||
int error, new_timer_id;
|
||||
|
@ -661,8 +660,8 @@ common_timer_get(struct k_itimer *timr, struct itimerspec *cur_setting)
|
|||
}
|
||||
|
||||
/* Get the time remaining on a POSIX.1b interval timer. */
|
||||
asmlinkage long
|
||||
sys_timer_gettime(timer_t timer_id, struct itimerspec __user *setting)
|
||||
SYSCALL_DEFINE2(timer_gettime, timer_t, timer_id,
|
||||
struct itimerspec __user *, setting)
|
||||
{
|
||||
struct k_itimer *timr;
|
||||
struct itimerspec cur_setting;
|
||||
|
@ -691,8 +690,7 @@ sys_timer_gettime(timer_t timer_id, struct itimerspec __user *setting)
|
|||
* the call back to do_schedule_next_timer(). So all we need to do is
|
||||
* to pick up the frozen overrun.
|
||||
*/
|
||||
asmlinkage long
|
||||
sys_timer_getoverrun(timer_t timer_id)
|
||||
SYSCALL_DEFINE1(timer_getoverrun, timer_t, timer_id)
|
||||
{
|
||||
struct k_itimer *timr;
|
||||
int overrun;
|
||||
|
@ -760,10 +758,9 @@ common_timer_set(struct k_itimer *timr, int flags,
|
|||
}
|
||||
|
||||
/* Set a POSIX.1b interval timer */
|
||||
asmlinkage long
|
||||
sys_timer_settime(timer_t timer_id, int flags,
|
||||
const struct itimerspec __user *new_setting,
|
||||
struct itimerspec __user *old_setting)
|
||||
SYSCALL_DEFINE4(timer_settime, timer_t, timer_id, int, flags,
|
||||
const struct itimerspec __user *, new_setting,
|
||||
struct itimerspec __user *, old_setting)
|
||||
{
|
||||
struct k_itimer *timr;
|
||||
struct itimerspec new_spec, old_spec;
|
||||
|
@ -816,8 +813,7 @@ static inline int timer_delete_hook(struct k_itimer *timer)
|
|||
}
|
||||
|
||||
/* Delete a POSIX.1b interval timer. */
|
||||
asmlinkage long
|
||||
sys_timer_delete(timer_t timer_id)
|
||||
SYSCALL_DEFINE1(timer_delete, timer_t, timer_id)
|
||||
{
|
||||
struct k_itimer *timer;
|
||||
unsigned long flags;
|
||||
|
@ -903,8 +899,8 @@ int do_posix_clock_nonanosleep(const clockid_t clock, int flags,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(do_posix_clock_nonanosleep);
|
||||
|
||||
asmlinkage long sys_clock_settime(const clockid_t which_clock,
|
||||
const struct timespec __user *tp)
|
||||
SYSCALL_DEFINE2(clock_settime, const clockid_t, which_clock,
|
||||
const struct timespec __user *, tp)
|
||||
{
|
||||
struct timespec new_tp;
|
||||
|
||||
|
@ -916,8 +912,8 @@ asmlinkage long sys_clock_settime(const clockid_t which_clock,
|
|||
return CLOCK_DISPATCH(which_clock, clock_set, (which_clock, &new_tp));
|
||||
}
|
||||
|
||||
asmlinkage long
|
||||
sys_clock_gettime(const clockid_t which_clock, struct timespec __user *tp)
|
||||
SYSCALL_DEFINE2(clock_gettime, const clockid_t, which_clock,
|
||||
struct timespec __user *,tp)
|
||||
{
|
||||
struct timespec kernel_tp;
|
||||
int error;
|
||||
|
@ -933,8 +929,8 @@ sys_clock_gettime(const clockid_t which_clock, struct timespec __user *tp)
|
|||
|
||||
}
|
||||
|
||||
asmlinkage long
|
||||
sys_clock_getres(const clockid_t which_clock, struct timespec __user *tp)
|
||||
SYSCALL_DEFINE2(clock_getres, const clockid_t, which_clock,
|
||||
struct timespec __user *, tp)
|
||||
{
|
||||
struct timespec rtn_tp;
|
||||
int error;
|
||||
|
@ -963,10 +959,9 @@ static int common_nsleep(const clockid_t which_clock, int flags,
|
|||
which_clock);
|
||||
}
|
||||
|
||||
asmlinkage long
|
||||
sys_clock_nanosleep(const clockid_t which_clock, int flags,
|
||||
const struct timespec __user *rqtp,
|
||||
struct timespec __user *rmtp)
|
||||
SYSCALL_DEFINE4(clock_nanosleep, const clockid_t, which_clock, int, flags,
|
||||
const struct timespec __user *, rqtp,
|
||||
struct timespec __user *, rmtp)
|
||||
{
|
||||
struct timespec t;
|
||||
|
||||
|
|
Loading…
Reference in a new issue