All of lore.kernel.org
 help / color / mirror / Atom feed
* kmemleak warning in efifb_probe
@ 2013-07-21 15:11 ` Alexandra N. Kossovsky
  0 siblings, 0 replies; 14+ messages in thread
From: Alexandra N. Kossovsky @ 2013-07-21 15:11 UTC (permalink / raw)
  To: Peter Jones, Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev, linux-kernel

Hello.

I am running linux-3.10.0 with kmemleak and see following warnings
in /sys/kernel/debug/kmemleak:

unreferenced object 0xffff880216fcfe00 (size 512):
  comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
    55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
  backtrace:
    [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
    [<ffffffff8111c17f>] kmemleak_alloc_recursive.constprop.57+0x16/0x18
    [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
    [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
    [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
    [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
    [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
    [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
    [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
    [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
    [<ffffffff812c3984>] driver_attach+0x19/0x1b
    [<ffffffff812c362b>] bus_add_driver+0xde/0x201
    [<ffffffff812c453f>] driver_register+0x8c/0x110
    [<ffffffff812c510d>] platform_driver_register+0x41/0x43
    [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
    [<ffffffff81aff002>] efifb_init+0x276/0x295
unreferenced object 0xffff880205e90e00 (size 512):
  comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
  hex dump (first 32 bytes):
    00 00 00 00 aa aa aa aa 00 00 00 00 55 55 aa aa  ............UU..
    55 55 55 55 ff ff ff ff 55 55 55 55 ff ff ff ff  UUUU....UUUU....
  backtrace:
    [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
    [<ffffffff8111c17f>] kmemleak_alloc_recursive.constprop.57+0x16/0x18
    [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
    [<ffffffff8123d9ea>] fb_alloc_cmap_gfp+0x62/0xe1
    [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
    [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
    [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
    [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
    [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
    [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
    [<ffffffff812c3984>] driver_attach+0x19/0x1b
    [<ffffffff812c362b>] bus_add_driver+0xde/0x201
    [<ffffffff812c453f>] driver_register+0x8c/0x110
    [<ffffffff812c510d>] platform_driver_register+0x41/0x43
    [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
    [<ffffffff81aff002>] efifb_init+0x276/0x295
unreferenced object 0xffff880205e91e00 (size 512):
  comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
  hex dump (first 32 bytes):
    00 00 aa aa 00 00 aa aa 00 00 aa aa 00 00 aa aa  ................
    55 55 ff ff 55 55 ff ff 55 55 ff ff 55 55 ff ff  UU..UU..UU..UU..
  backtrace:
    [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
    [<ffffffff8111c17f>] kmemleak_alloc_recursive.constprop.57+0x16/0x18
    [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
    [<ffffffff8123d9fe>] fb_alloc_cmap_gfp+0x76/0xe1
    [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
    [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
    [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
    [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
    [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
    [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
    [<ffffffff812c3984>] driver_attach+0x19/0x1b
    [<ffffffff812c362b>] bus_add_driver+0xde/0x201
    [<ffffffff812c453f>] driver_register+0x8c/0x110
    [<ffffffff812c510d>] platform_driver_register+0x41/0x43
    [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
    [<ffffffff81aff002>] efifb_init+0x276/0x295
unreferenced object 0xffff880205e942e0 (size 32):
  comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.344s)
  hex dump (first 32 bytes):
    00 01 10 00 00 00 ad de 00 02 20 00 00 00 ad de  .......... .....
    00 2c e9 05 02 88 ff ff 01 5a 5a 5a 5a 5a 5a a5  .,.......ZZZZZZ.
  backtrace:
    [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
    [<ffffffff8111c17f>] kmemleak_alloc_recursive.constprop.57+0x16/0x18
    [<ffffffff8111e76c>] kmem_cache_alloc_trace+0xe6/0x12e
    [<ffffffff8107bb34>] pm_vt_switch_required+0x54/0x86
    [<ffffffff8123addb>] register_framebuffer+0x1e0/0x294
    [<ffffffff81aff429>] efifb_probe+0x408/0x48f
    [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
    [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
    [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
    [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
    [<ffffffff812c3984>] driver_attach+0x19/0x1b
    [<ffffffff812c362b>] bus_add_driver+0xde/0x201
    [<ffffffff812c453f>] driver_register+0x8c/0x110
    [<ffffffff812c510d>] platform_driver_register+0x41/0x43
    [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
    [<ffffffff81aff002>] efifb_init+0x276/0x295

Feel free to ask for more info about my system;
I can also try a patch.

-- 
Alexandra N. Kossovsky
OKTET Labs (http://www.oktetlabs.ru/)
e-mail: sasha@oktetlabs.ru

^ permalink raw reply	[flat|nested] 14+ messages in thread

* kmemleak warning in efifb_probe
@ 2013-07-21 15:11 ` Alexandra N. Kossovsky
  0 siblings, 0 replies; 14+ messages in thread
From: Alexandra N. Kossovsky @ 2013-07-21 15:11 UTC (permalink / raw)
  To: Peter Jones, Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev, linux-kernel

Hello.

I am running linux-3.10.0 with kmemleak and see following warnings
in /sys/kernel/debug/kmemleak:

unreferenced object 0xffff880216fcfe00 (size 512):
  comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
    55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
  backtrace:
    [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
    [<ffffffff8111c17f>] kmemleak_alloc_recursive.constprop.57+0x16/0x18
    [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
    [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
    [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
    [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
    [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
    [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
    [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
    [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
    [<ffffffff812c3984>] driver_attach+0x19/0x1b
    [<ffffffff812c362b>] bus_add_driver+0xde/0x201
    [<ffffffff812c453f>] driver_register+0x8c/0x110
    [<ffffffff812c510d>] platform_driver_register+0x41/0x43
    [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
    [<ffffffff81aff002>] efifb_init+0x276/0x295
unreferenced object 0xffff880205e90e00 (size 512):
  comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
  hex dump (first 32 bytes):
    00 00 00 00 aa aa aa aa 00 00 00 00 55 55 aa aa  ............UU..
    55 55 55 55 ff ff ff ff 55 55 55 55 ff ff ff ff  UUUU....UUUU....
  backtrace:
    [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
    [<ffffffff8111c17f>] kmemleak_alloc_recursive.constprop.57+0x16/0x18
    [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
    [<ffffffff8123d9ea>] fb_alloc_cmap_gfp+0x62/0xe1
    [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
    [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
    [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
    [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
    [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
    [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
    [<ffffffff812c3984>] driver_attach+0x19/0x1b
    [<ffffffff812c362b>] bus_add_driver+0xde/0x201
    [<ffffffff812c453f>] driver_register+0x8c/0x110
    [<ffffffff812c510d>] platform_driver_register+0x41/0x43
    [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
    [<ffffffff81aff002>] efifb_init+0x276/0x295
unreferenced object 0xffff880205e91e00 (size 512):
  comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
  hex dump (first 32 bytes):
    00 00 aa aa 00 00 aa aa 00 00 aa aa 00 00 aa aa  ................
    55 55 ff ff 55 55 ff ff 55 55 ff ff 55 55 ff ff  UU..UU..UU..UU..
  backtrace:
    [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
    [<ffffffff8111c17f>] kmemleak_alloc_recursive.constprop.57+0x16/0x18
    [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
    [<ffffffff8123d9fe>] fb_alloc_cmap_gfp+0x76/0xe1
    [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
    [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
    [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
    [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
    [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
    [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
    [<ffffffff812c3984>] driver_attach+0x19/0x1b
    [<ffffffff812c362b>] bus_add_driver+0xde/0x201
    [<ffffffff812c453f>] driver_register+0x8c/0x110
    [<ffffffff812c510d>] platform_driver_register+0x41/0x43
    [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
    [<ffffffff81aff002>] efifb_init+0x276/0x295
unreferenced object 0xffff880205e942e0 (size 32):
  comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.344s)
  hex dump (first 32 bytes):
    00 01 10 00 00 00 ad de 00 02 20 00 00 00 ad de  .......... .....
    00 2c e9 05 02 88 ff ff 01 5a 5a 5a 5a 5a 5a a5  .,.......ZZZZZZ.
  backtrace:
    [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
    [<ffffffff8111c17f>] kmemleak_alloc_recursive.constprop.57+0x16/0x18
    [<ffffffff8111e76c>] kmem_cache_alloc_trace+0xe6/0x12e
    [<ffffffff8107bb34>] pm_vt_switch_required+0x54/0x86
    [<ffffffff8123addb>] register_framebuffer+0x1e0/0x294
    [<ffffffff81aff429>] efifb_probe+0x408/0x48f
    [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
    [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
    [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
    [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
    [<ffffffff812c3984>] driver_attach+0x19/0x1b
    [<ffffffff812c362b>] bus_add_driver+0xde/0x201
    [<ffffffff812c453f>] driver_register+0x8c/0x110
    [<ffffffff812c510d>] platform_driver_register+0x41/0x43
    [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
    [<ffffffff81aff002>] efifb_init+0x276/0x295

Feel free to ask for more info about my system;
I can also try a patch.

-- 
Alexandra N. Kossovsky
OKTET Labs (http://www.oktetlabs.ru/)
e-mail: sasha@oktetlabs.ru

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: kmemleak warning in efifb_probe
  2013-07-21 15:11 ` Alexandra N. Kossovsky
@ 2013-07-25 12:18   ` Catalin Marinas
  -1 siblings, 0 replies; 14+ messages in thread
From: Catalin Marinas @ 2013-07-25 12:18 UTC (permalink / raw)
  To: Alexandra N. Kossovsky
  Cc: Peter Jones, Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev, Linux Kernel Mailing List

On 21 July 2013 16:11, Alexandra N. Kossovsky
<Alexandra.Kossovsky@oktetlabs.ru> wrote:
> I am running linux-3.10.0 with kmemleak and see following warnings
> in /sys/kernel/debug/kmemleak:
>
> unreferenced object 0xffff880216fcfe00 (size 512):
>   comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
>   hex dump (first 32 bytes):
>     00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
>     55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
>   backtrace:
>     [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
>     [<ffffffff8111c17f>] kmemleak_alloc_recursive.constprop.57+0x16/0x18
>     [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
>     [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
>     [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
>     [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
>     [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
>     [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
>     [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
>     [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
>     [<ffffffff812c3984>] driver_attach+0x19/0x1b
>     [<ffffffff812c362b>] bus_add_driver+0xde/0x201
>     [<ffffffff812c453f>] driver_register+0x8c/0x110
>     [<ffffffff812c510d>] platform_driver_register+0x41/0x43
>     [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
>     [<ffffffff81aff002>] efifb_init+0x276/0x295

Does the efifb driver has any way to deallocate the cmap? I don't see
any explicit call to fb_dealloc_cmap() apart from the error handling.
My theory is that the efifb driver gets deregistered via
do_remove_conflicting_framebuffers(). I'm not familiar with this code,
just commenting from a kmemleak perspective.

-- 
Catalin

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: kmemleak warning in efifb_probe
@ 2013-07-25 12:18   ` Catalin Marinas
  0 siblings, 0 replies; 14+ messages in thread
From: Catalin Marinas @ 2013-07-25 12:18 UTC (permalink / raw)
  To: Alexandra N. Kossovsky
  Cc: Peter Jones, Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev, Linux Kernel Mailing List

On 21 July 2013 16:11, Alexandra N. Kossovsky
<Alexandra.Kossovsky@oktetlabs.ru> wrote:
> I am running linux-3.10.0 with kmemleak and see following warnings
> in /sys/kernel/debug/kmemleak:
>
> unreferenced object 0xffff880216fcfe00 (size 512):
>   comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
>   hex dump (first 32 bytes):
>     00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
>     55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
>   backtrace:
>     [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
>     [<ffffffff8111c17f>] kmemleak_alloc_recursive.constprop.57+0x16/0x18
>     [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
>     [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
>     [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
>     [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
>     [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
>     [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
>     [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
>     [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
>     [<ffffffff812c3984>] driver_attach+0x19/0x1b
>     [<ffffffff812c362b>] bus_add_driver+0xde/0x201
>     [<ffffffff812c453f>] driver_register+0x8c/0x110
>     [<ffffffff812c510d>] platform_driver_register+0x41/0x43
>     [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
>     [<ffffffff81aff002>] efifb_init+0x276/0x295

Does the efifb driver has any way to deallocate the cmap? I don't see
any explicit call to fb_dealloc_cmap() apart from the error handling.
My theory is that the efifb driver gets deregistered via
do_remove_conflicting_framebuffers(). I'm not familiar with this code,
just commenting from a kmemleak perspective.

-- 
Catalin

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: kmemleak warning in efifb_probe
  2013-07-25 12:18   ` Catalin Marinas
@ 2013-07-25 15:47     ` Peter Jones
  -1 siblings, 0 replies; 14+ messages in thread
From: Peter Jones @ 2013-07-25 15:47 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: Alexandra N. Kossovsky, Jean-Christophe Plagniol-Villard,
	Tomi Valkeinen, linux-fbdev, Linux Kernel Mailing List

On Thu, Jul 25, 2013 at 01:18:31PM +0100, Catalin Marinas wrote:
> On 21 July 2013 16:11, Alexandra N. Kossovsky
> <Alexandra.Kossovsky@oktetlabs.ru> wrote:
> > I am running linux-3.10.0 with kmemleak and see following warnings
> > in /sys/kernel/debug/kmemleak:
> >
> > unreferenced object 0xffff880216fcfe00 (size 512):
> >   comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
> >   hex dump (first 32 bytes):
> >     00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
> >     55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
> >   backtrace:
> >     [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
> >     [<ffffffff8111c17f>] kmemleak_alloc_recursive.constprop.57+0x16/0x18
> >     [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
> >     [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
> >     [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
> >     [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
> >     [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
> >     [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
> >     [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
> >     [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
> >     [<ffffffff812c3984>] driver_attach+0x19/0x1b
> >     [<ffffffff812c362b>] bus_add_driver+0xde/0x201
> >     [<ffffffff812c453f>] driver_register+0x8c/0x110
> >     [<ffffffff812c510d>] platform_driver_register+0x41/0x43
> >     [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
> >     [<ffffffff81aff002>] efifb_init+0x276/0x295
> 
> Does the efifb driver has any way to deallocate the cmap? I don't see
> any explicit call to fb_dealloc_cmap() apart from the error handling.
> My theory is that the efifb driver gets deregistered via
> do_remove_conflicting_framebuffers(). I'm not familiar with this code,
> just commenting from a kmemleak perspective.

You're right, that's the typical deregister path.  I'll follow up with a
patch to test.

-- 
        Peter

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: kmemleak warning in efifb_probe
@ 2013-07-25 15:47     ` Peter Jones
  0 siblings, 0 replies; 14+ messages in thread
From: Peter Jones @ 2013-07-25 15:47 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: Alexandra N. Kossovsky, Jean-Christophe Plagniol-Villard,
	Tomi Valkeinen, linux-fbdev, Linux Kernel Mailing List

On Thu, Jul 25, 2013 at 01:18:31PM +0100, Catalin Marinas wrote:
> On 21 July 2013 16:11, Alexandra N. Kossovsky
> <Alexandra.Kossovsky@oktetlabs.ru> wrote:
> > I am running linux-3.10.0 with kmemleak and see following warnings
> > in /sys/kernel/debug/kmemleak:
> >
> > unreferenced object 0xffff880216fcfe00 (size 512):
> >   comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
> >   hex dump (first 32 bytes):
> >     00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
> >     55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
> >   backtrace:
> >     [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
> >     [<ffffffff8111c17f>] kmemleak_alloc_recursive.constprop.57+0x16/0x18
> >     [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
> >     [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
> >     [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
> >     [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
> >     [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
> >     [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
> >     [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
> >     [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
> >     [<ffffffff812c3984>] driver_attach+0x19/0x1b
> >     [<ffffffff812c362b>] bus_add_driver+0xde/0x201
> >     [<ffffffff812c453f>] driver_register+0x8c/0x110
> >     [<ffffffff812c510d>] platform_driver_register+0x41/0x43
> >     [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
> >     [<ffffffff81aff002>] efifb_init+0x276/0x295
> 
> Does the efifb driver has any way to deallocate the cmap? I don't see
> any explicit call to fb_dealloc_cmap() apart from the error handling.
> My theory is that the efifb driver gets deregistered via
> do_remove_conflicting_framebuffers(). I'm not familiar with this code,
> just commenting from a kmemleak perspective.

You're right, that's the typical deregister path.  I'll follow up with a
patch to test.

-- 
        Peter

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH] Release efifb's colormap in efifb_destroy()
  2013-07-25 12:18   ` Catalin Marinas
@ 2013-07-25 15:48     ` Peter Jones
  -1 siblings, 0 replies; 14+ messages in thread
From: Peter Jones @ 2013-07-25 15:48 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: Alexandra N. Kossovsky, linux-fbdev, linux-kernel, Peter Jones

This was found by Alexandra Kossovsky, who noted this traceback from
kmemleak:

> unreferenced object 0xffff880216fcfe00 (size 512):
>   comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
>   hex dump (first 32 bytes):
>     00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
>     55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
>   backtrace:
>     [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
>     [<ffffffff8111c17f>]
>     kmemleak_alloc_recursive.constprop.57+0x16/0x18
>     [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
>     [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
>     [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
>     [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
>     [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
>     [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
>     [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
>     [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
>     [<ffffffff812c3984>] driver_attach+0x19/0x1b
>     [<ffffffff812c362b>] bus_add_driver+0xde/0x201
>     [<ffffffff812c453f>] driver_register+0x8c/0x110
>     [<ffffffff812c510d>] platform_driver_register+0x41/0x43
>     [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
>     [<ffffffff81aff002>] efifb_init+0x276/0x295
---
 drivers/video/efifb.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
index 390b61b..1f3eab3 100644
--- a/drivers/video/efifb.c
+++ b/drivers/video/efifb.c
@@ -289,6 +289,7 @@ static void efifb_destroy(struct fb_info *info)
 	if (request_mem_succeeded)
 		release_mem_region(info->apertures->ranges[0].base,
 				   info->apertures->ranges[0].size);
+	fb_dealloc_cmap(&info->cmap);
 	framebuffer_release(info);
 }
 
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH] Release efifb's colormap in efifb_destroy()
@ 2013-07-25 15:48     ` Peter Jones
  0 siblings, 0 replies; 14+ messages in thread
From: Peter Jones @ 2013-07-25 15:48 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: Alexandra N. Kossovsky, linux-fbdev, linux-kernel, Peter Jones

This was found by Alexandra Kossovsky, who noted this traceback from
kmemleak:

> unreferenced object 0xffff880216fcfe00 (size 512):
>   comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
>   hex dump (first 32 bytes):
>     00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
>     55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
>   backtrace:
>     [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
>     [<ffffffff8111c17f>]
>     kmemleak_alloc_recursive.constprop.57+0x16/0x18
>     [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
>     [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
>     [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
>     [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
>     [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
>     [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
>     [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
>     [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
>     [<ffffffff812c3984>] driver_attach+0x19/0x1b
>     [<ffffffff812c362b>] bus_add_driver+0xde/0x201
>     [<ffffffff812c453f>] driver_register+0x8c/0x110
>     [<ffffffff812c510d>] platform_driver_register+0x41/0x43
>     [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
>     [<ffffffff81aff002>] efifb_init+0x276/0x295
---
 drivers/video/efifb.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
index 390b61b..1f3eab3 100644
--- a/drivers/video/efifb.c
+++ b/drivers/video/efifb.c
@@ -289,6 +289,7 @@ static void efifb_destroy(struct fb_info *info)
 	if (request_mem_succeeded)
 		release_mem_region(info->apertures->ranges[0].base,
 				   info->apertures->ranges[0].size);
+	fb_dealloc_cmap(&info->cmap);
 	framebuffer_release(info);
 }
 
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH] Release efifb's colormap in efifb_destroy()
  2013-07-25 15:48     ` Peter Jones
@ 2013-08-16 13:51       ` David Herrmann
  -1 siblings, 0 replies; 14+ messages in thread
From: David Herrmann @ 2013-08-16 13:51 UTC (permalink / raw)
  To: Peter Jones
  Cc: Catalin Marinas, Alexandra N. Kossovsky, linux-fbdev,
	linux-kernel, Tomi Valkeinen, Jean-Christophe Plagniol-Villard

Hi

On Thu, Jul 25, 2013 at 5:48 PM, Peter Jones <pjones@redhat.com> wrote:
> This was found by Alexandra Kossovsky, who noted this traceback from
> kmemleak:
>
>> unreferenced object 0xffff880216fcfe00 (size 512):
>>   comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
>>   hex dump (first 32 bytes):
>>     00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
>>     55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
>>   backtrace:
>>     [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
>>     [<ffffffff8111c17f>]
>>     kmemleak_alloc_recursive.constprop.57+0x16/0x18
>>     [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
>>     [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
>>     [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
>>     [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
>>     [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
>>     [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
>>     [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
>>     [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
>>     [<ffffffff812c3984>] driver_attach+0x19/0x1b
>>     [<ffffffff812c362b>] bus_add_driver+0xde/0x201
>>     [<ffffffff812c453f>] driver_register+0x8c/0x110
>>     [<ffffffff812c510d>] platform_driver_register+0x41/0x43
>>     [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
>>     [<ffffffff81aff002>] efifb_init+0x276/0x295

(CC'ing fbdev maintainers)

Your signed-off-by is missing. Apart from that:
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>

Regards
David

> ---
>  drivers/video/efifb.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
> index 390b61b..1f3eab3 100644
> --- a/drivers/video/efifb.c
> +++ b/drivers/video/efifb.c
> @@ -289,6 +289,7 @@ static void efifb_destroy(struct fb_info *info)
>         if (request_mem_succeeded)
>                 release_mem_region(info->apertures->ranges[0].base,
>                                    info->apertures->ranges[0].size);
> +       fb_dealloc_cmap(&info->cmap);
>         framebuffer_release(info);
>  }
>
> --
> 1.8.3.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Release efifb's colormap in efifb_destroy()
@ 2013-08-16 13:51       ` David Herrmann
  0 siblings, 0 replies; 14+ messages in thread
From: David Herrmann @ 2013-08-16 13:51 UTC (permalink / raw)
  To: Peter Jones
  Cc: Catalin Marinas, Alexandra N. Kossovsky, linux-fbdev,
	linux-kernel, Tomi Valkeinen, Jean-Christophe Plagniol-Villard

Hi

On Thu, Jul 25, 2013 at 5:48 PM, Peter Jones <pjones@redhat.com> wrote:
> This was found by Alexandra Kossovsky, who noted this traceback from
> kmemleak:
>
>> unreferenced object 0xffff880216fcfe00 (size 512):
>>   comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
>>   hex dump (first 32 bytes):
>>     00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
>>     55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
>>   backtrace:
>>     [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
>>     [<ffffffff8111c17f>]
>>     kmemleak_alloc_recursive.constprop.57+0x16/0x18
>>     [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
>>     [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
>>     [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
>>     [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
>>     [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
>>     [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
>>     [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
>>     [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
>>     [<ffffffff812c3984>] driver_attach+0x19/0x1b
>>     [<ffffffff812c362b>] bus_add_driver+0xde/0x201
>>     [<ffffffff812c453f>] driver_register+0x8c/0x110
>>     [<ffffffff812c510d>] platform_driver_register+0x41/0x43
>>     [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
>>     [<ffffffff81aff002>] efifb_init+0x276/0x295

(CC'ing fbdev maintainers)

Your signed-off-by is missing. Apart from that:
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>

Regards
David

> ---
>  drivers/video/efifb.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
> index 390b61b..1f3eab3 100644
> --- a/drivers/video/efifb.c
> +++ b/drivers/video/efifb.c
> @@ -289,6 +289,7 @@ static void efifb_destroy(struct fb_info *info)
>         if (request_mem_succeeded)
>                 release_mem_region(info->apertures->ranges[0].base,
>                                    info->apertures->ranges[0].size);
> +       fb_dealloc_cmap(&info->cmap);
>         framebuffer_release(info);
>  }
>
> --
> 1.8.3.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Release efifb's colormap in efifb_destroy()
  2013-08-16 13:51       ` David Herrmann
@ 2013-08-19 14:02         ` Peter Jones
  -1 siblings, 0 replies; 14+ messages in thread
From: Peter Jones @ 2013-08-19 14:02 UTC (permalink / raw)
  To: David Herrmann
  Cc: Catalin Marinas, Alexandra N. Kossovsky, linux-fbdev,
	linux-kernel, Tomi Valkeinen, Jean-Christophe Plagniol-Villard

On Fri, Aug 16, 2013 at 03:51:34PM +0200, David Herrmann wrote:
> Hi
> 
> On Thu, Jul 25, 2013 at 5:48 PM, Peter Jones <pjones@redhat.com> wrote:
> > This was found by Alexandra Kossovsky, who noted this traceback from
> > kmemleak:
> >
> >> unreferenced object 0xffff880216fcfe00 (size 512):
> >>   comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
> >>   hex dump (first 32 bytes):
> >>     00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
> >>     55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
> >>   backtrace:
> >>     [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
> >>     [<ffffffff8111c17f>]
> >>     kmemleak_alloc_recursive.constprop.57+0x16/0x18
> >>     [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
> >>     [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
> >>     [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
> >>     [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
> >>     [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
> >>     [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
> >>     [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
> >>     [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
> >>     [<ffffffff812c3984>] driver_attach+0x19/0x1b
> >>     [<ffffffff812c362b>] bus_add_driver+0xde/0x201
> >>     [<ffffffff812c453f>] driver_register+0x8c/0x110
> >>     [<ffffffff812c510d>] platform_driver_register+0x41/0x43
> >>     [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
> >>     [<ffffffff81aff002>] efifb_init+0x276/0x295
> 
> (CC'ing fbdev maintainers)
> 
> Your signed-off-by is missing. Apart from that:
> Reviewed-by: David Herrmann <dh.herrmann@gmail.com>

Indeed it is.  With that in mind:

Signed-off-by: Peter Jones <pjones@redhat.com>

> 
> Regards
> David
> 
> > ---
> >  drivers/video/efifb.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
> > index 390b61b..1f3eab3 100644
> > --- a/drivers/video/efifb.c
> > +++ b/drivers/video/efifb.c
> > @@ -289,6 +289,7 @@ static void efifb_destroy(struct fb_info *info)
> >         if (request_mem_succeeded)
> >                 release_mem_region(info->apertures->ranges[0].base,
> >                                    info->apertures->ranges[0].size);
> > +       fb_dealloc_cmap(&info->cmap);
> >         framebuffer_release(info);
> >  }
> >
> > --
> > 1.8.3.1
> >
> > --

-- 
        Peter

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Release efifb's colormap in efifb_destroy()
@ 2013-08-19 14:02         ` Peter Jones
  0 siblings, 0 replies; 14+ messages in thread
From: Peter Jones @ 2013-08-19 14:02 UTC (permalink / raw)
  To: David Herrmann
  Cc: Catalin Marinas, Alexandra N. Kossovsky, linux-fbdev,
	linux-kernel, Tomi Valkeinen, Jean-Christophe Plagniol-Villard

On Fri, Aug 16, 2013 at 03:51:34PM +0200, David Herrmann wrote:
> Hi
> 
> On Thu, Jul 25, 2013 at 5:48 PM, Peter Jones <pjones@redhat.com> wrote:
> > This was found by Alexandra Kossovsky, who noted this traceback from
> > kmemleak:
> >
> >> unreferenced object 0xffff880216fcfe00 (size 512):
> >>   comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
> >>   hex dump (first 32 bytes):
> >>     00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
> >>     55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
> >>   backtrace:
> >>     [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
> >>     [<ffffffff8111c17f>]
> >>     kmemleak_alloc_recursive.constprop.57+0x16/0x18
> >>     [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
> >>     [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
> >>     [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
> >>     [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
> >>     [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
> >>     [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
> >>     [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
> >>     [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
> >>     [<ffffffff812c3984>] driver_attach+0x19/0x1b
> >>     [<ffffffff812c362b>] bus_add_driver+0xde/0x201
> >>     [<ffffffff812c453f>] driver_register+0x8c/0x110
> >>     [<ffffffff812c510d>] platform_driver_register+0x41/0x43
> >>     [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
> >>     [<ffffffff81aff002>] efifb_init+0x276/0x295
> 
> (CC'ing fbdev maintainers)
> 
> Your signed-off-by is missing. Apart from that:
> Reviewed-by: David Herrmann <dh.herrmann@gmail.com>

Indeed it is.  With that in mind:

Signed-off-by: Peter Jones <pjones@redhat.com>

> 
> Regards
> David
> 
> > ---
> >  drivers/video/efifb.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
> > index 390b61b..1f3eab3 100644
> > --- a/drivers/video/efifb.c
> > +++ b/drivers/video/efifb.c
> > @@ -289,6 +289,7 @@ static void efifb_destroy(struct fb_info *info)
> >         if (request_mem_succeeded)
> >                 release_mem_region(info->apertures->ranges[0].base,
> >                                    info->apertures->ranges[0].size);
> > +       fb_dealloc_cmap(&info->cmap);
> >         framebuffer_release(info);
> >  }
> >
> > --
> > 1.8.3.1
> >
> > --

-- 
        Peter

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Release efifb's colormap in efifb_destroy()
  2013-07-25 15:48     ` Peter Jones
@ 2013-08-30  7:47       ` Tomi Valkeinen
  -1 siblings, 0 replies; 14+ messages in thread
From: Tomi Valkeinen @ 2013-08-30  7:47 UTC (permalink / raw)
  To: Peter Jones
  Cc: Catalin Marinas, Alexandra N. Kossovsky, linux-fbdev, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1930 bytes --]

On 25/07/13 18:48, Peter Jones wrote:
> This was found by Alexandra Kossovsky, who noted this traceback from
> kmemleak:
> 
>> unreferenced object 0xffff880216fcfe00 (size 512):
>>   comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
>>   hex dump (first 32 bytes):
>>     00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
>>     55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
>>   backtrace:
>>     [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
>>     [<ffffffff8111c17f>]
>>     kmemleak_alloc_recursive.constprop.57+0x16/0x18
>>     [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
>>     [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
>>     [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
>>     [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
>>     [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
>>     [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
>>     [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
>>     [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
>>     [<ffffffff812c3984>] driver_attach+0x19/0x1b
>>     [<ffffffff812c362b>] bus_add_driver+0xde/0x201
>>     [<ffffffff812c453f>] driver_register+0x8c/0x110
>>     [<ffffffff812c510d>] platform_driver_register+0x41/0x43
>>     [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
>>     [<ffffffff81aff002>] efifb_init+0x276/0x295
> ---
>  drivers/video/efifb.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
> index 390b61b..1f3eab3 100644
> --- a/drivers/video/efifb.c
> +++ b/drivers/video/efifb.c
> @@ -289,6 +289,7 @@ static void efifb_destroy(struct fb_info *info)
>  	if (request_mem_succeeded)
>  		release_mem_region(info->apertures->ranges[0].base,
>  				   info->apertures->ranges[0].size);
> +	fb_dealloc_cmap(&info->cmap);
>  	framebuffer_release(info);
>  }
>  

Thanks, queued for 3.12.

 Tomi




[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] Release efifb's colormap in efifb_destroy()
@ 2013-08-30  7:47       ` Tomi Valkeinen
  0 siblings, 0 replies; 14+ messages in thread
From: Tomi Valkeinen @ 2013-08-30  7:47 UTC (permalink / raw)
  To: Peter Jones
  Cc: Catalin Marinas, Alexandra N. Kossovsky, linux-fbdev, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1930 bytes --]

On 25/07/13 18:48, Peter Jones wrote:
> This was found by Alexandra Kossovsky, who noted this traceback from
> kmemleak:
> 
>> unreferenced object 0xffff880216fcfe00 (size 512):
>>   comm "swapper/0", pid 1, jiffies 4294895429 (age 1415.320s)
>>   hex dump (first 32 bytes):
>>     00 00 00 00 00 00 00 00 aa aa aa aa aa aa aa aa  ................
>>     55 55 55 55 55 55 55 55 ff ff ff ff ff ff ff ff  UUUUUUUU........
>>   backtrace:
>>     [<ffffffff813e415c>] kmemleak_alloc+0x21/0x3e
>>     [<ffffffff8111c17f>]
>>     kmemleak_alloc_recursive.constprop.57+0x16/0x18
>>     [<ffffffff8111e63b>] __kmalloc+0xf9/0x144
>>     [<ffffffff8123d9cf>] fb_alloc_cmap_gfp+0x47/0xe1
>>     [<ffffffff8123da77>] fb_alloc_cmap+0xe/0x10
>>     [<ffffffff81aff40a>] efifb_probe+0x3e9/0x48f
>>     [<ffffffff812c566f>] platform_drv_probe+0x34/0x5e
>>     [<ffffffff812c3e6d>] driver_probe_device+0x98/0x1b4
>>     [<ffffffff812c3fd7>] __driver_attach+0x4e/0x6f
>>     [<ffffffff812c25bf>] bus_for_each_dev+0x57/0x8a
>>     [<ffffffff812c3984>] driver_attach+0x19/0x1b
>>     [<ffffffff812c362b>] bus_add_driver+0xde/0x201
>>     [<ffffffff812c453f>] driver_register+0x8c/0x110
>>     [<ffffffff812c510d>] platform_driver_register+0x41/0x43
>>     [<ffffffff812c5127>] platform_driver_probe+0x18/0x8a
>>     [<ffffffff81aff002>] efifb_init+0x276/0x295
> ---
>  drivers/video/efifb.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
> index 390b61b..1f3eab3 100644
> --- a/drivers/video/efifb.c
> +++ b/drivers/video/efifb.c
> @@ -289,6 +289,7 @@ static void efifb_destroy(struct fb_info *info)
>  	if (request_mem_succeeded)
>  		release_mem_region(info->apertures->ranges[0].base,
>  				   info->apertures->ranges[0].size);
> +	fb_dealloc_cmap(&info->cmap);
>  	framebuffer_release(info);
>  }
>  

Thanks, queued for 3.12.

 Tomi




[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2013-08-30  7:48 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-21 15:11 kmemleak warning in efifb_probe Alexandra N. Kossovsky
2013-07-21 15:11 ` Alexandra N. Kossovsky
2013-07-25 12:18 ` Catalin Marinas
2013-07-25 12:18   ` Catalin Marinas
2013-07-25 15:47   ` Peter Jones
2013-07-25 15:47     ` Peter Jones
2013-07-25 15:48   ` [PATCH] Release efifb's colormap in efifb_destroy() Peter Jones
2013-07-25 15:48     ` Peter Jones
2013-08-16 13:51     ` David Herrmann
2013-08-16 13:51       ` David Herrmann
2013-08-19 14:02       ` Peter Jones
2013-08-19 14:02         ` Peter Jones
2013-08-30  7:47     ` Tomi Valkeinen
2013-08-30  7:47       ` Tomi Valkeinen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.