Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking changes from David Miller: "Ok, we should be good to go now" 1) We have to statically initialize the init_net device list head rather than do so in an initcall, otherwise netprio_cgroup crashes if it's built statically rather than modular (Mark D. Rustad) 2) Fix SKB null oopser in CIPSO ipv4 option processing (Paul Moore) 3) Qlogic maintainers update (Anirban Chakraborty) * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: net: Statically initialize init_net.dev_base_head MAINTAINERS: Changes in qlcnic and qlge maintainers list cipso: don't follow a NULL pointer when setsockopt() is called
This commit is contained in:
commit
309d4b000b
|
@ -5565,7 +5565,7 @@ F: Documentation/networking/LICENSE.qla3xxx
|
||||||
F: drivers/net/ethernet/qlogic/qla3xxx.*
|
F: drivers/net/ethernet/qlogic/qla3xxx.*
|
||||||
|
|
||||||
QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER
|
QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER
|
||||||
M: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
|
M: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
|
||||||
M: Sony Chacko <sony.chacko@qlogic.com>
|
M: Sony Chacko <sony.chacko@qlogic.com>
|
||||||
M: linux-driver@qlogic.com
|
M: linux-driver@qlogic.com
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
|
@ -5573,7 +5573,6 @@ S: Supported
|
||||||
F: drivers/net/ethernet/qlogic/qlcnic/
|
F: drivers/net/ethernet/qlogic/qlcnic/
|
||||||
|
|
||||||
QLOGIC QLGE 10Gb ETHERNET DRIVER
|
QLOGIC QLGE 10Gb ETHERNET DRIVER
|
||||||
M: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
|
|
||||||
M: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
|
M: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
|
||||||
M: Ron Mercer <ron.mercer@qlogic.com>
|
M: Ron Mercer <ron.mercer@qlogic.com>
|
||||||
M: linux-driver@qlogic.com
|
M: linux-driver@qlogic.com
|
||||||
|
|
|
@ -6283,6 +6283,7 @@ static struct hlist_head *netdev_create_hash(void)
|
||||||
/* Initialize per network namespace state */
|
/* Initialize per network namespace state */
|
||||||
static int __net_init netdev_init(struct net *net)
|
static int __net_init netdev_init(struct net *net)
|
||||||
{
|
{
|
||||||
|
if (net != &init_net)
|
||||||
INIT_LIST_HEAD(&net->dev_base_head);
|
INIT_LIST_HEAD(&net->dev_base_head);
|
||||||
|
|
||||||
net->dev_name_head = netdev_create_hash();
|
net->dev_name_head = netdev_create_hash();
|
||||||
|
|
|
@ -27,7 +27,9 @@ static DEFINE_MUTEX(net_mutex);
|
||||||
LIST_HEAD(net_namespace_list);
|
LIST_HEAD(net_namespace_list);
|
||||||
EXPORT_SYMBOL_GPL(net_namespace_list);
|
EXPORT_SYMBOL_GPL(net_namespace_list);
|
||||||
|
|
||||||
struct net init_net;
|
struct net init_net = {
|
||||||
|
.dev_base_head = LIST_HEAD_INIT(init_net.dev_base_head),
|
||||||
|
};
|
||||||
EXPORT_SYMBOL(init_net);
|
EXPORT_SYMBOL(init_net);
|
||||||
|
|
||||||
#define INITIAL_NET_GEN_PTRS 13 /* +1 for len +2 for rcu_head */
|
#define INITIAL_NET_GEN_PTRS 13 /* +1 for len +2 for rcu_head */
|
||||||
|
|
|
@ -1725,8 +1725,10 @@ int cipso_v4_validate(const struct sk_buff *skb, unsigned char **option)
|
||||||
case CIPSO_V4_TAG_LOCAL:
|
case CIPSO_V4_TAG_LOCAL:
|
||||||
/* This is a non-standard tag that we only allow for
|
/* This is a non-standard tag that we only allow for
|
||||||
* local connections, so if the incoming interface is
|
* local connections, so if the incoming interface is
|
||||||
* not the loopback device drop the packet. */
|
* not the loopback device drop the packet. Further,
|
||||||
if (!(skb->dev->flags & IFF_LOOPBACK)) {
|
* there is no legitimate reason for setting this from
|
||||||
|
* userspace so reject it if skb is NULL. */
|
||||||
|
if (skb == NULL || !(skb->dev->flags & IFF_LOOPBACK)) {
|
||||||
err_offset = opt_iter;
|
err_offset = opt_iter;
|
||||||
goto validate_return_locked;
|
goto validate_return_locked;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue