Description
In the Linux kernel, the following vulnerability has been resolved: rocker: fix memory leak in rocker_world_port_post_fini() 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.
Product status
e420114eef4a3a5025a243b89b0dc343101e3d3c (git) before 2a3a64d75d2d0727da285749476761ebcad557a3
e420114eef4a3a5025a243b89b0dc343101e3d3c (git) before b11e6f926480ab0939fec44781f28558c54be4e7
e420114eef4a3a5025a243b89b0dc343101e3d3c (git) before 8ce2e85889939c02740b4245301aa5c35fc94887
e420114eef4a3a5025a243b89b0dc343101e3d3c (git) before d448bf96889f1905e740c554780f5c9fa0440566
e420114eef4a3a5025a243b89b0dc343101e3d3c (git) before d8723917efda3b4f4c3de78d1ec1e1af015c0be1
e420114eef4a3a5025a243b89b0dc343101e3d3c (git) before dce375f4afc348c310d171abcde7ec1499a4c26a
e420114eef4a3a5025a243b89b0dc343101e3d3c (git) before 8d7ba71e46216b8657a82ca2ec118bc93812a4d0
4.6
Any version before 4.6
5.10.249 (semver)
5.15.199 (semver)
6.1.162 (semver)
6.6.123 (semver)
6.12.69 (semver)
6.18.9 (semver)
6.19 (original_commit_for_fix)
References
git.kernel.org/...c/2a3a64d75d2d0727da285749476761ebcad557a3
git.kernel.org/...c/b11e6f926480ab0939fec44781f28558c54be4e7
git.kernel.org/...c/8ce2e85889939c02740b4245301aa5c35fc94887
git.kernel.org/...c/d448bf96889f1905e740c554780f5c9fa0440566
git.kernel.org/...c/d8723917efda3b4f4c3de78d1ec1e1af015c0be1
git.kernel.org/...c/dce375f4afc348c310d171abcde7ec1499a4c26a
git.kernel.org/...c/8d7ba71e46216b8657a82ca2ec118bc93812a4d0