diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2011-05-18 00:25:38 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-06-07 21:02:00 +0200 |
commit | 663dd6dcaf7e95526e469e91f41972a9c0cca30c (patch) | |
tree | 819a0fb54725a53e59c4a855f92a4425946f0fcd | |
parent | Connector: Set the CN_NETLINK_USERS correctly (diff) | |
download | linux-663dd6dcaf7e95526e469e91f41972a9c0cca30c.tar.xz linux-663dd6dcaf7e95526e469e91f41972a9c0cca30c.zip |
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>
-rw-r--r-- | drivers/connector/connector.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/connector/connector.c b/drivers/connector/connector.c index 219d88a0eeae..dde6a0fad408 100644 --- a/drivers/connector/connector.c +++ b/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); |