Page MenuHomeFreeBSD

Reinstate returning EOVERFLOW from stats_v1_blob_clone()
ClosedPublic

Authored by lstewart on Apr 2 2024, 6:59 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, May 11, 10:41 AM
Unknown Object (File)
Apr 27 2024, 8:02 PM
Unknown Object (File)
Apr 11 2024, 10:54 PM
Unknown Object (File)
Apr 4 2024, 6:50 PM
Unknown Object (File)
Apr 3 2024, 2:02 AM
Subscribers

Details

Summary

a0993376ec5f (from D43179) subtly changed stats_v1_blob_clone() to stop returning EOVERFLOW in the case where the user buffer is not large enough to receive the entire statsblob. This results in any consumers which are implemented to retry on receiving EOVERFLOW to instead give up after receiving an empty statsblob header.

Fix by latching any errors recorded prior to copyout.

Obtained from: Netflix, Inc.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Thank you. Please add a Fixes: a0993376ec5f ("stats: Check for errors from copyout()") tag to the commit log message.

This revision is now accepted and ready to land.Apr 2 2024, 11:58 AM