Lines Matching refs:bprm
588 struct linux_binprm *bprm, in bprm_caps_from_vfs_caps() argument
592 struct cred *new = bprm->cred; in bprm_caps_from_vfs_caps()
724 static int get_file_caps(struct linux_binprm *bprm, const struct file *file, in get_file_caps() argument
730 cap_clear(bprm->cred->cap_permitted); in get_file_caps()
751 bprm->filename); in get_file_caps()
757 rc = bprm_caps_from_vfs_caps(&vcaps, bprm, effective, has_fcap); in get_file_caps()
761 cap_clear(bprm->cred->cap_permitted); in get_file_caps()
789 static void handle_privileged_root(struct linux_binprm *bprm, bool has_fcap, in handle_privileged_root() argument
793 struct cred *new = bprm->cred; in handle_privileged_root()
803 warn_setuid_and_fcaps_mixed(bprm->filename); in handle_privileged_root()
886 int cap_bprm_creds_from_file(struct linux_binprm *bprm, const struct file *file) in cap_bprm_creds_from_file() argument
890 struct cred *new = bprm->cred; in cap_bprm_creds_from_file()
898 ret = get_file_caps(bprm, file, &effective, &has_fcap); in cap_bprm_creds_from_file()
904 handle_privileged_root(bprm, has_fcap, &effective, root_uid); in cap_bprm_creds_from_file()
908 bprm->per_clear |= PER_CLEAR_ON_SETID; in cap_bprm_creds_from_file()
918 ((bprm->unsafe & ~LSM_UNSAFE_PTRACE) || in cap_bprm_creds_from_file()
922 (bprm->unsafe & LSM_UNSAFE_NO_NEW_PRIVS)) { in cap_bprm_creds_from_file()
956 ret = audit_log_bprm_fcaps(bprm, new, old); in cap_bprm_creds_from_file()
971 bprm->secureexec = 1; in cap_bprm_creds_from_file()