--- x/net/core/rtnetlink.c +++ y/net/core/rtnetlink.c @@ -3466,6 +3466,11 @@ static int rtnl_newlink_create(struct sk } dev->ifindex = ifm->ifi_index; + if (dev->ifindex > INT_MAX) { + err = -EINVAL; + free_netdev(dev); + goto out; + } if (ops->newlink) err = ops->newlink(link_net ? : net, dev, tb, data, extack);