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
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
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
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
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
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
-001-20241223gcc-13.2.0
arc randconfig-002-20241223gcc-13.2.0
arm allmodconfiggcc-14.2.0
arm allnoconfigclang-17
arm allyesconfiggcc-14.2.0
arm
On Fri, 20 Dec 2024 15:53:13 +0800
Yicong Yang wrote:
> From: Yicong Yang
>
> Enable HOTPLUG_SMT for SMT control.
>
> Signed-off-by: Yicong Yang
FWIW LGTM
Reviewed-by: Jonathan Cameron
> ---
> arch/arm64/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/Kconfig b
On Fri, 20 Dec 2024 15:53:12 +0800
Yicong Yang wrote:
> From: Yicong Yang
>
> For ACPI we'll build the topology from PPTT and we cannot directly
> get the SMT number of each core. Instead using a temporary xarray
> to record the heterogeneous information (from ACPI_PPTT_ACPI_IDENTICAL)
> and SM
On Fri, 20 Dec 2024 15:59:27 +0800
Yicong Yang wrote:
> On 2024/12/20 15:53, Yicong Yang wrote:
> > From: Yicong Yang
> >
> > Currently if architectures want to support HOTPLUG_SMT they need to
> > provide a topology_is_primary_thread() telling the framework which
> > thread in the SMT cannot o
On Fri, 20 Dec 2024 15:53:11 +0800
Yicong Yang wrote:
> From: Yicong Yang
>
> On building the topology from the devicetree, we've already
> gotten the SMT thread number of each core. Update the largest
> SMT thread number and enable the SMT control by the end of
> topology parsing.
>
> The cor
On Mon, Dec 23, 2024 at 3:41 PM Christian Zigotzky
wrote:
Bisecting: a merge base must be tested
[e9001a382fa2c256229adc68d55212028b01d515] Merge tag
'kvmarm-fixes-6.12-3' of
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
The host system doesn't boot.
Unfortunately, t
On 22/12/24 18:49, Paolo Bonzini wrote:
>
> Go on with
> git checkout -b bisection-rebase b467ab82a9fde4b46c0cd2c299220857afb0e0d4
> git rebase v6.12
> # check that it boots. if it fails to boot, please report this. if it
succeds, continue:
> git bisect start
> git bisect bad bisection-rebase
>
When kernel is built without debuginfo, running perf record with
--off-cpu results in segfault as below:
./perf record --off-cpu -e dummy sleep 1
libbpf: kernel BTF is missing at '/sys/kernel/btf/vmlinux', was
CONFIG_DEBUG_INFO_BTF enabled?
libbpf: failed to find '.BTF' ELF section in
/
perf lock contention returns zero exit value even if the lock contention
BPF setup failed.
# ./perf lock con -b true
libbpf: kernel BTF is missing at '/sys/kernel/btf/vmlinux', was
CONFIG_DEBUG_INFO_BTF enabled?
libbpf: failed to find '.BTF' ELF section in
/lib/modules/6.13.0-rc3+/build
Erhard Furtner writes:
> Greetings!
>
> I am aware there is commit cf89c9434af122f28a3552e6f9cc5158c33ce50a
> (already merged in v6.13-rc3) which fixes some of the "Missing
> '#size-cells' errors" but there is more:
>
> [ cut here ]
> hub 3-0:1.0: USB hub found
> Missing '#
Hello,
when fuzzing the Linux kernel,
I triggered many "watch: BUG: soft lockup" warnings.
I am not sure whether this is an issue with the kernel or with the
fuzzing program I ran.
(The same fuzzing program, when tested on kernel versions from
Linux-6.7.0 to 6.12.0, triggers the 'watchdog: BUG: sof
The pte_free(), pmd_free(), __pud_free() and __p4d_free() in
asm-generic/pgalloc.h and the generic __tlb_remove_table() are basically
the same, so let's introduce pagetable_dtor_free() to deduplicate them.
In addition, the pagetable_dtor_free() in s390 actually does the same
thing, so let's s390 a
Just like removing tlb_remove_page_ptdesc(), remove tlb_remove_ptdesc() as
well, and make callers call tlb_remove_table() directly.
Signed-off-by: Qi Zheng
Originally-by: Peter Zijlstra (Intel)
---
arch/arm/include/asm/tlb.h | 8 ++--
arch/arm64/include/asm/tlb.h | 16 ---
Here we are explicitly dealing with struct page, and the following logic
semms strange:
tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte)));
tlb_remove_page_ptdesc
--> tlb_remove_page(tlb, ptdesc_page(pt));
So remove tlb_remove_page_ptdesc() and make callers call tlb_remove_page()
directly.
Signe
The __tlb_remove_table_one() in x86 does not contain architecture-specific
content, so move it to the generic file.
Signed-off-by: Qi Zheng
---
arch/x86/include/asm/tlb.h | 19 ---
mm/mmu_gather.c| 20 ++--
2 files changed, 18 insertions(+), 21 deletio
Several architectures (arm, arm64, riscv and x86) define exactly the
same __tlb_remove_table(), just introduce generic __tlb_remove_table() to
eliminate these duplications.
The s390 __tlb_remove_table() is nearly the same, so also make s390
__tlb_remove_table() version generic.
Signed-off-by: Qi
To unify the PxD and PTE TLB free path, also move the pagetable_dtor() of
PMD|PUD|P4D to __tlb_remove_table().
Signed-off-by: Qi Zheng
Suggested-by: Peter Zijlstra (Intel)
Cc: linux-s...@vger.kernel.org
---
arch/s390/include/asm/tlb.h | 3 ---
arch/s390/mm/pgalloc.c | 14 --
2
Move pagetable_dtor() to __tlb_remove_table(), so that ptlock and page
table pages can be freed together (regardless of whether RCU is used).
This prevents the use-after-free problem where the ptlock is freed
immediately but the page table pages is freed later via RCU.
Page tables shouldn't have s
Move pagetable_dtor() to __tlb_remove_table(), so that ptlock and page
table pages can be freed together (regardless of whether RCU is used).
This prevents the use-after-free problem where the ptlock is freed
immediately but the page table pages is freed later via RCU.
Page tables shouldn't have s
Move pagetable_dtor() to __tlb_remove_table(), so that ptlock and page
table pages can be freed together (regardless of whether RCU is used).
This prevents the use-after-free problem where the ptlock is freed
immediately but the page table pages is freed later via RCU.
Page tables shouldn't have s
Move pagetable_dtor() to __tlb_remove_table(), so that ptlock and page
table pages can be freed together (regardless of whether RCU is used).
This prevents the use-after-free problem where the ptlock is freed
immediately but the page table pages is freed later via RCU.
Page tables shouldn't have s
The pagetable_p*_dtor() are exactly the same except for the handling of
ptlock. If we make ptlock_free() handle the case where ptdesc->ptl is
NULL and remove VM_BUG_ON_PAGE() from pmd_ptlock_free(), we can unify
pagetable_p*_dtor() into one function. Let's introduce pagetable_dtor()
to do this.
La
Like PMD and PTE level page table, also add statistics for PUD and P4D
page table.
Signed-off-by: Qi Zheng
Suggested-by: Peter Zijlstra (Intel)
Cc: linux-s...@vger.kernel.org
---
arch/s390/include/asm/pgalloc.h | 29 +++---
arch/s390/include/asm/tlb.h | 37 ++
Like other levels of page tables, also use mmu gather mechanism to free
p4d level page table.
Signed-off-by: Qi Zheng
Originally-by: Peter Zijlstra (Intel)
Cc: linux-arm-ker...@lists.infradead.org
---
arch/arm64/include/asm/pgalloc.h | 1 -
arch/arm64/include/asm/tlb.h | 14 ++
Like other levels of page tables, add statistics for P4D level page table.
Signed-off-by: Qi Zheng
Originally-by: Peter Zijlstra (Intel)
---
arch/riscv/include/asm/pgalloc.h | 6 +-
arch/x86/mm/pgtable.c| 3 +++
include/asm-generic/pgalloc.h| 2 ++
include/linux/mm.h
From: Kevin Brodsky
Four architectures currently implement 5-level pgtables: arm64,
riscv, x86 and s390. The first three have essentially the same
implementation for p4d_alloc_one() and p4d_free(), so we've got an
opportunity to reduce duplication like at the lower levels.
Provide a generic vers
From: Kevin Brodsky
{pmd,pud,p4d}_alloc_one() is never called if the corresponding page
table level is folded, as {pmd,pud,p4d}_alloc() already does the
required check. We can therefore remove the runtime page table level
checks in {pud,p4d}_alloc_one. The PUD helper becomes equivalent to
the gen
This reverts commit 2f3443770437e49abc39af26962d293851cbab6d.
Signed-off-by: Qi Zheng
---
include/linux/mm.h | 2 +-
include/linux/mm_types.h | 9 +
mm/memory.c | 22 ++
3 files changed, 8 insertions(+), 25 deletions(-)
diff --git a/include/linux
Changes in v3:
- take patch #5 and #6 from Kevin Brodsky's patch series below.
Link:
https://lore.kernel.org/lkml/20241219164425.2277022-1-kevin.brod...@arm.com/
- separate the statistics part from [PATCH v2 02/15] as [PATCH v3 04/17], and
replace the rest part with Kevin Brodsky's patch #
On Mon, Dec 23, 2024 at 03:32:01PM +0800, Weikang Guo wrote:
> First of all, thank you for your reminder and patience. In fact, this
> is the first time I received a patch discussion when submitting a
> patch.
> About Reviewed-by or Acked-by tags, I will not add it myself in the
> future. Regarding
36 matches
Mail list logo