On 2012-06-27 7:21 PM, Tom Hughes wrote: > Commit 3a2923e83c introduced a bug when a corrupt descriptor > is encountered - although the following descriptor is discarded > and returned to the queue for reuse the associated frame is > also returned for processing. This leads to a panic: > > BUG: unable to handle kernel NULL pointer dereference at 000000000000003a > IP: [<ffffffffa02599a5>] ath_rx_tasklet+0x165/0x1b00 [ath9k] > Call Trace: > <IRQ> > [<ffffffff812d7fa0>] ? map_single+0x60/0x60 > [<ffffffffa028f044>] ? ath9k_ioread32+0x34/0x90 [ath9k] > [<ffffffffa0292eec>] athk9k_tasklet+0xdc/0x160 [ath9k] > [<ffffffff8105e133>] tasklet_action+0x63/0xd0 > [<ffffffff8105dbc0>] __do_softirq+0xc0/0x1e0 > [<ffffffff8101a873>] ? native_sched_clock+0x13/0x80 > [<ffffffff815f9d5c>] call_softirq+0x1c/0x30 > [<ffffffff810151f5>] do_softirq+0x75/0xb0 > [<ffffffff8105df95>] irq_exit+0xb5/0xc0 > [<ffffffff815fa5b3>] do_IRQ+0x63/0xe0 > [<ffffffff815f0cea>] common_interrupt+0x6a/0x6a > <EOI> > [<ffffffff8131840a>] ? intel_idle+0xea/0x150 > [<ffffffff813183eb>] ? intel_idle+0xcb/0x150 > [<ffffffff814a1db9>] cpuidle_enter+0x19/0x20 > [<ffffffff814a23d9>] cpuidle_idle_call+0xa9/0x240 > [<ffffffff8101c4bf>] cpu_idle+0xaf/0x120 > [<ffffffff815cda8e>] rest_init+0x72/0x74 > [<ffffffff81cf4c1a>] start_kernel+0x3b7/0x3c4 > [<ffffffff81cf4662>] ? repair_env_string+0x5e/0x5e > [<ffffffff81cf4346>] x86_64_start_reservations+0x131/0x135 > [<ffffffff81cf444a>] x86_64_start_kernel+0x100/0x10f > > Making sure bf is cleared to NULL in this case restores the > old behaviour. > > Signed-off-by: Tom Hughes <tom@xxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html