Просмотр исходного кода

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: K. Y. Srinivasan <kys@microsoft.com>
Acked-by: Evgeniy Polyakov <zbr@ioremap.net>
Cc: stable <stable@kernel.org>  [.39]
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
K. Y. Srinivasan 14 лет назад
Родитель
Сommit
663dd6dcaf
1 измененных файлов с 1 добавлено и 0 удалено
  1. 1 0
      drivers/connector/connector.c

+ 1 - 0
drivers/connector/connector.c

@@ -139,6 +139,7 @@ static int cn_call_callback(struct sk_buff *skb)
 	spin_unlock_bh(&dev->cbdev->queue_lock);
 
 	if (cbq != NULL) {
+		err = 0;
 		cbq->callback(msg, nsp);
 		kfree_skb(skb);
 		cn_queue_release_callback(cbq);