linux/net/bluetooth/rfcomm
Dean Jenkins fea7b02fbf Bluetooth: Avoid rfcomm_session_timeout using freed session
Use del_timer_sync() instead of del_timer() as this ensures
that rfcomm_session_timeout() is not running on a different
CPU when rfcomm_session_put() is called. This avoids a race
condition on SMP systems because potentially
rfcomm_session_timeout() could reuse the freed RFCOMM session
structure caused by the execution of rfcomm_session_put().

Note that this modification makes the reason for the RFCOMM
session refcnt mechanism redundant.

Signed-off-by: Dean Jenkins <Dean_Jenkins@mentor.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
2013-03-08 10:40:24 -03:00
..
core.c Bluetooth: Avoid rfcomm_session_timeout using freed session 2013-03-08 10:40:24 -03:00
Kconfig tty: Added a CONFIG_TTY option to allow removal of TTY 2013-01-18 16:15:27 -08:00
Makefile [Bluetooth] Move CRC table into RFCOMM core 2005-10-28 19:20:36 +02:00
sock.c Bluetooth: discard bt_sock_unregister() errors 2013-03-08 10:38:44 -03:00
tty.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00