[Deepin-Kernel-SIG] [linux 6.6.y] [KABI] apply kabi fixes for 6.6.152-6.6.155 - #2130
[Deepin-Kernel-SIG] [linux 6.6.y] [KABI] apply kabi fixes for 6.6.152-6.6.155#2130opsiff wants to merge 3 commits into
Conversation
deepin inclusion category: kabi Commit 305b667 ("binfmt_elf_fdpic: fix AUXV size calculation for ELF_HWCAP3 and ELF_HWCAP4") increased AT_VECTOR_SIZE_BASE from 22 to 24, which enlarges the saved_auxv[] array in struct mm_struct and changes the genksyms checksums of every exported symbol whose type graph reaches struct mm_struct. Keep the new value for the compiler but let genksyms keep seeing the old value 22 via an __GENKSYMS__ conditional, so the checksums stay identical to the previous release. Fixes: 305b667 ("binfmt_elf_fdpic: fix AUXV size calculation for ELF_HWCAP3 and ELF_HWCAP4") Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
deepin inclusion category: kabi Commit 5ac8f0d ("LoongArch: Add cpuhotplug hooks to fix high cpu usage of vCPU threads") inserted CPUHP_AP_LOONGARCH_ARCH_TIMER_STARTING in the middle of enum cpuhp_state, changing the genksyms expansion of the enum and the checksums of the exported cpuhp symbols. Wrap the new enumerator with DEEPIN_KABI_EXTEND_ENUM so that genksyms keeps seeing the old enum while the compiler still gets the new state. Fixes: 5ac8f0d ("LoongArch: Add cpuhotplug hooks to fix high cpu usage of vCPU threads") Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Reviewer's guide (collapsed on small PRs)Reviewer's GuideApplies 6.6.152–6.6.155 KABI fixes by controlling genksyms-only auxiliary-vector sizing, marking a CPU hotplug enum extension, and moving KCOV task_struct storage into stable Deepin KABI slots with disabled-configuration reservations. Flow diagram for configuration-dependent KABI preservationflowchart TD
A[Build kernel headers] --> B{CONFIG_KCOV enabled?}
B -->|Yes| C[Use KABI slots 2-5 for KCOV task storage]
B -->|No| D[Reserve KABI slots 2-5]
C --> E[Reserve slots 6-8]
D --> E
Flow diagram for genksyms auxiliary-vector compatibilityflowchart TD
A[Process auxvec.h] --> B{__GENKSYMS__ defined?}
B -->|Yes| C[AT_VECTOR_SIZE_BASE = 22]
B -->|No| D[AT_VECTOR_SIZE_BASE = 24]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
53dac14 to
3e47488
Compare
deepin inclusion
category: kabi
Commit 7806ff0e8a4d9 ("net: core,vrf: Change pcpu_dstat fields to
u64_stats_t") changed the fields of struct pcpu_dstats from u64 to
u64_stats_t, and commit 171f95d662863 ("net: harmonize tstats and
dstats") moved rx_drops behind tx_bytes. Both reached us through the
v6.6.153 stable update. The struct is reachable from struct net_device,
so the change alters the genksyms checksums of every exported symbol
whose type graph contains it (netdev, skb, socket, netlink, tls, ...).
On x86_64 u64_stats_t has the same size as u64, so the binary layout is
unchanged; the struct is per-cpu data allocated and accessed only by the
core kernel through dedicated helpers. Keep the new upstream layout for
the compiler but let genksyms keep seeing the old plain u64 members in
the old order with DEEPIN_KABI_BROKEN_REMOVE_BLOCK/INSERT_BLOCK.
Fixes: 7806ff0e8a4d9 ("net: core,vrf: Change pcpu_dstat fields to u64_stats_t")
Fixes: 171f95d662863 ("net: harmonize tstats and dstats")
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
There was a problem hiding this comment.
🟡 Changes recommended
The CPU hotplug state uses an end-extension annotation for a middle enum insertion.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds Deepin KABI annotations for Linux 6.6.152–6.6.155 compatibility changes.
Changes:
- Preserves auxiliary-vector sizing signatures.
- Annotates a CPU hotplug enum addition.
- Preserves historical network-stat structure signatures.
File summaries
| File | Description |
|---|---|
include/linux/auxvec.h |
Retains the previous genksyms size. |
include/linux/cpuhotplug.h |
Annotates the new LoongArch state. |
include/linux/netdevice.h |
Masks the updated statistics layout from genksyms. |
Review details
- Files reviewed: 3/3 changed files
- Comments generated: 1
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| CPUHP_AP_TEGRA_TIMER_STARTING, | ||
| CPUHP_AP_ARMADA_TIMER_STARTING, | ||
| CPUHP_AP_LOONGARCH_ARCH_TIMER_STARTING, | ||
| DEEPIN_KABI_EXTEND_ENUM(CPUHP_AP_LOONGARCH_ARCH_TIMER_STARTING) |
Summary by Sourcery
Enhancements: