LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: "Ahmed S. Darwish" <darwish.07@gmail.com>
To: Paul Moore <paul.moore@hp.com>
Cc: Chris Wright <chrisw@sous-sol.org>,
Stephen Smalley <sds@tycho.nsa.gov>,
James Morris <jmorris@namei.org>,
Eric Paris <eparis@parisplace.org>,
Casey Schaufler <casey@schaufler-ca.com>,
David Woodhouse <dwmw2@infradead.org>,
linux-security-module@vger.kernel.org,
LKML <linux-kernel@vger.kernel.org>,
akpm <akpm@linux-foundation.org>
Subject: Re: [PATCH -mm 3/4] Audit: start not to use SELinux exported symbols
Date: Wed, 27 Feb 2008 19:11:58 +0200 [thread overview]
Message-ID: <20080227171158.GB27965@ubuntu> (raw)
In-Reply-To: <200802271100.57487.paul.moore@hp.com>
Hi!,
On Wed, Feb 27, 2008 at 11:00:57AM -0500, Paul Moore wrote:
> On Tuesday 26 February 2008 6:28:08 pm Ahmed S. Darwish wrote:
...
> >
> > Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
> > Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
>
> In the future, such patches should probably also be CC'd to the audit
> list.
>
No problem.
> > ---
> >
> > include/linux/security.h | 5 ++++-
> > kernel/audit.c | 14 +++++++-------
> > kernel/auditfilter.c | 5 +++--
> > kernel/auditsc.c | 37
> > ++++++++++++++++++------------------- security/dummy.c | 4
> > +++-
> > 6 files changed, 36 insertions(+), 32 deletions(-)
> >
> > diff --git a/include/linux/security.h b/include/linux/security.h
> > index a7fb136..35c98f0 100644
> > --- a/include/linux/security.h
> > +++ b/include/linux/security.h
> > @@ -621,6 +621,7 @@ struct request_sock;
> > * @task_getsecid:
> > * Retrieve the security identifier of the process @p.
> > * @p contains the task_struct for the process and place is into
> > @secid.
> > + * In case of failure, @secid will be set to zero
>
> This is a nit, but you used spaces between the "*" and "In case ..."
> where the rest of the files uses tabs. When in doubt, try and stick
> with whatever formatting the rest of the source file uses.
>
I'll find a way to teach emacs how to print a tab ;). Will do.
> > diff --git a/kernel/audit.c b/kernel/audit.c
> > index 8316a88..2bd4124 100644
> > --- a/kernel/audit.c
> > +++ b/kernel/audit.c
> > @@ -259,13 +259,13 @@ static int audit_log_config_change(char
> > *function_name, int new, int old, char *ctx = NULL;
> > u32 len;
> >
> > - rc = selinux_sid_to_string(sid, &ctx, &len);
> > + rc = security_secid_to_secctx(sid, &ctx, &len);
> > if (rc) {
> > audit_log_format(ab, " sid=%u", sid);
> > allow_changes = 0; /* Something weird, deny request */
> > } else {
> > audit_log_format(ab, " subj=%s", ctx);
> > - kfree(ctx);
> > + security_release_secctx(ctx, len);
> > }
> > }
> > audit_log_format(ab, " res=%d", allow_changes);
> > @@ -543,12 +543,12 @@ static int audit_log_common_recv_msg(struct
> > audit_buffer **ab, u16 msg_type, audit_log_format(*ab, "user pid=%d
> > uid=%u auid=%u",
> > pid, uid, auid);
> > if (sid) {
> > - rc = selinux_sid_to_string(sid, &ctx, &len);
> > + rc = security_secid_to_secctx(sid, &ctx, &len);
> > if (rc)
> > audit_log_format(*ab, " ssid=%u", sid);
> > else
> > audit_log_format(*ab, " subj=%s", ctx);
> > - kfree(ctx);
> > + security_release_secctx(ctx, len);
> > }
> >
> > return rc;
>
> This next part isn't your fault, but you're touching the code so I'm
> going to point it out and suggest you fix it while you are at it :)
>
> If you look at how kfree()/security_release_secctx() is called in the
> above two functions you notice how it is inconsistent: it is only
> called on success in the first case, but called regardless in the
> second. Make this consistent, preferably using the approach taken in
> the first case (only call it on success).
>
My pleasure. You'll find them consistent in the next send.
[Same release_ctx() consistency point]
...
>
> > @@ -951,7 +951,7 @@ static int audit_log_pid_context(struct
> > audit_context *context, pid_t pid,
> >
> > audit_log_format(ab, "opid=%d oauid=%d ouid=%d oses=%d", pid, auid,
> > uid, sessionid);
> > - if (selinux_sid_to_string(sid, &s, &len)) {
> > + if (security_secid_to_secctx(sid, &s, &len)) {
> > audit_log_format(ab, " obj=(none)");
> > rc = 1;
> > } else
>
> You forgot to convert the matching kfree() call to a
> security_release_secctx() call. Also it might be nice to change the
> context variable name from "s" to "ctx", but some ornery folks might
> whine about that ...
>
Nice spot, will do. 's' will be changed too, context is already
used as 'ctx' in the whole file anyway.
[...]
>
> Only call the release routine on success.
>
[...]
>
> Here too.
>
[...]
>
> One last time.
>
Thanks a lot for such a deep review :). I'll modify spotted problems
as suggested, reorder the patch in a non compilation-breaking order,
and keep you informed.
Modified patches will be sent with the new ones that will complete
the separation not to add too much noise in LKML.
Warm regards
--
"Better to light a candle, than curse the darkness"
Ahmed S. Darwish
Homepage: http://darwish.07.googlepages.com
Blog: http://darwish-07.blogspot.com
next prev parent reply other threads:[~2008-02-27 17:15 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-26 23:22 [PATCH -mm 0/4] LSM interfaced Audit (SELinux audit separation) Ahmed S. Darwish
2008-02-26 23:24 ` [PATCH -mm 1/4] LSM: Introduce inode_getsecid and ipc_getsecid hooks Ahmed S. Darwish
2008-02-27 16:04 ` Paul Moore
2008-02-27 16:45 ` Ahmed S. Darwish
2008-02-26 23:25 ` [PATCH -mm 2/4] SELinux: Remove various exported symbols Ahmed S. Darwish
2008-02-26 23:42 ` Paul Moore
2008-02-26 23:28 ` [PATCH -mm 3/4] Audit: start not to use SELinux " Ahmed S. Darwish
2008-02-27 16:00 ` Paul Moore
2008-02-27 17:11 ` Ahmed S. Darwish [this message]
2008-02-27 22:25 ` James Morris
2008-02-26 23:31 ` [PATCH -mm 4/4] Netlink: Use LSM interface instead of SELinux one Ahmed S. Darwish
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=20080227171158.GB27965@ubuntu \
--to=darwish.07@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=casey@schaufler-ca.com \
--cc=chrisw@sous-sol.org \
--cc=dwmw2@infradead.org \
--cc=eparis@parisplace.org \
--cc=jmorris@namei.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=paul.moore@hp.com \
--cc=sds@tycho.nsa.gov \
--subject='Re: [PATCH -mm 3/4] Audit: start not to use SELinux exported symbols' \
/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).