Lines Matching refs:bprm

311 static int aa_xattrs_match(const struct linux_binprm *bprm,  in aa_xattrs_match()  argument
320 if (!bprm || !attach->xattr_count) in aa_xattrs_match()
326 d = bprm->file->f_path.dentry; in aa_xattrs_match()
389 static struct aa_label *find_attach(const struct linux_binprm *bprm, in find_attach() argument
436 if (bprm && attach->xattr_count) { in find_attach()
442 ret = aa_xattrs_match(bprm, profile, in find_attach()
569 const struct linux_binprm *bprm, in x_to_label() argument
600 new = find_attach(bprm, ns, &profile->base.profiles, in x_to_label()
604 new = find_attach(bprm, ns, &ns->base.profiles, in x_to_label()
661 const struct linux_binprm *bprm, in profile_transition() argument
675 AA_BUG(!bprm); in profile_transition()
678 error = aa_path_name(&bprm->file->f_path, profile->path_flags, buffer, in profile_transition()
687 name = bprm->filename; in profile_transition()
692 new = find_attach(bprm, profile->ns, in profile_transition()
722 new = x_to_label(profile, bprm, name, perms.xindex, &target, in profile_transition()
794 bool stack, const struct linux_binprm *bprm, in profile_onexec() argument
806 AA_BUG(!bprm); in profile_onexec()
819 error = aa_path_name(&bprm->file->f_path, profile->path_flags, buffer, in profile_onexec()
827 xname = bprm->filename; in profile_onexec()
870 const struct linux_binprm *bprm, in handle_onexec() argument
880 AA_BUG(!bprm); in handle_onexec()
886 bprm, buffer, cond, unsafe)); in handle_onexec()
894 profile_transition(subj_cred, profile, bprm, in handle_onexec()
903 AA_MAY_ONEXEC, bprm->filename, NULL, in handle_onexec()
917 int apparmor_bprm_creds_for_exec(struct linux_binprm *bprm) in apparmor_bprm_creds_for_exec() argument
927 vfsuid_t vfsuid = i_uid_into_vfsuid(file_mnt_idmap(bprm->file), in apparmor_bprm_creds_for_exec()
928 file_inode(bprm->file)); in apparmor_bprm_creds_for_exec()
931 file_inode(bprm->file)->i_mode in apparmor_bprm_creds_for_exec()
936 AA_BUG(!cred_label(bprm->cred)); in apparmor_bprm_creds_for_exec()
939 label = aa_get_newest_label(cred_label(bprm->cred)); in apparmor_bprm_creds_for_exec()
948 if ((bprm->unsafe & LSM_UNSAFE_NO_NEW_PRIVS) && !unconfined(label) && in apparmor_bprm_creds_for_exec()
962 bprm, buffer, &cond, &unsafe); in apparmor_bprm_creds_for_exec()
965 profile_transition(subj_cred, profile, bprm, in apparmor_bprm_creds_for_exec()
986 if ((bprm->unsafe & LSM_UNSAFE_NO_NEW_PRIVS) && in apparmor_bprm_creds_for_exec()
994 if (bprm->unsafe & LSM_UNSAFE_SHARE) { in apparmor_bprm_creds_for_exec()
999 if (bprm->unsafe & (LSM_UNSAFE_PTRACE)) { in apparmor_bprm_creds_for_exec()
1001 error = may_change_ptraced_domain(bprm->cred, new, &info); in apparmor_bprm_creds_for_exec()
1009 bprm->filename); in apparmor_bprm_creds_for_exec()
1013 bprm->secureexec = 1; in apparmor_bprm_creds_for_exec()
1020 bprm->filename); in apparmor_bprm_creds_for_exec()
1024 bprm->per_clear |= PER_CLEAR_ON_SETID; in apparmor_bprm_creds_for_exec()
1026 aa_put_label(cred_label(bprm->cred)); in apparmor_bprm_creds_for_exec()
1028 set_cred_label(bprm->cred, new); in apparmor_bprm_creds_for_exec()
1040 bprm->filename, NULL, new, in apparmor_bprm_creds_for_exec()