Hide Forgot
Description of problem: appears on ppc64 and s390x [root@auto-ppcp-001 ~]# checkpolicy -Mdb /selinux/policy checkpolicy: loading policy configuration from /selinux/policy libsepol.policydb_index_others: security: 9 users, 13 roles, 3546 types, 176 bools libsepol.policydb_index_others: security: 1 sens, 1024 cats libsepol.policydb_index_others: security: 81 classes, 220670 rules, 252160 cond rules security: ebitmap: map size 3264 does not match my size 64 (high bit was 3360) checkpolicy: error(s) encountered while parsing configuration [root@auto-ppcp-001 ~]# checkpolicy -Mdb /etc/selinux/targeted/policy/policy.24 checkpolicy: loading policy configuration from /etc/selinux/targeted/policy/policy.24 libsepol.policydb_index_others: security: 9 users, 13 roles, 3546 types, 176 bools libsepol.policydb_index_others: security: 1 sens, 1024 cats libsepol.policydb_index_others: security: 81 classes, 220670 rules, 252160 cond rules checkpolicy: policy configuration loaded Select an option: 0) Call compute_access_vector 1) Call sid_to_context 2) Call context_to_sid 3) Call transition_sid 4) Call member_sid 5) Call change_sid 6) Call list_sids 7) Call load_policy 8) Call fs_sid 9) Call port_sid a) Call netif_sid b) Call node_sid c) Call fs_use d) Call genfs_sid e) Call get_user_sids f) display conditional bools g) display conditional expressions h) change a boolean value m) Show menu again q) Exit Choose: q [root@auto-ppcp-001 ~]# rpm -q checkpolicy selinux-policy kernel checkpolicy-2.0.22-1.el6.ppc64 selinux-policy-3.7.19-110.el6.noarch kernel-2.6.32-192.el6.ppc64 kernel-2.6.32-197.el6.ppc64 kernel-2.6.32-198.el6.ppc64 [root@auto-ppcp-001 ~]# uname -a Linux auto-ppcp-001.ss.eng.bos.redhat.com 2.6.32-198.el6.ppc64 #1 SMP Thu Sep 15 23:44:30 EDT 2011 ppc64 ppc64 ppc64 GNU/Linux
reassigning to kernel. I'll have to take a closer look at the bitmap writeback code. Is pagesize != 4096 on these platforms? (I didn't think it mattered, but it's the only thing I can think of that would be different with the platform and possibly wrong with the code)
s390x says 65536 B, ppc64 4096 B.
If you copy the file first, does that make any difference? cp /selinux/policy mypolicy checkpolicy -Mdb mypolicy That would exercise the read()-based interface rather than the mmap()-based one. Could also be an endianness issue. Policy should be in little endian format and converted when read/written. Maybe something didn't get converted when writing it out in the kernel. Also somewhat complicated by the fact that the kernel ebitmap is no longer identical to the userspace one and has to be converted.
(In reply to comment #3) > If you copy the file first, does that make any difference? > cp /selinux/policy mypolicy > checkpolicy -Mdb mypolicy no difference
Since RHEL 6.3 External Beta has begun, and this bug remains unresolved, it has been rejected as it is not proposed as exception or blocker. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux.
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux release for currently deployed products. This request is not yet committed for inclusion in a release.
Patch(es) available on kernel-2.6.32-471.el6
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2014-1392.html