-
Notifications
You must be signed in to change notification settings - Fork 44
Description
Currently the way messaging works is that a reference to a shared buffer is passed to the eSPI service when a service wishes to send a message to the host. The eSPI service must then take an immutable borrow to process the packet and send it to the host.
There are a couple issues with this: The eSPI service might be holding a borrow() across await points and another task might attempt to take a borrow_mut() causing panic. Or, the sending task might successfully take a borrow_mut() after calling send() and overwrite the buffer before the eSPI service even gets a chance to process the payload.
Currently it does not appear any synchronization primitives are in place to solve this, so need to investigate the best way to handle this.
FYI @tullom @jerrysxie
Metadata
Metadata
Assignees
Labels
Type
Projects
Status