svn commit: r332161 - stable/11/sys/dev/sbni
Brooks Davis
brooks at FreeBSD.org
Sat Apr 7 00:23:50 UTC 2018
Author: brooks
Date: Sat Apr 7 00:23:49 2018
New Revision: 332161
URL: https://svnweb.freebsd.org/changeset/base/332161
Log:
MFC r331651-r331653
r331651:
Copy flags over ifr_union directly rather than via casts through
ifr_data.
No functional change in practice. If the sbni driver supported
64-bit big-endian system, this would be an ABI changes, but it is
i386-only. The old version leaked a word of stack on 64-bit systems.
This eliminates the only assignment to ifr_data.
r331652:
Revert r331651 to recommit with proper commit metadata.
r331653:
Copy flags over ifr_union directly rather than via casts through
ifr_data.
No functional change in practice. If the sbni driver supported
64-bit big-endian system, this would be an ABI changes, but it is
i386-only. The old version leaked a word of stack on 64-bit systems.
This eliminates the only assignment to ifr_data.
Reviewed by: kib
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D14874
Modified:
stable/11/sys/dev/sbni/if_sbni.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/dev/sbni/if_sbni.c
==============================================================================
--- stable/11/sys/dev/sbni/if_sbni.c Sat Apr 7 00:04:28 2018 (r332160)
+++ stable/11/sys/dev/sbni/if_sbni.c Sat Apr 7 00:23:49 2018 (r332161)
@@ -1144,7 +1144,7 @@ sbni_ioctl(struct ifnet *ifp, u_long command, caddr_t
flags.fixed_rxl = (sc->delta_rxl == 0);
flags.fixed_rate = 1;
SBNI_UNLOCK(sc);
- ifr->ifr_data = *(caddr_t*) &flags;
+ bcopy(&flags, &ifr->ifr_ifru, sizeof(flags));
break;
case SIOCGINSTATS:
@@ -1163,7 +1163,7 @@ sbni_ioctl(struct ifnet *ifp, u_long command, caddr_t
error = priv_check(td, PRIV_DRIVER);
if (error)
break;
- flags = *(struct sbni_flags*)&ifr->ifr_data;
+ bcopy(&ifr->ifr_ifru, &flags, sizeof(flags));
SBNI_LOCK(sc);
if (flags.fixed_rxl) {
sc->delta_rxl = 0;
More information about the svn-src-stable-11
mailing list