Description
In the Linux kernel, the following vulnerability has been resolved: rpmsg: char: Avoid double destroy of default endpoint The rpmsg_dev_remove() in rpmsg_core is the place for releasing this default endpoint. So need to avoid destroying the default endpoint in rpmsg_chrdev_eptdev_destroy(), this should be the same as rpmsg_eptdev_release(). Otherwise there will be double destroy issue that ept->refcount report warning: refcount_t: underflow; use-after-free. Call trace: refcount_warn_saturate+0xf8/0x150 virtio_rpmsg_destroy_ept+0xd4/0xec rpmsg_dev_remove+0x60/0x70 The issue can be reproduced by stopping remoteproc before closing the /dev/rpmsgX.
Product status
bea9b79c2d10fecf7bfa26e212ecefe61d232e39 before ef828a39d6a7028836eaf37df3ad568c8c2dd6f9
bea9b79c2d10fecf7bfa26e212ecefe61d232e39 before 3f20ef7a845c2c8d7ec82ecffa20d95cab5ecfeb
bea9b79c2d10fecf7bfa26e212ecefe61d232e39 before 467233a4ac29b215d492843d067a9f091e6bf0c5
5.18
Any version before 5.18
5.19.17
6.0.3
6.1
References
git.kernel.org/...c/ef828a39d6a7028836eaf37df3ad568c8c2dd6f9
git.kernel.org/...c/3f20ef7a845c2c8d7ec82ecffa20d95cab5ecfeb
git.kernel.org/...c/467233a4ac29b215d492843d067a9f091e6bf0c5