Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp5441855imm; Tue, 16 Oct 2018 10:16:32 -0700 (PDT) X-Google-Smtp-Source: ACcGV62Hm6299ckXV10rWYDLp+1mMcmI0ptwkdF+yRh7jpGP8roLQWDCdj6g3wzB+UynU/apSSK3 X-Received: by 2002:a63:5021:: with SMTP id e33-v6mr20909689pgb.306.1539710192766; Tue, 16 Oct 2018 10:16:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539710192; cv=none; d=google.com; s=arc-20160816; b=LIaoEHhnbO/mXiDy0HmdWEn8Fv+xQEleDOSy3nOi2/Dh6ev541nR7dT1ysE/WoYFpU Mzn497tLJL0sQaO1SFlUOCPbTIsNVRisresvQRMB9TzOmR3Ap0YRZBqUyPfYq0FFRDHA IYs7sjqInZKV4brZ1S8K0r88hJHbmvuhcvC8TSxu4XroRjqh63hIa1awNxC7pBQsMWz+ HcxUIxZT1fjTNBExZG7FksF4YK4r+MqdAC4hUrrFSrQp0DmEPkHVg/CkglSye1Qki2cW u3BVY/WvBkXBtzw7Y3Sw4cC+2JyFDpBtr5AGHK/0HYOuV69Ddr4THJKUJw3c/f70xHvS Yh5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=C1TDH9iReMt8Z2QO/1GC57ieo9TKEfEzGedrLxlMgpA=; b=HRTJqJ9I1Ez06eHQjLYR6cJYl7weXPxf/ZBGi0wM6DxHOodY2ofAogamn6hiOkz6Z8 r3EkNGOWGrcCrnBWIDCM6uV5HCdX9cADZDERxBrHlWZr5SAF/zWPV2XAeS2zsc/DZZyE uOahnvYjVisUyQTNjc29gZjqgfz8fes1EGoiDwDuqh9WyrRwjGE3QFwKzRPt7wVebNLU DEEpankn/wxtMs5p86dcDrjEI0Jp0hJtVv5CKRXB6ISh2Ng7kxP+xB+ZSFjHghUauMAA VQlILLvrsxZ6vhh4jXfqrBpEJD2z/zb76T1BkupcM1BI/SMssx3m1VF7AneavNWtHxSi F86g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=h3llPpK+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g27-v6si13843384pfj.37.2018.10.16.10.16.16; Tue, 16 Oct 2018 10:16:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=h3llPpK+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729035AbeJQBFX (ORCPT + 99 others); Tue, 16 Oct 2018 21:05:23 -0400 Received: from mail.kernel.org ([198.145.29.99]:48700 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727280AbeJQBFW (ORCPT ); Tue, 16 Oct 2018 21:05:22 -0400 Received: from localhost (ip-213-127-77-176.ip.prioritytelecom.net [213.127.77.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6187D20866; Tue, 16 Oct 2018 17:13:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1539710039; bh=oyzVHra+OcCSA7yj3/rWQ02MgjbIAxdI/TSnDpRoaCQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=h3llPpK+5yIFk6PSeWFGjZjpnlp1reu4zpMehbX6UwUuBM7Laq5DvonEx043YIW2E xcmlkr5Mcnosdb4WlMR2lDyOBs8cOcMjSU2FlDnZhlqPmvuuaI62kQ8xzP7u02xyKz K/DV62f7GUGksuXBb2Mma2n0opJByxFFG5yOh0OU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Florian Fainelli , Russell King , "David S. Miller" Subject: [PATCH 4.18 046/135] sfp: fix oops with ethtool -m Date: Tue, 16 Oct 2018 19:04:36 +0200 Message-Id: <20181016170517.917484649@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181016170515.447235311@linuxfoundation.org> References: <20181016170515.447235311@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Russell King [ Upstream commit 126d6848ef13958e1cb959e96c21d19bc498ade9 ] If a network interface is created prior to the SFP socket being available, ethtool can request module information. This unfortunately leads to an oops: Unable to handle kernel NULL pointer dereference at virtual address 00000008 pgd = (ptrval) [00000008] *pgd=7c400831, *pte=00000000, *ppte=00000000 Internal error: Oops: 17 [#1] SMP ARM Modules linked in: CPU: 0 PID: 1480 Comm: ethtool Not tainted 4.19.0-rc3 #138 Hardware name: Broadcom Northstar Plus SoC PC is at sfp_get_module_info+0x8/0x10 LR is at dev_ethtool+0x218c/0x2afc Fix this by not filling in the network device's SFP bus pointer until SFP is fully bound, thereby avoiding the core calling into the SFP bus code. Fixes: ce0aa27ff3f6 ("sfp: add sfp-bus to bridge between network devices and sfp cages") Reported-by: Florian Fainelli Tested-by: Florian Fainelli Signed-off-by: Russell King Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/phy/sfp-bus.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/net/phy/sfp-bus.c +++ b/drivers/net/phy/sfp-bus.c @@ -349,6 +349,7 @@ static int sfp_register_bus(struct sfp_b } if (bus->started) bus->socket_ops->start(bus->sfp); + bus->netdev->sfp_bus = bus; bus->registered = true; return 0; } @@ -357,6 +358,7 @@ static void sfp_unregister_bus(struct sf { const struct sfp_upstream_ops *ops = bus->upstream_ops; + bus->netdev->sfp_bus = NULL; if (bus->registered) { if (bus->started) bus->socket_ops->stop(bus->sfp); @@ -438,7 +440,6 @@ static void sfp_upstream_clear(struct sf { bus->upstream_ops = NULL; bus->upstream = NULL; - bus->netdev->sfp_bus = NULL; bus->netdev = NULL; } @@ -467,7 +468,6 @@ struct sfp_bus *sfp_register_upstream(st bus->upstream_ops = ops; bus->upstream = upstream; bus->netdev = ndev; - ndev->sfp_bus = bus; if (bus->sfp) { ret = sfp_register_bus(bus);