virtual: 0.967 device: 0.927 ppc: 0.785 x86: 0.722 semantic: 0.676 debug: 0.668 graphic: 0.653 kernel: 0.633 PID: 0.622 architecture: 0.609 boot: 0.553 VMM: 0.544 vnc: 0.544 risc-v: 0.542 i386: 0.512 TCG: 0.475 permissions: 0.440 register: 0.395 user-level: 0.395 socket: 0.344 performance: 0.343 files: 0.305 peripherals: 0.265 network: 0.225 arm: 0.209 hypervisor: 0.199 mistranslation: 0.174 assembly: 0.121 KVM: 0.095 Memory leak in the virtual device applesmc Description of problem: In the function _qdev_applesmc_isa_reset_, the device mallocs the _AppleSMCData_ but does not free them, causing a memory leak. The following log reveals it: ``` ==1029295==ERROR: LeakSanitizer: detected memory leaksDirect leak of 80 byte(s) in 2 object(s) allocated from: #0 0x5574dc600a82 in __interceptor_calloc compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 #1 0x7f4919b22c50 in g_malloc0 (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5ec50) #2 0x5574dcdb0dfe in qdev_applesmc_isa_reset qemu/hw/misc/applesmc.c:285:5 #3 0x5574de30e099 in resettable_phase_hold qemu/hw/core/resettable.c #4 0x5574de2ef753 in bus_reset_child_foreach qemu/hw/core/bus.c:97:13 #5 0x5574de30dcfe in resettable_child_foreach qemu/hw/core/resettable.c:96:9 #6 0x5574de30dcfe in resettable_phase_hold qemu/hw/core/resettable.c:173:5 #7 0x5574de3059b3 in device_reset_child_foreach qemu/hw/core/qdev.c:276:9 ``` Steps to reproduce: 1. Build qemu with the sanitizer 2. Boot the Linux kernel with the above command line. 3. Stop the qemu process