diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-07-08 13:28:15 +0200 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-07-08 13:28:28 +0200 |
| commit | 5aa276efcbd67f4300ca1a7f809c6e00aadb03da (patch) | |
| tree | 9b8f0e074014cda8d42f5a97a95bc25082d8b764 /results/classifier/zero-shot-user-mode/output/syscall/1728116 | |
| parent | 1a3c4faf4e0a25ed0b86e8739d5319a634cb9112 (diff) | |
| download | qemu-analysis-5aa276efcbd67f4300ca1a7f809c6e00aadb03da.tar.gz qemu-analysis-5aa276efcbd67f4300ca1a7f809c6e00aadb03da.zip | |
restructure results
Diffstat (limited to 'results/classifier/zero-shot-user-mode/output/syscall/1728116')
| -rw-r--r-- | results/classifier/zero-shot-user-mode/output/syscall/1728116 | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/results/classifier/zero-shot-user-mode/output/syscall/1728116 b/results/classifier/zero-shot-user-mode/output/syscall/1728116 deleted file mode 100644 index 506e203ec..000000000 --- a/results/classifier/zero-shot-user-mode/output/syscall/1728116 +++ /dev/null @@ -1,53 +0,0 @@ -syscall: 0.549 -instruction: 0.269 -runtime: 0.182 - - - -Empty /proc/self/auxv (linux-user) - -The userspace Linux API virtualization used to fake access to /proc/self/auxv, to provide meaningful data for the guest process. - -For newer qemu versions, this fails: The openat() is intercepted, but there's no content: /proc/self/auxv has length zero (i.e. reading from it returns 0 bytes). - -Good: - -$ x86_64-linux-user/qemu-x86_64 /usr/bin/cat /proc/self/auxv | wc -c -256 /proc/self/auxv - -Bad: - -$ x86_64-linux-user/qemu-x86_64 /usr/bin/cat /proc/self/auxv | wc -c -0 /proc/self/auxv - -This worked in 2.7.1, and fails in 2.10.1. - -This causes e.g. any procps-ng-based tool to segfault while reading from /proc/self/auxv in an endless loop (probably worth another bug report...) - -Doing a "git bisect" shows that this commit: https://github.com/qemu/qemu/commit/7c4ee5bcc introduced the problem. - -It might be a simple logic (subtraction in the wrong direction?) or sign-ness error: Adding some logging (to v2.10.1) - -diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 9b6364a..49285f9 100644 ---- a/linux-user/syscall.c -+++ b/linux-user/syscall.c -@@ -7469,6 +7469,9 @@ static int open_self_auxv(void *cpu_env, int fd) - abi_ulong len = ts->info->auxv_len; - char *ptr; - -+ gemu_log(TARGET_ABI_FMT_lu"\n", len); -+ gemu_log(TARGET_ABI_FMT_ld"\n", len); -+ - /* - * Auxiliary vector is stored in target process stack. - * read in whole auxv vector and copy it to file - -shows this output: - -$ x86_64-linux-user/qemu-x86_64 /usr/bin/cat /proc/self/auxv | wc -c -18446744073709551264 --352 -0 - -And 352 could be the expected length. \ No newline at end of file |