Kernel: T9067: Update Linux Kernel to 6.18.41 - #1257
Conversation
Upgrade rolling release Kernel version. Changelogs: * 6.18.41 https://lwn.net/Articles/1086227/ * 6.18.40 https://lwn.net/Articles/1084923/ * 6.18.39 https://lwn.net/Articles/1083464/
📝 WalkthroughSummary by CodeRabbit
WalkthroughChangesIPv4 and IPv6 link filtering
Default kernel version
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches✨ Simplify code
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
scripts/package-build/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch (3)
37-46: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winDocument IPv6
link_filterbehavior separately.This documentation is in the IPv4 section and describes received-packet behavior. The patch also adds
net.ipv6.conf.*.link_filter, which filters IPv6 route selection. Add an IPv6-specific entry with the supported sysctl paths and route-selection semantics.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@scripts/package-build/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch` around lines 37 - 46, Separate the IPv4 received-packet description for link_filter from the IPv6 documentation, and add an IPv6-specific entry covering net.ipv6.conf.all.link_filter and net.ipv6.conf.default.link_filter. Describe the supported values in terms of IPv6 route selection, including the down and no-carrier conditions, while preserving the existing IPv4 entry.
145-151: 🩺 Stability & Availability | 🔴 Critical | ⚡ Quick winGuard
__in6_dev_get()before readingcnf.link_filter.At
scripts/package-build/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch:145-151, return0when__in6_dev_get(dev)returnsNULL. Readidev->cnf.link_filterwithREAD_ONCE(). IPv6 teardown can cleardev->ip6_ptr, causing a NULL-pointer dereference during route lookup.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@scripts/package-build/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch` around lines 145 - 151, Update rt6_link_filter to store the result of __in6_dev_get(dev), return 0 when it is NULL, and read idev->cnf.link_filter via READ_ONCE() before evaluating the existing link-state conditions.
127-133: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winPropagate
net.ipv6.conf.all.link_filter.
proc_dointvecupdates onlydevconf_all->link_filter;rt6_link_filter()readsidev->cnf.link_filter, and new interfaces copydevconf_dflt. Add an all-aware handler that updates existing interfaces and the default configuration.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@scripts/package-build/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch` around lines 127 - 133, Replace the link_filter entry’s proc_handler with an all-aware IPv6 configuration handler that updates devconf_all, propagates the value to existing interface configurations used by rt6_link_filter(), and updates devconf_dflt for newly created interfaces; preserve the existing proc entry metadata and integer handling.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@data/defaults.toml`:
- Line 17: Update the PR metadata associated with kernel_version in
defaults.toml to reference T9151 instead of T9067, while preserving the Linux
6.18.41 version value.
---
Outside diff comments:
In
`@scripts/package-build/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch`:
- Around line 37-46: Separate the IPv4 received-packet description for
link_filter from the IPv6 documentation, and add an IPv6-specific entry covering
net.ipv6.conf.all.link_filter and net.ipv6.conf.default.link_filter. Describe
the supported values in terms of IPv6 route selection, including the down and
no-carrier conditions, while preserving the existing IPv4 entry.
- Around line 145-151: Update rt6_link_filter to store the result of
__in6_dev_get(dev), return 0 when it is NULL, and read idev->cnf.link_filter via
READ_ONCE() before evaluating the existing link-state conditions.
- Around line 127-133: Replace the link_filter entry’s proc_handler with an
all-aware IPv6 configuration handler that updates devconf_all, propagates the
value to existing interface configurations used by rt6_link_filter(), and
updates devconf_dflt for newly created interfaces; preserve the existing proc
entry metadata and integer handling.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited)
Review profile: CHILL
Plan: Pro
Run ID: f852c314-6165-4868-b1e6-65c1d7e14b55
📒 Files selected for processing (2)
data/defaults.tomlscripts/package-build/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
ansible/ansible(manual)
📜 Review details
⏰ Context from checks skipped due to timeout. (4)
- GitHub Check: build_iso
- GitHub Check: codeql-analysis-call / Analyze (python)
- GitHub Check: Mergify Merge Protections
- GitHub Check: Summary
🧰 Additional context used
🔍 Remote MCP vyos.dev
Relevant review context
- T9067 is titled “Update Linux Kernel to 6.18.38”, is Resolved, and its description only lists kernel versions 6.18.38 and 6.18.37. Its sole comment links to PR
#1238. This does not directly match the current 6.18.41 update. - A newer task, T9151, is titled “Update Linux Kernel to 6.18.41 | 6.6.147” and is In progress. Its description explicitly covers Linux 6.18.39, 6.18.40, and 6.18.41, matching this PR’s stated kernel upgrade.
- T9151 has no comments providing additional implementation or acceptance criteria.
The PR may need its task reference checked: T9151 appears directly aligned with the 6.18.41 upgrade, whereas T9067 tracks the prior 6.18.38 update.
🔇 Additional comments (1)
scripts/package-build/linux-kernel/patches/kernel/0001-linkstate-ip-device-attribute.patch (1)
52-52: LGTM!Also applies to: 59-59, 71-71, 83-83, 95-95, 107-107, 119-119, 138-138
| release_train = "rolling" | ||
|
|
||
| kernel_version = "6.18.38" | ||
| kernel_version = "6.18.41" |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🔍 Additional research query:
Confirm whether the Linux kernel 6.18.41 update should reference T9067 or T9151.
💡 Result:
The Linux kernel 6.18.41 update should reference T9151. T9067 covers 6.18.38 and is resolved; T9151 explicitly covers 6.18.41 and is in progress.
🏁 Script executed:
#!/bin/bash
printf '%s\n' '--- kernel version ---'
nl -ba data/defaults.toml | sed -n '12,22p'
printf '%s\n' '--- tracker references ---'
rg -n --hidden --glob '!/.git/**' 'T9067|T9151|6\.18\.41|6\.18\.38' . || trueRepository: vyos/vyos-build
Length of output: 290
Update the PR metadata to reference T9151. T9067 covers Linux 6.18.38, while T9151 covers Linux 6.18.41.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@data/defaults.toml` at line 17, Update the PR metadata associated with
kernel_version in defaults.toml to reference T9151 instead of T9067, while
preserving the Linux 6.18.41 version value.
Source: MCP tools
sarthurdev
left a comment
There was a problem hiding this comment.
Update kernel version + patch
|
Tick the box to add this pull request to the merge queue (same as
|
|
CI integration 👍 passed! Details
|
Change summary
Upgrade rolling release Kernel version.
Changelogs:
Types of changes
Related Task(s)
Related PR(s)
How to test / Smoketest result
All Smoketests passed
Checklist: