orc_memset using AVX instructions on kernels that disable AVX.
virt-manager crashes with a SIGILL in orc_memset
(it uses gstreamer which uses orc).
The instruction that was suppose to execute is vmovd xmm0,DWORD PTR [rdi+0x278]
, an AVX instruction.
I'm using a kernel that has AVX disabled.
https://kernel.org/doc/html/next/admin-guide/hw-vuln/gather_data_sampling.html https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=553a5c03e90a6087e88f8ff878335ef0621536fb
If used, these options will disable AVX use by turning off XSAVE YMM support. However, the processor will still enumerate AVX support. Userspace that does not follow proper AVX enumeration to check both AVX and XSAVE YMM support will break.
https://gitlab.freedesktop.org/gstreamer/orc/-/blob/main/orc/orccpu-x86.c#L332
You need to check XSAVE YMM support before enabling AVX.
I'm using arch linux with "linux-hardened" orc version 0.4.37-1 https://archlinux.org/packages/extra/x86_64/orc/