summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-10-19 17:39:10 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-10-19 17:44:49 +0200
commitbb4e534014c589fd748ac8a9c1b2488b5bfa650c (patch)
tree21a0ac784abf5a4ac0931c1f013fb64a5e481352
parentposix: Fix pthread_spin_unlock() (diff)
downloadrtems-bb4e534014c589fd748ac8a9c1b2488b5bfa650c.tar.bz2
bsps: Fix rtems_interrupt_server_delete()
The ISR lock must be destroyed to prevent memory corruption if RTEMS_PROFILING and RTEMS_SMP is enabled. Close #4158.
-rw-r--r--bsps/shared/irq/irq-server.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/bsps/shared/irq/irq-server.c b/bsps/shared/irq/irq-server.c
index fe96b59cd4..19d03dc33f 100644
--- a/bsps/shared/irq/irq-server.c
+++ b/bsps/shared/irq/irq-server.c
@@ -682,6 +682,8 @@ static void bsp_interrupt_server_destroy_helper(void *arg)
rtems_chain_extract_unprotected(&s->node);
bsp_interrupt_unlock();
+ rtems_interrupt_lock_destroy(&s->lock);
+
if (s->destroy != NULL) {
(*s->destroy)(s);
}