Maintain the fuse buffer pool keyed by inode instead of threadId.
In order to save memory, FuseAppLoop maintains a buffer pool to use when dispatching the read/write requests. Currently, it uses the threadId of the ProxyFileDescriptorCallback as the key for this buffer pool and this can result in an issue when a caller creates multiple ProxyFileDescriptors with ProxyFileDescriptorCallbacks running on the same thread. When this happens, it is possible that a buffer is reused before a read/write request which was using it earlier has been handled and would result in data from read/write requests on different fds getting mixed up. Bug: 158568683 Test: atest --test-mapping apex/blobstore Change-Id: Iaffd54f4430ecb3778f01c80f5a1684ac448f8dc
Loading
Please register or sign in to comment