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
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