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