diff options
Diffstat (limited to 'security/selinux/ss/policydb.c')
-rw-r--r-- | security/selinux/ss/policydb.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index 2bb9c2fd5f1a..9cd9b7c661ec 100644 --- a/security/selinux/ss/policydb.c +++ b/security/selinux/ss/policydb.c | |||
@@ -138,6 +138,11 @@ static struct policydb_compat_info policydb_compat[] = { | |||
138 | .sym_num = SYM_NUM, | 138 | .sym_num = SYM_NUM, |
139 | .ocon_num = OCON_NUM, | 139 | .ocon_num = OCON_NUM, |
140 | }, | 140 | }, |
141 | { | ||
142 | .version = POLICYDB_VERSION_DEFAULT_TYPE, | ||
143 | .sym_num = SYM_NUM, | ||
144 | .ocon_num = OCON_NUM, | ||
145 | }, | ||
141 | }; | 146 | }; |
142 | 147 | ||
143 | static struct policydb_compat_info *policydb_lookup_compat(int version) | 148 | static struct policydb_compat_info *policydb_lookup_compat(int version) |
@@ -1321,6 +1326,13 @@ static int class_read(struct policydb *p, struct hashtab *h, void *fp) | |||
1321 | cladatum->default_range = le32_to_cpu(buf[2]); | 1326 | cladatum->default_range = le32_to_cpu(buf[2]); |
1322 | } | 1327 | } |
1323 | 1328 | ||
1329 | if (p->policyvers >= POLICYDB_VERSION_DEFAULT_TYPE) { | ||
1330 | rc = next_entry(buf, fp, sizeof(u32) * 1); | ||
1331 | if (rc) | ||
1332 | goto bad; | ||
1333 | cladatum->default_type = le32_to_cpu(buf[0]); | ||
1334 | } | ||
1335 | |||
1324 | rc = hashtab_insert(h, key, cladatum); | 1336 | rc = hashtab_insert(h, key, cladatum); |
1325 | if (rc) | 1337 | if (rc) |
1326 | goto bad; | 1338 | goto bad; |
@@ -2857,6 +2869,13 @@ static int class_write(void *vkey, void *datum, void *ptr) | |||
2857 | return rc; | 2869 | return rc; |
2858 | } | 2870 | } |
2859 | 2871 | ||
2872 | if (p->policyvers >= POLICYDB_VERSION_DEFAULT_TYPE) { | ||
2873 | buf[0] = cpu_to_le32(cladatum->default_type); | ||
2874 | rc = put_entry(buf, sizeof(uint32_t), 1, fp); | ||
2875 | if (rc) | ||
2876 | return rc; | ||
2877 | } | ||
2878 | |||
2860 | return 0; | 2879 | return 0; |
2861 | } | 2880 | } |
2862 | 2881 | ||