summary refs log tree commit diff stats
path: root/results/classifier/gemma3:27b/syscall/829
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-07-06 16:43:19 +0000
committerChristian Krinitsin <mail@krinitsin.com>2025-07-06 16:43:19 +0000
commit238ec2b7cc1557d6f34c33cc482e4d0cd3e266dd (patch)
treecd8a1b75ba7b3543eb7fe6857f408e7be4d9fd0b /results/classifier/gemma3:27b/syscall/829
parent96049c939b1916d80532630d63c14e04d5244f1d (diff)
downloademulator-bug-study-238ec2b7cc1557d6f34c33cc482e4d0cd3e266dd.tar.gz
emulator-bug-study-238ec2b7cc1557d6f34c33cc482e4d0cd3e266dd.zip
add results
Diffstat (limited to 'results/classifier/gemma3:27b/syscall/829')
-rw-r--r--results/classifier/gemma3:27b/syscall/82917
1 files changed, 17 insertions, 0 deletions
diff --git a/results/classifier/gemma3:27b/syscall/829 b/results/classifier/gemma3:27b/syscall/829
new file mode 100644
index 00000000..3314ee07
--- /dev/null
+++ b/results/classifier/gemma3:27b/syscall/829
@@ -0,0 +1,17 @@
+
+
+
+user space emulation: openat() seems to defeat sysroot path translation
+Description of problem:
+It appears that the user space emulation code is doing some path manipulation of some syscalls to sometimes prefix them with the sysroot.  This seems to be interacting badly sometimes with certain usage patterns.  This was noticed because a test suite of various libc calls was failing under `qemu-arm`, and a `strace` of the qemu-arm process revealed that the translated paths were being inconsistently applied.
+
+In particular, the sequence which fails is:
+* create a file in `/tmp/`.
+* open `/tmp` itself.  This succeeds, but `strace` reveals that it actually opened `SYSROOT/tmp/`.
+* `openat(tmpfd, tmpfile_name)` then fails, as the fd provided to openat is actually inside the sysroot, not at `/tmp` as expected.
+Steps to reproduce:
+1. Get toolchain https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--uclibc--bleeding-edge-2021.11-1.tar.bz2
+2. Compile attached test program [test_openat.c](/uploads/69eb997256ff29d2178be85531c6b3c6/test_openat.c)
+3. Try to run under `qemu-arm`.
+
+This code passes in non-emulated situations, but fails under user-space emulation.  Presumably it would also pass under full system emulation.