diff options
author | Sven Eckelmann <sven@narfation.org> | 2011-12-10 15:28:35 +0100 |
---|---|---|
committer | Marek Lindner <lindner_marek@yahoo.de> | 2011-12-12 12:11:06 +0100 |
commit | d18eb45332478f319e5cf996e093228a68864cce (patch) | |
tree | 56aca42703092ea2198ff5ee68456968dab0f70e /net/batman-adv | |
parent | batman-adv: bat_socket_read missing checks (diff) | |
download | linux-d18eb45332478f319e5cf996e093228a68864cce.tar.xz linux-d18eb45332478f319e5cf996e093228a68864cce.zip |
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>
Diffstat (limited to 'net/batman-adv')
-rw-r--r-- | net/batman-adv/icmp_socket.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/net/batman-adv/icmp_socket.c b/net/batman-adv/icmp_socket.c index 88ab26f5f726..3b04fff3ede3 100644 --- a/net/batman-adv/icmp_socket.c +++ b/net/batman-adv/icmp_socket.c @@ -187,12 +187,7 @@ static ssize_t bat_socket_write(struct file *file, const char __user *buff, skb_reserve(skb, sizeof(struct ethhdr)); icmp_packet = (struct icmp_packet_rr *)skb_put(skb, packet_len); - if (!access_ok(VERIFY_READ, buff, packet_len)) { - len = -EFAULT; - goto free_skb; - } - - if (__copy_from_user(icmp_packet, buff, packet_len)) { + if (copy_from_user(icmp_packet, buff, packet_len)) { len = -EFAULT; goto free_skb; } |