diff --git a/net/rxrpc/local_object.c b/net/rxrpc/local_object.c index 8c2881054266..94bb645ae1d6 100644 --- a/net/rxrpc/local_object.c +++ b/net/rxrpc/local_object.c @@ -268,8 +268,10 @@ struct rxrpc_local *rxrpc_lookup_local(struct net *net, ret = -ENOMEM; sock_error: mutex_unlock(&rxnet->local_mutex); - if (local) + if (local) { call_rcu(&local->rcu, rxrpc_local_rcu); + kfree(local); + } _leave(" = %d", ret); return ERR_PTR(ret);