Skip to contentSkip to conversation

xfrm: fix rcu_read_unlock usage in xfrm_local_error

PATCH In review Taehee Yoo 2 participants 2 messages Mar 16, 2018 – Mar 19, 2018

Subsystems (3)
lore
Share & tools
lore

Taehee Yoo

author
#0 lore raw

PATCH v2 1/1 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 af5d27c4e12b ("xfrm: remove xfrm_state_put_afinfo")

---

V2 :
- Add Fixes tag

V1 :
- Initial patch

 net/xfrm/xfrm_output.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
net/xfrm/xfrm_output.c +3 -2
index 2346867..89b178a7 100644
@@ -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);
Signature · 1 line
2.9.3
maintainer
#1 lore raw
Quoted 6 lines · Taehee Yoo

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")

Patch applied, thanks!