• Christian Göttsche's avatar
    selinux: pre-allocate the status page · fc983171
    Christian Göttsche authored
    Since the status page is currently only allocated on first use, the
    sequence number of the initial policyload (i.e. 1) is not stored,
    leading to the observable sequence of 0, 2, 3, 4, ...
    
    Try to pre-allocate the status page during the initialization of the
    selinuxfs, so selinux_status_update_policyload() will set the sequence
    number.
    
    This brings the status page to return the actual sequence number for the
    initial policy load, which is also observable via the netlink socket.
    I could not find any occurrence where userspace depends on the actual
    value returned by selinux_status_policyload(3), thus the breakage should
    be unnoticed.
    
    Closes: https://lore.kernel.org/selinux/87o7fmua12.fsf@redhat.com/Signed-off-by: default avatarChristian Göttsche <cgzones@googlemail.com>
    [PM: trimmed 'reported-by' that was missing an email]
    Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
    fc983171
selinuxfs.c 49.7 KB