From: Ingo Molnar Date: Sat, 28 Jan 2017 16:48:08 +0000 (+0100) Subject: x86/boot/e820: Clean up and standardize sizeof() uses X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=d88961b5d4366c33d35d9ad309791ed9e4424f6c;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git x86/boot/e820: Clean up and standardize sizeof() uses There's various sizeof() uses in e820.c - standardize on the shortest and least error prone one, along the pattern of: - memset(entry, 0, sizeof(struct e820_entry)); + memset(entry, 0, sizeof(*entry)); ... because with this pattern in most cases it's immediately clear that we have used the right type - and the pattern is robust against changing the type as well. No change in functionality. Cc: Alex Thorlton Cc: Andy Lutomirski Cc: Borislav Petkov Cc: Brian Gerst Cc: Dan Williams Cc: Denys Vlasenko Cc: H. Peter Anvin Cc: Huang, Ying Cc: Josh Poimboeuf Cc: Juergen Gross Cc: Linus Torvalds Cc: Paul Jackson Cc: Peter Zijlstra Cc: Rafael J. Wysocki Cc: Tejun Heo Cc: Thomas Gleixner Cc: Wei Yang Cc: Yinghai Lu Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar --- diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index 055ac2484729..da69addf6c34 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c @@ -306,7 +306,7 @@ int __init e820__update_table(struct e820_entry *biosmap, int max_nr_map, u32 *p chg_nr = chgidx; /* Sort change-point list by memory addresses (low -> high): */ - sort(change_point, chg_nr, sizeof *change_point, cpcompare, NULL); + sort(change_point, chg_nr, sizeof(*change_point), cpcompare, NULL); /* Create a new BIOS memory map, removing overlaps: */ overlap_entries = 0; /* Number of entries in the overlap table */ @@ -362,7 +362,7 @@ int __init e820__update_table(struct e820_entry *biosmap, int max_nr_map, u32 *p new_nr = new_bios_entry; /* Copy new BIOS mapping into the original location: */ - memcpy(biosmap, new_bios, new_nr*sizeof(struct e820_entry)); + memcpy(biosmap, new_bios, new_nr*sizeof(*biosmap)); *pnr_map = new_nr; return 0; @@ -513,7 +513,7 @@ u64 __init e820__range_remove(u64 start, u64 size, enum e820_type old_type, int /* Completely covered? */ if (entry->addr >= start && entry_end <= end) { real_removed_size += entry->size; - memset(entry, 0, sizeof(struct e820_entry)); + memset(entry, 0, sizeof(*entry)); continue; } @@ -672,7 +672,7 @@ void __init e820__memory_setup_extended(u64 phys_addr, u32 data_len) struct setup_data *sdata; sdata = early_memremap(phys_addr, data_len); - entries = sdata->len / sizeof(struct e820_entry); + entries = sdata->len / sizeof(*extmap); extmap = (struct e820_entry *)(sdata->data); __append_e820_table(extmap, entries); @@ -932,7 +932,7 @@ void __init e820_reserve_setup_data(void) } e820__update_table(e820_table->entries, ARRAY_SIZE(e820_table->entries), &e820_table->nr_entries); - memcpy(e820_table_firmware, e820_table, sizeof(struct e820_table)); + memcpy(e820_table_firmware, e820_table, sizeof(*e820_table_firmware)); printk(KERN_INFO "extended physical RAM map:\n"); e820__print_table("reserve setup_data"); } @@ -1169,7 +1169,7 @@ void __init e820__memory_setup(void) who = x86_init.resources.memory_setup(); - memcpy(e820_table_firmware, e820_table, sizeof(struct e820_table)); + memcpy(e820_table_firmware, e820_table, sizeof(*e820_table_firmware)); pr_info("e820: BIOS-provided physical RAM map:\n"); e820__print_table(who);