• John Johansen's avatar
    apparmor: Fix regression in compat permissions for getattr · cbb13e12
    John Johansen authored
    This fixes a regression in mediation of getattr when old policy built
    under an older ABI is loaded and mapped to internal permissions.
    
    The regression does not occur for all getattr permission requests,
    only appearing if state zero is the final state in the permission
    lookup.  This is because despite the first state (index 0) being
    guaranteed to not have permissions in both newer and older permission
    formats, it may have to carry permissions that were not mediated as
    part of an older policy. These backward compat permissions are
    mapped here to avoid special casing the mediation code paths.
    
    Since the mapping code already takes into account backwards compat
    permission from older formats it can be applied to state 0 to fix
    the regression.
    
    Fixes: 408d53e9 ("apparmor: compute file permissions on profile load")
    Reported-by: default avatarPhilip Meulengracht <the_meulengracht@hotmail.com>
    Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
    cbb13e12
policy_compat.c 8.63 KB