svn commit: r292052 - head/sys/dev/sfxge/common
Andrew Rybchenko
arybchik at FreeBSD.org
Thu Dec 10 07:17:48 UTC 2015
Author: arybchik
Date: Thu Dec 10 07:17:46 2015
New Revision: 292052
URL: https://svnweb.freebsd.org/changeset/base/292052
Log:
sfxge: simplify privilege checks with macro
Submitted by: Richard Houldsworth <rhouldsworth at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
MFC after: 2 days
Differential Revision: https://reviews.freebsd.org/D4455
Modified:
head/sys/dev/sfxge/common/efx_mcdi.h
head/sys/dev/sfxge/common/hunt_mcdi.c
Modified: head/sys/dev/sfxge/common/efx_mcdi.h
==============================================================================
--- head/sys/dev/sfxge/common/efx_mcdi.h Thu Dec 10 07:16:21 2015 (r292051)
+++ head/sys/dev/sfxge/common/efx_mcdi.h Thu Dec 10 07:17:46 2015 (r292052)
@@ -386,6 +386,11 @@ efx_mcdi_get_loopback_modes(
#define MCDI_CMD_DWORD_FIELD(_edp, _field) \
EFX_DWORD_FIELD(*_edp, MC_CMD_ ## _field)
+#define EFX_MCDI_HAVE_PRIVILEGE(mask, priv) \
+ (((mask) & \
+ (MC_CMD_PRIVILEGE_MASK_IN_GRP_ ## priv)) == \
+ (MC_CMD_PRIVILEGE_MASK_IN_GRP_ ## priv))
+
#ifdef __cplusplus
}
#endif
Modified: head/sys/dev/sfxge/common/hunt_mcdi.c
==============================================================================
--- head/sys/dev/sfxge/common/hunt_mcdi.c Thu Dec 10 07:16:21 2015 (r292051)
+++ head/sys/dev/sfxge/common/hunt_mcdi.c Thu Dec 10 07:17:46 2015 (r292052)
@@ -412,9 +412,8 @@ hunt_mcdi_fw_update_supported(
* Admin privilege must be used prior to introduction of
* specific flag.
*/
- *supportedp = (encp->enc_privilege_mask &
- MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN)
- == MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN;
+ *supportedp =
+ EFX_MCDI_HAVE_PRIVILEGE(encp->enc_privilege_mask, ADMIN);
return (0);
}
@@ -436,12 +435,9 @@ hunt_mcdi_macaddr_change_supported(
* introduction of change mac spoofing privilege (at v4.7)
*/
*supportedp =
- ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_CHANGE_MAC) ==
- MC_CMD_PRIVILEGE_MASK_IN_GRP_CHANGE_MAC) ||
- ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING) ==
- MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING) ||
- ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN) ==
- MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN);
+ EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, CHANGE_MAC) ||
+ EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, MAC_SPOOFING) ||
+ EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, ADMIN);
return (0);
}
@@ -463,12 +459,9 @@ hunt_mcdi_mac_spoofing_supported(
* introduction of mac spoofing TX privilege (at v4.7)
*/
*supportedp =
- ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING_TX) ==
- MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING_TX) ||
- ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING) ==
- MC_CMD_PRIVILEGE_MASK_IN_GRP_MAC_SPOOFING) ||
- ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN) ==
- MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN);
+ EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, MAC_SPOOFING_TX) ||
+ EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, MAC_SPOOFING) ||
+ EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, ADMIN);
return (0);
}
@@ -490,10 +483,8 @@ hunt_mcdi_link_control_supported(
* specific flag.
*/
*supportedp =
- ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_LINK) ==
- MC_CMD_PRIVILEGE_MASK_IN_GRP_LINK) ||
- ((privilege_mask & MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN) ==
- MC_CMD_PRIVILEGE_MASK_IN_GRP_ADMIN);
+ EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, LINK) ||
+ EFX_MCDI_HAVE_PRIVILEGE(privilege_mask, ADMIN);
return (0);
}
More information about the svn-src-head
mailing list