[PATCH v10 5/5] rust: Use gendwarfksyms + extended modversions for CONFIG_MODVERSIONS

2024-11-22 Thread Matthew Maurer
From: Sami Tolvanen Previously, two things stopped Rust from using MODVERSIONS: 1. Rust symbols are occasionally too long to be represented in the original versions table 2. Rust types cannot be properly hashed by the existing genksyms approach because: * Looking up type definitions

[PATCH v10 2/5] modpost: Produce extended MODVERSIONS information

2024-11-22 Thread Matthew Maurer
Generate both the existing modversions format and the new extended one when running modpost. Presence of this metadata in the final .ko is guarded by CONFIG_EXTENDED_MODVERSIONS. We no longer generate an error on long symbols in modpost if CONFIG_EXTENDED_MODVERSIONS is set, as they can now be app

[PATCH v10 3/5] modules: Allow extended modversions without basic MODVERSIONS

2024-11-22 Thread Matthew Maurer
If you know that your kernel modules will only ever be loaded by a newer kernel, you can disable BASIC_MODVERSIONS to save space. This also allows easy creation of test modules to seee how tooling will respond to modules that only have the new format. Signed-off-by: Matthew Maurer --- kernel/mod

[PATCH v10 4/5] Documentation/kbuild: Document storage of symbol information

2024-11-22 Thread Matthew Maurer
Document where exported and imported symbols are kept, format options, and limitations. Signed-off-by: Matthew Maurer --- Documentation/kbuild/modules.rst | 20 1 file changed, 20 insertions(+) diff --git a/Documentation/kbuild/modules.rst b/Documentation/kbuild/modules.rst

[PATCH v10 0/5] Extended MODVERSIONS Support

2024-11-22 Thread Matthew Maurer
This patch series is intended for use alongside the Implement DWARF modversions series [1] to enable RUST and MODVERSIONS at the same time. Elsewhere, we've seen a desire for long symbol name support for LTO symbol names [2], and the previous series came up [3] as a possible solution rather than h

[PATCH v10 1/5] modules: Support extended MODVERSIONS info

2024-11-22 Thread Matthew Maurer
Adds a new format for MODVERSIONS which stores each field in a separate ELF section. This initially adds support for variable length names, but could later be used to add additional fields to MODVERSIONS in a backwards compatible way if needed. Any new fields will be ignored by old user tooling, un

Re: [PATCH v9 3/5] modules: Allow extended modversions without basic MODVERSIONS

2024-11-22 Thread Matthew Maurer
> > depends on !COMPILE_TEST > > + selects BASIC_MODVERSIONS > > tested? 'selects' is not valid. > Apologies. Tested before making BASIC_MODVERSIONS default. I've fixed this locally, and will re-test with the whole stack before resending.

Re: [PATCH v9 3/5] modules: Allow extended modversions without basic MODVERSIONS

2024-11-22 Thread Randy Dunlap
On 11/22/24 4:19 PM, Matthew Maurer wrote: > If you know that your kernel modules will only ever be loaded by a newer > kernel, you can disable BASIC_MODVERSIONS to save space. This also > allows easy creation of test modules to seee how tooling will respond to > modules that only have the new f

[PATCH v9 5/5] rust: Use gendwarfksyms + extended modversions for CONFIG_MODVERSIONS

2024-11-22 Thread Matthew Maurer
From: Sami Tolvanen Previously, two things stopped Rust from using MODVERSIONS: 1. Rust symbols are occasionally too long to be represented in the original versions table 2. Rust types cannot be properly hashed by the existing genksyms approach because: * Looking up type definitions

[PATCH v9 4/5] Documentation/kbuild: Document storage of symbol information

2024-11-22 Thread Matthew Maurer
Document where exported and imported symbols are kept, format options, and limitations. Signed-off-by: Matthew Maurer --- Documentation/kbuild/modules.rst | 20 1 file changed, 20 insertions(+) diff --git a/Documentation/kbuild/modules.rst b/Documentation/kbuild/modules.rst

[PATCH v9 3/5] modules: Allow extended modversions without basic MODVERSIONS

2024-11-22 Thread Matthew Maurer
If you know that your kernel modules will only ever be loaded by a newer kernel, you can disable BASIC_MODVERSIONS to save space. This also allows easy creation of test modules to seee how tooling will respond to modules that only have the new format. Signed-off-by: Matthew Maurer --- kernel/mod

[PATCH v9 2/5] modpost: Produce extended MODVERSIONS information

2024-11-22 Thread Matthew Maurer
Generate both the existing modversions format and the new extended one when running modpost. Presence of this metadata in the final .ko is guarded by CONFIG_EXTENDED_MODVERSIONS. We no longer generate an error on long symbols in modpost if CONFIG_EXTENDED_MODVERSIONS is set, as they can now be app

[PATCH v9 1/5] modules: Support extended MODVERSIONS info

2024-11-22 Thread Matthew Maurer
Adds a new format for MODVERSIONS which stores each field in a separate ELF section. This initially adds support for variable length names, but could later be used to add additional fields to MODVERSIONS in a backwards compatible way if needed. Any new fields will be ignored by old user tooling, un

[PATCH v9 0/5] Extended MODVERSIONS Support

2024-11-22 Thread Matthew Maurer
This patch series is intended for use alongside the Implement DWARF modversions series [1] to enable RUST and MODVERSIONS at the same time. Elsewhere, we've seen a desire for long symbol name support for LTO symbol names [2], and the previous series came up [3] as a possible solution rather than h

Re: [PATCH v3 10/25] pci/p2pdma: Don't initialise page refcount to one

2024-11-22 Thread Bjorn Helgaas
On Fri, Nov 22, 2024 at 12:40:31PM +1100, Alistair Popple wrote: > The reference counts for ZONE_DEVICE private pages should be > initialised by the driver when the page is actually allocated by the > driver allocator, not when they are first created. This is currently > the case for MEMORY_DEVICE_

Re: [PATCH] docs/licensing: Clarify wording about "GPL" and "Proprietary"

2024-11-22 Thread Jonathan Corbet
Uwe Kleine-König writes: > There are currently some doubts about out-of-tree kernel modules licensed > under GPLv3 and if they are supposed to be able to use symbols exported > using EXPORT_SYMBOL_GPL. > > Clarify that "Proprietary" means anything non-GPL2 even though the > license might be an op

Re: [RFC PATCH v3 11/15] context-tracking: Introduce work deferral infrastructure

2024-11-22 Thread Valentin Schneider
On 20/11/24 18:30, Frederic Weisbecker wrote: > Le Wed, Nov 20, 2024 at 06:10:43PM +0100, Valentin Schneider a écrit : >> On 20/11/24 15:23, Frederic Weisbecker wrote: >> >> > Ah but there is CT_STATE_GUEST and I see the last patch also applies that >> > to >> > CT_STATE_IDLE. >> > >> > So that co

Re: Fixing Spelling Mistake in rculist_nulls.rst

2024-11-22 Thread Mathieu Desnoyers
On 2024-11-21 18:21, Vyshnav Ajith wrote: NUll is a special marker and not maker I believe. Fixing typo with this patch. Please fix the capitalization typo in the commit message. It should read "Null". Thanks, Mathieu Signed-off-by: Vyshnav Ajith --- Documentation/RCU/rculist_nulls.rst

Re: [RFC PATCH v3 04/15] rcu: Add a small-width RCU watching counter debug option

2024-11-22 Thread Valentin Schneider
On 22/11/24 04:53, Paul E. McKenney wrote: > On Tue, Nov 19, 2024 at 04:34:51PM +0100, Valentin Schneider wrote: >> +config RCU_DYNTICKS_TORTURE >> +bool "Minimize RCU dynticks counter size" >> +depends on RCU_EXPERT >> +default n >> +help >> + This option controls the width of

Re: [RFC PATCH v3 05/15] rcutorture: Make TREE04 use CONFIG_RCU_DYNTICKS_TORTURE

2024-11-22 Thread Paul E. McKenney
On Tue, Nov 19, 2024 at 04:34:52PM +0100, Valentin Schneider wrote: > We now have an RCU_EXPERT config for testing small-sized RCU dynticks > counter: CONFIG_RCU_DYNTICKS_TORTURE. > > Modify scenario TREE04 to exercise to use this config in order to test a > ridiculously small counter (2 bits). >

Re: [RFC PATCH v3 04/15] rcu: Add a small-width RCU watching counter debug option

2024-11-22 Thread Paul E. McKenney
On Tue, Nov 19, 2024 at 04:34:51PM +0100, Valentin Schneider wrote: > A later commit will reduce the size of the RCU watching counter to free up > some bits for another purpose. Paul suggested adding a config option to > test the extreme case where the counter is reduced to its minimum usable > wid

Re: [RFC PATCH v3 06/15] jump_label: Add forceful jump label type

2024-11-22 Thread Valentin Schneider
On 21/11/24 12:21, Josh Poimboeuf wrote: > On Thu, Nov 21, 2024 at 04:51:09PM +0100, Valentin Schneider wrote: >> Okay so forcing the IPI for .noinstr patching lets us get rid of all the >> force_ipi faff; however I would still want the special marking to tell >> objtool "yep we're okay with this o