Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
a6796419
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
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看板
提交
a6796419
编写于
1月 23, 2015
作者:
T
Trond Myklebust
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
NFSv4: Check for NULL argument in nfs_*_seqid() functions
Signed-off-by:
N
Trond Myklebust
<
trond.myklebust@primarydata.com
>
上级
badc76dd
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
18 addition
and
8 deletion
+18
-8
fs/nfs/nfs4state.c
fs/nfs/nfs4state.c
+14
-7
fs/nfs/nfs4xdr.c
fs/nfs/nfs4xdr.c
+4
-1
未找到文件。
fs/nfs/nfs4state.c
浏览文件 @
a6796419
...
...
@@ -1015,7 +1015,7 @@ void nfs_release_seqid(struct nfs_seqid *seqid)
{
struct
nfs_seqid_counter
*
sequence
;
if
(
list_empty
(
&
seqid
->
list
))
if
(
seqid
==
NULL
||
list_empty
(
&
seqid
->
list
))
return
;
sequence
=
seqid
->
sequence
;
spin_lock
(
&
sequence
->
lock
);
...
...
@@ -1071,13 +1071,15 @@ static void nfs_increment_seqid(int status, struct nfs_seqid *seqid)
void
nfs_increment_open_seqid
(
int
status
,
struct
nfs_seqid
*
seqid
)
{
struct
nfs4_state_owner
*
sp
=
container_of
(
seqid
->
sequence
,
struct
nfs4_state_owner
,
so_seqid
);
struct
nfs_server
*
server
=
sp
->
so_server
;
struct
nfs4_state_owner
*
sp
;
if
(
seqid
==
NULL
)
return
;
sp
=
container_of
(
seqid
->
sequence
,
struct
nfs4_state_owner
,
so_seqid
);
if
(
status
==
-
NFS4ERR_BAD_SEQID
)
nfs4_drop_state_owner
(
sp
);
if
(
!
nfs4_has_session
(
server
->
nfs_client
))
if
(
!
nfs4_has_session
(
s
p
->
so_s
erver
->
nfs_client
))
nfs_increment_seqid
(
status
,
seqid
);
}
...
...
@@ -1088,14 +1090,18 @@ void nfs_increment_open_seqid(int status, struct nfs_seqid *seqid)
*/
void
nfs_increment_lock_seqid
(
int
status
,
struct
nfs_seqid
*
seqid
)
{
nfs_increment_seqid
(
status
,
seqid
);
if
(
seqid
!=
NULL
)
nfs_increment_seqid
(
status
,
seqid
);
}
int
nfs_wait_on_sequence
(
struct
nfs_seqid
*
seqid
,
struct
rpc_task
*
task
)
{
struct
nfs_seqid_counter
*
sequence
=
seqid
->
sequence
;
struct
nfs_seqid_counter
*
sequence
;
int
status
=
0
;
if
(
seqid
==
NULL
)
goto
out
;
sequence
=
seqid
->
sequence
;
spin_lock
(
&
sequence
->
lock
);
seqid
->
task
=
task
;
if
(
list_empty
(
&
seqid
->
list
))
...
...
@@ -1106,6 +1112,7 @@ int nfs_wait_on_sequence(struct nfs_seqid *seqid, struct rpc_task *task)
status
=
-
EAGAIN
;
unlock:
spin_unlock
(
&
sequence
->
lock
);
out:
return
status
;
}
...
...
fs/nfs/nfs4xdr.c
浏览文件 @
a6796419
...
...
@@ -946,7 +946,10 @@ static void encode_uint64(struct xdr_stream *xdr, u64 n)
static
void
encode_nfs4_seqid
(
struct
xdr_stream
*
xdr
,
const
struct
nfs_seqid
*
seqid
)
{
encode_uint32
(
xdr
,
seqid
->
sequence
->
counter
);
if
(
seqid
!=
NULL
)
encode_uint32
(
xdr
,
seqid
->
sequence
->
counter
);
else
encode_uint32
(
xdr
,
0
);
}
static
void
encode_compound_hdr
(
struct
xdr_stream
*
xdr
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录