Skip to content

Commit c0ffdf3

Browse files
authored
Merge pull request #26 from douzzer/20260427-null-after-free
20260427-null-after-free
2 parents b135d5c + 837b721 commit c0ffdf3

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

kernel-src/device.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,12 +471,15 @@ static int wg_newlink(struct net *src_net, struct net_device *dev,
471471
err_free_tstats:
472472
#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 9, 0)
473473
free_percpu(dev->tstats);
474+
dev->tstats = NULL;
474475
err_free_index_hashtable:
475476
#endif
476477
kvfree(wg->index_hashtable);
478+
wg->index_hashtable = NULL;
477479
err_free_peer_hashtable:
478-
memzero_explicit(wg->peer_hashtable->key, sizeof wg->peer_hashtable->key);
480+
memzero_explicit(wg->peer_hashtable->key, sizeof wg->peer_hashtable->key);
479481
kvfree(wg->peer_hashtable);
482+
wg->peer_hashtable = NULL;
480483
WC_DEBUG_PR_NEG_RET(ret);
481484
}
482485

kernel-src/ratelimiter.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,8 +258,10 @@ void wg_ratelimiter_uninit(void)
258258
rcu_barrier();
259259
memzero_explicit(key, sizeof key);
260260
kvfree(table_v4);
261+
table_v4 = NULL;
261262
#if IS_ENABLED(CONFIG_IPV6)
262263
kvfree(table_v6);
264+
table_v6 = NULL;
263265
#endif
264266
kmem_cache_destroy(entry_cache);
265267
out:

0 commit comments

Comments
 (0)