Resolves: CVE-2024-45781 CVE-2024-45783 CVE-2024-45778 Resolves: CVE-2024-45775 CVE-2024-45780 CVE-2024-45774 Resolves: CVE-2025-0690 CVE-2025-1118 CVE-2024-45782 Resolves: CVE-2025-0624 CVE-2024-45779 CVE-2024-45776 Resolves: CVE-2025-0622 CVE-2025-0677 Resolves: #RHEL-80691 Resolves: #RHEL-80690 Resolves: #RHEL-80689 Resolves: #RHEL-80687 Resolves: #RHEL-80686 Signed-off-by: Leo Sandoval <lsandova@redhat.com> Signed-off-by: Nicolas Frayer <nfrayer@redhat.com>
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 | |
| From: B Horn <b@horn.uk>
 | |
| Date: Sun, 12 May 2024 03:01:40 +0100
 | |
| Subject: [PATCH] kern/file: Ensure file->data is set
 | |
| 
 | |
| This is to avoid a generic issue were some filesystems would not set
 | |
| data and also not set a grub_errno. This meant it was possible for many
 | |
| filesystems to grub_dl_unref() themselves multiple times resulting in
 | |
| it being possible to unload the filesystems while there were still
 | |
| references to them, e.g., via a loopback.
 | |
| 
 | |
| Reported-by: B Horn <b@horn.uk>
 | |
| Signed-off-by: B Horn <b@horn.uk>
 | |
| Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
 | |
| ---
 | |
|  grub-core/kern/file.c | 3 +++
 | |
|  1 file changed, 3 insertions(+)
 | |
| 
 | |
| diff --git a/grub-core/kern/file.c b/grub-core/kern/file.c
 | |
| index 75510df7c..85e832bd8 100644
 | |
| --- a/grub-core/kern/file.c
 | |
| +++ b/grub-core/kern/file.c
 | |
| @@ -124,6 +124,9 @@ grub_file_open (const char *name, enum grub_file_type type)
 | |
|    if ((file->fs->fs_open) (file, file_name) != GRUB_ERR_NONE)
 | |
|      goto fail;
 | |
|  
 | |
| +  if (file->data == NULL)
 | |
| +    goto fail;
 | |
| +
 | |
|    file->name = grub_strdup (name);
 | |
|    grub_errno = GRUB_ERR_NONE;
 | |
|  
 |