mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 23:45:31 +08:00
4225fea1cb
I got memory leak as follows when doing fault injection test:
unreferenced object 0xffff88800906c618 (size 8):
comm "i2c-idt82p33931", pid 4421, jiffies 4294948083 (age 13.188s)
hex dump (first 8 bytes):
70 74 70 30 00 00 00 00 ptp0....
backtrace:
[<00000000312ed458>] __kmalloc_track_caller+0x19f/0x3a0
[<0000000079f6e2ff>] kvasprintf+0xb5/0x150
[<0000000026aae54f>] kvasprintf_const+0x60/0x190
[<00000000f323a5f7>] kobject_set_name_vargs+0x56/0x150
[<000000004e35abdd>] dev_set_name+0xc0/0x100
[<00000000f20cfe25>] ptp_clock_register+0x9f4/0xd30 [ptp]
[<000000008bb9f0de>] idt82p33_probe.cold+0x8b6/0x1561 [ptp_idt82p33]
When posix_clock_register() returns an error, the name allocated
in dev_set_name() will be leaked, the put_device() should be used
to give up the device reference, then the name will be freed in
kobject_cleanup() and other memory will be freed in ptp_clock_release().
Reported-by: Hulk Robot <hulkci@huawei.com>
Fixes:
|
||
---|---|---|
.. | ||
idt8a340_reg.h | ||
Kconfig | ||
Makefile | ||
ptp_chardev.c | ||
ptp_clock.c | ||
ptp_clockmatrix.c | ||
ptp_clockmatrix.h | ||
ptp_dte.c | ||
ptp_idt82p33.c | ||
ptp_idt82p33.h | ||
ptp_ines.c | ||
ptp_kvm_arm.c | ||
ptp_kvm_common.c | ||
ptp_kvm_x86.c | ||
ptp_ocp.c | ||
ptp_pch.c | ||
ptp_private.h | ||
ptp_qoriq_debugfs.c | ||
ptp_qoriq.c | ||
ptp_sysfs.c | ||
ptp_vclock.c | ||
ptp_vmw.c |