From patchwork Thu May 5 17:11:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1627060 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=HGompy1b; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KvKzW2Gv8z9sCq for ; Fri, 6 May 2022 03:13:43 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B391483FE0; Thu, 5 May 2022 19:12:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="HGompy1b"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 67AEB840B4; Thu, 5 May 2022 19:12:24 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20621.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::621]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 7F8F283FF8 for ; Thu, 5 May 2022 19:12:21 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=knJKvoqACTl7ou/cu4ih1pUWOx2dhXGi6hW8dnmDPH36UqsED6ezz3CVxUgKwzrdJrMX4xCXscHood+SnMg2zm5o//wz98S/eP3/XenEg/uxS+Q4+2h2aeHYtraWWoSwkbzU280Bw3FRPq8+BMcD5B3WlMWps2dtA4DcoDT/735fwukh1hNm2mtIaGWZ8uTMMDQtBTcfEgqu8+f/uyiLz677sjQKmEjhY6l0uSHBWxlN87wnHlIjQZHTWqKNS0Jx2g5X1qpdhw9L9qE7Qxq8FPto1VPMGjmcuJmSX4KcT+6tuTwNqZddFbR29H1EtgxdHGL5sfutblkEbykkLZnpqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rz+epDIpsa/ZXEwFSX2dIwoTsdYd+0aygIWiUR6S3Vo=; b=j7PHEib/I4aFTIUqh8PatX4OFvwJ/f5GHw7HPNCSjBaWS4hjG+luv7MiuJ9ZPK6rruqmcPBsy6x3XUjtGGBdUotEhQ119H65ln6kJKapCmJy8JcUQWIKFrlcCgaPK6LeX8LDvK/4quw7QAiCVspbhwBHqS9egpaApVf/SCenVkndQJxgupYv/56rw/57tIdFN++S55mueKRmzZymMKBQSPshuztv7AzdWJlqDER2Kzpq7+fBC8kqDP+v38JMhCkQhF2V1R+TAk+hKOud2uc18qb1MXWj83JVFh1fs7/6dr0bl2+dCN9oqv+htfkk2WlNzrlDGwHk13UyawJsKoF8+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rz+epDIpsa/ZXEwFSX2dIwoTsdYd+0aygIWiUR6S3Vo=; b=HGompy1bNi/HzzzQ+LMEKNLCZJvs5+H09Pmpokg1TRj/IvnWh8CebwZKJvaev70tpYGr2lpnro66el2FPYJ7ceFklQRBiAMULTE7vjkCxZkJPoEwXEPCPrdAWTnIeoCmhe8rGyhoOqdAJS90hBjokDgVwKnIy1zoeFqQqOBUX1dh4tU917AnoVzJQV+ak86FUHap63PYrSkzAdhCkLic9bo0P7Scd++j9b9pJAtq5DzRTGbBF4TXJ8OLr2syNTQw2lGlMlRhxXmTNBnwDby9m4Lfz2wBtZ9EcxeoZqm3of9iW2cN6tQCgOrHZOgufQLtp9AJLto76PezXD/Yc/itNA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from VI1PR03MB4973.eurprd03.prod.outlook.com (2603:10a6:803:c5::12) by VI1PR03MB4397.eurprd03.prod.outlook.com (2603:10a6:803:51::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.27; Thu, 5 May 2022 17:12:19 +0000 Received: from VI1PR03MB4973.eurprd03.prod.outlook.com ([fe80::dc24:d72c:4fe6:847e]) by VI1PR03MB4973.eurprd03.prod.outlook.com ([fe80::dc24:d72c:4fe6:847e%7]) with mapi id 15.20.5206.027; Thu, 5 May 2022 17:12:19 +0000 From: Sean Anderson To: u-boot@lists.denx.de, Simon Glass Cc: Heinrich Schuchardt , Mario Six , Ramon Fried , Tom Rini , Joe Hershberger , Sean Anderson , Alex Marginean , Claudiu Manoil , Vladimir Oltean Subject: [PATCH v4 07/16] net: dsa: Fix segmentation fault if master fails to probe Date: Thu, 5 May 2022 13:11:36 -0400 Message-Id: <20220505171146.557773-8-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20220505171146.557773-1-sean.anderson@seco.com> References: <20220505171146.557773-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR05CA0044.namprd05.prod.outlook.com (2603:10b6:208:236::13) To VI1PR03MB4973.eurprd03.prod.outlook.com (2603:10a6:803:c5::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 98f9887d-52de-4b99-d9e5-08da2eba6962 X-MS-TrafficTypeDiagnostic: VI1PR03MB4397:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ExoxMkY8U5NQNWB0AjRaDSDI7LBPUf66qWZBcBltTeOX27ntohdcTjNGNwiQw6Z1NCetLDQhS3yGeT9OZxleduAsTvyj6dq8dMFl7VLNmJnUBYOjufUehmIsimLdQzBiSKQECwMwrjDkTU3MoTVECB3YeYSx3+5s+v7kIkx0Hp+SKQ9j7lfu4uNjDuGQCZrhxUQqrxMVvFkUUj3sY7MIltr8UAJp/KF+Xghtp54d8nvcw0ccQcz6HdbDX1E1l/V/hBJvvSv6cho+cRzfUqbwGBusKNm7MWRCaKQu4G+wTUltQsMIczoiT2VUSjJI82/ES1D28OYge/C5w8dcXVyhLF532lQvA3LM5GRbpfzKWaGVDRz6nU1Y9y83I+xlPmcsv3SJl4pqCcIuodTILT9otKv8zdVThSMMhmP9gnx9rF/emDFVtA/YwcT1w2SYqqzJEsl1lxDlALs37qU1xDHej8YvRy6GYvR6r1QE4UrGurvJy+oL5zzydg3uSGFPXW+63VQX5yY2zvCXpkQTH/Gsvkqdphg4rA/lrqwpo2BMRYsTbrIq8wGdOXbbX2VoVmy5axmZDOIjT4TS0FEnlu3z28n7IGdjpBATGFU5KXyMA3tDmUeYbieRP5sIOCt+P2JwZbwT2voRXDqtqVBL9Xy+B138/Qw8dpK8DY9wAPlXP65AmaIKhevyGF4Uohy1NIdHWeJ7p5aWyfgUuhlXrVhv6A== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR03MB4973.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(7416002)(8936002)(4326008)(66476007)(86362001)(66946007)(66556008)(8676002)(44832011)(2906002)(5660300002)(38350700002)(38100700002)(52116002)(54906003)(6916009)(508600001)(316002)(186003)(26005)(2616005)(6506007)(6512007)(6666004)(6486002)(1076003)(83380400001)(36756003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ll7y4lkp71wykrL5FgqKyreRkAWDvsBxy3NNSKPX5W5wIImskYfBPaOKfzqUNh1ziXZVK6js8SSyq3jWSCOzqwZgc8sJ4UQ/gNU5gaTaRMsXbt85fo1g9s9sR8p0qoa06df6jistJR6aGTTQ/7IkB7Ns0oa7NZM3MFNvv8978uNNrfwNo06UU3AxXXV48/aPzrSrjloA09P+gZ8Oj6w6nIdKb4DoZAKNFiCp6YC6/XcEYPvF7NKzQKaE82Lj/acqcjkeqehAs9fiOsNYd2x/UWQljbW1/ZcV5zrMH3UVgMx7HK1zgJD6k7U4C2BjSA2Xl7zPE3kk2bsu64OzQeHmRuZTTxkX2nYybwPkPMrxvm4VpjkoQ65KeY3Da8s+/dJePwXufv4DasSgd/lHFnQ6932S1GmsqTcDLfRreRUlzQm7bw1diU8J/mqgrNqU+s+3kf1SkZvUgPTnmAc0sTre1FfZ5gmrdlrPuFAjMsKcn/uvl51zWcl9832QqroEuOoDD8ZjjCIwKJo6hddOqDAW0eL4sQcvZVNCyGU79Q0LpR6yUDPwjwHKajBZyYGwYYsoz2zKXSgbXvbfjMDJkguwq6l0FPQ68umxTO9Ba4QGaxkMV0lt65+cOg82/oth5hlc3kPC0R02KbphZl6cnD+khWvpxX/9vRyCoAa+Nlu+GddIE3h9a7/Rp4wkg33Mt1XETcl1n+NRaPtAiDUesVfoKfrQgaYI5YsYZbeq73hDxfOR/HPL9LOqk4pVGhvU90CpHrygThbM+3DGWKWl9Sd2PyJaCeVthp1wrAZZOqrp4wJuLmnf3dUaGk8XhEdzbFu1wsbvVZ0Iuh8Rzn/bxJ5U17bvximTqw8xeFS1bbb2fqHKteeH4kVVaVF080SPITMNFmlYOYm4GOxli2UXxnpS7rYMCNFiRuXzg5Vj+mdTT+6dxmcq9asoitbfTfhnzusvbBoc8VASXyN/2GxiPGXOYdoPIc1VxjB1fpoYGWwYzaMmi8JG/fx343YaOaTHzCWqHkJd422YPlPUO4NtaqWvTicCb+u/Y4K+ZlZCdANBpXgupGXqsH7CbbA/RtFUl/uJluZIB4XuMINH736C62AoO1VLQ6EddrO2IkkBN/erVoX8HKACgzc1abbd8uEg2wWbET12Xr7952vHlHWF5PfmSfvnh88ICao/uGSIeZcjVTyw80bXIeWJem6BCuUrY62Y1gUxD8O6gqClN046Z3h2Klj5IpByzadmBUzONM0gvx+cYsKK7kVvMuxZ8i37TWWOFO/FMtBj8vlJHDtlCP+ZxM920Bnt4YBzJqBTtb0fGkzQ5IWCCfBo3HW98Uyy3dHwd4YNcAzJnTrBigZ2J9/NuI4LsAu36YRzlk0254kYc2eU+9EsKCWtVqxViPLlXy0XK7GG5nrjfMh1WjyvZ2/n1FH6r+sVx85j26WTSnXDGcDOcbpGGZq/JkNPirMoS1Uw0JB4EggOQd2kIqdkn20noQFlMJ5r/CTgbcGWM1nx+6kQY6ooFkH/wK6MB9YWaCNE8S6it27ZOqPCs8yM1ezap8A3OX/aTaHaLdfQ981aqPESiJrdD+1Q4TSbS6OYmFxXVTvopqYFZKYYRNLf6eOmX+29zMJ4fUEGqIz5oMxoEe5ngi1mAxcB27KU++1pfgz86pYspEwvFYVs1LHRJOuJDZYFl+TQbLiZXMOqkzj0L1nK81kFlYdLaBX+V1EcGuQKQ7A9FqWQ7jOVy366Yusj3LTAhttqlnWo79aQ9xxCSFE= X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 98f9887d-52de-4b99-d9e5-08da2eba6962 X-MS-Exchange-CrossTenant-AuthSource: VI1PR03MB4973.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2022 17:12:19.5883 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: T0Piqul30F6qH5hHERSP9wJ9yAV0ANAzw/YzjlWUofz9n8bLgOwjgCYx4MVJeuMa9bF7KGCsFjU62BISZCGZig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB4397 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean If the DSA master fails to probe for whatever reason, then DSA devices will continue on as if nothing is wrong. This can cause incorrect behavior. In particular, on sandbox, dsa_sandbox_probe attempts to access the master's private data. This is only safe to do if the master has been probed first. Fix this by probing the master after we look it up, and bailing out if we get an error. Fixes: fc054d563b ("net: Introduce DSA class for Ethernet switches") Signed-off-by: Sean Anderson Reviewed-by: Vladimir Oltean --- Changes in v4: - New net/dsa-uclass.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/net/dsa-uclass.c b/net/dsa-uclass.c index 9ff55a02fb..3bf4351c84 100644 --- a/net/dsa-uclass.c +++ b/net/dsa-uclass.c @@ -477,8 +477,10 @@ static int dsa_pre_probe(struct udevice *dev) return -ENODEV; } - uclass_find_device_by_ofnode(UCLASS_ETH, pdata->master_node, - &priv->master_dev); + err = uclass_get_device_by_ofnode(UCLASS_ETH, pdata->master_node, + &priv->master_dev); + if (err) + return err; /* Simulate a probing event for the CPU port */ if (ops->port_probe) {