• Hendrik Brueckner's avatar
    KEYS: correct alignment of system_certificate_list content in assembly file · 62226983
    Hendrik Brueckner authored
    
    
    Apart from data-type specific alignment constraints, there are also
    architecture-specific alignment requirements.
    For example, on s390 symbols must be on even addresses implying a 2-byte
    alignment.  If the system_certificate_list_end symbol is on an odd address
    and if this address is loaded, the least-significant bit is ignored.  As a
    result, the load_system_certificate_list() fails to load the certificates
    because of a wrong certificate length calculation.
    
    To be safe, align system_certificate_list on an 8-byte boundary.  Also improve
    the length calculation of the system_certificate_list content.  Introduce a
    system_certificate_list_size (8-byte aligned because of unsigned long) variable
    that stores the length.  Let the linker calculate this size by introducing
    a start and end label for the certificate content.
    
    Signed-off-by: default avatarHendrik Brueckner <brueckner@linux.vnet.ibm.com>
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    62226983