LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Stephen Smalley <sds@tycho.nsa.gov>
To: Eric Paris <eparis@redhat.com>
Cc: linux-kernel@vger.kernel.org, selinux@tycho.nsa.gov,
	linux-security-module@vger.kernel.org, jmorris@nameil.org,
	serue@us.ibm.com, morgan@kernel.org, casey@schaufler-ca.com,
	esandeen@redhat.com
Subject: Re: [PATCH -v3 4/4] SELinux: use new cap_noaudit interface
Date: Fri, 07 Nov 2008 10:38:10 -0500	[thread overview]
Message-ID: <1226072290.16320.60.camel@moss-spartans.epoch.ncsc.mil> (raw)
In-Reply-To: <20081107152343.10328.60753.stgit@paris.rdu.redhat.com>

On Fri, 2008-11-07 at 10:23 -0500, Eric Paris wrote:
> Currently SELinux jumps through some ugly hoops to not audit a capbility
> check when determining if a process has additional powers to override
> memory limits or when trying to read/write illegal file labels.  Use
> the new noaudit call instead.
> 
> Signed-off-by: Eric Paris <eparis@redhat.com>

Acked-by:  Stephen Smalley <sds@tycho.nsa.gov>

> ---
> 
>  security/selinux/hooks.c |   19 ++-----------------
>  1 files changed, 2 insertions(+), 17 deletions(-)
> 
> diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
> index 0d4ee8c..d3fd051 100644
> --- a/security/selinux/hooks.c
> +++ b/security/selinux/hooks.c
> @@ -1978,16 +1978,8 @@ static int selinux_syslog(int type)
>  static int selinux_vm_enough_memory(struct mm_struct *mm, long pages)
>  {
>  	int rc, cap_sys_admin = 0;
> -	struct task_security_struct *tsec = current->security;
> -
> -	rc = secondary_ops->capable(current, CAP_SYS_ADMIN, SECURITY_CAP_NOAUDIT);
> -	if (rc == 0)
> -		rc = avc_has_perm_noaudit(tsec->sid, tsec->sid,
> -					  SECCLASS_CAPABILITY,
> -					  CAP_TO_MASK(CAP_SYS_ADMIN),
> -					  0,
> -					  NULL);
>  
> +	rc = selinux_capable(current, CAP_SYS_ADMIN, SECURITY_CAP_NOAUDIT);
>  	if (rc == 0)
>  		cap_sys_admin = 1;
>  
> @@ -2812,7 +2804,6 @@ static int selinux_inode_getsecurity(const struct inode *inode, const char *name
>  	u32 size;
>  	int error;
>  	char *context = NULL;
> -	struct task_security_struct *tsec = current->security;
>  	struct inode_security_struct *isec = inode->i_security;
>  
>  	if (strcmp(name, XATTR_SELINUX_SUFFIX))
> @@ -2827,13 +2818,7 @@ static int selinux_inode_getsecurity(const struct inode *inode, const char *name
>  	 * and lack of permission just means that we fall back to the
>  	 * in-core context value, not a denial.
>  	 */
> -	error = secondary_ops->capable(current, CAP_MAC_ADMIN, SECURITY_CAP_NOAUDIT);
> -	if (!error)
> -		error = avc_has_perm_noaudit(tsec->sid, tsec->sid,
> -					     SECCLASS_CAPABILITY2,
> -					     CAPABILITY2__MAC_ADMIN,
> -					     0,
> -					     NULL);
> +	error = selinux_capable(current, CAP_MAC_ADMIN, SECURITY_CAP_NOAUDIT);
>  	if (!error)
>  		error = security_sid_to_context_force(isec->sid, &context,
>  						      &size);
-- 
Stephen Smalley
National Security Agency


      reply	other threads:[~2008-11-07 15:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-07 15:23 [PATCH -v3 1/4] SECURITY: new capable_noaudit interface Eric Paris
2008-11-07 15:23 ` [PATCH -v3 2/4] vm: use new has_capability_noaudit Eric Paris
2008-11-07 15:39   ` Stephen Smalley
2008-11-07 15:23 ` [PATCH -v3 3/4] filesystems: use has_capability_noaudit interface for reserved blocks checks Eric Paris
2008-11-07 15:23 ` [PATCH -v3 4/4] SELinux: use new cap_noaudit interface Eric Paris
2008-11-07 15:38   ` Stephen Smalley [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1226072290.16320.60.camel@moss-spartans.epoch.ncsc.mil \
    --to=sds@tycho.nsa.gov \
    --cc=casey@schaufler-ca.com \
    --cc=eparis@redhat.com \
    --cc=esandeen@redhat.com \
    --cc=jmorris@nameil.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=morgan@kernel.org \
    --cc=selinux@tycho.nsa.gov \
    --cc=serue@us.ibm.com \
    --subject='Re: [PATCH -v3 4/4] SELinux: use new cap_noaudit interface' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).