xfrm: fix rcu_read_unlock usage in xfrm_local_error

In the xfrm_local_error, rcu_read_unlock should be called when afinfo
is not NULL. because xfrm_state_get_afinfo calls rcu_read_unlock
if afinfo is NULL.

Fixes: af5d27c4e1 ("xfrm: remove xfrm_state_put_afinfo")
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
This commit is contained in:
Taehee Yoo 2018-03-16 11:35:51 +09:00 committed by Steffen Klassert
parent 51d4740f88
commit 46c0ef6e1e

View File

@ -285,8 +285,9 @@ void xfrm_local_error(struct sk_buff *skb, int mtu)
return;
afinfo = xfrm_state_get_afinfo(proto);
if (afinfo)
if (afinfo) {
afinfo->local_error(skb, mtu);
rcu_read_unlock();
rcu_read_unlock();
}
}
EXPORT_SYMBOL_GPL(xfrm_local_error);