summaryrefslogtreecommitdiffstats
path: root/drivers/tty
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 /drivers/tty
parent50a22ba07453e242668cfc4f312602cc8165cde5 (diff)
downloadop-kernel-dev-d6a62b3b7eb1a000718f8ecac0c31eaa1e1f1187.zip
op-kernel-dev-d6a62b3b7eb1a000718f8ecac0c31eaa1e1f1187.tar.gz
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>
Diffstat (limited to 'drivers/tty')
-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 d98e433..6742380 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