]> www.infradead.org Git - users/willy/pagecache.git/commitdiff
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux...
authorStephen Rothwell <sfr@canb.auug.org.au>
Mon, 17 Mar 2025 05:25:01 +0000 (16:25 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Mon, 17 Mar 2025 05:25:01 +0000 (16:25 +1100)
# Conflicts:
# include/linux/module.h

13 files changed:
1  2 
Documentation/admin-guide/kernel-parameters.txt
MAINTAINERS
arch/arm64/Kconfig
include/linux/mm.h
include/linux/module.h
kernel/module/main.c
kernel/trace/ftrace.c
kernel/trace/trace_kprobe.c
kernel/trace/trace_osnoise.c
mm/memblock.c
scripts/link-vmlinux.sh
tools/scripts/Makefile.include
tools/tracing/rtla/Makefile

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
index d9a5183a9fe711062dc8b3241d54583e1f296808,9a71dd2cb11fdcec6960589dadbc3aada4e3eb31..d94b196d5a34e104d81308df4b150452eb96cdc9
@@@ -771,6 -772,18 +771,8 @@@ static inline bool is_livepatch_module(
  
  void set_module_sig_enforced(void);
  
 -void *__module_writable_address(struct module *mod, void *loc);
 -
 -static inline void *module_writable_address(struct module *mod, void *loc)
 -{
 -      if (!IS_ENABLED(CONFIG_ARCH_HAS_EXECMEM_ROX) || !mod ||
 -          mod->state != MODULE_STATE_UNFORMED)
 -              return loc;
 -      return __module_writable_address(mod, loc);
 -}
 -
+ void module_for_each_mod(int(*func)(struct module *mod, void *data), void *data);
  #else /* !CONFIG_MODULES... */
  
  static inline struct module *__module_address(unsigned long addr)
@@@ -878,6 -891,15 +880,10 @@@ static inline bool module_is_coming(str
  {
        return false;
  }
 -static inline void *module_writable_address(struct module *mod, void *loc)
 -{
 -      return loc;
 -}
 -
+ static inline void module_for_each_mod(int(*func)(struct module *mod, void *data), void *data)
+ {
+ }
  #endif /* CONFIG_MODULES */
  
  #ifdef CONFIG_SYSFS
index debeb0eb15d7ea6dcf9bea308c17e5c180a48922,927a2e0ffd5fb54f041b04bf2b8587e9d0a86a72..a2859dc3eea66ec19991e7e4afb5bbcae2c2d167
@@@ -3740,10 -3800,28 +3740,23 @@@ lookup
   */
  bool is_module_text_address(unsigned long addr)
  {
 -      bool ret;
 -
 -      preempt_disable();
 -      ret = __module_text_address(addr) != NULL;
 -      preempt_enable();
 -
 -      return ret;
 +      guard(rcu)();
 +      return __module_text_address(addr) != NULL;
  }
  
+ void module_for_each_mod(int(*func)(struct module *mod, void *data), void *data)
+ {
+       struct module *mod;
+       guard(rcu)();
+       list_for_each_entry_rcu(mod, &modules, list) {
+               if (mod->state == MODULE_STATE_UNFORMED)
+                       continue;
+               if (func(mod, data))
+                       break;
+       }
+ }
  /**
   * __module_text_address() - get the module whose code contains an address.
   * @addr: the address.
Simple merge
Simple merge
Simple merge
diff --cc mm/memblock.c
Simple merge
Simple merge
Simple merge
index 0b61208db604ec0754024c3007db6b2fe74a613c,557af322be6106282e8004b57a8164130c8dbe57..4cc3017dccaa4d01ee2406bcf81a0b44ef261ad8
@@@ -36,7 -39,16 +39,10 @@@ FEATURE_TESTS       += bpftool-skeleton
  FEATURE_DISPLAY       := libtraceevent
  FEATURE_DISPLAY       += libtracefs
  FEATURE_DISPLAY       += libcpupower
+ FEATURE_DISPLAY       += libbpf
+ FEATURE_DISPLAY       += clang-bpf-co-re
+ FEATURE_DISPLAY       += bpftool-skeletons
  
 -ifeq ($(V),1)
 -  Q           =
 -else
 -  Q           = @
 -endif
 -
  all: $(RTLA)
  
  include $(srctree)/tools/build/Makefile.include