Ilias Apalodimas  
		
	
	
		ec80b4735a 
		
	 
	
	
	efi_loader: Implement FileLoad2 for initramfs loading  
		
			... 
			Following kernel's proposal for an arch-agnostic initrd loading
mechanism [1] let's implement the U-boot counterpart.
This new approach has a number of advantages compared to what we did up
to now. The file is loaded into memory only when requested limiting the
area of TOCTOU attacks. Users will be allowed to place the initramfs
file on any u-boot accessible partition instead of just the ESP one.
Finally this is an attempt of a generic interface across architectures
in the linux kernel so it makes sense to support that.
The file location is intentionally only supported as a config option
argument(CONFIG_EFI_INITRD_FILESPEC), in an effort to enhance security.
Although U-boot is not responsible for verifying the integrity of the
initramfs, we can enhance the offered security by only accepting a
built-in option, which will be naturally verified by UEFI Secure Boot.
This can easily change in the future if needed and configure that via ENV
or UEFI variable.
[1] https://lore.kernel.org/linux-efi/20200207202637.GA3464906@rani.riverdale.lan/T/#m4a25eb33112fab7a22faa0fd65d4d663209af32f 
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> 
		
	 
 
		2020-02-28 19:37:14 +01:00 
	 
	
	
		  ..
	 
	
	
		
			
			
			
			
			
			2019-04-22 12:06:39 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2019-04-22 12:06:39 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2019-12-15 11:44:19 +08:00 
		 
	
		
			
			
			
			
			
			2017-02-08 15:56:28 -05:00 
		 
	
		
			
			
			
			
			
			2019-07-24 13:16:29 -04:00 
		 
	
		
			
			
			
			
			
			2020-02-04 09:07:24 +05:30 
		 
	
		
			
			
			
			
			
			2019-01-15 15:28:54 -05:00 
		 
	
		
			
			
			
			
			
			2020-01-10 14:18:26 -05:00 
		 
	
		
			
			
			
			
			
			2020-01-17 10:15:49 -05:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-10-31 07:22:53 -04:00 
		 
	
		
			
			
			
			
			
			2018-08-11 09:16:08 +02:00 
		 
	
		
			
			
			
			
			
			2019-07-24 13:16:29 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-07 11:13:26 -05:00 
		 
	
		
			
			
			
			
			
			2017-07-03 17:35:28 -04:00 
		 
	
		
			
			
			
			
			
			2018-08-21 16:21:37 +02:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-16 09:39:45 -05:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-23 17:30:05 -04:00 
		 
	
		
			
			
			
			
			
			2020-02-19 12:53:36 +01:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-12-02 18:23:55 -05:00 
		 
	
		
			
			
			
			
			
			2019-08-18 21:54:10 +08:00 
		 
	
		
			
			
			
			
			
			2019-08-22 00:10:09 +02:00 
		 
	
		
			
			
			
			
			
			2018-12-04 19:44:57 +01:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2018-09-25 21:49:18 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2018-10-09 04:40:27 -06:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-02-19 08:55:43 -05:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-07 14:37:50 +01:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2020-02-05 19:33:46 -07:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-10 14:18:26 -05:00 
		 
	
		
			
			
			
			
			
			2019-12-02 18:23:08 -05:00 
		 
	
		
			
			
			
			
			
			2020-02-28 19:37:14 +01:00 
		 
	
		
			
			
			
			
			
			2020-02-07 13:59:58 -05:00 
		 
	
		
			
			
			
			
			
			2019-12-09 09:47:41 -06:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-03-16 13:29:43 +01:00 
		 
	
		
			
			
			
			
			
			2020-01-17 13:26:49 -05:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-06-20 22:26:20 +00:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2020-02-11 10:58:41 -05:00 
		 
	
		
			
			
			
			
			
			2020-02-05 19:33:46 -07:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-07-29 09:32:09 -04:00 
		 
	
		
			
			
			
			
			
			2020-02-05 19:33:46 -07:00 
		 
	
		
			
			
			
			
			
			2019-12-02 18:23:08 -05:00 
		 
	
		
			
			
			
			
			
			2019-08-11 19:27:41 -04:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2019-10-08 13:57:44 +08:00 
		 
	
		
			
			
			
			
			
			2018-06-18 14:02:04 -04:00 
		 
	
		
			
			
			
			
			
			2019-12-02 18:25:01 -05:00 
		 
	
		
			
			
			
			
			
			2019-10-11 19:05:14 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2020-02-09 14:58:08 +01:00 
		 
	
		
			
			
			
			
			
			2019-06-21 10:07:11 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-12-04 17:10:51 -05:00 
		 
	
		
			
			
			
			
			
			2019-12-04 17:10:51 -05:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2020-02-04 09:07:24 +05:30 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2019-09-04 11:37:18 -05:00 
		 
	
		
			
			
			
			
			
			2020-02-09 14:58:08 +01:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-07-15 13:32:25 -05:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-05-04 19:26:49 +02:00 
		 
	
		
			
			
			
			
			
			2019-12-02 18:23:06 -05:00 
		 
	
		
			
			
			
			
			
			2020-02-05 19:33:46 -07:00 
		 
	
		
			
			
			
			
			
			2019-11-07 18:01:13 -05:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2019-10-30 17:49:41 +01:00 
		 
	
		
			
			
			
			
			
			2019-12-09 09:47:41 -06:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2016-10-06 20:57:42 -04:00 
		 
	
		
			
			
			
			
			
			2018-09-28 18:27:33 +02:00 
		 
	
		
			
			
			
			
			
			2019-10-04 12:21:23 -04:00 
		 
	
		
			
			
			
			
			
			2019-09-04 11:37:19 -05:00 
		 
	
		
			
			
			
			
			
			2019-08-26 11:46:28 -04:00 
		 
	
		
			
			
			
			
			
			2019-07-12 11:50:57 +02:00 
		 
	
		
			
			
			
			
			
			2019-12-15 11:44:11 +08:00 
		 
	
		
			
			
			
			
			
			2020-01-27 19:54:20 -05:00 
		 
	
		
			
			
			
			
			
			2020-01-22 17:49:25 -05:00 
		 
	
		
			
			
			
			
			
			2019-12-06 16:44:18 -05:00 
		 
	
		
			
			
			
			
			
			2020-01-17 13:26:49 -05:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2017-08-20 09:54:30 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2018-06-07 20:06:29 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2019-07-26 21:49:24 -04:00 
		 
	
		
			
			
			
			
			
			2020-02-05 19:33:46 -07:00 
		 
	
		
			
			
			
			
			
			2019-05-01 00:00:05 +02:00 
		 
	
		
			
			
			
			
			
			2020-01-27 19:54:20 -05:00 
		 
	
		
			
			
			
			
			
			2018-11-26 08:25:37 -05:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2019-12-04 17:10:51 -05:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-08 09:07:35 -04:00 
		 
	
		
			
			
			
			
			
			2018-12-13 16:36:41 -07:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:35 -05:00 
		 
	
		
			
			
			
			
			
			2020-01-27 22:27:21 +05:30 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2016-01-25 10:39:43 -05:00 
		 
	
		
			
			
			
			
			
			2019-12-06 16:44:19 -05:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-10-11 15:33:27 -04:00 
		 
	
		
			
			
			
			
			
			2019-10-31 12:12:31 +01:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2020-01-21 15:56:15 +01:00 
		 
	
		
			
			
			
			
			
			2020-01-17 14:02:31 -05:00 
		 
	
		
			
			
			
			
			
			2020-02-05 19:33:46 -07:00 
		 
	
		
			
			
			
			
			
			2020-02-05 19:33:46 -07:00 
		 
	
		
			
			
			
			
			
			2020-02-05 19:33:46 -07:00 
		 
	
		
			
			
			
			
			
			2020-02-05 19:33:46 -07:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2020-02-05 19:33:46 -07:00 
		 
	
		
			
			
			
			
			
			2018-09-28 20:22:32 -04:00 
		 
	
		
			
			
			
			
			
			2019-10-23 20:47:12 -04:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00 
		 
	
		
			
			
			
			
			
			2019-06-14 12:39:50 +02:00 
		 
	
		
			
			
			
			
			
			2020-02-05 19:33:46 -07:00 
		 
	
		
			
			
			
			
			
			2019-04-09 13:11:45 +02:00 
		 
	
		
			
			
			
			
			
			2018-05-07 09:34:12 -04:00 
		 
	
		
			
			
			
			
			
			2018-11-14 09:16:27 -08:00 
		 
	
		
			
			
			
			
			
			2018-09-28 20:22:36 -04:00 
		 
	
		
			
			
			
			
			
			2019-04-12 07:04:18 +02:00 
		 
	
		
			
			
			
			
			
			2018-07-02 14:14:20 -05:00 
		 
	
		
			
			
			
			
			
			2020-02-05 19:33:46 -07:00 
		 
	
		
			
			
			
			
			
			2016-01-25 10:39:43 -05:00 
		 
	
		
			
			
			
			
			
			2020-01-23 07:29:58 -05:00 
		 
	
		
			
			
			
			
			
			2019-08-11 16:43:41 -04:00