summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/linux/netdevice.h6
-rw-r--r--net/core/dev.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 82f5a9aba578..9e09dd897b74 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -4108,6 +4108,12 @@ const char *netdev_drivername(const struct net_device *dev);
void linkwatch_run_queue(void);
+static inline void netdev_features_size_check(void)
+{
+ BUILD_BUG_ON(sizeof(netdev_features_t) * BITS_PER_BYTE <
+ NETDEV_FEATURE_COUNT);
+}
+
static inline netdev_features_t netdev_intersect_features(netdev_features_t f1,
netdev_features_t f2)
{
diff --git a/net/core/dev.c b/net/core/dev.c
index 25ceecfdd8fe..e01c21a88cae 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -7879,6 +7879,7 @@ int register_netdevice(struct net_device *dev)
int ret;
struct net *net = dev_net(dev);
+ netdev_features_size_check();
BUG_ON(dev_boot_phase);
ASSERT_RTNL();