Page MenuHomeFreeBSD

mrsas: Use mrsas_sge64 instead of iovec for the S/G list for passthru.
ClosedPublic

Authored by jhb on Jun 23 2023, 5:13 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jun 24, 10:55 AM
Unknown Object (File)
Mon, Jun 24, 10:44 AM
Unknown Object (File)
Sun, Jun 23, 7:53 AM
Unknown Object (File)
Fri, Jun 21, 8:32 PM
Unknown Object (File)
May 2 2024, 7:00 PM
Unknown Object (File)
May 2 2024, 3:35 PM
Unknown Object (File)
May 2 2024, 3:35 PM
Unknown Object (File)
May 2 2024, 2:59 PM
Subscribers

Details

Summary

The DMA scatter/gather list for mrsas passthrough ioctl commands is
stored in a SGL at the end of the DCMD frame. Given the SGL member at
the end of the DCMD frame it seems likely this S/G list is formatted
as a fixed-width structure such as the type mrsas_sge64 and not as a
iovec which contains a kernel pointer and length that vary with the
native architecture size.

Obtained from: CheriBSD
Sponsored by: DARPA

Diff Detail

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

Event Timeline

jhb requested review of this revision.Jun 23 2023, 5:13 PM

I think this is right, based on what I'd expect and peeking at the driver, but I have no docs to confirm that. The structures are the same (type pun to the same thing), so it should be OK.
Plus this looks to fix a bug on big endian machines if I'm reading correctly.

This revision is now accepted and ready to land.Jun 24 2023, 6:57 PM