Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
314ed736
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
314ed736
编写于
5月 25, 2017
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
compat_drm: switch sg ioctls
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
e92673ed
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
12 addition
and
18 deletion
+12
-18
drivers/gpu/drm/drm_ioc32.c
drivers/gpu/drm/drm_ioc32.c
+12
-18
未找到文件。
drivers/gpu/drm/drm_ioc32.c
浏览文件 @
314ed736
...
...
@@ -761,23 +761,19 @@ static int compat_drm_sg_alloc(struct file *file, unsigned int cmd,
unsigned
long
arg
)
{
drm_scatter_gather32_t
__user
*
argp
=
(
void
__user
*
)
arg
;
struct
drm_scatter_gather
__user
*
request
;
struct
drm_scatter_gather
request
;
int
err
;
unsigned
long
x
;
request
=
compat_alloc_user_space
(
sizeof
(
*
request
));
if
(
!
request
||
!
access_ok
(
VERIFY_WRITE
,
argp
,
sizeof
(
*
argp
))
||
__get_user
(
x
,
&
argp
->
size
)
||
__put_user
(
x
,
&
request
->
size
))
if
(
get_user
(
request
.
size
,
&
argp
->
size
))
return
-
EFAULT
;
err
=
drm_ioctl
(
file
,
DRM_IOCTL_SG_ALLOC
,
(
unsigned
long
)
request
);
err
=
drm_ioctl_kernel
(
file
,
drm_legacy_sg_alloc
,
&
request
,
DRM_AUTH
|
DRM_MASTER
|
DRM_ROOT_ONLY
);
if
(
err
)
return
err
;
/* XXX not sure about the handle conversion here... */
if
(
__get_user
(
x
,
&
request
->
handle
)
||
__put_user
(
x
>>
PAGE_SHIFT
,
&
argp
->
handle
))
if
(
put_user
(
request
.
handle
>>
PAGE_SHIFT
,
&
argp
->
handle
))
return
-
EFAULT
;
return
0
;
...
...
@@ -787,16 +783,14 @@ static int compat_drm_sg_free(struct file *file, unsigned int cmd,
unsigned
long
arg
)
{
drm_scatter_gather32_t
__user
*
argp
=
(
void
__user
*
)
arg
;
struct
drm_scatter_gather
__user
*
request
;
struct
drm_scatter_gather
request
;
unsigned
long
x
;
request
=
compat_alloc_user_space
(
sizeof
(
*
request
));
if
(
!
request
||
!
access_ok
(
VERIFY_WRITE
,
argp
,
sizeof
(
*
argp
))
||
__get_user
(
x
,
&
argp
->
handle
)
||
__put_user
(
x
<<
PAGE_SHIFT
,
&
request
->
handle
))
if
(
get_user
(
x
,
&
argp
->
handle
))
return
-
EFAULT
;
return
drm_ioctl
(
file
,
DRM_IOCTL_SG_FREE
,
(
unsigned
long
)
request
);
request
.
handle
=
x
<<
PAGE_SHIFT
;
return
drm_ioctl_kernel
(
file
,
drm_legacy_sg_free
,
&
request
,
DRM_AUTH
|
DRM_MASTER
|
DRM_ROOT_ONLY
);
}
#if defined(CONFIG_X86) || defined(CONFIG_IA64)
...
...
@@ -972,8 +966,8 @@ static struct {
DRM_IOCTL32_DEF
(
DRM_IOCTL_AGP_BIND
,
compat_drm_agp_bind
),
DRM_IOCTL32_DEF
(
DRM_IOCTL_AGP_UNBIND
,
compat_drm_agp_unbind
),
#endif
[
DRM_IOCTL_NR
(
DRM_IOCTL_SG_ALLOC32
)].
fn
=
compat_drm_sg_alloc
,
[
DRM_IOCTL_NR
(
DRM_IOCTL_SG_FREE32
)].
fn
=
compat_drm_sg_free
,
DRM_IOCTL32_DEF
(
DRM_IOCTL_SG_ALLOC
,
compat_drm_sg_alloc
)
,
DRM_IOCTL32_DEF
(
DRM_IOCTL_SG_FREE
,
compat_drm_sg_free
)
,
#if defined(CONFIG_X86) || defined(CONFIG_IA64)
[
DRM_IOCTL_NR
(
DRM_IOCTL_UPDATE_DRAW32
)].
fn
=
compat_drm_update_draw
,
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录