mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-24 08:09:22 +00:00
fdt: relax align requirement
This commit is contained in:
1 parent
f900bea454
commit
b0227ce4b9
1 file changed
+3
-3
+3
-3
@@ -102,13 +102,13 @@ static grub_uint32_t *get_next_node (const void *fdt, char *node_name)
|
|||||||
static int get_mem_rsvmap_size (const void *fdt)
|
static int get_mem_rsvmap_size (const void *fdt)
|
||||||
{
|
{
|
||||||
int size = 0;
|
int size = 0;
|
||||||
grub_uint64_t *ptr = (void *) ((grub_addr_t) fdt
|
grub_unaligned_uint64_t *ptr = (void *) ((grub_addr_t) fdt
|
||||||
+ grub_fdt_get_off_mem_rsvmap (fdt));
|
+ grub_fdt_get_off_mem_rsvmap (fdt));
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
size += 2 * sizeof(*ptr);
|
size += 2 * sizeof(*ptr);
|
||||||
if (!*ptr && !*(ptr + 1))
|
if (!ptr[0].val && !ptr[1].val)
|
||||||
return size;
|
return size;
|
||||||
ptr += 2;
|
ptr += 2;
|
||||||
} while ((grub_addr_t) ptr <= (grub_addr_t) fdt + grub_fdt_get_totalsize (fdt)
|
} while ((grub_addr_t) ptr <= (grub_addr_t) fdt + grub_fdt_get_totalsize (fdt)
|
||||||
@@ -270,7 +270,7 @@ static grub_uint32_t *find_prop (const void *fdt, unsigned int nodeoffset,
|
|||||||
guaranteed not to access memory locations outside the allocated memory. */
|
guaranteed not to access memory locations outside the allocated memory. */
|
||||||
int grub_fdt_check_header_nosize (const void *fdt)
|
int grub_fdt_check_header_nosize (const void *fdt)
|
||||||
{
|
{
|
||||||
if (((grub_addr_t) fdt & 0x7) || (grub_fdt_get_magic (fdt) != FDT_MAGIC)
|
if (((grub_addr_t) fdt & 0x3) || (grub_fdt_get_magic (fdt) != FDT_MAGIC)
|
||||||
|| (grub_fdt_get_version (fdt) < FDT_SUPPORTED_VERSION)
|
|| (grub_fdt_get_version (fdt) < FDT_SUPPORTED_VERSION)
|
||||||
|| (grub_fdt_get_last_comp_version (fdt) > FDT_SUPPORTED_VERSION)
|
|| (grub_fdt_get_last_comp_version (fdt) > FDT_SUPPORTED_VERSION)
|
||||||
|| (grub_fdt_get_off_dt_struct (fdt) & 0x00000003)
|
|| (grub_fdt_get_off_dt_struct (fdt) & 0x00000003)
|
||||||
|
|||||||
Reference in new issue
Block a user