Page MenuHomeFreeBSD

Use an accessor function to access ifr_data.
ClosedPublic

Authored by brooks on Mar 29 2018, 6:40 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Nov 3, 7:50 PM
Unknown Object (File)
Sun, Oct 20, 1:44 PM
Unknown Object (File)
Sun, Oct 20, 1:42 PM
Unknown Object (File)
Sun, Oct 20, 1:21 PM
Unknown Object (File)
Sep 20 2024, 11:08 PM
Unknown Object (File)
Sep 5 2024, 3:08 PM
Unknown Object (File)
Aug 19 2024, 2:04 AM
Unknown Object (File)
Aug 6 2024, 5:26 PM
Subscribers

Details

Summary

This fixes 32-bit compat (no ioctl command defintions are required
as struct ifreq is the same size).

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 15877
Build 15880: arc lint + arc unit

Event Timeline

Does this provide complete compat32 for ifconfig(8) ?

This revision is now accepted and ready to land.Mar 29 2018, 7:40 PM
In D14900#313299, @kib wrote:

Does this provide complete compat32 for ifconfig(8) ?

It should be mostly complete. I don't think I had to change anything else for CheriBSD so it may be entirely complete, but I've not done a full audit of ifconfig.

In D14900#313299, @kib wrote:

Does this provide complete compat32 for ifconfig(8) ?

It should be mostly complete. I don't think I had to change anything else for CheriBSD so it may be entirely complete, but I've not done a full audit of ifconfig.

ipv6 is probably still broken because I haven't done ifreq6 yet.

ipv6 is probably still broken because I haven't done ifreq6 yet.

Upon further examination, it appears that ifr_ifru.ifr_data is never accessed in in6_ifreq so this may well do it.

ipv6 is probably still broken because I haven't done ifreq6 yet.

Upon further examination, it appears that ifr_ifru.ifr_data is never accessed in in6_ifreq so this may well do it.

So this is quite significant advance. IMO it should be announced on current, and added to rel notes.

Of course, routing sockets and route(8) compat32 are harder, from my evaluation some time ago much harder. So you still cannot boot properly with 32bit world on 64bit kernel in any usable configuration.