[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <pnkk65dkrruj5br7mmzolhrln6s53wstshn3fbdktjtjyam6ex@ssjemdrzwap3>
Date: Fri, 22 Aug 2025 13:12:57 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
To: srinivas.kandagatla@....qualcomm.com
Cc: andersson@...nel.org, mathieu.poirier@...aro.org, srichara@...cinc.com,
linux-arm-msm@...r.kernel.org, linux-remoteproc@...r.kernel.org,
linux-kernel@...r.kernel.org, Stable@...r.kernel.org
Subject: Re: [PATCH 1/2] rpmsg: glink_native: fix rpmsg device leak
On Fri, Aug 22, 2025 at 11:00:42AM +0100, srinivas.kandagatla@....qualcomm.com wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@....qualcomm.com>
Please adjust your git's sendemail.from line to include your name. Then
git-send-email will not generate extra From headers.
>
> While testing rpmsg-char interface it was noticed that duplicate sysfs
> entries are getting created and below warning is noticed.
>
> Reason for this is that we are leaking rpmsg device pointer, setting it
> null without actually unregistering device.
> Any further attempts to unregister fail because rpdev is NULL,
> resulting in a leak.
>
> Fix this by unregistering rpmsg device before removing its reference
> from rpmsg channel.
>
> sysfs: cannot create duplicate filename '/devices/platform/soc@...700000.remot
> eproc/remoteproc/remoteproc1/3700000.remoteproc:glink-edge/3700000.remoteproc:
> glink-edge.adsp_apps.-1.-1'
> [ 114.115347] CPU: 0 UID: 0 PID: 9 Comm: kworker/0:0 Not
> tainted 6.16.0-rc4 #7 PREEMPT
> [ 114.115355] Hardware name: Qualcomm Technologies, Inc. Robotics RB3gen2 (DT)
> [ 114.115358] Workqueue: events qcom_glink_work
> [ 114.115371] Call trace:8
> [ 114.115374] show_stack+0x18/0x24 (C)
> [ 114.115382] dump_stack_lvl+0x60/0x80
> [ 114.115388] dump_stack+0x18/0x24
> [ 114.115393] sysfs_warn_dup+0x64/0x80
> [ 114.115402] sysfs_create_dir_ns+0xf4/0x120
> [ 114.115409] kobject_add_internal+0x98/0x260
> [ 114.115416] kobject_add+0x9c/0x108
> [ 114.115421] device_add+0xc4/0x7a0
> [ 114.115429] rpmsg_register_device+0x5c/0xb0
> [ 114.115434] qcom_glink_work+0x4bc/0x820
> [ 114.115438] process_one_work+0x148/0x284
> [ 114.115446] worker_thread+0x2c4/0x3e0
> [ 114.115452] kthread+0x12c/0x204
> [ 114.115457] ret_from_fork+0x10/0x20
> [ 114.115464] kobject: kobject_add_internal failed for 3700000.remoteproc:
> glink-edge.adsp_apps.-1.-1 with -EEXIST, don't try to register things with
> the same name in the same directory.
> [ 114.250045] rpmsg 3700000.remoteproc:glink-edge.adsp_apps.-1.-1:
> device_add failed: -17
>
> Fixes: 835764ddd9af ("rpmsg: glink: Move the common glink protocol implementation to glink_native.c")
> Cc: <Stable@...r.kernel.org>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@....qualcomm.com>
> ---
> drivers/rpmsg/qcom_glink_native.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
--
With best wishes
Dmitry
Powered by blists - more mailing lists