lkml.org 
[lkml]   [2016]   [Jan]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.13.y-ckt 040/108] virtio: fix memory leak of virtio ida cache layers
    Date
    3.13.11-ckt33 -stable review patch.  If anyone has any objections, please let me know.

    ---8<------------------------------------------------------------

    From: Suman Anna <s-anna@ti.com>

    commit c13f99b7e945dad5273a8b7ee230f4d1f22d3354 upstream.

    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.

    Signed-off-by: Suman Anna <s-anna@ti.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/virtio/virtio.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
    index fed0ce1..64eba4f 100644
    --- a/drivers/virtio/virtio.c
    +++ b/drivers/virtio/virtio.c
    @@ -249,6 +249,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);
    --
    1.9.1
    \
     
     \ /
      Last update: 2016-01-23 01:41    [W:4.252 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site