LAWS.exec_needs_x: law of bend-osdev-apparmor@0.1.0.0 Import: import bend-osdev-apparmor@0.1.0.0/LAWS.bend as LAWS Lines 185-195 of bend-osdev-apparmor@0.1.0.0/LAWS.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-apparmor@0.1.0.0/LAWS.bend&start_line=185&end_line=195 import Base import bend-osdev-apparmor@0.1.0.0/perm.bend as P import bend-osdev-apparmor@0.1.0.0/options.bend as O import bend-osdev-apparmor@0.1.0.0/profile.bend as PR import bend-osdev-apparmor@0.1.0.0/eval.bend as V import bend-osdev-apparmor@0.1.0.0/transitions.bend as TR import bend-osdev-apparmor@0.1.0.0/rule_file.bend as F law exec_needs_x: for opts: O.AaOptions for pol: PR.AaPolicy for name: List<&2, U32> for owner: Bool for path: List<&2, U32> for p: PR.AaProfile for h1: {PR.AaPolicy.lookup(pol, name) == Some{p} : Maybe<&2, PR.AaProfile>} for h2: {TR.AaTrans.is_unconfined(PR.AaFlags.mode(PR.AaProfile.flags(p))) == False{} : Bool} for h3: {V.AaDecision.allowed(V.AaEval.file(opts, p, F.AaFileQuery{path, owner, P.AaPerms.bit(6n)})) == False{} : Bool} {TR.AaExecResult.ok(TR.AaTrans.exec(opts, pol, name, owner, path)) == False{} : Bool} Uses (18): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/PROOF.bend&name=ex.law https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/eval.bend&name=AaDecision.allowed https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/eval.bend&name=AaEval.file https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/options.bend&name=AaOptions https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/perm.bend&name=AaPerms.bit https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/profile.bend&name=AaFlags.mode https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/profile.bend&name=AaPolicy https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/profile.bend&name=AaPolicy.lookup https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/profile.bend&name=AaProfile https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/profile.bend&name=AaProfile.flags https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/rule_file.bend&name=AaFileQuery https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/transitions.bend&name=AaExecResult.ok https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/transitions.bend&name=AaTrans.exec https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/transitions.bend&name=AaTrans.is_unconfined