summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2013-11-08 12:53:48 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-08 17:16:05 -0800
commitd6a62b3b7eb1a000718f8ecac0c31eaa1e1f1187 (patch)
treee29d5ea8d446e97034143ae4f8fcd1a93eb829d1
parent50a22ba07453e242668cfc4f312602cc8165cde5 (diff)
downloadtalos-obmc-linux-d6a62b3b7eb1a000718f8ecac0c31eaa1e1f1187.tar.gz
talos-obmc-linux-d6a62b3b7eb1a000718f8ecac0c31eaa1e1f1187.zip
serial: icom: dereference after free in load_code()
We use "fw" in the next line after we release it. I've shifted the call to release_firmware() down a couple lines to fix this. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/tty/serial/icom.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/tty/serial/icom.c b/drivers/tty/serial/icom.c
index d98e43348970..67423805e6d9 100644
--- a/drivers/tty/serial/icom.c
+++ b/drivers/tty/serial/icom.c
@@ -455,11 +455,11 @@ static void load_code(struct icom_port *icom_port)
for (index = 0; index < fw->size; index++)
new_page[index] = fw->data[index];
- release_firmware(fw);
-
writeb((char) ((fw->size + 16)/16), &icom_port->dram->mac_length);
writel(temp_pci, &icom_port->dram->mac_load_addr);
+ release_firmware(fw);
+
/*Setting the syncReg to 0x80 causes adapter to start downloading
the personality code into adapter instruction RAM.
Once code is loaded, it will begin executing and, based on
OpenPOWER on IntegriCloud