Bug 206203

Summary: kmemleak reports various leaks in drivers/of/unittest.c
Product: Platform Specific/Hardware Reporter: Erhard F. (erhard_f)
Component: PPC-64Assignee: platform_ppc-64
Status: NEW ---    
Severity: normal CC: bugzilla.kernel.org
Priority: P1    
Hardware: PPC-64   
OS: Linux   
Kernel Version: 5.4.11 Tree: Mainline
Regression: No
Attachments: kmemleak output
dmesg (kernel 5.4.11, Talos II)
kernel .config (kernel 5.4.11, Talos II)
kmemleak output (kernel 5.6-rc3, PowerMac G5 11,2)
dmesg (kernel 5.6-rc3, PowerMac G5 11,2)
kernel .config (kernel 5.6-rc3, PowerMac G5 11,2)
dmesg (kernel 5.6.2, Talos II)
kernel .config (kernel 5.6.2, Talos II)
kmemleak output (kernel 5.6.2, Talos II)
kmemleak output (kernel 5.7-rc1, PowerMac G5 11,2)
dmesg (kernel 5.7-rc1, PowerMac G5 11,2)
kmemleak output (kernel 5.8-rc1, PowerMac G5 11,2)
dmesg (kernel 5.8-rc1, PowerMac G5 11,2)
kernel .config (kernel 5.8-rc1, PowerMac G5 11,2)
dmesg (kernel 5.8-rc7, PowerMac G4 3,6)
kmemleak output (kernel 5.8-rc7, PowerMac G4 3,6)
dmesg (kernel 5.9-rc3, Talos II)
kmemleak output (kernel 5.9-rc3, Talos II)
kernel .config (kernel 5.9-rc3, Talos II)

Description Erhard F. 2020-01-14 15:51:29 UTC
Created attachment 286801 [details]
kmemleak output

kmemleak reported various leaks in "swapper/0" while I was building a kernel on my Talos II:

[...]
unreferenced object 0xc0002007f833c780 (size 8):
  comm "swapper/0", pid 1, jiffies 4294878487 (age 1637.240s)
  hex dump (first 8 bytes):
    6e 61 6d 65 00 00 03 18                          name....
  backtrace:
    [<00000000d64d7001>] .kstrdup+0x44/0xb0
    [<00000000d7cb5018>] .__of_prop_dup+0x60/0x130
    [<000000003a4c11d9>] .of_unittest_changeset+0x3c0/0xa20
    [<00000000f6cf112e>] .of_unittest+0x1e9c/0x3808
    [<0000000018a2e72e>] .do_one_initcall+0x7c/0x420
    [<00000000de53cd05>] .kernel_init_freeable+0x2d8/0x3d4
    [<00000000e79ea455>] .kernel_init+0x14/0x158
    [<0000000099bc20e8>] .ret_from_kernel_thread+0x58/0x68
unreferenced object 0xc0002007f833c498 (size 8):
  comm "swapper/0", pid 1, jiffies 4294878487 (age 1637.240s)
  hex dump (first 8 bytes):
    6e 32 31 00 00 00 0e f8                          n21.....
  backtrace:
    [<00000000a8bde092>] .kmemdup+0x30/0x70
    [<00000000a5916f40>] .__of_prop_dup+0x7c/0x130
    [<000000003a4c11d9>] .of_unittest_changeset+0x3c0/0xa20
    [<00000000f6cf112e>] .of_unittest+0x1e9c/0x3808
    [<0000000018a2e72e>] .do_one_initcall+0x7c/0x420
    [<00000000de53cd05>] .kernel_init_freeable+0x2d8/0x3d4
    [<00000000e79ea455>] .kernel_init+0x14/0x158
    [<0000000099bc20e8>] .ret_from_kernel_thread+0x58/0x68
unreferenced object 0xc0002007f833c818 (size 8):
  comm "swapper/0", pid 1, jiffies 4294878487 (age 1637.240s)
  hex dump (first 8 bytes):
    6e 31 00 00 00 00 06 b8                          n1......
  backtrace:
    [<00000000d64d7001>] .kstrdup+0x44/0xb0
    [<0000000059dd59eb>] .kvasprintf_const+0x74/0xf0
    [<00000000d729a1b8>] .kobject_set_name_vargs+0x34/0xf0
    [<00000000e8b8c22b>] .kobject_add+0x50/0xe0
    [<00000000223588e9>] .__of_attach_node_sysfs+0xa8/0x160
    [<0000000085cbb668>] .__of_changeset_entry_apply+0x32c/0x390
    [<00000000f1d284ee>] .__of_changeset_apply_entries+0x48/0x110
    [<00000000b7434f45>] .of_changeset_apply+0x54/0xc0
    [<0000000022b41feb>] .of_unittest_changeset+0x8a4/0xa20
    [<00000000f6cf112e>] .of_unittest+0x1e9c/0x3808
    [<0000000018a2e72e>] .do_one_initcall+0x7c/0x420
    [<00000000de53cd05>] .kernel_init_freeable+0x2d8/0x3d4
    [<00000000e79ea455>] .kernel_init+0x14/0x158
    [<0000000099bc20e8>] .ret_from_kernel_thread+0x58/0x68
[...]
Comment 1 Erhard F. 2020-01-14 15:54:56 UTC
Created attachment 286803 [details]
dmesg (kernel 5.4.11, Talos II)
Comment 2 Erhard F. 2020-01-14 15:55:45 UTC
Created attachment 286805 [details]
kernel .config (kernel 5.4.11, Talos II)
Comment 3 Erhard F. 2020-02-27 21:19:36 UTC
Created attachment 287671 [details]
kmemleak output (kernel 5.6-rc3, PowerMac G5 11,2)

Same on a PowerMac G5 11,2 (kernel 5.6-rc3).
Comment 4 Erhard F. 2020-02-27 21:20:15 UTC
Created attachment 287673 [details]
dmesg (kernel 5.6-rc3, PowerMac G5 11,2)
Comment 5 Erhard F. 2020-02-27 21:31:23 UTC
Created attachment 287675 [details]
kernel .config (kernel 5.6-rc3, PowerMac G5 11,2)
Comment 6 mpe 2020-02-27 22:07:05 UTC
bugzilla-daemon@bugzilla.kernel.org writes:
> https://bugzilla.kernel.org/show_bug.cgi?id=206203
>
> --- Comment #3 from Erhard F. (erhard_f@mailbox.org) ---
> Created attachment 287671 [details]
>   --> https://bugzilla.kernel.org/attachment.cgi?id=287671&action=edit
> kmemleak output (kernel 5.6-rc3, PowerMac G5 11,2)
>
> Same on a PowerMac G5 11,2 (kernel 5.6-rc3).

Can you attach the /sys/kernel/debug/kmemleak output please.

cheers
Comment 7 Erhard F. 2020-02-27 22:39:55 UTC
(In reply to mpe from comment #6)
> Can you attach the /sys/kernel/debug/kmemleak output please.
> 
> cheers
I already did:
"kmemleak output (kernel 5.6-rc3, PowerMac G5 11,2) (91.35 KB, text/plain)"
Comment 8 Erhard F. 2020-04-03 19:22:22 UTC
Created attachment 288185 [details]
dmesg (kernel 5.6.2, Talos II)
Comment 9 Erhard F. 2020-04-03 19:23:09 UTC
Created attachment 288187 [details]
kernel .config (kernel 5.6.2, Talos II)
Comment 10 Erhard F. 2020-04-03 19:23:59 UTC
Created attachment 288189 [details]
kmemleak output (kernel 5.6.2, Talos II)
Comment 11 Erhard F. 2020-04-17 15:46:38 UTC
Created attachment 288565 [details]
kmemleak output (kernel 5.7-rc1, PowerMac G5 11,2)

Applied Frank's patch set on top of 5.7-rc1. Though there are certainly less memory leaks now, there are still some OF ones reported.

Frank Rowand (5):
  of: unittest: kmemleak on changeset destroy
  of: unittest: kmemleak in of_unittest_platform_populate()
  of: unittest: kmemleak in of_unittest_overlay_high_level()
  of: overlay: kmemleak in dup_and_fixup_symbol_prop()
  of: unittest: kmemleak in duplicate property update
Comment 12 Erhard F. 2020-04-17 15:47:35 UTC
Created attachment 288567 [details]
dmesg (kernel 5.7-rc1, PowerMac G5 11,2)
Comment 13 Erhard F. 2020-06-15 20:43:54 UTC
Created attachment 289675 [details]
kmemleak output (kernel 5.8-rc1, PowerMac G5 11,2)
Comment 14 Erhard F. 2020-06-15 20:45:18 UTC
Created attachment 289677 [details]
dmesg (kernel 5.8-rc1, PowerMac G5 11,2)
Comment 15 Erhard F. 2020-06-15 20:53:52 UTC
Created attachment 289679 [details]
kernel .config (kernel 5.8-rc1, PowerMac G5 11,2)
Comment 16 Erhard F. 2020-07-28 07:18:24 UTC
Created attachment 290639 [details]
dmesg (kernel 5.8-rc7, PowerMac G4 3,6)
Comment 17 Erhard F. 2020-07-28 07:19:14 UTC
Created attachment 290641 [details]
kmemleak output (kernel 5.8-rc7, PowerMac G4 3,6)

Also happens on my G4 DP.
Comment 18 Erhard F. 2020-09-02 14:38:48 UTC
Created attachment 292285 [details]
dmesg (kernel 5.9-rc3, Talos II)
Comment 19 Erhard F. 2020-09-02 14:39:52 UTC
Created attachment 292287 [details]
kmemleak output (kernel 5.9-rc3, Talos II)
Comment 20 Erhard F. 2020-09-02 14:45:40 UTC
Created attachment 292289 [details]
kernel .config (kernel 5.9-rc3, Talos II)