There are some AVX512 instructions in some ELF

Description:

There are some AVX512 instructions in some ELF, such as dnsdict6. You can get SIGILL when run it. The disassemble result has zmm and vmovdqu64.

>>> objdump -d /usr/bin/dnsdict6 | grep zmm      
   a206e:   62 f1 fe 48 7f 85 20    vmovdqu64 %zmm0,-0x6e0(%rbp)
   a2078:   62 f1 fe 48 7f 85 60    vmovdqu64 %zmm0,-0x6a0(%rbp)
   a2085:   62 f1 fe 48 7f 85 a0    vmovdqu64 %zmm0,-0x660(%rbp)
   a278a:   62 f1 fe 48 7f 85 f0    vmovdqu64 %zmm0,-0x610(%rbp)
   a3824:   62 f1 fe 48 7f 85 f0    vmovdqu64 %zmm0,-0x510(%rbp)
   a3836:   62 f1 fe 48 7f 85 30    vmovdqu64 %zmm0,-0x4d0(%rbp)
   a3840:   62 f1 fe 48 7f 85 70    vmovdqu64 %zmm0,-0x490(%rbp)
   a3d94:   62 f1 7f 48 7f 85 d0    vmovdqu8 %zmm0,-0x230(%rbp)
   a3d9e:   62 f1 7f 48 7f 85 10    vmovdqu8 %zmm0,-0x1f0(%rbp)
   a3da8:   62 f1 7f 48 7f 85 50    vmovdqu8 %zmm0,-0x1b0(%rbp)
   a3db2:   62 f1 7f 48 7f 85 90    vmovdqu8 %zmm0,-0x170(%rbp)
   a3e60:   62 f1 fe 48 7f 85 10    vmovdqu64 %zmm0,-0xbf0(%rbp)
   a3e6a:   62 f1 fe 48 7f 85 50    vmovdqu64 %zmm0,-0xbb0(%rbp)
   a3e74:   62 f1 fe 48 7f 85 90    vmovdqu64 %zmm0,-0xb70(%rbp)

Additional info:

  • package version(s): 3.8-2

Steps to reproduce:

  1. Use a machine without AVX512
  2. install thc-ipv6
  3. run dnsdict6
  4. You will get SIGILL
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information