¿Qué significa el código errno 40 (ELOOP) en Linux?

 
También puede significar:
ConstanteTipoSO
KERN_LOCK_OWNEDRetorno del kernel de macOSmacOS
ippStsWrongIntersectVOIEstado de Intel IPPCualquiera
EMSGSIZEerrnomacOS
EL3RSTerrnoSolaris
ENOSYSerrnoWindows
CORRUPT_ACCESS_TOKENCódigo BSODWindows
Anterior Siguiente
ENOLCK EMSGSIZE

ELOOP

Qué significa ELOOP

ELOOP suele significar que resolver la ruta exige seguir demasiados symlinks, a menudo porque uno vuelve a apuntar a un punto anterior. Una cadena muy larga pero sin ciclo también puede superar el límite. Además, open() con O_NOFOLLOW puede usar este errno intencionadamente para rechazar un enlace simbólico en el componente final.

En código sensible a seguridad no debe «arreglarse» siguiendo más enlaces sin restricciones. Eso puede convertir una ruta manipulada en un problema de escape de directorio o path traversal.

Qué comprobar

  • Resuelve los enlaces componente a componente y conserva la cadena relevante en logs sin exponer rutas sensibles innecesariamente.
  • Revisa symlinks de despliegue, pointers de releases, aliases de montaje y rutas generadas para detectar ciclos.
  • Usa dirfds y políticas explícitas de no seguir symlinks cuando una operación deba permanecer bajo una raíz confiable.
  • Si el fallo proviene de O_NOFOLLOW, trátalo como resultado de una política, no como error temporal.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.