| From 13a6a2ed1f5e77ae47c2b1a8e3bf22b2fa2d56ba Mon Sep 17 00:00:00 2001 |
| From: Geert Uytterhoeven <geert+renesas@glider.be> |
| Date: Wed, 18 Feb 2015 17:34:59 +0100 |
| Subject: mmc: tmio: Remove bogus un-initialization in tmio_mmc_host_free() |
| |
| From: Geert Uytterhoeven <geert+renesas@glider.be> |
| |
| commit 13a6a2ed1f5e77ae47c2b1a8e3bf22b2fa2d56ba upstream. |
| |
| If CONFIG_DEBUG_SLAB=y: |
| |
| sh_mobile_sdhi ee100000.sd: Got CD GPIO |
| sh_mobile_sdhi ee100000.sd: Got WP GPIO |
| platform ee100000.sd: Driver sh_mobile_sdhi requests probe deferral |
| ... |
| Slab corruption (Not tainted): kmalloc-1024 start=ed8b3c00, len=1024 |
| 2d0: 00 00 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b ....kkkkkkkkkkkk |
| Prev obj: start=ed8b3800, len=1024 |
| 000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk |
| 010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk |
| |
| Struct tmio_mmc_host is embedded inside struct mmc_host, and thus is |
| freed by the call to mmc_free_host(). Hence it must not be written to |
| afterwards, as that will corrupt freed (and perhaps already reused) |
| memory. |
| |
| Fixes: 94b110aff8679b14 ("mmc: tmio: add tmio_mmc_host_alloc/free()") |
| Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> |
| Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/mmc/host/tmio_mmc_pio.c | 2 -- |
| 1 file changed, 2 deletions(-) |
| |
| --- a/drivers/mmc/host/tmio_mmc_pio.c |
| +++ b/drivers/mmc/host/tmio_mmc_pio.c |
| @@ -1073,8 +1073,6 @@ EXPORT_SYMBOL(tmio_mmc_host_alloc); |
| void tmio_mmc_host_free(struct tmio_mmc_host *host) |
| { |
| mmc_free_host(host->mmc); |
| - |
| - host->mmc = NULL; |
| } |
| EXPORT_SYMBOL(tmio_mmc_host_free); |
| |