From nobody Sun Dec 01 04:57:11 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y1F5M3b7sz5gCjf; Sun, 01 Dec 2024 04:57:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y1F5M1Vv5z49LL; Sun, 1 Dec 2024 04:57:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733029031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=auwXXZn25af32IpCHiarsHwwO3Dw6DOZC1GL4w6OAv8=; b=duTBYzlv8ugQ0cYo1JtaxZePHnGJUY3Qd2MRsxhBM88dQPApoh3rb0/cQ/7Dal5SyqKofc OLSG8cLaznVFA5VyGfJLLVTx2gpAasYx0RPS8AkxZlccvckQ5lE10/juv4CrnMiRJrz4Zt 6RwqbOMJLOSoUAmXdHCjernsXIf+VH0yRYnFtejyX9MSYUcFe0Z6j0zmuGrm2X6QWYw9tY wy+yzAbMtqzZu66jidD2nYjGRgzwtwFnxFbVY+Pah7mj1KCOWbxYsaZRUe1gz4+yt62wxj LF1n6ecdLhkyKcWU/zYot1L3A3Wi/X6F0yzKYsGO6Csrw/HPoAro2AqVMjKZyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733029031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=auwXXZn25af32IpCHiarsHwwO3Dw6DOZC1GL4w6OAv8=; b=hZ54PiwBnvVZaC29Okdt5YzpRl6b6NE/j1WZTf6SM1XxWIrlvpWtteKVxzDTghUtNKIiEi wlAvRWr1xayE6ScCsADtDSQHVC3NMd/KLUj6DzZg9c0+KIUGeeL61xCborBYvJ+WhTElvX 7Lfb8qBPPsC/5m27IzjiCeAz13ws6Bxv0fIBaUN0cBEmOa9NFi59SJK49fp2aznghkUHnN N5WISTUL17cwYNZtSzVhyjBFtK2AHX/Xpn0TdyOtUy8pygabP45meviyFkISPg5dFLl4+Q XO0NREsU19wbdZrsX+ar/9cONPGo7fLpI7hHAWHPpDG7UN+OQHaJ3U/NuUTMrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733029031; a=rsa-sha256; cv=none; b=b7kcxKr6SS0p8fTQ4sXeWlqKdGsqxH6JKXIe59ssUIJM5daO3vYfPcPvXAdtHiI9xWlyLo Rox6d096kWkOJsXH/M1HDSVkDMOr+dz+Kj7swNeUdba+UuvZIWn6nTLQxipVaL5tnezLQv GIAm5+KDWXMAMmiDNJLs4TGIdpgjH7QWuQej/CbysQr+rvr0ilSG0XstTvKw58BaaBoFIl wUZk9tQE3bH41C+rGEQ/a4R4CFv9jA06sjyJdeSoKsQLTHwr3ME7J2BFQvpawwGU65bUwu sNdWGOCn5/q9Zl6ePmnSczBfSKrN2BK5KNTUZAUyjigDbaE4wOnGEfvc28ZJDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y1F5M15r1zfJ5; Sun, 1 Dec 2024 04:57:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B14vB32095187; Sun, 1 Dec 2024 04:57:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B14vB6a095184; Sun, 1 Dec 2024 04:57:11 GMT (envelope-from git) Date: Sun, 1 Dec 2024 04:57:11 GMT Message-Id: <202412010457.4B14vB6a095184@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 8f1c955292f6 - stable/14 - msk/sk: Use a bus_child_deleted method to free ivars for children List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8f1c955292f617699c6daa859b8fa4815226f357 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8f1c955292f617699c6daa859b8fa4815226f357 commit 8f1c955292f617699c6daa859b8fa4815226f357 Author: John Baldwin AuthorDate: 2024-11-01 14:09:01 +0000 Commit: John Baldwin CommitDate: 2024-12-01 02:46:06 +0000 msk/sk: Use a bus_child_deleted method to free ivars for children Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47365 (cherry picked from commit 2ff5c85027356038969d03c2beb55b98db389b41) --- sys/dev/msk/if_msk.c | 12 ++++++++---- sys/dev/sk/if_sk.c | 10 ++++++++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/sys/dev/msk/if_msk.c b/sys/dev/msk/if_msk.c index ff9fdb96b745..9105dc08d320 100644 --- a/sys/dev/msk/if_msk.c +++ b/sys/dev/msk/if_msk.c @@ -253,6 +253,7 @@ static const char *model_name[] = { static int mskc_probe(device_t); static int mskc_attach(device_t); +static void mskc_child_deleted(device_t, device_t); static int mskc_detach(device_t); static int mskc_shutdown(device_t); static int mskc_setup_rambuffer(struct msk_softc *); @@ -336,6 +337,7 @@ static device_method_t mskc_methods[] = { DEVMETHOD(device_resume, mskc_resume), DEVMETHOD(device_shutdown, mskc_shutdown), + DEVMETHOD(bus_child_deleted, mskc_child_deleted), DEVMETHOD(bus_get_dma_tag, mskc_get_dma_tag), DEVMETHOD_END @@ -2047,6 +2049,12 @@ msk_detach(device_t dev) return (0); } +static void +mskc_child_deleted(device_t dev, device_t child) +{ + free(device_get_ivars(child), M_DEVBUF); +} + static int mskc_detach(device_t dev) { @@ -2057,13 +2065,9 @@ mskc_detach(device_t dev) if (device_is_alive(dev)) { if (sc->msk_devs[MSK_PORT_A] != NULL) { - free(device_get_ivars(sc->msk_devs[MSK_PORT_A]), - M_DEVBUF); device_delete_child(dev, sc->msk_devs[MSK_PORT_A]); } if (sc->msk_devs[MSK_PORT_B] != NULL) { - free(device_get_ivars(sc->msk_devs[MSK_PORT_B]), - M_DEVBUF); device_delete_child(dev, sc->msk_devs[MSK_PORT_B]); } bus_generic_detach(dev); diff --git a/sys/dev/sk/if_sk.c b/sys/dev/sk/if_sk.c index db5588047385..789a5911ea2a 100644 --- a/sys/dev/sk/if_sk.c +++ b/sys/dev/sk/if_sk.c @@ -185,6 +185,7 @@ static const struct sk_type sk_devs[] = { static int skc_probe(device_t); static int skc_attach(device_t); +static void skc_child_deleted(device_t, device_t); static int skc_detach(device_t); static int skc_shutdown(device_t); static int skc_suspend(device_t); @@ -291,6 +292,7 @@ static device_method_t skc_methods[] = { DEVMETHOD(device_resume, skc_resume), DEVMETHOD(device_shutdown, skc_shutdown), + DEVMETHOD(bus_child_deleted, skc_child_deleted), DEVMETHOD(bus_get_dma_tag, skc_get_dma_tag), DEVMETHOD_END @@ -1738,6 +1740,12 @@ fail: return(error); } +static void +skc_child_deleted(device_t dev, device_t child) +{ + free(device_get_ivars(child), M_DEVBUF); +} + /* * Shutdown hardware and free up resources. This can be called any * time after the mutex has been initialized. It is called in both @@ -1796,11 +1804,9 @@ skc_detach(device_t dev) if (device_is_alive(dev)) { if (sc->sk_devs[SK_PORT_A] != NULL) { - free(device_get_ivars(sc->sk_devs[SK_PORT_A]), M_DEVBUF); device_delete_child(dev, sc->sk_devs[SK_PORT_A]); } if (sc->sk_devs[SK_PORT_B] != NULL) { - free(device_get_ivars(sc->sk_devs[SK_PORT_B]), M_DEVBUF); device_delete_child(dev, sc->sk_devs[SK_PORT_B]); } bus_generic_detach(dev);