"SELinux: ebitmap: truncated map" after editing with libsepol

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

I have a very simple test program to help with debugging my Android
dual booting project. It reads the current policy from /sys/fs/selinux/policy,
changes a single type to be permissive, and then loads the new policy
by writing it to /sys/fs/selinux/load. The problem is, after editing the
policy with sepol, it fails to load and the kernel prints the following
message in dmesg: "SELinux: ebitmap: truncated map".

The program reads and writes the policy file using the standard fopen
and policydb_read/policydb_write calls. I then set a few types to be
permissive using the following loop:

    ...
    char *name;
    int is_permissive;
    char **types = (null terminated char* array)
    char **type;
    ...
    for (unsigned int i = 0; i < pdb->p_types.nprim - 1; i++) {
        name = pdb->p_type_val_to_name[i];
        is_permissive = ebitmap_get_bit(&pdb->permissive_map, i + 1);

        if (!is_permissive) {
            for (type = types; *type; type++) {
                if (strcmp(*type, name) == 0) {
                    ebitmap_set_bit(&pdb->permissive_map, i + 1, 1);
                    break;
                }
            }
        }
    }
    ...

I've been trying to debug this for many hours, but I can't seem to figure
out why this is happening. Is there a simple mistake I'm overlooking or
am I approaching this in a completely wrong way?

Thanks in advance! Any help is greatly appreciated!

Andrew Gunnerson


PS: This is running on Android 5.0 with libsepol 2.4-rc4 and kernel
3.4.0-g88fbc66.
_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux