• John Johansen's avatar
    apparmor: remove no-op permission check in policy_unpack · c037bd61
    John Johansen authored
    The patch 736ec752: "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;
    
    fixes: 736ec752 ("AppArmor: policy routines for loading and unpacking policy")
    Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
    c037bd61
policy_unpack.c 25 KB