mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-03-21 06:24:12 +00:00
net: fix uninitialised msghdr->sg_from_iter
Because of how struct msghdr is usually initialised some fields and
sg_from_iter in particular might be left out not initialised, so we
can't safely use it in __zerocopy_sg_from_iter().
For now use the callback only when there is ->msg_ubuf set relying on
the fact that they're used together and we properly zero ->msg_ubuf.
Fixes: ebe73a284f
("net: Allow custom iter handler in msghdr")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Message-Id: <ce8b68b41351488f79fd998b032b3c56e9b1cc6c.1658401817.git.asml.silence@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
eb315a7d13
commit
2829a267fc
1 changed files with 1 additions and 1 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue