diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-12-04 16:22:32 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-12-04 16:22:32 +0100 |
commit | 79598324838a25cc378ecbb8c29dd1e3d3951d35 (patch) | |
tree | 7d29e81580cba854042df4e33bdc8f38bbd65d03 /net/core | |
parent | 8ee763b9c82c6ca0a59a7271ce4fa29d7baf5c09 (diff) | |
parent | b00615d163cd24fa98d155acfc1f9d81d6fe1103 (diff) | |
download | linux-79598324838a25cc378ecbb8c29dd1e3d3951d35.tar.bz2 |
Merge branch 'topic/core-change' into for-linus
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 11 | ||||
-rw-r--r-- | net/core/skbuff.c | 3 |
2 files changed, 8 insertions, 6 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index b8f74cfb1bfd..fe10551d3671 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -942,14 +942,15 @@ rollback: ret = notifier_to_errno(ret); if (ret) { - if (err) { - printk(KERN_ERR - "%s: name change rollback failed: %d.\n", - dev->name, ret); - } else { + /* err >= 0 after dev_alloc_name() or stores the first errno */ + if (err >= 0) { err = ret; memcpy(dev->name, oldname, IFNAMSIZ); goto rollback; + } else { + printk(KERN_ERR + "%s: name change rollback failed: %d.\n", + dev->name, ret); } } diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 80a96166df39..ec85681a7dd8 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -2701,7 +2701,8 @@ int skb_gro_receive(struct sk_buff **head, struct sk_buff *skb) NAPI_GRO_CB(skb)->free = 1; goto done; - } + } else if (skb_gro_len(p) != pinfo->gso_size) + return -E2BIG; headroom = skb_headroom(p); nskb = netdev_alloc_skb(p->dev, headroom + skb_gro_offset(p)); |