From patchwork Fri Jun 2 10:07:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Granados X-Patchwork-Id: 102432 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp920963vqr; Fri, 2 Jun 2023 03:20:02 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6bW2QFS8jqxtzlwOnxIv0FqPI/M7dZ9R9fk7WF2shQVwK76Awyfufms4DfJxrh5AClJBAh X-Received: by 2002:a17:902:aa94:b0:1b0:499f:7a8d with SMTP id d20-20020a170902aa9400b001b0499f7a8dmr1146691plr.9.1685701201833; Fri, 02 Jun 2023 03:20:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685701201; cv=none; d=google.com; s=arc-20160816; b=O7vvQC9NWAsr30OnPdUD4H04hrCW69iBrSZ0MI6iCPAsFTQnAqKsNrthDEhWXk74UW n8rkZukAyzgaaPaDqLwQ2rEXaxs0+lpTdxZPit8KTkzgEZaW8vFoeXgM4gcEVqs58wpa uuhduTQ8RChrjd2hRPBDsErbbO95iuL5IJGpxa5vdaEeDWaChAl9uTnzGXAsjyXbtntY Lk47/UHLMYYrJL1+bg6DtW3bbZo+yl2iuwk7R+7EdrMGnWPglYZTLDLIWj81r0kuszrb IKMFdqjfYIdxdxCsoJeOW4fXIT3UQcDYQzVeZjQfEYZud2VIItHiAD5O8VXyWlNG3fwL Ryog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:cms-type:content-transfer-encoding :mime-version:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=dg1KPdqa1g30CQqgCK1VP5CwiQO47gFwHbWyH2hvLF4=; b=CH8xks+5hVc1CSHrflBE2XPWA7DnXeUZz38yrYwKNhv/1a7zmzN72EwldNtZaAVl+6 ZgaXfil0tfPUIrGXrBo1iCsTyBoWHGmj1QEeE6myQLnxUzDlX+i7P2TwfX4Zs/WCcA4U FyZR/e2VAmnZKmBSrecXJrwtgs++mgYakUt0CG31WaFbhDJkxFkCS23YtE+BZqYI/bkb V9gYS3gnnnLsiLMImQi4TOCpGS75+eyG16+j4yzKOSpG05f79q0IfC7KN+5ya4kKy2iR 9+Ou923jH2eN6A3UWIhY6ZF2jNgsEDAe/qqKbnHXc8FPkyo3uR9oVmaJqpDT/e6kGV0Z fvBQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=oD7Iiq6T; 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=samsung.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b2-20020a170902d50200b001b07c3c31f1si714497plg.267.2023.06.02.03.19.49; Fri, 02 Jun 2023 03:20:01 -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=@samsung.com header.s=mail20170921 header.b=oD7Iiq6T; 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=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235237AbjFBKIe (ORCPT + 99 others); Fri, 2 Jun 2023 06:08:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36430 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234755AbjFBKIT (ORCPT ); Fri, 2 Jun 2023 06:08:19 -0400 Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4F004E7 for ; Fri, 2 Jun 2023 03:08:16 -0700 (PDT) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20230602100815euoutp01ede18bee1a9efbd7db3af1f0dc2a3034~kz6tM3Jf40566005660euoutp01D for ; Fri, 2 Jun 2023 10:08:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20230602100815euoutp01ede18bee1a9efbd7db3af1f0dc2a3034~kz6tM3Jf40566005660euoutp01D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1685700495; bh=dg1KPdqa1g30CQqgCK1VP5CwiQO47gFwHbWyH2hvLF4=; h=From:To:CC:Subject:Date:In-Reply-To:References:From; b=oD7Iiq6TlKgPG5zILVOnrh701Qbaxr/VdenbG24kf6qAUKZx8YNgOc2szMKc5qwNk y9Dcks/iLrvnNTkjEHFpqIs4pkaKUv7G93ZanITCD/mMXDOzjpRdKrdXdM5gtPWKfW VhAg98YLXbdXjiF+xb16+FyzXpBTL3cw++VgsCVw= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20230602100811eucas1p2615b62a4c0f1f1eb5c92db91a20f5a7b~kz6peCK-51569615696eucas1p2v; Fri, 2 Jun 2023 10:08:11 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id A2.9D.11320.B8FB9746; Fri, 2 Jun 2023 11:08:11 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20230602100810eucas1p12ceafb0c85c74ad2e2e9d96db56786a5~kz6pMSS0V0575805758eucas1p1Q; Fri, 2 Jun 2023 10:08:10 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20230602100810eusmtrp17411fb21898111e0f6efc12dbe8a51a7~kz6pLrVC51803818038eusmtrp1K; Fri, 2 Jun 2023 10:08:10 +0000 (GMT) X-AuditID: cbfec7f4-993ff70000022c38-f8-6479bf8b0910 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id C9.34.14344.A8FB9746; Fri, 2 Jun 2023 11:08:10 +0100 (BST) Received: from CAMSVWEXC02.scsc.local (unknown [106.1.227.72]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20230602100810eusmtip1857d2adad3a20543cd7f090f516540a4~kz6pDIsdH0244502445eusmtip1I; Fri, 2 Jun 2023 10:08:10 +0000 (GMT) Received: from localhost (106.210.248.205) by CAMSVWEXC02.scsc.local (2002:6a01:e348::6a01:e348) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 2 Jun 2023 11:08:10 +0100 From: Joel Granados To: CC: , , , Joel Granados Subject: [PATCH 1/8] parport: plug a sysctl register leak Date: Fri, 2 Jun 2023 12:07:58 +0200 Message-ID: <20230602100805.777917-2-j.granados@samsung.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230602100805.777917-1-j.granados@samsung.com> MIME-Version: 1.0 X-Originating-IP: [106.210.248.205] X-ClientProxiedBy: CAMSVWEXC01.scsc.local (2002:6a01:e347::6a01:e347) To CAMSVWEXC02.scsc.local (2002:6a01:e348::6a01:e348) X-Brightmail-Tracker: H4sIAAAAAAAAA02Se0iTURjGO9/3bX5bTT7n7cXCaiqSplYU2WViFyINuiATjEqnfurIG7uk RkFlaa6s1aTVVLLwxrxQ85KFw7Sa2SJN09aUAtEaZqWpf6goNU+B//3e93mfc97ncGhSOEN5 0bJ0JStPl6aKuHyq2Tz7LuhaW07iprdfuKGtpi4qtO9ZCTdUN/SLG2rVjKJw6qDRUMA9OGX0 Pkoc5+9OZFNlZ1h5SFgcP2WhzcTJrHbPLno2TV5AfS5qxKOB2Qpm+ycnNeLTQqYawZXCfA4u phGMF9yhcDGFwL5QT/y3XCoaX2IhU4XAPBOF+e9Q51MJNjQiaDB9IR0Cl9kI3eNDS+zGeMJr SwNyMMloEOg7aDWiaVdmBxT+2OFoU4wv/KwZ5DhYwOyGadMTCt+7FvI+6pasPEYMlXdHCTzj Al33Rih85FrIbSomMQO02+0k9vqApn6eg/k8vGm0EY49gXlJw0PdVYSF/dA0OszF7ApjnY1O mNeARXudwgYtgrbFCSdc1CCovDjz71l2weUPI/8ce+B7kZVwJAPGGaw/XPBGznC7WUfitgCu 5gk1yFe/LIN+WQb9sgxliDQgT1alSEtmFVvS2axghTRNoUpPDk7ISDOivz/Dstg53YKqxiaD OxBBow4ENClyEwijsxKFgkRpzllWnhErV6Wyig60mqZEnoJAcVeCkEmWKtnTLJvJyv+rBM3z ukAcUM6tz8qUeLdGHbsdq+FIfme+KCwreM/ITio8h7TaEu3nkcVXgqQVEwlfOT0tSq17nvHU 3B5r7b4a2ispeXvqWLyhW6arq912KmK/wSYedmm5WHxkdm7BorJLwmqr20sfOE+1iCYDbEkp P4nnj2729t68H2gqGj406Efbv4XwYrz9vS1BOZFreuoGcpzan9rie9Ru5ZtEde6B4r31/HDz 4OmQnWVj836HjW0SSdCN6g1MWH7nrO8Ncf+tGL6sIlI/mds/X14z5KFVrlJR1l8R24QD4zYm 2+g/MnliZuW58G4ftrHeFi19nO/xW73TXLFQyguMzy1YJ7EY+YY4EaVIkW4OIOUK6R99mhIu iAMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprHIsWRmVeSWpSXmKPExsVy+t/xu7pd+ytTDB7ONLLYs/cki8XlXXPY LKbfec9mcWPCU0YHFo9NqzrZPD5vkgtgitKzKcovLUlVyMgvLrFVija0MNIztLTQMzKx1DM0 No+1MjJV0rezSUnNySxLLdK3S9DL+Lt/L2vBCtGKKbu+MDcwXhbsYuTkkBAwkWia8oapi5GL Q0hgKaNE+6Qt7BAJGYmNX66yQtjCEn+udbFBFH1klFh85TojhLOFUaLr+EVmkCo2AR2J82/u gNkiAuISJ05vZgSxmQUmMErMOsTRxcjBISxgKdH71hIkzCKgIvFu9W2wBbwCNhJf9m5ngVgm L9F2fTpYK6eArcSyGU+ZQGwhoJrzjyYxQ9QLSpyc+YQFYry8RPPW2cwQtoTEwRcvmCHmKEtM WPcb6oFaic9/nzFOYBSZhaR9FpL2WUjaFzAyr2IUSS0tzk3PLTbSK07MLS7NS9dLzs/dxAiM qG3Hfm7Zwbjy1Ue9Q4xMHIyHGCU4mJVEeIXCylOEeFMSK6tSi/Lji0pzUosPMZoC/TmRWUo0 OR8Y03kl8YZmBqaGJmaWBqaWZsZK4ryeBR2JQgLpiSWp2ampBalFMH1MHJxSDUwqMuWKVV6n pfxm5nFd2bWxc7nMo/XWPOteHzv3U+bqtoY1PkbhMtFrXHnPSkn4flwUnvKB56hS/99HTwpy 0xLnZN7ZkvzhletykwaDvFfpOlXK7+tZXjpdT585XdDn3tk4f6EZzzg0zgk1zYl+5aSY/Pap c615tVn23eb/O5l3Rk98tafIQGZDQr3GFYWnJrdsjDlen3a4OSdxkkPV0o2vNb5odfuq62kl HNjMc5/3udkFxup3BwqZkr/cSGndPy3SrfruLj3HgP1alo2uZlNOnvvAvUJp3p8pxxfJC5hI 6XQ/cJe0Msww8LeZ1KA0cU/8rKXLpBuirtjsDC28HVC/cPZk5tttb6fq8z1+6aLEUpyRaKjF XFScCABEFaACMQMAAA== X-CMS-MailID: 20230602100810eucas1p12ceafb0c85c74ad2e2e9d96db56786a5 X-Msg-Generator: CA X-RootMTR: 20230602100810eucas1p12ceafb0c85c74ad2e2e9d96db56786a5 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20230602100810eucas1p12ceafb0c85c74ad2e2e9d96db56786a5 References: <20230602100805.777917-1-j.granados@samsung.com> X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=unavailable 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?1767585822987227383?= X-GMAIL-MSGID: =?utf-8?q?1767585822987227383?= parport registers two sysctl directories in the parport_proc_register function but only one of them was getting unregistered in parport_proc_unregister. Keep track of both sysctl table headers and handle them together when (un)registering. Signed-off-by: Joel Granados --- drivers/parport/procfs.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/drivers/parport/procfs.c b/drivers/parport/procfs.c index cbb1fb5127ce..0f2d2e1ee28e 100644 --- a/drivers/parport/procfs.c +++ b/drivers/parport/procfs.c @@ -257,14 +257,16 @@ PARPORT_MAX_SPINTIME_VALUE; struct parport_sysctl_table { - struct ctl_table_header *sysctl_header; + struct ctl_table_header *port_header; + struct ctl_table_header *devices_header; struct ctl_table vars[12]; struct ctl_table device_dir[2]; }; static const struct parport_sysctl_table parport_sysctl_template = { - .sysctl_header = NULL, - { + .port_header = NULL, + .devices_header = NULL, + { { .procname = "spintime", .data = NULL, @@ -429,7 +431,6 @@ parport_default_sysctl_table = { int parport_proc_register(struct parport *port) { struct parport_sysctl_table *t; - struct ctl_table_header *devices_h; char *tmp_dir_path; size_t tmp_path_len, port_name_len; int bytes_written, i, err = 0; @@ -464,8 +465,8 @@ int parport_proc_register(struct parport *port) err = -ENOENT; goto exit_free_tmp_dir_path; } - devices_h = register_sysctl(tmp_dir_path, t->device_dir); - if (devices_h == NULL) { + t->devices_header = register_sysctl(tmp_dir_path, t->device_dir); + if (t->devices_header == NULL) { err = -ENOENT; goto exit_free_tmp_dir_path; } @@ -478,8 +479,8 @@ int parport_proc_register(struct parport *port) goto unregister_devices_h; } - t->sysctl_header = register_sysctl(tmp_dir_path, t->vars); - if (t->sysctl_header == NULL) { + t->port_header = register_sysctl(tmp_dir_path, t->vars); + if (t->port_header == NULL) { err = -ENOENT; goto unregister_devices_h; } @@ -490,7 +491,7 @@ int parport_proc_register(struct parport *port) return 0; unregister_devices_h: - unregister_sysctl_table(devices_h); + unregister_sysctl_table(t->devices_header); exit_free_tmp_dir_path: kfree(tmp_dir_path); @@ -505,7 +506,8 @@ int parport_proc_unregister(struct parport *port) if (port->sysctl_table) { struct parport_sysctl_table *t = port->sysctl_table; port->sysctl_table = NULL; - unregister_sysctl_table(t->sysctl_header); + unregister_sysctl_table(t->devices_header); + unregister_sysctl_table(t->port_header); kfree(t); } return 0;