diff options
Diffstat (limited to 'net/sctp/socket.c')
-rw-r--r-- | net/sctp/socket.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/sctp/socket.c b/net/sctp/socket.c index f23ad913dc7a..ca12aa346c0d 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c | |||
@@ -4479,9 +4479,10 @@ int sctp_transport_lookup_process(int (*cb)(struct sctp_transport *, void *), | |||
4479 | 4479 | ||
4480 | rcu_read_lock(); | 4480 | rcu_read_lock(); |
4481 | transport = sctp_addrs_lookup_transport(net, laddr, paddr); | 4481 | transport = sctp_addrs_lookup_transport(net, laddr, paddr); |
4482 | if (!transport || !sctp_transport_hold(transport)) | 4482 | if (!transport || !sctp_transport_hold(transport)) { |
4483 | rcu_read_unlock(); | ||
4483 | goto out; | 4484 | goto out; |
4484 | 4485 | } | |
4485 | rcu_read_unlock(); | 4486 | rcu_read_unlock(); |
4486 | err = cb(transport, p); | 4487 | err = cb(transport, p); |
4487 | sctp_transport_put(transport); | 4488 | sctp_transport_put(transport); |