Browse Source

ipv4: ip_fragment: fix unbalanced rcu_read_unlock()

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy 15 years ago
parent
commit
d1c9ae6d1e
1 changed files with 2 additions and 3 deletions
  1. 2 3
      net/ipv4/ip_fragment.c

+ 2 - 3
net/ipv4/ip_fragment.c

@@ -234,10 +234,9 @@ static void ip_expire(unsigned long arg)
 
 
 		/* Send an ICMP "Fragment Reassembly Timeout" message. */
 		/* Send an ICMP "Fragment Reassembly Timeout" message. */
 		icmp_send(head, ICMP_TIME_EXCEEDED, ICMP_EXC_FRAGTIME, 0);
 		icmp_send(head, ICMP_TIME_EXCEEDED, ICMP_EXC_FRAGTIME, 0);
-	}
-
 out_rcu_unlock:
 out_rcu_unlock:
-	rcu_read_unlock();
+		rcu_read_unlock();
+	}
 out:
 out:
 	spin_unlock(&qp->q.lock);
 	spin_unlock(&qp->q.lock);
 	ipq_put(qp);
 	ipq_put(qp);