forked from luck/tmp_suning_uos_patched
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull in bug fixes before respinning my net-next pull request. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
90cadbbf34
|
@ -9360,10 +9360,16 @@ void bnx2x_chip_cleanup(struct bnx2x *bp, int unload_mode, bool keep_link)
|
||||||
BNX2X_ERR("Failed to schedule DEL commands for UC MACs list: %d\n",
|
BNX2X_ERR("Failed to schedule DEL commands for UC MACs list: %d\n",
|
||||||
rc);
|
rc);
|
||||||
|
|
||||||
/* Remove all currently configured VLANs */
|
/* The whole *vlan_obj structure may be not initialized if VLAN
|
||||||
rc = bnx2x_del_all_vlans(bp);
|
* filtering offload is not supported by hardware. Currently this is
|
||||||
if (rc < 0)
|
* true for all hardware covered by CHIP_IS_E1x().
|
||||||
BNX2X_ERR("Failed to delete all VLANs\n");
|
*/
|
||||||
|
if (!CHIP_IS_E1x(bp)) {
|
||||||
|
/* Remove all currently configured VLANs */
|
||||||
|
rc = bnx2x_del_all_vlans(bp);
|
||||||
|
if (rc < 0)
|
||||||
|
BNX2X_ERR("Failed to delete all VLANs\n");
|
||||||
|
}
|
||||||
|
|
||||||
/* Disable LLH */
|
/* Disable LLH */
|
||||||
if (!CHIP_IS_E1(bp))
|
if (!CHIP_IS_E1(bp))
|
||||||
|
|
|
@ -1024,7 +1024,8 @@ static int __init net_ns_init(void)
|
||||||
init_net_initialized = true;
|
init_net_initialized = true;
|
||||||
up_write(&pernet_ops_rwsem);
|
up_write(&pernet_ops_rwsem);
|
||||||
|
|
||||||
register_pernet_subsys(&net_ns_ops);
|
if (register_pernet_subsys(&net_ns_ops))
|
||||||
|
panic("Could not register network namespace subsystems");
|
||||||
|
|
||||||
rtnl_register(PF_UNSPEC, RTM_NEWNSID, rtnl_net_newid, NULL,
|
rtnl_register(PF_UNSPEC, RTM_NEWNSID, rtnl_net_newid, NULL,
|
||||||
RTNL_FLAG_DOIT_UNLOCKED);
|
RTNL_FLAG_DOIT_UNLOCKED);
|
||||||
|
|
|
@ -48,6 +48,9 @@ int lowpan_header_create(struct sk_buff *skb, struct net_device *ldev,
|
||||||
const struct ipv6hdr *hdr = ipv6_hdr(skb);
|
const struct ipv6hdr *hdr = ipv6_hdr(skb);
|
||||||
struct neighbour *n;
|
struct neighbour *n;
|
||||||
|
|
||||||
|
if (!daddr)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
/* TODO:
|
/* TODO:
|
||||||
* if this package isn't ipv6 one, where should it be routed?
|
* if this package isn't ipv6 one, where should it be routed?
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -151,6 +151,7 @@ struct metadata_dst *iptunnel_metadata_reply(struct metadata_dst *md,
|
||||||
sizeof(struct in6_addr));
|
sizeof(struct in6_addr));
|
||||||
else
|
else
|
||||||
dst->key.u.ipv4.dst = src->key.u.ipv4.src;
|
dst->key.u.ipv4.dst = src->key.u.ipv4.src;
|
||||||
|
dst->key.tun_flags = src->key.tun_flags;
|
||||||
dst->mode = src->mode | IP_TUNNEL_INFO_TX;
|
dst->mode = src->mode | IP_TUNNEL_INFO_TX;
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
|
|
|
@ -2625,7 +2625,7 @@ static int tpacket_snd(struct packet_sock *po, struct msghdr *msg)
|
||||||
sll_addr)))
|
sll_addr)))
|
||||||
goto out;
|
goto out;
|
||||||
proto = saddr->sll_protocol;
|
proto = saddr->sll_protocol;
|
||||||
addr = saddr->sll_addr;
|
addr = saddr->sll_halen ? saddr->sll_addr : NULL;
|
||||||
dev = dev_get_by_index(sock_net(&po->sk), saddr->sll_ifindex);
|
dev = dev_get_by_index(sock_net(&po->sk), saddr->sll_ifindex);
|
||||||
if (addr && dev && saddr->sll_halen < dev->addr_len)
|
if (addr && dev && saddr->sll_halen < dev->addr_len)
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -2825,7 +2825,7 @@ static int packet_snd(struct socket *sock, struct msghdr *msg, size_t len)
|
||||||
if (msg->msg_namelen < (saddr->sll_halen + offsetof(struct sockaddr_ll, sll_addr)))
|
if (msg->msg_namelen < (saddr->sll_halen + offsetof(struct sockaddr_ll, sll_addr)))
|
||||||
goto out;
|
goto out;
|
||||||
proto = saddr->sll_protocol;
|
proto = saddr->sll_protocol;
|
||||||
addr = saddr->sll_addr;
|
addr = saddr->sll_halen ? saddr->sll_addr : NULL;
|
||||||
dev = dev_get_by_index(sock_net(sk), saddr->sll_ifindex);
|
dev = dev_get_by_index(sock_net(sk), saddr->sll_ifindex);
|
||||||
if (addr && dev && saddr->sll_halen < dev->addr_len)
|
if (addr && dev && saddr->sll_halen < dev->addr_len)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
@ -951,8 +951,11 @@ static int tipc_nl_compat_sk_dump(struct tipc_nl_compat_msg *msg,
|
||||||
u32 node;
|
u32 node;
|
||||||
struct nlattr *con[TIPC_NLA_CON_MAX + 1];
|
struct nlattr *con[TIPC_NLA_CON_MAX + 1];
|
||||||
|
|
||||||
nla_parse_nested(con, TIPC_NLA_CON_MAX,
|
err = nla_parse_nested(con, TIPC_NLA_CON_MAX,
|
||||||
sock[TIPC_NLA_SOCK_CON], NULL, NULL);
|
sock[TIPC_NLA_SOCK_CON], NULL, NULL);
|
||||||
|
|
||||||
|
if (err)
|
||||||
|
return err;
|
||||||
|
|
||||||
node = nla_get_u32(con[TIPC_NLA_CON_NODE]);
|
node = nla_get_u32(con[TIPC_NLA_CON_NODE]);
|
||||||
tipc_tlv_sprintf(msg->rep, " connected to <%u.%u.%u:%u>",
|
tipc_tlv_sprintf(msg->rep, " connected to <%u.%u.%u:%u>",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user