Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760213AbcDEV2L (ORCPT ); Tue, 5 Apr 2016 17:28:11 -0400 Received: from mail-qk0-f195.google.com ([209.85.220.195]:32931 "EHLO mail-qk0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751628AbcDEV2H (ORCPT ); Tue, 5 Apr 2016 17:28:07 -0400 From: Bastien Philbert To: davem@davemloft.net Cc: kuznet@ms2.inr.ac.ru, jmorris@namei.org, yoshfuji@linux-ipv6.org, kaber@trash.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] ipv6: icmp: Add protection from concurrent users in the function icmpv6_echo_reply Date: Tue, 5 Apr 2016 17:27:56 -0400 Message-Id: <1459891676-20836-1-git-send-email-bastienphilbert@gmail.com> X-Mailer: git-send-email 2.5.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 863 Lines: 28 This adds protection from concurrenct users in the function icmpv6_echo_reply around the call to the function __in6_dev_get by locking/unlocking around this call with calls to the functions rtnl_lock and rtnl_unlock to protect against concurrent users when calling this function in icmpv6_echo_reply as stated in the comments for locking requirements for the function, __in6_dev_get. Signed-off-by: Bastien Philbert --- net/ipv6/icmp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c index 0a37ddc..798434f 100644 --- a/net/ipv6/icmp.c +++ b/net/ipv6/icmp.c @@ -607,7 +607,9 @@ static void icmpv6_echo_reply(struct sk_buff *skb) hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst); + rtnl_lock(); idev = __in6_dev_get(skb->dev); + rtnl_unlock(); msg.skb = skb; msg.offset = 0; -- 2.5.0