]> 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, 17 Jul 2025 16:27:49 +0000 (18:27 +0200)
[ Upstream commit ec54c0a20709ed6e56f40a8d59eee725c31a916b ]

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: Sasha Levin <sashal@kernel.org>
drivers/mmc/host/mtk-sd.c

index 2c998683e3e33c68358ae2680a5a0d96be22878b..8d0f888b219ac3cbe0da3c99d5bf742d1d168c73 100644 (file)
@@ -1290,6 +1290,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.