Ir para o conteúdo principal
Base de conhecimentos do Suporte

Não é possível alocar a memória dinamicamente usando um processador que suporta Intel® Software Guard Extensions (Intel® SGX) SGX2

Tipo de conteúdo: Instalação e configuração   |   ID do artigo: 000090747   |   Última revisão: 11/05/2022

Ambiente

Sistema operacional

Linux*

Descrição

  1. Criou um aplicativo Intel® SGX e usou malloc alocar memória
  2. Configurou o HeapMinSize and HeapMaxSize no arquivo de configuração do enclave
  3. malloc o nullptr após várias alocações, antes que a alocação de memória chegueHeapMaxSize
  4. A memória não está sendo alocada dinamicamente

Resolução

Apenas o driver OOT (Legacy Out-of-Tree) Intel® SGX Linux* suporta (Intel® SGX) SGX2.

 

Execute esses comandos para verificar qual Intel® SGX driver está instalado:

ls /dev/*sgx* #Should return /dev/isgx

lsmod | grep -i sgx #Should return: isgx

 

Se os valores de devolução não estiverem tão acima, o driver OOT não será instalado e provavelmente você terá o Data Center Attestation Primitives (DCAP). Desinstale o driver DCAP antes de instalar o driver OOT.

  1. Desinstalar o driver atual
    sudo /opt/intel/sgxdriver/uninstall.sh # The path to uninstall.sh may differ for your system.

    Se o uninstall.sh estiver ausente, desinstale o seguinte:

    sudo service aesmd stop

    sudo rm -f $(find /lib/modules -name intel_sgx.ko)

    sudo /sbin/depmod

    sudo sed -i '/^intel_sgx$/d' /etc/modules

    sudo rm -f /etc/sysconfig/modules/intel_sgx.modules

    sudo rm -f /etc/modules-load.d/intel_sgx.conf

  2. Instale o driver OOT usando um dos dois métodos
    • Download E Instalar o binário de driver mais recente, semelhante ao sgx_linux_x64_driver_2.11.054c9c4c4c.bin, a partir do Pasta de distribuição Linux

      chmod 777 sgx_linux_x64_driver_2.11.054c9c4c.bin

      sudo ./sgx_linux_x64_driver_2.11.054c9c4c.bin

    • Construa a partir da fonte

Avisos legais

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.