batman-adv: Directly check read of icmp packet in copy_from_user
The access_ok read check can be directly done in copy_from_user since a failure of access_ok is handled the same way as an error in __copy_from_user. Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
This commit is contained in:
parent
c00b6856fc
commit
d18eb45332
net/batman-adv
|
@ -187,12 +187,7 @@ static ssize_t bat_socket_write(struct file *file, const char __user *buff,
|
||||||
skb_reserve(skb, sizeof(struct ethhdr));
|
skb_reserve(skb, sizeof(struct ethhdr));
|
||||||
icmp_packet = (struct icmp_packet_rr *)skb_put(skb, packet_len);
|
icmp_packet = (struct icmp_packet_rr *)skb_put(skb, packet_len);
|
||||||
|
|
||||||
if (!access_ok(VERIFY_READ, buff, packet_len)) {
|
if (copy_from_user(icmp_packet, buff, packet_len)) {
|
||||||
len = -EFAULT;
|
|
||||||
goto free_skb;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (__copy_from_user(icmp_packet, buff, packet_len)) {
|
|
||||||
len = -EFAULT;
|
len = -EFAULT;
|
||||||
goto free_skb;
|
goto free_skb;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue