From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753267AbbIQA32 (ORCPT ); Wed, 16 Sep 2015 20:29:28 -0400 Received: from comal.ext.ti.com ([198.47.26.152]:42310 "EHLO comal.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752498AbbIQA3Z (ORCPT ); Wed, 16 Sep 2015 20:29:25 -0400 From: Suman Anna To: Ohad Ben-Cohen , "Michael S. Tsirkin" CC: , , Suman Anna Subject: [PATCH 1/2] virtio: fix memory leak of virtio ida cache layers Date: Wed, 16 Sep 2015 19:29:17 -0500 Message-ID: <1442449758-14594-2-git-send-email-s-anna@ti.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1442449758-14594-1-git-send-email-s-anna@ti.com> References: <1442449758-14594-1-git-send-email-s-anna@ti.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The virtio core uses a static ida named virtio_index_ida for assigning index numbers to virtio devices during registration. The ida core may allocate some internal idr cache layers and an ida bitmap upon any ida allocation, and all these layers are truely freed only upon the ida destruction. The virtio_index_ida is not destroyed at present, leading to a memory leak when using the virtio core as a module and atleast one virtio device is registered and unregistered. Fix this by invoking ida_destroy() in the virtio core module exit. Cc: "Michael S. Tsirkin" Signed-off-by: Suman Anna --- drivers/virtio/virtio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c index b1877d73fa56..7062bb0975a5 100644 --- a/drivers/virtio/virtio.c +++ b/drivers/virtio/virtio.c @@ -412,6 +412,7 @@ static int virtio_init(void) static void __exit virtio_exit(void) { bus_unregister(&virtio_bus); + ida_destroy(&virtio_index_ida); } core_initcall(virtio_init); module_exit(virtio_exit); -- 2.5.0