diff --git a/net/mctp/route.c b/net/mctp/route.c
index 5265525011ad2a2945bbb4090c8b06cf154d0511..5ca186d53cb0f14eb6b14da352ced8eab1891de7 100644
--- a/net/mctp/route.c
+++ b/net/mctp/route.c
@@ -1083,8 +1083,10 @@ static void __net_exit mctp_routes_net_exit(struct net *net)
 {
 	struct mctp_route *rt;
 
+	rcu_read_lock();
 	list_for_each_entry_rcu(rt, &net->mctp.routes, list)
 		mctp_route_release(rt);
+	rcu_read_unlock();
 }
 
 static struct pernet_operations mctp_net_ops = {