lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Tue, 14 May 2024 01:22:35 -0700
From: Luis Chamberlain <mcgrof@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>,
	linux-modules@...r.kernel.org, mcgrof@...nel.org
Cc: patches@...ts.linux.dev, linux-kernel@...r.kernel.org,
	linux-arch@...r.kernel.org, rppt@...nel.org, song@...nel.org,
	tglx@...utronix.de, bjorn@...nel.org, mhiramat@...nel.org,
	rostedt@...dmis.org, philmd@...aro.org, will@...nel.org,
	sam@...nborg.org, alexghiti@...osinc.com, liviu@...au.co.uk,
	justinstitt@...gle.com, elsk@...gle.com
Subject: [GIT PULL] Modules changes for v6.10-rc1

The following changes since commit a5131c3fdf2608f1c15f3809e201cf540eb28489:

  Merge tag 'x86-shstk-2024-05-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2024-05-13 19:33:23 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/ tags/modules-6.10-rc1

for you to fetch changes up to 2c9e5d4a008293407836d29d35dfd4353615bd2f:

  bpf: remove CONFIG_BPF_JIT dependency on CONFIG_MODULES of (2024-05-14 00:36:29 -0700)

----------------------------------------------------------------
Modules changes for v6.10-rc1

Finally something fun. Mike Rapoport does some cleanup to allow us to
take out module_alloc() out of modules into a new paint shedded execmem_alloc()
and execmem_free() so to make emphasis these helpers are actually used outside
of modules. It starts with a no-functional changes API rename / placeholders
to then allow architectures to define their requirements into a new shiny
struct execmem_info with ranges, and requirements for those ranges. Archs
now can intitialize this execmem_info as the last part of mm_core_init() if
they have to diverge from the norm. Each range is a known type clearly
articulated and spelled out in enum execmem_type.

Although a lot of this is major cleanup and prep work for future enhancements an
immediate clear gain is we get to enable KPROBES without MODULES now. That is
ultimately what motiviated to pick this work up again, now with smaller goal as
concrete stepping stone.

This has been sitting on linux-next for a little less than a month, a few issues
were found already and fixed, in particular an odd mips boot issue. Arch folks
reviewed the code too. This is ready for wider exposure and testing.

----------------------------------------------------------------
Justin Stitt (1):
      kallsyms: replace deprecated strncpy with strscpy

Mike Rapoport (IBM) (16):
      arm64: module: remove unneeded call to kasan_alloc_module_shadow()
      mips: module: rename MODULE_START to MODULES_VADDR
      nios2: define virtual address space for modules
      sparc: simplify module_alloc()
      module: make module_memory_{alloc,free} more self-contained
      mm: introduce execmem_alloc() and execmem_free()
      mm/execmem, arch: convert simple overrides of module_alloc to execmem
      mm/execmem, arch: convert remaining overrides of module_alloc to execmem
      riscv: extend execmem_params for generated code allocations
      arm64: extend execmem_info for generated code allocations
      powerpc: extend execmem_params for kprobes allocations
      arch: make execmem setup available regardless of CONFIG_MODULES
      x86/ftrace: enable dynamic ftrace without CONFIG_MODULES
      powerpc: use CONFIG_EXECMEM instead of CONFIG_MODULES where appropriate
      kprobes: remove dependency on CONFIG_MODULES
      bpf: remove CONFIG_BPF_JIT dependency on CONFIG_MODULES of

Yifan Hong (1):
      module: allow UNUSED_KSYMS_WHITELIST to be relative against objtree.

 arch/Kconfig                         |  10 ++-
 arch/arm/kernel/module.c             |  34 ---------
 arch/arm/mm/init.c                   |  45 +++++++++++
 arch/arm64/Kconfig                   |   1 +
 arch/arm64/kernel/module.c           | 126 ------------------------------
 arch/arm64/kernel/probes/kprobes.c   |   7 --
 arch/arm64/mm/init.c                 | 140 ++++++++++++++++++++++++++++++++++
 arch/arm64/net/bpf_jit_comp.c        |  11 ---
 arch/loongarch/kernel/module.c       |   6 --
 arch/loongarch/mm/init.c             |  21 +++++
 arch/mips/include/asm/pgtable-64.h   |   4 +-
 arch/mips/kernel/module.c            |  10 ---
 arch/mips/mm/fault.c                 |   4 +-
 arch/mips/mm/init.c                  |  23 ++++++
 arch/nios2/include/asm/pgtable.h     |   5 +-
 arch/nios2/kernel/module.c           |  20 -----
 arch/nios2/mm/init.c                 |  21 +++++
 arch/parisc/kernel/module.c          |  12 ---
 arch/parisc/mm/init.c                |  23 +++++-
 arch/powerpc/Kconfig                 |   2 +-
 arch/powerpc/include/asm/kasan.h     |   2 +-
 arch/powerpc/kernel/head_8xx.S       |   4 +-
 arch/powerpc/kernel/head_book3s_32.S |   6 +-
 arch/powerpc/kernel/kprobes.c        |  22 +-----
 arch/powerpc/kernel/module.c         |  38 ----------
 arch/powerpc/lib/code-patching.c     |   2 +-
 arch/powerpc/mm/book3s32/mmu.c       |   2 +-
 arch/powerpc/mm/mem.c                |  64 ++++++++++++++++
 arch/riscv/include/asm/pgtable.h     |   3 +
 arch/riscv/kernel/module.c           |  12 ---
 arch/riscv/kernel/probes/kprobes.c   |  10 ---
 arch/riscv/mm/init.c                 |  35 +++++++++
 arch/riscv/net/bpf_jit_core.c        |  13 ----
 arch/s390/kernel/ftrace.c            |   4 +-
 arch/s390/kernel/kprobes.c           |   4 +-
 arch/s390/kernel/module.c            |  42 +---------
 arch/s390/mm/init.c                  |  30 ++++++++
 arch/sparc/include/asm/pgtable_32.h  |   2 +
 arch/sparc/kernel/module.c           |  30 --------
 arch/sparc/mm/Makefile               |   2 +
 arch/sparc/mm/execmem.c              |  21 +++++
 arch/sparc/net/bpf_jit_comp_32.c     |   8 +-
 arch/x86/Kconfig                     |   1 +
 arch/x86/kernel/ftrace.c             |  16 +---
 arch/x86/kernel/kprobes/core.c       |   4 +-
 arch/x86/kernel/module.c             |  51 -------------
 arch/x86/mm/init.c                   |  29 +++++++
 include/linux/execmem.h              | 132 ++++++++++++++++++++++++++++++++
 include/linux/module.h               |   9 +++
 include/linux/moduleloader.h         |  15 ----
 kernel/bpf/Kconfig                   |   2 +-
 kernel/bpf/core.c                    |   6 +-
 kernel/kprobes.c                     |  63 +++++++++------
 kernel/module/Kconfig                |   3 +-
 kernel/module/kallsyms.c             |   2 +-
 kernel/module/main.c                 | 105 ++++++++++++-------------
 kernel/trace/trace_kprobe.c          |  20 ++++-
 mm/Kconfig                           |   3 +
 mm/Makefile                          |   1 +
 mm/execmem.c                         | 143 +++++++++++++++++++++++++++++++++++
 mm/mm_init.c                         |   2 +
 scripts/Makefile.modpost             |   2 +-
 62 files changed, 906 insertions(+), 584 deletions(-)
 create mode 100644 arch/sparc/mm/execmem.c
 create mode 100644 include/linux/execmem.h
 create mode 100644 mm/execmem.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ