x86/mm: Declare 'start' variable where it is used
It is not required to initialize the local variable start in memory_map_top_down(), as the variable will be initialized in any path before it is used. make clang-analyzer on x86_64 tinyconfig reports: arch/x86/mm/init.c:612:15: warning: Although the value stored to 'start' \ is used in the enclosing expression, the value is never actually read \ from 'start' [clang-analyzer-deadcode.DeadStores] Move the variable declaration into the loop, where it is used. No code changed: # arch/x86/mm/init.o: text data bss dec hex filename 7105 1424 26768 35297 89e1 init.o.before 7105 1424 26768 35297 89e1 init.o.after md5: a8d76c1bb5fce9cae251780a7ee7730f init.o.before.asm a8d76c1bb5fce9cae251780a7ee7730f init.o.after.asm [ bp: Massage. ] Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Dave Hansen <dave.hansen@linux.intel.com> Link: https://lkml.kernel.org/r/20200928100004.25674-1-lukas.bulwahn@gmail.com
This commit is contained in:
parent
31d8546033
commit
bab202ab87
|
@ -596,7 +596,7 @@ static unsigned long __init get_new_step_size(unsigned long step_size)
|
||||||
static void __init memory_map_top_down(unsigned long map_start,
|
static void __init memory_map_top_down(unsigned long map_start,
|
||||||
unsigned long map_end)
|
unsigned long map_end)
|
||||||
{
|
{
|
||||||
unsigned long real_end, start, last_start;
|
unsigned long real_end, last_start;
|
||||||
unsigned long step_size;
|
unsigned long step_size;
|
||||||
unsigned long addr;
|
unsigned long addr;
|
||||||
unsigned long mapped_ram_size = 0;
|
unsigned long mapped_ram_size = 0;
|
||||||
|
@ -609,7 +609,7 @@ static void __init memory_map_top_down(unsigned long map_start,
|
||||||
step_size = PMD_SIZE;
|
step_size = PMD_SIZE;
|
||||||
max_pfn_mapped = 0; /* will get exact value next */
|
max_pfn_mapped = 0; /* will get exact value next */
|
||||||
min_pfn_mapped = real_end >> PAGE_SHIFT;
|
min_pfn_mapped = real_end >> PAGE_SHIFT;
|
||||||
last_start = start = real_end;
|
last_start = real_end;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We start from the top (end of memory) and go to the bottom.
|
* We start from the top (end of memory) and go to the bottom.
|
||||||
|
@ -618,6 +618,8 @@ static void __init memory_map_top_down(unsigned long map_start,
|
||||||
* for page table.
|
* for page table.
|
||||||
*/
|
*/
|
||||||
while (last_start > map_start) {
|
while (last_start > map_start) {
|
||||||
|
unsigned long start;
|
||||||
|
|
||||||
if (last_start > step_size) {
|
if (last_start > step_size) {
|
||||||
start = round_down(last_start - 1, step_size);
|
start = round_down(last_start - 1, step_size);
|
||||||
if (start < map_start)
|
if (start < map_start)
|
||||||
|
|
Loading…
Reference in New Issue