omap-mmc: Fix possible NULL pointer deref
Subsystems (2)
PATCH 1/1 omap-mmc: Fix possible NULL pointer deref
Either OMAP_MMC_STAT_CARD_ERR or OMAP_MMC_STAT_END_OF_CMD might fire if there is no host->cmd pointer.
Check for a valid host->cmd pointer before calling mmc_omap_cmd_done().
Signed-off-by Michael Buesch <[email protected]>
---
Fixes
[ 3.814483] Unable to handle kernel NULL pointer dereference at virtual address 00000018 ... [ 3.841247] CPU: 0 Not tainted (2.6.38-rc6 #5) [ 3.846374] PC is at mmc_omap_cmd_done+0x1c/0x154 [ 3.851379] LR is at mmc_omap_cmd_done+0x1c/0x154 ... [ 4.140014] [<c0234af0>] (mmc_omap_cmd_done+0x1c/0x154) from [<c0234ea4>] (mmc_omap_irq+0x27c/0x32c) [ 4.149749] [<c0234ea4>] (mmc_omap_irq+0x27c/0x32c) from [<c008645c>] (handle_IRQ_event+0x24/0xe4) [ 4.159332] [<c008645c>] (handle_IRQ_event+0x24/0xe4) from [<c0087dac>] (handle_level_irq+0xbc/0x13c) [ 4.169158] [<c0087dac>] (handle_level_irq+0xbc/0x13c) from [<c002b070>] (asm_do_IRQ+0x70/0x94) [ 4.178466] [<c002b070>] (asm_do_IRQ+0x70/0x94) from [<c003016c>] (__irq_svc+0x4c/0xb8)
drivers/mmc/host/omap.c +1 -1
@@ -832,7 +832,7 @@return IRQ_HANDLED ; } -if (end_command) +if (end_command && host->cmd)mmc_omap_cmd_done (host, host->cmd);if (host->data !=NULL ) {if (transfer_error)
Quoted 5 lines · Michael Buesch
Either
OMAP_MMC_STAT_CARD_ERRorOMAP_MMC_STAT_END_OF_CMDmight fire if there is nohost->cmdpointer.
Check for a validhost->cmdpointer before callingmmc_omap_cmd_done().Signed-off-by Michael Buesch <[email protected]>
Can you please resend this to the MMC list?
Acked-by Tony Lindgren <[email protected]>