Page MenuHomeFreeBSD

Fix netdump buffering.
ClosedPublic

Authored by markj on Aug 16 2019, 7:34 PM.
Tags
None
Referenced Files
F167317172: D21294.diff
Thu, Aug 20, 9:00 PM
Unknown Object (File)
Wed, Aug 12, 10:28 AM
Unknown Object (File)
Tue, Aug 11, 1:14 AM
Unknown Object (File)
Mon, Aug 10, 11:33 PM
Unknown Object (File)
Mon, Aug 10, 6:02 PM
Unknown Object (File)
Mon, Aug 10, 5:19 PM
Unknown Object (File)
Mon, Aug 10, 5:18 PM
Unknown Object (File)
Sun, Aug 9, 9:47 AM
Subscribers

Details

Summary

r348473 didn't take into account the fact that we use nd_buf for
buffering kernel dump and EKCD headers. This is done before the final
call to netdump_dumper(), which flushes residual data, so we were
clobbering that data. Add a netdump_flush_buf() function to flush
residual data and use it before copying headers into the buffer.

Test Plan

I never noticed this when debugging dumps from a netdump-enabled
syzkaller setup, but it manifested when I enabled zstd compression:
the decompressor would report corruption.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 25923
Build 24487: arc lint + arc unit