Subject: Re: [PATCH 2/2 net-next] ipv4: bump rt_genid when a relevant devconf value changes through netlink

From: Simon Horman <[email-masked]>
Date: Tue, 24 Feb 2026 17:19:00 +0000

On Mon, Feb 23, 2026 at 04:30:45PM +0100, Fernando Fernandez Mancera wrote:
> When modifying IPv4 devconf values using netlink for some relevant
> fields the rt_cache_flush() call was missing. In addition, if forwarding
> is enabled on the interface then disable LRO.
> 
> This is needed to avoid possible connectivity issues and ease the
> responsabilities of user space tools.
> 
> Fixes: 9f0f7272ac95 ("ipv4: AF_INET link address family")
> Signed-off-by: Fernando Fernandez Mancera <[email-masked]>
> ---
>  net/ipv4/devinet.c | 23 ++++++++++++++++++++++-
>  1 file changed, 22 insertions(+), 1 deletion(-)
> 
> diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
> index 590c68e979f5..9f55c13a9c1f 100644
> --- a/net/ipv4/devinet.c
> +++ b/net/ipv4/devinet.c
> @@ -2159,6 +2159,8 @@ static int inet_set_link_af(struct net_device *dev, const struct nlattr *nla,
>  {
>  	struct in_device *in_dev = __in_dev_get_rtnl(dev);
>  	struct nlattr *a, *tb[IFLA_INET_MAX+1];
> +	struct net *net = dev_net(in_dev->dev);
> +	bool flush_cache = false;
>  	int rem;
>  
>  	if (!in_dev)

Hi Fernando,

Here it is assumed that in_dev may be NULL.
But a few lines above it is now dereferenced unconditionally.

Flagged by Smatch.

-- 
pw-bot: cr