module FrrCliFuzzer::LibC

Bindings for a few libc“s functions.

Constants

CLONE_NEWNET
CLONE_NEWNS

include/uapi/linux/sched.h

CLONE_NEWPID
MS_NODEV
MS_NOEXEC
MS_NOSUID

include/uapi/linux/fs.h

MS_PRIVATE
MS_REC
PR_SET_CHILD_SUBREAPER
PR_SET_PDEATHSIG

include/uapi/linux/prctl.h

Public Class Methods

mount(source, target, fs_type, flags, data) click to toggle source

Wrapper for mount(2).

# File lib/frr-cli-fuzzer/libc.rb, line 16
def self.mount(source, target, fs_type, flags, data)
  if Bindings.mount(source, target, fs_type, flags, data) < 0
    raise SystemCallError.new("mount failed", FFI::LastError.error)
  end
end
prctl(option, arg2, arg3, arg4, arg5) click to toggle source

Wrapper for prctl(2).

# File lib/frr-cli-fuzzer/libc.rb, line 30
def self.prctl(option, arg2, arg3, arg4, arg5)
  if Bindings.prctl(option, arg2, arg3, arg4, arg5) == -1
    raise SystemCallError.new("prctl failed", FFI::LastError.error)
  end
end
unshare(flags) click to toggle source

Wrapper for unshare(2).

# File lib/frr-cli-fuzzer/libc.rb, line 23
def self.unshare(flags)
  if Bindings.unshare(flags) < 0
    raise SystemCallError.new("unshare failed", FFI::LastError.error)
  end
end