]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
most: core: fix resource leak in most_register_interface error paths
authorNavaneeth K <knavaneeth786@gmail.com>
Thu, 27 Nov 2025 16:53:37 +0000 (16:53 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 23 Dec 2025 11:00:54 +0000 (12:00 +0100)
commit1f4c9d8a1021281750c6cda126d6f8a40cc24e71
tree802cf8b49824535510084b5c0ac72e0201dc6795
parent9448598b22c50c8a5bb77a9103e2d49f134c9578
most: core: fix resource leak in most_register_interface error paths

The function most_register_interface() did not correctly release resources
if it failed early (before registering the device). In these cases, it
returned an error code immediately, leaking the memory allocated for the
interface.

Fix this by initializing the device early via device_initialize() and
calling put_device() on all error paths.

The most_register_interface() is expected to call put_device() on
error which frees the resources allocated in the caller. The
put_device() either calls release_mdev() or dim2_release(),
depending on the caller.

Switch to using device_add() instead of device_register() to handle
the split initialization.

Acked-by: Abdun Nihaal <abdun.nihaal@gmail.com>
Signed-off-by: Navaneeth K <knavaneeth786@gmail.com>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/20251127165337.19172-1-knavaneeth786@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/most/core.c