Bug#955430: linux-image-amd64: Memory Leak/Memory usage misreported
Dear Maintainer,
I rebuilt the kernel with KMEMLEAK and KASAN enabled to gather more information.
kmemleak did find some memleaks. After disabling and clearing kmemleak to
reclaim the memory however only a fraction of the expected memory was freed up.
After booting with kmemleak and kasan (no memleaks were found)
Mem usage around 1.63GiB
Before reclaiming with `echo clear > /sys/kernel/debug/kmemleak`
Mem usage around 2.47GiB
After reclaiming:
Mem usage around 2.35GiB
Here's the kmemleak report:
unreferenced object 0xffff888660624400 (size 192):
comm "Xorg", pid 907, jiffies 4299419510 (age 6856.116s)
hex dump (first 32 bytes):
00 00 63 cb 86 88 ff ff 00 30 e7 ab 86 88 ff ff ..c......0......
00 84 92 ea 86 88 ff ff 00 00 00 00 00 00 00 00 ................
backtrace:
[<00000000e66f58fa>] kmemdup+0x17/0x40
[<000000006ee3acc9>] amdgpu_dm_connector_atomic_duplicate_state+0x48/0x440 [amdgpu]
[<000000000aa9d096>] drm_atomic_get_connector_state+0x19d/0x580 [drm]
[<000000009114bdc6>] drm_atomic_add_affected_connectors+0x202/0x2b0 [drm]
[<00000000c04a1719>] drm_atomic_connector_commit_dpms+0x156/0x4b0 [drm]
[<000000000ce0af95>] drm_mode_obj_set_property_ioctl+0x523/0x850 [drm]
[<00000000d1632ad2>] drm_connector_property_set_ioctl+0xe8/0x170 [drm]
[<00000000bdd24d89>] drm_ioctl_kernel+0x1c9/0x260 [drm]
[<000000000345d2f1>] drm_ioctl+0x436/0x930 [drm]
[<0000000091f798ec>] amdgpu_drm_ioctl+0xd0/0x1b0 [amdgpu]
[<00000000d5588e67>] ksys_ioctl+0xc0/0x110
[<0000000072c884a9>] __x64_sys_ioctl+0x6f/0xb0
[<00000000716b608b>] do_syscall_64+0x9a/0x390
[<0000000057c5bdb9>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
unreferenced object 0xffff888660624b00 (size 192):
comm "Xorg", pid 907, jiffies 4299419510 (age 6856.116s)
hex dump (first 32 bytes):
00 30 e7 ab 86 88 ff ff 01 00 00 00 00 00 00 00 .0..............
ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<00000000938346d5>] drm_atomic_helper_setup_commit+0x42b/0xf70 [drm_kms_helper]
[<00000000015c7bd5>] drm_atomic_helper_commit+0x6b/0x270 [drm_kms_helper]
[<000000003bebbf93>] drm_atomic_connector_commit_dpms+0x2ca/0x4b0 [drm]
[<000000000ce0af95>] drm_mode_obj_set_property_ioctl+0x523/0x850 [drm]
[<00000000d1632ad2>] drm_connector_property_set_ioctl+0xe8/0x170 [drm]
[<00000000bdd24d89>] drm_ioctl_kernel+0x1c9/0x260 [drm]
[<000000000345d2f1>] drm_ioctl+0x436/0x930 [drm]
[<0000000091f798ec>] amdgpu_drm_ioctl+0xd0/0x1b0 [amdgpu]
[<00000000d5588e67>] ksys_ioctl+0xc0/0x110
[<0000000072c884a9>] __x64_sys_ioctl+0x6f/0xb0
[<00000000716b608b>] do_syscall_64+0x9a/0x390
[<0000000057c5bdb9>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
unreferenced object 0xffff8886b0768000 (size 1024):
comm "Xorg", pid 907, jiffies 4299419771 (age 6855.072s)
hex dump (first 32 bytes):
00 30 e7 ab 86 88 ff ff 01 01 01 00 20 00 00 00 .0.......... ...
01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<00000000bf9c8e67>] dm_crtc_duplicate_state+0x7d/0x820 [amdgpu]
[<0000000095c87a5b>] drm_atomic_get_crtc_state+0x14e/0x410 [drm]
[<00000000ea935b94>] page_flip_common+0x57/0x240 [drm_kms_helper]
[<0000000077220c4f>] drm_atomic_helper_page_flip+0xaa/0x140 [drm_kms_helper]
[<00000000ece8956c>] drm_mode_page_flip_ioctl+0xcd9/0x11c0 [drm]
[<00000000bdd24d89>] drm_ioctl_kernel+0x1c9/0x260 [drm]
[<000000000345d2f1>] drm_ioctl+0x436/0x930 [drm]
[<0000000091f798ec>] amdgpu_drm_ioctl+0xd0/0x1b0 [amdgpu]
[<00000000d5588e67>] ksys_ioctl+0xc0/0x110
[<0000000072c884a9>] __x64_sys_ioctl+0x6f/0xb0
[<00000000716b608b>] do_syscall_64+0x9a/0x390
[<0000000057c5bdb9>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
unreferenced object 0xffff8886f7ee7000 (size 192):
comm "Xorg", pid 907, jiffies 4299419771 (age 6855.144s)
hex dump (first 32 bytes):
00 60 2e d9 86 88 ff ff 00 30 e7 ab 86 88 ff ff .`.......0......
00 ae e3 f4 86 88 ff ff 00 00 00 00 00 00 00 00 ................
backtrace:
[<0000000038d38729>] dm_drm_plane_duplicate_state+0x6f/0x120 [amdgpu]
[<000000006006b0e1>] drm_atomic_get_plane_state+0x1d9/0x4d0 [drm]
[<00000000adf6b843>] page_flip_common+0xe4/0x240 [drm_kms_helper]
[<0000000077220c4f>] drm_atomic_helper_page_flip+0xaa/0x140 [drm_kms_helper]
[<00000000ece8956c>] drm_mode_page_flip_ioctl+0xcd9/0x11c0 [drm]
[<00000000bdd24d89>] drm_ioctl_kernel+0x1c9/0x260 [drm]
[<000000000345d2f1>] drm_ioctl+0x436/0x930 [drm]
[<0000000091f798ec>] amdgpu_drm_ioctl+0xd0/0x1b0 [amdgpu]
[<00000000d5588e67>] ksys_ioctl+0xc0/0x110
[<0000000072c884a9>] __x64_sys_ioctl+0x6f/0xb0
[<00000000716b608b>] do_syscall_64+0x9a/0x390
[<0000000057c5bdb9>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
unreferenced object 0xffff8886f7ee7b00 (size 192):
comm "Xorg", pid 907, jiffies 4299419771 (age 6855.144s)
hex dump (first 32 bytes):
00 30 e7 ab 86 88 ff ff 01 00 00 00 00 00 00 00 .0..............
ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<00000000938346d5>] drm_atomic_helper_setup_commit+0x42b/0xf70 [drm_kms_helper]
[<00000000015c7bd5>] drm_atomic_helper_commit+0x6b/0x270 [drm_kms_helper]
[<00000000f1fcfc4b>] drm_atomic_helper_page_flip+0xb8/0x140 [drm_kms_helper]
[<00000000ece8956c>] drm_mode_page_flip_ioctl+0xcd9/0x11c0 [drm]
[<00000000bdd24d89>] drm_ioctl_kernel+0x1c9/0x260 [drm]
[<000000000345d2f1>] drm_ioctl+0x436/0x930 [drm]
[<0000000091f798ec>] amdgpu_drm_ioctl+0xd0/0x1b0 [amdgpu]
[<00000000d5588e67>] ksys_ioctl+0xc0/0x110
[<0000000072c884a9>] __x64_sys_ioctl+0x6f/0xb0
[<00000000716b608b>] do_syscall_64+0x9a/0x390
[<0000000057c5bdb9>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
unreferenced object 0xffff8886e89266c0 (size 16):
comm "Xorg", pid 907, jiffies 4299419772 (age 6855.140s)
hex dump (first 16 bytes):
00 48 0d d7 86 88 ff ff 00 00 92 98 85 88 ff ff .H..............
backtrace:
[<0000000003c6593d>] dm_atomic_duplicate_state+0x48/0x190 [amdgpu]
[<00000000a381d345>] drm_atomic_get_private_obj_state+0x230/0x4d0 [drm]
[<00000000d71d97e5>] amdgpu_dm_atomic_check+0x3bb5/0x3e20 [amdgpu]
[<00000000b7b26f38>] drm_atomic_check_only+0x1372/0x2a90 [drm]
[<000000005df0aa9f>] drm_atomic_nonblocking_commit+0x3b/0x110 [drm]
[<00000000f1fcfc4b>] drm_atomic_helper_page_flip+0xb8/0x140 [drm_kms_helper]
[<00000000ece8956c>] drm_mode_page_flip_ioctl+0xcd9/0x11c0 [drm]
[<00000000bdd24d89>] drm_ioctl_kernel+0x1c9/0x260 [drm]
[<000000000345d2f1>] drm_ioctl+0x436/0x930 [drm]
[<0000000091f798ec>] amdgpu_drm_ioctl+0xd0/0x1b0 [amdgpu]
[<00000000d5588e67>] ksys_ioctl+0xc0/0x110
[<0000000072c884a9>] __x64_sys_ioctl+0x6f/0xb0
[<00000000716b608b>] do_syscall_64+0x9a/0x390
[<0000000057c5bdb9>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
unreferenced object 0xffff8886d70d4800 (size 128):
comm "kworker/9:0", pid 6836, jiffies 4299419837 (age 6854.880s)
hex dump (first 32 bytes):
01 00 00 00 00 00 00 00 00 a0 d5 f5 86 88 ff ff ................
01 00 00 00 00 00 00 00 00 04 9a f5 86 88 ff ff ................
backtrace:
[<000000005cd82426>] drm_atomic_state_alloc+0x95/0xe0 [drm]
[<000000001f8f63f8>] dm_restore_drm_connector_state+0x178/0x430 [amdgpu]
[<00000000dca3509c>] handle_hpd_irq+0x248/0x2e0 [amdgpu]
[<00000000de797692>] dm_irq_work_func+0xcd/0x130 [amdgpu]
[<00000000f81b2a91>] process_one_work+0x670/0x1070
[<0000000057c1435c>] worker_thread+0x87/0xb20
[<00000000ffe495e3>] kthread+0x2ef/0x3a0
[<00000000513babf6>] ret_from_fork+0x22/0x40
unreferenced object 0xffff8886f59a0000 (size 512):
comm "kworker/9:0", pid 6836, jiffies 4299419837 (age 6854.952s)
hex dump (first 32 bytes):
00 30 e7 ab 86 88 ff ff 00 80 76 b0 86 88 ff ff .0........v.....
00 80 76 b0 86 88 ff ff 00 d8 4a 6c 86 88 ff ff ..v.......Jl....
backtrace:
[<00000000a322c4c1>] drm_atomic_state_init+0xbf/0x260 [drm]
[<00000000ccbbfa38>] drm_atomic_state_alloc+0xa8/0xe0 [drm]
[<000000001f8f63f8>] dm_restore_drm_connector_state+0x178/0x430 [amdgpu]
[<00000000dca3509c>] handle_hpd_irq+0x248/0x2e0 [amdgpu]
[<00000000de797692>] dm_irq_work_func+0xcd/0x130 [amdgpu]
[<00000000f81b2a91>] process_one_work+0x670/0x1070
[<0000000057c1435c>] worker_thread+0x87/0xb20
[<00000000ffe495e3>] kthread+0x2ef/0x3a0
[<00000000513babf6>] ret_from_fork+0x22/0x40
unreferenced object 0xffff8886f59a0400 (size 512):
comm "kworker/9:0", pid 6836, jiffies 4299419837 (age 6854.956s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<00000000de378c87>] drm_atomic_state_init+0x135/0x260 [drm]
[<00000000ccbbfa38>] drm_atomic_state_alloc+0xa8/0xe0 [drm]
[<000000001f8f63f8>] dm_restore_drm_connector_state+0x178/0x430 [amdgpu]
[<00000000dca3509c>] handle_hpd_irq+0x248/0x2e0 [amdgpu]
[<00000000de797692>] dm_irq_work_func+0xcd/0x130 [amdgpu]
[<00000000f81b2a91>] process_one_work+0x670/0x1070
[<0000000057c1435c>] worker_thread+0x87/0xb20
[<00000000ffe495e3>] kthread+0x2ef/0x3a0
[<00000000513babf6>] ret_from_fork+0x22/0x40
unreferenced object 0xffff8886b20fd400 (size 256):
comm "kworker/9:0", pid 6836, jiffies 4299419837 (age 6854.956s)
hex dump (first 32 bytes):
00 00 63 cb 86 88 ff ff 00 44 62 60 86 88 ff ff ..c......Db`....
00 44 62 60 86 88 ff ff 00 82 47 f5 86 88 ff ff .Db`......G.....
backtrace:
[<000000002eea3e23>] krealloc+0x67/0xc0
[<00000000ac2718d6>] drm_atomic_get_connector_state+0x3c1/0x580 [drm]
[<0000000050ab6c7d>] dm_restore_drm_connector_state+0x24e/0x430 [amdgpu]
[<00000000dca3509c>] handle_hpd_irq+0x248/0x2e0 [amdgpu]
[<00000000de797692>] dm_irq_work_func+0xcd/0x130 [amdgpu]
[<00000000f81b2a91>] process_one_work+0x670/0x1070
[<0000000057c1435c>] worker_thread+0x87/0xb20
[<00000000ffe495e3>] kthread+0x2ef/0x3a0
[<00000000513babf6>] ret_from_fork+0x22/0x40
unreferenced object 0xffff8886a19a3bc0 (size 32):
comm "kworker/9:0", pid 6836, jiffies 4299419837 (age 6854.956s)
hex dump (first 32 bytes):
b0 28 f9 a5 86 88 ff ff c0 66 92 e8 86 88 ff ff .(.......f......
c0 66 92 e8 86 88 ff ff 80 14 a1 c3 86 88 ff ff .f..............
backtrace:
[<000000002eea3e23>] krealloc+0x67/0xc0
[<000000007bf8ad22>] drm_atomic_get_private_obj_state+0x182/0x4d0 [drm]
[<000000004d329529>] dm_update_plane_state+0x26f/0x15d0 [amdgpu]
[<00000000698c7827>] amdgpu_dm_atomic_check+0x646/0x3e20 [amdgpu]
[<00000000b7b26f38>] drm_atomic_check_only+0x1372/0x2a90 [drm]
[<000000004024e319>] drm_atomic_commit+0x3b/0x100 [drm]
[<00000000ba12c6ee>] dm_restore_drm_connector_state+0x2c5/0x430 [amdgpu]
[<00000000dca3509c>] handle_hpd_irq+0x248/0x2e0 [amdgpu]
[<00000000de797692>] dm_irq_work_func+0xcd/0x130 [amdgpu]
[<00000000f81b2a91>] process_one_work+0x670/0x1070
[<0000000057c1435c>] worker_thread+0x87/0xb20
[<00000000ffe495e3>] kthread+0x2ef/0x3a0
[<00000000513babf6>] ret_from_fork+0x22/0x40
Reply to: