[PATCH] softmac: fix spinlock recursion on reassoc
authorMichael Buesch <mb@bu3sch.de>
Thu, 6 Apr 2006 23:42:55 +0000 (01:42 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 19 Apr 2006 21:25:38 +0000 (17:25 -0400)
commit9b0b4d8ae82cadd059d01ab93babcaa5e2054b93
tree065d53b0c271a49660e356e39c94fbda218e1149
parentc1783454a31e05b94774951b0b5d1eb9075ebfb4
[PATCH] softmac: fix spinlock recursion on reassoc

This fixes a spinlock recursion on receiving a reassoc request.

On reassoc, the softmac calls back into the driver. This results in a
driver lock recursion. This schedules the assoc workqueue, instead
of calling it directly.

Probably, we should defer the _whole_ management frame processing
to a tasklet or workqueue, because it does several callbacks into the driver.
That is dangerous.

This fix should go into linus's tree, before 2.6.17 is released, because it
is remote exploitable (DoS by crash).

Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/ieee80211/softmac/ieee80211softmac_assoc.c