Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp3013064pxb; Sun, 29 Aug 2021 10:21:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz1KigyF4nvAblBKng5PK92dNxn1g4dvU7Z/O9cF5NHZiz70fL8EgTxxwwQ4BAD/nCtQj64 X-Received: by 2002:a05:6402:b47:: with SMTP id bx7mr20083507edb.319.1630257690523; Sun, 29 Aug 2021 10:21:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630257690; cv=none; d=google.com; s=arc-20160816; b=FXC7YQyqsffnzpcxUqsOummPJHoxKXrGf+0gSiC3qIdlyUF50rPuEd9lHKwqvY3QuK rsRDqtF+/bATijrkOya1QITj4rwXMT+bUnkRRKBmGpyCJ5fBEluoJXTBAvkndG8hpLUp YVnPTuFW0NJUEX73i7BhTAHVP5A6wDf9BPWpVK3c9oU6CSLWSvzVa3CLQWN5YpsMHX0B K0sJ6U99V45JvVRS0xtYv7OM+egbTBIWPgWf+TcYTwhFsbZzvbpoVLHmqAGYgip58aWi 99L5yPWWNeXFiC3dL/cPzRBomIXZ1uYyidXoqeUaEbTAYEDzTOIEa0p9lRxUdh+qETui gIjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=L0cf0NjF33stKTs19OGzzZa1hPrIN3qceVlEcaV1VHI=; b=09zeemMK+AyjazOVXNa3tDV3Sk8en+JxYy8Nj/9Rk7LDGXly/cK+UR7t6Kx/z3xWAW pD1/2ayb/A1RCl0I7uazQigdbSKmQZJy7/ZaXyEAEHocRjBwhhAiFz6++VJqI7ZcFUU0 xITFK/KZJr5xgczbIQORhiF4bdxXW1V+7AXvyQeIQNCTYCUwL5usyl6tIZl+8upd7Z48 IXEikIT73mXKB7ozv85Cif9u51lOplKgU2Dl0ChcO9IUOKbMy0dfN2G9rNNuDtYlhu1v tPirCpXS+8KrrauY0gwIno9XZ3FA2NHZWyuvDU8WCCWFcuwrt+h3HS0XWhMDgzlKMUY1 /fTQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b=GUpZLZcJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o5si12430826edc.332.2021.08.29.10.20.56; Sun, 29 Aug 2021 10:21:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b=GUpZLZcJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231676AbhH2RQr (ORCPT + 99 others); Sun, 29 Aug 2021 13:16:47 -0400 Received: from smtp-relay-canonical-1.canonical.com ([185.125.188.121]:52386 "EHLO smtp-relay-canonical-1.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229706AbhH2RQr (ORCPT ); Sun, 29 Aug 2021 13:16:47 -0400 Received: from localhost (1.general.cking.uk.vpn [10.172.193.212]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-1.canonical.com (Postfix) with ESMTPSA id A99C63F232; Sun, 29 Aug 2021 17:15:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1630257353; bh=L0cf0NjF33stKTs19OGzzZa1hPrIN3qceVlEcaV1VHI=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type; b=GUpZLZcJJgEiVEMdZQAdfGUIlElVrVH3hzTJGGFCBAQ3QWs5zujv569+wkkWCBatf sd282FNyIX1QjNp7G+HiSNgPxDAXiuo15hWX4eAzhX9r74qe2WGsdfvKzYl+SLBqS1 U2SvWRyxtv1c+goNWhgswT9fczZImDFUNNZ1uAb+82Yx79PvcnH1mmSNfn8oSRLzmN ffLhvaXr00xia6PqTYPpg6CUSpab8gJZm6KS2LOwYgdHpx8h0i4SBEuLl0LJJj7qlc ppv4JSqSR2RhWsf7Ziu2MFY7aV003wv/+lEe31fPn16zK+Bhjug198Cv29l9olXgfv 6eo2f8SrVcMQw== From: Colin King To: Alison Schofield , Vishal Verma , Ira Weiny , Ben Widawsky , Dan Williams , Jonathan Cameron , linux-cxl@vger.kernel.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH][next] cxl/core: Fix a deference of a pointer cxl_port before it is null checked Date: Sun, 29 Aug 2021 18:15:53 +0100 Message-Id: <20210829171553.532596-1-colin.king@canonical.com> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Colin Ian King The assignment of pointer port with a dereference of pointer cxl_port occurs before cxl_port is null checked. Fix this by only assigning port once cxl_port has been null checked. Addresses-Coverity: ("Dereference before null check") Fixes: b7ca54b62551 ("cxl/core: Split decoder setup into alloc + add") Signed-off-by: Colin Ian King --- drivers/cxl/core/bus.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/cxl/core/bus.c b/drivers/cxl/core/bus.c index 0b85351be6bf..55db46ba8a18 100644 --- a/drivers/cxl/core/bus.c +++ b/drivers/cxl/core/bus.c @@ -494,7 +494,7 @@ EXPORT_SYMBOL_GPL(cxl_decoder_alloc); int devm_cxl_add_decoder(struct device *host, struct cxl_decoder *cxld, int *target_map) { - struct cxl_port *port = to_cxl_port(cxld->dev.parent); + struct cxl_port *port; struct device *dev; int rc = 0, i; @@ -509,6 +509,7 @@ int devm_cxl_add_decoder(struct device *host, struct cxl_decoder *cxld, goto err; } + port = to_cxl_port(cxld->dev.parent); device_lock(&port->dev); if (list_empty(&port->dports)) rc = -EINVAL; -- 2.32.0