diff options
author | John Johansen <john.johansen@canonical.com> | 2022-02-22 13:09:20 +0300 |
---|---|---|
committer | John Johansen <john.johansen@canonical.com> | 2022-07-10 01:13:59 +0300 |
commit | f9da5b14521cbb57ff45bd8134d3b8320638b1e6 (patch) | |
tree | 6f2281c66d5f40ca938cbec75687850634379242 /security/apparmor/policy_unpack.c | |
parent | 3e2a3a0830a2090e766d0d887d52c67de2a6f323 (diff) | |
download | linux-f9da5b14521cbb57ff45bd8134d3b8320638b1e6.tar.xz |
apparmor: Fix undefined reference to `zlib_deflate_workspacesize'
IF CONFIG_SECURITY_APPARMOR_EXPORT_BINARY is disabled, there remains
some unneed references to zlib, and can result in undefined symbol
references if ZLIB_INFLATE or ZLIB_DEFLATE are not defined.
Reported-by: kernel test robot <lkp@intel.com>
Fixes: abfb9c0725f2 ("apparmor: make export of raw binary profile to userspace optional")
Signed-off-by: John Johansen <john.johansen@canonical.com>
Diffstat (limited to 'security/apparmor/policy_unpack.c')
-rw-r--r-- | security/apparmor/policy_unpack.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c index 3cc0fd2dff87..df4033db0e0f 100644 --- a/security/apparmor/policy_unpack.c +++ b/security/apparmor/policy_unpack.c @@ -1056,6 +1056,7 @@ struct aa_load_ent *aa_load_ent_alloc(void) static int deflate_compress(const char *src, size_t slen, char **dst, size_t *dlen) { +#ifdef CONFIG_SECURITY_APPARMOR_EXPORT_BINARY int error; struct z_stream_s strm; void *stgbuf, *dstbuf; @@ -1127,6 +1128,10 @@ fail_deflate_init: fail_deflate: kvfree(stgbuf); goto fail_stg_alloc; +#else + *dlen = slen; + return 0; +#endif } static int compress_loaddata(struct aa_loaddata *data) @@ -1145,7 +1150,8 @@ static int compress_loaddata(struct aa_loaddata *data) if (error) return error; - kvfree(udata); + if (udata != data->data) + kvfree(udata); } else data->compressed_size = data->size; |