diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index f16444bc6cbb1ca25e57df0d18e7d267ceedf1f9..65aebd45002786f4c00f6a5b4bc6ac45026f7f86 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -1509,6 +1509,9 @@ static int do_setlink(struct net_device *dev, struct ifinfomsg *ifm,
 
 	if (send_addr_notify)
 		call_netdevice_notifiers(NETDEV_CHANGEADDR, dev);
+	min_ifinfo_dump_size = max_t(u16, if_nlmsg_size(dev),
+				     min_ifinfo_dump_size);
+
 	return err;
 }