diff options
| author | Ingo Molnar <[email protected]> | 2012-07-25 21:40:40 +0200 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2012-07-25 21:40:40 +0200 |
| commit | d431adfbc9b7de651f3164c6b7ffcad75805d7e4 (patch) | |
| tree | 29bce222c81a3a392e51c11e2188659aa6d1bded /net/core/dev.c | |
| parent | d6250a3f12edb3a86db9598ffeca3de8b4a219e9 (diff) | |
| parent | e2b34e311be3a57c9abcb927e37a57e38913714c (diff) | |
Merge branch 'linus' into x86/urgent
Merge in Linus's tree to avoid a conflict.
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'net/core/dev.c')
| -rw-r--r-- | net/core/dev.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 84f01ba81a34..1cb0d8a6aa6c 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2444,8 +2444,12 @@ static void skb_update_prio(struct sk_buff *skb) { struct netprio_map *map = rcu_dereference_bh(skb->dev->priomap); - if ((!skb->priority) && (skb->sk) && map) - skb->priority = map->priomap[skb->sk->sk_cgrp_prioidx]; + if (!skb->priority && skb->sk && map) { + unsigned int prioidx = skb->sk->sk_cgrp_prioidx; + + if (prioidx < map->priomap_len) + skb->priority = map->priomap[prioidx]; + } } #else #define skb_update_prio(skb) @@ -6279,7 +6283,8 @@ static struct hlist_head *netdev_create_hash(void) /* Initialize per network namespace state */ static int __net_init netdev_init(struct net *net) { - INIT_LIST_HEAD(&net->dev_base_head); + if (net != &init_net) + INIT_LIST_HEAD(&net->dev_base_head); net->dev_name_head = netdev_create_hash(); if (net->dev_name_head == NULL) |