irda: fix a potential use-after-free in ircomm_param_request
self->ctrl_skb is protected by self->spinlock, we should not access it out of the lock. Move the debugging printk inside. Reported-by: Dmitry Vyukov <dvyukov@google.com> Cc: Samuel Ortiz <samuel@sortiz.org> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ae9d723e9f
commit
3d45296ab9
|
@ -134,11 +134,10 @@ int ircomm_param_request(struct ircomm_tty_cb *self, __u8 pi, int flush)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
skb_put(skb, count);
|
skb_put(skb, count);
|
||||||
|
pr_debug("%s(), skb->len=%d\n", __func__, skb->len);
|
||||||
|
|
||||||
spin_unlock_irqrestore(&self->spinlock, flags);
|
spin_unlock_irqrestore(&self->spinlock, flags);
|
||||||
|
|
||||||
pr_debug("%s(), skb->len=%d\n", __func__ , skb->len);
|
|
||||||
|
|
||||||
if (flush) {
|
if (flush) {
|
||||||
/* ircomm_tty_do_softint will take care of the rest */
|
/* ircomm_tty_do_softint will take care of the rest */
|
||||||
schedule_work(&self->tqueue);
|
schedule_work(&self->tqueue);
|
||||||
|
|
Loading…
Reference in New Issue