Message ID | 20220426060536.15594-4-hbh25y@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | rpmsg: virtio: fix posseble double free | expand |
On Tue, Apr 26, 2022 at 02:05:36PM +0800, Hangyu Hua wrote: > Unregister the rpmsg_ctrl device instead of just freeing the > the virtio_rpmsg_channel structure. > This will properly unregister the device and call > virtio_rpmsg_release_device() that frees the structure. > > Fixes: c486682ae1e2 ("rpmsg: virtio: Register the rpmsg_char device") > Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> > Cc: Hangyu Hua <hbh25y@gmail.com> > Reviewed-by: Hangyu Hua <hbh25y@gmail.com> > --- > drivers/rpmsg/virtio_rpmsg_bus.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c > index 291fc1cfab7f..485e95f506df 100644 > --- a/drivers/rpmsg/virtio_rpmsg_bus.c > +++ b/drivers/rpmsg/virtio_rpmsg_bus.c > @@ -862,7 +862,7 @@ static void rpmsg_virtio_del_ctrl_dev(struct rpmsg_device *rpdev_ctrl) > { > if (!rpdev_ctrl) > return; > - kfree(to_virtio_rpmsg_channel(rpdev_ctrl)); > + device_unregister(&rpdev_ctrl->dev); The author of this patch should have been Arnaud, something I have fixed before applying this set. Thanks, Mathieu > } > > static int rpmsg_probe(struct virtio_device *vdev) > -- > 2.25.1 >
On 2022/4/27 00:56, Mathieu Poirier wrote: > On Tue, Apr 26, 2022 at 02:05:36PM +0800, Hangyu Hua wrote: >> Unregister the rpmsg_ctrl device instead of just freeing the >> the virtio_rpmsg_channel structure. >> This will properly unregister the device and call >> virtio_rpmsg_release_device() that frees the structure. >> >> Fixes: c486682ae1e2 ("rpmsg: virtio: Register the rpmsg_char device") >> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> >> Cc: Hangyu Hua <hbh25y@gmail.com> >> Reviewed-by: Hangyu Hua <hbh25y@gmail.com> >> --- >> drivers/rpmsg/virtio_rpmsg_bus.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c >> index 291fc1cfab7f..485e95f506df 100644 >> --- a/drivers/rpmsg/virtio_rpmsg_bus.c >> +++ b/drivers/rpmsg/virtio_rpmsg_bus.c >> @@ -862,7 +862,7 @@ static void rpmsg_virtio_del_ctrl_dev(struct rpmsg_device *rpdev_ctrl) >> { >> if (!rpdev_ctrl) >> return; >> - kfree(to_virtio_rpmsg_channel(rpdev_ctrl)); >> + device_unregister(&rpdev_ctrl->dev); > > The author of this patch should have been Arnaud, something I have fixed before > applying this set. > > Thanks, > Mathieu > I get it. I'm sorry i thought Signed-off-by and a description in cover letter are enough to express. Do i need to do anything else? Thanks, Hangyu >> } >> >> static int rpmsg_probe(struct virtio_device *vdev) >> -- >> 2.25.1 >>
On Tue, 26 Apr 2022 at 20:50, Hangyu Hua <hbh25y@gmail.com> wrote: > > On 2022/4/27 00:56, Mathieu Poirier wrote: > > On Tue, Apr 26, 2022 at 02:05:36PM +0800, Hangyu Hua wrote: > >> Unregister the rpmsg_ctrl device instead of just freeing the > >> the virtio_rpmsg_channel structure. > >> This will properly unregister the device and call > >> virtio_rpmsg_release_device() that frees the structure. > >> > >> Fixes: c486682ae1e2 ("rpmsg: virtio: Register the rpmsg_char device") > >> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> > >> Cc: Hangyu Hua <hbh25y@gmail.com> > >> Reviewed-by: Hangyu Hua <hbh25y@gmail.com> > >> --- > >> drivers/rpmsg/virtio_rpmsg_bus.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c > >> index 291fc1cfab7f..485e95f506df 100644 > >> --- a/drivers/rpmsg/virtio_rpmsg_bus.c > >> +++ b/drivers/rpmsg/virtio_rpmsg_bus.c > >> @@ -862,7 +862,7 @@ static void rpmsg_virtio_del_ctrl_dev(struct rpmsg_device *rpdev_ctrl) > >> { > >> if (!rpdev_ctrl) > >> return; > >> - kfree(to_virtio_rpmsg_channel(rpdev_ctrl)); > >> + device_unregister(&rpdev_ctrl->dev); > > > > The author of this patch should have been Arnaud, something I have fixed before > > applying this set. > > > > Thanks, > > Mathieu > > > > I get it. I'm sorry i thought Signed-off-by and a description in cover > letter are enough to express. Do i need to do anything else? I don't. > > Thanks, > Hangyu > >> } > >> > >> static int rpmsg_probe(struct virtio_device *vdev) > >> -- > >> 2.25.1 > >>
diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c index 291fc1cfab7f..485e95f506df 100644 --- a/drivers/rpmsg/virtio_rpmsg_bus.c +++ b/drivers/rpmsg/virtio_rpmsg_bus.c @@ -862,7 +862,7 @@ static void rpmsg_virtio_del_ctrl_dev(struct rpmsg_device *rpdev_ctrl) { if (!rpdev_ctrl) return; - kfree(to_virtio_rpmsg_channel(rpdev_ctrl)); + device_unregister(&rpdev_ctrl->dev); } static int rpmsg_probe(struct virtio_device *vdev)