> 2)
> Regressions on s390 with defconfig builds with gcc-13, gcc-8 and
> clang-20 and clang-nightly toolchains on the stable-rc 6.1.136-rc1.
>
> * s390, build
> - clang-20-defconfig
> - clang-nightly-defconfig
> - gcc-13-allmodconfig
> - gcc-13-defconfig
> - gcc-8-defconfig-fe40093d
>
On Thu, Apr 10, 2025 at 01:46:06PM -0700, Dan Williams wrote:
> Matthew Wilcox wrote:
> > On Thu, Apr 10, 2025 at 01:15:07PM -0700, Dan Williams wrote:
> > > For consistency and clarity what about this incremental change, to make
> > > the __split_folio_to_order() p
On Thu, Apr 10, 2025 at 01:15:07PM -0700, Dan Williams wrote:
> For consistency and clarity what about this incremental change, to make
> the __split_folio_to_order() path reuse folio_reset_order(), and use
> typical bitfield helpers for manipulating _flags_1?
I dislike this intensely. It obfusca
On Mon, Mar 10, 2025 at 12:42:06PM -0400, Zi Yan wrote:
> > Because of the “Careful” comment. But new_folio->* should be fine,
> > since it is the same as new_head. So I probably can replace all
> > new_head with new_folio except those VM_BUG_ON_PAGE checks?
Why not also the VM_BUG_ON_PAGE check?
On Fri, Mar 07, 2025 at 12:39:55PM -0500, Zi Yan wrote:
> + for (index = new_nr_pages; index < nr_pages; index += new_nr_pages) {
> + struct page *head = &folio->page;
> + struct page *new_head = head + index;
> +
> + /*
> + * Careful: new_folio
On Thu, Feb 27, 2025 at 05:55:43AM +, Matthew Wilcox wrote:
> On Wed, Feb 26, 2025 at 04:00:25PM -0500, Zi Yan wrote:
> > +static int __split_unmapped_folio(struct folio *folio, int new_order,
> > + struct page *split_at, struct page *lock_at,
> > + s
On Wed, Feb 26, 2025 at 04:00:25PM -0500, Zi Yan wrote:
> +static int __split_unmapped_folio(struct folio *folio, int new_order,
> + struct page *split_at, struct page *lock_at,
> + struct list_head *list, pgoff_t end,
> + struct xa_state *xas, struct address_spa
On Fri, Feb 07, 2025 at 09:35:27AM -0500, Zi Yan wrote:
> On 7 Feb 2025, at 9:25, Matthew Wilcox wrote:
> > As part of your series, I'd like to remove that limitation, so we'd need
> > to allocate log_64(n - m) [ok, more complex than that, but ykwim]. So
> > it'
to split an order-9
> folio, 8 xa_nodes are needed for uniform split, since the folio takes 8
> multi-index slots in the xarray. But for non-uniform split, only the slot
> containing the given struct page needs a xa_node after the split. There will
> be
> a 7 xa_node saving.
>
The only thing that stands out about this config relative to this
patch is that it set CONFIG_MODVERSIONS but *not*
CONFIG_EXTENDED_MODVERSIONS *or* CONFIG_BASIC_MODVERSIONS. This should
work, and mean "The kernel will attempt to read and validate any
modversions, but no modules built will have eit
On Thu, Nov 7, 2024 at 2:38 PM Luis Chamberlain wrote:
>
> On Wed, Nov 06, 2024 at 02:19:38PM -0800, Matthew Maurer wrote:
> > >
> > > > If booted against an old kernel, it will
> > > > behave as though there is no modversions information.
> > >
> Thinking about this some more, if we're going down enabling a new
> option, it seems to beg the question if the old *two* ksymtab sections
> could just be folded into the a new one where the "gpl only" thing
> becomes just one "column" as you call it. Reasons I ask, it seems like
> we're duplicat
On Tue, Nov 05, 2024 at 09:16:40AM +1100, Dave Chinner wrote:
> The DAX infrastructure needs the same changes for fsb > page size
> support. We have a limited number bits we can use for DAX entry
> state:
>
> /*
> * DAX pagecache entries use XArray value entries so they can't be mistaken
> * for
Adding Lucas DeMarchi to the thread after voicing an interest in the
modpost patch.
On Thu, Oct 31, 2024 at 12:49 AM Luis Chamberlain wrote:
>
> On Wed, Oct 30, 2024 at 10:06:12PM -0700, Matthew Maurer wrote:
> > On Wed, Oct 30, 2024 at 9:37 PM Luis Chamberlain wrote:
> > >
On Wed, Nov 6, 2024 at 10:27 PM Lucas De Marchi
wrote:
>
> On Wed, Nov 06, 2024 at 02:19:38PM -0800, Matthew Maurer wrote:
> >>
> >> > If booted against an old kernel, it will
> >> > behave as though there is no modversions information.
> >>
> &g
>
> > If booted against an old kernel, it will
> > behave as though there is no modversions information.
>
> Huh? This I don't get. If you have the new libkmod and boot
> an old kernel, that should just not break becauase well, long
> symbols were not ever supported properly anyway, so no regressio
On Fri, Nov 1, 2024 at 2:10 PM Luis Chamberlain wrote:
>
> On Thu, Oct 31, 2024 at 01:00:28PM -0700, Matthew Maurer wrote:
> > > The question is, if only extended moversions are used, what new tooling
> > > requirements are there? Can you test using only extended modvers
> The question is, if only extended moversions are used, what new tooling
> requirements are there? Can you test using only extended modversions?
>
> Luis
I'm not sure precisely what you're asking for. Do you want:
1. A kconfig that suppresses the emission of today's MODVERSIONS
format? This wou
On Wed, Oct 30, 2024 at 9:37 PM Luis Chamberlain wrote:
>
> On Thu, Oct 31, 2024 at 12:22:36PM +1100, Michael Ellerman wrote:
> > Matthew Maurer writes:
> > > Adds a new format for MODVERSIONS which stores each field in a separate
> > > ELF section. This initi
selecting both features.
Signed-off-by: Sami Tolvanen
Co-developed-by: Matthew Maurer
Signed-off-by: Matthew Maurer
---
init/Kconfig | 3 ++-
rust/Makefile | 33 +++--
2 files changed, 33 insertions(+), 3 deletions(-)
diff --git a/init/Kconfig b/init/Kconfig
appropriately
encoded in the extended section. These symbols will be skipped in the
previous encoding. An error will still be generated if
CONFIG_EXTENDED_MODVERSIONS is not set.
Reviewed-by: Sami Tolvanen
Signed-off-by: Matthew Maurer
---
kernel/module/Kconfig| 10
scripts
usage of this information.
Reviewed-by: Sami Tolvanen
Signed-off-by: Matthew Maurer
---
arch/powerpc/kernel/module_64.c | 24 ++-
kernel/module/internal.h| 11 +
kernel/module/main.c| 92 +
kernel/module/version.c
;s suggestion.
v2: https://lore.kernel.org/all/20231118025748.2778044-1-mmau...@google.com/
- Add loading/verification refactor before modifying, per Luis's request
v1:
https://lore.kernel.org/rust-for-linux/20231115185858.2110875-1-mmau...@google.com/
--
2.47.0.rc1.288.g06298d15
der
to list *.o instead of *.ko"). Both of these changes sat for years with
no reports.
Rather than reviving this script as we make further changes to `.mod.c`,
this patch gets rid of it because it is clearly unused.
Signed-off-by: Matthew Maurer
---
Changes in v2:
- Remove references to export_
der
to list *.o instead of *.ko"). Both of these changes sat for years with
no reports.
Rather than reviving this script as we make further changes to `.mod.c`,
this patch gets rid of it because it is clearly unused.
Signed-off-by: Matthew Maurer
---
scripts/ex
> Sorry I realise it's version 7, but although the above looks correct it's
> kind of dense.
>
> I think the below would also work and is (I think) easier to follow, and
> is more obviously similar to the existing code. I'm sure your version is
> faster, but I don't think it's that performance crit
efore modifying, per Luis's request
v1:
https://lore.kernel.org/rust-for-linux/20231115185858.2110875-1-mmau...@google.com/
Matthew Maurer (5):
export_report: Rehabilitate script
modules: Support extended MODVERSIONS info
export_report: Tolerate additional `.mod.c` content
selecting both features.
Signed-off-by: Sami Tolvanen
Co-developed-by: Matthew Maurer
Signed-off-by: Matthew Maurer
---
init/Kconfig | 3 ++-
rust/Makefile | 32 ++--
2 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/init/Kconfig b/init/Kconfig
index
appropriately
encoded in the extended section. These symbols will be skipped in the
previous encoding. An error will still be generated if
CONFIG_EXTENDED_MODVERSIONS is not set.
Signed-off-by: Matthew Maurer
---
kernel/module/Kconfig| 10
scripts/Makefile.modpost | 1 +
scripts/mod
usage of this information.
Signed-off-by: Matthew Maurer
---
arch/powerpc/kernel/module_64.c | 24 ++-
kernel/module/internal.h| 11 +
kernel/module/main.c| 92 +
kernel/module/version.c | 45
4
So, the basic things I can think of to test here are:
1. The kernel can still load the previous MODVERSIONS format
2. The kernel can load the new MODVERSIONS format
3. If we artificially tweak a CRC in the previous format, it will fail to load.
4. If we artificially tweak a CRC in the new format,
final module is controlled by
conditional compilation inside the at file.
Signed-off-by: Matthew Maurer
---
scripts/export_report.pl | 22 ++
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/scripts/export_report.pl b/scripts/export_report.pl
index dcef915
appropriately
encoded in the extended section. These symbols will be skipped in the
previous encoding. An error will still be generated if
CONFIG_EXTENDED_MODVERSIONS is not set.
Signed-off-by: Matthew Maurer
---
kernel/module/Kconfig | 8
scripts/mod/modpost.c | 41
rk for the subsequent extended modversions information,
which would not be parseable otherwise.
Signed-off-by: Matthew Maurer
---
scripts/export_report.pl | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/scripts/export_report.pl b/scripts/export_report.pl
index 30b5f7819086..dc
usage of this information.
Signed-off-by: Matthew Maurer
---
arch/powerpc/kernel/module_64.c | 23 -
kernel/module/internal.h| 11
kernel/module/main.c| 92 ++---
kernel/module/version.c | 45
4 files changed
...@socionext.com/
Signed-off-by: Matthew Maurer
---
scripts/export_report.pl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/export_report.pl b/scripts/export_report.pl
index feb3d5542a62..30b5f7819086 100755
--- a/scripts/export_report.pl
+++ b/scripts
ing, per Luis's request
v1:
https://lore.kernel.org/rust-for-linux/20231115185858.2110875-1-mmau...@google.com/
Matthew Maurer (5):
export_report: Rehabilitate script
modules: Support extended MODVERSIONS info
export_report: Tolerate additional `.mod.c` content
modpost: Produce extended MODVERSI
Using commas to declare struct members makes adding new members to this
struct not as nice with patch management.
Signed-off-by: Matthew Maurer
---
kernel/module/internal.h | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/kernel/module/internal.h b/kernel/module
e while reading).
* All symbols names are inbounds of the string table.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 38 +-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 22aa5eb4e4f
This patch only moves the existing strtab population to a function.
Validation comes in a following patch, this is split out to make the new
validation checks more clearly separated.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 23 ---
1 file changed, 20
Group all the index detection together to make the parent function
easier to read.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 68 +---
1 file changed, 51 insertions(+), 17 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module
Pull out index validation for the symbol string section.
Note that this does not validate the *contents* of the string table,
only shape and presence of the section.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 37 -
1 file changed, 28 insertions
Centralize symbol table detection and property validation.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 73 ++--
1 file changed, 44 insertions(+), 29 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index b633347d5d98
Centralize .gnu.linkonce.this_module detection and property validation.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 129 ++-
1 file changed, 67 insertions(+), 62 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index
Centralize .modinfo detection and property validation.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 82
1 file changed, 68 insertions(+), 14 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 473f1fb25de2
w
checked prior to the access, which could avoid bad accesses with
malformed modules.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 106 ---
1 file changed, 69 insertions(+), 37 deletions(-)
diff --git a/kernel/module/main.c b/k
Factor out and document the validation of section headers.
Because we now validate all section offsets and lengths before accessing
them, we can remove the ad-hoc checks.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 125 ---
1 file changed
Factor out verification of the ELF header and document what is checked.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 70 +---
1 file changed, 47 insertions(+), 23 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index
`validate_section_offset` doesn't modify the info passed in. Make this
clear by adjusting the type signature.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index ef54733
://lore.kernel.org/all/20240925233854.90072-1-mmau...@google.com/
Matthew Maurer (12):
module: Take const arg in validate_section_offset
module: Factor out elf_validity_ehdr
module: Factor out elf_validity_cache_sechdrs
module: Factor out elf_validity_cache_secstrings
module: Factor out
On Fri, Oct 11, 2024 at 3:22 PM Luis Chamberlain wrote:
>
> On Wed, Sep 25, 2024 at 11:38:29PM +, Matthew Maurer wrote:
> > Adds a new format for MODVERSIONS which stores each field in a separate
> > ELF section. This initially adds support for variable length names, but
On Fri, Oct 11, 2024 at 3:13 PM Luis Chamberlain wrote:
>
> On Wed, Sep 25, 2024 at 11:38:28PM +, Matthew Maurer wrote:
> > * modules.order has .o files when in a build dir, support this
>
> The commit log is not clear, is it that it's always had *.o files, and
> y
On Wed, Oct 02, 2024 at 11:26:27AM -0400, Mathieu Desnoyers wrote:
> On 2024-10-02 16:09, Paul E. McKenney wrote:
> > On Tue, Oct 01, 2024 at 09:02:01PM -0400, Mathieu Desnoyers wrote:
> > > Hazard pointers appear to be a good fit for replacing refcount based lazy
> > > active mm tracking.
> > >
>
Thanks for the catch. I've sent up v5 to include that fix. I've also
added a changelog and made sure the patches make it to linux-modules@
as Daniel suggested.
On Wed, Sep 25, 2024 at 4:00 PM Sami Tolvanen wrote:
>
> Hi Matt,
>
> On Tue, Sep 24, 2024 at 09:19:56PM +
The new version info format has a superset of symbols in the old format.
Since this is a tool for in-tree modules, we don't need to parse the old
one with this tool any longer.
Signed-off-by: Matthew Maurer
---
scripts/export_report.pl | 22 ++
1 file changed, 10 inser
Generate both the existing modversions format and the new extended one
when running modpost.
We no longer generate an error on long symbols in modpost, as they can
now be appropriately encoded in the extended section. These symbols will
be skipped in the previous encoding.
Signed-off-by: Matthew
usage of this information.
Signed-off-by: Matthew Maurer
---
arch/powerpc/kernel/module_64.c | 23 -
kernel/module/internal.h| 11
kernel/module/main.c| 92 ++---
kernel/module/version.c | 45
4 files changed
* modules.order has .o files when in a build dir, support this
* .mod.c source layout has changed, update regexes to match
* Add a stage 3, to be more robust against additional .mod.c content
Signed-off-by: Matthew Maurer
---
scripts/export_report.pl | 9 +++--
1 file changed, 7 insertions
Using commas to declare struct members makes adding new members to this
struct not as nice with patch management.
Signed-off-by: Matthew Maurer
---
kernel/module/internal.h | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/kernel/module/internal.h b/kernel/module
e while reading).
* All symbols names are inbounds of the string table.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 38 +-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index c082d5d41a8
This patch only moves the existing strtab population to a function.
Validation comes in a following patch, this is split out to make the new
validation checks more clearly separated.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 23 ---
1 file changed, 20
Group all the index detection together to make the parent function
easier to read.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 68 +---
1 file changed, 51 insertions(+), 17 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module
Pull out index validation for the symbol string section.
Note that this does not validate the *contents* of the string table,
only shape and presence of the section.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 37 -
1 file changed, 28 insertions
Centralize symbol table detection and property validation.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 73 ++--
1 file changed, 44 insertions(+), 29 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index ec638187ffcf
Centralize .gnu.linkonce.this_module detection and property validation.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 129 ++-
1 file changed, 67 insertions(+), 62 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index
Centralize .modinfo detection and property validation.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 82
1 file changed, 68 insertions(+), 14 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 6a9159afca02
w
checked prior to the access, which could avoid bad accesses with
malformed modules.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 106 ---
1 file changed, 69 insertions(+), 37 deletions(-)
diff --git a/kernel/module/main.c b/k
Factor out and document the validation of section headers.
Because we now validate all section offsets and lengths before accessing
them, we can remove the ad-hoc checks.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 125 ---
1 file changed
Factor out verification of the ELF header and document what is checked.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 70 +---
1 file changed, 47 insertions(+), 23 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index
`validate_section_offset` doesn't modify the info passed in. Make this
clear by adjusting the type signature.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 49b9bca
025748.2778044-1-mmau...@google.com/
- Add loading/verification refactor before modifying, per Luis's request
v1:
https://lore.kernel.org/rust-for-linux/20231115185858.2110875-1-mmau...@google.com/
Matthew Maurer (16):
module: Take const arg in validate_section_offset
module: Factor ou
Centralize symbol table detection and property validation.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 73 ++--
1 file changed, 44 insertions(+), 29 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index ec638187ffcf
usage of this information.
Signed-off-by: Matthew Maurer
---
arch/powerpc/kernel/module_64.c | 24 -
kernel/module/internal.h| 11
kernel/module/main.c| 92 ++---
kernel/module/version.c | 43 +++
4 files changed
Factor out verification of the ELF header and document what is checked.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 70 +---
1 file changed, 47 insertions(+), 23 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index
Group all the index detection together to make the parent function
easier to read.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 68 +---
1 file changed, 51 insertions(+), 17 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module
Using commas to declare struct members makes adding new members to this
struct not as nice with patch management.
Signed-off-by: Matthew Maurer
---
kernel/module/internal.h | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/kernel/module/internal.h b/kernel/module
e while reading).
* All symbols names are inbounds of the string table.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 38 +-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index c082d5d41a8
w
checked prior to the access, which could avoid bad accesses with
malformed modules.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 106 ---
1 file changed, 69 insertions(+), 37 deletions(-)
diff --git a/kernel/module/main.c b/k
Pull out index validation for the symbol string section.
Note that this does not validate the *contents* of the string table,
only shape and presence of the section.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 37 -
1 file changed, 28 insertions
`validate_section_offset` doesn't modify the info passed in. Make this
clear by adjusting the type signature.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 49b9bca
Centralize .gnu.linkonce.this_module detection and property validation.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 129 ++-
1 file changed, 67 insertions(+), 62 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index
This patch only moves the existing strtab population to a function.
Validation comes in a following patch, this is split out to make the new
validation checks more clearly separated.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 23 ---
1 file changed, 20
Centralize .modinfo detection and property validation.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 82
1 file changed, 68 insertions(+), 14 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 6a9159afca02
Factor out and document the validation of section headers.
Because we now validate all section offsets and lengths before accessing
them, we can remove the ad-hoc checks.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 125 ---
1 file changed
> > The way `KAbiReserved` is implemented is via a `union` (maybe a bit
> > ironic, considering what I said in my other replies, but in this case,
> > we would provide a safe abstraction over this `union`, thus avoiding
> > exposing users of this type to `unsafe`):
> >
> > #[repr(C)]
> > pu
On Fri, Aug 16, 2024 at 4:04 PM Michael Ellerman wrote:
>
> Matthew Maurer writes:
> > 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
usage of this information.
Signed-off-by: Matthew Maurer
---
arch/powerpc/kernel/module_64.c | 24 -
kernel/module/internal.h| 11
kernel/module/main.c| 92 ++---
kernel/module/version.c | 43 +++
4 files changed
Using commas to declare struct members makes adding new members to this
struct not as nice with patch management.
Signed-off-by: Matthew Maurer
---
kernel/module/internal.h | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/kernel/module/internal.h b/kernel/module
e while reading).
* All symbols names are inbounds of the string table.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 38 +-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index d70d829b5ab
This patch only moves the existing strtab population to a function.
Validation comes in a following patch, this is split out to make the new
validation checks more clearly separated.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 23 ---
1 file changed, 20
Group all the index detection together to make the parent function
easier to read.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 68 +---
1 file changed, 51 insertions(+), 17 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module
Pull out index validation for the symbol string section.
Note that this does not validate the *contents* of the string table,
only shape and presence of the section.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 37 -
1 file changed, 28 insertions
Centralize symbol table detection and property validation.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 73 ++--
1 file changed, 44 insertions(+), 29 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 281cc1a7dee6
Centralize .gnu.linkonce.this_module detection and property validation.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 129 ++-
1 file changed, 67 insertions(+), 62 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index
Centralize .modinfo detection and property validation.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 82
1 file changed, 68 insertions(+), 14 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index 252cfa9eee67
w
checked prior to the access, which could avoid bad accesses with
malformed modules.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 106 ---
1 file changed, 69 insertions(+), 37 deletions(-)
diff --git a/kernel/module/main.c b/k
Factor out and document the validation of section headers.
Because we now validate all section offsets and lengths before accessing
them, we can remove the ad-hoc checks.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 125 ---
1 file changed
Factor out verification of the ELF header and document what is checked.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 70 +---
1 file changed, 47 insertions(+), 23 deletions(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index
`validate_section_offset` doesn't modify the info passed in. Make this
clear by adjusting the type signature.
Signed-off-by: Matthew Maurer
---
kernel/module/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/module/main.c b/kernel/module/main.c
index d959219
On Mon, Jul 8, 2024 at 5:07 PM Sami Tolvanen wrote:
>
> On Mon, Jul 8, 2024 at 2:33 PM Luis Chamberlain wrote:
> >
> > Looking at this again its not to me why Masahiro Yamada's suggestion on
> > that old patch series to just increase the length and put long symbols
> > names into its own section
1 - 100 of 4792 matches
Mail list logo