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
Kirill Smelkov
linux
Commits
003d7ab4
Commit
003d7ab4
authored
Jan 14, 2009
by
Heiko Carstens
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[CVE-2009-0029] System call wrappers part 19
Signed-off-by:
Heiko Carstens
<
heiko.carstens@de.ibm.com
>
parent
a6b42e83
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
13 additions
and
12 deletions
+13
-12
fs/read_write.c
fs/read_write.c
+4
-4
fs/utimes.c
fs/utimes.c
+3
-2
kernel/uid16.c
kernel/uid16.c
+6
-6
No files found.
fs/read_write.c
View file @
003d7ab4
...
@@ -147,7 +147,7 @@ loff_t vfs_llseek(struct file *file, loff_t offset, int origin)
...
@@ -147,7 +147,7 @@ loff_t vfs_llseek(struct file *file, loff_t offset, int origin)
}
}
EXPORT_SYMBOL
(
vfs_llseek
);
EXPORT_SYMBOL
(
vfs_llseek
);
asmlinkage
long
sys_lseek
(
unsigned
int
fd
,
off_t
offset
,
unsigned
int
origin
)
SYSCALL_DEFINE3
(
lseek
,
unsigned
int
,
fd
,
off_t
,
offset
,
unsigned
int
,
origin
)
{
{
off_t
retval
;
off_t
retval
;
struct
file
*
file
;
struct
file
*
file
;
...
@@ -171,9 +171,9 @@ asmlinkage long sys_lseek(unsigned int fd, off_t offset, unsigned int origin)
...
@@ -171,9 +171,9 @@ asmlinkage long sys_lseek(unsigned int fd, off_t offset, unsigned int origin)
}
}
#ifdef __ARCH_WANT_SYS_LLSEEK
#ifdef __ARCH_WANT_SYS_LLSEEK
asmlinkage
long
sys_llseek
(
unsigned
int
fd
,
unsigned
long
offset_high
,
SYSCALL_DEFINE5
(
llseek
,
unsigned
int
,
fd
,
unsigned
long
,
offset_high
,
unsigned
long
offset_low
,
loff_t
__user
*
result
,
unsigned
long
,
offset_low
,
loff_t
__user
*
,
result
,
unsigned
int
origin
)
unsigned
int
,
origin
)
{
{
int
retval
;
int
retval
;
struct
file
*
file
;
struct
file
*
file
;
...
...
fs/utimes.c
View file @
003d7ab4
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
* must be owner or have write permission.
* must be owner or have write permission.
* Else, update from *times, must be owner or super user.
* Else, update from *times, must be owner or super user.
*/
*/
asmlinkage
long
sys_utime
(
char
__user
*
filename
,
struct
utimbuf
__user
*
times
)
SYSCALL_DEFINE2
(
utime
,
char
__user
*
,
filename
,
struct
utimbuf
__user
*
,
times
)
{
{
struct
timespec
tv
[
2
];
struct
timespec
tv
[
2
];
...
@@ -214,7 +214,8 @@ asmlinkage long sys_futimesat(int dfd, char __user *filename, struct timeval __u
...
@@ -214,7 +214,8 @@ asmlinkage long sys_futimesat(int dfd, char __user *filename, struct timeval __u
return
do_utimes
(
dfd
,
filename
,
utimes
?
tstimes
:
NULL
,
0
);
return
do_utimes
(
dfd
,
filename
,
utimes
?
tstimes
:
NULL
,
0
);
}
}
asmlinkage
long
sys_utimes
(
char
__user
*
filename
,
struct
timeval
__user
*
utimes
)
SYSCALL_DEFINE2
(
utimes
,
char
__user
*
,
filename
,
struct
timeval
__user
*
,
utimes
)
{
{
return
sys_futimesat
(
AT_FDCWD
,
filename
,
utimes
);
return
sys_futimesat
(
AT_FDCWD
,
filename
,
utimes
);
}
}
kernel/uid16.c
View file @
003d7ab4
...
@@ -162,7 +162,7 @@ static int groups16_from_user(struct group_info *group_info,
...
@@ -162,7 +162,7 @@ static int groups16_from_user(struct group_info *group_info,
return
0
;
return
0
;
}
}
asmlinkage
long
sys_getgroups16
(
int
gidsetsize
,
old_gid_t
__user
*
grouplist
)
SYSCALL_DEFINE2
(
getgroups16
,
int
,
gidsetsize
,
old_gid_t
__user
*
,
grouplist
)
{
{
const
struct
cred
*
cred
=
current_cred
();
const
struct
cred
*
cred
=
current_cred
();
int
i
;
int
i
;
...
@@ -185,7 +185,7 @@ asmlinkage long sys_getgroups16(int gidsetsize, old_gid_t __user *grouplist)
...
@@ -185,7 +185,7 @@ asmlinkage long sys_getgroups16(int gidsetsize, old_gid_t __user *grouplist)
return
i
;
return
i
;
}
}
asmlinkage
long
sys_setgroups16
(
int
gidsetsize
,
old_gid_t
__user
*
grouplist
)
SYSCALL_DEFINE2
(
setgroups16
,
int
,
gidsetsize
,
old_gid_t
__user
*
,
grouplist
)
{
{
struct
group_info
*
group_info
;
struct
group_info
*
group_info
;
int
retval
;
int
retval
;
...
@@ -210,22 +210,22 @@ asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist)
...
@@ -210,22 +210,22 @@ asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist)
return
retval
;
return
retval
;
}
}
asmlinkage
long
sys_getuid16
(
void
)
SYSCALL_DEFINE0
(
getuid16
)
{
{
return
high2lowuid
(
current_uid
());
return
high2lowuid
(
current_uid
());
}
}
asmlinkage
long
sys_geteuid16
(
void
)
SYSCALL_DEFINE0
(
geteuid16
)
{
{
return
high2lowuid
(
current_euid
());
return
high2lowuid
(
current_euid
());
}
}
asmlinkage
long
sys_getgid16
(
void
)
SYSCALL_DEFINE0
(
getgid16
)
{
{
return
high2lowgid
(
current_gid
());
return
high2lowgid
(
current_gid
());
}
}
asmlinkage
long
sys_getegid16
(
void
)
SYSCALL_DEFINE0
(
getegid16
)
{
{
return
high2lowgid
(
current_egid
());
return
high2lowgid
(
current_egid
());
}
}
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