From patchwork Tue Apr 30 15:29:27 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 240648 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 8ABBE2C00CF for ; Wed, 1 May 2013 01:29:44 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932938Ab3D3P3l (ORCPT ); Tue, 30 Apr 2013 11:29:41 -0400 Received: from mail-pd0-f175.google.com ([209.85.192.175]:33883 "EHLO mail-pd0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932930Ab3D3P3k (ORCPT ); Tue, 30 Apr 2013 11:29:40 -0400 Received: by mail-pd0-f175.google.com with SMTP id g10so367566pdj.20 for ; Tue, 30 Apr 2013 08:29:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:date:from:to:cc:subject:message-id:x-mailer:mime-version :content-type:content-transfer-encoding:x-gm-message-state; bh=DB9kLLXSkbKPjgVcfxxMinijKCKTikhggq7/33fboIE=; b=dNBM2Px8EYhc2zjwZZsDGOIc7JKN3ciU8RoAkJi5/Myw+ydEus36FDE2fDl2K6qh1h JqWdDJ+mXqzKtoBSa7iAooHLFmVfm6v4xJMxQx1o+ouG05/zcD6A8KLmrouwrxFvRFCk W4SKxr45m9EDCVngnCQvlBtnpns474xxFJKKx9MWBd5EKwCONcYC9wOtUELOqz2ADdNq Q2V4XSZXocSQy5jbgKkaKODvtCx2mob/KopAPISAmEA+P/1Ujhto4QCJF1UceeLYzO8V RLYd10qZ/VfvQ+dbXAIWJybJUMaL5djtGrdponC3DDUDU87ID8UcA7YGjASvZH1A/ARe HRtw== X-Received: by 10.66.122.140 with SMTP id ls12mr64873678pab.197.1367335779575; Tue, 30 Apr 2013 08:29:39 -0700 (PDT) Received: from nehalam.linuxnetplumber.net (static-50-53-71-109.bvtn.or.frontiernet.net. [50.53.71.109]) by mx.google.com with ESMTPSA id b7sm28887098pba.39.2013.04.30.08.29.38 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 30 Apr 2013 08:29:39 -0700 (PDT) Date: Tue, 30 Apr 2013 08:29:27 -0700 From: Stephen Hemminger To: David Miller Cc: netdev@vger.kernel.org Subject: [PATCH net] bridge: avoid OOPS if root port not found Message-ID: <20130430082927.56aa0785@nehalam.linuxnetplumber.net> X-Mailer: Claws Mail 3.8.1 (GTK+ 2.24.10; x86_64-pc-linux-gnu) Mime-Version: 1.0 X-Gm-Message-State: ALoCoQnPXrOj3xU932va5ShRu4Ld+JNnBHNfMvZfPo//A5/2kO3qD79bKrw+ig4gt7YBsYH1a85P Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Bridge can crash while trying to send topology change packet. This happens if root port can't be found. This was reported by user but currently unable to reproduce it easily. The STP conditions that cause this are not known yet, but the problem doesn't have to be fatal. Signed-off-by: Stephen Hemminger --- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html --- a/net/bridge/br_stp.c 2013-03-07 18:12:53.885287247 -0800 +++ b/net/bridge/br_stp.c 2013-04-30 08:24:05.935771645 -0700 @@ -225,7 +225,14 @@ static void br_record_config_timeout_val /* called under bridge lock */ void br_transmit_tcn(struct net_bridge *br) { - br_send_tcn_bpdu(br_get_port(br, br->root_port)); + struct net_bridge_port *p; + + p = br_get_port(br, br->root_port); + if (p) + br_send_tcn_bpdu(p); + else + br_notice(br, "root port %u not found for topology notice\n", + br->root_port); } /* called under bridge lock */