Skip to content
  • Linus Torvalds's avatar
    Merge tag 'module_init-alternate_initcall-v4.1-rc8' of... · 9d90f035
    Linus Torvalds authored
    Merge tag 'module_init-alternate_initcall-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
    
    Pull module_init replacement part two from Paul Gortmaker:
     "Replace module_init with appropriate alternate initcall in non
      modules.
    
      This series converts non-modular code that is using the module_init()
      call to hook itself into the system to instead use one of our
      alternate priority initcalls.
    
      Unlike the previous series that used device_initcall and hence was a
      runtime no-op, these commits change to one of the alternate initcalls,
      because (a) we have them and (b) it seems like the right thing to do.
    
      For example, it would seem logical to use arch_initcall for arch
      specific setup code and fs_initcall for filesystem setup code.
    
      This does mean however, that changes in the init ordering will be
      taking place, and so there is a small risk that some kind of implicit
      init ordering issue may lie uncovered.  But I think it is still better
      to give these ones sensible priorities than to just assign them all to
      device_initcall in order to exactly preserve the old ordering.
    
      Thad said, we have already made similar changes in core kernel code in
      commit c96d6660 ("kernel: audit/fix non-modular users of
      module_init in core code") without any regressions reported, so this
      type of change isn't without precedent.  It has also got the same
      local testing and linux-next coverage as all the other pull requests
      that I'm sending for this merge window have got.
    
      Once again, there is an unused module_exit function removal that shows
      up as an outlier upon casual inspection of the diffstat"
    
    * tag 'module_init-alternate_initcall-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
      x86: perf_event_intel_pt.c: use arch_initcall to hook in enabling
      x86: perf_event_intel_bts.c: use arch_initcall to hook in enabling
      mm/page_owner.c: use late_initcall to hook in enabling
      lib/list_sort: use late_initcall to hook in self tests
      arm: use subsys_initcall in non-modular pl320 IPC code
      powerpc: don't use module_init for non-modular core hugetlb code
      powerpc: use subsys_initcall for Freescale Local Bus
      x86: don't use module_init for non-modular core bootflag code
      netfilter: don't use module_init/exit in core IPV4 code
      fs/notify: don't use module_init for non-modular inotify_user code
      mm: replace module_init usages with subsys_initcall in nommu.c
    9d90f035