#syz test:
https://android.googlesource.com/kernel/common android12-5.10
======================================
index c2f8e69d7d7a..9b5d2d87f836 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -1650,6 +1650,13 @@ static int __ip6_append_data(struct sock *sk,
err = -EINVAL;
goto error;
}
+ if (unlikely(alloclen < fraglen)) {
+ if (printk_ratelimit())
+ pr_warn("%s: wrong alloclen: %d,
fraglen: %d",
+ __func__, alloclen, fraglen);
+ alloclen = fraglen;
+ }
+
if (transhdrlen) {
skb = sock_alloc_send_skb(sk, alloclen,
(flags & MSG_DONTWAIT), &err);