diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-26 16:08:52 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-26 16:08:52 +0200 |
commit | 37d96c28ecf0af1215bb6bbf580dbb1fabb5a6ec (patch) | |
tree | 408d5c54b0601dfc20847c78799ddffc1bf75750 /net | |
parent | aa77677e0a288e08073620db5d2a31df83ca4788 (diff) | |
parent | 08613e4626c06ca408fc55071f6aedee36986a87 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
caif: Fix BUG() with network namespaces
net: make bonding slaves honour master's skb->priority
net: Unlock sock before calling sk_free()
Diffstat (limited to 'net')
-rw-r--r-- | net/caif/caif_dev.c | 5 | ||||
-rw-r--r-- | net/core/sock.c | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/net/caif/caif_dev.c b/net/caif/caif_dev.c index 7f9ac0742d1..47fc8f3a47c 100644 --- a/net/caif/caif_dev.c +++ b/net/caif/caif_dev.c @@ -212,8 +212,7 @@ static int caif_device_notify(struct notifier_block *me, unsigned long what, enum cfcnfg_phy_preference pref; enum cfcnfg_phy_type phy_type; struct cfcnfg *cfg; - struct caif_device_entry_list *caifdevs = - caif_device_list(dev_net(dev)); + struct caif_device_entry_list *caifdevs; if (dev->type != ARPHRD_CAIF) return 0; @@ -222,6 +221,8 @@ static int caif_device_notify(struct notifier_block *me, unsigned long what, if (cfg == NULL) return 0; + caifdevs = caif_device_list(dev_net(dev)); + switch (what) { case NETDEV_REGISTER: caifd = caif_device_alloc(dev); diff --git a/net/core/sock.c b/net/core/sock.c index 5a087626bb3..4ed7b1d12f5 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -1257,6 +1257,7 @@ struct sock *sk_clone(const struct sock *sk, const gfp_t priority) /* It is still raw copy of parent, so invalidate * destructor and make plain sk_free() */ newsk->sk_destruct = NULL; + bh_unlock_sock(newsk); sk_free(newsk); newsk = NULL; goto out; |