[Bug 3639] server thread aborts during client login after receiving SSH2_MSG_KEXINIT due to ssh_sandbox_violation
https://bugzilla.mindrot.org/show_bug.cgi?id=3639 --- Comment #8 from Darren Tucker --- Created attachment 3765 --> https://bugzilla.mindrot.org/attachment.cgi?id=3765&action=edit config.h from 9.2p1 working on rpi4 here's the configure output and config.h from my working system for comparison. -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug. ___ openssh-bugs mailing list openssh-bugs@mindrot.org https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3639] server thread aborts during client login after receiving SSH2_MSG_KEXINIT due to ssh_sandbox_violation
https://bugzilla.mindrot.org/show_bug.cgi?id=3639 --- Comment #7 from Darren Tucker --- Created attachment 3764 --> https://bugzilla.mindrot.org/attachment.cgi?id=3764&action=edit configure output from 9.2p1 working on rpi4 -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug. ___ openssh-bugs mailing list openssh-bugs@mindrot.org https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3639] server thread aborts during client login after receiving SSH2_MSG_KEXINIT due to ssh_sandbox_violation
https://bugzilla.mindrot.org/show_bug.cgi?id=3639 --- Comment #6 from Darren Tucker --- JM: what compiler are you using? Another thing that might be interesting is to compare config.h and the output of configure from 9.1p1 with those of 9.2p1 and see if anything unexpectedly changed. -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug. ___ openssh-bugs mailing list openssh-bugs@mindrot.org https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3639] server thread aborts during client login after receiving SSH2_MSG_KEXINIT due to ssh_sandbox_violation
https://bugzilla.mindrot.org/show_bug.cgi?id=3639 --- Comment #5 from Darren Tucker --- (In reply to Damien Miller from comment #4) > This is the details of the sandbox violation: > > > ssh_sandbox_violation: unexpected system call (arch:0x4028,syscall:20 @ > > 0xf7ba380c > > syscall 20 is getpid: > > > [djm@djm linux]$ grep 'NR.* 20$' arch/arm64/include/asm/unistd32.h > > #define __NR_getpid 20 That's not what it is on my rpi4. I think that's for 32bit ARM. $ uname -a Linux hostname 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux $ grep -r -E '__NR.*20$' /usr/include /usr/include/asm-generic/unistd.h:#define __NR_epoll_create1 20 $ grep -E NR.*getpid /usr/include/asm-generic/unistd.h #define __NR_getpid 172 which a test program confirms: $ cat test.c #include #include int main(void) { printf("__NR_epoll_create1 %d\n", __NR_epoll_create1); printf("__NR_getpid %d\n", __NR_getpid); } $ cc test.c && ./a.out __NR_epoll_create1 20 __NR_getpid 172 Testing on a 32bit arm, that is indeed 20: $ uname -a Linux hostname 5.16.10-bone14 #1bullseye PREEMPT Tue Feb 22 00:07:39 UTC 2022 armv7l GNU/Linux $ cc test.c && ./a.out __NR_epoll_create1 357 __NR_getpid 20 So perhaps the problem here is that either it's picking up 32bit vs 64bit headers, or that the binary is some kind of 32bit compatibility mode but the sandbox is expecting the 64bit syscalls. -- You are receiving this mail because: You are watching someone on the CC list of the bug. You are watching the assignee of the bug. ___ openssh-bugs mailing list openssh-bugs@mindrot.org https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3639] server thread aborts during client login after receiving SSH2_MSG_KEXINIT due to ssh_sandbox_violation
https://bugzilla.mindrot.org/show_bug.cgi?id=3639 Damien Miller changed: What|Removed |Added CC||d...@mindrot.org --- Comment #4 from Damien Miller --- This is the details of the sandbox violation: > ssh_sandbox_violation: unexpected system call (arch:0x4028,syscall:20 @ > 0xf7ba380c syscall 20 is getpid: > [djm@djm linux]$ grep 'NR.* 20$' arch/arm64/include/asm/unistd32.h > #define __NR_getpid 20 but getpid is allowed by the sshd sandbox policy: > [djm@djm openssh]$ grep -A1 getpid sandbox-seccomp-filter.c > #ifdef __NR_getpid > SC_ALLOW(__NR_getpid), > #endif However, this only works in __NR_getpid is defined in a system header than that header is correctly picked up during sshd's compilation. If your system headers are messed up then sshd won't pick up the correct syscall number and sandbox violations will occur. You could try attaching ./configure output and config.h (please don't paste them inline), which might help, but I suspect that the root cause is going that your system headers are messed up in some way. -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug. ___ openssh-bugs mailing list openssh-bugs@mindrot.org https://lists.mindrot.org/mailman/listinfo/openssh-bugs