summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/2337.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/2337.toml')
-rw-r--r--gitlab/issues/target_missing/host_missing/accel_missing/2337.toml70
1 files changed, 70 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/2337.toml b/gitlab/issues/target_missing/host_missing/accel_missing/2337.toml
new file mode 100644
index 00000000..08eb6920
--- /dev/null
+++ b/gitlab/issues/target_missing/host_missing/accel_missing/2337.toml
@@ -0,0 +1,70 @@
+id = 2337
+title = "Os boot issues on 9p filesystem due to unix domain sockets open failure"
+state = "closed"
+created_at = "2024-05-08T09:53:25.856Z"
+closed_at = "2024-12-11T18:14:04.559Z"
+labels = ["block:9p"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2337"
+host-os = "Ubuntu 22.04 LTS"
+host-arch = "s390x ( but any is affected)"
+qemu-version = "QEMU emulator version 6.2.0 (Debian 1:6.2+dfsg-2ubuntu6.16)"
+guest-os = "Ubuntu (23.11)"
+guest-arch = "s390x"
+description = """Unix filesystem API is broken, unix domain socket special files return an error at open()"""
+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 = """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
+```"""