merge from mainline
This commit is contained in:
		
						commit
						26c9e9bf61
					
				
					 30 changed files with 454 additions and 103 deletions
				
			
		|  | @ -338,7 +338,7 @@ find_partition_start (const char *dev) | |||
|   struct hd_geometry hdg; | ||||
| # else /* defined(__NetBSD__) */ | ||||
|   struct disklabel label; | ||||
|   int index; | ||||
|   int p_index; | ||||
| # endif /* !defined(__NetBSD__) */ | ||||
| 
 | ||||
| # ifdef HAVE_DEVICE_MAPPER | ||||
|  | @ -412,7 +412,8 @@ devmapper_fail: | |||
|   fd = open (dev, O_RDONLY); | ||||
|   if (fd == -1) | ||||
|     { | ||||
|       grub_error (GRUB_ERR_BAD_DEVICE, "cannot open `%s' while attempting to get disk geometry", dev); | ||||
|       grub_error (GRUB_ERR_BAD_DEVICE, | ||||
| 		  "cannot open `%s' while attempting to get disk geometry", dev); | ||||
|       return 0; | ||||
|     } | ||||
| 
 | ||||
|  | @ -434,18 +435,15 @@ devmapper_fail: | |||
| # if !defined(__NetBSD__) | ||||
|   return hdg.start; | ||||
| # else /* defined(__NetBSD__) */ | ||||
|   /* Since dev and convert_system_partition_to_system_disk (dev) are
 | ||||
|    * different, we know that dev is of the form /dev/r[wsc]d[0-9]+[a-z] | ||||
|    * and in particular it cannot be a floppy device.  */ | ||||
|   index = dev[strlen(dev) - 1] - 'a'; | ||||
|   p_index = dev[strlen(dev) - 1] - 'a'; | ||||
| 
 | ||||
|   if (index >= label.d_npartitions) | ||||
|   if (p_index >= label.d_npartitions) | ||||
|     { | ||||
|       grub_error (GRUB_ERR_BAD_DEVICE, | ||||
| 		  "no disk label entry for `%s'", dev); | ||||
|       return 0; | ||||
|     } | ||||
|   return (grub_disk_addr_t) label.d_partitions[index].p_offset; | ||||
|   return (grub_disk_addr_t) label.d_partitions[p_index].p_offset; | ||||
| # endif /* !defined(__NetBSD__) */ | ||||
| } | ||||
| #endif /* __linux__ || __CYGWIN__ */ | ||||
|  | @ -1433,7 +1431,6 @@ grub_util_biosdisk_get_grub_dev (const char *os_dev) | |||
|     /* Since os_dev and convert_system_partition_to_system_disk (os_dev) are
 | ||||
|      * different, we know that os_dev is of the form /dev/r[wsc]d[0-9]+[a-z] | ||||
|      * and in particular it cannot be a floppy device.  */ | ||||
|     index = os_dev[strlen(os_dev) - 1] - 'a'; | ||||
| # endif /* !defined(__NetBSD__) */ | ||||
| 
 | ||||
|     start = find_partition_start (os_dev); | ||||
|  |  | |||
|  | @ -9,6 +9,9 @@ | |||
| #include <sys/types.h> | ||||
| #include <sys/stat.h> | ||||
| #include <unistd.h> | ||||
| #ifdef HAVE_LIMITS_H | ||||
| #include <limits.h> | ||||
| #endif | ||||
| 
 | ||||
| #include <grub/mm.h> | ||||
| #include <grub/err.h> | ||||
|  | @ -182,7 +185,8 @@ canonicalize_file_name (const char *path) | |||
|   char *ret; | ||||
| #ifdef PATH_MAX | ||||
|   ret = xmalloc (PATH_MAX); | ||||
|   (void) realpath (path, ret); | ||||
|   if (!realpath (path, ret)) | ||||
|     return NULL; | ||||
| #else | ||||
|   ret = realpath (path, NULL); | ||||
| #endif | ||||
|  |  | |||
|  | @ -75,8 +75,8 @@ make_install_device (void) | |||
| 	  ptr += grub_strlen (ptr); | ||||
| 
 | ||||
| 	  if (grub_install_bsd_part >= 0) | ||||
| 	    grub_snprintf (ptr, sizeof (dev) - (ptr - dev), ",%c", | ||||
| 			   grub_install_bsd_part + 'a'); | ||||
| 	    grub_snprintf (ptr, sizeof (dev) - (ptr - dev), ",%u", | ||||
| 			   grub_install_bsd_part + 1); | ||||
| 	  ptr += grub_strlen (ptr); | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
|  | @ -20,6 +20,7 @@ | |||
| #include <grub/machine/memory.h> | ||||
| #include <grub/err.h> | ||||
| #include <grub/types.h> | ||||
| #include <grub/misc.h> | ||||
| 
 | ||||
| grub_err_t | ||||
| grub_machine_mmap_iterate (int NESTED_FUNC_ATTR (*hook) (grub_uint64_t, grub_uint64_t, grub_uint32_t)) | ||||
|  | @ -28,6 +29,8 @@ grub_machine_mmap_iterate (int NESTED_FUNC_ATTR (*hook) (grub_uint64_t, grub_uin | |||
|   struct grub_machine_mmap_entry *entry | ||||
|     = (struct grub_machine_mmap_entry *) GRUB_MEMORY_MACHINE_SCRATCH_ADDR; | ||||
| 
 | ||||
|   grub_memset (entry, 0, sizeof (entry)); | ||||
| 
 | ||||
|   /* Check if grub_get_mmap_entry works.  */ | ||||
|   cont = grub_get_mmap_entry (entry, 0); | ||||
| 
 | ||||
|  | @ -43,6 +46,8 @@ grub_machine_mmap_iterate (int NESTED_FUNC_ATTR (*hook) (grub_uint64_t, grub_uin | |||
| 	if (! cont) | ||||
| 	  break; | ||||
| 
 | ||||
| 	grub_memset (entry, 0, sizeof (entry)); | ||||
| 
 | ||||
| 	cont = grub_get_mmap_entry (entry, cont); | ||||
|       } | ||||
|     while (entry->size); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue