From patchwork Mon Oct 24 21:24:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nam Cao X-Patchwork-Id: 10389 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp697468wru; Mon, 24 Oct 2022 16:13:52 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7SLliGtXJBvk/wgHsJHqeADwIDbxQjHkVcDx4RrWFr6jCeIiRmmCT9NkVpXU2fP9zpkidU X-Received: by 2002:a17:902:b089:b0:178:54cf:d692 with SMTP id p9-20020a170902b08900b0017854cfd692mr35362768plr.1.1666653232591; Mon, 24 Oct 2022 16:13:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666653232; cv=none; d=google.com; s=arc-20160816; b=uxdghjawgUyateUbHrRQh1l67iapS08m1M16d7KU54wX1FhFLjQXBNtdyURUZQskUx qAVaYS6N5E9wVQmuZdGLRwEYqL5q9320WwZtSh4pR/i2UyLNhr+/jsmGqZy57dhu6Py8 eUzFiTnci8Hm47T/nHmQGq6iIGOd0kGDpx48DTcflFq/gg+50FvlqzTn1m5HJhoIKr9e BLcyONFANT7nM9feIiisL4vXfZXQiuenaMJPqfjNM3wOLiUCMu+FOjFsqwhDLFoyFAuY E6M9omQ4/I2VIqg9rcqWHAiCYXqBc0Kiui/Z1i5cMNeL/2+qDhBPqklobiJPNfUMuKVC U+/w== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=MZsnAEsVBgH1SY91CR++8td8qF2as+jKuxUWas/0RKs=; b=bLjoDRjDRUuSzpJCXfuPGDvRbQHv7HuwplQ84F2UGXKnP+bzkwqbfyhSxm3z4wh75K iqerIQVoe+EoUw9W7DSUucR34dR2UexvBNRDsSoZSWZLko5JZbr2nUWAp4DLttej9F3+ ZhFfwUEmiJkxpu3As2gP7Dp3sQRb0vZO54brpQ2tUxV1YdmC5iMp87AS1WzTaeEKYu5x 2CxnZUkFkh18YE6n7uZs+6VnvKf/TICK5mc22Y+K/M6BNCEWo3RALM4+/CkBwH6stQZm 1D3dbnCMKzc2qPqpXXPPcs3j18ZY0orRjf77uS271uGDn8JpGI1N3VBzO724aPfREJT3 quAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=dzRCCrMq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id pb14-20020a17090b3c0e00b0020d3a22af84si1126551pjb.186.2022.10.24.16.13.39; Mon, 24 Oct 2022 16:13:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=dzRCCrMq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230012AbiJXXEV (ORCPT + 99 others); Mon, 24 Oct 2022 19:04:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56588 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231777AbiJXXD5 (ORCPT ); Mon, 24 Oct 2022 19:03:57 -0400 Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A59BFF26A for ; Mon, 24 Oct 2022 14:24:28 -0700 (PDT) Received: by mail-ed1-x534.google.com with SMTP id a5so20471840edb.11 for ; Mon, 24 Oct 2022 14:24:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MZsnAEsVBgH1SY91CR++8td8qF2as+jKuxUWas/0RKs=; b=dzRCCrMq/BADC/Fq6uUj+xe4Hc2cbZBCsUhG9yVbyfUSS1a86aZsZ7fC8TIJmhqzfY ogPnqCKM91NWVfT8PK2+CgtZNrLhZPwQcsiw/CRCvT1q2cN3Z5CMaAQHlwPes9vGSNFo /xF5YfpSccFvTfAzr0DtKzQZhbnfAgNQOkdGZiVu0Cx6sdb9/Pu9W7+634yEGHSyE5ah 5agHKO/fxUU975BV+2IYrrVPVTkvptgwuh7KLNpdnZ9L7NB98wMG0fILvtul28sqSPJv XB3n4hDyQfiXhvAK0+aD+k6fU7jHFFRUv+USAh+LNlJpzxNPePRDAfMWoakPD+rXIxWq Ckbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MZsnAEsVBgH1SY91CR++8td8qF2as+jKuxUWas/0RKs=; b=iAIV1G6L0PpruVCyrSBRLLLcVQMGXX0VYE9ro4ebj9iREDMNhWAq+W3qN4X6A9R9yE sTCA7wvcsTISEoxBu5H2nG0fPS5St9KgQlJIOUjV80gfTJZ3xCsOzgqdYPDCSNp56Kqm b6pBK+/kUFL7AvZEtgs78g1LkbVlHgoKNT1Ypug6AymCLnvBVTI28V6NTDiqisJxsyIv gGQ2MbZDOuZnyWh2siy2hfquDduqZhf/O4wXTjyTskO6MfIWyfAHQNNs6ufdOkYECw8d Y2hBeVlZwpRxxnjMgTwJ78YxhydVa5wGe38pWupURafWza6Ao52qLWBxp4KtNI3rtrRu MKYQ== X-Gm-Message-State: ACrzQf3kkPX/BccnnPgw70nvKWQAa+2oAgSArRNL0uxI6o9Qlo0NsKSe yW0LPYKt88jJDe9uz9fNFdM= X-Received: by 2002:a05:6402:294f:b0:461:f5ce:31e8 with SMTP id ed15-20020a056402294f00b00461f5ce31e8mr2721525edb.363.1666646664984; Mon, 24 Oct 2022 14:24:24 -0700 (PDT) Received: from localhost.localdomain (ip-217-105-46-178.ip.prioritytelecom.net. [217.105.46.178]) by smtp.gmail.com with ESMTPSA id r1-20020a1709061ba100b007a9c3831409sm379354ejg.137.2022.10.24.14.24.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Oct 2022 14:24:24 -0700 (PDT) From: Nam Cao To: Larry Finger , Florian Schilhabel , Greg Kroah-Hartman Cc: namcaov@gmail.com, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 1/4] Revert "staging: r8712u: Tracking kmemleak false positives." Date: Mon, 24 Oct 2022 23:24:06 +0200 Message-Id: <0542c043702f4b44be90f84b39f46fd7de5d85ee.1666645510.git.namcaov@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747612579570621609?= X-GMAIL-MSGID: =?utf-8?q?1747612579570621609?= This reverts commit 5d3da4a20a271e3cf5496a50cbb8118aa019374f. This commit annotated false positive for kmemleak. The reasoning is that the buffers are freed when the driver is unloaded. However, there is actually potential memory leak when probe fails. Signed-off-by: Nam Cao --- drivers/staging/rtl8712/rtl871x_recv.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/rtl8712/rtl871x_recv.c b/drivers/staging/rtl8712/rtl871x_recv.c index de9a568eaffa..4db7eed64a03 100644 --- a/drivers/staging/rtl8712/rtl871x_recv.c +++ b/drivers/staging/rtl8712/rtl871x_recv.c @@ -17,9 +17,7 @@ #define _RTL871X_RECV_C_ #include -#include #include -#include #include #include #include @@ -61,7 +59,6 @@ void _r8712_init_recv_priv(struct recv_priv *precvpriv, GFP_ATOMIC); if (!precvpriv->pallocated_frame_buf) return; - kmemleak_not_leak(precvpriv->pallocated_frame_buf); precvpriv->precv_frame_buf = precvpriv->pallocated_frame_buf + RXFRAME_ALIGN_SZ - ((addr_t)(precvpriv->pallocated_frame_buf) & From patchwork Mon Oct 24 21:24:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nam Cao X-Patchwork-Id: 10388 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp697383wru; Mon, 24 Oct 2022 16:13:38 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5HZA7sfDWflRKrxg3D1iH0gmwI6nxEix9bU/fiRuCjnBJIAntIpdNKHaodNzXFEpQ9G0Yy X-Received: by 2002:a17:90a:8988:b0:212:e1b9:e8fd with SMTP id v8-20020a17090a898800b00212e1b9e8fdmr16735470pjn.148.1666653218648; Mon, 24 Oct 2022 16:13:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666653218; cv=none; d=google.com; s=arc-20160816; b=oHTPnTOndKNXBxD5CB9OaaDnhY6sdnru+D/J9ylN/sMrfD1u5NzNdKifLissJLxHAK zC2+hPSKeGp5rtA0PqiYjsXEist22Z13Ju3Z9ELBODhWlFMVOX7yRId0GBAXiyqkZfd+ X0YNl8CfIp0moIvnDGyjBETcoxMJ7YnedvMa1ETcOJkOXBRnB53wXeVIejt7Lgs/xVLe opyr8DZoLjnp0CCpPl8hWOxICKJkQNC8sUlVyahQt4yewHk8ekxZvBDsKpQ2Qbh1uz7t vRWYZde8fRQfLeecKEnlr41+b2fQkhTjUKPmLnQyl3GSgTOBDVFR7+Yn3BuTlSR9O6ql xnUQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=TLGob7xf35t9SsnfBjxCcR4IfErklOduxxLTtm9ur1I=; b=HCNCRXodAQdOWnw0hOSXVU+3edmd81sD4WiIgLyoHh5nVt5X4nOWVnhelskO8u37+g VtMtOoN3j21S088XozIAW6be2hmStvOnxfCrB9tv6DP1QbBDOmOFhUOouMRDrhT1a+D0 g50cCXAQb90pRskwefNScVKCmLSSUHUnuCkUCYXstmcZzI92IHJIu8uJsJU3APkEgA2i NsDYrht3jal90igiKp4kxRsD8zwRh9njhLtr5BDPxkNs1O4CILND33CmKuyDvvsKsHxW 7TIeO59ACzpA0gDFYTyjbTydr8z1z0BvpQacHWMhoYikZgWcGusz0fB6ApbxhstpH0X3 nAVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=nsu7fcq1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h69-20020a638348000000b0044e74d0e841si972389pge.201.2022.10.24.16.13.25; Mon, 24 Oct 2022 16:13:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=nsu7fcq1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231135AbiJXXDi (ORCPT + 99 others); Mon, 24 Oct 2022 19:03:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231214AbiJXXDG (ORCPT ); Mon, 24 Oct 2022 19:03:06 -0400 Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 999D51C73E4 for ; Mon, 24 Oct 2022 14:24:28 -0700 (PDT) Received: by mail-ed1-x536.google.com with SMTP id r14so33568328edc.7 for ; Mon, 24 Oct 2022 14:24:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TLGob7xf35t9SsnfBjxCcR4IfErklOduxxLTtm9ur1I=; b=nsu7fcq1ngbWdbFKhL4y1cafZxXzRGqhXLAb9vehKnW/VVlFTAqp0gyWgiYbWQvA9d XyDPBtYzEw9+y6N7oNFfU3S1IO8FlLnZjn0fvgaRX89MI3wqAQ32hgdN1cxjvwOxioVS 54P9vIqyjxI+8Vc+TMluQTP2wLYIPsnQgR1zojywdne9Ysq2QNIAC++8XeuJmO7ESKHc czt/sZZ8tD9tpYsBU61IGHyPQaG+kmTgw1QzZKxKhTa0uz7uVyY7CMRTq8mIJ+1sg5jS v0/SmWZcf+XJDjqnFJw6q8dBGPboc62cYKd80DewdheSkojpdt1abxQqdAp5AREyyVL2 zOqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TLGob7xf35t9SsnfBjxCcR4IfErklOduxxLTtm9ur1I=; b=5BVXOaVp9KnrSRIcRhAuWOMn1vb0mYSls248vVEa9SUDeLoZf/km+aDFmmiurrOW9K lLcV1eqV0cXZBkxK02LqWOtvbAa45wqIMYzy2CuxeDr4VGxYxNrsmniqZq6oDvxEpmAZ /SarZtll69L87z3CN/WV0G5X3V3yS7HLuJ/4tXQvHkQ14tVgTMhMSVIfo/44YnmJghcB uaEZSU+34TvTqIsa3Qs77BYX+uqN81padw40Ip9qOsimM+tke7NnXBdgTAabaZbcZZ6Q Il9oCA1O7xstqOCh371hnNDz+v9l/DVqL+A4RQPl5F6EpQRGhbLJJ8mBGJ/hOnrIuzJl oU8g== X-Gm-Message-State: ACrzQf3xLWlBDphgfFulFAtLwobLY2pikYDGHqJzpt+cJdW0639U6g0S sflnlldUy/u629AYdEeCm2g= X-Received: by 2002:a05:6402:2681:b0:461:cbda:fe4b with SMTP id w1-20020a056402268100b00461cbdafe4bmr5863506edd.124.1666646665641; Mon, 24 Oct 2022 14:24:25 -0700 (PDT) Received: from localhost.localdomain (ip-217-105-46-178.ip.prioritytelecom.net. [217.105.46.178]) by smtp.gmail.com with ESMTPSA id r1-20020a1709061ba100b007a9c3831409sm379354ejg.137.2022.10.24.14.24.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Oct 2022 14:24:25 -0700 (PDT) From: Nam Cao To: Larry Finger , Florian Schilhabel , Greg Kroah-Hartman Cc: namcaov@gmail.com, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 2/4] staging: rtl8712: check for alloc fail in _r8712_init_recv_priv() Date: Mon, 24 Oct 2022 23:24:07 +0200 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747612565511724773?= X-GMAIL-MSGID: =?utf-8?q?1747612565511724773?= The function _r8712_init_recv_priv() and also r8712_init_recv_priv() just returns silently if they fail to allocate memory. Change their return type to int and add necessary checks and handling if they return -ENOMEM Signed-off-by: Nam Cao --- drivers/staging/rtl8712/os_intfs.c | 3 ++- drivers/staging/rtl8712/recv_osdep.h | 8 ++++---- drivers/staging/rtl8712/rtl8712_recv.c | 7 ++++--- drivers/staging/rtl8712/rtl871x_recv.c | 13 +++++++++---- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c index 003e97205124..47d7d998fa86 100644 --- a/drivers/staging/rtl8712/os_intfs.c +++ b/drivers/staging/rtl8712/os_intfs.c @@ -309,7 +309,8 @@ int r8712_init_drv_sw(struct _adapter *padapter) if (ret) return ret; _r8712_init_xmit_priv(&padapter->xmitpriv, padapter); - _r8712_init_recv_priv(&padapter->recvpriv, padapter); + ret = _r8712_init_recv_priv(&padapter->recvpriv, padapter); + return ret; memset((unsigned char *)&padapter->securitypriv, 0, sizeof(struct security_priv)); timer_setup(&padapter->securitypriv.tkip_timer, diff --git a/drivers/staging/rtl8712/recv_osdep.h b/drivers/staging/rtl8712/recv_osdep.h index d8c1fa74f544..fbe3f2868506 100644 --- a/drivers/staging/rtl8712/recv_osdep.h +++ b/drivers/staging/rtl8712/recv_osdep.h @@ -18,15 +18,15 @@ #include "drv_types.h" #include -void _r8712_init_recv_priv(struct recv_priv *precvpriv, - struct _adapter *padapter); +int _r8712_init_recv_priv(struct recv_priv *precvpriv, + struct _adapter *padapter); void _r8712_free_recv_priv(struct recv_priv *precvpriv); void r8712_recv_entry(union recv_frame *precv_frame); void r8712_recv_indicatepkt(struct _adapter *adapter, union recv_frame *precv_frame); void r8712_handle_tkip_mic_err(struct _adapter *padapter, u8 bgroup); -void r8712_init_recv_priv(struct recv_priv *precvpriv, - struct _adapter *padapter); +int r8712_init_recv_priv(struct recv_priv *precvpriv, + struct _adapter *padapter); void r8712_free_recv_priv(struct recv_priv *precvpriv); void r8712_os_recv_resource_alloc(struct _adapter *padapter, union recv_frame *precvframe); diff --git a/drivers/staging/rtl8712/rtl8712_recv.c b/drivers/staging/rtl8712/rtl8712_recv.c index 7f1fdd058551..7da014ab0723 100644 --- a/drivers/staging/rtl8712/rtl8712_recv.c +++ b/drivers/staging/rtl8712/rtl8712_recv.c @@ -30,8 +30,8 @@ static void recv_tasklet(struct tasklet_struct *t); -void r8712_init_recv_priv(struct recv_priv *precvpriv, - struct _adapter *padapter) +int r8712_init_recv_priv(struct recv_priv *precvpriv, + struct _adapter *padapter) { int i; struct recv_buf *precvbuf; @@ -44,7 +44,7 @@ void r8712_init_recv_priv(struct recv_priv *precvpriv, precvpriv->pallocated_recv_buf = kzalloc(NR_RECVBUFF * sizeof(struct recv_buf) + 4, GFP_ATOMIC); if (!precvpriv->pallocated_recv_buf) - return; + return -ENOMEM; precvpriv->precv_buf = precvpriv->pallocated_recv_buf + 4 - ((addr_t)(precvpriv->pallocated_recv_buf) & 3); precvbuf = (struct recv_buf *)precvpriv->precv_buf; @@ -75,6 +75,7 @@ void r8712_init_recv_priv(struct recv_priv *precvpriv, } pskb = NULL; } + return 0; } void r8712_free_recv_priv(struct recv_priv *precvpriv) diff --git a/drivers/staging/rtl8712/rtl871x_recv.c b/drivers/staging/rtl8712/rtl871x_recv.c index 4db7eed64a03..8a3566214af7 100644 --- a/drivers/staging/rtl8712/rtl871x_recv.c +++ b/drivers/staging/rtl8712/rtl871x_recv.c @@ -42,9 +42,10 @@ void _r8712_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv) _init_queue(&psta_recvpriv->defrag_q); } -void _r8712_init_recv_priv(struct recv_priv *precvpriv, - struct _adapter *padapter) +int _r8712_init_recv_priv(struct recv_priv *precvpriv, + struct _adapter *padapter) { + int ret; sint i; union recv_frame *precvframe; @@ -58,7 +59,7 @@ void _r8712_init_recv_priv(struct recv_priv *precvpriv, sizeof(union recv_frame) + RXFRAME_ALIGN_SZ, GFP_ATOMIC); if (!precvpriv->pallocated_frame_buf) - return; + return -ENOMEM; precvpriv->precv_frame_buf = precvpriv->pallocated_frame_buf + RXFRAME_ALIGN_SZ - ((addr_t)(precvpriv->pallocated_frame_buf) & @@ -73,7 +74,11 @@ void _r8712_init_recv_priv(struct recv_priv *precvpriv, precvframe++; } precvpriv->rx_pending_cnt = 1; - r8712_init_recv_priv(precvpriv, padapter); + ret = r8712_init_recv_priv(precvpriv, padapter); + if (ret) + kfree(precvpriv->pallocated_frame_buf); + + return ret; } void _r8712_free_recv_priv(struct recv_priv *precvpriv) From patchwork Mon Oct 24 21:24:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nam Cao X-Patchwork-Id: 10392 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp697725wru; Mon, 24 Oct 2022 16:14:46 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7hl3EdeLBq9ixp+X81zCp/Hd+sPR216klelghJDI/BOZchrd/HITdA//QLhTNJ08CeM65I X-Received: by 2002:a05:6402:847:b0:453:943b:bf4 with SMTP id b7-20020a056402084700b00453943b0bf4mr32019848edz.301.1666653286018; Mon, 24 Oct 2022 16:14:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666653286; cv=none; d=google.com; s=arc-20160816; b=vPuieLNMtc8O5TmZ3LS63/gt9A+FxtjD2S3obahRIGCRPH78YQ6czCdXKYAfG1TM3V EMyAaoKY1k0yceVwdzXFCmYsvhkPC9y022SKypdbVFdD7TsLc6BSPdjn785IPzmYh2gu bJFbRk2vmFhercy+8LDndkp0uMkQOsu413GWlXZnEzckvkDNr7tcwuCE+vhiekCUZHYK WoCb3/QyUQLAsPsZ2evO0MgeueGgTw/UHBI04UsvRq7hO5l3Iwoa5JmHvtDNa/qh3mg1 enBXeFF9W9UD1QSS2n/A8Gtowml9tmzJEm3tO58xA7f2Nt0ljuU4bAaRjixmKwteFHhQ X/Kg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=O4TfgwncnU/HwDrEet2mPSVCmyGRLpO7aAKR17oXTOM=; b=yiUe+6iyebPUqBOhRw6W39QbuEH1SrAPBv2WDwBM6V2P17Wl/33EEWMjCMk3Vb6VTM yOxARWPBx8VIqQJFMVK+M4JreoW9jDArGrUgiF14EWIGTEDy80qQXOCZDi622BzxJKSC njLmGElcGvprh/2V+9Pzr7FGngqn3Oyczn2bEGXXvDy2/QpGE5Tfzm9asGOF3dCCngXv AQdTjLgkTzKHRnAQCPvFbvXg9elOSfuyyYvDqpMNNuokz3urcFFS9+SqwUHJMhaqYXl+ B8sM2kh1pHo4R10Gan6gFKOdPAuipEV1+NtSl2R4plO11bf1zjaxioWYfcZtraky9Xhs 8seA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ZvCH3I05; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dr21-20020a170907721500b0072fc714c92fsi1064571ejc.902.2022.10.24.16.14.19; Mon, 24 Oct 2022 16:14:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ZvCH3I05; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230204AbiJXXEg (ORCPT + 99 others); Mon, 24 Oct 2022 19:04:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57236 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230310AbiJXXDd (ORCPT ); Mon, 24 Oct 2022 19:03:33 -0400 Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 78B9632BB27 for ; Mon, 24 Oct 2022 14:24:32 -0700 (PDT) Received: by mail-ed1-x52a.google.com with SMTP id z97so33527734ede.8 for ; Mon, 24 Oct 2022 14:24:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=O4TfgwncnU/HwDrEet2mPSVCmyGRLpO7aAKR17oXTOM=; b=ZvCH3I055bsQxyZ2EFbe/WK0etuo4Ftc4KWHjKWllkkcQHDdtU9Wih+G9leYJphdlX Eqo72/eHiCAO9cKSri1OYJOUn7RxXYE8rqflcXWY5suZSedpJykeoNPQImJy9RNN7zF5 jG0e+X9NHnXcyOZuXz0CMwmvzUSkQ7qWuAbk4bEIGCZk6nUsh4RJKCXjAY55hGqmPAib jc36hCrwkdajUgB6zbzmUgw728cGkuBMXe91Kurk5XmL5KvB5cGJ6jBlQJvp4RQVmVRC k5kucKtxMeIEd6E5Rc6hb/Y7ZV0/gatFY7c8jwDT+tg6kQalpdC6nsclVEeaxYVnOYKm vJIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=O4TfgwncnU/HwDrEet2mPSVCmyGRLpO7aAKR17oXTOM=; b=599izUmLkPR8Y2iWu7QYvxbe9hMRYFL5/CaA/loS3DGNrhZ1qvxPrr54a1pSW79bsS +PbphnSJEF/G/QeLQlP0LrnTGwuO+odXdsfH4UNs7EFhUN6YrauN7XT389k2yGMc5Buw DNmvpBk57treA/LUMfRvxfeoUV5/+xhLOvRvnNZK4DY6mSnDr9/XpYdRb+avXyU0CzSs UnqB8RVNVBJY3gnS16vi+dPOfqsFfioGs9imUb6tsEpNZJL97Q7fgZwQtIgEQedde58V vdInUcVePiybOtCOCYDHaX6jCeiAS4ZKlhZrzfOLs90NO8cpqJICElyLG9Hnl287uJJO 9rTQ== X-Gm-Message-State: ACrzQf3qz450WMlRe5Ni8ssHp4WqlNWUPbzkKOPLzIHf6bAZ4l0nbj1/ sSrUu9IYCD1bHyqp3K2UTvU= X-Received: by 2002:a05:6402:40c7:b0:461:ecdb:1c41 with SMTP id z7-20020a05640240c700b00461ecdb1c41mr3511218edb.288.1666646666234; Mon, 24 Oct 2022 14:24:26 -0700 (PDT) Received: from localhost.localdomain (ip-217-105-46-178.ip.prioritytelecom.net. [217.105.46.178]) by smtp.gmail.com with ESMTPSA id r1-20020a1709061ba100b007a9c3831409sm379354ejg.137.2022.10.24.14.24.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Oct 2022 14:24:25 -0700 (PDT) From: Nam Cao To: Larry Finger , Florian Schilhabel , Greg Kroah-Hartman Cc: namcaov@gmail.com, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 3/4] staging: rtl8712: check for return value of _r8712_init_xmit_priv() Date: Mon, 24 Oct 2022 23:24:08 +0200 Message-Id: <9314f33cc91f69d7d5c79912fe55136faca7927f.1666645510.git.namcaov@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747612635907289389?= X-GMAIL-MSGID: =?utf-8?q?1747612635907289389?= The return value of _r8712_init_xmit_priv() is never checked and the driver always continue execution as if all is well. This will cause problems if, for example, buffers cannot be allocated and the driver continue and use those buffers. Check for return value of _r8712_init_xmit_priv() and return error (if any) during probing. Signed-off-by: Nam Cao --- drivers/staging/rtl8712/os_intfs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c index 47d7d998fa86..ade57dd89eee 100644 --- a/drivers/staging/rtl8712/os_intfs.c +++ b/drivers/staging/rtl8712/os_intfs.c @@ -308,7 +308,9 @@ int r8712_init_drv_sw(struct _adapter *padapter) ret = r8712_init_mlme_priv(padapter); if (ret) return ret; - _r8712_init_xmit_priv(&padapter->xmitpriv, padapter); + ret = _r8712_init_xmit_priv(&padapter->xmitpriv, padapter); + if (ret) + return ret; ret = _r8712_init_recv_priv(&padapter->recvpriv, padapter); return ret; memset((unsigned char *)&padapter->securitypriv, 0, From patchwork Mon Oct 24 21:24:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nam Cao X-Patchwork-Id: 10391 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp697584wru; Mon, 24 Oct 2022 16:14:13 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7mb53NWC9TV+wJUe8t9mwgiUPviwMOvUrzO48+Hu84arbKAU2rr3PM9CZIyYtPzDJIkrEU X-Received: by 2002:a17:906:6a18:b0:78d:7228:7a52 with SMTP id qw24-20020a1709066a1800b0078d72287a52mr29213306ejc.363.1666653253697; Mon, 24 Oct 2022 16:14:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666653253; cv=none; d=google.com; s=arc-20160816; b=Jdnsy5oERJSBpzy6h0BLCvjibdnh8oTheQ/sKhTtuzavXs7w0ZhqLFldGLPCdma33j Q37ScnMa/ZkmFl6eyDEZ3OHuHn35q2WA9kV9HyMBajwkXhtoD4j5nSLYc24QmWHGVY4K ZRRj8SG6n18xp/RvPINC1uM9OJ2q+z+jsic2co515wZjM8mHrsoWjpn9SQxnRhU6Nuug Al6AIbxyTLWsBYfi/ncd6tFD0POpm1hRdNzEwVdQxccvoNwE5j5WRZ8idloAnHrXqJg0 qpdsLYVgnWDQB+kzICfe5NIKyMtuRrmwt0pVUUaevGOeygkKxai5nZkr4EzEAcTv/zQh F+Vg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=ZnIGn/8lQxIvkBxIYAS0VX64KIDCnkMm+kr3eEDYl88=; b=CL0z0EeDRof/NcMgnHFLlRwApArqzLu/Qo9W56UxYZkCPO125EWjoALHcX9Q/TV4ds xH3MpJYgOYN7ovtoCXCJU9gY/Dpxu1RdRFFR8EAgc2ROJFvMgym4QPRbuu0gIiYP4JNW 8EDlN3kT71maJoMAwBesB0zQEp611nrFEjfUoglg+tVY2TpDutaLOaFXfJbQdn8KMR56 yCAxoME9oxjSMHSncZfLIavb7BX1Zu6WuIH8G21/yLywjZxo8y84AhtPl/MxTLVCDQUk iVAtQESfcNuOt7FvyQcwvSpBaGMo3vTTTCOx5FmOk1+MmSLaap198UIkMoh8YCpZEkTY jy5w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=XIP4bEFI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y15-20020a170906470f00b0078b85fdf4e4si925632ejq.532.2022.10.24.16.13.49; Mon, 24 Oct 2022 16:14:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=XIP4bEFI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230226AbiJXXE2 (ORCPT + 99 others); Mon, 24 Oct 2022 19:04:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54644 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230384AbiJXXDh (ORCPT ); Mon, 24 Oct 2022 19:03:37 -0400 Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 93FBC32BB2D for ; Mon, 24 Oct 2022 14:24:32 -0700 (PDT) Received: by mail-ej1-x62d.google.com with SMTP id fy4so7995371ejc.5 for ; Mon, 24 Oct 2022 14:24:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZnIGn/8lQxIvkBxIYAS0VX64KIDCnkMm+kr3eEDYl88=; b=XIP4bEFIcdIw/T9jh4VAzKatrQJkOlQZmO7SqvJALwsEKkkJYu8vPujUgOwlI8cLot F20Fp89nNXajchE43quObfLKMOnQgDQBC0Tn3nBTJ5Ex9cAN+zbOR30X9n42DcyYOyQB G97s31gHJPtUnkFRmIjo06ukG++F4eHcJOxj3jPX7u4NKtVfGpxk5PBvMRvFkAeKI86t 8URuIMqoVKs7vr5qg4W+0yWE1aTn2nu74wsZYjAyZbVkWVJhqlsKtVZ/IDxCmQiA80HM WuWcrzYlFmozzQRs8+MnWdWkfiUJesTAYwzTxfFA2U1/g0STRvhu8xe97VMEmYgt1UpN ZDFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZnIGn/8lQxIvkBxIYAS0VX64KIDCnkMm+kr3eEDYl88=; b=O7RZ1dJAODBgUrZnaqa+oaeM+zx4FQfrvTKBjGTgId+pfC3gpaNvM8YSjl1rykbIwu 0hBkX2O5icfXo/rhSmv6DrGZIKPiht0SYy5D2x26qVkMFt+g0kKETE5vaeM/EPx670sk P7vgkw9riFBk13CvM8LWxlwLkMUPB5ZhDCutQ/qPVKWYO4Y872TqPBdhD3Jq2Hg0/0lN iecRAXpqa/Q0Mnl3lHonUWbWUBU68u+tpSqDpgKvoBEXTbSWol9FuLb/p9zCUeTQPW7m FElGhcmzmJYlf9DMRkI/7fAGJAV0im6CHjM4FoJXEqnjxRv3cSRjX9UVuMLXvmeL/pNp x3cg== X-Gm-Message-State: ACrzQf3nDBOHAgc52sCaaSH0xpM9evv1jwRQIrsdhejZkibVwlSDmsjp XDf7hAaejhqKweslEaae96c= X-Received: by 2002:a17:906:9b93:b0:78d:eb36:1ce7 with SMTP id dd19-20020a1709069b9300b0078deb361ce7mr29772911ejc.621.1666646667267; Mon, 24 Oct 2022 14:24:27 -0700 (PDT) Received: from localhost.localdomain (ip-217-105-46-178.ip.prioritytelecom.net. [217.105.46.178]) by smtp.gmail.com with ESMTPSA id r1-20020a1709061ba100b007a9c3831409sm379354ejg.137.2022.10.24.14.24.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Oct 2022 14:24:26 -0700 (PDT) From: Nam Cao To: Larry Finger , Florian Schilhabel , Greg Kroah-Hartman Cc: namcaov@gmail.com, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 4/4] staging: rtl8712: fix potential memory leak Date: Mon, 24 Oct 2022 23:24:09 +0200 Message-Id: <43674a56b0734618291dccee5bbeb756d940f55b.1666645510.git.namcaov@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747612602530292845?= X-GMAIL-MSGID: =?utf-8?q?1747612602530292845?= In r8712_init_drv_sw(), whenever any function call returns error, it is returned immediately without properly cleaning up the other successfully executed functions. This can cause memory leak. Instead of return immediately, free all the allocated buffers first. Signed-off-by: Nam Cao --- drivers/staging/rtl8712/os_intfs.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c index ade57dd89eee..a2f3645be0cc 100644 --- a/drivers/staging/rtl8712/os_intfs.c +++ b/drivers/staging/rtl8712/os_intfs.c @@ -304,28 +304,42 @@ int r8712_init_drv_sw(struct _adapter *padapter) padapter->cmdpriv.padapter = padapter; ret = r8712_init_evt_priv(&padapter->evtpriv); if (ret) - return ret; + goto free_cmd; ret = r8712_init_mlme_priv(padapter); if (ret) - return ret; + goto free_evt; ret = _r8712_init_xmit_priv(&padapter->xmitpriv, padapter); if (ret) - return ret; + goto free_mlme; ret = _r8712_init_recv_priv(&padapter->recvpriv, padapter); - return ret; + if (ret) + goto free_xmit; memset((unsigned char *)&padapter->securitypriv, 0, sizeof(struct security_priv)); timer_setup(&padapter->securitypriv.tkip_timer, r8712_use_tkipkey_handler, 0); ret = _r8712_init_sta_priv(&padapter->stapriv); if (ret) - return ret; + goto free_recv; padapter->stapriv.padapter = padapter; r8712_init_bcmc_stainfo(padapter); r8712_init_pwrctrl_priv(padapter); mp871xinit(padapter); init_default_value(padapter); r8712_InitSwLeds(padapter); + + return 0; + +free_recv: + _r8712_free_recv_priv(&padapter->recvpriv); +free_xmit: + _free_xmit_priv(&padapter->xmitpriv); +free_mlme: + r8712_free_mlme_priv(&padapter->mlmepriv); +free_evt: + r8712_free_evt_priv(&padapter->evtpriv); +free_cmd: + r8712_free_cmd_priv(&padapter->cmdpriv); return ret; }