Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp10750643rwr; Fri, 12 May 2023 12:24:18 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5RoRh4q4xIpU7BBmc76h3GXP5jNi0JtLvkEVAmWbv2LGFjhDG6AymOsAsD1lRG05ZdXRMA X-Received: by 2002:a17:90a:8283:b0:250:c4c1:882 with SMTP id g3-20020a17090a828300b00250c4c10882mr12689514pjn.30.1683919458362; Fri, 12 May 2023 12:24:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683919458; cv=none; d=google.com; s=arc-20160816; b=INLEF8n633imXlZDcrDOaKCNEOz5JvjugojPjf0ImCdO9z/Zz92VYBnZ3+JOcFAcDZ lypaJ7Ph5m3USiPmeLxY2w0bn2hJthabhpFNzBm1NObCOuRkTegkrsYivoSzwSOBfhmo 9JKVN7epYcCsalkxpHVPyakz8s9bcLO7bHPYAXv+Xr9ybtT7mQ5EBxDwbcMglSu31rkN Pq+PJ0X1mVGMgM9p+YkzMZcw0k/VKAxA0rhDg6DRRl4tAQS6acj8XVlm0he2Vc04hQyf 15rB4rVFedbPttFKpcoH4eTsBWHtbqtxL8CQ2JRSwTvy6zOEcx+lqtrBpwKZzvyAoVsp 7Xxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:ui-outboundreport:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=7TrDa3m7tjfa4HgLLMDPT00oA29VBvrR6GTIJF9iVZg=; b=bs7zfSIK0E4XDEEijZP40/asjlezj+IycCAlxq0gSBoG/SyaDnhvPgkCdlMjMIG/o4 7buBkZIkeH46C7t07h6Jp4zKCMlVaN7fbklQf4wr9XmQ00pVH+96UZAAws2JDPhen/M3 knSLN2lVyFtmWI3PjFPazF2dYtqhQ13vL/riD7982tLMLzmT17XCQJtM3WR9pnPfnZEi cNQZH2AQvxwIOAJ290+RiJwxAzn34anTwjj1hwCt+GSmyqupptiiNlQV+A75TIGgyxxW it+cb9NeslSPeQ5HwgAP43sX96xiDwut+LhDWnWj1f1T0mssa8ECjox6v4bNQnn7yV8G N2Fg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmx.de header.s=s31663417 header.b=KtBsBY+o; 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=NONE dis=NONE) header.from=gmx.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id lt9-20020a17090b354900b0024df993792dsi12640452pjb.80.2023.05.12.12.24.05; Fri, 12 May 2023 12:24:18 -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=@gmx.de header.s=s31663417 header.b=KtBsBY+o; 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=NONE dis=NONE) header.from=gmx.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239014AbjELSpw (ORCPT + 99 others); Fri, 12 May 2023 14:45:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58342 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238273AbjELSpv (ORCPT ); Fri, 12 May 2023 14:45:51 -0400 Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 637821FF6 for ; Fri, 12 May 2023 11:45:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1683917134; i=w_armin@gmx.de; bh=+eTiMBMEYCQmTIVOXXB3t4eOtrkdVUr1eVgLYUzYkj4=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=KtBsBY+orvFPSjbDjFOEFVrtblOjpOIYob9bSUEjVKfcbJ+fCdfPtiGS1H+89TtD4 np1U/Ry9TG+js6EtLB7rOMSMOF193Q6n3p11r/oipazpmLWjxZjpuncYkNDgG+IGqs 9YQ1BZLNfaPs+g6azmvQcWrULX18qntJfzJMh98lI728NMHI0yyBNkfCxq8fzWBc5Q pr/M4fWuDZL9l1p7OiMHBUcvuQHd0oeFU7rdATkQ3gUY016CB2VRktq2G18worKQFk K782cIl8f60+YErr8x4J82k/45gBkDon91BuhPUTXJ1Lho77Xd1cMiVrz9ut6u3Z/+ TBh1WVq3l+Tqw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from esprimo-mx.users.agdsn.de ([141.30.226.129]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MjS9I-1qcgLs376o-00kz94; Fri, 12 May 2023 20:45:34 +0200 From: Armin Wolf To: linux@dominikbrodowski.net Cc: logang@deltatee.com, gregkh@linuxfoundation.org, rafael@kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource_db() Date: Fri, 12 May 2023 20:45:29 +0200 Message-Id: <20230512184529.5094-1-W_Armin@gmx.de> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:bwpWglXSi456kA93f1yP0W0SEIWl5d5lWj4CdveJSIjyvgA6iHQ TGK6apcrUligWDGiJStxzUCTowgmYFdopmT6MzhykyOT8B4aED//I19KUvprja43uRal3+b vNWwfkKWT2ctPA8I5S3Ju7C78cVepS0e8KmYz8t0eI9z82nEqi+jLOS2KHh93zt/T4DYkCE g7d2t3/CfFllc9elR5NYQ== UI-OutboundReport: notjunk:1;M01:P0:FXyfl2Ke9V8=;RjMkDwHamgIoJLMcvzeGhis8UEq KTmBRrj2KZQnHGhf9P6ZZwnmxVk/foKaH8+/3ufxh7VrXwUfS30ORS4sRxGwXeS1IdVsxGuxS I/MAUD1c6Sv0J2vkvp5pQTnxavjje/b+Pa7pHIqmAvxlJnj37d+JD6XkmiTRMNDMfNPUDOqN8 pRcDxKDDt38d2EZYgVLg9+maV5kv9iW7klrHbWZg7bbgMmozFMxtwyYpsweYkbfNgfCrq5Jvs xD87p91YYulVIw0biJ0TgiL2Yg4hvRdbyjW3UkgqdaEFUDV5x5zitO9w/XJ2NAtqF5ABIny23 lUtsFO/DqsQHuadoye1YizfBwjtrjHcMPPNmv29sJBfARs2nbkMPY9lZ7iSIrrl3Qfgzm4kSP LG0skV/McvjB9xW29ZMbSVgst0EBWvqiaT+CkA+u35Sjt01kHtzURVzw66qv2XY+k4XuzaBk7 c/PeVKKtzmnzpEilPRJKS8jEg7ZWvrKnUfy6cTGgqIY0H3mQ9IhlJmL5eHBudQPxdtQFB5MLn Llwsmol3DCV5Lk9w+qy7StfIG7r3Kd88AfJ+u9paJWwgXhgpOjKQR9cWXYmjIW5Q+CDWBbNIA kgdRZmd13imgCMZd87C9eb1szrh3d0PnYJ1UDZOHSNBSGY5bir/unl7bOzXgffgIli3fkH26o fEav834mg+z44IQ7CvyS6ycLTXdH72PKo+GxsDH3CeaT9o0WOtmVph6QsyBz+/PDmUOH8oCsE AZwknpbjAkmaAjMOwuRZLIO8jplJYQZwj31IzJRx8PpeM33G7RzCC73tC4Ni4PtxNcBPGLoOh 87bsqPiSV82bAfswbFdm9Tc2hpvuP6crKmV6hbBmGOjnZnNfZ5uO34AYUgqY7DSKhLY6bN8SR iyKclBHcwTiGaOv2gZYJtwd4uk3NDMnLfx6F6j92O4ytl5fXs4Z9rDXmzxYo1KIsjjEEKVYoZ wZeFRlsUVtn1f22PIltBgw4uOXw= X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 When nonstatic_release_resource_db() frees all resources associated with an PCMCIA socket, it forgets to free socket_data too, causing a memory leak observable with kmemleak: unreferenced object 0xc28d1000 (size 64): comm "systemd-udevd", pid 297, jiffies 4294898478 (age 194.484s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 f0 85 0e c3 00 00 00 00 ................ 00 00 00 00 0c 10 8d c2 00 00 00 00 00 00 00 00 ................ backtrace: [] __kmem_cache_alloc_node+0x2d7/0x4a0 [<7e51f0c8>] kmalloc_trace+0x31/0xa4 [] nonstatic_init+0x24/0x1a4 [pcmcia_rsrc] [] pcmcia_register_socket+0x200/0x35c [pcmcia_core] [] yenta_probe+0x4d8/0xa70 [yenta_socket] [] pci_device_probe+0x99/0x194 [<84b7c690>] really_probe+0x181/0x45c [<8060fe6e>] __driver_probe_device+0x75/0x1f4 [] driver_probe_device+0x28/0xac [<648b766f>] __driver_attach+0xeb/0x1e4 [<6e9659eb>] bus_for_each_dev+0x61/0xb4 [<25a669f3>] driver_attach+0x1e/0x28 [] bus_add_driver+0x102/0x20c [] driver_register+0x5b/0x120 [<942cd8a4>] __pci_register_driver+0x44/0x4c [] __UNIQUE_ID___addressable_cleanup_module188+0x1c/0xfffff0= 00 [iTCO_vendor_support] Fix this by freeing socket_data too. Tested on a Acer Travelmate 4002WLMi by manually binding/unbinding the yenta_cardbus driver (yenta_socket). Signed-off-by: Armin Wolf =2D-- drivers/pcmcia/rsrc_nonstatic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/drivers/pcmcia/rsrc_nonstat= ic.c index 471e0c5815f3..bf9d070a4496 100644 =2D-- a/drivers/pcmcia/rsrc_nonstatic.c +++ b/drivers/pcmcia/rsrc_nonstatic.c @@ -1053,6 +1053,8 @@ static void nonstatic_release_resource_db(struct pcm= cia_socket *s) q =3D p->next; kfree(p); } + + kfree(data); } =2D- 2.30.2