svn commit: r326513 - stable/9/sys/net
Hans Petter Selasky
hselasky at FreeBSD.org
Mon Dec 4 09:36:49 UTC 2017
Author: hselasky
Date: Mon Dec 4 09:36:47 2017
New Revision: 326513
URL: https://svnweb.freebsd.org/changeset/base/326513
Log:
MFC r326392:
Properly define the VLAN_XXX() function macros to avoid miscompilation when
used inside "if" statements comparing with another value.
Detailed explanation:
"if (a ? b : c != 0)" is not the same like "if ((a ? b : c) != 0)"
which is the expected behaviour of a function macro.
Affects:
toecore, linuxkpi and ibcore.
Reviewed by: kib
Sponsored by: Mellanox Technologies
Modified:
stable/9/sys/net/if_vlan_var.h
Directory Properties:
stable/9/sys/ (props changed)
stable/9/sys/net/ (props changed)
Modified: stable/9/sys/net/if_vlan_var.h
==============================================================================
--- stable/9/sys/net/if_vlan_var.h Mon Dec 4 09:27:36 2017 (r326512)
+++ stable/9/sys/net/if_vlan_var.h Mon Dec 4 09:36:47 2017 (r326513)
@@ -132,16 +132,16 @@ struct vlanreq {
} while (0)
#define VLAN_TRUNKDEV(_ifp) \
- (_ifp)->if_type == IFT_L2VLAN ? (*vlan_trunkdev_p)((_ifp)) : NULL
+ ((_ifp)->if_type == IFT_L2VLAN ? (*vlan_trunkdev_p)((_ifp)) : NULL)
#define VLAN_TAG(_ifp, _tag) \
- (_ifp)->if_type == IFT_L2VLAN ? (*vlan_tag_p)((_ifp), (_tag)) : EINVAL
+ ((_ifp)->if_type == IFT_L2VLAN ? (*vlan_tag_p)((_ifp), (_tag)) : EINVAL)
#define VLAN_COOKIE(_ifp) \
- (_ifp)->if_type == IFT_L2VLAN ? (*vlan_cookie_p)((_ifp)) : NULL
+ ((_ifp)->if_type == IFT_L2VLAN ? (*vlan_cookie_p)((_ifp)) : NULL)
#define VLAN_SETCOOKIE(_ifp, _cookie) \
- (_ifp)->if_type == IFT_L2VLAN ? \
- (*vlan_setcookie_p)((_ifp), (_cookie)) : EINVAL
+ ((_ifp)->if_type == IFT_L2VLAN ? \
+ (*vlan_setcookie_p)((_ifp), (_cookie)) : EINVAL)
#define VLAN_DEVAT(_ifp, _tag) \
- (_ifp)->if_vlantrunk != NULL ? (*vlan_devat_p)((_ifp), (_tag)) : NULL
+ ((_ifp)->if_vlantrunk != NULL ? (*vlan_devat_p)((_ifp), (_tag)) : NULL)
extern void (*vlan_trunk_cap_p)(struct ifnet *);
extern struct ifnet *(*vlan_trunkdev_p)(struct ifnet *);
More information about the svn-src-stable-9
mailing list