---
 kernel/exit.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/kernel/exit.c b/kernel/exit.c
index bb184a67ac73..c712cd11a2c7 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -951,6 +951,22 @@ void __noreturn do_exit(long code)
 
        exit_mm();
 
+#ifdef CONFIG_SAFEFETCH
+       #include <linux/safefetch.h>
+       #include <linux/region_allocator.h>
+       #include <linux/safefetch_static_keys.h>
+//        if (!(tsk->flags & PF_KTHREAD))
+//        df_task_destroy(tsk);
+       IF_SAFEFETCH_STATIC_BRANCH_UNLIKELY_WRAPPER(safefetch_hooks_key) {
+               if (!(tsk->flags & PF_KTHREAD)) {
+                       destroy_regions();
+#ifdef SAFEFETCH_DEBUG
+                       df_debug_task_destroy(tsk);
+#endif
+               }
+       }
+#endif
+
        if (group_dead)
                acct_process();
 
-- 
2.25.1


Reply via email to