mISDN: fix the races with timers going off just as they are deleted
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 15 Apr 2013 20:31:13 +0000 (16:31 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 29 Apr 2013 19:41:47 +0000 (15:41 -0400)
commitc08c464d6f4136d9e48ffa23c0bcd93442343b2a
tree988674bee82e2e7f94a258066899e2e0408cf3eb
parent03feee373f05d5c500dd6198015de83005df902c
mISDN: fix the races with timers going off just as they are deleted

timer callback in timerdev.c both accesses struct mISDNtimer it's
called for *and* moves it to dev->expired.  We need del_timer_sync(),
or we risk kfree() freeing it right under dev_expire_timer() *and*
dev->expired getting corrupted.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/isdn/mISDN/timerdev.c