Page MenuHomeFreeBSD

memdesc: Retire MEMDESC_BIO.
ClosedPublic

Authored by jhb on Jul 13 2023, 9:45 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 17, 9:35 PM
Unknown Object (File)
Thu, Nov 6, 11:06 AM
Unknown Object (File)
Sat, Nov 1, 5:25 PM
Unknown Object (File)
Fri, Oct 24, 3:48 AM
Unknown Object (File)
Oct 18 2025, 6:02 AM
Unknown Object (File)
Oct 17 2025, 1:36 AM
Unknown Object (File)
Oct 12 2025, 8:30 PM
Unknown Object (File)
Oct 11 2025, 12:03 PM
Subscribers
None

Details

Summary

Instead, change memdesc_bio to examine the bio and return a memdesc of
a more generic type describing the data buffer.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 52631
Build 49522: arc lint + arc unit

Event Timeline

jhb requested review of this revision.Jul 13 2023, 9:45 PM
jhb created this revision.
This revision is now accepted and ready to land.Jul 13 2023, 11:12 PM
sys/kern/subr_msan.c
550

This function is used externally, currently just by vtblk_bio_done(). In fact that might no longer be necessary now that virtio-blk uses busdma, but we should keep it anyway IMO; kmsan_mark*() is intended to be called externally.

572

Same here, used by GEOM.

sys/kern/subr_msan.c
550

I will leave the functions, though arguably they need updating for unmapped bios at some point.

sys/kern/subr_msan.c
550

That case is handled implicitly: unmapped BIOs have bio_data == unmapped_buf. In general kmsan_mark()/kmsan_check() are simply no-ops if the address passed in doesn't lie within the kernel map, so even bio_data == NULL would be fine.

This revision was automatically updated to reflect the committed changes.