[PATCH] sched/deadline: Set cp->elements to NULL after kfree() in cpudl_init()

Kaushlendra Kumar posted 1 patch 2 weeks, 6 days ago
kernel/sched/cpudeadline.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] sched/deadline: Set cp->elements to NULL after kfree() in cpudl_init()
Posted by Kaushlendra Kumar 2 weeks, 6 days ago
Set cp->elements to NULL after kfree() in the error path of cpudl_init()
to prevent potential use-after-free issues. This ensures that the pointer
is properly invalidated when memory allocation fails for cp->free_cpus,
making the code more robust against accidental access to freed memory.

Setting pointers to NULL after freeing helps debugging tools like kdgb,
drgn, and other kernel debuggers by providing clear indication that the
memory has been freed and the pointer is no longer valid.

Signed-off-by: Kaushlendra Kumar <kaushlendra.kumar@intel.com>
---
 kernel/sched/cpudeadline.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/sched/cpudeadline.c b/kernel/sched/cpudeadline.c
index cdd740b3f774..0f7127b3a05c 100644
--- a/kernel/sched/cpudeadline.c
+++ b/kernel/sched/cpudeadline.c
@@ -276,6 +276,7 @@ int cpudl_init(struct cpudl *cp)
 
 	if (!zalloc_cpumask_var(&cp->free_cpus, GFP_KERNEL)) {
 		kfree(cp->elements);
+		cp->elements = NULL;
 		return -ENOMEM;
 	}
 
-- 
2.34.1