Commit b2521b9c authored by Luca Barbieri's avatar Luca Barbieri Committed by Linus Torvalds

[PATCH] [2.4] [2.5] Fix PPPoATM crash on disconnection

PPPoATM uses tasklet_disable() on a tasklet inside a struct and then
frees the struct, leaving a pointer to the freed tasklet inside tasklet
lists.

This patch replaces tasklet_disable() with tasklet_kill().
parent f7e837b2
...@@ -125,7 +125,7 @@ static void pppoatm_unassign_vcc(struct atm_vcc *atmvcc) ...@@ -125,7 +125,7 @@ static void pppoatm_unassign_vcc(struct atm_vcc *atmvcc)
pvcc = atmvcc_to_pvcc(atmvcc); pvcc = atmvcc_to_pvcc(atmvcc);
atmvcc->push = pvcc->old_push; atmvcc->push = pvcc->old_push;
atmvcc->pop = pvcc->old_pop; atmvcc->pop = pvcc->old_pop;
tasklet_disable(&pvcc->wakeup_tasklet); tasklet_kill(&pvcc->wakeup_tasklet);
ppp_unregister_channel(&pvcc->chan); ppp_unregister_channel(&pvcc->chan);
atmvcc->user_back = NULL; atmvcc->user_back = NULL;
kfree(pvcc); kfree(pvcc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment