<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>f34d086f - module: Fix KCOV-ignored file name</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#f34d086f</link>
        <description>module: Fix KCOV-ignored file namemodule.c was renamed to main.c, but the Makefile directive was copy-pastedverbatim with the old file name.  Fix up the file name.Fixes: cfc1d277891e (&quot;module: Move all into module/&quot;)Signed-off-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Reviewed-by: Alexander Potapenko &lt;glider@google.com&gt;Reviewed-by: Marco Elver &lt;elver@google.com&gt;Reviewed-by: Andrey Konovalov &lt;andreyknvl@gmail.com&gt;Cc: stable@vger.kernel.orgLink: https://lore.kernel.org/all/bc0cf790b4839c5e38e2fafc64271f620568a39e.1718092070.git.dvyukov@google.com

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Tue, 11 Jun 2024 07:50:32 +0000</pubDate>
        <dc:creator>Dmitry Vyukov &lt;dvyukov@google.com&gt;</dc:creator>
    </item>
<item>
        <title>8660484e - module: add debugging auto-load duplicate module support</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#8660484e</link>
        <description>module: add debugging auto-load duplicate module supportThe finit_module() system call can in the worst case use up to more thantwice of a module&apos;s size in virtual memory. Duplicate finit_module()system calls are non fatal, however they unnecessarily strain virtualmemory during bootup and in the worst case can cause a system to failto boot. This is only known to currently be an issue on systems withlarger number of CPUs.To help debug this situation we need to consider the different sources forfinit_module(). Requests from the kernel that rely on module auto-loading,ie, the kernel&apos;s *request_module() API, are one source of calls. Althoughmodprobe checks to see if a module is already loaded prior to callingfinit_module() there is a small race possible allowing userspace totrigger multiple modprobe calls racing against modprobe and this notseeing the module yet loaded.This adds debugging support to the kernel module auto-loader (*request_module()calls) to easily detect duplicate module requests. To aid with possible bootupfailure issues incurred by this, it will converge duplicates requests to asingle request. This avoids any possible strain on virtual memory duringbootup which could be incurred by duplicate module autoloading requests.Folks debugging virtual memory abuse on bootup can and should enablethis to see what pr_warn()s come on, to see if module auto-loading is toblame for their wores. If they see duplicates they can further debug thisby enabling the module.enable_dups_trace kernel parameter or by enablingCONFIG_MODULE_DEBUG_AUTOLOAD_DUPS_TRACE.Current evidence seems to point to only a few duplicates for moduleauto-loading. And so the source for other duplicates creating heavyvirtual memory pressure due to larger number of CPUs should becomingfrom another place (likely udev).Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Fri, 14 Apr 2023 05:28:39 +0000</pubDate>
        <dc:creator>Luis Chamberlain &lt;mcgrof@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>df3e764d - module: add debug stats to help identify memory pressure</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#df3e764d</link>
        <description>module: add debug stats to help identify memory pressureLoading modules with finit_module() can end up using vmalloc(), vmap()and vmalloc() again, for a total of up to 3 separate allocations in theworst case for a single module. We always kernel_read*() the module,that&apos;s a vmalloc(). Then vmap() is used for the module decompression,and if so the last read buffer is freed as we use the now decompressedmodule buffer to stuff data into our copy module. The last allocation isspecific to each architectures but pretty much that&apos;s generally a seriesof vmalloc() calls or a variation of vmalloc to handle ELF sections withspecial permissions.Evaluation with new stress-ng module support [1] with just 100 opsis proving that you can end up using GiBs of data easily even with allcare we have in the kernel and userspace today in trying to not load moduleswhich are already loaded. 100 ops seems to resemble the sort of pressure asystem with about 400 CPUs can create on module loading. Although issuesrelating to duplicate module requests due to each CPU inucurring a newmodule reuest is silly and some of these are being fixed, we currently lackproper tooling to help diagnose easily what happened, when it happenedand who likely is to blame -- userspace or kernel module autoloading.Provide an initial set of stats which use debugfs to let us easily scrapepost-boot information about failed loads. This sort of information canbe used on production worklaods to try to optimize *avoiding* redundantmemory pressure using finit_module().There&apos;s a few examples that can be provided:A 255 vCPU system without the next patch in this series applied:Startup finished in 19.143s (kernel) + 7.078s (userspace) = 26.221sgraphical.target reached after 6.988s in userspaceAnd 13.58 GiB of virtual memory space lost due to failed module loading:root@big ~ # cat /sys/kernel/debug/modules/stats         Mods ever loaded       67     Mods failed on kread       0Mods failed on decompress       0  Mods failed on becoming       0      Mods failed on load       1411        Total module size       11464704      Total mod text size       4194304       Failed kread bytes       0  Failed decompress bytes       0    Failed becoming bytes       0        Failed kmod bytes       14588526272 Virtual mem wasted bytes       14588526272         Average mod size       171115    Average mod text size       62602  Average fail load bytes       10339140Duplicate failed modules:              module-name        How-many-times                    Reason                kvm_intel                   249                      Load                      kvm                   249                      Load                irqbypass                     8                      Load         crct10dif_pclmul                   128                      Load      ghash_clmulni_intel                    27                      Load             sha512_ssse3                    50                      Load           sha512_generic                   200                      Load              aesni_intel                   249                      Load              crypto_simd                    41                      Load                   cryptd                   131                      Load                    evdev                     2                      Load                serio_raw                     1                      Load               virtio_pci                     3                      Load                     nvme                     3                      Load                nvme_core                     3                      Load    virtio_pci_legacy_dev                     3                      Load    virtio_pci_modern_dev                     3                      Load                   t10_pi                     3                      Load                   virtio                     3                      Load             crc32_pclmul                     6                      Load           crc64_rocksoft                     3                      Load             crc32c_intel                    40                      Load              virtio_ring                     3                      Load                    crc64                     3                      LoadThe following screen shot, of a simple 8vcpu 8 GiB KVM guest with thenext patch in this series applied, shows 226.53 MiB are wasted in virtualmemory allocations which due to duplicate module requests during boot.It also shows an average module memory size of 167.10 KiB and an anaverage module .text + .init.text size of 61.13 KiB. The end shows allmodules which were detected as duplicate requests and whether or notthey failed early after just the first kernel_read*() call or late afterwe&apos;ve already allocated the private space for the module inlayout_and_allocate(). A system with module decompression would revealmore wasted virtual memory space.We should put effort now into identifying the source of these duplicatemodule requests and trimming these down as much possible. Larger systemswill obviously show much more wasted virtual memory allocations.root@kmod ~ # cat /sys/kernel/debug/modules/stats         Mods ever loaded       67     Mods failed on kread       0Mods failed on decompress       0  Mods failed on becoming       83      Mods failed on load       16        Total module size       11464704      Total mod text size       4194304       Failed kread bytes       0  Failed decompress bytes       0    Failed becoming bytes       228959096        Failed kmod bytes       8578080 Virtual mem wasted bytes       237537176         Average mod size       171115    Average mod text size       62602  Avg fail becoming bytes       2758544  Average fail load bytes       536130Duplicate failed modules:              module-name        How-many-times                    Reason                kvm_intel                     7                  Becoming                      kvm                     7                  Becoming                irqbypass                     6           Becoming &amp; Load         crct10dif_pclmul                     7           Becoming &amp; Load      ghash_clmulni_intel                     7           Becoming &amp; Load             sha512_ssse3                     6           Becoming &amp; Load           sha512_generic                     7           Becoming &amp; Load              aesni_intel                     7                  Becoming              crypto_simd                     7           Becoming &amp; Load                   cryptd                     3           Becoming &amp; Load                    evdev                     1                  Becoming                serio_raw                     1                  Becoming                     nvme                     3                  Becoming                nvme_core                     3                  Becoming                   t10_pi                     3                  Becoming               virtio_pci                     3                  Becoming             crc32_pclmul                     6           Becoming &amp; Load           crc64_rocksoft                     3                  Becoming             crc32c_intel                     3                  Becoming    virtio_pci_modern_dev                     2                  Becoming    virtio_pci_legacy_dev                     1                  Becoming                    crc64                     2                  Becoming                   virtio                     2                  Becoming              virtio_ring                     2                  Becoming[0] https://github.com/ColinIanKing/stress-ng.git[1] echo 0 &gt; /proc/sys/vm/oom_dump_tasks    ./stress-ng --module 100 --module-name xfsSigned-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Wed, 29 Mar 2023 03:03:19 +0000</pubDate>
        <dc:creator>Luis Chamberlain &lt;mcgrof@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>25be451a - module: fold usermode helper kmod into modules directory</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#25be451a</link>
        <description>module: fold usermode helper kmod into modules directoryThe kernel/kmod.c is already only built if we enabled modules, sojust stuff it under kernel/module/kmod.c and unify the MAINTAINERSfile for it.Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Sun, 19 Mar 2023 21:35:42 +0000</pubDate>
        <dc:creator>Luis Chamberlain &lt;mcgrof@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>99bd9956 - module: Introduce module unload taint tracking</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#99bd9956</link>
        <description>module: Introduce module unload taint trackingCurrently, only the initial module that tainted the kernel isrecorded e.g. when an out-of-tree module is loaded.The purpose of this patch is to allow the kernel to maintain a record ofeach unloaded module that taints the kernel. So, in addition todisplaying a list of linked modules (see print_modules()) e.g. in theevent of a detected bad page, unloaded modules that carried a taint/ortaints are displayed too. A tainted module unload count is maintained.The number of tracked modules is not fixed. This feature is disabled bydefault.Signed-off-by: Aaron Tomlin &lt;atomlin@redhat.com&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Mon, 02 May 2022 20:52:52 +0000</pubDate>
        <dc:creator>Aaron Tomlin &lt;atomlin@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>32a08c17 - module: Move module_enable_x() and frob_text() in strict_rwx.c</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#32a08c17</link>
        <description>module: Move module_enable_x() and frob_text() in strict_rwx.cMove module_enable_x() together with module_enable_nx() andmodule_enable_ro().Those three functions are going together, they are all usedto set up the correct page flags on the different sections.As module_enable_x() is used independently ofCONFIG_STRICT_MODULE_RWX, build strict_rwx.c all the time anduse IS_ENABLED(CONFIG_STRICT_MODULE_RWX) when relevant.Signed-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Wed, 23 Feb 2022 09:00:59 +0000</pubDate>
        <dc:creator>Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;</dc:creator>
    </item>
<item>
        <title>47889798 - module: Move version support into a separate file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#47889798</link>
        <description>module: Move version support into a separate fileNo functional change.This patch migrates module version support out of core code intokernel/module/version.c. In addition simple code refactoring tomake this possible.Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Signed-off-by: Aaron Tomlin &lt;atomlin@redhat.com&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Tue, 22 Mar 2022 14:03:44 +0000</pubDate>
        <dc:creator>Aaron Tomlin &lt;atomlin@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>f64205a4 - module: Move kdb module related code out of main kdb code</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#f64205a4</link>
        <description>module: Move kdb module related code out of main kdb codeNo functional change.This patch migrates the kdb &apos;lsmod&apos; command support out of mainkdb code into its own file under kernel/module. In addition tothe above, a minor style warning i.e. missing a blank line afterdeclarations, was resolved too. The new file was added toMAINTAINERS. Finally we remove linux/module.h as it is entirelyredundant.Reviewed-by: Daniel Thompson &lt;daniel.thompson@linaro.org&gt;Acked-by: Daniel Thompson &lt;daniel.thompson@linaro.org&gt;Signed-off-by: Aaron Tomlin &lt;atomlin@redhat.com&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Tue, 22 Mar 2022 14:03:43 +0000</pubDate>
        <dc:creator>Aaron Tomlin &lt;atomlin@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>44c09535 - module: Move sysfs support into a separate file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#44c09535</link>
        <description>module: Move sysfs support into a separate fileNo functional change.This patch migrates module sysfs support out of core code intokernel/module/sysfs.c. In addition simple code refactoring tomake this possible.Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Signed-off-by: Aaron Tomlin &lt;atomlin@redhat.com&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Tue, 22 Mar 2022 14:03:42 +0000</pubDate>
        <dc:creator>Aaron Tomlin &lt;atomlin@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>0ffc40f6 - module: Move procfs support into a separate file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#0ffc40f6</link>
        <description>module: Move procfs support into a separate fileNo functional change.This patch migrates code that allows one to generate alist of loaded/or linked modules via /proc when procfssupport is enabled into kernel/module/procfs.c.Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Signed-off-by: Aaron Tomlin &lt;atomlin@redhat.com&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Tue, 22 Mar 2022 14:03:41 +0000</pubDate>
        <dc:creator>Aaron Tomlin &lt;atomlin@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>91fb02f3 - module: Move kallsyms support into a separate file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#91fb02f3</link>
        <description>module: Move kallsyms support into a separate fileNo functional change.This patch migrates kallsyms code out of core modulecode kernel/module/kallsyms.cSigned-off-by: Aaron Tomlin &lt;atomlin@redhat.com&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Tue, 22 Mar 2022 14:03:39 +0000</pubDate>
        <dc:creator>Aaron Tomlin &lt;atomlin@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>473c84d1 - module: Move kmemleak support to a separate file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#473c84d1</link>
        <description>module: Move kmemleak support to a separate fileNo functional change.This patch migrates kmemleak code out of core modulecode into kernel/module/debug_kmemleak.cReviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Signed-off-by: Aaron Tomlin &lt;atomlin@redhat.com&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Tue, 22 Mar 2022 14:03:38 +0000</pubDate>
        <dc:creator>Aaron Tomlin &lt;atomlin@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>b33465fe - module: Move strict rwx support to a separate file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#b33465fe</link>
        <description>module: Move strict rwx support to a separate fileNo functional change.This patch migrates code that makes module textand rodata memory read-only and non-text memorynon-executable from core module code intokernel/module/strict_rwx.c.Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Signed-off-by: Aaron Tomlin &lt;atomlin@redhat.com&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Tue, 22 Mar 2022 14:03:36 +0000</pubDate>
        <dc:creator>Aaron Tomlin &lt;atomlin@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>58d208de - module: Move latched RB-tree support to a separate file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#58d208de</link>
        <description>module: Move latched RB-tree support to a separate fileNo functional change.This patch migrates module latched RB-tree support(e.g. see __module_address()) from core module codeinto kernel/module/tree_lookup.c.Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Signed-off-by: Aaron Tomlin &lt;atomlin@redhat.com&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Tue, 22 Mar 2022 14:03:35 +0000</pubDate>
        <dc:creator>Aaron Tomlin &lt;atomlin@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>1be9473e - module: Move livepatch support to a separate file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#1be9473e</link>
        <description>module: Move livepatch support to a separate fileNo functional change.This patch migrates livepatch support (i.e. used during moduleadd/or load and remove/or deletion) from core module code intokernel/module/livepatch.c. At the moment it contains code topersist Elf information about a given livepatch module, only.The new file was added to MAINTAINERS.Reviewed-by: Petr Mladek &lt;pmladek@suse.com&gt;Tested-by: Petr Mladek &lt;pmladek@suse.com&gt;Signed-off-by: Aaron Tomlin &lt;atomlin@redhat.com&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Tue, 22 Mar 2022 14:03:34 +0000</pubDate>
        <dc:creator>Aaron Tomlin &lt;atomlin@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>cfc1d277 - module: Move all into module/</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/module/Makefile#cfc1d277</link>
        <description>module: Move all into module/No functional changes.This patch moves all module related code into a separate directory,modifies each file name and creates a new Makefile. Note: this effortis in preparation to refactor core module code.Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Signed-off-by: Aaron Tomlin &lt;atomlin@redhat.com&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/kernel/module/Makefile</description>
        <pubDate>Tue, 22 Mar 2022 14:03:31 +0000</pubDate>
        <dc:creator>Aaron Tomlin &lt;atomlin@redhat.com&gt;</dc:creator>
    </item>
</channel>
</rss>
