summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_missing/host_missing/accel_missing/2337
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-05-30 16:52:07 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-05-30 16:52:17 +0200
commit9260319e7411ff8281700a532caa436f40120ec4 (patch)
tree2f6bfe5f3458dd49d328d3a9eb508595450adec0 /gitlab/issues_text/target_missing/host_missing/accel_missing/2337
parent225caa38269323af1bfc2daadff5ec8bd930747f (diff)
downloadqemu-analysis-9260319e7411ff8281700a532caa436f40120ec4.tar.gz
qemu-analysis-9260319e7411ff8281700a532caa436f40120ec4.zip
gitlab scraper: download in toml and text format
Diffstat (limited to 'gitlab/issues_text/target_missing/host_missing/accel_missing/2337')
-rw-r--r--gitlab/issues_text/target_missing/host_missing/accel_missing/233762
1 files changed, 62 insertions, 0 deletions
diff --git a/gitlab/issues_text/target_missing/host_missing/accel_missing/2337 b/gitlab/issues_text/target_missing/host_missing/accel_missing/2337
new file mode 100644
index 000000000..f43e5ab7f
--- /dev/null
+++ b/gitlab/issues_text/target_missing/host_missing/accel_missing/2337
@@ -0,0 +1,62 @@
+Os boot issues on 9p filesystem due to unix domain sockets open failure
+Description of problem:
+Unix filesystem API is broken, unix domain socket special files return an error at open()
+Steps to reproduce:
+Simple script. Tries to use netcat to get data through a local unix domain socket file   
+```
+#!/bin/bash
+
+# Cleanup target dir
+[ -d ./target ] && rm -rf target
+mkdir target
+
+# Add configuration updates
+mkdir -p ./target/etc/initramfs-tools/
+echo 9p >> ./target/etc/initramfs-tools/modules
+echo 9pnet_virtio >> ./target/etc/initramfs-tools/modules
+
+# Add the test script
+cat > ./target/test_init << EOF
+#!/bin/bash
+
+echo "Test for unix domain sockets"
+
+nc -Ul /socket &
+sleep 1
+echo "Sockets work" | nc -UN /socket || echo "Sockets fail"
+
+echo o > /proc/sysrq-trigger
+sleep 999
+EOF
+chmod 700 ./target/test_init
+
+# Create an Ubuntu 23.10 around it
+echo "Creating Ubuntu target OS"
+debootstrap --variant=minbase\
+            --include=udev,kmod,initramfs-tools,systemd,netcat-openbsd,linux-image-generic \
+            --exclude=man,bash-completion \
+            mantic ./target > /dev/null || exit 1
+
+# Run the test in 9p forwarded filesystem
+echo "Running OS in qemu"
+qemu-system-s390x \
+  -m 8192 \
+  -smp 4 \
+  -nodefaults -nographic -no-reboot -no-user-config \
+  -kernel ./target/boot/vmlinuz \
+  -initrd ./target/boot/initrd.img \
+  -append 'root=fsRoot rw rootfstype=9p rootflags=trans=virtio,version=9p2000.L,msize=512000,cache=mmap,posixacl console=ttysclp0 init=/test_init quiet' \
+  -fsdev local,security_model=passthrough,multidevs=remap,id=fsdev-fsRoot,path=./target \
+  -device virtio-9p-pci,id=fsRoot,fsdev=fsdev-fsRoot,mount_tag=fsRoot \
+  -device virtio-serial-ccw -device sclpconsole,chardev=console \
+  -chardev stdio,id=console,signal=off 
+```
+Additional information:
+Test output:
+```
+Test for unix domain sockets
+qemu-system-s390x: 9p: broken or compromised client detected; attempt to open special file (i.e. neither regular file, nor directory)
+nc: No such device or address
+nc: /socket: No such file or directory
+Sockets fail
+```