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
cdce088e
Commit
cdce088e
authored
Sep 08, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
http://lia64.bkbits.net/to-linus-2.5
into home.osdl.org:/home/torvalds/v2.5/linux
parents
412a1123
a096638b
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
91 additions
and
72 deletions
+91
-72
arch/i386/kernel/reboot.c
arch/i386/kernel/reboot.c
+1
-1
fs/eventpoll.c
fs/eventpoll.c
+24
-17
fs/ext2/symlink.c
fs/ext2/symlink.c
+2
-1
fs/fat/file.c
fs/fat/file.c
+4
-4
fs/proc/generic.c
fs/proc/generic.c
+12
-11
fs/proc/kcore.c
fs/proc/kcore.c
+3
-2
fs/proc/kmsg.c
fs/proc/kmsg.c
+4
-4
fs/proc/proc_misc.c
fs/proc/proc_misc.c
+7
-7
fs/ufs/namei.c
fs/ufs/namei.c
+4
-2
fs/xattr.c
fs/xattr.c
+22
-16
include/linux/cpufreq.h
include/linux/cpufreq.h
+1
-1
include/linux/eventpoll.h
include/linux/eventpoll.h
+4
-3
include/linux/writeback.h
include/linux/writeback.h
+2
-2
kernel/sysctl.c
kernel/sysctl.c
+1
-1
No files found.
arch/i386/kernel/reboot.c
View file @
cdce088e
...
@@ -251,7 +251,7 @@ void machine_restart(char * __unused)
...
@@ -251,7 +251,7 @@ void machine_restart(char * __unused)
* other OSs see a clean IRQ state.
* other OSs see a clean IRQ state.
*/
*/
smp_send_stop
();
smp_send_stop
();
#elif
CONFIG_X86_LOCAL_APIC
#elif
defined(CONFIG_X86_LOCAL_APIC)
if
(
cpu_has_apic
)
{
if
(
cpu_has_apic
)
{
local_irq_disable
();
local_irq_disable
();
disable_local_APIC
();
disable_local_APIC
();
...
...
fs/eventpoll.c
View file @
cdce088e
...
@@ -288,8 +288,10 @@ static int ep_getfd(int *efd, struct inode **einode, struct file **efile);
...
@@ -288,8 +288,10 @@ static int ep_getfd(int *efd, struct inode **einode, struct file **efile);
static
int
ep_alloc_pages
(
char
**
pages
,
int
numpages
);
static
int
ep_alloc_pages
(
char
**
pages
,
int
numpages
);
static
int
ep_free_pages
(
char
**
pages
,
int
numpages
);
static
int
ep_free_pages
(
char
**
pages
,
int
numpages
);
static
int
ep_file_init
(
struct
file
*
file
,
unsigned
int
hashbits
);
static
int
ep_file_init
(
struct
file
*
file
,
unsigned
int
hashbits
);
static
unsigned
int
ep_hash_index
(
struct
eventpoll
*
ep
,
struct
file
*
file
,
int
fd
);
static
unsigned
int
ep_hash_index
(
struct
eventpoll
*
ep
,
struct
file
*
file
,
static
struct
list_head
*
ep_hash_entry
(
struct
eventpoll
*
ep
,
unsigned
int
index
);
int
fd
);
static
struct
list_head
*
ep_hash_entry
(
struct
eventpoll
*
ep
,
unsigned
int
index
);
static
int
ep_init
(
struct
eventpoll
*
ep
,
unsigned
int
hashbits
);
static
int
ep_init
(
struct
eventpoll
*
ep
,
unsigned
int
hashbits
);
static
void
ep_free
(
struct
eventpoll
*
ep
);
static
void
ep_free
(
struct
eventpoll
*
ep
);
static
struct
epitem
*
ep_find
(
struct
eventpoll
*
ep
,
struct
file
*
file
,
int
fd
);
static
struct
epitem
*
ep_find
(
struct
eventpoll
*
ep
,
struct
file
*
file
,
int
fd
);
...
@@ -299,7 +301,8 @@ static void ep_ptable_queue_proc(struct file *file, wait_queue_head_t *whead,
...
@@ -299,7 +301,8 @@ static void ep_ptable_queue_proc(struct file *file, wait_queue_head_t *whead,
poll_table
*
pt
);
poll_table
*
pt
);
static
int
ep_insert
(
struct
eventpoll
*
ep
,
struct
epoll_event
*
event
,
static
int
ep_insert
(
struct
eventpoll
*
ep
,
struct
epoll_event
*
event
,
struct
file
*
tfile
,
int
fd
);
struct
file
*
tfile
,
int
fd
);
static
int
ep_modify
(
struct
eventpoll
*
ep
,
struct
epitem
*
epi
,
struct
epoll_event
*
event
);
static
int
ep_modify
(
struct
eventpoll
*
ep
,
struct
epitem
*
epi
,
struct
epoll_event
*
event
);
static
void
ep_unregister_pollwait
(
struct
eventpoll
*
ep
,
struct
epitem
*
epi
);
static
void
ep_unregister_pollwait
(
struct
eventpoll
*
ep
,
struct
epitem
*
epi
);
static
int
ep_unlink
(
struct
eventpoll
*
ep
,
struct
epitem
*
epi
);
static
int
ep_unlink
(
struct
eventpoll
*
ep
,
struct
epitem
*
epi
);
static
int
ep_remove
(
struct
eventpoll
*
ep
,
struct
epitem
*
epi
);
static
int
ep_remove
(
struct
eventpoll
*
ep
,
struct
epitem
*
epi
);
...
@@ -309,11 +312,12 @@ static unsigned int ep_eventpoll_poll(struct file *file, poll_table *wait);
...
@@ -309,11 +312,12 @@ static unsigned int ep_eventpoll_poll(struct file *file, poll_table *wait);
static
int
ep_collect_ready_items
(
struct
eventpoll
*
ep
,
static
int
ep_collect_ready_items
(
struct
eventpoll
*
ep
,
struct
list_head
*
txlist
,
int
maxevents
);
struct
list_head
*
txlist
,
int
maxevents
);
static
int
ep_send_events
(
struct
eventpoll
*
ep
,
struct
list_head
*
txlist
,
static
int
ep_send_events
(
struct
eventpoll
*
ep
,
struct
list_head
*
txlist
,
struct
epoll_event
*
events
);
struct
epoll_event
__user
*
events
);
static
void
ep_reinject_items
(
struct
eventpoll
*
ep
,
struct
list_head
*
txlist
);
static
void
ep_reinject_items
(
struct
eventpoll
*
ep
,
struct
list_head
*
txlist
);
static
int
ep_events_transfer
(
struct
eventpoll
*
ep
,
static
int
ep_events_transfer
(
struct
eventpoll
*
ep
,
struct
epoll_event
*
events
,
int
maxevents
);
struct
epoll_event
__user
*
events
,
static
int
ep_poll
(
struct
eventpoll
*
ep
,
struct
epoll_event
*
events
,
int
maxevents
);
static
int
ep_poll
(
struct
eventpoll
*
ep
,
struct
epoll_event
__user
*
events
,
int
maxevents
,
long
timeout
);
int
maxevents
,
long
timeout
);
static
int
eventpollfs_delete_dentry
(
struct
dentry
*
dentry
);
static
int
eventpollfs_delete_dentry
(
struct
dentry
*
dentry
);
static
struct
inode
*
ep_eventpoll_inode
(
void
);
static
struct
inode
*
ep_eventpoll_inode
(
void
);
...
@@ -532,11 +536,13 @@ asmlinkage long sys_epoll_create(int size)
...
@@ -532,11 +536,13 @@ asmlinkage long sys_epoll_create(int size)
/*
/*
* The following function implement the controller interface for the eventpoll
* The following function implements the controller interface for
* file that enable the insertion/removal/change of file descriptors inside
* the eventpoll file that enables the insertion/removal/change of
* the interest set. It rapresents the kernel part of the user space epoll_ctl(2).
* file descriptors inside the interest set. It represents
* the kernel part of the user space epoll_ctl(2).
*/
*/
asmlinkage
long
sys_epoll_ctl
(
int
epfd
,
int
op
,
int
fd
,
struct
epoll_event
*
event
)
asmlinkage
long
sys_epoll_ctl
(
int
epfd
,
int
op
,
int
fd
,
struct
epoll_event
__user
*
event
)
{
{
int
error
;
int
error
;
struct
file
*
file
,
*
tfile
;
struct
file
*
file
,
*
tfile
;
...
@@ -637,8 +643,8 @@ asmlinkage long sys_epoll_ctl(int epfd, int op, int fd, struct epoll_event *even
...
@@ -637,8 +643,8 @@ asmlinkage long sys_epoll_ctl(int epfd, int op, int fd, struct epoll_event *even
* Implement the event wait interface for the eventpoll file. It is the kernel
* Implement the event wait interface for the eventpoll file. It is the kernel
* part of the user space epoll_wait(2).
* part of the user space epoll_wait(2).
*/
*/
asmlinkage
long
sys_epoll_wait
(
int
epfd
,
struct
epoll_event
*
events
,
int
max
events
,
asmlinkage
long
sys_epoll_wait
(
int
epfd
,
struct
epoll_event
__user
*
events
,
int
timeout
)
int
maxevents
,
int
timeout
)
{
{
int
error
;
int
error
;
struct
file
*
file
;
struct
file
*
file
;
...
@@ -662,7 +668,7 @@ asmlinkage long sys_epoll_wait(int epfd, struct epoll_event *events, int maxeven
...
@@ -662,7 +668,7 @@ asmlinkage long sys_epoll_wait(int epfd, struct epoll_event *events, int maxeven
goto
eexit_1
;
goto
eexit_1
;
/*
/*
* We have to check that the file structure underneath the f
ile descriptor
* We have to check that the file structure underneath the f
d
* the user passed to us _is_ an eventpoll file.
* the user passed to us _is_ an eventpoll file.
*/
*/
error
=
-
EINVAL
;
error
=
-
EINVAL
;
...
@@ -1409,7 +1415,7 @@ static int ep_collect_ready_items(struct eventpoll *ep, struct list_head *txlist
...
@@ -1409,7 +1415,7 @@ static int ep_collect_ready_items(struct eventpoll *ep, struct list_head *txlist
* because of the way poll() is traditionally implemented in Linux.
* because of the way poll() is traditionally implemented in Linux.
*/
*/
static
int
ep_send_events
(
struct
eventpoll
*
ep
,
struct
list_head
*
txlist
,
static
int
ep_send_events
(
struct
eventpoll
*
ep
,
struct
list_head
*
txlist
,
struct
epoll_event
*
events
)
struct
epoll_event
__user
*
events
)
{
{
int
eventcnt
=
0
,
eventbuf
=
0
;
int
eventcnt
=
0
,
eventbuf
=
0
;
unsigned
int
revents
;
unsigned
int
revents
;
...
@@ -1521,7 +1527,8 @@ static void ep_reinject_items(struct eventpoll *ep, struct list_head *txlist)
...
@@ -1521,7 +1527,8 @@ static void ep_reinject_items(struct eventpoll *ep, struct list_head *txlist)
/*
/*
* Perform the transfer of events to user space.
* Perform the transfer of events to user space.
*/
*/
static
int
ep_events_transfer
(
struct
eventpoll
*
ep
,
struct
epoll_event
*
events
,
int
maxevents
)
static
int
ep_events_transfer
(
struct
eventpoll
*
ep
,
struct
epoll_event
__user
*
events
,
int
maxevents
)
{
{
int
eventcnt
=
0
;
int
eventcnt
=
0
;
struct
list_head
txlist
;
struct
list_head
txlist
;
...
@@ -1549,8 +1556,8 @@ static int ep_events_transfer(struct eventpoll *ep, struct epoll_event *events,
...
@@ -1549,8 +1556,8 @@ static int ep_events_transfer(struct eventpoll *ep, struct epoll_event *events,
}
}
static
int
ep_poll
(
struct
eventpoll
*
ep
,
struct
epoll_event
*
events
,
int
max
events
,
static
int
ep_poll
(
struct
eventpoll
*
ep
,
struct
epoll_event
__user
*
events
,
long
timeout
)
int
maxevents
,
long
timeout
)
{
{
int
res
,
eavail
;
int
res
,
eavail
;
unsigned
long
flags
;
unsigned
long
flags
;
...
...
fs/ext2/symlink.c
View file @
cdce088e
...
@@ -20,7 +20,8 @@
...
@@ -20,7 +20,8 @@
#include "ext2.h"
#include "ext2.h"
#include "xattr.h"
#include "xattr.h"
static
int
ext2_readlink
(
struct
dentry
*
dentry
,
char
*
buffer
,
int
buflen
)
static
int
ext2_readlink
(
struct
dentry
*
dentry
,
char
__user
*
buffer
,
int
buflen
)
{
{
struct
ext2_inode_info
*
ei
=
EXT2_I
(
dentry
->
d_inode
);
struct
ext2_inode_info
*
ei
=
EXT2_I
(
dentry
->
d_inode
);
return
vfs_readlink
(
dentry
,
buffer
,
buflen
,
(
char
*
)
ei
->
i_data
);
return
vfs_readlink
(
dentry
,
buffer
,
buflen
,
(
char
*
)
ei
->
i_data
);
...
...
fs/fat/file.c
View file @
cdce088e
...
@@ -11,8 +11,8 @@
...
@@ -11,8 +11,8 @@
#include <linux/smp_lock.h>
#include <linux/smp_lock.h>
#include <linux/buffer_head.h>
#include <linux/buffer_head.h>
static
ssize_t
fat_file_write
(
struct
file
*
filp
,
const
char
*
buf
,
size_t
count
,
static
ssize_t
fat_file_write
(
struct
file
*
filp
,
const
char
__user
*
buf
,
loff_t
*
ppos
);
size_t
count
,
loff_t
*
ppos
);
struct
file_operations
fat_file_operations
=
{
struct
file_operations
fat_file_operations
=
{
.
llseek
=
generic_file_llseek
,
.
llseek
=
generic_file_llseek
,
...
@@ -66,8 +66,8 @@ int fat_get_block(struct inode *inode, sector_t iblock,
...
@@ -66,8 +66,8 @@ int fat_get_block(struct inode *inode, sector_t iblock,
return
0
;
return
0
;
}
}
static
ssize_t
fat_file_write
(
struct
file
*
filp
,
const
char
*
buf
,
size_t
count
,
static
ssize_t
fat_file_write
(
struct
file
*
filp
,
const
char
__user
*
buf
,
loff_t
*
ppos
)
size_t
count
,
loff_t
*
ppos
)
{
{
struct
inode
*
inode
=
filp
->
f_dentry
->
d_inode
;
struct
inode
*
inode
=
filp
->
f_dentry
->
d_inode
;
int
retval
;
int
retval
;
...
...
fs/proc/generic.c
View file @
cdce088e
...
@@ -18,13 +18,13 @@
...
@@ -18,13 +18,13 @@
#include <asm/uaccess.h>
#include <asm/uaccess.h>
#include <asm/bitops.h>
#include <asm/bitops.h>
static
ssize_t
proc_file_read
(
struct
file
*
file
,
char
*
buf
,
static
ssize_t
proc_file_read
(
struct
file
*
file
,
char
__user
*
buf
,
size_t
nbytes
,
loff_t
*
ppos
);
size_t
nbytes
,
loff_t
*
ppos
);
static
ssize_t
proc_file_write
(
struct
file
*
file
,
const
char
*
buffer
,
static
ssize_t
proc_file_write
(
struct
file
*
file
,
const
char
__user
*
buffer
,
size_t
count
,
loff_t
*
ppos
);
size_t
count
,
loff_t
*
ppos
);
static
loff_t
proc_file_lseek
(
struct
file
*
,
loff_t
,
int
);
static
loff_t
proc_file_lseek
(
struct
file
*
,
loff_t
,
int
);
int
proc_match
(
int
len
,
const
char
*
name
,
struct
proc_dir_entry
*
de
)
int
proc_match
(
int
len
,
const
char
*
name
,
struct
proc_dir_entry
*
de
)
{
{
if
(
de
->
namelen
!=
len
)
if
(
de
->
namelen
!=
len
)
return
0
;
return
0
;
...
@@ -45,7 +45,8 @@ static struct file_operations proc_file_operations = {
...
@@ -45,7 +45,8 @@ static struct file_operations proc_file_operations = {
#define PROC_BLOCK_SIZE (PAGE_SIZE - 1024)
#define PROC_BLOCK_SIZE (PAGE_SIZE - 1024)
static
ssize_t
static
ssize_t
proc_file_read
(
struct
file
*
file
,
char
*
buf
,
size_t
nbytes
,
loff_t
*
ppos
)
proc_file_read
(
struct
file
*
file
,
char
__user
*
buf
,
size_t
nbytes
,
loff_t
*
ppos
)
{
{
struct
inode
*
inode
=
file
->
f_dentry
->
d_inode
;
struct
inode
*
inode
=
file
->
f_dentry
->
d_inode
;
char
*
page
;
char
*
page
;
...
@@ -59,8 +60,7 @@ proc_file_read(struct file * file, char * buf, size_t nbytes, loff_t *ppos)
...
@@ -59,8 +60,7 @@ proc_file_read(struct file * file, char * buf, size_t nbytes, loff_t *ppos)
if
(
!
(
page
=
(
char
*
)
__get_free_page
(
GFP_KERNEL
)))
if
(
!
(
page
=
(
char
*
)
__get_free_page
(
GFP_KERNEL
)))
return
-
ENOMEM
;
return
-
ENOMEM
;
while
((
nbytes
>
0
)
&&
!
eof
)
while
((
nbytes
>
0
)
&&
!
eof
)
{
{
count
=
MIN
(
PROC_BLOCK_SIZE
,
nbytes
);
count
=
MIN
(
PROC_BLOCK_SIZE
,
nbytes
);
start
=
NULL
;
start
=
NULL
;
...
@@ -184,7 +184,7 @@ proc_file_read(struct file * file, char * buf, size_t nbytes, loff_t *ppos)
...
@@ -184,7 +184,7 @@ proc_file_read(struct file * file, char * buf, size_t nbytes, loff_t *ppos)
}
}
static
ssize_t
static
ssize_t
proc_file_write
(
struct
file
*
file
,
const
char
*
buffer
,
proc_file_write
(
struct
file
*
file
,
const
char
__user
*
buffer
,
size_t
count
,
loff_t
*
ppos
)
size_t
count
,
loff_t
*
ppos
)
{
{
struct
inode
*
inode
=
file
->
f_dentry
->
d_inode
;
struct
inode
*
inode
=
file
->
f_dentry
->
d_inode
;
...
@@ -201,7 +201,7 @@ proc_file_write(struct file * file, const char * buffer,
...
@@ -201,7 +201,7 @@ proc_file_write(struct file * file, const char * buffer,
static
loff_t
static
loff_t
proc_file_lseek
(
struct
file
*
file
,
loff_t
offset
,
int
orig
)
proc_file_lseek
(
struct
file
*
file
,
loff_t
offset
,
int
orig
)
{
{
lock_kernel
();
lock_kernel
();
...
@@ -299,15 +299,16 @@ static int make_inode_number(void)
...
@@ -299,15 +299,16 @@ static int make_inode_number(void)
return
i
;
return
i
;
}
}
static
int
proc_readlink
(
struct
dentry
*
dentry
,
char
*
buffer
,
int
buflen
)
static
int
proc_readlink
(
struct
dentry
*
dentry
,
char
__user
*
buffer
,
int
buflen
)
{
{
char
*
s
=
PDE
(
dentry
->
d_inode
)
->
data
;
char
*
s
=
PDE
(
dentry
->
d_inode
)
->
data
;
return
vfs_readlink
(
dentry
,
buffer
,
buflen
,
s
);
return
vfs_readlink
(
dentry
,
buffer
,
buflen
,
s
);
}
}
static
int
proc_follow_link
(
struct
dentry
*
dentry
,
struct
nameidata
*
nd
)
static
int
proc_follow_link
(
struct
dentry
*
dentry
,
struct
nameidata
*
nd
)
{
{
char
*
s
=
PDE
(
dentry
->
d_inode
)
->
data
;
char
*
s
=
PDE
(
dentry
->
d_inode
)
->
data
;
return
vfs_follow_link
(
nd
,
s
);
return
vfs_follow_link
(
nd
,
s
);
}
}
...
...
fs/proc/kcore.c
View file @
cdce088e
...
@@ -27,7 +27,7 @@ static int open_kcore(struct inode * inode, struct file * filp)
...
@@ -27,7 +27,7 @@ static int open_kcore(struct inode * inode, struct file * filp)
return
capable
(
CAP_SYS_RAWIO
)
?
0
:
-
EPERM
;
return
capable
(
CAP_SYS_RAWIO
)
?
0
:
-
EPERM
;
}
}
static
ssize_t
read_kcore
(
struct
file
*
,
char
*
,
size_t
,
loff_t
*
);
static
ssize_t
read_kcore
(
struct
file
*
,
char
__user
*
,
size_t
,
loff_t
*
);
struct
file_operations
proc_kcore_operations
=
{
struct
file_operations
proc_kcore_operations
=
{
.
read
=
read_kcore
,
.
read
=
read_kcore
,
...
@@ -267,7 +267,8 @@ static void elf_kcore_store_hdr(char *bufp, int nphdr, int dataoff)
...
@@ -267,7 +267,8 @@ static void elf_kcore_store_hdr(char *bufp, int nphdr, int dataoff)
/*
/*
* read from the ELF header and then kernel memory
* read from the ELF header and then kernel memory
*/
*/
static
ssize_t
read_kcore
(
struct
file
*
file
,
char
*
buffer
,
size_t
buflen
,
loff_t
*
fpos
)
static
ssize_t
read_kcore
(
struct
file
*
file
,
char
__user
*
buffer
,
size_t
buflen
,
loff_t
*
fpos
)
{
{
ssize_t
acc
=
0
;
ssize_t
acc
=
0
;
size_t
size
,
tsz
;
size_t
size
,
tsz
;
...
...
fs/proc/kmsg.c
View file @
cdce088e
...
@@ -17,7 +17,7 @@
...
@@ -17,7 +17,7 @@
extern
wait_queue_head_t
log_wait
;
extern
wait_queue_head_t
log_wait
;
extern
int
do_syslog
(
int
type
,
char
*
bug
,
int
count
);
extern
int
do_syslog
(
int
type
,
char
__user
*
bug
,
int
count
);
static
int
kmsg_open
(
struct
inode
*
inode
,
struct
file
*
file
)
static
int
kmsg_open
(
struct
inode
*
inode
,
struct
file
*
file
)
{
{
...
@@ -30,13 +30,13 @@ static int kmsg_release(struct inode * inode, struct file * file)
...
@@ -30,13 +30,13 @@ static int kmsg_release(struct inode * inode, struct file * file)
return
0
;
return
0
;
}
}
static
ssize_t
kmsg_read
(
struct
file
*
file
,
char
*
buf
,
static
ssize_t
kmsg_read
(
struct
file
*
file
,
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
size_t
count
,
loff_t
*
ppos
)
{
{
return
do_syslog
(
2
,
buf
,
count
);
return
do_syslog
(
2
,
buf
,
count
);
}
}
static
unsigned
int
kmsg_poll
(
struct
file
*
file
,
poll_table
*
wait
)
static
unsigned
int
kmsg_poll
(
struct
file
*
file
,
poll_table
*
wait
)
{
{
poll_wait
(
file
,
&
log_wait
,
wait
);
poll_wait
(
file
,
&
log_wait
,
wait
);
if
(
do_syslog
(
9
,
0
,
0
))
if
(
do_syslog
(
9
,
0
,
0
))
...
...
fs/proc/proc_misc.c
View file @
cdce088e
...
@@ -343,7 +343,7 @@ static struct file_operations proc_modules_operations = {
...
@@ -343,7 +343,7 @@ static struct file_operations proc_modules_operations = {
#endif
#endif
extern
struct
seq_operations
slabinfo_op
;
extern
struct
seq_operations
slabinfo_op
;
extern
ssize_t
slabinfo_write
(
struct
file
*
,
const
char
*
,
size_t
,
loff_t
*
);
extern
ssize_t
slabinfo_write
(
struct
file
*
,
const
char
__user
*
,
size_t
,
loff_t
*
);
static
int
slabinfo_open
(
struct
inode
*
inode
,
struct
file
*
file
)
static
int
slabinfo_open
(
struct
inode
*
inode
,
struct
file
*
file
)
{
{
return
seq_open
(
file
,
&
slabinfo_op
);
return
seq_open
(
file
,
&
slabinfo_op
);
...
@@ -548,8 +548,8 @@ static int execdomains_read_proc(char *page, char **start, off_t off,
...
@@ -548,8 +548,8 @@ static int execdomains_read_proc(char *page, char **start, off_t off,
* buffer. Use of the program readprofile is recommended in order to
* buffer. Use of the program readprofile is recommended in order to
* get meaningful info out of these data.
* get meaningful info out of these data.
*/
*/
static
ssize_t
read_profile
(
struct
file
*
file
,
char
*
buf
,
static
ssize_t
size_t
count
,
loff_t
*
ppos
)
read_profile
(
struct
file
*
file
,
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
{
{
unsigned
long
p
=
*
ppos
;
unsigned
long
p
=
*
ppos
;
ssize_t
read
;
ssize_t
read
;
...
@@ -580,13 +580,13 @@ static ssize_t read_profile(struct file *file, char *buf,
...
@@ -580,13 +580,13 @@ static ssize_t read_profile(struct file *file, char *buf,
* Writing a 'profiling multiplier' value into it also re-sets the profiling
* Writing a 'profiling multiplier' value into it also re-sets the profiling
* interrupt frequency, on architectures that support this.
* interrupt frequency, on architectures that support this.
*/
*/
static
ssize_t
write_profile
(
struct
file
*
file
,
const
char
*
buf
,
static
ssize_t
write_profile
(
struct
file
*
file
,
const
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
size_t
count
,
loff_t
*
ppos
)
{
{
#ifdef CONFIG_SMP
#ifdef CONFIG_SMP
extern
int
setup_profiling_timer
(
unsigned
int
multiplier
);
extern
int
setup_profiling_timer
(
unsigned
int
multiplier
);
if
(
count
==
sizeof
(
int
))
{
if
(
count
==
sizeof
(
int
))
{
unsigned
int
multiplier
;
unsigned
int
multiplier
;
if
(
copy_from_user
(
&
multiplier
,
buf
,
sizeof
(
int
)))
if
(
copy_from_user
(
&
multiplier
,
buf
,
sizeof
(
int
)))
...
@@ -610,8 +610,8 @@ static struct file_operations proc_profile_operations = {
...
@@ -610,8 +610,8 @@ static struct file_operations proc_profile_operations = {
/*
/*
* writing 'C' to /proc/sysrq-trigger is like sysrq-C
* writing 'C' to /proc/sysrq-trigger is like sysrq-C
*/
*/
static
ssize_t
write_sysrq_trigger
(
struct
file
*
file
,
const
char
*
buf
,
static
ssize_t
write_sysrq_trigger
(
struct
file
*
file
,
const
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
size_t
count
,
loff_t
*
ppos
)
{
{
if
(
count
)
{
if
(
count
)
{
char
c
;
char
c
;
...
...
fs/ufs/namei.c
View file @
cdce088e
...
@@ -112,11 +112,13 @@ static int ufs_create (struct inode * dir, struct dentry * dentry, int mode,
...
@@ -112,11 +112,13 @@ static int ufs_create (struct inode * dir, struct dentry * dentry, int mode,
static
int
ufs_mknod
(
struct
inode
*
dir
,
struct
dentry
*
dentry
,
int
mode
,
dev_t
rdev
)
static
int
ufs_mknod
(
struct
inode
*
dir
,
struct
dentry
*
dentry
,
int
mode
,
dev_t
rdev
)
{
{
struct
inode
*
inode
;
struct
inode
*
inode
;
int
err
;
if
(
!
old_valid_dev
(
rdev
))
if
(
!
old_valid_dev
(
rdev
))
return
-
EINVAL
;
return
-
EINVAL
;
inode
=
ufs_new_inode
(
dir
,
mode
);
inode
=
ufs_new_inode
(
dir
,
mode
);
int
err
=
PTR_ERR
(
inode
);
err
=
PTR_ERR
(
inode
);
if
(
!
IS_ERR
(
inode
))
{
if
(
!
IS_ERR
(
inode
))
{
init_special_inode
(
inode
,
mode
,
rdev
);
init_special_inode
(
inode
,
mode
,
rdev
);
/* NOTE: that'll go when we get wide dev_t */
/* NOTE: that'll go when we get wide dev_t */
...
...
fs/xattr.c
View file @
cdce088e
...
@@ -53,7 +53,8 @@ xattr_free(void *ptr, size_t size)
...
@@ -53,7 +53,8 @@ xattr_free(void *ptr, size_t size)
* Extended attribute SET operations
* Extended attribute SET operations
*/
*/
static
long
static
long
setxattr
(
struct
dentry
*
d
,
char
*
name
,
void
*
value
,
size_t
size
,
int
flags
)
setxattr
(
struct
dentry
*
d
,
char
__user
*
name
,
void
__user
*
value
,
size_t
size
,
int
flags
)
{
{
int
error
;
int
error
;
void
*
kvalue
;
void
*
kvalue
;
...
@@ -94,7 +95,8 @@ setxattr(struct dentry *d, char *name, void *value, size_t size, int flags)
...
@@ -94,7 +95,8 @@ setxattr(struct dentry *d, char *name, void *value, size_t size, int flags)
}
}
asmlinkage
long
asmlinkage
long
sys_setxattr
(
char
*
path
,
char
*
name
,
void
*
value
,
size_t
size
,
int
flags
)
sys_setxattr
(
char
__user
*
path
,
char
__user
*
name
,
void
__user
*
value
,
size_t
size
,
int
flags
)
{
{
struct
nameidata
nd
;
struct
nameidata
nd
;
int
error
;
int
error
;
...
@@ -108,7 +110,8 @@ sys_setxattr(char *path, char *name, void *value, size_t size, int flags)
...
@@ -108,7 +110,8 @@ sys_setxattr(char *path, char *name, void *value, size_t size, int flags)
}
}
asmlinkage
long
asmlinkage
long
sys_lsetxattr
(
char
*
path
,
char
*
name
,
void
*
value
,
size_t
size
,
int
flags
)
sys_lsetxattr
(
char
__user
*
path
,
char
__user
*
name
,
void
__user
*
value
,
size_t
size
,
int
flags
)
{
{
struct
nameidata
nd
;
struct
nameidata
nd
;
int
error
;
int
error
;
...
@@ -122,7 +125,8 @@ sys_lsetxattr(char *path, char *name, void *value, size_t size, int flags)
...
@@ -122,7 +125,8 @@ sys_lsetxattr(char *path, char *name, void *value, size_t size, int flags)
}
}
asmlinkage
long
asmlinkage
long
sys_fsetxattr
(
int
fd
,
char
*
name
,
void
*
value
,
size_t
size
,
int
flags
)
sys_fsetxattr
(
int
fd
,
char
__user
*
name
,
void
__user
*
value
,
size_t
size
,
int
flags
)
{
{
struct
file
*
f
;
struct
file
*
f
;
int
error
=
-
EBADF
;
int
error
=
-
EBADF
;
...
@@ -139,7 +143,7 @@ sys_fsetxattr(int fd, char *name, void *value, size_t size, int flags)
...
@@ -139,7 +143,7 @@ sys_fsetxattr(int fd, char *name, void *value, size_t size, int flags)
* Extended attribute GET operations
* Extended attribute GET operations
*/
*/
static
ssize_t
static
ssize_t
getxattr
(
struct
dentry
*
d
,
char
*
name
,
void
*
value
,
size_t
size
)
getxattr
(
struct
dentry
*
d
,
char
__user
*
name
,
void
__user
*
value
,
size_t
size
)
{
{
ssize_t
error
;
ssize_t
error
;
void
*
kvalue
;
void
*
kvalue
;
...
@@ -172,7 +176,8 @@ getxattr(struct dentry *d, char *name, void *value, size_t size)
...
@@ -172,7 +176,8 @@ getxattr(struct dentry *d, char *name, void *value, size_t size)
}
}
asmlinkage
ssize_t
asmlinkage
ssize_t
sys_getxattr
(
char
*
path
,
char
*
name
,
void
*
value
,
size_t
size
)
sys_getxattr
(
char
__user
*
path
,
char
__user
*
name
,
void
__user
*
value
,
size_t
size
)
{
{
struct
nameidata
nd
;
struct
nameidata
nd
;
ssize_t
error
;
ssize_t
error
;
...
@@ -186,7 +191,8 @@ sys_getxattr(char *path, char *name, void *value, size_t size)
...
@@ -186,7 +191,8 @@ sys_getxattr(char *path, char *name, void *value, size_t size)
}
}
asmlinkage
ssize_t
asmlinkage
ssize_t
sys_lgetxattr
(
char
*
path
,
char
*
name
,
void
*
value
,
size_t
size
)
sys_lgetxattr
(
char
__user
*
path
,
char
__user
*
name
,
void
__user
*
value
,
size_t
size
)
{
{
struct
nameidata
nd
;
struct
nameidata
nd
;
ssize_t
error
;
ssize_t
error
;
...
@@ -200,7 +206,7 @@ sys_lgetxattr(char *path, char *name, void *value, size_t size)
...
@@ -200,7 +206,7 @@ sys_lgetxattr(char *path, char *name, void *value, size_t size)
}
}
asmlinkage
ssize_t
asmlinkage
ssize_t
sys_fgetxattr
(
int
fd
,
char
*
name
,
void
*
value
,
size_t
size
)
sys_fgetxattr
(
int
fd
,
char
__user
*
name
,
void
__user
*
value
,
size_t
size
)
{
{
struct
file
*
f
;
struct
file
*
f
;
ssize_t
error
=
-
EBADF
;
ssize_t
error
=
-
EBADF
;
...
@@ -217,7 +223,7 @@ sys_fgetxattr(int fd, char *name, void *value, size_t size)
...
@@ -217,7 +223,7 @@ sys_fgetxattr(int fd, char *name, void *value, size_t size)
* Extended attribute LIST operations
* Extended attribute LIST operations
*/
*/
static
ssize_t
static
ssize_t
listxattr
(
struct
dentry
*
d
,
char
*
list
,
size_t
size
)
listxattr
(
struct
dentry
*
d
,
char
__user
*
list
,
size_t
size
)
{
{
ssize_t
error
;
ssize_t
error
;
char
*
klist
;
char
*
klist
;
...
@@ -243,7 +249,7 @@ listxattr(struct dentry *d, char *list, size_t size)
...
@@ -243,7 +249,7 @@ listxattr(struct dentry *d, char *list, size_t size)
}
}
asmlinkage
ssize_t
asmlinkage
ssize_t
sys_listxattr
(
char
*
path
,
cha
r
*
list
,
size_t
size
)
sys_listxattr
(
char
__user
*
path
,
char
__use
r
*
list
,
size_t
size
)
{
{
struct
nameidata
nd
;
struct
nameidata
nd
;
ssize_t
error
;
ssize_t
error
;
...
@@ -257,7 +263,7 @@ sys_listxattr(char *path, char *list, size_t size)
...
@@ -257,7 +263,7 @@ sys_listxattr(char *path, char *list, size_t size)
}
}
asmlinkage
ssize_t
asmlinkage
ssize_t
sys_llistxattr
(
char
*
path
,
cha
r
*
list
,
size_t
size
)
sys_llistxattr
(
char
__user
*
path
,
char
__use
r
*
list
,
size_t
size
)
{
{
struct
nameidata
nd
;
struct
nameidata
nd
;
ssize_t
error
;
ssize_t
error
;
...
@@ -271,7 +277,7 @@ sys_llistxattr(char *path, char *list, size_t size)
...
@@ -271,7 +277,7 @@ sys_llistxattr(char *path, char *list, size_t size)
}
}
asmlinkage
ssize_t
asmlinkage
ssize_t
sys_flistxattr
(
int
fd
,
char
*
list
,
size_t
size
)
sys_flistxattr
(
int
fd
,
char
__user
*
list
,
size_t
size
)
{
{
struct
file
*
f
;
struct
file
*
f
;
ssize_t
error
=
-
EBADF
;
ssize_t
error
=
-
EBADF
;
...
@@ -288,7 +294,7 @@ sys_flistxattr(int fd, char *list, size_t size)
...
@@ -288,7 +294,7 @@ sys_flistxattr(int fd, char *list, size_t size)
* Extended attribute REMOVE operations
* Extended attribute REMOVE operations
*/
*/
static
long
static
long
removexattr
(
struct
dentry
*
d
,
char
*
name
)
removexattr
(
struct
dentry
*
d
,
char
__user
*
name
)
{
{
int
error
;
int
error
;
char
kname
[
XATTR_NAME_MAX
+
1
];
char
kname
[
XATTR_NAME_MAX
+
1
];
...
@@ -313,7 +319,7 @@ removexattr(struct dentry *d, char *name)
...
@@ -313,7 +319,7 @@ removexattr(struct dentry *d, char *name)
}
}
asmlinkage
long
asmlinkage
long
sys_removexattr
(
char
*
path
,
cha
r
*
name
)
sys_removexattr
(
char
__user
*
path
,
char
__use
r
*
name
)
{
{
struct
nameidata
nd
;
struct
nameidata
nd
;
int
error
;
int
error
;
...
@@ -327,7 +333,7 @@ sys_removexattr(char *path, char *name)
...
@@ -327,7 +333,7 @@ sys_removexattr(char *path, char *name)
}
}
asmlinkage
long
asmlinkage
long
sys_lremovexattr
(
char
*
path
,
cha
r
*
name
)
sys_lremovexattr
(
char
__user
*
path
,
char
__use
r
*
name
)
{
{
struct
nameidata
nd
;
struct
nameidata
nd
;
int
error
;
int
error
;
...
@@ -341,7 +347,7 @@ sys_lremovexattr(char *path, char *name)
...
@@ -341,7 +347,7 @@ sys_lremovexattr(char *path, char *name)
}
}
asmlinkage
long
asmlinkage
long
sys_fremovexattr
(
int
fd
,
char
*
name
)
sys_fremovexattr
(
int
fd
,
char
__user
*
name
)
{
{
struct
file
*
f
;
struct
file
*
f
;
int
error
=
-
EBADF
;
int
error
=
-
EBADF
;
...
...
include/linux/cpufreq.h
View file @
cdce088e
...
@@ -290,7 +290,7 @@ enum {
...
@@ -290,7 +290,7 @@ enum {
#ifdef CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE
#ifdef CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE
extern
struct
cpufreq_governor
cpufreq_gov_performance
;
extern
struct
cpufreq_governor
cpufreq_gov_performance
;
#define CPUFREQ_DEFAULT_GOVERNOR &cpufreq_gov_performance
#define CPUFREQ_DEFAULT_GOVERNOR &cpufreq_gov_performance
#elif
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE
#elif
defined(CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE)
extern
struct
cpufreq_governor
cpufreq_gov_userspace
;
extern
struct
cpufreq_governor
cpufreq_gov_userspace
;
#define CPUFREQ_DEFAULT_GOVERNOR &cpufreq_gov_userspace
#define CPUFREQ_DEFAULT_GOVERNOR &cpufreq_gov_userspace
#endif
#endif
...
...
include/linux/eventpoll.h
View file @
cdce088e
...
@@ -48,9 +48,10 @@ struct file;
...
@@ -48,9 +48,10 @@ struct file;
/* Kernel space functions implementing the user space "epoll" API */
/* Kernel space functions implementing the user space "epoll" API */
asmlinkage
long
sys_epoll_create
(
int
size
);
asmlinkage
long
sys_epoll_create
(
int
size
);
asmlinkage
long
sys_epoll_ctl
(
int
epfd
,
int
op
,
int
fd
,
struct
epoll_event
*
event
);
asmlinkage
long
sys_epoll_ctl
(
int
epfd
,
int
op
,
int
fd
,
asmlinkage
long
sys_epoll_wait
(
int
epfd
,
struct
epoll_event
*
events
,
int
maxevents
,
struct
epoll_event
__user
*
event
);
int
timeout
);
asmlinkage
long
sys_epoll_wait
(
int
epfd
,
struct
epoll_event
__user
*
events
,
int
maxevents
,
int
timeout
);
#ifdef CONFIG_EPOLL
#ifdef CONFIG_EPOLL
...
...
include/linux/writeback.h
View file @
cdce088e
...
@@ -80,8 +80,8 @@ extern int dirty_expire_centisecs;
...
@@ -80,8 +80,8 @@ extern int dirty_expire_centisecs;
struct
ctl_table
;
struct
ctl_table
;
struct
file
;
struct
file
;
int
dirty_writeback_centisecs_handler
(
struct
ctl_table
*
,
int
,
struct
file
*
,
int
dirty_writeback_centisecs_handler
(
struct
ctl_table
*
,
int
,
struct
file
*
,
void
*
,
size_t
*
);
void
__user
*
,
size_t
*
);
void
page_writeback_init
(
void
);
void
page_writeback_init
(
void
);
void
balance_dirty_pages
(
struct
address_space
*
mapping
);
void
balance_dirty_pages
(
struct
address_space
*
mapping
);
...
...
kernel/sysctl.c
View file @
cdce088e
...
@@ -643,7 +643,7 @@ static ctl_table vm_table[] = {
...
@@ -643,7 +643,7 @@ static ctl_table vm_table[] = {
.
data
=
&
dirty_writeback_centisecs
,
.
data
=
&
dirty_writeback_centisecs
,
.
maxlen
=
sizeof
(
dirty_writeback_centisecs
),
.
maxlen
=
sizeof
(
dirty_writeback_centisecs
),
.
mode
=
0644
,
.
mode
=
0644
,
.
proc_handler
=
dirty_writeback_centisecs_handler
,
.
proc_handler
=
&
dirty_writeback_centisecs_handler
,
},
},
{
{
.
ctl_name
=
VM_DIRTY_EXPIRE_CS
,
.
ctl_name
=
VM_DIRTY_EXPIRE_CS
,
...
...
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