[PATCH] lsm: security_task_getsecid_subj() -> security_current_getsecid_subj()
Paul Moore
paul at paul-moore.com
Tue Nov 23 03:14:35 UTC 2021
On Mon, Nov 22, 2021 at 7:40 PM Casey Schaufler <casey at schaufler-ca.com> wrote:
> On 11/22/2021 3:12 PM, Paul Moore wrote:
> > On Fri, Nov 19, 2021 at 5:52 PM Paul Moore <paul at paul-moore.com> wrote:
> >> On Wed, Sep 29, 2021 at 3:17 PM Paul Moore <paul at paul-moore.com> wrote:
> >>> The security_task_getsecid_subj() LSM hook invites misuse by allowing
> >>> callers to specify a task even though the hook is only safe when the
> >>> current task is referenced. Fix this by removing the task_struct
> >>> argument to the hook, requiring LSM implementations to use the
> >>> current task. While we are changing the hook declaration we also
> >>> rename the function to security_current_getsecid_subj() in an effort
> >>> to reinforce that the hook captures the subjective credentials of the
> >>> current task and not an arbitrary task on the system.
> >>>
> >>> Signed-off-by: Paul Moore <paul at paul-moore.com>
> >>> ---
> >>> include/linux/lsm_hook_defs.h | 3 +--
> >>> include/linux/lsm_hooks.h | 8 +++-----
> >>> include/linux/security.h | 4 ++--
> >>> kernel/audit.c | 4 ++--
> >>> kernel/auditfilter.c | 3 +--
> >>> kernel/auditsc.c | 10 +++++++++-
> >>> net/netlabel/netlabel_unlabeled.c | 2 +-
> >>> net/netlabel/netlabel_user.h | 2 +-
> >>> security/apparmor/lsm.c | 13 ++++++++++---
> >>> security/integrity/ima/ima_appraise.c | 2 +-
> >>> security/integrity/ima/ima_main.c | 14 +++++++-------
> >>> security/security.c | 6 +++---
> >>> security/selinux/hooks.c | 19 +++----------------
> >>> security/smack/smack.h | 16 ----------------
> >>> security/smack/smack_lsm.c | 9 ++++-----
> >>> 15 files changed, 48 insertions(+), 67 deletions(-)
> >> I never saw any comments, positive or negative, on this patch so I'll
> >> plan on merging it early next week. If you've got objections, now is
> >> the time to speak up.
> >
> > I just merged this patch, with the AppArmor tweak suggested by Serge,
> > into selinux/next. Thanks everyone.
>
> Has the security tree been abandoned as a path for general LSM
> changes? Except for the initial Landlock pull and a couple touch-ups
> to capabilities nothing has gone in via security this year. This
> change should have gone in through security, not selinux. I'm glad
> that this change is going in, don't get me wrong on that. I am
> somewhat concerned about the LSM infrastructure work I'm doing,
> and how it's going to get upstream. The diffstats from that look
> a lot like the one here. I seriously doubt that taking the full
> set of changes for stacking through the Smack tree is going to fly. ;)
I don't think there is ever a clear answer when you have a patch(set)
that crosses subsystem boundaries, there is always going to be a bit
of awkwardness and merge-fun for those affected. If something touches
SELinux, and this patch qualifies as far as I'm concerned, I tend to
offer to take it via the SELinux tree (mostly for selfish reasons as
it helps with merge conflicts) unless James wants to pull it via the
LSM tree; in almost all of those cases James has deferred the changes
to the SELinux tree. In this particular case I guess I didn't
explicitly ask about the LSM tree vs the SELinux tree, but the patch
has been on-list for weeks and it wasn't snatched up so I felt like
pulling it into the SELinux tree was justified. If nothing else,
between the SELinux, audit, and netlabel changes I guess I can claim
some level of merge authority ;)
However, regardless of this particular patchset, I agree that the LSM
stacking patches should almost surely go in via the LSM tree.
--
paul moore
www.paul-moore.com
More information about the Linux-security-module-archive
mailing list