From 70dd63412b2787b6857702b67f0c91914897b48a Mon Sep 17 00:00:00 2001 From: Kaiwan N Billimoria Date: Thu, 28 Nov 2024 11:27:18 +0530 Subject: [PATCH] fix:writer makes copy for RCU & should free the old object only --- ch13/rdwr_concurrent/3_demo_rdwr_rcu/miscdrv_rdwr_rcu.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ch13/rdwr_concurrent/3_demo_rdwr_rcu/miscdrv_rdwr_rcu.c b/ch13/rdwr_concurrent/3_demo_rdwr_rcu/miscdrv_rdwr_rcu.c index 2ecc506..ec87860 100644 --- a/ch13/rdwr_concurrent/3_demo_rdwr_rcu/miscdrv_rdwr_rcu.c +++ b/ch13/rdwr_concurrent/3_demo_rdwr_rcu/miscdrv_rdwr_rcu.c @@ -153,7 +153,7 @@ static int writer(void) * (and thus sidesteps a potential UAF bug!) */ synchronize_rcu(); - kfree(gd_new); + kfree(gd); return 0; } @@ -265,7 +265,6 @@ static int __init miscdrv_rdwr_rcu_init(void) } static void __exit miscdrv_rdwr_rcu_exit(void) { - kfree(gdata); misc_deregister(&lkp_miscdev); pr_info("LKP misc driver %s for rdwr with RCU sync demo deregistered, bye\n", lkp_miscdev.name); }