All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@ftp.linux.org.uk>
To: Casey Schaufler <casey@schaufler-ca.com>
Cc: torvalds@osdl.org, akpm@osdl.org,
	linux-security-module@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Version 8 (2.6.23) Smack: Simplified Mandatory Access Control Kernel
Date: Thu, 18 Oct 2007 05:57:05 +0100	[thread overview]
Message-ID: <20071018045705.GM8181@ftp.linux.org.uk> (raw)
In-Reply-To: <47158CE4.30706@schaufler-ca.com>

On Tue, Oct 16, 2007 at 09:17:40PM -0700, Casey Schaufler wrote:

At random:

> +static int smack_netlabel(struct sock *sk)
> +{
> +	static int initialized;
> +	struct socket_smack *ssp = sk->sk_security;
> +	struct netlbl_lsm_secattr secattr;
> +	int rc = 0;
> +
> +	if (!initialized) {
> +		smk_cipso_doi();
> +		initialized = 1;
> +	}

And just what happens if another task calls the same while we are
blocked on allocation in smk_cipso_doi()?

Another problem is your handling of smk_known - you add to head under
mutex; fine.  However, you read without one _and_ have no barriers
in initializing new list entries.

Think what happens if CPU1 adds to list and CPU2 sees write to smk_known
*before* it sees write to ->smk_next.  We see a single-element list and
we'll be lucky if that single entry won't be FUBAR.

  reply	other threads:[~2007-10-18  4:57 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-17  4:17 [PATCH] Version 8 (2.6.23) Smack: Simplified Mandatory Access Control Kernel Casey Schaufler
2007-10-18  4:57 ` Al Viro [this message]
2007-10-18  5:10   ` Al Viro
2007-10-19 12:39     ` Ahmed S. Darwish
2007-10-18 20:13   ` Casey Schaufler
2007-10-18 20:26     ` Al Viro
2007-10-21  1:40 ` [PATCH] Smackv8: Omit non-cipso labels in cipso_seq_start Ahmed S. Darwish
2007-10-21  2:25   ` [PATCH] Smackv8: Safe lockless {cipso,load} read operation 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=20071018045705.GM8181@ftp.linux.org.uk \
    --to=viro@ftp.linux.org.uk \
    --cc=akpm@osdl.org \
    --cc=casey@schaufler-ca.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=torvalds@osdl.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.