rpmsg: glink: Release driver_override
commitfb80ef67e8
upstream. Upon termination of the rpmsg_device, driver_override needs to be freed to avoid leaking the potentially assigned string. Fixes:42cd402b8f
("rpmsg: Fix kfree() of static memory on setting driver_override") Fixes:39e47767ec
("rpmsg: Add driver_override device attribute for rpmsg_device") Reviewed-by: Chris Lew <quic_clew@quicinc.com> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20230109223931.1706429-1-quic_bjorande@quicinc.com Signed-off-by: Lee Jones <lee@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
bfd4a664dd
Коммит
a82e0fda8a
|
@ -1395,6 +1395,7 @@ static void qcom_glink_rpdev_release(struct device *dev)
|
|||
struct glink_channel *channel = to_glink_channel(rpdev->ept);
|
||||
|
||||
channel->rpdev = NULL;
|
||||
kfree(rpdev->driver_override);
|
||||
kfree(rpdev);
|
||||
}
|
||||
|
||||
|
@ -1623,6 +1624,7 @@ static void qcom_glink_device_release(struct device *dev)
|
|||
|
||||
/* Release qcom_glink_alloc_channel() reference */
|
||||
kref_put(&channel->refcount, qcom_glink_channel_release);
|
||||
kfree(rpdev->driver_override);
|
||||
kfree(rpdev);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче