diff --git a/net/core/datagram.c b/net/core/datagram.c index 28cdb79df74d5..ecbc0f4710895 100644 --- a/net/core/datagram.c +++ b/net/core/datagram.c @@ -619,7 +619,7 @@ int __zerocopy_sg_from_iter(struct msghdr *msg, struct sock *sk, { int frag; - if (msg && msg->sg_from_iter) + if (msg && msg->msg_ubuf && msg->sg_from_iter) return msg->sg_from_iter(sk, skb, from, length); frag = skb_shinfo(skb)->nr_frags;