commit | 9debd1975effe323c0c81247c5385d56eaf34c51 | [log] [tgz] |
---|---|---|
author | Ghanan Gowripalan <ghanan@fuchsia.infra.roller.google.com> | Wed Feb 28 18:45:48 2024 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Feb 28 10:46:50 2024 -0800 |
tree | c52a67550223bccaebcbd85aa2e1a40b708f2acf | |
parent | 6a20198e0f9449b241b850cedf5c14be04abbf42 [diff] |
[roll] Roll fuchsia [kernel] Fix datagram socket read with bad buffer ...by consuming the whole datagram when a fault occurs while copying a datagram from an `Mbuf` chain. Previously, reading from an `Mbuf` chain would immediately abort if an error was encountered when copying bytes to userspace. However, for datagram packets, the first `Mbuf` in a chain sets the `pkt_len_` field which indicates how long the packet is; all other `Mbuf`s that are backing the datagram packet will not have `pkt_len_` set. This means that if userspace provided a read buffer that will fault _after_ the initial `Mbuf` has been read (and then freed), `Mbuf`'s read helper will abort the read and leave the remaining `Mbuf` list as-is. This means that a later read will observe a zero sized packet even though a full datagram may exist in the socket since the chain's first `Mbuf` has a `pkt_len_` of 0. Original-Bug: b/318701791, b/42109418 Original-Fixed: b/326309348 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/994605 Original-Revision: 879b0241f6fc1e86826bdcd1cdb1971c330dc09b GitOrigin-RevId: 59dab46482854f8fb751ab5f11b3d215ebc10a08 Change-Id: Ia1bbf425e45c7ba983b1b1281f526fe4bf1686f5
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia
on Freenode.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party
.