From patchwork Tue Jan 19 21:59:03 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcelo Leitner X-Patchwork-Id: 570143 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 063D91402ED for ; Wed, 20 Jan 2016 08:59:23 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933176AbcASV7T (ORCPT ); Tue, 19 Jan 2016 16:59:19 -0500 Received: from mx1.redhat.com ([209.132.183.28]:54059 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753736AbcASV7P (ORCPT ); Tue, 19 Jan 2016 16:59:15 -0500 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id 6C7902190; Tue, 19 Jan 2016 21:59:15 +0000 (UTC) Received: from mrl.redhat.com (vpn1-7-35.gru2.redhat.com [10.97.7.35]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u0JLxDcP028552; Tue, 19 Jan 2016 16:59:14 -0500 From: Marcelo Ricardo Leitner To: netdev@vger.kernel.org Cc: Vlad Yasevich , Neil Horman , Xin Long Subject: [PATCH net] sctp: fix rcu usage on proc listing Date: Tue, 19 Jan 2016 19:59:03 -0200 Message-Id: X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Marcelo Ricardo Leitner commit 39f66a7dce32 ("sctp: apply rhashtable api to sctp procfs") removed a rcu_read_lock() too much at sctp_remaddr_seq_show(). Fixes: 39f66a7dce32 ("sctp: apply rhashtable api to sctp procfs") Signed-off-by: Marcelo Ricardo Leitner --- net/sctp/proc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/sctp/proc.c b/net/sctp/proc.c index dfa7eeccb5373053f460f1026a58e4a2ba015a69..4fdf4387910696492ba568b1096dd12e8e7221e2 100644 --- a/net/sctp/proc.c +++ b/net/sctp/proc.c @@ -491,6 +491,7 @@ static int sctp_remaddr_seq_show(struct seq_file *seq, void *v) tsp = (struct sctp_transport *)v; assoc = tsp->asoc; + rcu_read_lock(); list_for_each_entry_rcu(tsp, &assoc->peer.transport_addr_list, transports) { if (tsp->dead) @@ -543,6 +544,7 @@ static int sctp_remaddr_seq_show(struct seq_file *seq, void *v) seq_printf(seq, "\n"); } + rcu_read_unlock(); return 0; }