Merge tag 'rpmsg-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc
Pull rpmsg updates from Bjorn Andersson: "This contains a number of bug fixes to the GLINK transport driver, an off-by-one in the GLINK smem driver and a memory leak fix in the rpmsg char driver" * tag 'rpmsg-v5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc: rpmsg: Fix Kconfig indentation rpmsg: char: Simplify 'rpmsg_eptdev_release()' rpmsg: glink: Free pending deferred work on remove rpmsg: glink: Don't send pending rx_done during remove rpmsg: glink: Fix rpmsg_register_device err handling rpmsg: glink: Put an extra reference during cleanup rpmsg: glink: Fix use after free in open_ack TIMEOUT case rpmsg: glink: Fix reuse intents memory leak issue rpmsg: glink: Set tail pointer to 0 at end of FIFO rpmsg: char: release allocated memory
This commit is contained in:
@@ -146,7 +146,6 @@ static int rpmsg_eptdev_release(struct inode *inode, struct file *filp)
|
||||
{
|
||||
struct rpmsg_eptdev *eptdev = cdev_to_eptdev(inode->i_cdev);
|
||||
struct device *dev = &eptdev->dev;
|
||||
struct sk_buff *skb;
|
||||
|
||||
/* Close the endpoint, if it's not already destroyed by the parent */
|
||||
mutex_lock(&eptdev->ept_lock);
|
||||
@@ -157,10 +156,7 @@ static int rpmsg_eptdev_release(struct inode *inode, struct file *filp)
|
||||
mutex_unlock(&eptdev->ept_lock);
|
||||
|
||||
/* Discard all SKBs */
|
||||
while (!skb_queue_empty(&eptdev->queue)) {
|
||||
skb = skb_dequeue(&eptdev->queue);
|
||||
kfree_skb(skb);
|
||||
}
|
||||
skb_queue_purge(&eptdev->queue);
|
||||
|
||||
put_device(dev);
|
||||
|
||||
@@ -227,8 +223,10 @@ static ssize_t rpmsg_eptdev_write_iter(struct kiocb *iocb,
|
||||
if (!kbuf)
|
||||
return -ENOMEM;
|
||||
|
||||
if (!copy_from_iter_full(kbuf, len, from))
|
||||
return -EFAULT;
|
||||
if (!copy_from_iter_full(kbuf, len, from)) {
|
||||
ret = -EFAULT;
|
||||
goto free_kbuf;
|
||||
}
|
||||
|
||||
if (mutex_lock_interruptible(&eptdev->ept_lock)) {
|
||||
ret = -ERESTARTSYS;
|
||||
|
Reference in New Issue
Block a user