summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHouston Hoffman <hhoffman@codeaurora.org>2017-10-16 15:55:46 -0700
committersnandini <snandini@codeaurora.org>2017-10-17 19:27:07 -0700
commit88540e483eecc8c99d6c8a92b9210ef6ac3837bc (patch)
tree2eed042425ceeaaeeecf1519864c699f1aa95f0e
parentf42298be1b7f41d73bf6a4d8736d350ab4125e2a (diff)
qcacmn: Don't free memory inside a spinlock
Kasan takes time to do validation inside the free operation. Therefore we should avoid doing free opperations, especially inside irq save spinlocks because 10ms is too long to block interrupts. Change-Id: I35810e661668329656b389805a170024f9a66a93 CRs-Fixed: 2127615
-rw-r--r--qdf/linux/src/qdf_mem.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/qdf/linux/src/qdf_mem.c b/qdf/linux/src/qdf_mem.c
index 757b8e58e560..34e0829c4c0a 100644
--- a/qdf/linux/src/qdf_mem.c
+++ b/qdf/linux/src/qdf_mem.c
@@ -1094,9 +1094,9 @@ void qdf_mem_free(void *ptr)
*/
list_del_init(&mem_struct->node);
mem_list->count--;
+ qdf_spin_unlock_irqrestore(&qdf_mem_list_lock);
qdf_mem_kmalloc_dec(ksize(mem_struct));
kfree(mem_struct);
- qdf_spin_unlock_irqrestore(&qdf_mem_list_lock);
return;