Input: atmel_mxt_ts - don't try to free unallocated kernel memory
authorSanjeev Chugh <sanjeev_chugh@mentor.com>
Sat, 29 Dec 2018 01:04:31 +0000 (17:04 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Jan 2019 16:38:41 +0000 (17:38 +0100)
commit 1e3c336ad8f40f88a8961c434640920fe35cc08b upstream.

If the user attempts to update Atmel device with an invalid configuration
cfg file, error handling code is trying to free cfg file memory which is
not allocated yet hence results into kernel crash.

This patch fixes the order of memory free operations.

Signed-off-by: Sanjeev Chugh <sanjeev_chugh@mentor.com>
Fixes: a4891f105837 ("Input: atmel_mxt_ts - zero terminate config firmware file")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/input/touchscreen/atmel_mxt_ts.c

index 3232af5..a7ace07 100644 (file)
@@ -1586,10 +1586,10 @@ static int mxt_update_cfg(struct mxt_data *data, const struct firmware *fw)
        /* T7 config may have changed */
        mxt_init_t7_power_cfg(data);
 
-release_raw:
-       kfree(cfg.raw);
 release_mem:
        kfree(cfg.mem);
+release_raw:
+       kfree(cfg.raw);
        return ret;
 }