Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 663dd6dc authored by K. Y. Srinivasan's avatar K. Y. Srinivasan Committed by Greg Kroah-Hartman
Browse files

Connector: Correctly set the error code in case of success when dispatching receive callbacks



The recent changes to the connector code introduced this bug where even
when a callback was invoked, we would return an error resulting in
double freeing of the skb. This patch fixes this bug.

Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
Acked-by: default avatarEvgeniy Polyakov <zbr@ioremap.net>
Cc: stable <stable@kernel.org>  [.39]
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent ea2c0009
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -139,6 +139,7 @@ static int cn_call_callback(struct sk_buff *skb)
	spin_unlock_bh(&dev->cbdev->queue_lock);
	spin_unlock_bh(&dev->cbdev->queue_lock);


	if (cbq != NULL) {
	if (cbq != NULL) {
		err = 0;
		cbq->callback(msg, nsp);
		cbq->callback(msg, nsp);
		kfree_skb(skb);
		kfree_skb(skb);
		cn_queue_release_callback(cbq);
		cn_queue_release_callback(cbq);