/* * check exec: * given an "executable" described in the exec package's namei info, * see what we can do with it. * * ON ENTRY: * exec package with appropriate namei info * lwp pointer of exec'ing lwp * NO SELF-LOCKED VNODES * * ON EXIT: * error: nothing held, etc. exec header still allocated. * ok: filled exec package, executable's vnode (unlocked). * * EXEC SWITCH ENTRY: * Locked vnode to check, exec package, proc. * * EXEC SWITCH EXIT: * ok: return 0, filled exec package, executable's vnode (unlocked). * error: destructive: * everything deallocated execept exec header. * non-destructive: * error code, executable's vnode (unlocked), * exec header unmodified. */