Page MenuHomeFreeBSD

Fix netdump buffering.
ClosedPublic

Authored by markj on Aug 16 2019, 7:34 PM.
Tags
None
Referenced Files
F136924217: D21294.id61000.diff
Thu, Nov 20, 4:45 PM
F136924178: D21294.id.diff
Thu, Nov 20, 4:45 PM
F136924171: D21294.id60906.diff
Thu, Nov 20, 4:45 PM
F136923131: D21294.diff
Thu, Nov 20, 4:38 PM
Unknown Object (File)
Wed, Nov 12, 12:23 AM
Unknown Object (File)
Sat, Nov 8, 3:21 AM
Unknown Object (File)
Tue, Nov 4, 7:47 PM
Unknown Object (File)
Fri, Oct 24, 3:02 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