Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
362e9c07
Commit
362e9c07
authored
Jan 14, 2009
by
Heiko Carstens
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[CVE-2009-0029] System call wrappers part 05
Signed-off-by:
Heiko Carstens
<
heiko.carstens@de.ibm.com
>
parent
b290ebe2
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
27 deletions
+21
-27
kernel/itimer.c
kernel/itimer.c
+2
-3
kernel/posix-timers.c
kernel/posix-timers.c
+19
-24
No files found.
kernel/itimer.c
View file @
362e9c07
...
...
@@ -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
;
...
...
kernel/posix-timers.c
View file @
362e9c07
...
...
@@ -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
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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