This repository was archived by the owner on Nov 8, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +13
-20
lines changed
drivers/firmware/efi/libstub Expand file tree Collapse file tree 2 files changed +13
-20
lines changed Original file line number Diff line number Diff line change @@ -21,7 +21,6 @@ efi_status_t handle_kernel_image(unsigned long *image_addr,
21
21
efi_loaded_image_t * image ,
22
22
efi_handle_t image_handle )
23
23
{
24
- efi_status_t status ;
25
24
unsigned long kernel_size , kernel_codesize , kernel_memsize ;
26
25
27
26
if (image -> image_base != _text ) {
@@ -39,15 +38,9 @@ efi_status_t handle_kernel_image(unsigned long *image_addr,
39
38
* reserve_size = kernel_memsize ;
40
39
* image_addr = (unsigned long )_text ;
41
40
42
- status = efi_kaslr_relocate_kernel (image_addr ,
43
- reserve_addr , reserve_size ,
44
- kernel_size , kernel_codesize ,
45
- kernel_memsize ,
46
- efi_kaslr_get_phys_seed (image_handle ));
47
- if (status != EFI_SUCCESS )
48
- return status ;
49
-
50
- return EFI_SUCCESS ;
41
+ return efi_kaslr_relocate_kernel (image_addr , reserve_addr , reserve_size ,
42
+ kernel_size , kernel_codesize , kernel_memsize ,
43
+ efi_kaslr_get_phys_seed (image_handle ));
51
44
}
52
45
53
46
asmlinkage void primary_entry (void );
Original file line number Diff line number Diff line change 18
18
*/
19
19
u32 efi_kaslr_get_phys_seed (efi_handle_t image_handle )
20
20
{
21
- efi_status_t status ;
22
- u32 phys_seed ;
23
21
efi_guid_t li_fixed_proto = LINUX_EFI_LOADED_IMAGE_FIXED_GUID ;
24
22
void * p ;
25
23
@@ -32,18 +30,20 @@ u32 efi_kaslr_get_phys_seed(efi_handle_t image_handle)
32
30
& li_fixed_proto , & p ) == EFI_SUCCESS ) {
33
31
efi_info ("Image placement fixed by loader\n" );
34
32
} else {
33
+ efi_status_t status ;
34
+ u32 phys_seed ;
35
+
35
36
status = efi_get_random_bytes (sizeof (phys_seed ),
36
37
(u8 * )& phys_seed );
37
- if (status == EFI_SUCCESS ) {
38
+ if (status == EFI_SUCCESS )
38
39
return phys_seed ;
39
- } else if (status == EFI_NOT_FOUND ) {
40
+
41
+ if (status == EFI_NOT_FOUND )
40
42
efi_info ("EFI_RNG_PROTOCOL unavailable\n" );
41
- efi_nokaslr = true;
42
- } else if (status != EFI_SUCCESS ) {
43
- efi_err ("efi_get_random_bytes() failed (0x%lx)\n" ,
44
- status );
45
- efi_nokaslr = true;
46
- }
43
+ else
44
+ efi_err ("efi_get_random_bytes() failed (0x%lx)\n" , status );
45
+
46
+ efi_nokaslr = true;
47
47
}
48
48
49
49
return 0 ;
You can’t perform that action at this time.
0 commit comments