Commit 9aae0df6a3cb6fbbfe30b1649644a862632fbfdd

Authored by Linus Torvalds

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Catalin Marinas:
 "arm64 and generic kernel/module.c (acked by Rusty) fixes for
  CONFIG_DEBUG_SET_MODULE_RONX"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  kernel/module.c: Update debug alignment after symtable generation
  arm64: Don't use is_module_addr in setting page attributes

Showing 2 changed files Side-by-side Diff

arch/arm64/mm/pageattr.c
... ... @@ -51,7 +51,10 @@
51 51 WARN_ON_ONCE(1);
52 52 }
53 53  
54   - if (!is_module_address(start) || !is_module_address(end - 1))
  54 + if (start < MODULES_VADDR || start >= MODULES_END)
  55 + return -EINVAL;
  56 +
  57 + if (end < MODULES_VADDR || end >= MODULES_END)
55 58 return -EINVAL;
56 59  
57 60 data.set_mask = set_mask;
... ... @@ -2313,11 +2313,13 @@
2313 2313 info->symoffs = ALIGN(mod->core_size, symsect->sh_addralign ?: 1);
2314 2314 info->stroffs = mod->core_size = info->symoffs + ndst * sizeof(Elf_Sym);
2315 2315 mod->core_size += strtab_size;
  2316 + mod->core_size = debug_align(mod->core_size);
2316 2317  
2317 2318 /* Put string table section at end of init part of module. */
2318 2319 strsect->sh_flags |= SHF_ALLOC;
2319 2320 strsect->sh_entsize = get_offset(mod, &mod->init_size, strsect,
2320 2321 info->index.str) | INIT_OFFSET_MASK;
  2322 + mod->init_size = debug_align(mod->init_size);
2321 2323 pr_debug("\t%s\n", info->secstrings + strsect->sh_name);
2322 2324 }
2323 2325