CONNECTOR: don't touch queue dev after decrement of ref count
PATCH 1/1 CONNECTOR: don't touch queue dev after decrement of ref count
cn_queue_free_callback() will touch 'dev'(i.e. cbq->pdev), so it should be called before atomic_dec(&dev->refcnt).
Signed-off-by Li Zefan <[email protected]>
--- drivers/connector/cn_queue.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/connector/cn_queue.c +1 -1
@@ -99,8 +99,8 @@ int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *idspin_unlock_bh (&dev->queue_lock);if (found) { -atomic_dec (&dev->refcnt);cn_queue_free_callback (cbq); +atomic_dec (&dev->refcnt);return -EINVAL ; }
Signature · 1 line
1.5.3.rc7
David Miller
maintainerFrom: Li Zefan <[email protected]>
Date: Wed, 09 Jan 2008 13:44:07 +0800
Quoted 5 lines
cn_queue_free_callback()will touch 'dev'(i.e.cbq->pdev), so it should be called beforeatomic_dec(&dev->refcnt).Signed-off-by Li Zefan <[email protected]>
Excellent catch, patch applied.
Thanks.
Quoted 5 lines · Li Zefan
cn_queue_free_callback()will touch 'dev'(i.e.cbq->pdev), so it should be called beforeatomic_dec(&dev->refcnt).Signed-off-by Li Zefan <[email protected]>
Thanks a lot!
Signature · 1 line
Evgeniy Polyakov