Documentation

Miri.Interpreter.UnixMemory

Entire pinned unix/mem.rs plus posix_memalign/aligned_alloc/reallocarray source policy. Miri's deliberately restricted mmap is preserved: unsupported mapping modes are not replaced with successful anonymous allocations.

structure Miri.Interpreter.UnixMemory.Hooks (P S D MD B I : Type) :
Instances For
    def Miri.Interpreter.UnixMemory.mmap {P S D MD B I : Type} (h : Hooks P S D MD B I) (args : Array (OpTy P)) (offset : Int) (dest : MD) :

    Offset is read by the foreign dispatcher BEFORE any other mmap argument.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Miri.Interpreter.UnixMemory.munmap {P S D MD B I : Type} (h : Hooks P S D MD B I) (args : Array (OpTy P)) (dest : MD) :
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Miri.Interpreter.UnixMemory.mprotect {P S D MD B I : Type} (h : Hooks P S D MD B I) (args : Array (OpTy P)) (dest : MD) :
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Miri.Interpreter.UnixMemory.madvise {P S D MD B I : Type} (h : Hooks P S D MD B I) (args : Array (OpTy P)) (dest : MD) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Miri.Interpreter.UnixMemory.posixMemalign {P S D MD B I : Type} (h : Hooks P S D MD B I) (args : Array (OpTy P)) (dest : MD) :

            POSIX invalid alignment returns EINVAL without setting errno. Dereference of the pointer-output operand precedes scalar alignment/size reads.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Miri.Interpreter.UnixMemory.alignedAlloc {P S D MD B I : Type} (h : Hooks P S D MD B I) (args : Array (OpTy P)) (dest : MD) :
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Miri.Interpreter.UnixMemory.reallocarray {P S D MD B I : Type} (h : Hooks P S D MD B I) (args : Array (OpTy P)) (dest : MD) :
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def Miri.Interpreter.UnixMemory.emulate {P S D MD B I : Type} (h : Hooks P S D MD B I) (name : String) (abi : ABI.FnAbi MIR.TyId) (args : Array (OpTy P)) (dest : MD) :

                  The Unix foreign-item wrapper controls arity/type checks and off_t reading. Availability checks occur before the signature query where source does so.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def Miri.Interpreter.UnixMemory.bindUnix {P S D MD B I : Type} (h : Hooks P S D MD B I) :
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For