--- /home/maxx/dfbsd/dfbsd/sys/bus/firewire/firewire.c 2026-06-29 12:51:18.000000000 +0000 +++ sys/bus/firewire/firewire.c 2026-10-24 09:11:52.110751358 +0000 @@ -963,7 +963,11 @@ } } if (recv_len > 0) { - xfer->recv.payload = kmalloc(recv_len, type, M_INTWAIT); + /* M_ZERO: upper layers (e.g. sbp) cast the payload to fixed + * structs and act on every field; short deliveries must + * never expose stale heap bytes. */ + xfer->recv.payload = kmalloc(recv_len, type, + M_INTWAIT | M_ZERO); if (xfer->recv.payload == NULL) { if (xfer->send.payload != NULL) kfree(xfer->send.payload, type);