Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp5326440pxv; Wed, 7 Jul 2021 00:46:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxelVxob+DdtGs47aak35GeZJS0Zp/YVPD+i81HkBtP+6C7khpChs7woWy3fDsFJ8HcIALh X-Received: by 2002:aa7:c9d8:: with SMTP id i24mr28469508edt.79.1625644004419; Wed, 07 Jul 2021 00:46:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625644004; cv=none; d=google.com; s=arc-20160816; b=Jwlg2/VtshKPNqL/rozbUbz47j1astUxwpi+Dhxx7uRrNVaIaNduq/9+WB/Xoa/i9A hOlKf8HohtAG2dfNVS1xbTqWyVTnO+XQpjNq0/N5/BWaxprIoRlf1kkWuhsM7vKSWRt3 c8riqLcz5RVV2h/JMK6m+Zteb5YhnsLFYXuk4z7WZ4bZUS6vGE2rwOT8TKwTXRJbyDPO d/MyG9AbP93XYqrCBrt/stCQFwI3AwPKDuH6JmF4KmfBKp/zEGG8s8wnYfvbN0I5vUQg ecul7dvDPJsUgJXuG77mwAlAIIlP4PuJBYZt8CgmSPpfejFmUnjX6gkNkndcBlkcl/JV HLRg== 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; bh=z6f09uLPXl2O+ranaTHKmotd0XyMTqoROR1gMYRWntY=; b=V8Wxo9R2UjDqQCo8KE62bMzpo+kwpSsBYFLvRnHKDO7myhs/jmSKCiCR8xgtkh5YE+ svWBo85zNOSP4s4E5/dp/91l+GgWNrNGsbtahzXRQk+Wb/S98Rttiferbjvi4AXCqpbg 9vwWhlYeX69xhkRO9tlsQyys5FNMRLUDPH8HXiFZ7etwm3H8d0uKCas0mpf3GrdFH/wO Gky61eJUgd0vvdpz7XabpyCQAtM6OVP8din0dpkaiMntRR+Q6wQ+K2HK3IJ+dKuKtyoq z5T4hvEDIdoXUpCaVY50Azntl0qwjwCyY5+/4oOntS0WKyGsHC0jqtB68r1X0PVrSr6L mX3A== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s18si20536499eji.655.2021.07.07.00.46.21; Wed, 07 Jul 2021 00:46:44 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230389AbhGGHp5 (ORCPT + 99 others); Wed, 7 Jul 2021 03:45:57 -0400 Received: from szxga01-in.huawei.com ([45.249.212.187]:14030 "EHLO szxga01-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230341AbhGGHp4 (ORCPT ); Wed, 7 Jul 2021 03:45:56 -0400 Received: from dggemv704-chm.china.huawei.com (unknown [172.30.72.56]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4GKWXz2p47zZp6s; Wed, 7 Jul 2021 15:40:03 +0800 (CST) Received: from dggpemm500006.china.huawei.com (7.185.36.236) by dggemv704-chm.china.huawei.com (10.3.19.47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 7 Jul 2021 15:43:10 +0800 Received: from thunder-town.china.huawei.com (10.174.179.0) by dggpemm500006.china.huawei.com (7.185.36.236) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 7 Jul 2021 15:43:09 +0800 From: Zhen Lei To: Greg Kroah-Hartman , "Rafael J . Wysocki" , linux-kernel CC: Zhen Lei , Kay Sievers , Dmitry Torokhov , Saravana Kannan Subject: [PATCH 1/1] driver core: Fix error return code in really_probe() Date: Wed, 7 Jul 2021 15:43:01 +0800 Message-ID: <20210707074301.2722-1-thunder.leizhen@huawei.com> X-Mailer: git-send-email 2.26.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.174.179.0] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To dggpemm500006.china.huawei.com (7.185.36.236) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In the case of error handling, the error code returned by the subfunction should be propagated instead of 0. Fixes: 1901fb2604fb ("Driver core: fix "driver" symlink timing") Fixes: 23b6904442d0 ("driver core: add dev_groups to all drivers") Fixes: 8fd456ec0cf0 ("driver core: Add state_synced sysfs file for devices that support it") Reported-by: Hulk Robot Signed-off-by: Zhen Lei --- drivers/base/dd.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/base/dd.c b/drivers/base/dd.c index daeb9b5763ae..2b8cdb78384c 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -580,7 +580,8 @@ static int really_probe(struct device *dev, struct device_driver *drv) goto probe_failed; } - if (driver_sysfs_add(dev)) { + ret = driver_sysfs_add(dev); + if (ret) { pr_err("%s: driver_sysfs_add(%s) failed\n", __func__, dev_name(dev)); goto probe_failed; @@ -602,15 +603,18 @@ static int really_probe(struct device *dev, struct device_driver *drv) goto probe_failed; } - if (device_add_groups(dev, drv->dev_groups)) { + ret = device_add_groups(dev, drv->dev_groups); + if (ret) { dev_err(dev, "device_add_groups() failed\n"); goto dev_groups_failed; } - if (dev_has_sync_state(dev) && - device_create_file(dev, &dev_attr_state_synced)) { - dev_err(dev, "state_synced sysfs add failed\n"); - goto dev_sysfs_state_synced_failed; + if (dev_has_sync_state(dev)) { + ret = device_create_file(dev, &dev_attr_state_synced); + if (ret) { + dev_err(dev, "state_synced sysfs add failed\n"); + goto dev_sysfs_state_synced_failed; + } } if (test_remove) { -- 2.25.1