domain.c (3423166fdbc2444bf3a4a27af1d7508364a17be7) domain.c (259e5e6c75a910f3b5e656151dc602f53f9d7548)
1/*
2 * AppArmor security module
3 *
4 * This file contains AppArmor policy attachment and domain transitions
5 *
6 * Copyright (C) 2002-2008 Novell/SUSE
7 * Copyright 2009-2010 Canonical Ltd.
8 *

--- 346 unchanged lines hidden (view full) ---

355 const char *name = NULL, *target = NULL, *info = NULL;
356 int error = cap_bprm_set_creds(bprm);
357 if (error)
358 return error;
359
360 if (bprm->cred_prepared)
361 return 0;
362
1/*
2 * AppArmor security module
3 *
4 * This file contains AppArmor policy attachment and domain transitions
5 *
6 * Copyright (C) 2002-2008 Novell/SUSE
7 * Copyright 2009-2010 Canonical Ltd.
8 *

--- 346 unchanged lines hidden (view full) ---

355 const char *name = NULL, *target = NULL, *info = NULL;
356 int error = cap_bprm_set_creds(bprm);
357 if (error)
358 return error;
359
360 if (bprm->cred_prepared)
361 return 0;
362
363 /* XXX: no_new_privs is not usable with AppArmor yet */
364 if (bprm->unsafe & LSM_UNSAFE_NO_NEW_PRIVS)
365 return -EPERM;
366
363 cxt = bprm->cred->security;
364 BUG_ON(!cxt);
365
366 profile = aa_get_profile(aa_newest_version(cxt->profile));
367 /*
368 * get the namespace from the replacement profile as replacement
369 * can change the namespace
370 */

--- 453 unchanged lines hidden ---
367 cxt = bprm->cred->security;
368 BUG_ON(!cxt);
369
370 profile = aa_get_profile(aa_newest_version(cxt->profile));
371 /*
372 * get the namespace from the replacement profile as replacement
373 * can change the namespace
374 */

--- 453 unchanged lines hidden ---