Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
06fb4e70
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看板
提交
06fb4e70
编写于
8月 30, 2015
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
上级
2573d788
f892a84c
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
47 addition
and
15 deletion
+47
-15
drivers/net/bonding/bond_main.c
drivers/net/bonding/bond_main.c
+0
-2
drivers/net/ethernet/renesas/ravb_main.c
drivers/net/ethernet/renesas/ravb_main.c
+1
-1
drivers/net/ethernet/renesas/sh_eth.c
drivers/net/ethernet/renesas/sh_eth.c
+1
-3
drivers/net/ethernet/smsc/smsc911x.c
drivers/net/ethernet/smsc/smsc911x.c
+4
-1
include/uapi/linux/netlink.h
include/uapi/linux/netlink.h
+1
-0
net/netlink/af_netlink.c
net/netlink/af_netlink.c
+26
-5
net/sctp/sm_make_chunk.c
net/sctp/sm_make_chunk.c
+13
-2
net/sctp/sm_sideeffect.c
net/sctp/sm_sideeffect.c
+1
-1
未找到文件。
drivers/net/bonding/bond_main.c
浏览文件 @
06fb4e70
...
...
@@ -979,7 +979,6 @@ static void bond_poll_controller(struct net_device *bond_dev)
if
(
bond_3ad_get_active_agg_info
(
bond
,
&
ad_info
))
return
;
rcu_read_lock_bh
();
bond_for_each_slave_rcu
(
bond
,
slave
,
iter
)
{
ops
=
slave
->
dev
->
netdev_ops
;
if
(
!
bond_slave_is_up
(
slave
)
||
!
ops
->
ndo_poll_controller
)
...
...
@@ -1000,7 +999,6 @@ static void bond_poll_controller(struct net_device *bond_dev)
ops
->
ndo_poll_controller
(
slave
->
dev
);
up
(
&
ni
->
dev_lock
);
}
rcu_read_unlock_bh
();
}
static
void
bond_netpoll_cleanup
(
struct
net_device
*
bond_dev
)
...
...
drivers/net/ethernet/renesas/ravb_main.c
浏览文件 @
06fb4e70
...
...
@@ -1659,7 +1659,7 @@ static int ravb_probe(struct platform_device *pdev)
ndev
->
dma
=
-
1
;
irq
=
platform_get_irq
(
pdev
,
0
);
if
(
irq
<
0
)
{
error
=
-
ENODEV
;
error
=
irq
;
goto
out_release
;
}
ndev
->
irq
=
irq
;
...
...
drivers/net/ethernet/renesas/sh_eth.c
浏览文件 @
06fb4e70
...
...
@@ -3089,10 +3089,8 @@ static int sh_eth_drv_probe(struct platform_device *pdev)
ndev
->
dma
=
-
1
;
ret
=
platform_get_irq
(
pdev
,
0
);
if
(
ret
<
0
)
{
ret
=
-
ENODEV
;
if
(
ret
<
0
)
goto
out_release
;
}
ndev
->
irq
=
ret
;
SET_NETDEV_DEV
(
ndev
,
&
pdev
->
dev
);
...
...
drivers/net/ethernet/smsc/smsc911x.c
浏览文件 @
06fb4e70
...
...
@@ -2428,7 +2428,10 @@ static int smsc911x_drv_probe(struct platform_device *pdev)
res_size
=
resource_size
(
res
);
irq
=
platform_get_irq
(
pdev
,
0
);
if
(
irq
<=
0
)
{
if
(
irq
==
-
EPROBE_DEFER
)
{
retval
=
-
EPROBE_DEFER
;
goto
out_0
;
}
else
if
(
irq
<=
0
)
{
pr_warn
(
"Could not allocate irq resource
\n
"
);
retval
=
-
ENODEV
;
goto
out_0
;
...
...
include/uapi/linux/netlink.h
浏览文件 @
06fb4e70
...
...
@@ -110,6 +110,7 @@ struct nlmsgerr {
#define NETLINK_TX_RING 7
#define NETLINK_LISTEN_ALL_NSID 8
#define NETLINK_LIST_MEMBERSHIPS 9
#define NETLINK_CAP_ACK 10
struct
nl_pktinfo
{
__u32
group
;
...
...
net/netlink/af_netlink.c
浏览文件 @
06fb4e70
...
...
@@ -84,6 +84,7 @@ struct listeners {
#define NETLINK_F_BROADCAST_SEND_ERROR 0x4
#define NETLINK_F_RECV_NO_ENOBUFS 0x8
#define NETLINK_F_LISTEN_ALL_NSID 0x10
#define NETLINK_F_CAP_ACK 0x20
static
inline
int
netlink_is_kernel
(
struct
sock
*
sk
)
{
...
...
@@ -610,11 +611,11 @@ static void netlink_increment_head(struct netlink_ring *ring)
static
void
netlink_forward_ring
(
struct
netlink_ring
*
ring
)
{
unsigned
int
head
=
ring
->
head
,
pos
=
head
;
unsigned
int
head
=
ring
->
head
;
const
struct
nl_mmap_hdr
*
hdr
;
do
{
hdr
=
__netlink_lookup_frame
(
ring
,
pos
);
hdr
=
__netlink_lookup_frame
(
ring
,
ring
->
head
);
if
(
hdr
->
nm_status
==
NL_MMAP_STATUS_UNUSED
)
break
;
if
(
hdr
->
nm_status
!=
NL_MMAP_STATUS_SKIP
)
...
...
@@ -2258,6 +2259,13 @@ static int netlink_setsockopt(struct socket *sock, int level, int optname,
nlk
->
flags
&=
~
NETLINK_F_LISTEN_ALL_NSID
;
err
=
0
;
break
;
case
NETLINK_CAP_ACK
:
if
(
val
)
nlk
->
flags
|=
NETLINK_F_CAP_ACK
;
else
nlk
->
flags
&=
~
NETLINK_F_CAP_ACK
;
err
=
0
;
break
;
default:
err
=
-
ENOPROTOOPT
;
}
...
...
@@ -2332,6 +2340,16 @@ static int netlink_getsockopt(struct socket *sock, int level, int optname,
netlink_table_ungrab
();
break
;
}
case
NETLINK_CAP_ACK
:
if
(
len
<
sizeof
(
int
))
return
-
EINVAL
;
len
=
sizeof
(
int
);
val
=
nlk
->
flags
&
NETLINK_F_CAP_ACK
?
1
:
0
;
if
(
put_user
(
len
,
optlen
)
||
put_user
(
val
,
optval
))
return
-
EFAULT
;
err
=
0
;
break
;
default:
err
=
-
ENOPROTOOPT
;
}
...
...
@@ -2873,9 +2891,12 @@ void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err)
struct
nlmsghdr
*
rep
;
struct
nlmsgerr
*
errmsg
;
size_t
payload
=
sizeof
(
*
errmsg
);
struct
netlink_sock
*
nlk
=
nlk_sk
(
NETLINK_CB
(
in_skb
).
sk
);
/* error messages get the original request appened */
if
(
err
)
/* Error messages get the original request appened, unless the user
* requests to cap the error message.
*/
if
(
!
(
nlk
->
flags
&
NETLINK_F_CAP_ACK
)
&&
err
)
payload
+=
nlmsg_len
(
nlh
);
skb
=
netlink_alloc_skb
(
in_skb
->
sk
,
nlmsg_total_size
(
payload
),
...
...
@@ -2898,7 +2919,7 @@ void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err)
NLMSG_ERROR
,
payload
,
0
);
errmsg
=
nlmsg_data
(
rep
);
errmsg
->
error
=
err
;
memcpy
(
&
errmsg
->
msg
,
nlh
,
err
?
nlh
->
nlmsg_len
:
sizeof
(
*
nlh
));
memcpy
(
&
errmsg
->
msg
,
nlh
,
payload
>
sizeof
(
*
errmsg
)
?
nlh
->
nlmsg_len
:
sizeof
(
*
nlh
));
netlink_unicast
(
in_skb
->
sk
,
skb
,
NETLINK_CB
(
in_skb
).
portid
,
MSG_DONTWAIT
);
}
EXPORT_SYMBOL
(
netlink_ack
);
...
...
net/sctp/sm_make_chunk.c
浏览文件 @
06fb4e70
...
...
@@ -3090,8 +3090,19 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc,
sctp_assoc_set_primary
(
asoc
,
asconf
->
transport
);
sctp_assoc_del_nonprimary_peers
(
asoc
,
asconf
->
transport
);
}
else
sctp_assoc_del_peer
(
asoc
,
&
addr
);
return
SCTP_ERROR_NO_ERROR
;
}
/* If the address is not part of the association, the
* ASCONF-ACK with Error Cause Indication Parameter
* which including cause of Unresolvable Address should
* be sent.
*/
peer
=
sctp_assoc_lookup_paddr
(
asoc
,
&
addr
);
if
(
!
peer
)
return
SCTP_ERROR_DNS_FAILED
;
sctp_assoc_rm_peer
(
asoc
,
peer
);
break
;
case
SCTP_PARAM_SET_PRIMARY
:
/* ADDIP Section 4.2.4
...
...
net/sctp/sm_sideeffect.c
浏览文件 @
06fb4e70
...
...
@@ -954,7 +954,7 @@ static void sctp_cmd_del_non_primary(struct sctp_association *asoc)
t
=
list_entry
(
pos
,
struct
sctp_transport
,
transports
);
if
(
!
sctp_cmp_addr_exact
(
&
t
->
ipaddr
,
&
asoc
->
peer
.
primary_addr
))
{
sctp_assoc_
del_peer
(
asoc
,
&
t
->
ipaddr
);
sctp_assoc_
rm_peer
(
asoc
,
t
);
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录