]> git.baikalelectronics.ru Git - kernel.git/commit
iwl3945: fix possible il->txq NULL pointer dereference in delayed works
authorStanislaw Gruszka <sgruszka@redhat.com>
Thu, 8 Mar 2012 12:16:01 +0000 (13:16 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 12 Mar 2012 18:00:16 +0000 (14:00 -0400)
commit1b82944b39c060450c0b2db0778cc82cee18f6c5
treec3474f5ae35a32b24ba0e58e40168b8e3923add1
parentcd27dfd90d1b2ee09fa8d0fa2bd450d93d301101
iwl3945: fix possible il->txq NULL pointer dereference in delayed works

On il3945_down procedure we free tx queue data and nullify il->txq
pointer. After that we drop mutex and then cancel delayed works. There
is possibility, that after drooping mutex and before the cancel, some
delayed work will start and crash while trying to send commands to
the device. For example, here is reported crash in
il3945_bg_reg_txpower_periodic():
https://bugzilla.kernel.org/show_bug.cgi?id=42766#c10

Patch fix problem by adding il->txq check on works that send commands,
hence utilize tx queue.

Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlegacy/3945-mac.c
drivers/net/wireless/iwlegacy/3945.c