diff options
Diffstat (limited to 'results/classifier/zero-shot/108/other/2635')
| -rw-r--r-- | results/classifier/zero-shot/108/other/2635 | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/results/classifier/zero-shot/108/other/2635 b/results/classifier/zero-shot/108/other/2635 new file mode 100644 index 000000000..9d1320c97 --- /dev/null +++ b/results/classifier/zero-shot/108/other/2635 @@ -0,0 +1,27 @@ +graphic: 0.867 +device: 0.809 +files: 0.771 +network: 0.701 +PID: 0.696 +vnc: 0.690 +socket: 0.614 +performance: 0.569 +semantic: 0.568 +boot: 0.517 +debug: 0.467 +permissions: 0.419 +KVM: 0.244 +other: 0.196 + +A use-after-free bug in pflash_cfi01 snapshot implementation +Description of problem: +The flash snapshot restore does not function correctly. Basically when you use “if=pflash,format=raw,unit=0,file=OVMF_VAR.fd", it crashes when trying to restore a snapshot. + +The root cause is: + +1. In system/runstate.c, function vm_state_notify loops through vm_change_state_head list and calls the callback function for each entry. +2. One of the callback function pointer points to function postload_update_cb in hw/block/pflash_cfi01.c. +3. In function postload_update_cb, it calls qemu_del_vm_change_state_handler in which the entry element memory is freed. +4. Note that, it is still running in the loop, the entry will be visited and get executed, the function pointer may point to a wide memory. +Additional information: + |