Re: [PATCH] slim: fix bug with mm_users usage

From: Hugh Dickins
Date: Sat Sep 23 2006 - 10:39:39 EST


On Fri, 22 Sep 2006, Kylene Jo Hall wrote:

Nothing to do with this patch as such, but as it went past I noticed

> --- linux-2.6.18-rc6-orig/security/slim/slm_main.c 2006-09-18 16:41:51.000000000 -0500
> +++ linux-2.6.18-rc6/security/slim/slm_main.c 2006-09-22 13:58:35.000000000 -0500
> @@ -529,7 +519,7 @@ static int enforce_integrity_read(struct
> spin_lock(&cur_tsec->lock);
> if (!is_iac_less_than_or_exempt(level, cur_tsec->iac_r)) {
> rc = has_file_wperm(level);
> - if (atomic_read(&current->mm->mm_users) != 1)
> + if (current->mm && atomic_read(&current->mm->mm_users) != 1)
> rc = 1;

I've not studied your patches, and I don't know what that line's about,
but you appear to be attaching considerable significance to the value of
mm->mm_users. Yet swapoff (try_to_unuse) has to bump it up to hold the
mm temporarily, as does get_task_mm() used in various places (mainly /proc).

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