| 123456789101112131415161718192021222324252627282930313233 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * AppArmor security module
- *
- * Code to provide backwards compatibility with older policy versions,
- * by converting/mapping older policy formats into the newer internal
- * formats.
- *
- * Copyright 2022 Canonical Ltd.
- */
- #ifndef __POLICY_COMPAT_H
- #define __POLICY_COMPAT_H
- #include "policy.h"
- #define K_ABI_MASK 0x3ff
- #define FORCE_COMPLAIN_FLAG 0x800
- #define VERSION_LT(X, Y) (((X) & K_ABI_MASK) < ((Y) & K_ABI_MASK))
- #define VERSION_LE(X, Y) (((X) & K_ABI_MASK) <= ((Y) & K_ABI_MASK))
- #define VERSION_GT(X, Y) (((X) & K_ABI_MASK) > ((Y) & K_ABI_MASK))
- #define v5 5 /* base version */
- #define v6 6 /* per entry policydb mediation check */
- #define v7 7
- #define v8 8 /* full network masking */
- #define v9 9 /* xbits are used as permission bits in policydb */
- int aa_compat_map_xmatch(struct aa_policydb *policy);
- int aa_compat_map_policy(struct aa_policydb *policy, u32 version);
- int aa_compat_map_file(struct aa_policydb *policy);
- #endif /* __POLICY_COMPAT_H */
|