kernel/rcu/refscale.c | 1 + 1 file changed, 1 insertion(+)
Set reader_tasks to NULL after kfree() in ref_scale_cleanup() to
improve debugging experience with kernel debugging tools. This
follows the common pattern of NULLing pointers after freeing to
avoid dangling pointer issues during debugging sessions.
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.
Suggested-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Kaushlendra Kumar <kaushlendra.kumar@intel.com>
---
kernel/rcu/refscale.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/rcu/refscale.c b/kernel/rcu/refscale.c
index 2bfa987f4ba9..47486dff43ca 100644
--- a/kernel/rcu/refscale.c
+++ b/kernel/rcu/refscale.c
@@ -1048,6 +1048,7 @@ ref_scale_cleanup(void)
reader_tasks[i].task);
}
kfree(reader_tasks);
+ reader_tasks = NULL;
torture_stop_kthread("main_task", main_task);
--
2.34.1
On Thu, Sep 11, 2025 at 08:48:11AM +0530, Kaushlendra Kumar wrote: > Set reader_tasks to NULL after kfree() in ref_scale_cleanup() to > improve debugging experience with kernel debugging tools. This > follows the common pattern of NULLing pointers after freeing to > avoid dangling pointer issues during debugging sessions. > > 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. > > Suggested-by: Paul E. McKenney <paulmck@kernel.org> > Signed-off-by: Kaushlendra Kumar <kaushlendra.kumar@intel.com> Queued for further review and testing, thank you! Thanx, Paul > --- > kernel/rcu/refscale.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kernel/rcu/refscale.c b/kernel/rcu/refscale.c > index 2bfa987f4ba9..47486dff43ca 100644 > --- a/kernel/rcu/refscale.c > +++ b/kernel/rcu/refscale.c > @@ -1048,6 +1048,7 @@ ref_scale_cleanup(void) > reader_tasks[i].task); > } > kfree(reader_tasks); > + reader_tasks = NULL; > > torture_stop_kthread("main_task", main_task); > > -- > 2.34.1 >
© 2016 - 2025 Red Hat, Inc.