blob: 2ac0003d074b2a2b26275d5ee3a03f22109fa576 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
|
The issue reported is related to how QEMU handles the `madvise` system call, specifically when using `MADV_DONTNEED`. The user provided a reproducer that demonstrates the problem where the application's assertion fails when run under QEMU but works correctly on native Linux.
Upon reviewing the QEMU source code (as linked), there is a comment indicating that `MADV_DONTNEED` is being ignored with a return of success. However, according to the man pages for `madvise`, `MADV_DONTNEED` changes the semantics of memory access, which can affect application behavior.
This suggests that QEMU's current implementation does not correctly handle the `MADV_DONTNEED` advice, leading to incorrect program execution in certain cases. The problem arises during system call handling within QEMU, as it does not properly process this specific `madvise` operation.
Therefore, the bug falls under the **syscall** category because it involves an error with how a system call (`madvise`) is being handled by QEMU.
</think>
The issue relates to how QEMU handles the `MADV_DONTNEED` advice during the `madvise` system call. The problem occurs in the runtime when executing applications that rely on this specific behavior, which is not correctly implemented in QEMU.
**syscall**
|