Page MenuHomeFreeBSD

Copy flags over ifr_union directly rather than via casts through ifr_data.
ClosedPublic

Authored by brooks on Mar 27 2018, 7:04 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Jun 4, 11:06 AM
Unknown Object (File)
Mar 2 2024, 1:28 PM
Unknown Object (File)
Jan 13 2024, 3:32 AM
Unknown Object (File)
Dec 23 2023, 6:43 AM
Unknown Object (File)
Oct 19 2023, 7:58 PM
Unknown Object (File)
Jul 9 2023, 3:09 PM
Unknown Object (File)
Jul 9 2023, 3:05 PM
Unknown Object (File)
Jul 9 2023, 3:05 PM
Subscribers

Details

Summary

No functional change. If the sbni driver supported 64-bit big-endian
system, this would be an ABI changes, but it is i386-only. The old version
also leaked a word of stack on 64-bit systems.

This eliminates the only assignment to ifr_data.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

An alternative approach might be to add an char ifru_bytes[sizeof(struct sockaddr)] to ifreq's union and target that.

kib added inline comments.
sys/dev/sbni/if_sbni.c
1147 ↗(On Diff #40816)

I think this leaks a word of stack on 64bit machines.

This revision is now accepted and ready to land.Mar 27 2018, 8:23 PM
sys/dev/sbni/if_sbni.c
1147 ↗(On Diff #40816)

ioctl handles this for us because it copied in the whole ifreq in sys_ioctl().

sys/dev/sbni/if_sbni.c
1147 ↗(On Diff #40816)

No, you are right. The old one does.

This revision was automatically updated to reflect the committed changes.