From: Matt Weber Date: Mon, 4 May 2020 15:41:07 +0000 (-0500) Subject: package/libsepol: fix -fno-common build faiures X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=17e71b34621eba412a089bcd2d97b5bb87907ad8;p=buildroot.git package/libsepol: fix -fno-common build faiures Add upstream patch for libsepol: remove leftovers of cil_mem_error_handler libsepol: fix CIL_KEY_* build errors with -fno-common Fixes: http://autobuild.buildroot.net/results/3d133ce6e83833f0c70a91270d0c49304c3413f6/ Cc: Romain Naour Cc: Adam Duskett Signed-off-by: Matthew Weber Tested-by: Romain Naour Signed-off-by: Yann E. MORIN --- diff --git a/package/libsepol/0002-libsepol-fix-CIL_KEY_-build-errors-with-fno-common.patch b/package/libsepol/0002-libsepol-fix-CIL_KEY_-build-errors-with-fno-common.patch new file mode 100644 index 0000000000..6876751ee0 --- /dev/null +++ b/package/libsepol/0002-libsepol-fix-CIL_KEY_-build-errors-with-fno-common.patch @@ -0,0 +1,528 @@ +From a96e8c59ecac84096d870b42701a504791a8cc8c Mon Sep 17 00:00:00 2001 +From: Ondrej Mosnacek +Date: Thu, 23 Jan 2020 13:57:13 +0100 +Subject: [PATCH] libsepol: fix CIL_KEY_* build errors with -fno-common + +GCC 10 comes with -fno-common enabled by default - fix the CIL_KEY_* +global variables to be defined only once in cil.c and declared in the +header file correctly with the 'extern' keyword, so that other units +including the file don't generate duplicate definitions. + +Upstream: https://github.com/SELinuxProject/selinux/commit/a96e8c59ecac84096d870b42701a504791a8cc8c + +Signed-off-by: Ondrej Mosnacek +Signed-off-by: Matt Weber +--- + cil/src/cil.c | 162 ++++++++++++++++ + cil/src/cil_internal.h | 322 ++++++++++++++++---------------- + 2 files changed, 323 insertions(+), 161 deletions(-) + +diff --git a/cil/src/cil.c b/cil/src/cil.c +index de729cf8..d222ad3a 100644 +--- a/cil/src/cil.c ++++ b/cil/src/cil.c +@@ -77,6 +77,168 @@ int cil_sym_sizes[CIL_SYM_ARRAY_NUM][CIL_SYM_NUM] = { + {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} + }; + ++char *CIL_KEY_CONS_T1; ++char *CIL_KEY_CONS_T2; ++char *CIL_KEY_CONS_T3; ++char *CIL_KEY_CONS_R1; ++char *CIL_KEY_CONS_R2; ++char *CIL_KEY_CONS_R3; ++char *CIL_KEY_CONS_U1; ++char *CIL_KEY_CONS_U2; ++char *CIL_KEY_CONS_U3; ++char *CIL_KEY_CONS_L1; ++char *CIL_KEY_CONS_L2; ++char *CIL_KEY_CONS_H1; ++char *CIL_KEY_CONS_H2; ++char *CIL_KEY_AND; ++char *CIL_KEY_OR; ++char *CIL_KEY_NOT; ++char *CIL_KEY_EQ; ++char *CIL_KEY_NEQ; ++char *CIL_KEY_CONS_DOM; ++char *CIL_KEY_CONS_DOMBY; ++char *CIL_KEY_CONS_INCOMP; ++char *CIL_KEY_CONDTRUE; ++char *CIL_KEY_CONDFALSE; ++char *CIL_KEY_SELF; ++char *CIL_KEY_OBJECT_R; ++char *CIL_KEY_STAR; ++char *CIL_KEY_TCP; ++char *CIL_KEY_UDP; ++char *CIL_KEY_DCCP; ++char *CIL_KEY_SCTP; ++char *CIL_KEY_AUDITALLOW; ++char *CIL_KEY_TUNABLEIF; ++char *CIL_KEY_ALLOW; ++char *CIL_KEY_DONTAUDIT; ++char *CIL_KEY_TYPETRANSITION; ++char *CIL_KEY_TYPECHANGE; ++char *CIL_KEY_CALL; ++char *CIL_KEY_TUNABLE; ++char *CIL_KEY_XOR; ++char *CIL_KEY_ALL; ++char *CIL_KEY_RANGE; ++char *CIL_KEY_GLOB; ++char *CIL_KEY_FILE; ++char *CIL_KEY_DIR; ++char *CIL_KEY_CHAR; ++char *CIL_KEY_BLOCK; ++char *CIL_KEY_SOCKET; ++char *CIL_KEY_PIPE; ++char *CIL_KEY_SYMLINK; ++char *CIL_KEY_ANY; ++char *CIL_KEY_XATTR; ++char *CIL_KEY_TASK; ++char *CIL_KEY_TRANS; ++char *CIL_KEY_TYPE; ++char *CIL_KEY_ROLE; ++char *CIL_KEY_USER; ++char *CIL_KEY_USERATTRIBUTE; ++char *CIL_KEY_USERATTRIBUTESET; ++char *CIL_KEY_SENSITIVITY; ++char *CIL_KEY_CATEGORY; ++char *CIL_KEY_CATSET; ++char *CIL_KEY_LEVEL; ++char *CIL_KEY_LEVELRANGE; ++char *CIL_KEY_CLASS; ++char *CIL_KEY_IPADDR; ++char *CIL_KEY_MAP_CLASS; ++char *CIL_KEY_CLASSPERMISSION; ++char *CIL_KEY_BOOL; ++char *CIL_KEY_STRING; ++char *CIL_KEY_NAME; ++char *CIL_KEY_SOURCE; ++char *CIL_KEY_TARGET; ++char *CIL_KEY_LOW; ++char *CIL_KEY_HIGH; ++char *CIL_KEY_LOW_HIGH; ++char *CIL_KEY_GLBLUB; ++char *CIL_KEY_HANDLEUNKNOWN; ++char *CIL_KEY_HANDLEUNKNOWN_ALLOW; ++char *CIL_KEY_HANDLEUNKNOWN_DENY; ++char *CIL_KEY_HANDLEUNKNOWN_REJECT; ++char *CIL_KEY_MACRO; ++char *CIL_KEY_IN; ++char *CIL_KEY_MLS; ++char *CIL_KEY_DEFAULTRANGE; ++char *CIL_KEY_BLOCKINHERIT; ++char *CIL_KEY_BLOCKABSTRACT; ++char *CIL_KEY_CLASSORDER; ++char *CIL_KEY_CLASSMAPPING; ++char *CIL_KEY_CLASSPERMISSIONSET; ++char *CIL_KEY_COMMON; ++char *CIL_KEY_CLASSCOMMON; ++char *CIL_KEY_SID; ++char *CIL_KEY_SIDCONTEXT; ++char *CIL_KEY_SIDORDER; ++char *CIL_KEY_USERLEVEL; ++char *CIL_KEY_USERRANGE; ++char *CIL_KEY_USERBOUNDS; ++char *CIL_KEY_USERPREFIX; ++char *CIL_KEY_SELINUXUSER; ++char *CIL_KEY_SELINUXUSERDEFAULT; ++char *CIL_KEY_TYPEATTRIBUTE; ++char *CIL_KEY_TYPEATTRIBUTESET; ++char *CIL_KEY_EXPANDTYPEATTRIBUTE; ++char *CIL_KEY_TYPEALIAS; ++char *CIL_KEY_TYPEALIASACTUAL; ++char *CIL_KEY_TYPEBOUNDS; ++char *CIL_KEY_TYPEPERMISSIVE; ++char *CIL_KEY_RANGETRANSITION; ++char *CIL_KEY_USERROLE; ++char *CIL_KEY_ROLETYPE; ++char *CIL_KEY_ROLETRANSITION; ++char *CIL_KEY_ROLEALLOW; ++char *CIL_KEY_ROLEATTRIBUTE; ++char *CIL_KEY_ROLEATTRIBUTESET; ++char *CIL_KEY_ROLEBOUNDS; ++char *CIL_KEY_BOOLEANIF; ++char *CIL_KEY_NEVERALLOW; ++char *CIL_KEY_TYPEMEMBER; ++char *CIL_KEY_SENSALIAS; ++char *CIL_KEY_SENSALIASACTUAL; ++char *CIL_KEY_CATALIAS; ++char *CIL_KEY_CATALIASACTUAL; ++char *CIL_KEY_CATORDER; ++char *CIL_KEY_SENSITIVITYORDER; ++char *CIL_KEY_SENSCAT; ++char *CIL_KEY_CONSTRAIN; ++char *CIL_KEY_MLSCONSTRAIN; ++char *CIL_KEY_VALIDATETRANS; ++char *CIL_KEY_MLSVALIDATETRANS; ++char *CIL_KEY_CONTEXT; ++char *CIL_KEY_FILECON; ++char *CIL_KEY_IBPKEYCON; ++char *CIL_KEY_IBENDPORTCON; ++char *CIL_KEY_PORTCON; ++char *CIL_KEY_NODECON; ++char *CIL_KEY_GENFSCON; ++char *CIL_KEY_NETIFCON; ++char *CIL_KEY_PIRQCON; ++char *CIL_KEY_IOMEMCON; ++char *CIL_KEY_IOPORTCON; ++char *CIL_KEY_PCIDEVICECON; ++char *CIL_KEY_DEVICETREECON; ++char *CIL_KEY_FSUSE; ++char *CIL_KEY_POLICYCAP; ++char *CIL_KEY_OPTIONAL; ++char *CIL_KEY_DEFAULTUSER; ++char *CIL_KEY_DEFAULTROLE; ++char *CIL_KEY_DEFAULTTYPE; ++char *CIL_KEY_ROOT; ++char *CIL_KEY_NODE; ++char *CIL_KEY_PERM; ++char *CIL_KEY_ALLOWX; ++char *CIL_KEY_AUDITALLOWX; ++char *CIL_KEY_DONTAUDITX; ++char *CIL_KEY_NEVERALLOWX; ++char *CIL_KEY_PERMISSIONX; ++char *CIL_KEY_IOCTL; ++char *CIL_KEY_UNORDERED; ++char *CIL_KEY_SRC_INFO; ++char *CIL_KEY_SRC_CIL; ++char *CIL_KEY_SRC_HLL; ++ + static void cil_init_keys(void) + { + /* Initialize CIL Keys into strpool */ +diff --git a/cil/src/cil_internal.h b/cil/src/cil_internal.h +index 30fab649..9bdcbdd0 100644 +--- a/cil/src/cil_internal.h ++++ b/cil/src/cil_internal.h +@@ -74,167 +74,167 @@ enum cil_pass { + /* + Keywords + */ +-char *CIL_KEY_CONS_T1; +-char *CIL_KEY_CONS_T2; +-char *CIL_KEY_CONS_T3; +-char *CIL_KEY_CONS_R1; +-char *CIL_KEY_CONS_R2; +-char *CIL_KEY_CONS_R3; +-char *CIL_KEY_CONS_U1; +-char *CIL_KEY_CONS_U2; +-char *CIL_KEY_CONS_U3; +-char *CIL_KEY_CONS_L1; +-char *CIL_KEY_CONS_L2; +-char *CIL_KEY_CONS_H1; +-char *CIL_KEY_CONS_H2; +-char *CIL_KEY_AND; +-char *CIL_KEY_OR; +-char *CIL_KEY_NOT; +-char *CIL_KEY_EQ; +-char *CIL_KEY_NEQ; +-char *CIL_KEY_CONS_DOM; +-char *CIL_KEY_CONS_DOMBY; +-char *CIL_KEY_CONS_INCOMP; +-char *CIL_KEY_CONDTRUE; +-char *CIL_KEY_CONDFALSE; +-char *CIL_KEY_SELF; +-char *CIL_KEY_OBJECT_R; +-char *CIL_KEY_STAR; +-char *CIL_KEY_TCP; +-char *CIL_KEY_UDP; +-char *CIL_KEY_DCCP; +-char *CIL_KEY_SCTP; +-char *CIL_KEY_AUDITALLOW; +-char *CIL_KEY_TUNABLEIF; +-char *CIL_KEY_ALLOW; +-char *CIL_KEY_DONTAUDIT; +-char *CIL_KEY_TYPETRANSITION; +-char *CIL_KEY_TYPECHANGE; +-char *CIL_KEY_CALL; +-char *CIL_KEY_TUNABLE; +-char *CIL_KEY_XOR; +-char *CIL_KEY_ALL; +-char *CIL_KEY_RANGE; +-char *CIL_KEY_GLOB; +-char *CIL_KEY_FILE; +-char *CIL_KEY_DIR; +-char *CIL_KEY_CHAR; +-char *CIL_KEY_BLOCK; +-char *CIL_KEY_SOCKET; +-char *CIL_KEY_PIPE; +-char *CIL_KEY_SYMLINK; +-char *CIL_KEY_ANY; +-char *CIL_KEY_XATTR; +-char *CIL_KEY_TASK; +-char *CIL_KEY_TRANS; +-char *CIL_KEY_TYPE; +-char *CIL_KEY_ROLE; +-char *CIL_KEY_USER; +-char *CIL_KEY_USERATTRIBUTE; +-char *CIL_KEY_USERATTRIBUTESET; +-char *CIL_KEY_SENSITIVITY; +-char *CIL_KEY_CATEGORY; +-char *CIL_KEY_CATSET; +-char *CIL_KEY_LEVEL; +-char *CIL_KEY_LEVELRANGE; +-char *CIL_KEY_CLASS; +-char *CIL_KEY_IPADDR; +-char *CIL_KEY_MAP_CLASS; +-char *CIL_KEY_CLASSPERMISSION; +-char *CIL_KEY_BOOL; +-char *CIL_KEY_STRING; +-char *CIL_KEY_NAME; +-char *CIL_KEY_SOURCE; +-char *CIL_KEY_TARGET; +-char *CIL_KEY_LOW; +-char *CIL_KEY_HIGH; +-char *CIL_KEY_LOW_HIGH; +-char *CIL_KEY_GLBLUB; +-char *CIL_KEY_HANDLEUNKNOWN; +-char *CIL_KEY_HANDLEUNKNOWN_ALLOW; +-char *CIL_KEY_HANDLEUNKNOWN_DENY; +-char *CIL_KEY_HANDLEUNKNOWN_REJECT; +-char *CIL_KEY_MACRO; +-char *CIL_KEY_IN; +-char *CIL_KEY_MLS; +-char *CIL_KEY_DEFAULTRANGE; +-char *CIL_KEY_BLOCKINHERIT; +-char *CIL_KEY_BLOCKABSTRACT; +-char *CIL_KEY_CLASSORDER; +-char *CIL_KEY_CLASSMAPPING; +-char *CIL_KEY_CLASSPERMISSIONSET; +-char *CIL_KEY_COMMON; +-char *CIL_KEY_CLASSCOMMON; +-char *CIL_KEY_SID; +-char *CIL_KEY_SIDCONTEXT; +-char *CIL_KEY_SIDORDER; +-char *CIL_KEY_USERLEVEL; +-char *CIL_KEY_USERRANGE; +-char *CIL_KEY_USERBOUNDS; +-char *CIL_KEY_USERPREFIX; +-char *CIL_KEY_SELINUXUSER; +-char *CIL_KEY_SELINUXUSERDEFAULT; +-char *CIL_KEY_TYPEATTRIBUTE; +-char *CIL_KEY_TYPEATTRIBUTESET; +-char *CIL_KEY_EXPANDTYPEATTRIBUTE; +-char *CIL_KEY_TYPEALIAS; +-char *CIL_KEY_TYPEALIASACTUAL; +-char *CIL_KEY_TYPEBOUNDS; +-char *CIL_KEY_TYPEPERMISSIVE; +-char *CIL_KEY_RANGETRANSITION; +-char *CIL_KEY_USERROLE; +-char *CIL_KEY_ROLETYPE; +-char *CIL_KEY_ROLETRANSITION; +-char *CIL_KEY_ROLEALLOW; +-char *CIL_KEY_ROLEATTRIBUTE; +-char *CIL_KEY_ROLEATTRIBUTESET; +-char *CIL_KEY_ROLEBOUNDS; +-char *CIL_KEY_BOOLEANIF; +-char *CIL_KEY_NEVERALLOW; +-char *CIL_KEY_TYPEMEMBER; +-char *CIL_KEY_SENSALIAS; +-char *CIL_KEY_SENSALIASACTUAL; +-char *CIL_KEY_CATALIAS; +-char *CIL_KEY_CATALIASACTUAL; +-char *CIL_KEY_CATORDER; +-char *CIL_KEY_SENSITIVITYORDER; +-char *CIL_KEY_SENSCAT; +-char *CIL_KEY_CONSTRAIN; +-char *CIL_KEY_MLSCONSTRAIN; +-char *CIL_KEY_VALIDATETRANS; +-char *CIL_KEY_MLSVALIDATETRANS; +-char *CIL_KEY_CONTEXT; +-char *CIL_KEY_FILECON; +-char *CIL_KEY_IBPKEYCON; +-char *CIL_KEY_IBENDPORTCON; +-char *CIL_KEY_PORTCON; +-char *CIL_KEY_NODECON; +-char *CIL_KEY_GENFSCON; +-char *CIL_KEY_NETIFCON; +-char *CIL_KEY_PIRQCON; +-char *CIL_KEY_IOMEMCON; +-char *CIL_KEY_IOPORTCON; +-char *CIL_KEY_PCIDEVICECON; +-char *CIL_KEY_DEVICETREECON; +-char *CIL_KEY_FSUSE; +-char *CIL_KEY_POLICYCAP; +-char *CIL_KEY_OPTIONAL; +-char *CIL_KEY_DEFAULTUSER; +-char *CIL_KEY_DEFAULTROLE; +-char *CIL_KEY_DEFAULTTYPE; +-char *CIL_KEY_ROOT; +-char *CIL_KEY_NODE; +-char *CIL_KEY_PERM; +-char *CIL_KEY_ALLOWX; +-char *CIL_KEY_AUDITALLOWX; +-char *CIL_KEY_DONTAUDITX; +-char *CIL_KEY_NEVERALLOWX; +-char *CIL_KEY_PERMISSIONX; +-char *CIL_KEY_IOCTL; +-char *CIL_KEY_UNORDERED; +-char *CIL_KEY_SRC_INFO; +-char *CIL_KEY_SRC_CIL; +-char *CIL_KEY_SRC_HLL; ++extern char *CIL_KEY_CONS_T1; ++extern char *CIL_KEY_CONS_T2; ++extern char *CIL_KEY_CONS_T3; ++extern char *CIL_KEY_CONS_R1; ++extern char *CIL_KEY_CONS_R2; ++extern char *CIL_KEY_CONS_R3; ++extern char *CIL_KEY_CONS_U1; ++extern char *CIL_KEY_CONS_U2; ++extern char *CIL_KEY_CONS_U3; ++extern char *CIL_KEY_CONS_L1; ++extern char *CIL_KEY_CONS_L2; ++extern char *CIL_KEY_CONS_H1; ++extern char *CIL_KEY_CONS_H2; ++extern char *CIL_KEY_AND; ++extern char *CIL_KEY_OR; ++extern char *CIL_KEY_NOT; ++extern char *CIL_KEY_EQ; ++extern char *CIL_KEY_NEQ; ++extern char *CIL_KEY_CONS_DOM; ++extern char *CIL_KEY_CONS_DOMBY; ++extern char *CIL_KEY_CONS_INCOMP; ++extern char *CIL_KEY_CONDTRUE; ++extern char *CIL_KEY_CONDFALSE; ++extern char *CIL_KEY_SELF; ++extern char *CIL_KEY_OBJECT_R; ++extern char *CIL_KEY_STAR; ++extern char *CIL_KEY_TCP; ++extern char *CIL_KEY_UDP; ++extern char *CIL_KEY_DCCP; ++extern char *CIL_KEY_SCTP; ++extern char *CIL_KEY_AUDITALLOW; ++extern char *CIL_KEY_TUNABLEIF; ++extern char *CIL_KEY_ALLOW; ++extern char *CIL_KEY_DONTAUDIT; ++extern char *CIL_KEY_TYPETRANSITION; ++extern char *CIL_KEY_TYPECHANGE; ++extern char *CIL_KEY_CALL; ++extern char *CIL_KEY_TUNABLE; ++extern char *CIL_KEY_XOR; ++extern char *CIL_KEY_ALL; ++extern char *CIL_KEY_RANGE; ++extern char *CIL_KEY_GLOB; ++extern char *CIL_KEY_FILE; ++extern char *CIL_KEY_DIR; ++extern char *CIL_KEY_CHAR; ++extern char *CIL_KEY_BLOCK; ++extern char *CIL_KEY_SOCKET; ++extern char *CIL_KEY_PIPE; ++extern char *CIL_KEY_SYMLINK; ++extern char *CIL_KEY_ANY; ++extern char *CIL_KEY_XATTR; ++extern char *CIL_KEY_TASK; ++extern char *CIL_KEY_TRANS; ++extern char *CIL_KEY_TYPE; ++extern char *CIL_KEY_ROLE; ++extern char *CIL_KEY_USER; ++extern char *CIL_KEY_USERATTRIBUTE; ++extern char *CIL_KEY_USERATTRIBUTESET; ++extern char *CIL_KEY_SENSITIVITY; ++extern char *CIL_KEY_CATEGORY; ++extern char *CIL_KEY_CATSET; ++extern char *CIL_KEY_LEVEL; ++extern char *CIL_KEY_LEVELRANGE; ++extern char *CIL_KEY_CLASS; ++extern char *CIL_KEY_IPADDR; ++extern char *CIL_KEY_MAP_CLASS; ++extern char *CIL_KEY_CLASSPERMISSION; ++extern char *CIL_KEY_BOOL; ++extern char *CIL_KEY_STRING; ++extern char *CIL_KEY_NAME; ++extern char *CIL_KEY_SOURCE; ++extern char *CIL_KEY_TARGET; ++extern char *CIL_KEY_LOW; ++extern char *CIL_KEY_HIGH; ++extern char *CIL_KEY_LOW_HIGH; ++extern char *CIL_KEY_GLBLUB; ++extern char *CIL_KEY_HANDLEUNKNOWN; ++extern char *CIL_KEY_HANDLEUNKNOWN_ALLOW; ++extern char *CIL_KEY_HANDLEUNKNOWN_DENY; ++extern char *CIL_KEY_HANDLEUNKNOWN_REJECT; ++extern char *CIL_KEY_MACRO; ++extern char *CIL_KEY_IN; ++extern char *CIL_KEY_MLS; ++extern char *CIL_KEY_DEFAULTRANGE; ++extern char *CIL_KEY_BLOCKINHERIT; ++extern char *CIL_KEY_BLOCKABSTRACT; ++extern char *CIL_KEY_CLASSORDER; ++extern char *CIL_KEY_CLASSMAPPING; ++extern char *CIL_KEY_CLASSPERMISSIONSET; ++extern char *CIL_KEY_COMMON; ++extern char *CIL_KEY_CLASSCOMMON; ++extern char *CIL_KEY_SID; ++extern char *CIL_KEY_SIDCONTEXT; ++extern char *CIL_KEY_SIDORDER; ++extern char *CIL_KEY_USERLEVEL; ++extern char *CIL_KEY_USERRANGE; ++extern char *CIL_KEY_USERBOUNDS; ++extern char *CIL_KEY_USERPREFIX; ++extern char *CIL_KEY_SELINUXUSER; ++extern char *CIL_KEY_SELINUXUSERDEFAULT; ++extern char *CIL_KEY_TYPEATTRIBUTE; ++extern char *CIL_KEY_TYPEATTRIBUTESET; ++extern char *CIL_KEY_EXPANDTYPEATTRIBUTE; ++extern char *CIL_KEY_TYPEALIAS; ++extern char *CIL_KEY_TYPEALIASACTUAL; ++extern char *CIL_KEY_TYPEBOUNDS; ++extern char *CIL_KEY_TYPEPERMISSIVE; ++extern char *CIL_KEY_RANGETRANSITION; ++extern char *CIL_KEY_USERROLE; ++extern char *CIL_KEY_ROLETYPE; ++extern char *CIL_KEY_ROLETRANSITION; ++extern char *CIL_KEY_ROLEALLOW; ++extern char *CIL_KEY_ROLEATTRIBUTE; ++extern char *CIL_KEY_ROLEATTRIBUTESET; ++extern char *CIL_KEY_ROLEBOUNDS; ++extern char *CIL_KEY_BOOLEANIF; ++extern char *CIL_KEY_NEVERALLOW; ++extern char *CIL_KEY_TYPEMEMBER; ++extern char *CIL_KEY_SENSALIAS; ++extern char *CIL_KEY_SENSALIASACTUAL; ++extern char *CIL_KEY_CATALIAS; ++extern char *CIL_KEY_CATALIASACTUAL; ++extern char *CIL_KEY_CATORDER; ++extern char *CIL_KEY_SENSITIVITYORDER; ++extern char *CIL_KEY_SENSCAT; ++extern char *CIL_KEY_CONSTRAIN; ++extern char *CIL_KEY_MLSCONSTRAIN; ++extern char *CIL_KEY_VALIDATETRANS; ++extern char *CIL_KEY_MLSVALIDATETRANS; ++extern char *CIL_KEY_CONTEXT; ++extern char *CIL_KEY_FILECON; ++extern char *CIL_KEY_IBPKEYCON; ++extern char *CIL_KEY_IBENDPORTCON; ++extern char *CIL_KEY_PORTCON; ++extern char *CIL_KEY_NODECON; ++extern char *CIL_KEY_GENFSCON; ++extern char *CIL_KEY_NETIFCON; ++extern char *CIL_KEY_PIRQCON; ++extern char *CIL_KEY_IOMEMCON; ++extern char *CIL_KEY_IOPORTCON; ++extern char *CIL_KEY_PCIDEVICECON; ++extern char *CIL_KEY_DEVICETREECON; ++extern char *CIL_KEY_FSUSE; ++extern char *CIL_KEY_POLICYCAP; ++extern char *CIL_KEY_OPTIONAL; ++extern char *CIL_KEY_DEFAULTUSER; ++extern char *CIL_KEY_DEFAULTROLE; ++extern char *CIL_KEY_DEFAULTTYPE; ++extern char *CIL_KEY_ROOT; ++extern char *CIL_KEY_NODE; ++extern char *CIL_KEY_PERM; ++extern char *CIL_KEY_ALLOWX; ++extern char *CIL_KEY_AUDITALLOWX; ++extern char *CIL_KEY_DONTAUDITX; ++extern char *CIL_KEY_NEVERALLOWX; ++extern char *CIL_KEY_PERMISSIONX; ++extern char *CIL_KEY_IOCTL; ++extern char *CIL_KEY_UNORDERED; ++extern char *CIL_KEY_SRC_INFO; ++extern char *CIL_KEY_SRC_CIL; ++extern char *CIL_KEY_SRC_HLL; + + /* + Symbol Table Array Indices +-- +2.17.1 + diff --git a/package/libsepol/0003-libsepol-remove-leftovers-of-cil_mem_error_handler.patch b/package/libsepol/0003-libsepol-remove-leftovers-of-cil_mem_error_handler.patch new file mode 100644 index 0000000000..a1b016121f --- /dev/null +++ b/package/libsepol/0003-libsepol-remove-leftovers-of-cil_mem_error_handler.patch @@ -0,0 +1,63 @@ +From 3d32fc24d6aff360a538c63dad08ca5c957551b0 Mon Sep 17 00:00:00 2001 +From: Ondrej Mosnacek +Date: Thu, 23 Jan 2020 13:57:14 +0100 +Subject: [PATCH] libsepol: remove leftovers of cil_mem_error_handler + +Commit 4459d635b8f1 ("libsepol: Remove cil_mem_error_handler() function +pointer") replaced cil_mem_error_handler usage with inline contents of +the default handler. However, it left over the header declaration and +two callers. Convert these as well and remove the header declaration. + +This also fixes a build failure with -fno-common. + +Upstream: https://github.com/SELinuxProject/selinux/commit/3d32fc24d6aff360a538c63dad08ca5c957551b0 + +Fixes: 4459d635b8f1 ("libsepol: Remove cil_mem_error_handler() function pointer") +Signed-off-by: Ondrej Mosnacek +Signed-off-by: Matt Weber +--- + cil/src/cil_mem.h | 1 - + cil/src/cil_strpool.c | 8 ++++---- + 2 files changed, 4 insertions(+), 5 deletions(-) + +diff --git a/cil/src/cil_mem.h b/cil/src/cil_mem.h +index 902ce131..794f02a3 100644 +--- a/cil/src/cil_mem.h ++++ b/cil/src/cil_mem.h +@@ -36,7 +36,6 @@ void *cil_calloc(size_t num_elements, size_t element_size); + void *cil_realloc(void *ptr, size_t size); + char *cil_strdup(const char *str); + int cil_asprintf(char **strp, const char *fmt, ...); +-void (*cil_mem_error_handler)(void); + + #endif /* CIL_MEM_H_ */ + +diff --git a/cil/src/cil_strpool.c b/cil/src/cil_strpool.c +index 97d4c4b9..2598bbf3 100644 +--- a/cil/src/cil_strpool.c ++++ b/cil/src/cil_strpool.c +@@ -80,8 +80,8 @@ char *cil_strpool_add(const char *str) + int rc = hashtab_insert(cil_strpool_tab, (hashtab_key_t)strpool_ref->str, strpool_ref); + if (rc != SEPOL_OK) { + pthread_mutex_unlock(&cil_strpool_mutex); +- (*cil_mem_error_handler)(); +- pthread_mutex_lock(&cil_strpool_mutex); ++ cil_log(CIL_ERR, "Failed to allocate memory\n"); ++ exit(1); + } + } + +@@ -104,8 +104,8 @@ void cil_strpool_init(void) + cil_strpool_tab = hashtab_create(cil_strpool_hash, cil_strpool_compare, CIL_STRPOOL_TABLE_SIZE); + if (cil_strpool_tab == NULL) { + pthread_mutex_unlock(&cil_strpool_mutex); +- (*cil_mem_error_handler)(); +- return; ++ cil_log(CIL_ERR, "Failed to allocate memory\n"); ++ exit(1); + } + } + cil_strpool_readers++; +-- +2.17.1 +