From: Taehee Yoo Date: Fri, 16 Mar 2018 02:35:51 +0000 (+0900) Subject: xfrm: fix rcu_read_unlock usage in xfrm_local_error X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=404cbeb36ef7f67e3c89b977df8c563dd1b92e96;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git xfrm: fix rcu_read_unlock usage in xfrm_local_error [ Upstream commit 46c0ef6e1eb95f619d9f62da4332749153db92f7 ] 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: af5d27c4e12b ("xfrm: remove xfrm_state_put_afinfo") Signed-off-by: Taehee Yoo Signed-off-by: Steffen Klassert Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c index 73ad8c8ef344..35610cc881a9 100644 --- a/net/xfrm/xfrm_output.c +++ b/net/xfrm/xfrm_output.c @@ -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);