<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/Documentation/ABI/testing/sysfs-module, branch master</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=master</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2026-03-19T22:24:55Z</updated>
<entry>
<title>module: expose imported namespaces via sysfs</title>
<updated>2026-03-19T22:24:55Z</updated>
<author>
<name>Nicholas Sielicki</name>
<email>linux@opensource.nslick.com</email>
</author>
<published>2026-03-07T09:00:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3fe1dcbc2d20c5dbc581c0bb458e05365bfffcf7'/>
<id>urn:sha1:3fe1dcbc2d20c5dbc581c0bb458e05365bfffcf7</id>
<content type='text'>
Add /sys/module/*/import_ns to expose imported namespaces for
currently loaded modules. The file contains one namespace per line and
only exists for modules that import at least one namespace.

Previously, the only way for userspace to inspect the symbol
namespaces a module imports is to locate the .ko on disk and invoke
modinfo(8) to decompress/parse the metadata. The kernel validated
namespaces at load time, but it was otherwise discarded.

Exposing this data via sysfs provides a runtime mechanism to verify
which namespaces are being used by modules. For example, this allows
userspace to audit driver API access in Android GKI, which uses symbol
namespaces to restrict vendor drivers from using specific kernel
interfaces (e.g., direct filesystem access).

Signed-off-by: Nicholas Sielicki &lt;linux@opensource.nslick.com&gt;
[Sami: Updated the commit message to explain motivation.]
Signed-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;
</content>
</entry>
<entry>
<title>docs: ABI: sysfs-module: update modules taint flags</title>
<updated>2025-11-05T18:32:13Z</updated>
<author>
<name>Randy Dunlap</name>
<email>rdunlap@infradead.org</email>
</author>
<published>2025-11-02T06:04:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8710524f3fc9adb25f844fabab36b75f23199e8b'/>
<id>urn:sha1:8710524f3fc9adb25f844fabab36b75f23199e8b</id>
<content type='text'>
Add missing taint flags for loadable modules, as pointed out by
Petr Pavlu [1].

[1] https://lore.kernel.org/all/c58152f1-0fbe-4f50-bb61-e2f4c0584025@suse.com/

Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Reviewed-by: Petr Pavlu &lt;petr.pavlu@suse.com&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251102060458.517911-1-rdunlap@infradead.org&gt;
</content>
</entry>
<entry>
<title>xen: speed up grant-table reclaim</title>
<updated>2023-07-27T05:53:12Z</updated>
<author>
<name>Demi Marie Obenour</name>
<email>demi@invisiblethingslab.com</email>
</author>
<published>2023-07-26T16:52:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c04e9894846c663f3278a414f34416e6e45bbe68'/>
<id>urn:sha1:c04e9894846c663f3278a414f34416e6e45bbe68</id>
<content type='text'>
When a grant entry is still in use by the remote domain, Linux must put
it on a deferred list.  Normally, this list is very short, because
the PV network and block protocols expect the backend to unmap the grant
first.  However, Qubes OS's GUI protocol is subject to the constraints
of the X Window System, and as such winds up with the frontend unmapping
the window first.  As a result, the list can grow very large, resulting
in a massive memory leak and eventual VM freeze.

To partially solve this problem, make the number of entries that the VM
will attempt to free at each iteration tunable.  The default is still
10, but it can be overridden via a module parameter.

This is Cc: stable because (when combined with appropriate userspace
changes) it fixes a severe performance and stability problem for Qubes
OS users.

Cc: stable@vger.kernel.org
Signed-off-by: Demi Marie Obenour &lt;demi@invisiblethingslab.com&gt;
Reviewed-by: Juergen Gross &lt;jgross@suse.com&gt;
Link: https://lore.kernel.org/r/20230726165354.1252-1-demi@invisiblethingslab.com
Signed-off-by: Juergen Gross &lt;jgross@suse.com&gt;
</content>
</entry>
<entry>
<title>ABI: testing/sysfs-module: document initstate</title>
<updated>2021-09-28T10:48:15Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab+huawei@kernel.org</email>
</author>
<published>2021-09-27T13:59:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=eeac9faf9645e2eeda0c7414700c41936667dbaa'/>
<id>urn:sha1:eeac9faf9645e2eeda0c7414700c41936667dbaa</id>
<content type='text'>
Despite being an old ABI, present on all modules, its documentation
is missing. Add it, based on the original commit.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
Link: https://lore.kernel.org/r/b9c72187abce2b0efd1c41646b1d0c66104d90e4.1632750608.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>docs: ABI: remove some spurious characters</title>
<updated>2021-05-11T17:00:18Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab+huawei@kernel.org</email>
</author>
<published>2021-05-11T15:01:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6f3bceba03b4f18e0b83261e2fb761e0ad5da625'/>
<id>urn:sha1:6f3bceba03b4f18e0b83261e2fb761e0ad5da625</id>
<content type='text'>
The KernelVersion tag contains some spurious UTF-8 characters
for no reason. Drop them.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
Link: https://lore.kernel.org/r/6d774ad6cb3795a177309503a39f8f1b5e309d64.1620744606.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
</content>
</entry>
<entry>
<title>docs: ABI: Drop trailing whitespace</title>
<updated>2020-11-13T22:03:49Z</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert+renesas@glider.be</email>
</author>
<published>2020-11-10T14:40:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4ec0b092493f3316db45373954963cc07e081492'/>
<id>urn:sha1:4ec0b092493f3316db45373954963cc07e081492</id>
<content type='text'>
Remove all trailing whitespace from the ABI documentation.
Most of it was introduced during recent updates.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Link: https://lore.kernel.org/r/20201110144033.3278499-1-geert+renesas@glider.be
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
</content>
</entry>
<entry>
<title>docs: ABI: cleanup several ABI documents</title>
<updated>2020-10-30T12:14:29Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab+huawei@kernel.org</email>
</author>
<published>2020-10-30T07:40:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=54a19b4d3fe0fa0a31b46cd60951e8177cac25fa'/>
<id>urn:sha1:54a19b4d3fe0fa0a31b46cd60951e8177cac25fa</id>
<content type='text'>
There are some ABI documents that, while they don't generate
any warnings, they have issues when parsed by get_abi.pl script
on its output result.

Address them, in order to provide a clean output.

Reviewed-by: Tom Rix &lt;trix@redhat.com&gt; # for fpga-manager
Reviewed-By: Kajol Jain&lt;kjain@linux.ibm.com&gt; # for sysfs-bus-event_source-devices-hv_gpci and sysfs-bus-event_source-devices-hv_24x7
Acked-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt; #for IIO
Acked-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt; # for Habanalabs
Acked-by: Vaibhav Jain &lt;vaibhav@linux.ibm.com&gt; # for sysfs-bus-papr-pmem
Acked-by: Cezary Rojewski &lt;cezary.rojewski@intel.com&gt; # for catpt
Acked-by: Suzuki K Poulose &lt;suzuki.poulose@arm.com&gt;
Acked-by: Ilya Dryomov &lt;idryomov@gmail.com&gt; # for rbd
Acked-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
Link: https://lore.kernel.org/r/5bc78e5b68ed1e9e39135173857cb2e753be868f.1604042072.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Use 'E' instead of 'X' for unsigned module taint flag.</title>
<updated>2014-03-31T04:22:43Z</updated>
<author>
<name>Rusty Russell</name>
<email>rusty@rustcorp.com.au</email>
</author>
<published>2014-03-31T04:09:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=57673c2b0baa900dddae3b9eb3d7748ebf550eb3'/>
<id>urn:sha1:57673c2b0baa900dddae3b9eb3d7748ebf550eb3</id>
<content type='text'>
Takashi Iwai &lt;tiwai@suse.de&gt; says:
&gt; The letter 'X' has been already used for SUSE kernels for very long
&gt; time, to indicate the external supported modules.  Can the new flag be
&gt; changed to another letter for avoiding conflict...?
&gt; (BTW, we also use 'N' for "no support", too.)

Note: this code should be cleaned up, so we don't have such maps in
three places!

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
<entry>
<title>Fix: module signature vs tracepoints: add new TAINT_UNSIGNED_MODULE</title>
<updated>2014-03-13T01:41:51Z</updated>
<author>
<name>Mathieu Desnoyers</name>
<email>mathieu.desnoyers@efficios.com</email>
</author>
<published>2014-03-13T01:41:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=66cc69e34e86a231fbe68d8918c6119e3b7549a3'/>
<id>urn:sha1:66cc69e34e86a231fbe68d8918c6119e3b7549a3</id>
<content type='text'>
Users have reported being unable to trace non-signed modules loaded
within a kernel supporting module signature.

This is caused by tracepoint.c:tracepoint_module_coming() refusing to
take into account tracepoints sitting within force-loaded modules
(TAINT_FORCED_MODULE). The reason for this check, in the first place, is
that a force-loaded module may have a struct module incompatible with
the layout expected by the kernel, and can thus cause a kernel crash
upon forced load of that module on a kernel with CONFIG_TRACEPOINTS=y.

Tracepoints, however, specifically accept TAINT_OOT_MODULE and
TAINT_CRAP, since those modules do not lead to the "very likely system
crash" issue cited above for force-loaded modules.

With kernels having CONFIG_MODULE_SIG=y (signed modules), a non-signed
module is tainted re-using the TAINT_FORCED_MODULE taint flag.
Unfortunately, this means that Tracepoints treat that module as a
force-loaded module, and thus silently refuse to consider any tracepoint
within this module.

Since an unsigned module does not fit within the "very likely system
crash" category of tainting, add a new TAINT_UNSIGNED_MODULE taint flag
to specifically address this taint behavior, and accept those modules
within Tracepoints. We use the letter 'X' as a taint flag character for
a module being loaded that doesn't know how to sign its name (proposed
by Steven Rostedt).

Also add the missing 'O' entry to trace event show_module_flags() list
for the sake of completeness.

Signed-off-by: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;
Acked-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
NAKed-by: Ingo Molnar &lt;mingo@redhat.com&gt;
CC: Thomas Gleixner &lt;tglx@linutronix.de&gt;
CC: David Howells &lt;dhowells@redhat.com&gt;
CC: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
<entry>
<title>modules: sysfs - export: taint, coresize, initsize</title>
<updated>2012-01-12T23:02:15Z</updated>
<author>
<name>Kay Sievers</name>
<email>kay.sievers@vrfy.org</email>
</author>
<published>2012-01-12T23:02:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=cca3e707301862ca9b9327e6a732463982f8cd1b'/>
<id>urn:sha1:cca3e707301862ca9b9327e6a732463982f8cd1b</id>
<content type='text'>
Recent tools do not want to use /proc to retrieve module information. A few
values are currently missing from sysfs to replace the information available
in /proc/modules.

This adds /sys/module/*/{coresize,initsize,taint} attributes.

TAINT_PROPRIETARY_MODULE (P) and TAINT_OOT_MODULE (O) flags are both always
shown now, and do no longer exclude each other, also in /proc/modules.

Replace the open-coded sysfs attribute initializers with the __ATTR() macro.

Add the new attributes to Documentation/ABI.

Cc: Lucas De Marchi &lt;lucas.demarchi@profusion.mobi&gt;
Signed-off-by: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
</feed>
