diff mbox series

apparmor: fix build error undefined reference to zlib_*

Message ID 20190212094828.8429-1-anders.roxell@linaro.org
State New
Headers show
Series apparmor: fix build error undefined reference to zlib_* | expand

Commit Message

Anders Roxell Feb. 12, 2019, 9:48 a.m. UTC
With commit 876dd866c084 ("apparmor: Initial implementation of raw
policy blob compression") and SECURITY_APPARMOR is set to '=y'
ZLIB_DEFLATE must be enabled as well for the linker to see the symbols.

aarch64-linux-gnu-ld: security/apparmor/policy_unpack.o: in function `deflate_compress':
../security/apparmor/policy_unpack.c:1030: undefined reference to `zlib_deflate_workspacesize'
aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1030:(.text+0xe20): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `zlib_deflate_workspacesize'
aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1036: undefined reference to `zlib_deflateInit2'
aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1036:(.text+0xe60): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `zlib_deflateInit2'
aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1053: undefined reference to `zlib_deflate'
aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1053:(.text+0xec0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `zlib_deflate'
aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1081: undefined reference to `zlib_deflateEnd'
aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1081:(.text+0xf90): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `zlib_deflateEnd'
aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1081: undefined reference to `zlib_deflateEnd'
aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1081:(.text+0xfb4): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `zlib_deflateEnd'
aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1081: undefined reference to `zlib_deflateEnd'
aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1081:(.text+0xfd8): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `zlib_deflateEnd'
make[1]: *** [Makefile:1023: vmlinux] Error 1
make[1]: Target 'Image' not remade because of errors.
make: *** [Makefile:152: sub-make] Error 2
make: Target 'Image' not remade because of errors.

Rework so when SECURITY_APPARMOR is set to '=y' ZLIB_INFLATE and ZLIB_DEFLATE gets
selected, since both are used by the SECURITY_APPARMOR.

Signed-off-by: Anders Roxell <anders.roxell@linaro.org>

---
 security/apparmor/Kconfig | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.20.1

Comments

John Johansen Feb. 12, 2019, 10:53 a.m. UTC | #1
On 2/12/19 1:48 AM, Anders Roxell wrote:
> With commit 876dd866c084 ("apparmor: Initial implementation of raw

> policy blob compression") and SECURITY_APPARMOR is set to '=y'

> ZLIB_DEFLATE must be enabled as well for the linker to see the symbols.

> 

> aarch64-linux-gnu-ld: security/apparmor/policy_unpack.o: in function `deflate_compress':

> ../security/apparmor/policy_unpack.c:1030: undefined reference to `zlib_deflate_workspacesize'

> aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1030:(.text+0xe20): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `zlib_deflate_workspacesize'

> aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1036: undefined reference to `zlib_deflateInit2'

> aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1036:(.text+0xe60): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `zlib_deflateInit2'

> aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1053: undefined reference to `zlib_deflate'

> aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1053:(.text+0xec0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `zlib_deflate'

> aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1081: undefined reference to `zlib_deflateEnd'

> aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1081:(.text+0xf90): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `zlib_deflateEnd'

> aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1081: undefined reference to `zlib_deflateEnd'

> aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1081:(.text+0xfb4): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `zlib_deflateEnd'

> aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1081: undefined reference to `zlib_deflateEnd'

> aarch64-linux-gnu-ld: ../security/apparmor/policy_unpack.c:1081:(.text+0xfd8): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `zlib_deflateEnd'

> make[1]: *** [Makefile:1023: vmlinux] Error 1

> make[1]: Target 'Image' not remade because of errors.

> make: *** [Makefile:152: sub-make] Error 2

> make: Target 'Image' not remade because of errors.

> 

> Rework so when SECURITY_APPARMOR is set to '=y' ZLIB_INFLATE and ZLIB_DEFLATE gets

> selected, since both are used by the SECURITY_APPARMOR.

> 

> Signed-off-by: Anders Roxell <anders.roxell@linaro.org>


yep thanks for the patch,

unfortunately this same fix landed in apparmor-next about 5 hours ago

> ---

>  security/apparmor/Kconfig | 2 ++

>  1 file changed, 2 insertions(+)

> 

> diff --git a/security/apparmor/Kconfig b/security/apparmor/Kconfig

> index 3de21f46c82a..99c35e22c119 100644

> --- a/security/apparmor/Kconfig

> +++ b/security/apparmor/Kconfig

> @@ -5,6 +5,8 @@ config SECURITY_APPARMOR

>  	select SECURITY_PATH

>  	select SECURITYFS

>  	select SECURITY_NETWORK

> +	select ZLIB_INFLATE

> +	select ZLIB_DEFLATE

>  	default n

>  	help

>  	  This enables the AppArmor security module.

>
diff mbox series

Patch

diff --git a/security/apparmor/Kconfig b/security/apparmor/Kconfig
index 3de21f46c82a..99c35e22c119 100644
--- a/security/apparmor/Kconfig
+++ b/security/apparmor/Kconfig
@@ -5,6 +5,8 @@  config SECURITY_APPARMOR
 	select SECURITY_PATH
 	select SECURITYFS
 	select SECURITY_NETWORK
+	select ZLIB_INFLATE
+	select ZLIB_DEFLATE
 	default n
 	help
 	  This enables the AppArmor security module.