diff options
Diffstat (limited to 'net/ipv4/ipconfig.c')
-rw-r--r-- | net/ipv4/ipconfig.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c index 5dd938579eeb..4afce0572806 100644 --- a/net/ipv4/ipconfig.c +++ b/net/ipv4/ipconfig.c | |||
@@ -291,7 +291,7 @@ static int __init ic_dev_ioctl(unsigned int cmd, struct ifreq *arg) | |||
291 | 291 | ||
292 | mm_segment_t oldfs = get_fs(); | 292 | mm_segment_t oldfs = get_fs(); |
293 | set_fs(get_ds()); | 293 | set_fs(get_ds()); |
294 | res = devinet_ioctl(cmd, (struct ifreq __user *) arg); | 294 | res = devinet_ioctl(&init_net, cmd, (struct ifreq __user *) arg); |
295 | set_fs(oldfs); | 295 | set_fs(oldfs); |
296 | return res; | 296 | return res; |
297 | } | 297 | } |
@@ -459,10 +459,7 @@ ic_rarp_recv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt | |||
459 | if (rarp->ar_pro != htons(ETH_P_IP)) | 459 | if (rarp->ar_pro != htons(ETH_P_IP)) |
460 | goto drop; | 460 | goto drop; |
461 | 461 | ||
462 | if (!pskb_may_pull(skb, | 462 | if (!pskb_may_pull(skb, arp_hdr_len(dev))) |
463 | sizeof(struct arphdr) + | ||
464 | (2 * dev->addr_len) + | ||
465 | (2 * 4))) | ||
466 | goto drop; | 463 | goto drop; |
467 | 464 | ||
468 | /* OK, it is all there and looks valid, process... */ | 465 | /* OK, it is all there and looks valid, process... */ |