mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-10 11:00:19 +02:00
Docker's seccomp filter fails to follow AAPCS64 and SysV zero-extension rules. For values smaller than 64-bit they were required in their seccomp filters to truncate the value to the specific size but do not. Instead they do a 64-bit comparison operation against smaller arguments (in this case 32-bit). This means 64-bit -1 and 32-bit -1 passed through have different values for this `personality` syscall. The real fix would be for Docker to audit their seccomp filter rules and ensure they zero-extend every argument that is smaller than 64-bit, but we don't control that. So there is likely to be more bugs in their filter that we encounter, this is just an easy one to resolve.