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
423ab71a
Commit
423ab71a
authored
Feb 08, 2006
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for-linus2' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/bird
parents
b7ed1de0
63f716b9
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
209 additions
and
206 deletions
+209
-206
arch/arm/Kconfig
arch/arm/Kconfig
+5
-0
arch/powerpc/kernel/signal_32.c
arch/powerpc/kernel/signal_32.c
+7
-11
arch/powerpc/kernel/signal_64.c
arch/powerpc/kernel/signal_64.c
+2
-2
arch/powerpc/platforms/powermac/pci.c
arch/powerpc/platforms/powermac/pci.c
+43
-46
arch/powerpc/sysdev/dart_iommu.c
arch/powerpc/sysdev/dart_iommu.c
+1
-1
arch/s390/kernel/compat_linux.c
arch/s390/kernel/compat_linux.c
+42
-41
arch/s390/kernel/sys_s390.c
arch/s390/kernel/sys_s390.c
+2
-2
arch/s390/kernel/traps.c
arch/s390/kernel/traps.c
+1
-1
arch/sh/boards/renesas/rts7751r2d/io.c
arch/sh/boards/renesas/rts7751r2d/io.c
+18
-12
drivers/char/Kconfig
drivers/char/Kconfig
+1
-1
drivers/isdn/hisax/Kconfig
drivers/isdn/hisax/Kconfig
+1
-1
drivers/media/video/compat_ioctl32.c
drivers/media/video/compat_ioctl32.c
+41
-48
drivers/mtd/chips/Kconfig
drivers/mtd/chips/Kconfig
+1
-1
drivers/net/wireless/prism54/isl_ioctl.c
drivers/net/wireless/prism54/isl_ioctl.c
+1
-1
drivers/serial/m32r_sio.h
drivers/serial/m32r_sio.h
+1
-1
drivers/sn/ioc3.c
drivers/sn/ioc3.c
+9
-9
fs/compat_ioctl.c
fs/compat_ioctl.c
+4
-4
include/asm-mips/io.h
include/asm-mips/io.h
+16
-16
include/asm-powerpc/compat.h
include/asm-powerpc/compat.h
+5
-0
include/asm-powerpc/thread_info.h
include/asm-powerpc/thread_info.h
+1
-1
include/asm-s390/uaccess.h
include/asm-s390/uaccess.h
+5
-5
include/linux/ioc3.h
include/linux/ioc3.h
+1
-1
include/linux/videodev2.h
include/linux/videodev2.h
+1
-1
No files found.
arch/arm/Kconfig
View file @
423ab71a
...
...
@@ -69,6 +69,9 @@ config GENERIC_ISA_DMA
config FIQ
bool
config ARCH_MTD_XIP
bool
source "init/Kconfig"
menu "System Type"
...
...
@@ -136,6 +139,7 @@ config ARCH_L7200
config ARCH_PXA
bool "PXA2xx-based"
select ARCH_MTD_XIP
config ARCH_RPC
bool "RiscPC"
...
...
@@ -152,6 +156,7 @@ config ARCH_SA1100
bool "SA1100-based"
select ISA
select ARCH_DISCONTIGMEM_ENABLE
select ARCH_MTD_XIP
config ARCH_S3C2410
bool "Samsung S3C2410"
...
...
arch/powerpc/kernel/signal_32.c
View file @
423ab71a
...
...
@@ -142,11 +142,7 @@ static inline int get_old_sigaction(struct k_sigaction *new_ka,
return
0
;
}
static
inline
compat_uptr_t
to_user_ptr
(
void
*
kp
)
{
return
(
compat_uptr_t
)(
u64
)
kp
;
}
#define to_user_ptr(p) ptr_to_compat(p)
#define from_user_ptr(p) compat_ptr(p)
static
inline
int
save_general_regs
(
struct
pt_regs
*
regs
,
...
...
@@ -213,8 +209,8 @@ static inline int get_old_sigaction(struct k_sigaction *new_ka,
return
0
;
}
#define to_user_ptr(p) (
p
)
#define from_user_ptr(p) (
p
)
#define to_user_ptr(p) (
(unsigned long)(p)
)
#define from_user_ptr(p) (
(void __user *)(p)
)
static
inline
int
save_general_regs
(
struct
pt_regs
*
regs
,
struct
mcontext
__user
*
frame
)
...
...
@@ -526,7 +522,7 @@ long compat_sys_rt_sigaction(int sig, const struct sigaction32 __user *act,
ret
=
do_sigaction
(
sig
,
act
?
&
new_ka
:
NULL
,
oact
?
&
old_ka
:
NULL
);
if
(
!
ret
&&
oact
)
{
ret
=
put_user
(
(
long
)
old_ka
.
sa
.
sa_handler
,
&
oact
->
sa_handler
);
ret
=
put_user
(
to_user_ptr
(
old_ka
.
sa
.
sa_handler
)
,
&
oact
->
sa_handler
);
ret
|=
put_sigset_t
(
&
oact
->
sa_mask
,
&
old_ka
.
sa
.
sa_mask
);
ret
|=
__put_user
(
old_ka
.
sa
.
sa_flags
,
&
oact
->
sa_flags
);
}
...
...
@@ -675,8 +671,8 @@ long compat_sys_rt_sigqueueinfo(u32 pid, u32 sig, compat_siginfo_t __user *uinfo
int
compat_sys_sigaltstack
(
u32
__new
,
u32
__old
,
int
r5
,
int
r6
,
int
r7
,
int
r8
,
struct
pt_regs
*
regs
)
{
stack_32_t
__user
*
newstack
=
(
stack_32_t
__user
*
)(
long
)
__new
;
stack_32_t
__user
*
oldstack
=
(
stack_32_t
__user
*
)(
long
)
__old
;
stack_32_t
__user
*
newstack
=
compat_ptr
(
__new
)
;
stack_32_t
__user
*
oldstack
=
compat_ptr
(
__old
)
;
stack_t
uss
,
uoss
;
int
ret
;
mm_segment_t
old_fs
;
...
...
@@ -708,7 +704,7 @@ int compat_sys_sigaltstack(u32 __new, u32 __old, int r5,
set_fs
(
old_fs
);
/* Copy the stack information to the user output buffer */
if
(
!
ret
&&
oldstack
&&
(
put_user
(
(
long
)
uoss
.
ss_sp
,
&
oldstack
->
ss_sp
)
||
(
put_user
(
ptr_to_compat
(
uoss
.
ss_sp
)
,
&
oldstack
->
ss_sp
)
||
__put_user
(
uoss
.
ss_flags
,
&
oldstack
->
ss_flags
)
||
__put_user
(
uoss
.
ss_size
,
&
oldstack
->
ss_size
)))
return
-
EFAULT
;
...
...
arch/powerpc/kernel/signal_64.c
View file @
423ab71a
...
...
@@ -60,8 +60,8 @@ struct rt_sigframe {
struct
ucontext
uc
;
unsigned
long
_unused
[
2
];
unsigned
int
tramp
[
TRAMP_SIZE
];
struct
siginfo
*
pinfo
;
void
*
puc
;
struct
siginfo
__user
*
pinfo
;
void
__user
*
puc
;
struct
siginfo
info
;
/* 64 bit ABI allows for 288 bytes below sp before decrementing it. */
char
abigap
[
288
];
...
...
arch/powerpc/platforms/powermac/pci.c
View file @
423ab71a
...
...
@@ -136,14 +136,14 @@ static void __init fixup_bus_range(struct device_node *bridge)
|(((unsigned int)(off)) & 0xFCUL) \
|1UL)
static
unsigned
long
macrisc_cfg_access
(
struct
pci_controller
*
hose
,
static
volatile
void
__iomem
*
macrisc_cfg_access
(
struct
pci_controller
*
hose
,
u8
bus
,
u8
dev_fn
,
u8
offset
)
{
unsigned
int
caddr
;
if
(
bus
==
hose
->
first_busno
)
{
if
(
dev_fn
<
(
11
<<
3
))
return
0
;
return
NULL
;
caddr
=
MACRISC_CFA0
(
dev_fn
,
offset
);
}
else
caddr
=
MACRISC_CFA1
(
bus
,
dev_fn
,
offset
);
...
...
@@ -154,14 +154,14 @@ static unsigned long macrisc_cfg_access(struct pci_controller* hose,
}
while
(
in_le32
(
hose
->
cfg_addr
)
!=
caddr
);
offset
&=
has_uninorth
?
0x07
:
0x03
;
return
((
unsigned
long
)
hose
->
cfg_data
)
+
offset
;
return
hose
->
cfg_data
+
offset
;
}
static
int
macrisc_read_config
(
struct
pci_bus
*
bus
,
unsigned
int
devfn
,
int
offset
,
int
len
,
u32
*
val
)
{
struct
pci_controller
*
hose
;
unsigned
long
addr
;
volatile
void
__iomem
*
addr
;
hose
=
pci_bus_to_host
(
bus
);
if
(
hose
==
NULL
)
...
...
@@ -177,13 +177,13 @@ static int macrisc_read_config(struct pci_bus *bus, unsigned int devfn,
*/
switch
(
len
)
{
case
1
:
*
val
=
in_8
(
(
u8
*
)
addr
);
*
val
=
in_8
(
addr
);
break
;
case
2
:
*
val
=
in_le16
(
(
u16
*
)
addr
);
*
val
=
in_le16
(
addr
);
break
;
default:
*
val
=
in_le32
(
(
u32
*
)
addr
);
*
val
=
in_le32
(
addr
);
break
;
}
return
PCIBIOS_SUCCESSFUL
;
...
...
@@ -193,7 +193,7 @@ static int macrisc_write_config(struct pci_bus *bus, unsigned int devfn,
int
offset
,
int
len
,
u32
val
)
{
struct
pci_controller
*
hose
;
unsigned
long
addr
;
volatile
void
__iomem
*
addr
;
hose
=
pci_bus_to_host
(
bus
);
if
(
hose
==
NULL
)
...
...
@@ -209,16 +209,16 @@ static int macrisc_write_config(struct pci_bus *bus, unsigned int devfn,
*/
switch
(
len
)
{
case
1
:
out_8
(
(
u8
*
)
addr
,
val
);
(
void
)
in_8
(
(
u8
*
)
addr
);
out_8
(
addr
,
val
);
(
void
)
in_8
(
addr
);
break
;
case
2
:
out_le16
(
(
u16
*
)
addr
,
val
);
(
void
)
in_le16
(
(
u16
*
)
addr
);
out_le16
(
addr
,
val
);
(
void
)
in_le16
(
addr
);
break
;
default:
out_le32
(
(
u32
*
)
addr
,
val
);
(
void
)
in_le32
(
(
u32
*
)
addr
);
out_le32
(
addr
,
val
);
(
void
)
in_le32
(
addr
);
break
;
}
return
PCIBIOS_SUCCESSFUL
;
...
...
@@ -348,25 +348,23 @@ static int u3_ht_skip_device(struct pci_controller *hose,
+ (((unsigned int)bus) << 16) \
+ 0x01000000UL)
static
unsigned
long
u3_ht_cfg_access
(
struct
pci_controller
*
hose
,
static
volatile
void
__iomem
*
u3_ht_cfg_access
(
struct
pci_controller
*
hose
,
u8
bus
,
u8
devfn
,
u8
offset
)
{
if
(
bus
==
hose
->
first_busno
)
{
/* For now, we don't self probe U3 HT bridge */
if
(
PCI_SLOT
(
devfn
)
==
0
)
return
0
;
return
((
unsigned
long
)
hose
->
cfg_data
)
+
U3_HT_CFA0
(
devfn
,
offset
);
return
NULL
;
return
hose
->
cfg_data
+
U3_HT_CFA0
(
devfn
,
offset
);
}
else
return
((
unsigned
long
)
hose
->
cfg_data
)
+
U3_HT_CFA1
(
bus
,
devfn
,
offset
);
return
hose
->
cfg_data
+
U3_HT_CFA1
(
bus
,
devfn
,
offset
);
}
static
int
u3_ht_read_config
(
struct
pci_bus
*
bus
,
unsigned
int
devfn
,
int
offset
,
int
len
,
u32
*
val
)
{
struct
pci_controller
*
hose
;
unsigned
long
addr
;
volatile
void
__iomem
*
addr
;
hose
=
pci_bus_to_host
(
bus
);
if
(
hose
==
NULL
)
...
...
@@ -400,13 +398,13 @@ static int u3_ht_read_config(struct pci_bus *bus, unsigned int devfn,
*/
switch
(
len
)
{
case
1
:
*
val
=
in_8
(
(
u8
*
)
addr
);
*
val
=
in_8
(
addr
);
break
;
case
2
:
*
val
=
in_le16
(
(
u16
*
)
addr
);
*
val
=
in_le16
(
addr
);
break
;
default:
*
val
=
in_le32
(
(
u32
*
)
addr
);
*
val
=
in_le32
(
addr
);
break
;
}
return
PCIBIOS_SUCCESSFUL
;
...
...
@@ -416,7 +414,7 @@ static int u3_ht_write_config(struct pci_bus *bus, unsigned int devfn,
int
offset
,
int
len
,
u32
val
)
{
struct
pci_controller
*
hose
;
unsigned
long
addr
;
volatile
void
__iomem
*
addr
;
hose
=
pci_bus_to_host
(
bus
);
if
(
hose
==
NULL
)
...
...
@@ -442,16 +440,16 @@ static int u3_ht_write_config(struct pci_bus *bus, unsigned int devfn,
*/
switch
(
len
)
{
case
1
:
out_8
(
(
u8
*
)
addr
,
val
);
(
void
)
in_8
(
(
u8
*
)
addr
);
out_8
(
addr
,
val
);
(
void
)
in_8
(
addr
);
break
;
case
2
:
out_le16
(
(
u16
*
)
addr
,
val
);
(
void
)
in_le16
(
(
u16
*
)
addr
);
out_le16
(
addr
,
val
);
(
void
)
in_le16
(
addr
);
break
;
default:
out_le32
((
u32
*
)
addr
,
val
);
(
void
)
in_le32
(
(
u32
*
)
addr
);
out_le32
((
u32
__iomem
*
)
addr
,
val
);
(
void
)
in_le32
(
addr
);
break
;
}
return
PCIBIOS_SUCCESSFUL
;
...
...
@@ -476,7 +474,7 @@ static struct pci_ops u3_ht_pci_ops =
|(((unsigned int)(off)) & 0xfcU) \
|1UL)
static
unsigned
long
u4_pcie_cfg_access
(
struct
pci_controller
*
hose
,
static
volatile
void
__iomem
*
u4_pcie_cfg_access
(
struct
pci_controller
*
hose
,
u8
bus
,
u8
dev_fn
,
int
offset
)
{
unsigned
int
caddr
;
...
...
@@ -492,14 +490,14 @@ static unsigned long u4_pcie_cfg_access(struct pci_controller* hose,
}
while
(
in_le32
(
hose
->
cfg_addr
)
!=
caddr
);
offset
&=
0x03
;
return
((
unsigned
long
)
hose
->
cfg_data
)
+
offset
;
return
hose
->
cfg_data
+
offset
;
}
static
int
u4_pcie_read_config
(
struct
pci_bus
*
bus
,
unsigned
int
devfn
,
int
offset
,
int
len
,
u32
*
val
)
{
struct
pci_controller
*
hose
;
unsigned
long
addr
;
volatile
void
__iomem
*
addr
;
hose
=
pci_bus_to_host
(
bus
);
if
(
hose
==
NULL
)
...
...
@@ -515,13 +513,13 @@ static int u4_pcie_read_config(struct pci_bus *bus, unsigned int devfn,
*/
switch
(
len
)
{
case
1
:
*
val
=
in_8
(
(
u8
*
)
addr
);
*
val
=
in_8
(
addr
);
break
;
case
2
:
*
val
=
in_le16
(
(
u16
*
)
addr
);
*
val
=
in_le16
(
addr
);
break
;
default:
*
val
=
in_le32
(
(
u32
*
)
addr
);
*
val
=
in_le32
(
addr
);
break
;
}
return
PCIBIOS_SUCCESSFUL
;
...
...
@@ -531,7 +529,7 @@ static int u4_pcie_write_config(struct pci_bus *bus, unsigned int devfn,
int
offset
,
int
len
,
u32
val
)
{
struct
pci_controller
*
hose
;
unsigned
long
addr
;
volatile
void
__iomem
*
addr
;
hose
=
pci_bus_to_host
(
bus
);
if
(
hose
==
NULL
)
...
...
@@ -547,16 +545,16 @@ static int u4_pcie_write_config(struct pci_bus *bus, unsigned int devfn,
*/
switch
(
len
)
{
case
1
:
out_8
(
(
u8
*
)
addr
,
val
);
(
void
)
in_8
(
(
u8
*
)
addr
);
out_8
(
addr
,
val
);
(
void
)
in_8
(
addr
);
break
;
case
2
:
out_le16
(
(
u16
*
)
addr
,
val
);
(
void
)
in_le16
(
(
u16
*
)
addr
);
out_le16
(
addr
,
val
);
(
void
)
in_le16
(
addr
);
break
;
default:
out_le32
(
(
u32
*
)
addr
,
val
);
(
void
)
in_le32
(
(
u32
*
)
addr
);
out_le32
(
addr
,
val
);
(
void
)
in_le32
(
addr
);
break
;
}
return
PCIBIOS_SUCCESSFUL
;
...
...
@@ -773,8 +771,7 @@ static void __init setup_u3_ht(struct pci_controller* hose)
* the reg address cell, we shall fix that by killing struct
* reg_property and using some accessor functions instead
*/
hose
->
cfg_data
=
(
volatile
unsigned
char
*
)
ioremap
(
0xf2000000
,
0x02000000
);
hose
->
cfg_data
=
ioremap
(
0xf2000000
,
0x02000000
);
/*
* /ht node doesn't expose a "ranges" property, so we "remove"
...
...
arch/powerpc/sysdev/dart_iommu.c
View file @
423ab71a
...
...
@@ -59,7 +59,7 @@ static unsigned long dart_tablesize;
static
u32
*
dart_vbase
;
/* Mapped base address for the dart */
static
unsigned
int
*
__iomem
dart
;
static
unsigned
int
__iomem
*
dart
;
/* Dummy val that entries are set to when unused */
static
unsigned
int
dart_emptyval
;
...
...
arch/s390/kernel/compat_linux.c
View file @
423ab71a
...
...
@@ -100,12 +100,12 @@
#define SET_STAT_UID(stat, uid) (stat).st_uid = high2lowuid(uid)
#define SET_STAT_GID(stat, gid) (stat).st_gid = high2lowgid(gid)
asmlinkage
long
sys32_chown16
(
const
char
*
filename
,
u16
user
,
u16
group
)
asmlinkage
long
sys32_chown16
(
const
char
__user
*
filename
,
u16
user
,
u16
group
)
{
return
sys_chown
(
filename
,
low2highuid
(
user
),
low2highgid
(
group
));
}
asmlinkage
long
sys32_lchown16
(
const
char
*
filename
,
u16
user
,
u16
group
)
asmlinkage
long
sys32_lchown16
(
const
char
__user
*
filename
,
u16
user
,
u16
group
)
{
return
sys_lchown
(
filename
,
low2highuid
(
user
),
low2highgid
(
group
));
}
...
...
@@ -141,7 +141,7 @@ asmlinkage long sys32_setresuid16(u16 ruid, u16 euid, u16 suid)
low2highuid
(
suid
));
}
asmlinkage
long
sys32_getresuid16
(
u16
*
ruid
,
u16
*
euid
,
u16
*
suid
)
asmlinkage
long
sys32_getresuid16
(
u16
__user
*
ruid
,
u16
__user
*
euid
,
u16
__user
*
suid
)
{
int
retval
;
...
...
@@ -158,7 +158,7 @@ asmlinkage long sys32_setresgid16(u16 rgid, u16 egid, u16 sgid)
low2highgid
(
sgid
));
}
asmlinkage
long
sys32_getresgid16
(
u16
*
rgid
,
u16
*
egid
,
u16
*
sgid
)
asmlinkage
long
sys32_getresgid16
(
u16
__user
*
rgid
,
u16
__user
*
egid
,
u16
__user
*
sgid
)
{
int
retval
;
...
...
@@ -179,7 +179,7 @@ asmlinkage long sys32_setfsgid16(u16 gid)
return
sys_setfsgid
((
gid_t
)
gid
);
}
static
int
groups16_to_user
(
u16
*
grouplist
,
struct
group_info
*
group_info
)
static
int
groups16_to_user
(
u16
__user
*
grouplist
,
struct
group_info
*
group_info
)
{
int
i
;
u16
group
;
...
...
@@ -193,7 +193,7 @@ static int groups16_to_user(u16 *grouplist, struct group_info *group_info)
return
0
;
}
static
int
groups16_from_user
(
struct
group_info
*
group_info
,
u16
*
grouplist
)
static
int
groups16_from_user
(
struct
group_info
*
group_info
,
u16
__user
*
grouplist
)
{
int
i
;
u16
group
;
...
...
@@ -207,7 +207,7 @@ static int groups16_from_user(struct group_info *group_info, u16 *grouplist)
return
0
;
}
asmlinkage
long
sys32_getgroups16
(
int
gidsetsize
,
u16
*
grouplist
)
asmlinkage
long
sys32_getgroups16
(
int
gidsetsize
,
u16
__user
*
grouplist
)
{
int
i
;
...
...
@@ -231,7 +231,7 @@ asmlinkage long sys32_getgroups16(int gidsetsize, u16 *grouplist)
return
i
;
}
asmlinkage
long
sys32_setgroups16
(
int
gidsetsize
,
u16
*
grouplist
)
asmlinkage
long
sys32_setgroups16
(
int
gidsetsize
,
u16
__user
*
grouplist
)
{
struct
group_info
*
group_info
;
int
retval
;
...
...
@@ -278,14 +278,14 @@ asmlinkage long sys32_getegid16(void)
/* 32-bit timeval and related flotsam. */
static
inline
long
get_tv32
(
struct
timeval
*
o
,
struct
compat_timeval
*
i
)
static
inline
long
get_tv32
(
struct
timeval
*
o
,
struct
compat_timeval
__user
*
i
)
{
return
(
!
access_ok
(
VERIFY_READ
,
o
,
sizeof
(
*
o
))
||
(
__get_user
(
o
->
tv_sec
,
&
i
->
tv_sec
)
||
__get_user
(
o
->
tv_usec
,
&
i
->
tv_usec
)));
}
static
inline
long
put_tv32
(
struct
compat_timeval
*
o
,
struct
timeval
*
i
)
static
inline
long
put_tv32
(
struct
compat_timeval
__user
*
o
,
struct
timeval
*
i
)
{
return
(
!
access_ok
(
VERIFY_WRITE
,
o
,
sizeof
(
*
o
))
||
(
__put_user
(
i
->
tv_sec
,
&
o
->
tv_sec
)
||
...
...
@@ -341,7 +341,7 @@ asmlinkage long sys32_ipc(u32 call, int first, int second, int third, u32 ptr)
return
-
ENOSYS
;
}
asmlinkage
long
sys32_truncate64
(
const
char
*
path
,
unsigned
long
high
,
unsigned
long
low
)
asmlinkage
long
sys32_truncate64
(
const
char
__user
*
path
,
unsigned
long
high
,
unsigned
long
low
)
{
if
((
int
)
high
<
0
)
return
-
EINVAL
;
...
...
@@ -357,7 +357,7 @@ asmlinkage long sys32_ftruncate64(unsigned int fd, unsigned long high, unsigned
return
sys_ftruncate
(
fd
,
(
high
<<
32
)
|
low
);
}
int
cp_compat_stat
(
struct
kstat
*
stat
,
struct
compat_stat
*
statbuf
)
int
cp_compat_stat
(
struct
kstat
*
stat
,
struct
compat_stat
__user
*
statbuf
)
{
int
err
;
...
...
@@ -591,7 +591,7 @@ sys32_delete_module(const char __user *name_user, unsigned int flags)
extern
struct
timezone
sys_tz
;
asmlinkage
long
sys32_gettimeofday
(
struct
compat_timeval
*
tv
,
struct
timezone
*
tz
)
asmlinkage
long
sys32_gettimeofday
(
struct
compat_timeval
__user
*
tv
,
struct
timezone
__user
*
tz
)
{
if
(
tv
)
{
struct
timeval
ktv
;
...
...
@@ -606,7 +606,7 @@ asmlinkage long sys32_gettimeofday(struct compat_timeval *tv, struct timezone *t
return
0
;
}
static
inline
long
get_ts32
(
struct
timespec
*
o
,
struct
compat_timeval
*
i
)
static
inline
long
get_ts32
(
struct
timespec
*
o
,
struct
compat_timeval
__user
*
i
)
{
long
usec
;
...
...
@@ -620,7 +620,7 @@ static inline long get_ts32(struct timespec *o, struct compat_timeval *i)
return
0
;
}
asmlinkage
long
sys32_settimeofday
(
struct
compat_timeval
*
tv
,
struct
timezone
*
tz
)
asmlinkage
long
sys32_settimeofday
(
struct
compat_timeval
__user
*
tv
,
struct
timezone
__user
*
tz
)
{
struct
timespec
kts
;
struct
timezone
ktz
;
...
...
@@ -645,7 +645,7 @@ asmlinkage long sys32_pause(void)
return
-
ERESTARTNOHAND
;
}
asmlinkage
long
sys32_pread64
(
unsigned
int
fd
,
char
*
ubuf
,
asmlinkage
long
sys32_pread64
(
unsigned
int
fd
,
char
__user
*
ubuf
,
size_t
count
,
u32
poshi
,
u32
poslo
)
{
if
((
compat_ssize_t
)
count
<
0
)
...
...
@@ -653,7 +653,7 @@ asmlinkage long sys32_pread64(unsigned int fd, char *ubuf,
return
sys_pread64
(
fd
,
ubuf
,
count
,
((
loff_t
)
AA
(
poshi
)
<<
32
)
|
AA
(
poslo
));
}
asmlinkage
long
sys32_pwrite64
(
unsigned
int
fd
,
const
char
*
ubuf
,
asmlinkage
long
sys32_pwrite64
(
unsigned
int
fd
,
const
char
__user
*
ubuf
,
size_t
count
,
u32
poshi
,
u32
poslo
)
{
if
((
compat_ssize_t
)
count
<
0
)
...
...
@@ -666,7 +666,7 @@ asmlinkage compat_ssize_t sys32_readahead(int fd, u32 offhi, u32 offlo, s32 coun
return
sys_readahead
(
fd
,
((
loff_t
)
AA
(
offhi
)
<<
32
)
|
AA
(
offlo
),
count
);
}
asmlinkage
long
sys32_sendfile
(
int
out_fd
,
int
in_fd
,
compat_off_t
*
offset
,
size_t
count
)
asmlinkage
long
sys32_sendfile
(
int
out_fd
,
int
in_fd
,
compat_off_t
__user
*
offset
,
size_t
count
)
{
mm_segment_t
old_fs
=
get_fs
();
int
ret
;
...
...
@@ -686,7 +686,7 @@ asmlinkage long sys32_sendfile(int out_fd, int in_fd, compat_off_t *offset, size
}
asmlinkage
long
sys32_sendfile64
(
int
out_fd
,
int
in_fd
,
compat_loff_t
*
offset
,
s32
count
)
compat_loff_t
__user
*
offset
,
s32
count
)
{
mm_segment_t
old_fs
=
get_fs
();
int
ret
;
...
...
@@ -722,7 +722,7 @@ struct timex32 {
extern
int
do_adjtimex
(
struct
timex
*
);
asmlinkage
long
sys32_adjtimex
(
struct
timex32
*
utp
)
asmlinkage
long
sys32_adjtimex
(
struct
timex32
__user
*
utp
)
{
struct
timex
txc
;
int
ret
;
...
...
@@ -789,12 +789,13 @@ struct __sysctl_args32 {
u32
__unused
[
4
];
};
asmlinkage
long
sys32_sysctl
(
struct
__sysctl_args32
*
args
)
asmlinkage
long
sys32_sysctl
(
struct
__sysctl_args32
__user
*
args
)
{
struct
__sysctl_args32
tmp
;
int
error
;
size_t
oldlen
,
*
oldlenp
=
NULL
;
unsigned
long
addr
=
(((
long
)
&
args
->
__unused
[
0
])
+
7
)
&
~
7
;
size_t
oldlen
;
size_t
__user
*
oldlenp
=
NULL
;
unsigned
long
addr
=
(((
unsigned
long
)
&
args
->
__unused
[
0
])
+
7
)
&
~
7
;
if
(
copy_from_user
(
&
tmp
,
args
,
sizeof
(
tmp
)))
return
-
EFAULT
;
...
...
@@ -806,20 +807,20 @@ asmlinkage long sys32_sysctl(struct __sysctl_args32 *args)
basically copy the whole sysctl.c here, and
glibc's __sysctl uses rw memory for the structure
anyway. */
if
(
get_user
(
oldlen
,
(
u32
*
)
A
(
tmp
.
oldlenp
))
||
put_user
(
oldlen
,
(
size_t
*
)
addr
))
if
(
get_user
(
oldlen
,
(
u32
__user
*
)
compat_ptr
(
tmp
.
oldlenp
))
||
put_user
(
oldlen
,
(
size_t
__user
*
)
addr
))
return
-
EFAULT
;
oldlenp
=
(
size_t
*
)
addr
;
oldlenp
=
(
size_t
__user
*
)
addr
;
}
lock_kernel
();
error
=
do_sysctl
(
(
int
*
)
A
(
tmp
.
name
),
tmp
.
nlen
,
(
void
*
)
A
(
tmp
.
oldval
),
oldlenp
,
(
void
*
)
A
(
tmp
.
newval
),
tmp
.
newlen
);
error
=
do_sysctl
(
compat_ptr
(
tmp
.
name
),
tmp
.
nlen
,
compat_ptr
(
tmp
.
oldval
),
oldlenp
,
compat_ptr
(
tmp
.
newval
),
tmp
.
newlen
);
unlock_kernel
();
if
(
oldlenp
)
{
if
(
!
error
)
{
if
(
get_user
(
oldlen
,
(
size_t
*
)
addr
)
||
put_user
(
oldlen
,
(
u32
*
)
A
(
tmp
.
oldlenp
)))
if
(
get_user
(
oldlen
,
(
size_t
__user
*
)
addr
)
||
put_user
(
oldlen
,
(
u32
__user
*
)
compat_ptr
(
tmp
.
oldlenp
)))
error
=
-
EFAULT
;
}
copy_to_user
(
args
->
__unused
,
tmp
.
__unused
,
sizeof
(
tmp
.
__unused
));
...
...
@@ -853,7 +854,7 @@ struct stat64_emu31 {
unsigned
long
st_ino
;
};
static
int
cp_stat64
(
struct
stat64_emu31
*
ubuf
,
struct
kstat
*
stat
)
static
int
cp_stat64
(
struct
stat64_emu31
__user
*
ubuf
,
struct
kstat
*
stat
)
{
struct
stat64_emu31
tmp
;
...
...
@@ -877,7 +878,7 @@ static int cp_stat64(struct stat64_emu31 *ubuf, struct kstat *stat)
return
copy_to_user
(
ubuf
,
&
tmp
,
sizeof
(
tmp
))
?
-
EFAULT
:
0
;
}
asmlinkage
long
sys32_stat64
(
char
*
filename
,
struct
stat64_emu31
*
statbuf
)
asmlinkage
long
sys32_stat64
(
char
__user
*
filename
,
struct
stat64_emu31
__user
*
statbuf
)
{
struct
kstat
stat
;
int
ret
=
vfs_stat
(
filename
,
&
stat
);
...
...
@@ -886,7 +887,7 @@ asmlinkage long sys32_stat64(char * filename, struct stat64_emu31 * statbuf)
return
ret
;
}
asmlinkage
long
sys32_lstat64
(
char
*
filename
,
struct
stat64_emu31
*
statbuf
)
asmlinkage
long
sys32_lstat64
(
char
__user
*
filename
,
struct
stat64_emu31
__user
*
statbuf
)
{
struct
kstat
stat
;
int
ret
=
vfs_lstat
(
filename
,
&
stat
);
...
...
@@ -895,7 +896,7 @@ asmlinkage long sys32_lstat64(char * filename, struct stat64_emu31 * statbuf)
return
ret
;
}
asmlinkage
long
sys32_fstat64
(
unsigned
long
fd
,
struct
stat64_emu31
*
statbuf
)
asmlinkage
long
sys32_fstat64
(
unsigned
long
fd
,
struct
stat64_emu31
__user
*
statbuf
)
{
struct
kstat
stat
;
int
ret
=
vfs_fstat
(
fd
,
&
stat
);
...
...
@@ -952,7 +953,7 @@ static inline long do_mmap2(
asmlinkage
unsigned
long
old32_mmap
(
struct
mmap_arg_struct_emu31
*
arg
)
old32_mmap
(
struct
mmap_arg_struct_emu31
__user
*
arg
)
{
struct
mmap_arg_struct_emu31
a
;
int
error
=
-
EFAULT
;
...
...
@@ -970,7 +971,7 @@ old32_mmap(struct mmap_arg_struct_emu31 *arg)
}
asmlinkage
long
sys32_mmap2
(
struct
mmap_arg_struct_emu31
*
arg
)
sys32_mmap2
(
struct
mmap_arg_struct_emu31
__user
*
arg
)
{
struct
mmap_arg_struct_emu31
a
;
int
error
=
-
EFAULT
;
...
...
@@ -982,7 +983,7 @@ sys32_mmap2(struct mmap_arg_struct_emu31 *arg)
return
error
;
}
asmlinkage
long
sys32_read
(
unsigned
int
fd
,
char
*
buf
,
size_t
count
)
asmlinkage
long
sys32_read
(
unsigned
int
fd
,
char
__user
*
buf
,
size_t
count
)
{
if
((
compat_ssize_t
)
count
<
0
)
return
-
EINVAL
;
...
...
@@ -990,7 +991,7 @@ asmlinkage long sys32_read(unsigned int fd, char * buf, size_t count)
return
sys_read
(
fd
,
buf
,
count
);
}
asmlinkage
long
sys32_write
(
unsigned
int
fd
,
char
*
buf
,
size_t
count
)
asmlinkage
long
sys32_write
(
unsigned
int
fd
,
char
__user
*
buf
,
size_t
count
)
{
if
((
compat_ssize_t
)
count
<
0
)
return
-
EINVAL
;
...
...
@@ -1002,12 +1003,12 @@ asmlinkage long sys32_clone(struct pt_regs regs)
{
unsigned
long
clone_flags
;
unsigned
long
newsp
;
int
*
parent_tidptr
,
*
child_tidptr
;
int
__user
*
parent_tidptr
,
*
child_tidptr
;
clone_flags
=
regs
.
gprs
[
3
]
&
0xffffffffUL
;
newsp
=
regs
.
orig_gpr2
&
0x7fffffffUL
;
parent_tidptr
=
(
int
*
)
(
regs
.
gprs
[
4
]
&
0x7fffffffUL
);
child_tidptr
=
(
int
*
)
(
regs
.
gprs
[
5
]
&
0x7fffffffUL
);
parent_tidptr
=
compat_ptr
(
regs
.
gprs
[
4
]
);
child_tidptr
=
compat_ptr
(
regs
.
gprs
[
5
]
);
if
(
!
newsp
)
newsp
=
regs
.
gprs
[
15
];
return
do_fork
(
clone_flags
,
newsp
,
&
regs
,
0
,
...
...
arch/s390/kernel/sys_s390.c
View file @
423ab71a
...
...
@@ -122,8 +122,8 @@ asmlinkage long old_mmap(struct mmap_arg_struct __user *arg)
#ifndef CONFIG_64BIT
struct
sel_arg_struct
{
unsigned
long
n
;
fd_set
*
inp
,
*
outp
,
*
exp
;
struct
timeval
*
tvp
;
fd_set
__user
*
inp
,
*
outp
,
*
exp
;
struct
timeval
__user
*
tvp
;
};
asmlinkage
long
old_select
(
struct
sel_arg_struct
__user
*
arg
)
...
...
arch/s390/kernel/traps.c
View file @
423ab71a
...
...
@@ -486,7 +486,7 @@ asmlinkage void illegal_op(struct pt_regs * regs, long interruption_code)
info
.
si_signo
=
signal
;
info
.
si_errno
=
0
;
info
.
si_code
=
ILL_ILLOPC
;
info
.
si_addr
=
(
void
*
)
location
;
info
.
si_addr
=
(
void
__user
*
)
location
;
do_trap
(
interruption_code
,
signal
,
"illegal operation"
,
regs
,
&
info
);
}
...
...
arch/sh/boards/renesas/rts7751r2d/io.c
View file @
423ab71a
...
...
@@ -216,24 +216,26 @@ void rts7751r2d_insb(unsigned long port, void *addr, unsigned long count)
{
volatile
__u8
*
bp
;
volatile
__u16
*
p
;
unsigned
char
*
s
=
addr
;
if
(
CHECK_AX88796L_PORT
(
port
))
{
p
=
(
volatile
unsigned
short
*
)
port88796l
(
port
,
0
);
while
(
count
--
)
*
((
unsigned
char
*
)
addr
)
++
=
*
p
&
0xff
;
while
(
count
--
)
*
s
++
=
*
p
&
0xff
;
}
else
if
(
PXSEG
(
port
))
while
(
count
--
)
*
((
unsigned
char
*
)
addr
)
++
=
*
(
volatile
unsigned
char
*
)
port
;
while
(
count
--
)
*
s
++
=
*
(
volatile
unsigned
char
*
)
port
;
else
if
(
CHECK_SH7751_PCIIO
(
port
)
||
shifted_port
(
port
))
{
bp
=
(
__u8
*
)
PCI_IOMAP
(
port
);
while
(
count
--
)
*
((
volatile
unsigned
char
*
)
addr
)
++
=
*
bp
;
while
(
count
--
)
*
s
++
=
*
bp
;
}
else
{
p
=
(
volatile
unsigned
short
*
)
port2adr
(
port
);
while
(
count
--
)
*
((
unsigned
char
*
)
addr
)
++
=
*
p
&
0xff
;
while
(
count
--
)
*
s
++
=
*
p
&
0xff
;
}
}
void
rts7751r2d_insw
(
unsigned
long
port
,
void
*
addr
,
unsigned
long
count
)
{
volatile
__u16
*
p
;
__u16
*
s
=
addr
;
if
(
CHECK_AX88796L_PORT
(
port
))
p
=
(
volatile
unsigned
short
*
)
port88796l
(
port
,
1
);
...
...
@@ -243,7 +245,7 @@ void rts7751r2d_insw(unsigned long port, void *addr, unsigned long count)
p
=
(
volatile
unsigned
short
*
)
PCI_IOMAP
(
port
);
else
p
=
(
volatile
unsigned
short
*
)
port2adr
(
port
);
while
(
count
--
)
*
((
__u16
*
)
addr
)
++
=
*
p
;
while
(
count
--
)
*
s
++
=
*
p
;
}
void
rts7751r2d_insl
(
unsigned
long
port
,
void
*
addr
,
unsigned
long
count
)
...
...
@@ -252,8 +254,9 @@ void rts7751r2d_insl(unsigned long port, void *addr, unsigned long count)
maybebadio
(
insl
,
port
);
else
if
(
CHECK_SH7751_PCIIO
(
port
)
||
shifted_port
(
port
))
{
volatile
__u32
*
p
=
(
__u32
*
)
PCI_IOMAP
(
port
);
__u32
*
s
=
addr
;
while
(
count
--
)
*
((
__u32
*
)
addr
)
++
=
*
p
;
while
(
count
--
)
*
s
++
=
*
p
;
}
else
maybebadio
(
insl
,
port
);
}
...
...
@@ -262,24 +265,26 @@ void rts7751r2d_outsb(unsigned long port, const void *addr, unsigned long count)
{
volatile
__u8
*
bp
;
volatile
__u16
*
p
;
const
__u8
*
s
=
addr
;
if
(
CHECK_AX88796L_PORT
(
port
))
{
p
=
(
volatile
unsigned
short
*
)
port88796l
(
port
,
0
);
while
(
count
--
)
*
p
=
*
((
unsigned
char
*
)
addr
)
++
;
while
(
count
--
)
*
p
=
*
s
++
;
}
else
if
(
PXSEG
(
port
))
while
(
count
--
)
*
(
volatile
unsigned
char
*
)
port
=
*
((
unsigned
char
*
)
addr
)
++
;
while
(
count
--
)
*
(
volatile
unsigned
char
*
)
port
=
*
s
++
;
else
if
(
CHECK_SH7751_PCIIO
(
port
)
||
shifted_port
(
port
))
{
bp
=
(
__u8
*
)
PCI_IOMAP
(
port
);
while
(
count
--
)
*
bp
=
*
((
volatile
unsigned
char
*
)
addr
)
++
;
while
(
count
--
)
*
bp
=
*
s
++
;
}
else
{
p
=
(
volatile
unsigned
short
*
)
port2adr
(
port
);
while
(
count
--
)
*
p
=
*
((
unsigned
char
*
)
addr
)
++
;
while
(
count
--
)
*
p
=
*
s
++
;
}
}
void
rts7751r2d_outsw
(
unsigned
long
port
,
const
void
*
addr
,
unsigned
long
count
)
{
volatile
__u16
*
p
;
const
__u16
*
s
=
addr
;
if
(
CHECK_AX88796L_PORT
(
port
))
p
=
(
volatile
unsigned
short
*
)
port88796l
(
port
,
1
);
...
...
@@ -289,7 +294,7 @@ void rts7751r2d_outsw(unsigned long port, const void *addr, unsigned long count)
p
=
(
volatile
unsigned
short
*
)
PCI_IOMAP
(
port
);
else
p
=
(
volatile
unsigned
short
*
)
port2adr
(
port
);
while
(
count
--
)
*
p
=
*
((
__u16
*
)
addr
)
++
;
while
(
count
--
)
*
p
=
*
s
++
;
}
void
rts7751r2d_outsl
(
unsigned
long
port
,
const
void
*
addr
,
unsigned
long
count
)
...
...
@@ -298,8 +303,9 @@ void rts7751r2d_outsl(unsigned long port, const void *addr, unsigned long count)
maybebadio
(
outsl
,
port
);
else
if
(
CHECK_SH7751_PCIIO
(
port
)
||
shifted_port
(
port
))
{
volatile
__u32
*
p
=
(
__u32
*
)
PCI_IOMAP
(
port
);
const
__u32
*
s
=
addr
;
while
(
count
--
)
*
p
=
*
((
__u32
*
)
addr
)
++
;
while
(
count
--
)
*
p
=
*
s
++
;
}
else
maybebadio
(
outsl
,
port
);
}
...
...
drivers/char/Kconfig
View file @
423ab71a
...
...
@@ -222,7 +222,7 @@ config SYNCLINKMP
config SYNCLINK_GT
tristate "SyncLink GT/AC support"
depends on SERIAL_NONSTANDARD
depends on SERIAL_NONSTANDARD
&& PCI
help
Support for SyncLink GT and SyncLink AC families of
synchronous and asynchronous serial adapters
...
...
drivers/isdn/hisax/Kconfig
View file @
423ab71a
...
...
@@ -351,7 +351,7 @@ config HISAX_ENTERNOW_PCI
config HISAX_AMD7930
bool "Am7930 (EXPERIMENTAL)"
depends on EXPERIMENTAL && SPARC
depends on EXPERIMENTAL && SPARC
&& BROKEN
help
This enables HiSax support for the AMD7930 chips on some SPARCs.
This code is not finished yet.
...
...
drivers/media/video/compat_ioctl32.c
View file @
423ab71a
...
...
@@ -167,29 +167,32 @@ static int get_v4l2_window32(struct v4l2_window *kp, struct v4l2_window32 __user
if
(
kp
->
clipcount
>
2048
)
return
-
EINVAL
;
if
(
kp
->
clipcount
)
{
struct
v4l2_clip32
*
uclips
=
compat_ptr
(
up
->
clips
)
;
struct
v4l2_clip
*
kclips
;
struct
v4l2_clip32
__user
*
uclips
;
struct
v4l2_clip
__user
*
kclips
;
int
n
=
kp
->
clipcount
;
compat_caddr_t
p
;
if
(
get_user
(
p
,
&
up
->
clips
))
return
-
EFAULT
;
uclips
=
compat_ptr
(
p
);
kclips
=
compat_alloc_user_space
(
n
*
sizeof
(
struct
v4l2_clip
));
kp
->
clips
=
kclips
;
while
(
--
n
>=
0
)
{
if
(
!
access_ok
(
VERIFY_READ
,
&
uclips
->
c
,
sizeof
(
uclips
->
c
))
||
copy_from_user
(
&
kclips
->
c
,
&
uclips
->
c
,
sizeof
(
uclips
->
c
)))
if
(
copy_in_user
(
&
kclips
->
c
,
&
uclips
->
c
,
sizeof
(
uclips
->
c
)))
return
-
EFAULT
;
if
(
put_user
(
n
?
kclips
+
1
:
NULL
,
&
kclips
->
next
))
return
-
EFAULT
;
kclips
->
next
=
n
?
kclips
+
1
:
0
;
uclips
+=
1
;
kclips
+=
1
;
}
}
else
kp
->
clips
=
0
;
kp
->
clips
=
NULL
;
return
0
;
}
static
int
put_v4l2_window32
(
struct
v4l2_window
*
kp
,
struct
v4l2_window32
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_WRITE
,
up
,
sizeof
(
struct
v4l2_window32
))
||
copy_to_user
(
&
up
->
w
,
&
kp
->
w
,
sizeof
(
up
->
w
))
||
if
(
copy_to_user
(
&
up
->
w
,
&
kp
->
w
,
sizeof
(
up
->
w
))
||
put_user
(
kp
->
field
,
&
up
->
field
)
||
put_user
(
kp
->
chromakey
,
&
up
->
chromakey
)
||
put_user
(
kp
->
clipcount
,
&
up
->
clipcount
))
...
...
@@ -199,33 +202,29 @@ static int put_v4l2_window32(struct v4l2_window *kp, struct v4l2_window32 __user
static
inline
int
get_v4l2_pix_format
(
struct
v4l2_pix_format
*
kp
,
struct
v4l2_pix_format
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_READ
,
up
,
sizeof
(
struct
v4l2_pix_format
))
||
copy_from_user
(
kp
,
up
,
sizeof
(
struct
v4l2_pix_format
)))
return
-
EFAULT
;
if
(
copy_from_user
(
kp
,
up
,
sizeof
(
struct
v4l2_pix_format
)))
return
-
EFAULT
;
return
0
;
}
static
inline
int
put_v4l2_pix_format
(
struct
v4l2_pix_format
*
kp
,
struct
v4l2_pix_format
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_WRITE
,
up
,
sizeof
(
struct
v4l2_pix_format
))
||
copy_to_user
(
up
,
kp
,
sizeof
(
struct
v4l2_pix_format
)))
return
-
EFAULT
;
if
(
copy_to_user
(
up
,
kp
,
sizeof
(
struct
v4l2_pix_format
)))
return
-
EFAULT
;
return
0
;
}
static
inline
int
get_v4l2_vbi_format
(
struct
v4l2_vbi_format
*
kp
,
struct
v4l2_vbi_format
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_READ
,
up
,
sizeof
(
struct
v4l2_vbi_format
))
||
copy_from_user
(
kp
,
up
,
sizeof
(
struct
v4l2_vbi_format
)))
return
-
EFAULT
;
if
(
copy_from_user
(
kp
,
up
,
sizeof
(
struct
v4l2_vbi_format
)))
return
-
EFAULT
;
return
0
;
}
static
inline
int
put_v4l2_vbi_format
(
struct
v4l2_vbi_format
*
kp
,
struct
v4l2_vbi_format
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_WRITE
,
up
,
sizeof
(
struct
v4l2_vbi_format
))
||
copy_to_user
(
up
,
kp
,
sizeof
(
struct
v4l2_vbi_format
)))
return
-
EFAULT
;
if
(
copy_to_user
(
up
,
kp
,
sizeof
(
struct
v4l2_vbi_format
)))
return
-
EFAULT
;
return
0
;
}
...
...
@@ -279,18 +278,16 @@ static int put_v4l2_format32(struct v4l2_format *kp, struct v4l2_format32 __user
static
inline
int
get_v4l2_standard
(
struct
v4l2_standard
*
kp
,
struct
v4l2_standard
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_READ
,
up
,
sizeof
(
struct
v4l2_standard
))
||
copy_from_user
(
kp
,
up
,
sizeof
(
struct
v4l2_standard
)))
return
-
EFAULT
;
if
(
copy_from_user
(
kp
,
up
,
sizeof
(
struct
v4l2_standard
)))
return
-
EFAULT
;
return
0
;
}
static
inline
int
put_v4l2_standard
(
struct
v4l2_standard
*
kp
,
struct
v4l2_standard
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_WRITE
,
up
,
sizeof
(
struct
v4l2_standard
))
||
copy_to_user
(
up
,
kp
,
sizeof
(
struct
v4l2_standard
)))
return
-
EFAULT
;
if
(
copy_to_user
(
up
,
kp
,
sizeof
(
struct
v4l2_standard
)))
return
-
EFAULT
;
return
0
;
}
...
...
@@ -328,18 +325,16 @@ static int put_v4l2_standard32(struct v4l2_standard *kp, struct v4l2_standard32
static
inline
int
get_v4l2_tuner
(
struct
v4l2_tuner
*
kp
,
struct
v4l2_tuner
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_READ
,
up
,
sizeof
(
struct
v4l2_tuner
))
||
copy_from_user
(
kp
,
up
,
sizeof
(
struct
v4l2_tuner
)))
return
-
EFAULT
;
if
(
copy_from_user
(
kp
,
up
,
sizeof
(
struct
v4l2_tuner
)))
return
-
EFAULT
;
return
0
;
}
static
inline
int
put_v4l2_tuner
(
struct
v4l2_tuner
*
kp
,
struct
v4l2_tuner
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_WRITE
,
up
,
sizeof
(
struct
v4l2_tuner
))
||
copy_to_user
(
up
,
kp
,
sizeof
(
struct
v4l2_tuner
)))
return
-
EFAULT
;
if
(
copy_to_user
(
up
,
kp
,
sizeof
(
struct
v4l2_tuner
)))
return
-
EFAULT
;
return
0
;
}
...
...
@@ -380,11 +375,13 @@ static int get_v4l2_buffer32(struct v4l2_buffer *kp, struct v4l2_buffer32 __user
break
;
case
V4L2_MEMORY_USERPTR
:
{
unsigned
long
tmp
=
(
unsigned
long
)
compat_ptr
(
up
->
m
.
userptr
)
;
compat_long_t
tmp
;
if
(
get_user
(
kp
->
length
,
&
up
->
length
)
||
get_user
(
kp
->
m
.
userptr
,
&
tmp
))
return
-
EFAULT
;
if
(
get_user
(
kp
->
length
,
&
up
->
length
)
||
get_user
(
tmp
,
&
up
->
m
.
userptr
))
return
-
EFAULT
;
kp
->
m
.
userptr
=
(
unsigned
long
)
compat_ptr
(
tmp
);
}
break
;
case
V4L2_MEMORY_OVERLAY
:
...
...
@@ -468,33 +465,29 @@ static int put_v4l2_framebuffer32(struct v4l2_framebuffer *kp, struct v4l2_frame
static
inline
int
get_v4l2_input32
(
struct
v4l2_input
*
kp
,
struct
v4l2_input
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_READ
,
up
,
sizeof
(
struct
v4l2_input
)
-
4
)
||
copy_from_user
(
kp
,
up
,
sizeof
(
struct
v4l2_input
)
-
4
))
return
-
EFAULT
;
if
(
copy_from_user
(
kp
,
up
,
sizeof
(
struct
v4l2_input
)
-
4
))
return
-
EFAULT
;
return
0
;
}
static
inline
int
put_v4l2_input32
(
struct
v4l2_input
*
kp
,
struct
v4l2_input
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_WRITE
,
up
,
sizeof
(
struct
v4l2_input
)
-
4
)
||
copy_to_user
(
up
,
kp
,
sizeof
(
struct
v4l2_input
)
-
4
))
return
-
EFAULT
;
if
(
copy_to_user
(
up
,
kp
,
sizeof
(
struct
v4l2_input
)
-
4
))
return
-
EFAULT
;
return
0
;
}
static
inline
int
get_v4l2_input
(
struct
v4l2_input
*
kp
,
struct
v4l2_input
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_READ
,
up
,
sizeof
(
struct
v4l2_input
))
||
copy_from_user
(
kp
,
up
,
sizeof
(
struct
v4l2_input
)))
return
-
EFAULT
;
if
(
copy_from_user
(
kp
,
up
,
sizeof
(
struct
v4l2_input
)))
return
-
EFAULT
;
return
0
;
}
static
inline
int
put_v4l2_input
(
struct
v4l2_input
*
kp
,
struct
v4l2_input
__user
*
up
)
{
if
(
!
access_ok
(
VERIFY_WRITE
,
up
,
sizeof
(
struct
v4l2_input
))
||
copy_to_user
(
up
,
kp
,
sizeof
(
struct
v4l2_input
)))
return
-
EFAULT
;
if
(
copy_to_user
(
up
,
kp
,
sizeof
(
struct
v4l2_input
)))
return
-
EFAULT
;
return
0
;
}
...
...
drivers/mtd/chips/Kconfig
View file @
423ab71a
...
...
@@ -301,7 +301,7 @@ config MTD_JEDEC
config MTD_XIP
bool "XIP aware MTD support"
depends on !SMP && (MTD_CFI_INTELEXT || MTD_CFI_AMDSTD) && EXPERIMENTAL && AR
M
depends on !SMP && (MTD_CFI_INTELEXT || MTD_CFI_AMDSTD) && EXPERIMENTAL && AR
CH_MTD_XIP
default y if XIP_KERNEL
help
This allows MTD support to work with flash memory which is also
...
...
drivers/net/wireless/prism54/isl_ioctl.c
View file @
423ab71a
...
...
@@ -748,7 +748,7 @@ prism54_get_essid(struct net_device *ndev, struct iw_request_info *info,
if
(
essid
->
length
)
{
dwrq
->
flags
=
1
;
/* set ESSID to ON for Wireless Extensions */
/* if it is to big, trunk it */
dwrq
->
length
=
min
(
IW_ESSID_MAX_SIZE
,
essid
->
length
);
dwrq
->
length
=
min
(
(
u8
)
IW_ESSID_MAX_SIZE
,
essid
->
length
);
}
else
{
dwrq
->
flags
=
0
;
dwrq
->
length
=
0
;
...
...
drivers/serial/m32r_sio.h
View file @
423ab71a
...
...
@@ -37,7 +37,7 @@ struct old_serial_port {
unsigned
int
irq
;
unsigned
int
flags
;
unsigned
char
io_type
;
unsigned
char
*
iomem_base
;
unsigned
char
__iomem
*
iomem_base
;
unsigned
short
iomem_reg_shift
;
};
...
...
drivers/sn/ioc3.c
View file @
423ab71a
...
...
@@ -38,10 +38,10 @@ static inline unsigned mcr_pack(unsigned pulse, unsigned sample)
static
int
nic_wait
(
struct
ioc3_driver_data
*
idd
)
{
volatile
unsigned
mcr
;
unsigned
mcr
;
do
{
mcr
=
(
volatile
unsigned
)
idd
->
vma
->
mcr
;
mcr
=
readl
(
&
idd
->
vma
->
mcr
)
;
}
while
(
!
(
mcr
&
2
));
return
mcr
&
1
;
...
...
@@ -53,7 +53,7 @@ static int nic_reset(struct ioc3_driver_data *idd)
unsigned
long
flags
;
local_irq_save
(
flags
);
idd
->
vma
->
mcr
=
mcr_pack
(
500
,
65
);
writel
(
mcr_pack
(
500
,
65
),
&
idd
->
vma
->
mcr
);
presence
=
nic_wait
(
idd
);
local_irq_restore
(
flags
);
...
...
@@ -68,7 +68,7 @@ static inline int nic_read_bit(struct ioc3_driver_data *idd)
unsigned
long
flags
;
local_irq_save
(
flags
);
idd
->
vma
->
mcr
=
mcr_pack
(
6
,
13
);
writel
(
mcr_pack
(
6
,
13
),
&
idd
->
vma
->
mcr
);
result
=
nic_wait
(
idd
);
local_irq_restore
(
flags
);
...
...
@@ -80,9 +80,9 @@ static inline int nic_read_bit(struct ioc3_driver_data *idd)
static
inline
void
nic_write_bit
(
struct
ioc3_driver_data
*
idd
,
int
bit
)
{
if
(
bit
)
idd
->
vma
->
mcr
=
mcr_pack
(
6
,
110
);
writel
(
mcr_pack
(
6
,
110
),
&
idd
->
vma
->
mcr
);
else
idd
->
vma
->
mcr
=
mcr_pack
(
80
,
30
);
writel
(
mcr_pack
(
80
,
30
),
&
idd
->
vma
->
mcr
);
nic_wait
(
idd
);
}
...
...
@@ -337,7 +337,7 @@ static void probe_nic(struct ioc3_driver_data *idd)
int
save
=
0
,
loops
=
3
;
unsigned
long
first
,
addr
;
idd
->
vma
->
gpcr_s
=
GPCR_MLAN_EN
;
writel
(
GPCR_MLAN_EN
,
&
idd
->
vma
->
gpcr_s
)
;
while
(
loops
>
0
)
{
idd
->
nic_part
[
0
]
=
0
;
...
...
@@ -408,7 +408,7 @@ static irqreturn_t ioc3_intr_io(int irq, void *arg, struct pt_regs *regs)
read_lock_irqsave
(
&
ioc3_submodules_lock
,
flags
);
if
(
idd
->
dual_irq
&&
idd
->
vma
->
eisr
)
{
if
(
idd
->
dual_irq
&&
readb
(
&
idd
->
vma
->
eisr
)
)
{
/* send Ethernet IRQ to the driver */
if
(
ioc3_ethernet
&&
idd
->
active
[
ioc3_ethernet
->
id
]
&&
ioc3_ethernet
->
intr
)
{
...
...
@@ -682,7 +682,7 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
idd
->
id
=
ioc3_counter
++
;
up_write
(
&
ioc3_devices_rwsem
);
idd
->
gpdr_shadow
=
idd
->
vma
->
gpdr
;
idd
->
gpdr_shadow
=
readl
(
&
idd
->
vma
->
gpdr
)
;
/* Read IOC3 NIC contents */
probe_nic
(
idd
);
...
...
fs/compat_ioctl.c
View file @
423ab71a
...
...
@@ -931,8 +931,8 @@ struct compat_sg_req_info { /* used by SG_GET_REQUEST_TABLE ioctl() */
static
int
sg_grt_trans
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
int
err
,
i
;
sg_req_info_t
*
r
;
struct
compat_sg_req_info
*
o
=
(
struct
compat_sg_req_info
*
)
arg
;
sg_req_info_t
__user
*
r
;
struct
compat_sg_req_info
__user
*
o
=
(
void
__user
*
)
arg
;
r
=
compat_alloc_user_space
(
sizeof
(
sg_req_info_t
)
*
SG_MAX_QUEUE
);
err
=
sys_ioctl
(
fd
,
cmd
,(
unsigned
long
)
r
);
if
(
err
<
0
)
...
...
@@ -2739,8 +2739,8 @@ static int do_ncp_setprivatedata(unsigned int fd, unsigned int cmd, unsigned lon
static
int
lp_timeout_trans
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
struct
compat_timeval
*
tc
=
(
struct
compat_timeval
*
)
arg
;
struct
timeval
*
tn
=
compat_alloc_user_space
(
sizeof
(
struct
timeval
));
struct
compat_timeval
__user
*
tc
=
(
struct
compat_timeval
__user
*
)
arg
;
struct
timeval
__user
*
tn
=
compat_alloc_user_space
(
sizeof
(
struct
timeval
));
struct
timeval
ts
;
if
(
get_user
(
ts
.
tv_sec
,
&
tc
->
tv_sec
)
||
get_user
(
ts
.
tv_usec
,
&
tc
->
tv_usec
)
||
...
...
include/asm-mips/io.h
View file @
423ab71a
...
...
@@ -56,38 +56,38 @@
* variations of functions: non-prefixed ones that preserve the value
* and prefixed ones that preserve byte addresses. The latters are
* typically used for moving raw data between a peripheral and memory (cf.
* string I/O functions), hence the "mem_" prefix.
* string I/O functions), hence the "
__
mem_" prefix.
*/
#if defined(CONFIG_SWAP_IO_SPACE)
# define ioswabb(x) (x)
# define
mem_ioswabb(x)
(x)
# define
__mem_ioswabb(x)
(x)
# ifdef CONFIG_SGI_IP22
/*
* IP22 seems braindead enough to swap 16bits values in hardware, but
* not 32bits. Go figure... Can't tell without documentation.
*/
# define ioswabw(x) (x)
# define mem_ioswabw(x) le16_to_cpu(x)
# define
__
mem_ioswabw(x) le16_to_cpu(x)
# else
# define ioswabw(x) le16_to_cpu(x)
# define mem_ioswabw(x) (x)
# define
__
mem_ioswabw(x) (x)
# endif
# define ioswabl(x) le32_to_cpu(x)
# define
mem_ioswabl(x)
(x)
# define
__mem_ioswabl(x)
(x)
# define ioswabq(x) le64_to_cpu(x)
# define
mem_ioswabq(x)
(x)
# define
__mem_ioswabq(x)
(x)
#else
# define ioswabb(x) (x)
# define
mem_ioswabb(x)
(x)
# define
__mem_ioswabb(x)
(x)
# define ioswabw(x) (x)
# define
mem_ioswabw(x)
cpu_to_le16(x)
# define
__mem_ioswabw(x)
cpu_to_le16(x)
# define ioswabl(x) (x)
# define
mem_ioswabl(x)
cpu_to_le32(x)
# define
__mem_ioswabl(x)
cpu_to_le32(x)
# define ioswabq(x) (x)
# define
mem_ioswabq(x)
cpu_to_le32(x)
# define
__mem_ioswabq(x)
cpu_to_le32(x)
#endif
...
...
@@ -417,7 +417,7 @@ __BUILD_MEMORY_SINGLE(bus, bwlq, type, 1)
\
__BUILD_MEMORY_PFX(__raw_, bwlq, type) \
__BUILD_MEMORY_PFX(, bwlq, type) \
__BUILD_MEMORY_PFX(mem_, bwlq, type) \
__BUILD_MEMORY_PFX(
__
mem_, bwlq, type) \
BUILDIO_MEM
(
b
,
u8
)
BUILDIO_MEM
(
w
,
u16
)
...
...
@@ -430,7 +430,7 @@ BUILDIO_MEM(q, u64)
#define BUILDIO_IOPORT(bwlq, type) \
__BUILD_IOPORT_PFX(, bwlq, type) \
__BUILD_IOPORT_PFX(mem_, bwlq, type)
__BUILD_IOPORT_PFX(
__
mem_, bwlq, type)
BUILDIO_IOPORT
(
b
,
u8
)
BUILDIO_IOPORT
(
w
,
u16
)
...
...
@@ -464,7 +464,7 @@ static inline void writes##bwlq(volatile void __iomem *mem, \
const volatile type *__addr = addr; \
\
while (count--) { \
mem_write##bwlq(*__addr, mem);
\
__mem_write##bwlq(*__addr, mem);
\
__addr++; \
} \
} \
...
...
@@ -475,7 +475,7 @@ static inline void reads##bwlq(volatile void __iomem *mem, void *addr, \
volatile type *__addr = addr; \
\
while (count--) { \
*__addr =
mem_read##bwlq(mem);
\
*__addr =
__mem_read##bwlq(mem);
\
__addr++; \
} \
}
...
...
@@ -488,7 +488,7 @@ static inline void outs##bwlq(unsigned long port, const void *addr, \
const volatile type *__addr = addr; \
\
while (count--) { \
mem_out##bwlq(*__addr, port); \
__
mem_out##bwlq(*__addr, port); \
__addr++; \
} \
} \
...
...
@@ -499,7 +499,7 @@ static inline void ins##bwlq(unsigned long port, void *addr, \
volatile type *__addr = addr; \
\
while (count--) { \
*__addr = mem_in##bwlq(port); \
*__addr =
__
mem_in##bwlq(port); \
__addr++; \
} \
}
...
...
include/asm-powerpc/compat.h
View file @
423ab71a
...
...
@@ -126,6 +126,11 @@ static inline void __user *compat_ptr(compat_uptr_t uptr)
return
(
void
__user
*
)(
unsigned
long
)
uptr
;
}
static
inline
compat_uptr_t
ptr_to_compat
(
void
__user
*
uptr
)
{
return
(
u32
)(
unsigned
long
)
uptr
;
}
static
inline
void
__user
*
compat_alloc_user_space
(
long
len
)
{
struct
pt_regs
*
regs
=
current
->
thread
.
regs
;
...
...
include/asm-powerpc/thread_info.h
View file @
423ab71a
...
...
@@ -37,7 +37,7 @@ struct thread_info {
int
preempt_count
;
/* 0 => preemptable,
<0 => BUG */
struct
restart_block
restart_block
;
void
*
nvgprs_frame
;
void
__user
*
nvgprs_frame
;
/* low level flags - has atomic operations done on it */
unsigned
long
flags
____cacheline_aligned_in_smp
;
};
...
...
include/asm-s390/uaccess.h
View file @
423ab71a
...
...
@@ -61,7 +61,7 @@
#define segment_eq(a,b) ((a).ar4 == (b).ar4)
static
inline
int
__access_ok
(
const
void
*
addr
,
unsigned
long
size
)
static
inline
int
__access_ok
(
const
void
__user
*
addr
,
unsigned
long
size
)
{
return
1
;
}
...
...
@@ -208,25 +208,25 @@ extern int __put_user_bad(void) __attribute__((noreturn));
case 1: { \
unsigned char __x; \
__get_user_asm(__x, ptr, __gu_err); \
(x) = *(__
typeof__(*(ptr)) *) &__x;
\
(x) = *(__
force __typeof__(*(ptr)) *) &__x;
\
break; \
}; \
case 2: { \
unsigned short __x; \
__get_user_asm(__x, ptr, __gu_err); \
(x) = *(__
typeof__(*(ptr)) *) &__x;
\
(x) = *(__
force __typeof__(*(ptr)) *) &__x;
\
break; \
}; \
case 4: { \
unsigned int __x; \
__get_user_asm(__x, ptr, __gu_err); \
(x) = *(__
typeof__(*(ptr)) *) &__x;
\
(x) = *(__
force __typeof__(*(ptr)) *) &__x;
\
break; \
}; \
case 8: { \
unsigned long long __x; \
__get_user_asm(__x, ptr, __gu_err); \
(x) = *(__
typeof__(*(ptr)) *) &__x;
\
(x) = *(__
force __typeof__(*(ptr)) *) &__x;
\
break; \
}; \
default: \
...
...
include/linux/ioc3.h
View file @
423ab71a
...
...
@@ -27,7 +27,7 @@ struct ioc3_driver_data {
int
id
;
/* IOC3 sequence number */
/* PCI mapping */
unsigned
long
pma
;
/* physical address */
struct
__iomem
ioc3
*
vma
;
/* pointer to registers */
struct
ioc3
__iomem
*
vma
;
/* pointer to registers */
struct
pci_dev
*
pdev
;
/* PCI device */
/* IRQ stuff */
int
dual_irq
;
/* set if separate IRQs are used */
...
...
include/linux/videodev2.h
View file @
423ab71a
...
...
@@ -549,7 +549,7 @@ struct v4l2_framebuffer
struct
v4l2_clip
{
struct
v4l2_rect
c
;
struct
v4l2_clip
*
next
;
struct
v4l2_clip
__user
*
next
;
};
struct
v4l2_window
...
...
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