[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aXeInSbGB4KzpTHy@horms.kernel.org>
Date: Mon, 26 Jan 2026 15:30:37 +0000
From: Simon Horman <horms@...nel.org>
To: Kery Qi <qikeyu2017@...il.com>
Cc: jiri@...nulli.us, andrew+netdev@...n.ch, davem@...emloft.net,
edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] rocker: fix memory leak in rocker_world_port_post_fini()
On Sat, Jan 24, 2026 at 05:10:31AM +0800, Kery Qi wrote:
> In rocker_world_port_pre_init(), rocker_port->wpriv is allocated with
> kzalloc(wops->port_priv_size, GFP_KERNEL). However, in
> rocker_world_port_post_fini(), the memory is only freed when
> wops->port_post_fini callback is set:
>
> if (!wops->port_post_fini)
> return;
> wops->port_post_fini(rocker_port);
> kfree(rocker_port->wpriv);
>
> Since rocker_ofdpa_ops does not implement port_post_fini callback
> (it is NULL), the wpriv memory allocated for each port is never freed
> when ports are removed. This leads to a memory leak of
> sizeof(struct ofdpa_port) bytes per port on every device removal.
>
> Fix this by always calling kfree(rocker_port->wpriv) regardless of
> whether the port_post_fini callback exists.
>
> Fixes: e420114eef4a ("rocker: introduce worlds infrastructure")
> Signed-off-by: Kery Qi <qikeyu2017@...il.com>
Reviewed-by: Simon Horman <horms@...nel.org>
Powered by blists - more mailing lists