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
5b578afe
Commit
5b578afe
authored
Jun 18, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge ppc970.osdl.org:/home/torvalds/v2.6/v2.6.7
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
cb32fa29
be71e25f
Changes
28
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
241 additions
and
248 deletions
+241
-248
arch/x86_64/Makefile
arch/x86_64/Makefile
+2
-0
drivers/char/applicom.c
drivers/char/applicom.c
+10
-9
drivers/char/cyclades.c
drivers/char/cyclades.c
+29
-30
drivers/char/ipmi/ipmi_devintf.c
drivers/char/ipmi/ipmi_devintf.c
+14
-13
drivers/char/ipmi/ipmi_watchdog.c
drivers/char/ipmi/ipmi_watchdog.c
+10
-13
drivers/char/mwave/3780i.c
drivers/char/mwave/3780i.c
+10
-10
drivers/char/mwave/3780i.h
drivers/char/mwave/3780i.h
+5
-5
drivers/char/mwave/mwavedd.c
drivers/char/mwave/mwavedd.c
+17
-20
drivers/char/mwave/tp3780i.c
drivers/char/mwave/tp3780i.c
+2
-2
drivers/char/mwave/tp3780i.h
drivers/char/mwave/tp3780i.h
+2
-2
drivers/char/synclinkmp.c
drivers/char/synclinkmp.c
+22
-21
drivers/video/fbmem.c
drivers/video/fbmem.c
+2
-2
drivers/video/imsttfb.c
drivers/video/imsttfb.c
+10
-9
drivers/video/kyro/fbdev.c
drivers/video/kyro/fbdev.c
+6
-6
drivers/video/matrox/matroxfb_base.c
drivers/video/matrox/matroxfb_base.c
+16
-15
drivers/video/matrox/matroxfb_crtc2.c
drivers/video/matrox/matroxfb_crtc2.c
+5
-5
drivers/video/radeonfb.c
drivers/video/radeonfb.c
+2
-2
drivers/video/sstfb.c
drivers/video/sstfb.c
+2
-2
fs/autofs/root.c
fs/autofs/root.c
+7
-6
fs/binfmt_aout.c
fs/binfmt_aout.c
+13
-12
fs/nfs/direct.c
fs/nfs/direct.c
+1
-1
fs/nfs/idmap.c
fs/nfs/idmap.c
+6
-5
fs/udf/crc.c
fs/udf/crc.c
+1
-1
fs/udf/misc.c
fs/udf/misc.c
+6
-6
include/asm-x86_64/uaccess.h
include/asm-x86_64/uaccess.h
+34
-44
include/linux/fb.h
include/linux/fb.h
+2
-2
include/linux/ipmi.h
include/linux/ipmi.h
+2
-2
include/linux/nfs4_mount.h
include/linux/nfs4_mount.h
+3
-3
No files found.
arch/x86_64/Makefile
View file @
5b578afe
...
...
@@ -37,6 +37,8 @@ LDFLAGS := -m elf_x86_64
OBJCOPYFLAGS
:=
-O
binary
-R
.note
-R
.comment
-S
LDFLAGS_vmlinux
:=
-e
stext
CHECK
:=
$(CHECK)
-D__x86_64__
=
1
cflags-$(CONFIG_MK8)
+=
$(
call
check_gcc,-march
=
k8,
)
cflags-$(CONFIG_MPSC)
+=
$(
call
check_gcc,-march
=
nocona,
)
CFLAGS
+=
$
(
cflags-y
)
...
...
drivers/char/applicom.c
View file @
5b578afe
...
...
@@ -105,8 +105,8 @@ static unsigned int WriteErrorCount; /* number of write error */
static
unsigned
int
ReadErrorCount
;
/* number of read error */
static
unsigned
int
DeviceErrorCount
;
/* number of device error */
static
ssize_t
ac_read
(
struct
file
*
,
char
*
,
size_t
,
loff_t
*
);
static
ssize_t
ac_write
(
struct
file
*
,
const
char
*
,
size_t
,
loff_t
*
);
static
ssize_t
ac_read
(
struct
file
*
,
char
__user
*
,
size_t
,
loff_t
*
);
static
ssize_t
ac_write
(
struct
file
*
,
const
char
__user
*
,
size_t
,
loff_t
*
);
static
int
ac_ioctl
(
struct
inode
*
,
struct
file
*
,
unsigned
int
,
unsigned
long
);
static
irqreturn_t
ac_interrupt
(
int
,
void
*
,
struct
pt_regs
*
);
...
...
@@ -343,7 +343,7 @@ int __init applicom_init(void)
__initcall
(
applicom_init
);
#endif
static
ssize_t
ac_write
(
struct
file
*
file
,
const
char
*
buf
,
size_t
count
,
loff_t
*
ppos
)
static
ssize_t
ac_write
(
struct
file
*
file
,
const
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
{
unsigned
int
NumCard
;
/* Board number 1 -> 8 */
unsigned
int
IndexCard
;
/* Index board number 0 -> 7 */
...
...
@@ -467,7 +467,7 @@ static ssize_t ac_write(struct file *file, const char *buf, size_t count, loff_t
return
0
;
}
static
int
do_ac_read
(
int
IndexCard
,
char
*
buf
,
static
int
do_ac_read
(
int
IndexCard
,
char
__user
*
buf
,
struct
st_ram_io
*
st_loc
,
struct
mailbox
*
mailbox
)
{
unsigned
long
from
=
(
unsigned
long
)
apbs
[
IndexCard
].
RamIO
+
RAM_TO_PC
;
...
...
@@ -521,7 +521,7 @@ static int do_ac_read(int IndexCard, char *buf,
return
(
sizeof
(
struct
st_ram_io
)
+
sizeof
(
struct
mailbox
));
}
static
ssize_t
ac_read
(
struct
file
*
filp
,
char
*
buf
,
size_t
count
,
loff_t
*
ptr
)
static
ssize_t
ac_read
(
struct
file
*
filp
,
char
__user
*
buf
,
size_t
count
,
loff_t
*
ptr
)
{
unsigned
long
flags
;
unsigned
int
i
;
...
...
@@ -689,6 +689,7 @@ static int ac_ioctl(struct inode *inode, struct file *file, unsigned int cmd, un
int
ret
=
0
;
volatile
unsigned
char
byte_reset_it
;
struct
st_ram_io
*
adgl
;
void
__user
*
argp
=
(
void
__user
*
)
arg
;
/* In general, the device is only openable by root anyway, so we're not
particularly concerned that bogus ioctls can flood the console. */
...
...
@@ -697,7 +698,7 @@ static int ac_ioctl(struct inode *inode, struct file *file, unsigned int cmd, un
if
(
!
adgl
)
return
-
ENOMEM
;
if
(
copy_from_user
(
adgl
,
(
void
*
)
arg
,
sizeof
(
struct
st_ram_io
)))
{
if
(
copy_from_user
(
adgl
,
argp
,
sizeof
(
struct
st_ram_io
)))
{
kfree
(
adgl
);
return
-
EFAULT
;
}
...
...
@@ -721,7 +722,7 @@ static int ac_ioctl(struct inode *inode, struct file *file, unsigned int cmd, un
pmem
=
apbs
[
IndexCard
].
RamIO
;
for
(
i
=
0
;
i
<
sizeof
(
struct
st_ram_io
);
i
++
)
((
unsigned
char
*
)
adgl
)[
i
]
=
readb
(
pmem
++
);
if
(
copy_to_user
(
(
void
*
)
arg
,
adgl
,
sizeof
(
struct
st_ram_io
)))
if
(
copy_to_user
(
argp
,
adgl
,
sizeof
(
struct
st_ram_io
)))
ret
=
-
EFAULT
;
break
;
case
1
:
...
...
@@ -742,7 +743,7 @@ static int ac_ioctl(struct inode *inode, struct file *file, unsigned int cmd, un
(
readb
(
apbs
[
IndexCard
].
RamIO
+
SERIAL_NUMBER
+
1
)
<<
8
)
+
(
readb
(
apbs
[
IndexCard
].
RamIO
+
SERIAL_NUMBER
+
2
)
);
if
(
copy_to_user
(
(
void
*
)
arg
,
adgl
,
sizeof
(
struct
st_ram_io
)))
if
(
copy_to_user
(
argp
,
adgl
,
sizeof
(
struct
st_ram_io
)))
ret
=
-
EFAULT
;
break
;
case
2
:
...
...
@@ -768,7 +769,7 @@ static int ac_ioctl(struct inode *inode, struct file *file, unsigned int cmd, un
pmem
=
apbs
[
IndexCard
].
RamIO
+
TIC_OWNER_TO_PC
;
adgl
->
tic_owner_to_pc
=
readb
(
pmem
++
);
adgl
->
numcard_owner_to_pc
=
readb
(
pmem
);
if
(
copy_to_user
(
(
void
*
)
arg
,
adgl
,
sizeof
(
struct
st_ram_io
)))
if
(
copy_to_user
(
argp
,
adgl
,
sizeof
(
struct
st_ram_io
)))
ret
=
-
EFAULT
;
break
;
case
5
:
...
...
drivers/char/cyclades.c
View file @
5b578afe
...
...
@@ -676,8 +676,6 @@ static char rcsid[] =
#include <linux/stat.h>
#include <linux/proc_fs.h>
#define cy_put_user put_user
static
void
cy_throttle
(
struct
tty_struct
*
tty
);
static
void
cy_send_xchar
(
struct
tty_struct
*
tty
,
char
ch
);
...
...
@@ -3536,7 +3534,7 @@ set_line_char(struct cyclades_port * info)
static
int
get_serial_info
(
struct
cyclades_port
*
info
,
struct
serial_struct
*
retinfo
)
struct
serial_struct
__user
*
retinfo
)
{
struct
serial_struct
tmp
;
struct
cyclades_card
*
cinfo
=
&
cy_card
[
info
->
card
];
...
...
@@ -3559,7 +3557,7 @@ get_serial_info(struct cyclades_port * info,
static
int
set_serial_info
(
struct
cyclades_port
*
info
,
struct
serial_struct
*
new_info
)
struct
serial_struct
__user
*
new_info
)
{
struct
serial_struct
new_serial
;
struct
cyclades_port
old_info
;
...
...
@@ -3613,7 +3611,7 @@ set_serial_info(struct cyclades_port * info,
* transmit holding register is empty. This functionality
* allows an RS485 driver to be written in user space.
*/
static
int
get_lsr_info
(
struct
cyclades_port
*
info
,
unsigned
int
*
value
)
static
int
get_lsr_info
(
struct
cyclades_port
*
info
,
unsigned
int
__user
*
value
)
{
int
card
,
chip
,
channel
,
index
;
unsigned
char
status
;
...
...
@@ -3638,7 +3636,7 @@ static int get_lsr_info(struct cyclades_port *info, unsigned int *value)
/* Not supported yet */
return
-
EINVAL
;
}
return
cy_put_user
(
result
,
(
unsigned
long
*
)
value
);
return
put_user
(
result
,
(
unsigned
long
__user
*
)
value
);
}
static
int
...
...
@@ -3916,7 +3914,7 @@ cy_break(struct tty_struct *tty, int break_state)
}
/* cy_break */
static
int
get_mon_info
(
struct
cyclades_port
*
info
,
struct
cyclades_monitor
*
mon
)
get_mon_info
(
struct
cyclades_port
*
info
,
struct
cyclades_monitor
__user
*
mon
)
{
if
(
copy_to_user
(
mon
,
&
info
->
mon
,
sizeof
(
struct
cyclades_monitor
)))
...
...
@@ -3961,7 +3959,7 @@ set_threshold(struct cyclades_port * info, unsigned long value)
static
int
get_threshold
(
struct
cyclades_port
*
info
,
unsigned
long
*
value
)
get_threshold
(
struct
cyclades_port
*
info
,
unsigned
long
__user
*
value
)
{
unsigned
char
*
base_addr
;
int
card
,
channel
,
chip
,
index
;
...
...
@@ -3978,7 +3976,7 @@ get_threshold(struct cyclades_port * info, unsigned long *value)
+
(
cy_chip_offset
[
chip
]
<<
index
));
tmp
=
cy_readb
(
base_addr
+
(
CyCOR3
<<
index
))
&
CyREC_FIFO
;
return
cy_
put_user
(
tmp
,
value
);
return
put_user
(
tmp
,
value
);
}
else
{
// Nothing to do!
return
0
;
...
...
@@ -3995,9 +3993,9 @@ set_default_threshold(struct cyclades_port * info, unsigned long value)
static
int
get_default_threshold
(
struct
cyclades_port
*
info
,
unsigned
long
*
value
)
get_default_threshold
(
struct
cyclades_port
*
info
,
unsigned
long
__user
*
value
)
{
return
cy_
put_user
(
info
->
default_threshold
,
value
);
return
put_user
(
info
->
default_threshold
,
value
);
}
/* get_default_threshold */
...
...
@@ -4029,7 +4027,7 @@ set_timeout(struct cyclades_port * info, unsigned long value)
static
int
get_timeout
(
struct
cyclades_port
*
info
,
unsigned
long
*
value
)
get_timeout
(
struct
cyclades_port
*
info
,
unsigned
long
__user
*
value
)
{
unsigned
char
*
base_addr
;
int
card
,
channel
,
chip
,
index
;
...
...
@@ -4046,7 +4044,7 @@ get_timeout(struct cyclades_port * info, unsigned long *value)
+
(
cy_chip_offset
[
chip
]
<<
index
));
tmp
=
cy_readb
(
base_addr
+
(
CyRTPR
<<
index
));
return
cy_
put_user
(
tmp
,
value
);
return
put_user
(
tmp
,
value
);
}
else
{
// Nothing to do!
return
0
;
...
...
@@ -4063,9 +4061,9 @@ set_default_timeout(struct cyclades_port * info, unsigned long value)
static
int
get_default_timeout
(
struct
cyclades_port
*
info
,
unsigned
long
*
value
)
get_default_timeout
(
struct
cyclades_port
*
info
,
unsigned
long
__user
*
value
)
{
return
cy_
put_user
(
info
->
default_timeout
,
value
);
return
put_user
(
info
->
default_timeout
,
value
);
}
/* get_default_timeout */
/*
...
...
@@ -4079,9 +4077,10 @@ cy_ioctl(struct tty_struct *tty, struct file * file,
{
struct
cyclades_port
*
info
=
(
struct
cyclades_port
*
)
tty
->
driver_data
;
struct
cyclades_icount
cprev
,
cnow
;
/* kernel counter temps */
struct
serial_icounter_struct
*
p_cuser
;
/* user space */
struct
serial_icounter_struct
__user
*
p_cuser
;
/* user space */
int
ret_val
=
0
;
unsigned
long
flags
;
void
__user
*
argp
=
(
void
__user
*
)
arg
;
if
(
serial_paranoia_check
(
info
,
tty
->
name
,
"cy_ioctl"
))
return
-
ENODEV
;
...
...
@@ -4093,31 +4092,31 @@ cy_ioctl(struct tty_struct *tty, struct file * file,
switch
(
cmd
)
{
case
CYGETMON
:
ret_val
=
get_mon_info
(
info
,
(
struct
cyclades_monitor
*
)
arg
);
ret_val
=
get_mon_info
(
info
,
argp
);
break
;
case
CYGETTHRESH
:
ret_val
=
get_threshold
(
info
,
(
unsigned
long
*
)
arg
);
ret_val
=
get_threshold
(
info
,
argp
);
break
;
case
CYSETTHRESH
:
ret_val
=
set_threshold
(
info
,
(
unsigned
long
)
arg
);
ret_val
=
set_threshold
(
info
,
arg
);
break
;
case
CYGETDEFTHRESH
:
ret_val
=
get_default_threshold
(
info
,
(
unsigned
long
*
)
arg
);
ret_val
=
get_default_threshold
(
info
,
argp
);
break
;
case
CYSETDEFTHRESH
:
ret_val
=
set_default_threshold
(
info
,
(
unsigned
long
)
arg
);
ret_val
=
set_default_threshold
(
info
,
arg
);
break
;
case
CYGETTIMEOUT
:
ret_val
=
get_timeout
(
info
,
(
unsigned
long
*
)
arg
);
ret_val
=
get_timeout
(
info
,
argp
);
break
;
case
CYSETTIMEOUT
:
ret_val
=
set_timeout
(
info
,
(
unsigned
long
)
arg
);
ret_val
=
set_timeout
(
info
,
arg
);
break
;
case
CYGETDEFTIMEOUT
:
ret_val
=
get_default_timeout
(
info
,
(
unsigned
long
*
)
arg
);
ret_val
=
get_default_timeout
(
info
,
argp
);
break
;
case
CYSETDEFTIMEOUT
:
ret_val
=
set_default_timeout
(
info
,
(
unsigned
long
)
arg
);
ret_val
=
set_default_timeout
(
info
,
arg
);
break
;
case
CYSETRFLOW
:
info
->
rflow
=
(
int
)
arg
;
...
...
@@ -4134,7 +4133,7 @@ cy_ioctl(struct tty_struct *tty, struct file * file,
ret_val
=
info
->
rtsdtr_inv
;
break
;
case
CYGETCARDINFO
:
if
(
copy_to_user
(
(
void
*
)
arg
,
(
void
*
)
&
cy_card
[
info
->
card
],
if
(
copy_to_user
(
argp
,
&
cy_card
[
info
->
card
],
sizeof
(
struct
cyclades_card
)))
{
ret_val
=
-
EFAULT
;
break
;
...
...
@@ -4161,13 +4160,13 @@ cy_ioctl(struct tty_struct *tty, struct file * file,
ret_val
=
info
->
closing_wait
/
(
HZ
/
100
);
break
;
case
TIOCGSERIAL
:
ret_val
=
get_serial_info
(
info
,
(
struct
serial_struct
*
)
arg
);
ret_val
=
get_serial_info
(
info
,
argp
);
break
;
case
TIOCSSERIAL
:
ret_val
=
set_serial_info
(
info
,
(
struct
serial_struct
*
)
arg
);
ret_val
=
set_serial_info
(
info
,
argp
);
break
;
case
TIOCSERGETLSR
:
/* Get line status register */
ret_val
=
get_lsr_info
(
info
,
(
unsigned
int
*
)
arg
);
ret_val
=
get_lsr_info
(
info
,
argp
);
break
;
/*
* Wait for any of the 4 modem inputs (DCD,RI,DSR,CTS) to change
...
...
@@ -4215,7 +4214,7 @@ cy_ioctl(struct tty_struct *tty, struct file * file,
CY_LOCK
(
info
,
flags
);
cnow
=
info
->
icount
;
CY_UNLOCK
(
info
,
flags
);
p_cuser
=
(
struct
serial_icounter_struct
*
)
arg
;
p_cuser
=
argp
;
ret_val
=
put_user
(
cnow
.
cts
,
&
p_cuser
->
cts
);
if
(
ret_val
)
return
ret_val
;
ret_val
=
put_user
(
cnow
.
dsr
,
&
p_cuser
->
dsr
);
...
...
drivers/char/ipmi/ipmi_devintf.c
View file @
5b578afe
...
...
@@ -231,6 +231,7 @@ static int ipmi_ioctl(struct inode *inode,
{
int
rv
=
-
EINVAL
;
struct
ipmi_file_private
*
priv
=
file
->
private_data
;
void
__user
*
arg
=
(
void
__user
*
)
data
;
switch
(
cmd
)
{
...
...
@@ -238,7 +239,7 @@ static int ipmi_ioctl(struct inode *inode,
{
struct
ipmi_req
req
;
if
(
copy_from_user
(
&
req
,
(
void
*
)
data
,
sizeof
(
req
)))
{
if
(
copy_from_user
(
&
req
,
arg
,
sizeof
(
req
)))
{
rv
=
-
EFAULT
;
break
;
}
...
...
@@ -254,7 +255,7 @@ static int ipmi_ioctl(struct inode *inode,
{
struct
ipmi_req_settime
req
;
if
(
copy_from_user
(
&
req
,
(
void
*
)
data
,
sizeof
(
req
)))
{
if
(
copy_from_user
(
&
req
,
arg
,
sizeof
(
req
)))
{
rv
=
-
EFAULT
;
break
;
}
...
...
@@ -277,7 +278,7 @@ static int ipmi_ioctl(struct inode *inode,
rv
=
0
;
if
(
copy_from_user
(
&
rsp
,
(
void
*
)
data
,
sizeof
(
rsp
)))
{
if
(
copy_from_user
(
&
rsp
,
arg
,
sizeof
(
rsp
)))
{
rv
=
-
EFAULT
;
break
;
}
...
...
@@ -344,7 +345,7 @@ static int ipmi_ioctl(struct inode *inode,
rsp
.
msg
.
data_len
=
0
;
}
if
(
copy_to_user
(
(
void
*
)
data
,
&
rsp
,
sizeof
(
rsp
)))
{
if
(
copy_to_user
(
arg
,
&
rsp
,
sizeof
(
rsp
)))
{
rv
=
-
EFAULT
;
goto
recv_putback_on_err
;
}
...
...
@@ -371,7 +372,7 @@ static int ipmi_ioctl(struct inode *inode,
{
struct
ipmi_cmdspec
val
;
if
(
copy_from_user
(
&
val
,
(
void
*
)
data
,
sizeof
(
val
)))
{
if
(
copy_from_user
(
&
val
,
arg
,
sizeof
(
val
)))
{
rv
=
-
EFAULT
;
break
;
}
...
...
@@ -384,7 +385,7 @@ static int ipmi_ioctl(struct inode *inode,
{
struct
ipmi_cmdspec
val
;
if
(
copy_from_user
(
&
val
,
(
void
*
)
data
,
sizeof
(
val
)))
{
if
(
copy_from_user
(
&
val
,
arg
,
sizeof
(
val
)))
{
rv
=
-
EFAULT
;
break
;
}
...
...
@@ -397,7 +398,7 @@ static int ipmi_ioctl(struct inode *inode,
{
int
val
;
if
(
copy_from_user
(
&
val
,
(
void
*
)
data
,
sizeof
(
val
)))
{
if
(
copy_from_user
(
&
val
,
arg
,
sizeof
(
val
)))
{
rv
=
-
EFAULT
;
break
;
}
...
...
@@ -410,7 +411,7 @@ static int ipmi_ioctl(struct inode *inode,
{
unsigned
int
val
;
if
(
copy_from_user
(
&
val
,
(
void
*
)
data
,
sizeof
(
val
)))
{
if
(
copy_from_user
(
&
val
,
arg
,
sizeof
(
val
)))
{
rv
=
-
EFAULT
;
break
;
}
...
...
@@ -426,7 +427,7 @@ static int ipmi_ioctl(struct inode *inode,
val
=
ipmi_get_my_address
(
priv
->
user
);
if
(
copy_to_user
(
(
void
*
)
data
,
&
val
,
sizeof
(
val
)))
{
if
(
copy_to_user
(
arg
,
&
val
,
sizeof
(
val
)))
{
rv
=
-
EFAULT
;
break
;
}
...
...
@@ -438,7 +439,7 @@ static int ipmi_ioctl(struct inode *inode,
{
unsigned
int
val
;
if
(
copy_from_user
(
&
val
,
(
void
*
)
data
,
sizeof
(
val
)))
{
if
(
copy_from_user
(
&
val
,
arg
,
sizeof
(
val
)))
{
rv
=
-
EFAULT
;
break
;
}
...
...
@@ -454,7 +455,7 @@ static int ipmi_ioctl(struct inode *inode,
val
=
ipmi_get_my_LUN
(
priv
->
user
);
if
(
copy_to_user
(
(
void
*
)
data
,
&
val
,
sizeof
(
val
)))
{
if
(
copy_to_user
(
arg
,
&
val
,
sizeof
(
val
)))
{
rv
=
-
EFAULT
;
break
;
}
...
...
@@ -465,7 +466,7 @@ static int ipmi_ioctl(struct inode *inode,
{
struct
ipmi_timing_parms
parms
;
if
(
copy_from_user
(
&
parms
,
(
void
*
)
data
,
sizeof
(
parms
)))
{
if
(
copy_from_user
(
&
parms
,
arg
,
sizeof
(
parms
)))
{
rv
=
-
EFAULT
;
break
;
}
...
...
@@ -483,7 +484,7 @@ static int ipmi_ioctl(struct inode *inode,
parms
.
retries
=
priv
->
default_retries
;
parms
.
retry_time_ms
=
priv
->
default_retry_time_ms
;
if
(
copy_to_user
(
(
void
*
)
data
,
&
parms
,
sizeof
(
parms
)))
{
if
(
copy_to_user
(
arg
,
&
parms
,
sizeof
(
parms
)))
{
rv
=
-
EFAULT
;
break
;
}
...
...
drivers/char/ipmi/ipmi_watchdog.c
View file @
5b578afe
...
...
@@ -515,40 +515,37 @@ static struct watchdog_info ident=
static
int
ipmi_ioctl
(
struct
inode
*
inode
,
struct
file
*
file
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
void
__user
*
argp
=
(
void
__user
*
)
arg
;
int
i
;
int
val
;
switch
(
cmd
)
{
case
WDIOC_GETSUPPORT
:
i
=
copy_to_user
(
(
void
*
)
arg
,
&
ident
,
sizeof
(
ident
));
i
=
copy_to_user
(
argp
,
&
ident
,
sizeof
(
ident
));
return
i
?
-
EFAULT
:
0
;
case
WDIOC_SETTIMEOUT
:
i
=
copy_from_user
(
&
val
,
(
void
*
)
arg
,
sizeof
(
int
));
i
=
copy_from_user
(
&
val
,
argp
,
sizeof
(
int
));
if
(
i
)
return
-
EFAULT
;
timeout
=
val
;
return
ipmi_set_timeout
(
IPMI_SET_TIMEOUT_HB_IF_NECESSARY
);
case
WDIOC_GETTIMEOUT
:
i
=
copy_to_user
((
void
*
)
arg
,
&
timeout
,
sizeof
(
timeout
));
i
=
copy_to_user
(
argp
,
&
timeout
,
sizeof
(
timeout
));
if
(
i
)
return
-
EFAULT
;
return
0
;
case
WDIOC_SET_PRETIMEOUT
:
i
=
copy_from_user
(
&
val
,
(
void
*
)
arg
,
sizeof
(
int
));
i
=
copy_from_user
(
&
val
,
argp
,
sizeof
(
int
));
if
(
i
)
return
-
EFAULT
;
pretimeout
=
val
;
return
ipmi_set_timeout
(
IPMI_SET_TIMEOUT_HB_IF_NECESSARY
);
case
WDIOC_GET_PRETIMEOUT
:
i
=
copy_to_user
((
void
*
)
arg
,
&
pretimeout
,
sizeof
(
pretimeout
));
i
=
copy_to_user
(
argp
,
&
pretimeout
,
sizeof
(
pretimeout
));
if
(
i
)
return
-
EFAULT
;
return
0
;
...
...
@@ -557,7 +554,7 @@ static int ipmi_ioctl(struct inode *inode, struct file *file,
return
ipmi_heartbeat
();
case
WDIOC_SETOPTIONS
:
i
=
copy_from_user
(
&
val
,
(
void
*
)
arg
,
sizeof
(
int
));
i
=
copy_from_user
(
&
val
,
argp
,
sizeof
(
int
));
if
(
i
)
return
-
EFAULT
;
if
(
val
&
WDIOS_DISABLECARD
)
...
...
@@ -576,7 +573,7 @@ static int ipmi_ioctl(struct inode *inode, struct file *file,
case
WDIOC_GETSTATUS
:
val
=
0
;
i
=
copy_to_user
(
(
void
*
)
arg
,
&
val
,
sizeof
(
val
));
i
=
copy_to_user
(
argp
,
&
val
,
sizeof
(
val
));
if
(
i
)
return
-
EFAULT
;
return
0
;
...
...
@@ -587,7 +584,7 @@ static int ipmi_ioctl(struct inode *inode, struct file *file,
}
static
ssize_t
ipmi_write
(
struct
file
*
file
,
const
char
*
buf
,
const
char
__user
*
buf
,
size_t
len
,
loff_t
*
ppos
)
{
...
...
@@ -607,7 +604,7 @@ static ssize_t ipmi_write(struct file *file,
}
static
ssize_t
ipmi_read
(
struct
file
*
file
,
char
*
buf
,
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
{
...
...
drivers/char/mwave/3780i.c
View file @
5b578afe
...
...
@@ -467,10 +467,10 @@ int dsp3780I_Run(DSP_3780I_CONFIG_SETTINGS * pSettings)
}
int
dsp3780I_ReadDStore
(
unsigned
short
usDspBaseIO
,
void
*
pvBuffer
,
int
dsp3780I_ReadDStore
(
unsigned
short
usDspBaseIO
,
void
__user
*
pvBuffer
,
unsigned
uCount
,
unsigned
long
ulDSPAddr
)
{
unsigned
short
*
pusBuffer
=
pvBuffer
;
unsigned
short
__user
*
pusBuffer
=
pvBuffer
;
unsigned
short
val
;
...
...
@@ -508,10 +508,10 @@ int dsp3780I_ReadDStore(unsigned short usDspBaseIO, void *pvBuffer,
}
int
dsp3780I_ReadAndClearDStore
(
unsigned
short
usDspBaseIO
,
void
*
pvBuffer
,
unsigned
uCount
,
void
__user
*
pvBuffer
,
unsigned
uCount
,
unsigned
long
ulDSPAddr
)
{
unsigned
short
*
pusBuffer
=
pvBuffer
;
unsigned
short
__user
*
pusBuffer
=
pvBuffer
;
unsigned
short
val
;
...
...
@@ -549,10 +549,10 @@ int dsp3780I_ReadAndClearDStore(unsigned short usDspBaseIO,
}
int
dsp3780I_WriteDStore
(
unsigned
short
usDspBaseIO
,
void
*
pvBuffer
,
int
dsp3780I_WriteDStore
(
unsigned
short
usDspBaseIO
,
void
__user
*
pvBuffer
,
unsigned
uCount
,
unsigned
long
ulDSPAddr
)
{
unsigned
short
*
pusBuffer
=
pvBuffer
;
unsigned
short
__user
*
pusBuffer
=
pvBuffer
;
PRINTK_5
(
TRACE_3780I
,
...
...
@@ -590,10 +590,10 @@ int dsp3780I_WriteDStore(unsigned short usDspBaseIO, void *pvBuffer,
}
int
dsp3780I_ReadIStore
(
unsigned
short
usDspBaseIO
,
void
*
pvBuffer
,
int
dsp3780I_ReadIStore
(
unsigned
short
usDspBaseIO
,
void
__user
*
pvBuffer
,
unsigned
uCount
,
unsigned
long
ulDSPAddr
)
{
unsigned
short
*
pusBuffer
=
pvBuffer
;
unsigned
short
__user
*
pusBuffer
=
pvBuffer
;
PRINTK_5
(
TRACE_3780I
,
"3780i::dsp3780I_ReadIStore entry usDspBaseIO %x, pusBuffer %p, uCount %x, ulDSPAddr %lx
\n
"
,
...
...
@@ -637,10 +637,10 @@ int dsp3780I_ReadIStore(unsigned short usDspBaseIO, void *pvBuffer,
}
int
dsp3780I_WriteIStore
(
unsigned
short
usDspBaseIO
,
void
*
pvBuffer
,
int
dsp3780I_WriteIStore
(
unsigned
short
usDspBaseIO
,
void
__user
*
pvBuffer
,
unsigned
uCount
,
unsigned
long
ulDSPAddr
)
{
unsigned
short
*
pusBuffer
=
pvBuffer
;
unsigned
short
__user
*
pusBuffer
=
pvBuffer
;
PRINTK_5
(
TRACE_3780I
,
"3780i::dsp3780I_WriteIStore entry usDspBaseIO %x, pusBuffer %p, uCount %x, ulDSPAddr %lx
\n
"
,
...
...
drivers/char/mwave/3780i.h
View file @
5b578afe
...
...
@@ -323,16 +323,16 @@ int dsp3780I_EnableDSP(DSP_3780I_CONFIG_SETTINGS * pSettings,
int
dsp3780I_DisableDSP
(
DSP_3780I_CONFIG_SETTINGS
*
pSettings
);
int
dsp3780I_Reset
(
DSP_3780I_CONFIG_SETTINGS
*
pSettings
);
int
dsp3780I_Run
(
DSP_3780I_CONFIG_SETTINGS
*
pSettings
);
int
dsp3780I_ReadDStore
(
unsigned
short
usDspBaseIO
,
void
*
pvBuffer
,
int
dsp3780I_ReadDStore
(
unsigned
short
usDspBaseIO
,
void
__user
*
pvBuffer
,
unsigned
uCount
,
unsigned
long
ulDSPAddr
);
int
dsp3780I_ReadAndClearDStore
(
unsigned
short
usDspBaseIO
,
void
*
pvBuffer
,
unsigned
uCount
,
void
__user
*
pvBuffer
,
unsigned
uCount
,
unsigned
long
ulDSPAddr
);
int
dsp3780I_WriteDStore
(
unsigned
short
usDspBaseIO
,
void
*
pvBuffer
,
int
dsp3780I_WriteDStore
(
unsigned
short
usDspBaseIO
,
void
__user
*
pvBuffer
,
unsigned
uCount
,
unsigned
long
ulDSPAddr
);
int
dsp3780I_ReadIStore
(
unsigned
short
usDspBaseIO
,
void
*
pvBuffer
,
int
dsp3780I_ReadIStore
(
unsigned
short
usDspBaseIO
,
void
__user
*
pvBuffer
,
unsigned
uCount
,
unsigned
long
ulDSPAddr
);
int
dsp3780I_WriteIStore
(
unsigned
short
usDspBaseIO
,
void
*
pvBuffer
,
int
dsp3780I_WriteIStore
(
unsigned
short
usDspBaseIO
,
void
__user
*
pvBuffer
,
unsigned
uCount
,
unsigned
long
ulDSPAddr
);
unsigned
short
dsp3780I_ReadMsaCfg
(
unsigned
short
usDspBaseIO
,
unsigned
long
ulMsaAddr
);
...
...
drivers/char/mwave/mwavedd.c
View file @
5b578afe
...
...
@@ -121,6 +121,7 @@ static int mwave_ioctl(struct inode *inode, struct file *file,
{
unsigned
int
retval
=
0
;
pMWAVE_DEVICE_DATA
pDrvData
=
&
mwave_s_mdd
;
void
__user
*
arg
=
(
void
__user
*
)
ioarg
;
PRINTK_5
(
TRACE_MWAVE
,
"mwavedd::mwave_ioctl, entry inode %x file %x cmd %x arg %x
\n
"
,
...
...
@@ -164,8 +165,7 @@ static int mwave_ioctl(struct inode *inode, struct file *file,
" retval %x from tp3780I_QueryAbilities
\n
"
,
retval
);
if
(
retval
==
0
)
{
if
(
copy_to_user
((
char
*
)
ioarg
,
(
char
*
)
&
rAbilities
,
if
(
copy_to_user
(
arg
,
&
rAbilities
,
sizeof
(
MW_ABILITIES
))
)
return
-
EFAULT
;
}
...
...
@@ -179,13 +179,12 @@ static int mwave_ioctl(struct inode *inode, struct file *file,
case
IOCTL_MW_READ_DATA
:
case
IOCTL_MW_READCLEAR_DATA
:
{
MW_READWRITE
rReadData
;
unsigned
short
*
pusBuffer
=
0
;
unsigned
short
__user
*
pusBuffer
=
0
;
if
(
copy_from_user
((
char
*
)
&
rReadData
,
(
char
*
)
ioarg
,
if
(
copy_from_user
(
&
rReadData
,
arg
,
sizeof
(
MW_READWRITE
))
)
return
-
EFAULT
;
pusBuffer
=
(
unsigned
short
*
)
(
rReadData
.
pBuf
);
pusBuffer
=
(
unsigned
short
__user
*
)
(
rReadData
.
pBuf
);
PRINTK_4
(
TRACE_MWAVE
,
"mwavedd::mwave_ioctl IOCTL_MW_READ_DATA,"
...
...
@@ -193,7 +192,7 @@ static int mwave_ioctl(struct inode *inode, struct file *file,
rReadData
.
ulDataLength
,
ioarg
,
pusBuffer
);
retval
=
tp3780I_ReadWriteDspDStore
(
&
pDrvData
->
rBDData
,
iocmd
,
(
void
*
)
pusBuffer
,
pusBuffer
,
rReadData
.
ulDataLength
,
rReadData
.
usDspAddress
);
}
...
...
@@ -201,12 +200,12 @@ static int mwave_ioctl(struct inode *inode, struct file *file,
case
IOCTL_MW_READ_INST
:
{
MW_READWRITE
rReadData
;
unsigned
short
*
pusBuffer
=
0
;
unsigned
short
__user
*
pusBuffer
=
0
;
if
(
copy_from_user
(
(
char
*
)
&
rReadData
,
(
char
*
)
io
arg
,
if
(
copy_from_user
(
&
rReadData
,
arg
,
sizeof
(
MW_READWRITE
))
)
return
-
EFAULT
;
pusBuffer
=
(
unsigned
short
*
)
(
rReadData
.
pBuf
);
pusBuffer
=
(
unsigned
short
__user
*
)
(
rReadData
.
pBuf
);
PRINTK_4
(
TRACE_MWAVE
,
"mwavedd::mwave_ioctl IOCTL_MW_READ_INST,"
...
...
@@ -222,13 +221,12 @@ static int mwave_ioctl(struct inode *inode, struct file *file,
case
IOCTL_MW_WRITE_DATA
:
{
MW_READWRITE
rWriteData
;
unsigned
short
*
pusBuffer
=
0
;
unsigned
short
__user
*
pusBuffer
=
0
;
if
(
copy_from_user
((
char
*
)
&
rWriteData
,
(
char
*
)
ioarg
,
if
(
copy_from_user
(
&
rWriteData
,
arg
,
sizeof
(
MW_READWRITE
))
)
return
-
EFAULT
;
pusBuffer
=
(
unsigned
short
*
)
(
rWriteData
.
pBuf
);
pusBuffer
=
(
unsigned
short
__user
*
)
(
rWriteData
.
pBuf
);
PRINTK_4
(
TRACE_MWAVE
,
"mwavedd::mwave_ioctl IOCTL_MW_WRITE_DATA,"
...
...
@@ -244,13 +242,12 @@ static int mwave_ioctl(struct inode *inode, struct file *file,
case
IOCTL_MW_WRITE_INST
:
{
MW_READWRITE
rWriteData
;
unsigned
short
*
pusBuffer
=
0
;
unsigned
short
__user
*
pusBuffer
=
0
;
if
(
copy_from_user
((
char
*
)
&
rWriteData
,
(
char
*
)
ioarg
,
if
(
copy_from_user
(
&
rWriteData
,
arg
,
sizeof
(
MW_READWRITE
))
)
return
-
EFAULT
;
pusBuffer
=
(
unsigned
short
*
)
(
rWriteData
.
pBuf
);
pusBuffer
=
(
unsigned
short
__user
*
)
(
rWriteData
.
pBuf
);
PRINTK_4
(
TRACE_MWAVE
,
"mwavedd::mwave_ioctl IOCTL_MW_WRITE_INST,"
...
...
@@ -388,7 +385,7 @@ static int mwave_ioctl(struct inode *inode, struct file *file,
}
static
ssize_t
mwave_read
(
struct
file
*
file
,
char
*
buf
,
size_t
count
,
static
ssize_t
mwave_read
(
struct
file
*
file
,
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
{
PRINTK_5
(
TRACE_MWAVE
,
...
...
@@ -399,7 +396,7 @@ static ssize_t mwave_read(struct file *file, char *buf, size_t count,
}
static
ssize_t
mwave_write
(
struct
file
*
file
,
const
char
*
buf
,
static
ssize_t
mwave_write
(
struct
file
*
file
,
const
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
{
PRINTK_5
(
TRACE_MWAVE
,
...
...
drivers/char/mwave/tp3780i.c
View file @
5b578afe
...
...
@@ -522,7 +522,7 @@ int tp3780I_QueryAbilities(THINKPAD_BD_DATA * pBDData, MW_ABILITIES * pAbilities
}
int
tp3780I_ReadWriteDspDStore
(
THINKPAD_BD_DATA
*
pBDData
,
unsigned
int
uOpcode
,
void
*
pvBuffer
,
unsigned
int
uCount
,
void
__user
*
pvBuffer
,
unsigned
int
uCount
,
unsigned
long
ulDSPAddr
)
{
int
retval
=
0
;
...
...
@@ -558,7 +558,7 @@ int tp3780I_ReadWriteDspDStore(THINKPAD_BD_DATA * pBDData, unsigned int uOpcode,
int
tp3780I_ReadWriteDspIStore
(
THINKPAD_BD_DATA
*
pBDData
,
unsigned
int
uOpcode
,
void
*
pvBuffer
,
unsigned
int
uCount
,
void
__user
*
pvBuffer
,
unsigned
int
uCount
,
unsigned
long
ulDSPAddr
)
{
int
retval
=
0
;
...
...
drivers/char/mwave/tp3780i.h
View file @
5b578afe
...
...
@@ -93,10 +93,10 @@ int tp3780I_StartDSP(THINKPAD_BD_DATA * pBDData);
int
tp3780I_QueryAbilities
(
THINKPAD_BD_DATA
*
pBDData
,
MW_ABILITIES
*
pAbilities
);
int
tp3780I_Cleanup
(
THINKPAD_BD_DATA
*
pBDData
);
int
tp3780I_ReadWriteDspDStore
(
THINKPAD_BD_DATA
*
pBDData
,
unsigned
int
uOpcode
,
void
*
pvBuffer
,
unsigned
int
uCount
,
void
__user
*
pvBuffer
,
unsigned
int
uCount
,
unsigned
long
ulDSPAddr
);
int
tp3780I_ReadWriteDspIStore
(
THINKPAD_BD_DATA
*
pBDData
,
unsigned
int
uOpcode
,
void
*
pvBuffer
,
unsigned
int
uCount
,
void
__user
*
pvBuffer
,
unsigned
int
uCount
,
unsigned
long
ulDSPAddr
);
...
...
drivers/char/synclinkmp.c
View file @
5b578afe
...
...
@@ -567,17 +567,17 @@ static struct net_device_stats *sppp_cb_net_stats(struct net_device *dev);
/* ioctl handlers */
static
int
get_stats
(
SLMP_INFO
*
info
,
struct
mgsl_icount
*
user_icount
);
static
int
get_params
(
SLMP_INFO
*
info
,
MGSL_PARAMS
*
params
);
static
int
set_params
(
SLMP_INFO
*
info
,
MGSL_PARAMS
*
params
);
static
int
get_txidle
(
SLMP_INFO
*
info
,
int
*
idle_mode
);
static
int
get_stats
(
SLMP_INFO
*
info
,
struct
mgsl_icount
__user
*
user_icount
);
static
int
get_params
(
SLMP_INFO
*
info
,
MGSL_PARAMS
__user
*
params
);
static
int
set_params
(
SLMP_INFO
*
info
,
MGSL_PARAMS
__user
*
params
);
static
int
get_txidle
(
SLMP_INFO
*
info
,
int
__user
*
idle_mode
);
static
int
set_txidle
(
SLMP_INFO
*
info
,
int
idle_mode
);
static
int
tx_enable
(
SLMP_INFO
*
info
,
int
enable
);
static
int
tx_abort
(
SLMP_INFO
*
info
);
static
int
rx_enable
(
SLMP_INFO
*
info
,
int
enable
);
static
int
map_status
(
int
signals
);
static
int
modem_input_wait
(
SLMP_INFO
*
info
,
int
arg
);
static
int
wait_mgsl_event
(
SLMP_INFO
*
info
,
int
*
mask_ptr
);
static
int
wait_mgsl_event
(
SLMP_INFO
*
info
,
int
__user
*
mask_ptr
);
static
int
tiocmget
(
struct
tty_struct
*
tty
,
struct
file
*
file
);
static
int
tiocmset
(
struct
tty_struct
*
tty
,
struct
file
*
file
,
unsigned
int
set
,
unsigned
int
clear
);
...
...
@@ -692,7 +692,7 @@ static u32 sca_pci_load_interval = 64;
* This allows remote debugging of dynamically loadable modules.
*/
static
void
*
synclinkmp_get_text_ptr
(
void
);
static
void
*
synclinkmp_get_text_ptr
()
{
return
synclinkmp_get_text_ptr
;}
static
void
*
synclinkmp_get_text_ptr
(
void
)
{
return
synclinkmp_get_text_ptr
;}
static
inline
int
sanity_check
(
SLMP_INFO
*
info
,
char
*
name
,
const
char
*
routine
)
...
...
@@ -1333,8 +1333,9 @@ static int ioctl(struct tty_struct *tty, struct file *file,
SLMP_INFO
*
info
=
(
SLMP_INFO
*
)
tty
->
driver_data
;
int
error
;
struct
mgsl_icount
cnow
;
/* kernel counter temps */
struct
serial_icounter_struct
*
p_cuser
;
/* user space */
struct
serial_icounter_struct
__user
*
p_cuser
;
/* user space */
unsigned
long
flags
;
void
__user
*
argp
=
(
void
__user
*
)
arg
;
if
(
debug_level
>=
DEBUG_LEVEL_INFO
)
printk
(
"%s(%d):%s ioctl() cmd=%08X
\n
"
,
__FILE__
,
__LINE__
,
...
...
@@ -1351,23 +1352,23 @@ static int ioctl(struct tty_struct *tty, struct file *file,
switch
(
cmd
)
{
case
MGSL_IOCGPARAMS
:
return
get_params
(
info
,
(
MGSL_PARAMS
*
)
arg
);
return
get_params
(
info
,
argp
);
case
MGSL_IOCSPARAMS
:
return
set_params
(
info
,
(
MGSL_PARAMS
*
)
arg
);
return
set_params
(
info
,
argp
);
case
MGSL_IOCGTXIDLE
:
return
get_txidle
(
info
,
(
int
*
)
arg
);
return
get_txidle
(
info
,
argp
);
case
MGSL_IOCSTXIDLE
:
return
set_txidle
(
info
,(
int
)
arg
);
return
set_txidle
(
info
,
(
int
)
arg
);
case
MGSL_IOCTXENABLE
:
return
tx_enable
(
info
,(
int
)
arg
);
return
tx_enable
(
info
,
(
int
)
arg
);
case
MGSL_IOCRXENABLE
:
return
rx_enable
(
info
,(
int
)
arg
);
return
rx_enable
(
info
,
(
int
)
arg
);
case
MGSL_IOCTXABORT
:
return
tx_abort
(
info
);
case
MGSL_IOCGSTATS
:
return
get_stats
(
info
,
(
struct
mgsl_icount
*
)
arg
);
return
get_stats
(
info
,
argp
);
case
MGSL_IOCWAITEVENT
:
return
wait_mgsl_event
(
info
,
(
int
*
)
arg
);
return
wait_mgsl_event
(
info
,
argp
);
case
MGSL_IOCLOOPTXDONE
:
return
0
;
// TODO: Not supported, need to document
/* Wait for modem input (DCD,RI,DSR,CTS) change
...
...
@@ -1386,7 +1387,7 @@ static int ioctl(struct tty_struct *tty, struct file *file,
spin_lock_irqsave
(
&
info
->
lock
,
flags
);
cnow
=
info
->
icount
;
spin_unlock_irqrestore
(
&
info
->
lock
,
flags
);
p_cuser
=
(
struct
serial_icounter_struct
*
)
arg
;
p_cuser
=
argp
;
PUT_USER
(
error
,
cnow
.
cts
,
&
p_cuser
->
cts
);
if
(
error
)
return
error
;
PUT_USER
(
error
,
cnow
.
dsr
,
&
p_cuser
->
dsr
);
...
...
@@ -2762,7 +2763,7 @@ static void change_params(SLMP_INFO *info)
program_hw
(
info
);
}
static
int
get_stats
(
SLMP_INFO
*
info
,
struct
mgsl_icount
*
user_icount
)
static
int
get_stats
(
SLMP_INFO
*
info
,
struct
mgsl_icount
__user
*
user_icount
)
{
int
err
;
...
...
@@ -2781,7 +2782,7 @@ static int get_stats(SLMP_INFO * info, struct mgsl_icount *user_icount)
return
0
;
}
static
int
get_params
(
SLMP_INFO
*
info
,
MGSL_PARAMS
*
user_params
)
static
int
get_params
(
SLMP_INFO
*
info
,
MGSL_PARAMS
__user
*
user_params
)
{
int
err
;
if
(
debug_level
>=
DEBUG_LEVEL_INFO
)
...
...
@@ -2799,7 +2800,7 @@ static int get_params(SLMP_INFO * info, MGSL_PARAMS *user_params)
return
0
;
}
static
int
set_params
(
SLMP_INFO
*
info
,
MGSL_PARAMS
*
new_params
)
static
int
set_params
(
SLMP_INFO
*
info
,
MGSL_PARAMS
__user
*
new_params
)
{
unsigned
long
flags
;
MGSL_PARAMS
tmp_params
;
...
...
@@ -2825,7 +2826,7 @@ static int set_params(SLMP_INFO * info, MGSL_PARAMS *new_params)
return
0
;
}
static
int
get_txidle
(
SLMP_INFO
*
info
,
int
*
idle_mode
)
static
int
get_txidle
(
SLMP_INFO
*
info
,
int
__user
*
idle_mode
)
{
int
err
;
...
...
@@ -2938,7 +2939,7 @@ static int map_status(int signals)
/* wait for specified event to occur
*/
static
int
wait_mgsl_event
(
SLMP_INFO
*
info
,
int
*
mask_ptr
)
static
int
wait_mgsl_event
(
SLMP_INFO
*
info
,
int
__user
*
mask_ptr
)
{
unsigned
long
flags
;
int
s
;
...
...
drivers/video/fbmem.c
View file @
5b578afe
...
...
@@ -806,7 +806,7 @@ static int fbmem_read_proc(char *buf, char **start, off_t offset,
}
static
ssize_t
fb_read
(
struct
file
*
file
,
char
*
buf
,
size_t
count
,
loff_t
*
ppos
)
fb_read
(
struct
file
*
file
,
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
{
unsigned
long
p
=
*
ppos
;
struct
inode
*
inode
=
file
->
f_dentry
->
d_inode
;
...
...
@@ -843,7 +843,7 @@ fb_read(struct file *file, char *buf, size_t count, loff_t *ppos)
}
static
ssize_t
fb_write
(
struct
file
*
file
,
const
char
*
buf
,
size_t
count
,
loff_t
*
ppos
)
fb_write
(
struct
file
*
file
,
const
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
{
unsigned
long
p
=
*
ppos
;
struct
inode
*
inode
=
file
->
f_dentry
->
d_inode
;
...
...
drivers/video/imsttfb.c
View file @
5b578afe
...
...
@@ -1267,48 +1267,49 @@ imsttfb_ioctl(struct inode *inode, struct file *file, u_int cmd,
u_long
arg
,
struct
fb_info
*
info
)
{
struct
imstt_par
*
par
=
(
struct
imstt_par
*
)
info
->
par
;
void
__user
*
argp
=
(
void
__user
*
)
arg
;
__u32
reg
[
2
];
__u8
idx
[
2
];
switch
(
cmd
)
{
case
FBIMSTT_SETREG
:
if
(
copy_from_user
(
reg
,
(
void
*
)
arg
,
8
)
||
reg
[
0
]
>
(
0x1000
-
sizeof
(
reg
[
0
]))
/
sizeof
(
reg
[
0
]))
if
(
copy_from_user
(
reg
,
argp
,
8
)
||
reg
[
0
]
>
(
0x1000
-
sizeof
(
reg
[
0
]))
/
sizeof
(
reg
[
0
]))
return
-
EFAULT
;
write_reg_le32
(
par
->
dc_regs
,
reg
[
0
],
reg
[
1
]);
return
0
;
case
FBIMSTT_GETREG
:
if
(
copy_from_user
(
reg
,
(
void
*
)
arg
,
4
)
||
reg
[
0
]
>
(
0x1000
-
sizeof
(
reg
[
0
]))
/
sizeof
(
reg
[
0
]))
if
(
copy_from_user
(
reg
,
argp
,
4
)
||
reg
[
0
]
>
(
0x1000
-
sizeof
(
reg
[
0
]))
/
sizeof
(
reg
[
0
]))
return
-
EFAULT
;
reg
[
1
]
=
read_reg_le32
(
par
->
dc_regs
,
reg
[
0
]);
if
(
copy_to_user
((
void
*
)(
arg
+
4
),
&
reg
[
1
],
4
))
if
(
copy_to_user
((
void
__user
*
)(
arg
+
4
),
&
reg
[
1
],
4
))
return
-
EFAULT
;
return
0
;
case
FBIMSTT_SETCMAPREG
:
if
(
copy_from_user
(
reg
,
(
void
*
)
arg
,
8
)
||
reg
[
0
]
>
(
0x1000
-
sizeof
(
reg
[
0
]))
/
sizeof
(
reg
[
0
]))
if
(
copy_from_user
(
reg
,
argp
,
8
)
||
reg
[
0
]
>
(
0x1000
-
sizeof
(
reg
[
0
]))
/
sizeof
(
reg
[
0
]))
return
-
EFAULT
;
write_reg_le32
(((
u_int
*
)
par
->
cmap_regs
),
reg
[
0
],
reg
[
1
]);
return
0
;
case
FBIMSTT_GETCMAPREG
:
if
(
copy_from_user
(
reg
,
(
void
*
)
arg
,
4
)
||
reg
[
0
]
>
(
0x1000
-
sizeof
(
reg
[
0
]))
/
sizeof
(
reg
[
0
]))
if
(
copy_from_user
(
reg
,
argp
,
4
)
||
reg
[
0
]
>
(
0x1000
-
sizeof
(
reg
[
0
]))
/
sizeof
(
reg
[
0
]))
return
-
EFAULT
;
reg
[
1
]
=
read_reg_le32
(((
u_int
*
)
par
->
cmap_regs
),
reg
[
0
]);
if
(
copy_to_user
((
void
*
)(
arg
+
4
),
&
reg
[
1
],
4
))
if
(
copy_to_user
((
void
__user
*
)(
arg
+
4
),
&
reg
[
1
],
4
))
return
-
EFAULT
;
return
0
;
case
FBIMSTT_SETIDXREG
:
if
(
copy_from_user
(
idx
,
(
void
*
)
arg
,
2
))
if
(
copy_from_user
(
idx
,
argp
,
2
))
return
-
EFAULT
;
par
->
cmap_regs
[
PIDXHI
]
=
0
;
eieio
();
par
->
cmap_regs
[
PIDXLO
]
=
idx
[
0
];
eieio
();
par
->
cmap_regs
[
PIDXDATA
]
=
idx
[
1
];
eieio
();
return
0
;
case
FBIMSTT_GETIDXREG
:
if
(
copy_from_user
(
idx
,
(
void
*
)
arg
,
1
))
if
(
copy_from_user
(
idx
,
argp
,
1
))
return
-
EFAULT
;
par
->
cmap_regs
[
PIDXHI
]
=
0
;
eieio
();
par
->
cmap_regs
[
PIDXLO
]
=
idx
[
0
];
eieio
();
idx
[
1
]
=
par
->
cmap_regs
[
PIDXDATA
];
if
(
copy_to_user
((
void
*
)(
arg
+
1
),
&
idx
[
1
],
1
))
if
(
copy_to_user
((
void
__user
*
)(
arg
+
1
),
&
idx
[
1
],
1
))
return
-
EFAULT
;
return
0
;
default:
...
...
drivers/video/kyro/fbdev.c
View file @
5b578afe
...
...
@@ -592,11 +592,11 @@ static int kyrofb_ioctl(struct inode *inode, struct file *file,
{
overlay_create
ol_create
;
overlay_viewport_set
ol_viewport_set
;
void
__user
*
argp
=
(
void
__user
*
)
arg
;
switch
(
cmd
)
{
case
KYRO_IOCTL_OVERLAY_CREATE
:
copy_from_user
((
void
*
)
&
ol_create
,
(
void
*
)
arg
,
sizeof
(
overlay_create
));
copy_from_user
(
&
ol_create
,
argp
,
sizeof
(
overlay_create
));
if
(
kyro_dev_overlay_create
(
ol_create
.
ulWidth
,
ol_create
.
ulHeight
,
0
)
<
0
)
{
...
...
@@ -606,7 +606,7 @@ static int kyrofb_ioctl(struct inode *inode, struct file *file,
}
break
;
case
KYRO_IOCTL_OVERLAY_VIEWPORT_SET
:
copy_from_user
(
(
void
*
)
&
ol_viewport_set
,
(
void
*
)
arg
,
copy_from_user
(
&
ol_viewport_set
,
argp
,
sizeof
(
overlay_viewport_set
));
if
(
kyro_dev_overlay_viewport_set
(
ol_viewport_set
.
xOrgin
,
...
...
@@ -627,13 +627,13 @@ static int kyrofb_ioctl(struct inode *inode, struct file *file,
}
break
;
case
KYRO_IOCTL_UVSTRIDE
:
copy_to_user
(
(
void
*
)
arg
,
(
void
*
)
&
deviceInfo
.
ulOverlayUVStride
,
sizeof
(
unsigned
long
));
copy_to_user
(
argp
,
&
deviceInfo
.
ulOverlayUVStride
,
sizeof
(
unsigned
long
));
break
;
case
KYRO_IOCTL_STRIDE
:
copy_to_user
(
(
void
*
)
arg
,
(
void
*
)
&
deviceInfo
.
ulOverlayStride
,
sizeof
(
unsigned
long
));
copy_to_user
(
argp
,
&
deviceInfo
.
ulOverlayStride
,
sizeof
(
unsigned
long
));
break
;
case
KYRO_IOCTL_OVERLAY_OFFSET
:
copy_to_user
(
(
void
*
)
arg
,
(
void
*
)
&
deviceInfo
.
ulOverlayOffset
,
sizeof
(
unsigned
long
));
copy_to_user
(
argp
,
&
deviceInfo
.
ulOverlayOffset
,
sizeof
(
unsigned
long
));
break
;
}
...
...
drivers/video/matrox/matroxfb_base.c
View file @
5b578afe
...
...
@@ -874,6 +874,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
unsigned
int
cmd
,
unsigned
long
arg
,
struct
fb_info
*
info
)
{
void
__user
*
argp
=
(
void
__user
*
)
arg
;
MINFO_FROM_INFO
(
info
);
DBG
(
__FUNCTION__
)
...
...
@@ -891,7 +892,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
err
=
matroxfb_get_vblank
(
PMINFO
&
vblank
);
if
(
err
)
return
err
;
if
(
copy_to_user
(
(
struct
fb_vblank
*
)
arg
,
&
vblank
,
sizeof
(
vblank
)))
if
(
copy_to_user
(
argp
,
&
vblank
,
sizeof
(
vblank
)))
return
-
EFAULT
;
return
0
;
}
...
...
@@ -899,7 +900,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
{
u_int32_t
crt
;
if
(
get_user
(
crt
,
(
u_int32_t
*
)
arg
))
if
(
get_user
(
crt
,
(
u_int32_t
__user
*
)
arg
))
return
-
EFAULT
;
return
matroxfb_wait_for_sync
(
PMINFO
crt
);
...
...
@@ -910,7 +911,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
struct
matrox_altout
*
oproc
;
int
val
;
if
(
copy_from_user
(
&
mom
,
(
struct
matroxioc_output_mode
*
)
arg
,
sizeof
(
mom
)))
if
(
copy_from_user
(
&
mom
,
argp
,
sizeof
(
mom
)))
return
-
EFAULT
;
if
(
mom
.
output
>=
MATROXFB_MAX_OUTPUTS
)
return
-
ENXIO
;
...
...
@@ -960,7 +961,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
struct
matrox_altout
*
oproc
;
int
val
;
if
(
copy_from_user
(
&
mom
,
(
struct
matroxioc_output_mode
*
)
arg
,
sizeof
(
mom
)))
if
(
copy_from_user
(
&
mom
,
argp
,
sizeof
(
mom
)))
return
-
EFAULT
;
if
(
mom
.
output
>=
MATROXFB_MAX_OUTPUTS
)
return
-
ENXIO
;
...
...
@@ -975,7 +976,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
up_read
(
&
ACCESS_FBINFO
(
altout
.
lock
));
if
(
val
)
return
val
;
if
(
copy_to_user
(
(
struct
matroxioc_output_mode
*
)
arg
,
&
mom
,
sizeof
(
mom
)))
if
(
copy_to_user
(
argp
,
&
mom
,
sizeof
(
mom
)))
return
-
EFAULT
;
return
0
;
}
...
...
@@ -985,7 +986,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
int
i
;
int
changes
;
if
(
copy_from_user
(
&
tmp
,
(
u_int32_t
*
)
arg
,
sizeof
(
tmp
)))
if
(
copy_from_user
(
&
tmp
,
argp
,
sizeof
(
tmp
)))
return
-
EFAULT
;
for
(
i
=
0
;
i
<
32
;
i
++
)
{
if
(
tmp
&
(
1
<<
i
))
{
...
...
@@ -1040,7 +1041,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
conn
|=
1
<<
i
;
}
}
if
(
put_user
(
conn
,
(
u_int32_t
*
)
arg
))
if
(
put_user
(
conn
,
(
u_int32_t
__user
*
)
arg
))
return
-
EFAULT
;
return
0
;
}
...
...
@@ -1065,7 +1066,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
if
(
conn
&
MATROXFB_OUTPUT_CONN_SECONDARY
)
conn
&=
~
MATROXFB_OUTPUT_CONN_DFP
;
}
if
(
put_user
(
conn
,
(
u_int32_t
*
)
arg
))
if
(
put_user
(
conn
,
(
u_int32_t
__user
*
)
arg
))
return
-
EFAULT
;
return
0
;
}
...
...
@@ -1079,7 +1080,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
conn
|=
1
<<
i
;
}
}
if
(
put_user
(
conn
,
(
u_int32_t
*
)
arg
))
if
(
put_user
(
conn
,
(
u_int32_t
__user
*
)
arg
))
return
-
EFAULT
;
return
0
;
}
...
...
@@ -1093,7 +1094,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
sprintf
(
r
.
bus_info
,
"PCI:%s"
,
pci_name
(
ACCESS_FBINFO
(
pcidev
)));
r
.
version
=
KERNEL_VERSION
(
1
,
0
,
0
);
r
.
capabilities
=
V4L2_CAP_VIDEO_OUTPUT
;
if
(
copy_to_user
(
(
void
*
)
arg
,
&
r
,
sizeof
(
r
)))
if
(
copy_to_user
(
argp
,
&
r
,
sizeof
(
r
)))
return
-
EFAULT
;
return
0
;
...
...
@@ -1103,7 +1104,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
struct
v4l2_queryctrl
qctrl
;
int
err
;
if
(
copy_from_user
(
&
qctrl
,
(
struct
v4l2_queryctrl
*
)
arg
,
sizeof
(
qctrl
)))
if
(
copy_from_user
(
&
qctrl
,
argp
,
sizeof
(
qctrl
)))
return
-
EFAULT
;
down_read
(
&
ACCESS_FBINFO
(
altout
).
lock
);
...
...
@@ -1116,7 +1117,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
}
up_read
(
&
ACCESS_FBINFO
(
altout
).
lock
);
if
(
err
>=
0
&&
copy_to_user
(
(
struct
v4l2_queryctrl
*
)
arg
,
&
qctrl
,
sizeof
(
qctrl
)))
copy_to_user
(
argp
,
&
qctrl
,
sizeof
(
qctrl
)))
return
-
EFAULT
;
return
err
;
}
...
...
@@ -1125,7 +1126,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
struct
v4l2_control
ctrl
;
int
err
;
if
(
copy_from_user
(
&
ctrl
,
(
struct
v4l2_control
*
)
arg
,
sizeof
(
ctrl
)))
if
(
copy_from_user
(
&
ctrl
,
argp
,
sizeof
(
ctrl
)))
return
-
EFAULT
;
down_read
(
&
ACCESS_FBINFO
(
altout
).
lock
);
...
...
@@ -1138,7 +1139,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
}
up_read
(
&
ACCESS_FBINFO
(
altout
).
lock
);
if
(
err
>=
0
&&
copy_to_user
(
(
struct
v4l2_control
*
)
arg
,
&
ctrl
,
sizeof
(
ctrl
)))
copy_to_user
(
argp
,
&
ctrl
,
sizeof
(
ctrl
)))
return
-
EFAULT
;
return
err
;
}
...
...
@@ -1147,7 +1148,7 @@ static int matroxfb_ioctl(struct inode *inode, struct file *file,
struct
v4l2_control
ctrl
;
int
err
;
if
(
copy_from_user
(
&
ctrl
,
(
struct
v4l2_control
*
)
arg
,
sizeof
(
ctrl
)))
if
(
copy_from_user
(
&
ctrl
,
argp
,
sizeof
(
ctrl
)))
return
-
EFAULT
;
down_read
(
&
ACCESS_FBINFO
(
altout
).
lock
);
...
...
drivers/video/matrox/matroxfb_crtc2.c
View file @
5b578afe
...
...
@@ -437,7 +437,7 @@ static int matroxfb_dh_ioctl(struct inode* inode,
err
=
matroxfb_dh_get_vblank
(
m2info
,
&
vblank
);
if
(
err
)
return
err
;
if
(
copy_to_user
((
struct
fb_vblank
*
)
arg
,
&
vblank
,
sizeof
(
vblank
)))
if
(
copy_to_user
((
void
__user
*
)
arg
,
&
vblank
,
sizeof
(
vblank
)))
return
-
EFAULT
;
return
0
;
}
...
...
@@ -445,7 +445,7 @@ static int matroxfb_dh_ioctl(struct inode* inode,
{
u_int32_t
crt
;
if
(
get_user
(
crt
,
(
u_int32_t
*
)
arg
))
if
(
get_user
(
crt
,
(
u_int32_t
__user
*
)
arg
))
return
-
EFAULT
;
if
(
crt
!=
0
)
...
...
@@ -464,7 +464,7 @@ static int matroxfb_dh_ioctl(struct inode* inode,
int
out
;
int
changes
;
if
(
get_user
(
tmp
,
(
u_int32_t
*
)
arg
))
if
(
get_user
(
tmp
,
(
u_int32_t
__user
*
)
arg
))
return
-
EFAULT
;
for
(
out
=
0
;
out
<
32
;
out
++
)
{
if
(
tmp
&
(
1
<<
out
))
{
...
...
@@ -514,7 +514,7 @@ static int matroxfb_dh_ioctl(struct inode* inode,
conn
|=
1
<<
out
;
}
}
if
(
put_user
(
conn
,
(
u_int32_t
*
)
arg
))
if
(
put_user
(
conn
,
(
u_int32_t
__user
*
)
arg
))
return
-
EFAULT
;
return
0
;
}
...
...
@@ -539,7 +539,7 @@ static int matroxfb_dh_ioctl(struct inode* inode,
tmp
=
0
;
}
}
if
(
put_user
(
tmp
,
(
u_int32_t
*
)
arg
))
if
(
put_user
(
tmp
,
(
u_int32_t
__user
*
)
arg
))
return
-
EFAULT
;
return
0
;
}
...
...
drivers/video/radeonfb.c
View file @
5b578afe
...
...
@@ -1544,7 +1544,7 @@ static int radeonfb_ioctl (struct inode *inode, struct file *file, unsigned int
break
;
}
rc
=
get_user
(
value
,
(
__u32
*
)
arg
);
rc
=
get_user
(
value
,
(
__u32
__user
*
)
arg
);
if
(
rc
)
return
rc
;
...
...
@@ -1598,7 +1598,7 @@ static int radeonfb_ioctl (struct inode *inode, struct file *file, unsigned int
if
(
CRTC_CRT_ON
&
tmp
)
value
|=
0x02
;
return
put_user
(
value
,
(
__u32
*
)
arg
);
return
put_user
(
value
,
(
__u32
__user
*
)
arg
);
default:
return
-
EINVAL
;
}
...
...
drivers/video/sstfb.c
View file @
5b578afe
...
...
@@ -790,7 +790,7 @@ static int sstfb_ioctl(struct inode *inode, struct file *file,
/* fills lfb with #arg pixels */
case
_IOW
(
'F'
,
0xdc
,
u32
):
/* 0x46dc */
if
(
copy_from_user
(
&
val
,
(
void
*
)
arg
,
sizeof
(
val
)))
if
(
copy_from_user
(
&
val
,
(
void
__user
*
)
arg
,
sizeof
(
val
)))
return
-
EFAULT
;
if
(
val
>
info
->
fix
.
smem_len
)
val
=
info
->
fix
.
smem_len
;
...
...
@@ -801,7 +801,7 @@ static int sstfb_ioctl(struct inode *inode, struct file *file,
/* change VGA pass_through mode */
case
_IOW
(
'F'
,
0xdd
,
u32
):
/* 0x46dd */
if
(
copy_from_user
(
&
val
,
(
void
*
)
arg
,
sizeof
(
val
)))
if
(
copy_from_user
(
&
val
,
(
void
__user
*
)
arg
,
sizeof
(
val
)))
return
-
EFAULT
;
pci_read_config_dword
(
sst_dev
,
PCI_INIT_ENABLE
,
&
tmp
);
pci_write_config_dword
(
sst_dev
,
PCI_INIT_ENABLE
,
...
...
fs/autofs/root.c
View file @
5b578afe
...
...
@@ -468,7 +468,7 @@ static int autofs_root_mkdir(struct inode *dir, struct dentry *dentry, int mode)
/* Get/set timeout ioctl() operation */
static
inline
int
autofs_get_set_timeout
(
struct
autofs_sb_info
*
sbi
,
unsigned
long
*
p
)
unsigned
long
__user
*
p
)
{
unsigned
long
ntimeout
;
...
...
@@ -485,7 +485,7 @@ static inline int autofs_get_set_timeout(struct autofs_sb_info *sbi,
}
/* Return protocol version */
static
inline
int
autofs_get_protover
(
int
*
p
)
static
inline
int
autofs_get_protover
(
int
__user
*
p
)
{
return
put_user
(
AUTOFS_PROTO_VERSION
,
p
);
}
...
...
@@ -494,7 +494,7 @@ static inline int autofs_get_protover(int *p)
static
inline
int
autofs_expire_run
(
struct
super_block
*
sb
,
struct
autofs_sb_info
*
sbi
,
struct
vfsmount
*
mnt
,
struct
autofs_packet_expire
*
pkt_p
)
struct
autofs_packet_expire
__user
*
pkt_p
)
{
struct
autofs_dir_ent
*
ent
;
struct
autofs_packet_expire
pkt
;
...
...
@@ -526,6 +526,7 @@ static int autofs_root_ioctl(struct inode *inode, struct file *filp,
unsigned
int
cmd
,
unsigned
long
arg
)
{
struct
autofs_sb_info
*
sbi
=
autofs_sbi
(
inode
->
i_sb
);
void
__user
*
argp
=
(
void
__user
*
)
arg
;
DPRINTK
((
"autofs_ioctl: cmd = 0x%08x, arg = 0x%08lx, sbi = %p, pgrp = %u
\n
"
,
cmd
,
arg
,
sbi
,
process_group
(
current
)));
...
...
@@ -545,12 +546,12 @@ static int autofs_root_ioctl(struct inode *inode, struct file *filp,
autofs_catatonic_mode
(
sbi
);
return
0
;
case
AUTOFS_IOC_PROTOVER
:
/* Get protocol version */
return
autofs_get_protover
(
(
int
*
)
arg
);
return
autofs_get_protover
(
argp
);
case
AUTOFS_IOC_SETTIMEOUT
:
return
autofs_get_set_timeout
(
sbi
,
(
unsigned
long
*
)
arg
);
return
autofs_get_set_timeout
(
sbi
,
argp
);
case
AUTOFS_IOC_EXPIRE
:
return
autofs_expire_run
(
inode
->
i_sb
,
sbi
,
filp
->
f_vfsmnt
,
(
struct
autofs_packet_expire
*
)
arg
);
argp
);
default:
return
-
ENOSYS
;
}
...
...
fs/binfmt_aout.c
View file @
5b578afe
...
...
@@ -140,14 +140,14 @@ static int aout_core_dump(long signr, struct pt_regs * regs, struct file *file)
/* make sure we actually have a data and stack area to dump */
set_fs
(
USER_DS
);
#ifdef __sparc__
if
(
verify_area
(
VERIFY_READ
,
(
void
*
)
START_DATA
(
dump
),
dump
.
u_dsize
))
if
(
verify_area
(
VERIFY_READ
,
(
void
__user
*
)
START_DATA
(
dump
),
dump
.
u_dsize
))
dump
.
u_dsize
=
0
;
if
(
verify_area
(
VERIFY_READ
,
(
void
*
)
START_STACK
(
dump
),
dump
.
u_ssize
))
if
(
verify_area
(
VERIFY_READ
,
(
void
__user
*
)
START_STACK
(
dump
),
dump
.
u_ssize
))
dump
.
u_ssize
=
0
;
#else
if
(
verify_area
(
VERIFY_READ
,
(
void
*
)
START_DATA
(
dump
),
dump
.
u_dsize
<<
PAGE_SHIFT
))
if
(
verify_area
(
VERIFY_READ
,
(
void
__user
*
)
START_DATA
(
dump
),
dump
.
u_dsize
<<
PAGE_SHIFT
))
dump
.
u_dsize
=
0
;
if
(
verify_area
(
VERIFY_READ
,
(
void
*
)
START_STACK
(
dump
),
dump
.
u_ssize
<<
PAGE_SHIFT
))
if
(
verify_area
(
VERIFY_READ
,
(
void
__user
*
)
START_STACK
(
dump
),
dump
.
u_ssize
<<
PAGE_SHIFT
))
dump
.
u_ssize
=
0
;
#endif
...
...
@@ -193,17 +193,18 @@ static int aout_core_dump(long signr, struct pt_regs * regs, struct file *file)
* memory and creates the pointer tables from them, and puts their
* addresses on the "stack", returning the new stack pointer value.
*/
static
unsigned
long
*
create_aout_tables
(
char
*
p
,
struct
linux_binprm
*
bprm
)
static
unsigned
long
__user
*
create_aout_tables
(
char
__user
*
p
,
struct
linux_binprm
*
bprm
)
{
char
**
argv
,
**
envp
;
unsigned
long
*
sp
;
char
__user
*
__user
*
argv
;
char
__user
*
__user
*
envp
;
unsigned
long
__user
*
sp
;
int
argc
=
bprm
->
argc
;
int
envc
=
bprm
->
envc
;
sp
=
(
unsigned
long
*
)
((
-
(
unsigned
long
)
sizeof
(
char
*
))
&
(
unsigned
long
)
p
);
sp
=
(
void
__user
*
)
((
-
(
unsigned
long
)
sizeof
(
char
*
))
&
(
unsigned
long
)
p
);
#ifdef __sparc__
/* This imposes the proper stack alignment for a new process. */
sp
=
(
unsigned
long
*
)
(((
unsigned
long
)
sp
)
&
~
7
);
sp
=
(
void
__user
*
)
(((
unsigned
long
)
sp
)
&
~
7
);
if
((
envc
+
argc
+
3
)
&
1
)
--
sp
;
#endif
#ifdef __alpha__
...
...
@@ -220,9 +221,9 @@ static unsigned long * create_aout_tables(char * p, struct linux_binprm * bprm)
put_user
(
0x3e9
,
--
sp
);
#endif
sp
-=
envc
+
1
;
envp
=
(
char
*
*
)
sp
;
envp
=
(
char
__user
*
__user
*
)
sp
;
sp
-=
argc
+
1
;
argv
=
(
char
*
*
)
sp
;
argv
=
(
char
__user
*
__user
*
)
sp
;
#if defined(__i386__) || defined(__mc68000__) || defined(__arm__) || defined(__arch_um__)
put_user
((
unsigned
long
)
envp
,
--
sp
);
put_user
((
unsigned
long
)
argv
,
--
sp
);
...
...
@@ -420,7 +421,7 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
}
current
->
mm
->
start_stack
=
(
unsigned
long
)
create_aout_tables
((
char
*
)
bprm
->
p
,
bprm
);
(
unsigned
long
)
create_aout_tables
((
char
__user
*
)
bprm
->
p
,
bprm
);
#ifdef __alpha__
regs
->
gp
=
ex
.
a_gpvalue
;
#endif
...
...
fs/nfs/direct.c
View file @
5b578afe
...
...
@@ -475,7 +475,7 @@ nfs_file_direct_read(struct kiocb *iocb, char __user *buf, size_t count, loff_t
struct
address_space
*
mapping
=
file
->
f_mapping
;
struct
inode
*
inode
=
mapping
->
host
;
struct
iovec
iov
=
{
.
iov_base
=
(
char
*
)
buf
,
.
iov_base
=
buf
,
.
iov_len
=
count
,
};
...
...
fs/nfs/idmap.c
View file @
5b578afe
...
...
@@ -75,9 +75,10 @@ struct idmap {
struct
idmap_hashtable
idmap_group_hash
;
};
static
ssize_t
idmap_pipe_upcall
(
struct
file
*
,
struct
rpc_pipe_msg
*
,
char
*
,
size_t
);
static
ssize_t
idmap_pipe_downcall
(
struct
file
*
,
const
char
*
,
size_t
);
static
ssize_t
idmap_pipe_upcall
(
struct
file
*
,
struct
rpc_pipe_msg
*
,
char
__user
*
,
size_t
);
static
ssize_t
idmap_pipe_downcall
(
struct
file
*
,
const
char
__user
*
,
size_t
);
void
idmap_pipe_destroy_msg
(
struct
rpc_pipe_msg
*
);
static
unsigned
int
fnvhash32
(
const
void
*
,
size_t
);
...
...
@@ -332,7 +333,7 @@ nfs_idmap_name(struct idmap *idmap, struct idmap_hashtable *h,
/* RPC pipefs upcall/downcall routines */
static
ssize_t
idmap_pipe_upcall
(
struct
file
*
filp
,
struct
rpc_pipe_msg
*
msg
,
char
*
dst
,
size_t
buflen
)
char
__user
*
dst
,
size_t
buflen
)
{
char
*
data
=
(
char
*
)
msg
->
data
+
msg
->
copied
;
ssize_t
mlen
=
msg
->
len
-
msg
->
copied
;
...
...
@@ -353,7 +354,7 @@ idmap_pipe_upcall(struct file *filp, struct rpc_pipe_msg *msg,
}
static
ssize_t
idmap_pipe_downcall
(
struct
file
*
filp
,
const
char
*
src
,
size_t
mlen
)
idmap_pipe_downcall
(
struct
file
*
filp
,
const
char
__user
*
src
,
size_t
mlen
)
{
struct
rpc_inode
*
rpci
=
RPC_I
(
filp
->
f_dentry
->
d_inode
);
struct
idmap
*
idmap
=
(
struct
idmap
*
)
rpci
->
private
;
...
...
fs/udf/crc.c
View file @
5b578afe
...
...
@@ -84,7 +84,7 @@ static uint16_t crc_table[256] = {
* July 21, 1997 - Andrew E. Mileski
* Adapted from OSTA-UDF(tm) 1.50 standard.
*/
extern
uint16_t
uint16_t
udf_crc
(
uint8_t
*
data
,
uint32_t
size
,
uint16_t
crc
)
{
while
(
size
--
)
...
...
fs/udf/misc.c
View file @
5b578afe
...
...
@@ -34,7 +34,7 @@
#include "udf_i.h"
#include "udf_sb.h"
extern
struct
buffer_head
*
struct
buffer_head
*
udf_tgetblk
(
struct
super_block
*
sb
,
int
block
)
{
if
(
UDF_QUERY_FLAG
(
sb
,
UDF_FLAG_VARCONV
))
...
...
@@ -43,7 +43,7 @@ udf_tgetblk(struct super_block *sb, int block)
return
sb_getblk
(
sb
,
block
);
}
extern
struct
buffer_head
*
struct
buffer_head
*
udf_tread
(
struct
super_block
*
sb
,
int
block
)
{
if
(
UDF_QUERY_FLAG
(
sb
,
UDF_FLAG_VARCONV
))
...
...
@@ -52,7 +52,7 @@ udf_tread(struct super_block *sb, int block)
return
sb_bread
(
sb
,
block
);
}
extern
struct
genericFormat
*
struct
genericFormat
*
udf_add_extendedattr
(
struct
inode
*
inode
,
uint32_t
size
,
uint32_t
type
,
uint8_t
loc
)
{
...
...
@@ -157,7 +157,7 @@ udf_add_extendedattr(struct inode * inode, uint32_t size, uint32_t type,
return
NULL
;
}
extern
struct
genericFormat
*
struct
genericFormat
*
udf_get_extendedattr
(
struct
inode
*
inode
,
uint32_t
type
,
uint8_t
subtype
)
{
struct
genericFormat
*
gaf
;
...
...
@@ -207,7 +207,7 @@ udf_get_extendedattr(struct inode *inode, uint32_t type, uint8_t subtype)
* July 1, 1997 - Andrew E. Mileski
* Written, tested, and released.
*/
extern
struct
buffer_head
*
struct
buffer_head
*
udf_read_tagged
(
struct
super_block
*
sb
,
uint32_t
block
,
uint32_t
location
,
uint16_t
*
ident
)
{
tag
*
tag_p
;
...
...
@@ -272,7 +272,7 @@ udf_read_tagged(struct super_block *sb, uint32_t block, uint32_t location, uint1
return
NULL
;
}
extern
struct
buffer_head
*
struct
buffer_head
*
udf_read_ptagged
(
struct
super_block
*
sb
,
lb_addr
loc
,
uint32_t
offset
,
uint16_t
*
ident
)
{
return
udf_read_tagged
(
sb
,
udf_get_lb_pblock
(
sb
,
loc
,
offset
),
...
...
include/asm-x86_64/uaccess.h
View file @
5b578afe
...
...
@@ -33,16 +33,6 @@
#define segment_eq(a,b) ((a).seg == (b).seg)
#ifdef __CHECKER__
#define CHECK_UPTR(ptr) do { \
__typeof__(*(ptr)) *__dummy_check_uptr = \
(void __user *)&__dummy_check_uptr; \
} while(0)
#else
#define CHECK_UPTR(ptr)
#endif
#define __addr_ok(addr) (!((unsigned long)(addr) & (current_thread_info()->addr_limit.seg)))
/*
...
...
@@ -50,7 +40,7 @@
*/
#define __range_not_ok(addr,size) ({ \
unsigned long flag,sum; \
CHECK_UPTR(addr);
\
__chk_user_ptr(addr);
\
asm("# range_ok\n\r" \
"addq %3,%1 ; sbbq %0,%0 ; cmpq %1,%4 ; sbbq $0,%0" \
:"=&r" (flag), "=r" (sum) \
...
...
@@ -114,7 +104,7 @@ extern void __get_user_8(void);
#define get_user(x,ptr) \
({ long __val_gu; \
int __ret_gu; \
CHECK_UPTR
(ptr); \
__chk_user_ptr
(ptr); \
switch(sizeof (*(ptr))) { \
case 1: __get_user_x(1,__ret_gu,__val_gu,ptr); break; \
case 2: __get_user_x(2,__ret_gu,__val_gu,ptr); break; \
...
...
@@ -150,7 +140,6 @@ extern void __put_user_bad(void);
#define __put_user_nocheck(x,ptr,size) \
({ \
int __pu_err; \
CHECK_UPTR(ptr); \
__put_user_size((x),(ptr),(size),__pu_err); \
__pu_err; \
})
...
...
@@ -168,6 +157,7 @@ extern void __put_user_bad(void);
#define __put_user_size(x,ptr,size,retval) \
do { \
retval = 0; \
__chk_user_ptr(ptr); \
switch (size) { \
case 1: __put_user_asm(x,ptr,retval,"b","b","iq",-EFAULT); break;\
case 2: __put_user_asm(x,ptr,retval,"w","w","ir",-EFAULT); break;\
...
...
@@ -206,7 +196,6 @@ struct __large_struct { unsigned long buf[100]; };
({ \
int __gu_err; \
long __gu_val; \
CHECK_UPTR(ptr); \
__get_user_size(__gu_val,(ptr),(size),__gu_err); \
(x) = (__typeof__(*(ptr)))__gu_val; \
__gu_err; \
...
...
@@ -217,6 +206,7 @@ extern int __get_user_bad(void);
#define __get_user_size(x,ptr,size,retval) \
do { \
retval = 0; \
__chk_user_ptr(ptr); \
switch (size) { \
case 1: __get_user_asm(x,ptr,retval,"b","b","=q",-EFAULT); break;\
case 2: __get_user_asm(x,ptr,retval,"w","w","=r",-EFAULT); break;\
...
...
@@ -257,28 +247,28 @@ static inline int __copy_from_user(void *dst, const void __user *src, unsigned s
{
int
ret
=
0
;
if
(
!
__builtin_constant_p
(
size
))
return
copy_user_generic
(
dst
,(
void
*
)
src
,
size
);
return
copy_user_generic
(
dst
,(
__force
void
*
)
src
,
size
);
switch
(
size
)
{
case
1
:
__get_user_asm
(
*
(
u8
*
)
dst
,(
u8
*
)
src
,
ret
,
"b"
,
"b"
,
"=q"
,
1
);
case
1
:
__get_user_asm
(
*
(
u8
*
)
dst
,(
u8
__user
*
)
src
,
ret
,
"b"
,
"b"
,
"=q"
,
1
);
return
ret
;
case
2
:
__get_user_asm
(
*
(
u16
*
)
dst
,(
u16
*
)
src
,
ret
,
"w"
,
"w"
,
"=r"
,
2
);
case
2
:
__get_user_asm
(
*
(
u16
*
)
dst
,(
u16
__user
*
)
src
,
ret
,
"w"
,
"w"
,
"=r"
,
2
);
return
ret
;
case
4
:
__get_user_asm
(
*
(
u32
*
)
dst
,(
u32
*
)
src
,
ret
,
"l"
,
"k"
,
"=r"
,
4
);
case
4
:
__get_user_asm
(
*
(
u32
*
)
dst
,(
u32
__user
*
)
src
,
ret
,
"l"
,
"k"
,
"=r"
,
4
);
return
ret
;
case
8
:
__get_user_asm
(
*
(
u64
*
)
dst
,(
u64
*
)
src
,
ret
,
"q"
,
""
,
"=r"
,
8
);
case
8
:
__get_user_asm
(
*
(
u64
*
)
dst
,(
u64
__user
*
)
src
,
ret
,
"q"
,
""
,
"=r"
,
8
);
return
ret
;
case
10
:
__get_user_asm
(
*
(
u64
*
)
dst
,(
u64
*
)
src
,
ret
,
"q"
,
""
,
"=r"
,
16
);
__get_user_asm
(
*
(
u64
*
)
dst
,(
u64
__user
*
)
src
,
ret
,
"q"
,
""
,
"=r"
,
16
);
if
(
unlikely
(
ret
))
return
ret
;
__get_user_asm
(
*
(
u16
*
)(
8
+
(
char
*
)
dst
),(
u16
*
)(
8
+
(
char
*
)
src
),
ret
,
"w"
,
"w"
,
"=r"
,
2
);
__get_user_asm
(
*
(
u16
*
)(
8
+
(
char
*
)
dst
),(
u16
__user
*
)(
8
+
(
char
__user
*
)
src
),
ret
,
"w"
,
"w"
,
"=r"
,
2
);
return
ret
;
case
16
:
__get_user_asm
(
*
(
u64
*
)
dst
,(
u64
*
)
src
,
ret
,
"q"
,
""
,
"=r"
,
16
);
__get_user_asm
(
*
(
u64
*
)
dst
,(
u64
__user
*
)
src
,
ret
,
"q"
,
""
,
"=r"
,
16
);
if
(
unlikely
(
ret
))
return
ret
;
__get_user_asm
(
*
(
u64
*
)(
8
+
(
char
*
)
dst
),(
u64
*
)(
8
+
(
char
*
)
src
),
ret
,
"q"
,
""
,
"=r"
,
8
);
__get_user_asm
(
*
(
u64
*
)(
8
+
(
char
*
)
dst
),(
u64
__user
*
)(
8
+
(
char
__user
*
)
src
),
ret
,
"q"
,
""
,
"=r"
,
8
);
return
ret
;
default:
return
copy_user_generic
(
dst
,(
void
*
)
src
,
size
);
return
copy_user_generic
(
dst
,(
__force
void
*
)
src
,
size
);
}
}
...
...
@@ -286,30 +276,30 @@ static inline int __copy_to_user(void __user *dst, const void *src, unsigned siz
{
int
ret
=
0
;
if
(
!
__builtin_constant_p
(
size
))
return
copy_user_generic
((
void
*
)
dst
,
src
,
size
);
return
copy_user_generic
((
__force
void
*
)
dst
,
src
,
size
);
switch
(
size
)
{
case
1
:
__put_user_asm
(
*
(
u8
*
)
src
,(
u8
*
)
dst
,
ret
,
"b"
,
"b"
,
"iq"
,
1
);
case
1
:
__put_user_asm
(
*
(
u8
*
)
src
,(
u8
__user
*
)
dst
,
ret
,
"b"
,
"b"
,
"iq"
,
1
);
return
ret
;
case
2
:
__put_user_asm
(
*
(
u16
*
)
src
,(
u16
*
)
dst
,
ret
,
"w"
,
"w"
,
"ir"
,
2
);
case
2
:
__put_user_asm
(
*
(
u16
*
)
src
,(
u16
__user
*
)
dst
,
ret
,
"w"
,
"w"
,
"ir"
,
2
);
return
ret
;
case
4
:
__put_user_asm
(
*
(
u32
*
)
src
,(
u32
*
)
dst
,
ret
,
"l"
,
"k"
,
"ir"
,
4
);
case
4
:
__put_user_asm
(
*
(
u32
*
)
src
,(
u32
__user
*
)
dst
,
ret
,
"l"
,
"k"
,
"ir"
,
4
);
return
ret
;
case
8
:
__put_user_asm
(
*
(
u64
*
)
src
,(
u64
*
)
dst
,
ret
,
"q"
,
""
,
"ir"
,
8
);
case
8
:
__put_user_asm
(
*
(
u64
*
)
src
,(
u64
__user
*
)
dst
,
ret
,
"q"
,
""
,
"ir"
,
8
);
return
ret
;
case
10
:
__put_user_asm
(
*
(
u64
*
)
src
,(
u64
*
)
dst
,
ret
,
"q"
,
""
,
"ir"
,
10
);
__put_user_asm
(
*
(
u64
*
)
src
,(
u64
__user
*
)
dst
,
ret
,
"q"
,
""
,
"ir"
,
10
);
if
(
unlikely
(
ret
))
return
ret
;
asm
(
""
:::
"memory"
);
__put_user_asm
(
4
[(
u16
*
)
src
],
4
+
(
u16
*
)
dst
,
ret
,
"w"
,
"w"
,
"ir"
,
2
);
__put_user_asm
(
4
[(
u16
*
)
src
],
4
+
(
u16
__user
*
)
dst
,
ret
,
"w"
,
"w"
,
"ir"
,
2
);
return
ret
;
case
16
:
__put_user_asm
(
*
(
u64
*
)
src
,(
u64
*
)
dst
,
ret
,
"q"
,
""
,
"ir"
,
16
);
__put_user_asm
(
*
(
u64
*
)
src
,(
u64
__user
*
)
dst
,
ret
,
"q"
,
""
,
"ir"
,
16
);
if
(
unlikely
(
ret
))
return
ret
;
asm
(
""
:::
"memory"
);
__put_user_asm
(
1
[(
u64
*
)
src
],
1
+
(
u64
*
)
dst
,
ret
,
"q"
,
""
,
"ir"
,
8
);
__put_user_asm
(
1
[(
u64
*
)
src
],
1
+
(
u64
__user
*
)
dst
,
ret
,
"q"
,
""
,
"ir"
,
8
);
return
ret
;
default:
return
copy_user_generic
((
void
*
)
dst
,
src
,
size
);
return
copy_user_generic
((
__force
void
*
)
dst
,
src
,
size
);
}
}
...
...
@@ -318,39 +308,39 @@ static inline int __copy_in_user(void __user *dst, const void __user *src, unsig
{
int
ret
=
0
;
if
(
!
__builtin_constant_p
(
size
))
return
copy_user_generic
((
void
*
)
dst
,(
void
*
)
src
,
size
);
return
copy_user_generic
((
__force
void
*
)
dst
,(
__force
void
*
)
src
,
size
);
switch
(
size
)
{
case
1
:
{
u8
tmp
;
__get_user_asm
(
tmp
,(
u8
*
)
src
,
ret
,
"b"
,
"b"
,
"=q"
,
1
);
__get_user_asm
(
tmp
,(
u8
__user
*
)
src
,
ret
,
"b"
,
"b"
,
"=q"
,
1
);
if
(
likely
(
!
ret
))
__put_user_asm
(
tmp
,(
u8
*
)
dst
,
ret
,
"b"
,
"b"
,
"iq"
,
1
);
__put_user_asm
(
tmp
,(
u8
__user
*
)
dst
,
ret
,
"b"
,
"b"
,
"iq"
,
1
);
return
ret
;
}
case
2
:
{
u16
tmp
;
__get_user_asm
(
tmp
,(
u16
*
)
src
,
ret
,
"w"
,
"w"
,
"=r"
,
2
);
__get_user_asm
(
tmp
,(
u16
__user
*
)
src
,
ret
,
"w"
,
"w"
,
"=r"
,
2
);
if
(
likely
(
!
ret
))
__put_user_asm
(
tmp
,(
u16
*
)
dst
,
ret
,
"w"
,
"w"
,
"ir"
,
2
);
__put_user_asm
(
tmp
,(
u16
__user
*
)
dst
,
ret
,
"w"
,
"w"
,
"ir"
,
2
);
return
ret
;
}
case
4
:
{
u32
tmp
;
__get_user_asm
(
tmp
,(
u32
*
)
src
,
ret
,
"l"
,
"k"
,
"=r"
,
4
);
__get_user_asm
(
tmp
,(
u32
__user
*
)
src
,
ret
,
"l"
,
"k"
,
"=r"
,
4
);
if
(
likely
(
!
ret
))
__put_user_asm
(
tmp
,(
u32
*
)
dst
,
ret
,
"l"
,
"k"
,
"ir"
,
4
);
__put_user_asm
(
tmp
,(
u32
__user
*
)
dst
,
ret
,
"l"
,
"k"
,
"ir"
,
4
);
return
ret
;
}
case
8
:
{
u64
tmp
;
__get_user_asm
(
tmp
,(
u64
*
)
src
,
ret
,
"q"
,
""
,
"=r"
,
8
);
__get_user_asm
(
tmp
,(
u64
__user
*
)
src
,
ret
,
"q"
,
""
,
"=r"
,
8
);
if
(
likely
(
!
ret
))
__put_user_asm
(
tmp
,(
u64
*
)
dst
,
ret
,
"q"
,
""
,
"ir"
,
8
);
__put_user_asm
(
tmp
,(
u64
__user
*
)
dst
,
ret
,
"q"
,
""
,
"ir"
,
8
);
return
ret
;
}
default:
return
copy_user_generic
((
void
*
)
dst
,(
void
*
)
src
,
size
);
return
copy_user_generic
((
__force
void
*
)
dst
,(
__force
void
*
)
src
,
size
);
}
}
...
...
include/linux/fb.h
View file @
5b578afe
...
...
@@ -459,8 +459,8 @@ struct fb_ops {
/* For framebuffers with strange non linear layouts or that do not
* work with normal memory mapped access
*/
ssize_t
(
*
fb_read
)(
struct
file
*
file
,
char
*
buf
,
size_t
count
,
loff_t
*
ppos
);
ssize_t
(
*
fb_write
)(
struct
file
*
file
,
const
char
*
buf
,
size_t
count
,
loff_t
*
ppos
);
ssize_t
(
*
fb_read
)(
struct
file
*
file
,
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
);
ssize_t
(
*
fb_write
)(
struct
file
*
file
,
const
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
);
/* checks var and eventually tweaks it to something supported,
* DO NOT MODIFY PAR */
...
...
include/linux/ipmi.h
View file @
5b578afe
...
...
@@ -498,7 +498,7 @@ int ipmi_addr_equal(struct ipmi_addr *addr1, struct ipmi_addr *addr2);
/* Messages sent to the interface are this format. */
struct
ipmi_req
{
unsigned
char
*
addr
;
/* Address to send the message to. */
unsigned
char
__user
*
addr
;
/* Address to send the message to. */
unsigned
int
addr_len
;
long
msgid
;
/* The sequence number for the message. This
...
...
@@ -549,7 +549,7 @@ struct ipmi_recv
int
recv_type
;
/* Is this a command, response or an
asyncronous event. */
unsigned
char
*
addr
;
/* Address the message was from is put
unsigned
char
__user
*
addr
;
/* Address the message was from is put
here. The caller must supply the
memory. */
unsigned
int
addr_len
;
/* The size of the address buffer.
...
...
include/linux/nfs4_mount.h
View file @
5b578afe
...
...
@@ -20,7 +20,7 @@
struct
nfs_string
{
unsigned
int
len
;
const
char
*
data
;
const
char
__user
*
data
;
};
struct
nfs4_mount_data
{
...
...
@@ -45,14 +45,14 @@ struct nfs4_mount_data {
struct
nfs_string
hostname
;
/* 1 */
/* Server IP address */
unsigned
int
host_addrlen
;
/* 1 */
struct
sockaddr
*
host_addr
;
/* 1 */
struct
sockaddr
__user
*
host_addr
;
/* 1 */
/* Transport protocol to use */
int
proto
;
/* 1 */
/* Pseudo-flavours to use for authentication. See RFC2623 */
int
auth_flavourlen
;
/* 1 */
int
*
auth_flavours
;
/* 1 */
int
__user
*
auth_flavours
;
/* 1 */
};
/* bits in the flags field */
...
...
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