apparmor: Initial implementation of raw policy blob compression
[sfrench/cifs-2.6.git] / security / apparmor / include / policy_unpack.h
index 8db4ab759e80f37837e170744f5788125ef5f657..0739867bb87c5ba85bf57484a527d15e1eafa0a5 100644 (file)
@@ -45,6 +45,7 @@ enum {
        AAFS_LOADDATA_REVISION,
        AAFS_LOADDATA_HASH,
        AAFS_LOADDATA_DATA,
+       AAFS_LOADDATA_COMPRESSED_SIZE,
        AAFS_LOADDATA_DIR,              /* must be last actual entry */
        AAFS_LOADDATA_NDENTS            /* count of entries */
 };
@@ -65,11 +66,16 @@ struct aa_loaddata {
        struct dentry *dents[AAFS_LOADDATA_NDENTS];
        struct aa_ns *ns;
        char *name;
-       size_t size;
+       size_t size;                    /* the original size of the payload */
+       size_t compressed_size;         /* the compressed size of the payload */
        long revision;                  /* the ns policy revision this caused */
        int abi;
        unsigned char *hash;
 
+       /* Pointer to payload. If @compressed_size > 0, then this is the
+        * compressed version of the payload, else it is the uncompressed
+        * version (with the size indicated by @size).
+        */
        char *data;
 };