Currently, the socket receiving thread hands the request off to the threadpool and prematurely frees the request payload. Anyone using it later (ex. TWRITE), reads garbage data. Suggested fix is to free the request buffer only when we're sending a response for that request, since it will not be used after that.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
Comment Actions
This technically requires a version bump for lib9p.so.1, since the library ABI changed. In practice I think it is not worth bothering: lib9p was added to FreeBSD specifically for bhyve and probably doesn't have any other consumers. It should have been added as a private library. I'll write a patch for that and request an exp-run.
Comment Actions
Ideally an exp-run completes successfully and we can land D58828 first, and then don't need to worry about shlib bump.