lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1225387052.3235.1.camel@localhost.localdomain>
Date:	Thu, 30 Oct 2008 13:17:32 -0400
From:	Eric Paris <eparis@...hat.com>
To:	Paul Moore <paul.moore@...com>
Cc:	"Serge E. Hallyn" <serue@...ibm.com>, linux-kernel@...r.kernel.org,
	selinux@...ho.nsa.gov, linux-security-module@...r.kernel.org,
	sds@...ho.nsa.gov, jmorris@...eil.org, morgan@...nel.org,
	casey@...aufler-ca.com, esandeen@...hat.com
Subject: Re: [PATCH -v1 1/3] SECURITY: new capable_noaudit interface

On Thu, 2008-10-30 at 12:46 -0400, Paul Moore wrote:
> On Thursday 30 October 2008 11:29:40 am Serge E. Hallyn wrote:
> > Quoting Eric Paris (eparis@...hat.com):
> > > Add a new capable interface that will be used by systems that use
> > > audit to make an A or B type decision instead of a security
> > > decision.  Currently this is the case at least for filesystems when
> > > deciding if a process can use the reserved 'root' blocks and for
> > > the case of things like the oom algorithm determining if processes
> > > are root processes and should be less likely to be killed.  These
> > > types of security system requests should not be audited or logged
> > > since they are not really security decisions.  It would be possible
> > > to solve this problem like the vm_enough_memory security check did
> > > by creating a new LSM interface and moving all of the policy into
> > > that interface but proves the needlessly bloat the LSM and provide
> > > complex indirection.
> > >
> > > This merely allows those decisions to be made where they belong and
> > > to not flood logs or printk with denials for thing that are not
> > > security decisions.
> > >
> > > Signed-off-by: Eric Paris <eparis@...hat.com>
> >
> > Please introduce some meaningful defines instead of passing 0 and 1.
> > I.e.
> >
> > #define CAP_NOAUDIT 0
> > #define CAP_AUDIT 1
> >
> > Otherwise, looks fine.
> 
> As a general rule aren't boolean arguments like this frowned upon, with 
> variations on the function preferred, i.e. something like below?
> 
>  int cap_capable(struct task_struct *tsk, int cap);
>  int cap_capable_audit(struct task_struct *tsk, int cap);

Well from outside the "security" subsystem people should call either

has_capability()
has_capability_noaudit()
or
capable()   (which calls has_capability())

How far down do I have to keep duplicating functionality to avoid
booleans?

-Eric

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ