summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_missing/host_missing/accel_missing/2272
blob: 1a36f787c2b7d8dd9cd259bcc1557fe24052cb15 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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