]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mtk-sd: reset host->mrq on prepare_data() error
authorSergey Senozhatsky <senozhatsky@chromium.org>
Wed, 25 Jun 2025 05:20:37 +0000 (14:20 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 13:57:43 +0000 (15:57 +0200)
commit ec54c0a20709ed6e56f40a8d59eee725c31a916b upstream.

Do not leave host with dangling ->mrq pointer if we hit
the msdc_prepare_data() error out path.

Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Fixes: f5de469990f1 ("mtk-sd: Prevent memory corruption from DMA map failure")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250625052106.584905-1-senozhatsky@chromium.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mmc/host/mtk-sd.c

index b6f2fc2aa0f6f4eca0477cde97b33ec34a53fee5..627159482d1275dc6fdab0eb326403b274faa41d 100644 (file)
@@ -1314,6 +1314,7 @@ static void msdc_ops_request(struct mmc_host *mmc, struct mmc_request *mrq)
        if (mrq->data) {
                msdc_prepare_data(host, mrq->data);
                if (!msdc_data_prepared(mrq->data)) {
+                       host->mrq = NULL;
                        /*
                         * Failed to prepare DMA area, fail fast before
                         * starting any commands.