Page MenuHomeFreeBSD

hyperv storvsc: Don't abuse struct sglist to hold virtual addresses.
ClosedPublic

Authored by jhb on Sep 13 2021, 6:09 PM.
Tags
None
Referenced Files
F166126495: D31933.id.diff
Tue, Aug 11, 10:39 PM
F166122381: D31933.id102192.diff
Tue, Aug 11, 9:53 PM
Unknown Object (File)
Sun, Aug 9, 4:56 PM
Unknown Object (File)
Sat, Aug 8, 2:41 AM
Unknown Object (File)
Sat, Jul 25, 7:59 PM
Unknown Object (File)
Wed, Jul 22, 6:04 PM
Unknown Object (File)
Wed, Jul 22, 3:49 PM
Unknown Object (File)
Wed, Jul 22, 12:55 AM
Subscribers

Details

Summary

struct sglist is intended for holding S/G lists of physical address
ranges, not virtual address ranges. GCC 9.x issues several warnings
due to casts between pointers and integers of different sizes as a
result (vm_paddr_t is 64-bits on i386). Instead, add a local 'struct
hv_sglist' which uses an array of 'struct iovec' to hold the S/G list
of virtual address ranges.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 41487
Build 38376: arc lint + arc unit

Event Timeline

jhb requested review of this revision.Sep 13 2021, 6:09 PM

This looks reasonable to me but I will defer to @whu for detailed review.

Please give me a few days to review. I am tied up with other issues right now. Thanks!

This revision was not accepted when it landed; it landed in state Needs Review.Feb 1 2022, 1:13 AM
This revision was automatically updated to reflect the committed changes.