Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

144
Visualizações
Probar mi software con un sistema de archivos no compatible con mmap

Tengo un fragmento de código que intenta mmap algún archivo. Si puede mmmap el archivo, hace algo, si no puede mmap hace otra cosa.

El código funciona en ambos casos, pero quería hacer algunas pruebas en algún sistema de archivos que no admita mmap. El problema es que no encontré ningún sistema de archivos que no pudiera mmap.

¿Puede alguien señalarme algún sistema de archivos que no sea compatible con mmap?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Puede simular un sistema no compatible con mmap mediante la interposición de bibliotecas. Simplemente tome este archivo C

 #include <errno.h> #include <sys/mman.h> void* mmap(void*, size_t, int, int, int, off_t) { errno = ENODEV; return NULL; }

y compilarlo en una biblioteca compartida. Nombre la ruta de esa biblioteca en la variable de entorno LD_PRELOAD , y debería tener prioridad sobre el mmap real , simulando así un sistema donde mmap siempre fallará. De esa manera, puede probar su código sin privilegios de superusuario, sin crear ciertos sistemas de archivos y sin tener que tener disponibles los módulos del kernel correspondientes, herramientas de usuario y similares.

En teoría, podría encontrar situaciones en las que alguna biblioteca fuera de su control dependa de tipos específicos de mmap para funcionar siempre. Un mapa con MAP_ANONYMOUS es un excelente ejemplo, ya que no está respaldado por un sistema de archivos y, por lo tanto, no depende de los tipos de FS. Si encuentra algún problema en las bibliotecas que fallan debido a la violación de las suposiciones de mmap, es posible que deba modificar el intercalador para observar más de cerca sus argumentos y reenviar algunas llamadas a la implementación de libc mientras rechaza otras. Pero solo haría esto si realmente surge la necesidad.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda