• Linus Torvalds's avatar
    Merge tag 'modules-for-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · 65c61de9
    Linus Torvalds authored
    Pull module updates from Jessica Yu:
     "Fix an age old bug involving jump_calls and static_labels when
      CONFIG_MODULE_UNLOAD=n.
    
      When CONFIG_MODULE_UNLOAD=n, it means you can't unload modules, so
      normally the __exit sections of a module are not loaded at all.
      However, dynamic code patching (jump_label, static_call, alternatives)
      can have sites in __exit sections even if __exit is never executed.
    
      Reported by Peter Zijlstra:
         'Alternatives, jump_labels and static_call all can have relocations
          into __exit code. Not loading it at all would be BAD.'
    
      Therefore, load the __exit sections even when CONFIG_MODULE_UNLOAD=n,
      and discard them after init"
    
    * tag 'modules-for-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
      module: treat exit sections the same as init sections when !CONFIG_MODULE_UNLOAD
    65c61de9
module.c 119 KB