[bug report] AppArmor: policy routines for loading and unpacking policy
John Johansen
john.johansen at canonical.com
Tue Jul 10 14:32:16 UTC 2018
On 07/04/2018 03:35 AM, Dan Carpenter wrote:
> Hello John Johansen,
>
> The patch 736ec752d95e: "AppArmor: policy routines for loading and
> unpacking policy" from Jul 29, 2010, leads to the following static
> checker warning:
>
> security/apparmor/policy_unpack.c:410 verify_accept()
> warn: bitwise AND condition is false here
>
> security/apparmor/policy_unpack.c:413 verify_accept()
> warn: bitwise AND condition is false here
>
> security/apparmor/policy_unpack.c
> 392 #define DFA_VALID_PERM_MASK 0xffffffff
> 393 #define DFA_VALID_PERM2_MASK 0xffffffff
> 394
> 395 /**
> 396 * verify_accept - verify the accept tables of a dfa
> 397 * @dfa: dfa to verify accept tables of (NOT NULL)
> 398 * @flags: flags governing dfa
> 399 *
> 400 * Returns: 1 if valid accept tables else 0 if error
> 401 */
> 402 static bool verify_accept(struct aa_dfa *dfa, int flags)
> 403 {
> 404 int i;
> 405
> 406 /* verify accept permissions */
> 407 for (i = 0; i < dfa->tables[YYTD_ID_ACCEPT]->td_lolen; i++) {
> 408 int mode = ACCEPT_TABLE(dfa)[i];
> 409
> 410 if (mode & ~DFA_VALID_PERM_MASK)
> 411 return 0;
> 412
> 413 if (ACCEPT_TABLE2(dfa)[i] & ~DFA_VALID_PERM2_MASK)
> 414 return 0;
>
> Normally, I don't report this kind of static checker warning because it
> looks like maybe we had intended to make DFA_VALID_PERM_MASK
> configurable or something.
>
> But these kinds of things make me nervous when they're part of a
> permission check. It's been 8 years and this function has always just
> been a no-op which says that the the permissions are OK. Can we just
> remove the function?
>
> 415 }
> 416 return 1;
> 417 }
>
hey Dan,
yes I have a dfa rework that gets rid of this, its just not quite ready
to land. I can see about cherry-picking from the series to get rid
of this sooner than later.
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the Linux-security-module-archive
mailing list