diff options
Diffstat (limited to 'roms/ipxe/src/crypto/privkey.c')
-rw-r--r-- | roms/ipxe/src/crypto/privkey.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/roms/ipxe/src/crypto/privkey.c b/roms/ipxe/src/crypto/privkey.c index 7ef04880f..a6043bd1e 100644 --- a/roms/ipxe/src/crypto/privkey.c +++ b/roms/ipxe/src/crypto/privkey.c @@ -54,7 +54,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); /* Raw private key data */ extern char private_key_data[]; extern char private_key_len[]; -__asm__ ( ".section \".rodata\", \"a\", " PROGBITS "\n\t" +__asm__ ( ".section \".rodata\", \"a\", @progbits\n\t" "\nprivate_key_data:\n\t" #ifdef PRIVATE_KEY ".incbin \"" PRIVATE_KEY "\"\n\t" @@ -69,12 +69,6 @@ struct asn1_cursor private_key = { .len = ( ( size_t ) private_key_len ), }; -/** Default private key */ -static struct asn1_cursor default_private_key = { - .data = private_key_data, - .len = ( ( size_t ) private_key_len ), -}; - /** Private key setting */ static struct setting privkey_setting __setting ( SETTING_CRYPTO, privkey ) = { .name = "privkey", @@ -98,8 +92,8 @@ static int privkey_apply_settings ( void ) { if ( ALLOW_KEY_OVERRIDE ) { /* Restore default private key */ - memcpy ( &private_key, &default_private_key, - sizeof ( private_key ) ); + private_key.data = private_key_data; + private_key.len = ( ( size_t ) private_key_len ); /* Fetch new private key, if any */ free ( key_data ); |