Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43727da9 authored by Al Viro's avatar Al Viro
Browse files

do_ipv6_setsockopt(): don't open-code memdup_user()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent aa47cc1c
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -735,14 +735,9 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
			retv = -ENOBUFS;
			break;
		}
		gsf = kmalloc(optlen, GFP_KERNEL);
		if (!gsf) {
			retv = -ENOBUFS;
			break;
		}
		retv = -EFAULT;
		if (copy_from_user(gsf, optval, optlen)) {
			kfree(gsf);
		gsf = memdup_user(optval, optlen);
		if (IS_ERR(gsf)) {
			retv = PTR_ERR(gsf);
			break;
		}
		/* numsrc >= (4G-140)/128 overflow in 32 bits */