• Linus Torvalds's avatar
    Merge tag 'selinux-pr-20200601' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · f41030a2
    Linus Torvalds authored
    Pull SELinux updates from Paul Moore:
     "The highlights:
    
       - A number of improvements to various SELinux internal data
         structures to help improve performance. We move the role
         transitions into a hash table. In the content structure we shift
         from hashing the content string (aka SELinux label) to the
         structure itself, when it is valid. This last change not only
         offers a speedup, but it helps us simplify the code some as well.
    
       - Add a new SELinux policy version which allows for a more space
         efficient way of storing the filename transitions in the binary
         policy. Given the default Fedora SELinux policy with the unconfined
         module enabled, this change drops the policy size from ~7.6MB to
         ~3.3MB. The kernel policy load time dropped as well.
    
       - Some fixes to the error handling code in the policy parser to
         properly return error codes when things go wrong"
    
    * tag 'selinux-pr-20200601' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
      selinux: netlabel: Remove unused inline function
      selinux: do not allocate hashtabs dynamically
      selinux: fix return value on error in policydb_read()
      selinux: simplify range_write()
      selinux: fix error return code in policydb_read()
      selinux: don't produce incorrect filename_trans_count
      selinux: implement new format of filename transitions
      selinux: move context hashing under sidtab
      selinux: hash context structure directly
      selinux: store role transitions in a hash table
      selinux: drop unnecessary smp_load_acquire() call
      selinux: fix warning Comparison to bool
    f41030a2
policydb.c 74.5 KB