Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
45dcc687
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
45dcc687
编写于
11月 15, 2014
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tipc_msg_build(): pass msghdr instead of its ->msg_iov
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
562640f3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
8 addition
and
9 deletion
+8
-9
net/tipc/msg.c
net/tipc/msg.c
+4
-4
net/tipc/msg.h
net/tipc/msg.h
+1
-1
net/tipc/socket.c
net/tipc/socket.c
+3
-4
未找到文件。
net/tipc/msg.c
浏览文件 @
45dcc687
...
...
@@ -162,14 +162,14 @@ int tipc_buf_append(struct sk_buff **headbuf, struct sk_buff **buf)
/**
* tipc_msg_build - create buffer chain containing specified header and data
* @mhdr: Message header, to be prepended to data
* @
iov: User data
* @
m: User message
* @offset: Posision in iov to start copying from
* @dsz: Total length of user data
* @pktmax: Max packet size that can be used
* @chain: Buffer or chain of buffers to be returned to caller
* Returns message data size or errno: -ENOMEM, -EFAULT
*/
int
tipc_msg_build
(
struct
tipc_msg
*
mhdr
,
struct
iovec
const
*
iov
,
int
tipc_msg_build
(
struct
tipc_msg
*
mhdr
,
struct
msghdr
*
m
,
int
offset
,
int
dsz
,
int
pktmax
,
struct
sk_buff
**
chain
)
{
int
mhsz
=
msg_hdr_sz
(
mhdr
);
...
...
@@ -194,7 +194,7 @@ int tipc_msg_build(struct tipc_msg *mhdr, struct iovec const *iov,
skb_copy_to_linear_data
(
buf
,
mhdr
,
mhsz
);
pktpos
=
buf
->
data
+
mhsz
;
TIPC_SKB_CB
(
buf
)
->
chain_sz
=
1
;
if
(
!
dsz
||
!
memcpy_fromiovecend
(
pktpos
,
iov
,
offset
,
dsz
))
if
(
!
dsz
||
!
memcpy_fromiovecend
(
pktpos
,
m
->
msg_
iov
,
offset
,
dsz
))
return
dsz
;
rc
=
-
EFAULT
;
goto
error
;
...
...
@@ -223,7 +223,7 @@ int tipc_msg_build(struct tipc_msg *mhdr, struct iovec const *iov,
if
(
drem
<
pktrem
)
pktrem
=
drem
;
if
(
memcpy_fromiovecend
(
pktpos
,
iov
,
offset
,
pktrem
))
{
if
(
memcpy_fromiovecend
(
pktpos
,
m
->
msg_
iov
,
offset
,
pktrem
))
{
rc
=
-
EFAULT
;
goto
error
;
}
...
...
net/tipc/msg.h
浏览文件 @
45dcc687
...
...
@@ -743,7 +743,7 @@ bool tipc_msg_bundle(struct sk_buff *bbuf, struct sk_buff *buf, u32 mtu);
bool
tipc_msg_make_bundle
(
struct
sk_buff
**
buf
,
u32
mtu
,
u32
dnode
);
int
tipc_msg_build
(
struct
tipc_msg
*
mhdr
,
struct
iovec
const
*
iov
,
int
tipc_msg_build
(
struct
tipc_msg
*
mhdr
,
struct
msghdr
*
m
,
int
offset
,
int
dsz
,
int
mtu
,
struct
sk_buff
**
chain
);
struct
sk_buff
*
tipc_msg_reassemble
(
struct
sk_buff
*
chain
);
...
...
net/tipc/socket.c
浏览文件 @
45dcc687
...
...
@@ -727,7 +727,7 @@ static int tipc_sendmcast(struct socket *sock, struct tipc_name_seq *seq,
new_mtu:
mtu
=
tipc_bclink_get_mtu
();
rc
=
tipc_msg_build
(
mhdr
,
msg
->
msg_iov
,
0
,
dsz
,
mtu
,
&
buf
);
rc
=
tipc_msg_build
(
mhdr
,
msg
,
0
,
dsz
,
mtu
,
&
buf
);
if
(
unlikely
(
rc
<
0
))
return
rc
;
...
...
@@ -905,7 +905,6 @@ static int tipc_sendmsg(struct kiocb *iocb, struct socket *sock,
struct
sock
*
sk
=
sock
->
sk
;
struct
tipc_sock
*
tsk
=
tipc_sk
(
sk
);
struct
tipc_msg
*
mhdr
=
&
tsk
->
phdr
;
struct
iovec
*
iov
=
m
->
msg_iov
;
u32
dnode
,
dport
;
struct
sk_buff
*
buf
;
struct
tipc_name_seq
*
seq
=
&
dest
->
addr
.
nameseq
;
...
...
@@ -982,7 +981,7 @@ static int tipc_sendmsg(struct kiocb *iocb, struct socket *sock,
new_mtu:
mtu
=
tipc_node_get_mtu
(
dnode
,
tsk
->
ref
);
rc
=
tipc_msg_build
(
mhdr
,
iov
,
0
,
dsz
,
mtu
,
&
buf
);
rc
=
tipc_msg_build
(
mhdr
,
m
,
0
,
dsz
,
mtu
,
&
buf
);
if
(
rc
<
0
)
goto
exit
;
...
...
@@ -1094,7 +1093,7 @@ static int tipc_send_stream(struct kiocb *iocb, struct socket *sock,
next:
mtu
=
tsk
->
max_pkt
;
send
=
min_t
(
uint
,
dsz
-
sent
,
TIPC_MAX_USER_MSG_SIZE
);
rc
=
tipc_msg_build
(
mhdr
,
m
->
msg_iov
,
sent
,
send
,
mtu
,
&
buf
);
rc
=
tipc_msg_build
(
mhdr
,
m
,
sent
,
send
,
mtu
,
&
buf
);
if
(
unlikely
(
rc
<
0
))
goto
exit
;
do
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录