Received: by 2002:a05:6512:3d0e:0:0:0:0 with SMTP id d14csp41393lfv; Tue, 12 Apr 2022 16:27:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwdkTvfWBPJrELD5fAmBqaFRtaHNYFCS1dg5lpV6b/FuqGE1giCCrBEr3gUEIL6G0ApaN8L X-Received: by 2002:a05:6a00:14c1:b0:4fd:f3ba:e488 with SMTP id w1-20020a056a0014c100b004fdf3bae488mr39860459pfu.12.1649806055724; Tue, 12 Apr 2022 16:27:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649806055; cv=none; d=google.com; s=arc-20160816; b=if68RRGwpFVqYiwkr8myH1/SLBer4PwCZ5AxKt6cunxfldLz+fbqQvWgme2Ov3cegk ShXHdyGYqODe9onMPspsyvP9Yez1uDIrLI1vQxaIdU87NAUKV6XLMTz1xmGPqy3bBDpV b/qoLI9p+/00p7QaZlsd6sSZIA6NnKhilDQ3+k9cjxdUomzKm3Yr9tWEo4qx/t8XTwsu Gf8eE2pb68zjK9jLxWZ/ae41Gk833aS7LF1pnu/jyMuTDAJhKve3FXZu6AqiEtN2zE1u zxTagiAu39DELgFXKXhG9BUqTJeG2uIC5l6ny35iDH+DvrXg0NpP9TA28297uhxiHXjh d3sA== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ZJZ5YEWV0qDpi8AJ0maZoVZcnpLJFSQKft94DE0Qcas=; b=CJeVgfQXelcjFI07IwAgMeOGjnKb6CsQ9r6xhFPvTNExxqnG+DFNWqGt+APqFcVqBw o9OgDZsV4CMyO7E9wVYDItZgmtNqXJGiwq06/Q4JshPziaSKbtrCogMatLHClIU2tofb hR2mdxNJnzspvoAN+OCcO7rn4KBK/13vo8qK4VPZuOVuz1hZ1AAU1ghRKXZbWSR9fRSa CLiM+rZ6v8IZ6cZqeI4YNcxeoinjkYmsVlquXa9N/fN75i4A1sWPDW+Hkc//MkhM8ETE yEt1nsWKncv/fiTOK/2b1mrW8jfdVqw1mc3RrAeafLTIEFTs/5bYBBf2OhhaDJCeVaFk htxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=jJ87HZP3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id v6-20020a654606000000b0039d96ecd253si3069531pgq.800.2022.04.12.16.27.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 16:27:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=jJ87HZP3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 8AC21101F17; Tue, 12 Apr 2022 14:19:57 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1357812AbiDLJT5 (ORCPT + 99 others); Tue, 12 Apr 2022 05:19:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50108 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1357294AbiDLHj4 (ORCPT ); Tue, 12 Apr 2022 03:39:56 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 70619183B5; Tue, 12 Apr 2022 00:14:40 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id EB11CB81B46; Tue, 12 Apr 2022 07:14:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5C3DDC385A1; Tue, 12 Apr 2022 07:14:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649747677; bh=BJU3SoYaAQU5PGAAdKA5dXjOco3AbVhPcyDIW5TSjrA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jJ87HZP3qf6vCWKaLP/vFWZJjR8603lPkmhyGbSpMBYyAefuvntGziNPYcnI9wz5n 0mJJUYfpztjXUiwHR1/gAYMKChEjuDrJVomReYEWNOvvvFhNiUL16Uw8xNRtykNsR9 IxFa5Xr8LInXm/g2jwjfqwvzl+zJz/Dc/HHySE40= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= , Dan Carpenter , Xiaoke Wang , Sasha Levin Subject: [PATCH 5.17 167/343] staging: wfx: fix an error handling in wfx_init_common() Date: Tue, 12 Apr 2022 08:29:45 +0200 Message-Id: <20220412062956.191258378@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220412062951.095765152@linuxfoundation.org> References: <20220412062951.095765152@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Xiaoke Wang [ Upstream commit 60f1d3c92dc1ef1026e5b917a329a7fa947da036 ] One error handler of wfx_init_common() return without calling ieee80211_free_hw(hw), which may result in memory leak. And I add one err label to unify the error handler, which is useful for the subsequent changes. Suggested-by: Jérôme Pouiller Reviewed-by: Dan Carpenter Reviewed-by: Jérôme Pouiller Signed-off-by: Xiaoke Wang Link: https://lore.kernel.org/r/tencent_24A24A3EFF61206ECCC4B94B1C5C1454E108@qq.com Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- drivers/staging/wfx/main.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/staging/wfx/main.c b/drivers/staging/wfx/main.c index 858d778cc589..e3999e95ce85 100644 --- a/drivers/staging/wfx/main.c +++ b/drivers/staging/wfx/main.c @@ -322,7 +322,8 @@ struct wfx_dev *wfx_init_common(struct device *dev, wdev->pdata.gpio_wakeup = devm_gpiod_get_optional(dev, "wakeup", GPIOD_OUT_LOW); if (IS_ERR(wdev->pdata.gpio_wakeup)) - return NULL; + goto err; + if (wdev->pdata.gpio_wakeup) gpiod_set_consumer_name(wdev->pdata.gpio_wakeup, "wfx wakeup"); @@ -341,6 +342,10 @@ struct wfx_dev *wfx_init_common(struct device *dev, return NULL; return wdev; + +err: + ieee80211_free_hw(hw); + return NULL; } int wfx_probe(struct wfx_dev *wdev) -- 2.35.1