Skip to content

Cilium breaks the cluster on 6.18.5-talos because of regressin in kernel/bpf/verifier.c #44216

Closed

Description

@vlasov-y

Is there an existing issue for this?

  • I have searched the existing issues

Version

equal or higher than v1.19.0 and lower than v1.20.0

What happened?

Comes from this Talos issue.
Cluster network completely goes down after an upgrade to kernel 6.18.5.

How can we reproduce the issue?

Talos: v1.12.2
Cilium: v1.19.0 or v1.18.6
Kernel: 6.18.5-talos

And set any of these to true

kubeProxyReplacement: false
bpf:
  masquerade: false
hostFirewall:
  enabled: false

Cilium Version

Reproduced on both v1.19.0 or v1.18.6

Kernel Version

6.18.5-talos

Kubernetes Version

v1.34.3

Regression

Kernel bug, I think.

Sysdump

I could not execute it, since everything was down.

Relevant log output

kern: warning: [2026-02-06T01:31:33.774368243Z]: ------------[ cut here ]------------                                                                                        
 kern: warning: [2026-02-06T01:31:33.774378243Z]: verifier bug: REG INVARIANTS VIOLATION (false_reg1): range bounds violation u64=[0xe01, 0xe00] s64=[0xe01,                  
 0xe00] u32=[0xe01, 0xe00] s32=[0xe01, 0xe00] var_off=(0xe00, 0x0)                                                                                                            
 kern: warning: [2026-02-06T01:31:33.774397243Z]: WARNING: CPU: 3 PID: 7322 at kernel/bpf/verifier.c:2731 reg_bounds_sanity_check+0x19d/0x210                                 
 kern: warning: [2026-02-06T01:31:33.774406243Z]: Modules linked in: virtio_rng virtio_balloon iTCO_wdt iTCO_vendor_support intel_rapl_msr watchdog intel_rapl_common         
 i2c_i801 ahci i2c_smbus libahci lpc_ich mfd_core virtio_pci virtio_pci_legacy_dev virtio_pci_modern_dev                                                                      
 kern: warning: [2026-02-06T01:31:33.774436243Z]: CPU: 3 UID: 0 PID: 7322 Comm: cilium-agent Not tainted 6.18.5-talos #1 NONE                                                 
 kern: warning: [2026-02-06T01:31:33.774440243Z]: Hardware name: Hetzner vServer/Standard PC (Q35 + ICH9, 2009), BIOS 20171111 11/11/2017                                     
 kern: warning: [2026-02-06T01:31:33.774443243Z]: RIP: 0010:reg_bounds_sanity_check+0x19d/0x210                                                                               
 kern: warning: [2026-02-06T01:31:33.774447243Z]: Code: ff 73 18 41 50 57 48 c7 c7 50 34 82 ae 56 4c 89 d6 50 ff 73 30 4c 8b 4b 28 4c 8b 43 40 48 89 55 d8 4c 89 55 e0 e8 b3  
 7e e3 ff <0f> 0b 48 8b 55 d8 4c 8b 55 e0 48 83 c4 38 e9 ec fe ff ff 48 8b 7b                                                                                                 
 kern: warning: [2026-02-06T01:31:33.774451243Z]: RSP: 0018:ffffccc64bff3680 EFLAGS: 00010246                                                                                 
 kern: warning: [2026-02-06T01:31:33.774454243Z]: RAX: 0000000000000000 RBX: ffff8afe2e429bf0 RCX: 0000000000000000                                                           
 kern: warning: [2026-02-06T01:31:33.774456243Z]: RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000                                                           
 kern: warning: [2026-02-06T01:31:33.774458243Z]: RBP: ffffccc64bff36e8 R08: 0000000000000000 R09: 0000000000000000                                                           
 kern: warning: [2026-02-06T01:31:33.774460243Z]: R10: 0000000000000000 R11: 0000000000000000 R12: ffff8afe60460000                                                           
 kern: warning: [2026-02-06T01:31:33.774462243Z]: R13: 0000000000000010 R14: ffff8afe60466300 R15: ffff8afe2e429bf0                                                           
 kern: warning: [2026-02-06T01:31:33.774467243Z]: FS:  000000c002bbc090(0000) GS:ffff8aff3b7aa000(0000) knlGS:0000000000000000                                                
 kern: warning: [2026-02-06T01:31:33.774470243Z]: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033                                                                           
 kern: warning: [2026-02-06T01:31:33.774472243Z]: CR2: 000000c00486c000 CR3: 00000001a35bc000 CR4: 0000000000350ef0
 kern: warning: [2026-02-06T01:31:33.774476243Z]: Call Trace:                                                                                                                 
 kern: warning: [2026-02-06T01:31:33.774479243Z]:  <TASK>                                                                                                                     
 kern: warning: [2026-02-06T01:31:33.774484243Z]:  ? reg_bounds_sync+0x123/0x1b0                                                                                              
 kern: warning: [2026-02-06T01:31:33.774488243Z]:  reg_set_min_max+0x1b9/0x200                                                                                                
 kern: warning: [2026-02-06T01:31:33.774492243Z]:  check_cond_jmp_op+0x408/0x1b70                                                                                             
 kern: warning: [2026-02-06T01:31:33.774497243Z]:  ? do_check_common+0x29f5/0x35f0                                                                                            
 kern: warning: [2026-02-06T01:31:33.774499243Z]:  do_check_common+0x29f5/0x35f0                                                                                              
 kern: warning: [2026-02-06T01:31:33.774502243Z]:  ? mark_fastcall_pattern_for_call+0x4c/0x230                                                                                
 kern: warning: [2026-02-06T01:31:33.774507243Z]:  bpf_check+0x276d/0x33b0                                                                                                    
 kern: warning: [2026-02-06T01:31:33.774510243Z]:  bpf_prog_load+0x6fa/0xef0                                                                                                  
 kern: warning: [2026-02-06T01:31:33.774517243Z]:  __sys_bpf+0xbc6/0x2930                                                                                                     
 kern: warning: [2026-02-06T01:31:33.774522243Z]:  __x64_sys_bpf+0x21/0x40                                                                                                    
 kern: warning: [2026-02-06T01:31:33.774525243Z]:  do_syscall_64+0x78/0x940                                                                                                   
 kern: warning: [2026-02-06T01:31:33.774532243Z]:  entry_SYSCALL_64_after_hwframe+0x76/0x7e                                                                                   
 kern: warning: [2026-02-06T01:31:33.774536243Z]: RIP: 0033:0x40758e                                                                                                          
 kern: warning: [2026-02-06T01:31:33.774539243Z]: Code: ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc 49 89 f2 48 89 fa 48 89 ce 48 89  
 df 0f 05 <48> 3d 01 f0 ff ff 76 15 48 f7 d8 48 89 c1 48 c7 c0 ff ff ff ff 48                                                                                                 
 kern: warning: [2026-02-06T01:31:33.774543243Z]: RSP: 002b:000000c003e52660 EFLAGS: 00000212 ORIG_RAX: 0000000000000141                                                      
 kern: warning: [2026-02-06T01:31:33.774546243Z]: RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 000000000040758e                                                           
 kern: warning: [2026-02-06T01:31:33.774548243Z]: RDX: 0000000000000098 RSI: 000000c003e52b88 RDI: 0000000000000005                                                           
 kern: warning: [2026-02-06T01:31:33.774550243Z]: RBP: 000000c003e526a0 R08: 0000000000000000 R09: 0000000000000000                                                           
 kern: warning: [2026-02-06T01:31:33.774552243Z]: R10: 0000000000000000 R11: 0000000000000212 R12: 0000000000000000                                                           
 kern: warning: [2026-02-06T01:31:33.774554243Z]: R13: 000000c003fcc9c0 R14: 000000c001d568c0 R15: ffffffffffffffff                                                           
 kern: warning: [2026-02-06T01:31:33.774557243Z]:  </TASK>                                                                                                                    
 kern: warning: [2026-02-06T01:31:33.774559243Z]: ---[ end trace 0000000000000000 ]---

Anything else?

No response

Cilium Users Document

  • Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

  • I agree to follow this project's Code of Conduct
Pinned by joestringer

Activity

  1. added
    kind/bugThis is a bug in the Cilium logic.
    needs/triageThis issue requires triaging to establish severity and affected area.
    kind/community-reportThis was reported by a user in the Cilium community, eg via Slack.
    on Feb 6, 2026
  2. onedr0p commented on Feb 6, 2026

    @onedr0p

    Jumping in to comment, I am seeing this as well on all three of my controller nodes (no worker nodes in my cluster).

    However my nodes seem "stable", and I don't see cluster network completely going down like @vlasov-y reported.

    My configuration:

    • Talos 1.12.2 (machine configuration here)
    • Linux Kernel 6.18.5
    • Cilium 1.19.0 w/eBPF (helm values here)
    k8s-0: kern: warning: [2026-02-05T19:14:13.467093703Z]: ------------[ cut here ]------------
    k8s-0: kern: warning: [2026-02-05T19:14:13.467103703Z]: verifier bug: REG INVARIANTS VIOLATION (false_reg1): range bounds violation u64=[0xe01, 0xe00] s64=[0xe01, 0xe00] u32=[0xe01, 0xe00] s32=[0xe01, 0xe00] var_off=(0xe00, 0x0)
    k8s-0: kern: warning: [2026-02-05T19:14:13.467112703Z]: WARNING: CPU: 3 PID: 4720 at kernel/bpf/verifier.c:2731 reg_bounds_sanity_check+0x19d/0x210
    k8s-0: kern: warning: [2026-02-05T19:14:13.467118703Z]: Modules linked in: thunderbolt_net nbd i915 i2c_algo_bit drm_buddy drm_display_helper intel_rapl_msr mei_gsc_proxy intel_rapl_common wdat_wdt i2c_i801 intel_pmc_core cec ahci nvme igc mei_me watchdog libahci i2c_smbus mei thunderbolt ttm igen6_edac pmt_telemetry pmt_discovery pmt_class intel_pmc_ssram_telemetry intel_vsec
    k8s-0: kern: warning: [2026-02-05T19:14:13.467136703Z]: CPU: 3 UID: 0 PID: 4720 Comm: cilium-agent Tainted: G     U              6.18.5-talos #1 NONE
    k8s-0: kern: warning: [2026-02-05T19:14:13.467139703Z]: Tainted: [U]=USER
    k8s-0: kern: warning: [2026-02-05T19:14:13.467140703Z]: Hardware name: ASUSTeK COMPUTER INC. NUC14RVH-B/NUC14RVB, BIOS RVMTL357.0051.2025.1013.1515 10/13/2025
    k8s-0: kern: warning: [2026-02-05T19:14:13.467142703Z]: RIP: 0010:reg_bounds_sanity_check+0x19d/0x210
    k8s-0: kern: warning: [2026-02-05T19:14:13.467144703Z]: Code: ff 73 18 41 50 57 48 c7 c7 50 34 82 8f 56 4c 89 d6 50 ff 73 30 4c 8b 4b 28 4c 8b 43 40 48 89 55 d8 4c 89 55 e0 e8 b3 7e e3 ff <0f> 0b 48 8b 55 d8 4c 8b 55 e0 48 83 c4 38 e9 ec fe ff ff 48 8b 7b
    k8s-0: kern: warning: [2026-02-05T19:14:13.467146703Z]: RSP: 0018:ffffd404c3c335a0 EFLAGS: 00010246
    k8s-0: kern: warning: [2026-02-05T19:14:13.467148703Z]: RAX: 0000000000000000 RBX: ffff8c42ecb4dbf0 RCX: 0000000000000000
    k8s-0: kern: warning: [2026-02-05T19:14:13.467150703Z]: RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
    k8s-0: kern: warning: [2026-02-05T19:14:13.467151703Z]: RBP: ffffd404c3c33608 R08: 0000000000000000 R09: 0000000000000000
    k8s-0: kern: warning: [2026-02-05T19:14:13.467152703Z]: R10: 0000000000000000 R11: 0000000000000000 R12: ffff8c42ec958000
    k8s-0: kern: warning: [2026-02-05T19:14:13.467153703Z]: R13: 0000000000000010 R14: ffff8c42ec95e300 R15: ffff8c42ecb4dbf0
    k8s-0: kern: warning: [2026-02-05T19:14:13.467154703Z]: FS:  000000c001700090(0000) GS:ffff8c58ce3aa000(0000) knlGS:0000000000000000
    k8s-0: kern: warning: [2026-02-05T19:14:13.467156703Z]: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    k8s-0: kern: warning: [2026-02-05T19:14:13.467157703Z]: CR2: 000000c0046c0000 CR3: 000000011d138006 CR4: 0000000000f72ef0
    k8s-0: kern: warning: [2026-02-05T19:14:13.467159703Z]: PKRU: 55555554
    k8s-0: kern: warning: [2026-02-05T19:14:13.467160703Z]: Call Trace:
    k8s-0: kern: warning: [2026-02-05T19:14:13.467162703Z]:  <TASK>
    k8s-0: kern: warning: [2026-02-05T19:14:13.467165703Z]:  ? reg_bounds_sync+0x123/0x1b0
    k8s-0: kern: warning: [2026-02-05T19:14:13.467168703Z]:  reg_set_min_max+0x1b9/0x200
    k8s-0: kern: warning: [2026-02-05T19:14:13.467171703Z]:  check_cond_jmp_op+0x408/0x1b70
    k8s-0: kern: warning: [2026-02-05T19:14:13.467174703Z]:  ? do_check_common+0x29f5/0x35f0
    k8s-0: kern: warning: [2026-02-05T19:14:13.467175703Z]:  do_check_common+0x29f5/0x35f0
    k8s-0: kern: warning: [2026-02-05T19:14:13.467177703Z]:  ? mark_fastcall_pattern_for_call+0x4c/0x230
    k8s-0: kern: warning: [2026-02-05T19:14:13.467180703Z]:  bpf_check+0x276d/0x33b0
    k8s-0: kern: warning: [2026-02-05T19:14:13.467182703Z]:  bpf_prog_load+0x6fa/0xef0
    k8s-0: kern: warning: [2026-02-05T19:14:13.467186703Z]:  __sys_bpf+0xbc6/0x2930
    k8s-0: kern: warning: [2026-02-05T19:14:13.467189703Z]:  __x64_sys_bpf+0x21/0x40
    k8s-0: kern: warning: [2026-02-05T19:14:13.467191703Z]:  do_syscall_64+0x78/0x940
    k8s-0: kern: warning: [2026-02-05T19:14:13.467195703Z]:  ? __x64_sys_rt_sigprocmask+0xdb/0x160
    k8s-0: kern: warning: [2026-02-05T19:14:13.467198703Z]:  ? do_syscall_64+0xa6/0x940
    k8s-0: kern: warning: [2026-02-05T19:14:13.467201703Z]:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
    k8s-0: kern: warning: [2026-02-05T19:14:13.467203703Z]: RIP: 0033:0x40758e
    k8s-0: kern: warning: [2026-02-05T19:14:13.467205703Z]: Code: ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc 49 89 f2 48 89 fa 48 89 ce 48 89 df 0f 05 <48> 3d 01 f0 ff ff 76 15 48 f7 d8 48 89 c1 48 c7 c0 ff ff ff ff 48
    k8s-0: kern: warning: [2026-02-05T19:14:13.467207703Z]: RSP: 002b:000000c0037c0660 EFLAGS: 00000212 ORIG_RAX: 0000000000000141
    k8s-0: kern: warning: [2026-02-05T19:14:13.467209703Z]: RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 000000000040758e
    k8s-0: kern: warning: [2026-02-05T19:14:13.467210703Z]: RDX: 0000000000000098 RSI: 000000c0037c0b88 RDI: 0000000000000005
    k8s-0: kern: warning: [2026-02-05T19:14:13.467211703Z]: RBP: 000000c0037c06a0 R08: 0000000000000000 R09: 0000000000000000
    k8s-0: kern: warning: [2026-02-05T19:14:13.467212703Z]: R10: 0000000000000000 R11: 0000000000000212 R12: 0000000000000000
    k8s-0: kern: warning: [2026-02-05T19:14:13.467214703Z]: R13: 000000c0014d4a50 R14: 000000c000a028c0 R15: ffffffffffffffff
    k8s-0: kern: warning: [2026-02-05T19:14:13.467215703Z]:  </TASK>
    k8s-0: kern: warning: [2026-02-05T19:14:13.467216703Z]: ---[ end trace 0000000000000000 ]---
    
  3. haraldkoch commented on Feb 6, 2026

    @haraldkoch

    I see this error on every node in three clusters, but when it occurred on my single-node cluster, the node locked up and never recovered; I had to rebuild from scratch (with cilium 1.18.6).

    Same versions as onedr0p; my talos and cilium configs are copied from there.

  4. added
    area/kernelRequires upstream work in the Linux kernel.
    and removed
    needs/triageThis issue requires triaging to establish severity and affected area.
    on Feb 6, 2026
  5. joestringer commented on Feb 6, 2026

    @joestringer
    Member

    Thanks for the reports. From the breadcrumbs in this issue seems like one potential mitigation is to roll back a Talos version update. If you do so, please also report if that helps and which versions you are using. The proper fix for this will need to be developed in the upstream Linux community and the fix backported to all relevant kernels (including Talos).

  6. pchaigno commented on Feb 6, 2026

    @pchaigno
    Member

    Thanks for the reports!

    These warnings are a known issue upstream. They were reported by syzkaller several times (cf. BPF mailing list), but were thought to be hard to hit in real-world programs. We're working on a long-term solution but since this is hitting Cilium now, we may also need a shorter-term solution.

    These warnings should however be guarded by CONFIG_DEBUG_KERNEL. Does that mean debugging mode is enabled in your kernel? (Even without the warning, the program rejection would still happen, so we'll need a fix either way.)

  7. yv-miggo commented on Feb 6, 2026

    @yv-miggo

    Does that mean debugging mode is enabled in your kernel?

    Talos documentation says that they use KSSP.
    While in KSSP I can see CONFIG_DEBUG_KERNEL=y, so yes.

  8. albgus commented on Feb 9, 2026

    @albgus

    For what it's worth I'm seeing this with several Talos versions / kernel matches

    • Talos 1.12.3 / kernel 6.18.8-talos
    • Talos 1.12.3 / kernel 6.18.5-talos
    • Talos 1.12.0 / kernel 6.18.1-talos

    Unlike the first reporter cluster networking is not entirely down, but I am seeing the verifier bug: REG INVARIANTS VIOLATION in dmesg on all nodes. I am also seeing wierd intermittent connectivity errors reporting connect: Operation not permitted, which I believe may be caused by eBPF issues(?)

    edit: It's possible that the issues I'm seeing is something else as I discovered the root for a lot of it seems to be that CoreDNS has issues resolving external domains, ex: [ERROR] plugin/errors: 2 hel1.your-objectstorage.com. A: read udp 100.99.5.206:34084->169.254.116.108:53: i/o timeout

  9. Syntax3rror404 commented on Feb 10, 2026

    @Syntax3rror404

    I also have this issue, if you reboot all the nodes everything works, this issue happens if you delete a pod with a l2 service attached. While the new pod comes up, this kernel warning shows up in the dmesg log and you cannot reach the external ip from the service anymore.

    If you reboot the nodes again you can reproduce this.

    If you downgrade to cilium 1.18.6 this issue does not happen.

  10. 91 remaining items

  11. pchaigno commented on Apr 1, 2026

    @pchaigno
    Member

    which I understand contains at least the V2 verifier fix, not sure if a later version was merged to the mainline kernel

    Yes, it was: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=efc11a667878. It should be the same as the v2 though; there were no functional changes to the fix itself.

    I'm getting a different verifier bug from the kernel on cilium 1.18.7

    We've seen the const tnum out of sync with range bounds type of error in the past, but it always came with a range bounds violation error. Only one would be reported as a kernel warning due to the use of WARN_ONCE.

    I'd be very interested to understand if we also have a range bounds violation here or if we're looking at something new. @jackmaninov Could you share a sysdump or even just a bugtool report? I'll need to extract the BPF programs to reproduce.

    This seems to point to this patchset (lore.kernel.org link) triggering on different range bounds than the code sample in that report.

    It's hard to say for sure without seeing the bytecode, but it's most likely unrelated to these changes. These fix a very specific case of invariant violation.

  12. pchaigno commented on Apr 1, 2026

    @pchaigno
    Member

    We're also working on a patchset to fix the root cause for all these issues: https://lore.kernel.org/bpf/[email protected]/. If you're able to confirm this fixes your issues when applied to your kernel, that would be most helpful!

  13. jackmaninov commented on Apr 4, 2026

    @jackmaninov

    I'd be very interested to understand if we also have a range bounds violation here or if we're looking at something new. @jackmaninov Could you share a sysdump or even just a bugtool report? I'll need to extract the BPF programs to reproduce.

    Here's a somewhat stripped bugtool output from an edge node shortly after a reboot (it still has the bpf .o files, don't worry).

    I'll take a look at building a kernel with the additional patchset you linked.

  14. jackmaninov commented on Apr 5, 2026

    @jackmaninov

    We're also working on a patchset to fix the root cause for all these issues: https://lore.kernel.org/bpf/[email protected]/. If you're able to confirm this fixes your issues when applied to your kernel, that would be most helpful!

    I can confirm that I still get the const tnum out of sync with range bounds warning after applying v3 of your patchset (minus the hunk in part 2/6 that removes the check for "false_reg1 == false_reg2" in reg_set_min_max, as I'm merging on top of kernel 6.18.18).

    I can also confirm that the "Skip bounds adjustment for conditional jumps on same scalar register" patchset does not remove the warning.

  15. mschirrmeister commented on Apr 6, 2026

    @mschirrmeister

    @jackmaninov, do you have something with what this can be reliably reproduced? If yes, I would like to try to reproduce on my K3s/Cilium cluster.

  16. jackmaninov commented on Apr 6, 2026

    @jackmaninov

    @jackmaninov, do you have something with what this can be reliably reproduced? If yes, I would like to try to reproduce on my K3s/Cilium cluster.

    This reproduces reliably for me; every boot I get one REG INVARIANTS VIOLATION (alu) warning, and I can get another by setting /sys/kernel/debug/clear_warn_once and restarting the cilium agent).

    This is running cilium agent v1.17.7 or v1.17.8 on talos 1.12.6 amd64. Machine type doesn't seem to matter, I'm seeing it on bare metal as well as QEMU under Proxmox.

    As far as I understand Talos' kernel build system it's just building stock kernel-6.18.18 with the config at https://github.com/siderolabs/pkgs/blob/release-1.12/kernel/build/config-amd64. They distribute their kernel build artifacts at:

    https://github.com/siderolabs/talos/releases/download/v1.12.6/vmlinuz-amd64
    https://github.com/siderolabs/talos/releases/download/v1.12.6/initramfs-amd64.xz

    My cilium configmap is as follows:

      agent-not-ready-taint-key: node.cilium.io/agent-not-ready
      auto-direct-node-routes: "false"
      bpf-distributed-lru: "true"
      bpf-events-drop-enabled: "true"
      bpf-events-policy-verdict-enabled: "true"
      bpf-events-trace-enabled: "true"
      bpf-lb-acceleration: disabled
      bpf-lb-algorithm-annotation: "false"
      bpf-lb-external-clusterip: "false"
      bpf-lb-map-max: "65536"
      bpf-lb-mode-annotation: "false"
      bpf-lb-sock: "true"
      bpf-lb-sock-hostns-only: "true"
      bpf-lb-sock-terminate-pod-connections: "false"
      bpf-lb-source-range-all-types: "false"
      bpf-map-dynamic-size-ratio: "0.01"
      bpf-policy-map-max: "16384"
      bpf-policy-stats-map-max: "65536"
      bpf-root: /sys/fs/bpf
      cgroup-root: /sys/fs/cgroup
      cilium-endpoint-gc-interval: 5m0s
      cluster-id: "1"
      cluster-name: mycluster
      clustermesh-enable-endpoint-sync: "false"
      clustermesh-enable-mcs-api: "false"
      cni-exclusive: "true"
      cni-log-file: /var/run/cilium/cilium-cni.log
      controller-group-metrics: write-cni-file sync-host-ips sync-lb-maps-with-k8s-services
      custom-cni-conf: "false"
      datapath-mode: veth
      debug: "false"
      debug-verbose: ""
      default-lb-service-ipam: lbipam
      direct-routing-skip-unreachable: "false"
      dnsproxy-enable-transparent-mode: "true"
      dnsproxy-socket-linger-timeout: "10"
      egress-gateway-reconciliation-trigger-interval: 1s
      enable-auto-protect-node-port-range: "true"
      enable-bandwidth-manager: "true"
      enable-bbr: "true"
      enable-bbr-hostns-only: "false"
      enable-bpf-clock-probe: "false"
      enable-bpf-masquerade: "true"
      enable-egress-gateway: "true"
      enable-encryption-strict-mode: "true"
      enable-endpoint-health-checking: "true"
      enable-endpoint-lockdown-on-policy-overflow: "false"
      enable-envoy-config: "true"
      enable-gateway-api: "true"
      enable-gateway-api-alpn: "true"
      enable-gateway-api-app-protocol: "true"
      enable-gateway-api-proxy-protocol: "false"
      enable-gateway-api-secrets-sync: "true"
      enable-health-check-loadbalancer-ip: "false"
      enable-health-check-nodeport: "true"
      enable-health-checking: "true"
      enable-host-firewall: "true"
      enable-host-legacy-routing: "false"
      enable-hubble: "true"
      enable-hubble-open-metrics: "true"
      enable-internal-traffic-policy: "true"
      enable-ip-masq-agent: "true"
      enable-ipv4: "true"
      enable-ipv4-big-tcp: "false"
      enable-ipv4-masquerade: "true"
      enable-ipv6: "true"
      enable-ipv6-big-tcp: "false"
      enable-ipv6-masquerade: "true"
      enable-k8s-networkpolicy: "true"
      enable-l2-neigh-discovery: "false"
      enable-l7-proxy: "true"
      enable-lb-ipam: "true"
      enable-local-redirect-policy: "true"
      enable-masquerade-to-route-source: "false"
      enable-metrics: "true"
      enable-node-selector-labels: "false"
      enable-non-default-deny-policies: "true"
      enable-policy: default
      enable-policy-secrets-sync: "true"
      enable-sctp: "false"
      enable-source-ip-verification: "true"
      enable-svc-source-range-check: "true"
      enable-tcx: "true"
      enable-vtep: "false"
      enable-well-known-identities: "false"
      enable-wireguard: "true"
      enable-xt-socket-fallback: "true"
      encrypt-node: "true"
      encryption-strict-mode-allow-remote-node-identities: "true"
      encryption-strict-mode-cidr: 10.0.0.0/8
      envoy-access-log-buffer-size: "4096"
      envoy-base-id: "0"
      envoy-config-retry-interval: 15s
      envoy-keep-cap-netbindservice: "true"
      external-envoy-proxy: "true"
      gateway-api-hostnetwork-enabled: "false"
      gateway-api-hostnetwork-nodelabelselector: ""
      gateway-api-secrets-namespace: mycluster-cilium-secrets
      gateway-api-service-externaltrafficpolicy: Cluster
      gateway-api-xff-num-trusted-hops: "0"
      health-check-icmp-failure-threshold: "3"
      http-retry-count: "3"
      http-stream-idle-timeout: "3608"
      hubble-disable-tls: "false"
      hubble-listen-address: :4244
      hubble-metrics: dns drop tcp flow port-distribution icmp httpV2:exemplars=true;labelsContext=source_ip,source_namespace,source_workload,destination_namespace,destination_workload,traffic_direction
      hubble-metrics-server: :9965
      hubble-metrics-server-enable-tls: "false"
      hubble-network-policy-correlation-enabled: "true"
      hubble-socket-path: /var/run/cilium/hubble.sock
      hubble-tls-cert-file: /var/lib/cilium/tls/hubble/server.crt
      hubble-tls-client-ca-files: /var/lib/cilium/tls/hubble/client-ca.crt
      hubble-tls-key-file: /var/lib/cilium/tls/hubble/server.key
      identity-allocation-mode: crd
      identity-gc-interval: 15m0s
      identity-heartbeat-timeout: 30m0s
      identity-management-mode: agent
      install-no-conntrack-iptables-rules: "false"
      ipam: kubernetes
      ipam-cilium-node-update-rate: 15s
      iptables-random-fully: "false"
      k8s-require-ipv4-pod-cidr: "false"
      k8s-require-ipv6-pod-cidr: "false"
      kube-proxy-replacement: "true"
      kube-proxy-replacement-healthz-bind-address: ""
      log-opt: '{"level":"info"}'
      log-system-load: "true"
      max-connected-clusters: "255"
      mesh-auth-enabled: "true"
      mesh-auth-gc-interval: 5m0s
      mesh-auth-queue-size: "1024"
      mesh-auth-rotated-identities-queue-size: "1024"
      metrics-sampling-interval: 5m
      monitor-aggregation: medium
      monitor-aggregation-flags: all
      monitor-aggregation-interval: 5s
      nat-map-stats-entries: "32"
      nat-map-stats-interval: 30s
      node-port-bind-protection: "true"
      nodeport-addresses: ""
      nodes-gc-interval: 5m0s
      operator-api-serve-addr: 127.0.0.1:9234
      operator-prometheus-serve-addr: :9963
      policy-audit-mode: "false"
      policy-cidr-match-mode: ""
      policy-default-local-cluster: "false"
      policy-secrets-namespace: mycluster-cilium-secrets
      policy-secrets-only-from-secrets-namespace: "true"
      preallocate-bpf-maps: "false"
      procfs: /host/proc
      prometheus-serve-addr: :9962
      proxy-connect-timeout: "5"
      proxy-idle-timeout-seconds: "3001"
      proxy-initial-fetch-timeout: "30"
      proxy-max-concurrent-retries: "128"
      proxy-max-connection-duration-seconds: "3003"
      proxy-max-requests-per-connection: "0"
      proxy-stream-idle-timeout-seconds: "3609"
      proxy-xff-num-trusted-hops-egress: "0"
      proxy-xff-num-trusted-hops-ingress: "0"
      remove-cilium-node-taints: "true"
      routing-mode: tunnel
      service-no-backend-response: reject
      set-cilium-is-up-condition: "true"
      set-cilium-node-taints: "true"
      synchronize-k8s-nodes: "true"
      tofqdns-dns-reject-response-code: refused
      tofqdns-enable-dns-compression: "true"
      tofqdns-endpoint-max-ip-per-hostname: "1000"
      tofqdns-idle-connection-grace-period: 0s
      tofqdns-max-deferred-connection-deletes: "10000"
      tofqdns-preallocate-identities: "true"
      tofqdns-proxy-response-max-delay: 100ms
      trace-sock: "true"
      tunnel-protocol: vxlan
      tunnel-source-port-range: 0-0
      unmanaged-pod-watcher-interval: "15"
      vtep-cidr: ""
      vtep-endpoint: ""
      vtep-mac: ""
      vtep-mask: ""
      wireguard-persistent-keepalive: 0s
      write-cni-conf-when-ready: /host/etc/cni/net.d/05-cilium.conflist
    
  17. pchaigno commented on Apr 9, 2026

    @pchaigno
    Member

    @jackmaninov I'm not able to reproduce. I was able to extract the BPF programs from the bugtool report, but they don't cause any invariant violation warning when running on v6.18.18 or v6.18.7. I've also setup a cluster with the same config you have but it works fine and doesn't cause any kernel warning either. Maybe @mschirrmeister has had more luck?

  18. pchaigno commented on Apr 16, 2026

    @pchaigno
    Member

    FYI, we're expecting this Linux patchset to fix any remaining invariant violations in the kernel. Note this version won't be merged; it requires more iterations.

  19. mschirrmeister commented on Apr 17, 2026

    @mschirrmeister

    I was so far not able to reproduce the issue either. I have no Talos though. I am also on arm64.
    I was testing on a 3 node cluster (K3s) with Cilium 1.19.2 were each node has a different kernel. My initial tests were on 6.18.11, 6.9.21 and 7.0-rc7. Have also tried to latest stable release of all 3 versions.

    My own config was different compared to @jackmaninov posted config. I changed almost everything step by step and it never crashed when cilium agents were restarted. Also no issues on node reboots.

    Below is the current diff of my config vs the config that was posted earlier.

    root@k3scp1 ~# diff marco-test-configmap.yaml gh-issue-configmap.yaml
    1,2d0
    < apiVersion: v1
    < data:
    5,6d2
    <   bgp-router-id-allocation-ip-pool: ""
    <   bgp-router-id-allocation-mode: default
    20c16
    <   bpf-map-dynamic-size-ratio: "0.0025"
    ---
    >   bpf-map-dynamic-size-ratio: "0.01"
    24c20
    <   cgroup-root: /run/cilium/cgroupv2
    ---
    >   cgroup-root: /sys/fs/cgroup
    26,28c22,23
    <   cluster-id: "0"
    <   cluster-name: default
    <   clustermesh-cache-ttl: 0s
    ---
    >   cluster-id: "1"
    >   cluster-name: mycluster
    31d25
    <   clustermesh-mcs-api-install-crds: "true"
    68c62
    <   enable-ip-masq-agent: "false"
    ---
    >   enable-ip-masq-agent: "true"
    104c98
    <   gateway-api-secrets-namespace: cilium-secrets
    ---
    >   gateway-api-secrets-namespace: mycluster-cilium-secrets
    109c103,113
    <   http-stream-idle-timeout: "300"
    ---
    >   http-stream-idle-timeout: "3608"
    >   hubble-disable-tls: "false"
    >   hubble-listen-address: :4244
    >   hubble-metrics: dns drop tcp flow port-distribution icmp httpV2:exemplars=true;labelsContext=source_ip,source_namespace,source_workload,destination_namespace,destination_workload,traffic_direction
    >   hubble-metrics-server: :9965
    >   hubble-metrics-server-enable-tls: "false"
    >   hubble-network-policy-correlation-enabled: "true"
    >   hubble-socket-path: /var/run/cilium/hubble.sock
    >   hubble-tls-cert-file: /var/lib/cilium/tls/hubble/server.crt
    >   hubble-tls-client-ca-files: /var/lib/cilium/tls/hubble/client-ca.crt
    >   hubble-tls-key-file: /var/lib/cilium/tls/hubble/server.key
    121a126,127
    >   log-opt: '{"level":"info"}'
    >   log-system-load: "true"
    138d143
    <   packetization-layer-pmtud-mode: blackhole
    141,143c146,147
    <   policy-default-local-cluster: "true"
    <   policy-deny-response: none
    <   policy-secrets-namespace: cilium-secrets
    ---
    >   policy-default-local-cluster: "false"
    >   policy-secrets-namespace: mycluster-cilium-secrets
    148,149d151
    <   proxy-cluster-max-connections: "1024"
    <   proxy-cluster-max-requests: "1024"
    153d154
    <   proxy-max-active-downstream-connections: "50000"
    155c156
    <   proxy-max-connection-duration-seconds: "0"
    ---
    >   proxy-max-connection-duration-seconds: "3003"
    157c158
    <   proxy-use-original-source-address: "true"
    ---
    >   proxy-stream-idle-timeout-seconds: "3609"
    176c177
    <   unmanaged-pod-watcher-interval: 15s
    ---
    >   unmanaged-pod-watcher-interval: "15"

    I am out of ideas what else I can test at this point. Not sure if a specific workload can influence it?

  20. jackmaninov commented on Apr 26, 2026

    @jackmaninov

    I'm not sure if this belongs on a new issue or not, but another datapoint to add: I've just upgraded to talos 1.12.6 (kernel: 6.18.18-talos, which I understand contains at least the V2 verifier fix, not sure if a later version was merged to the mainline kernel) and I'm getting a different verifier bug from the kernel on cilium 1.18.7.

    Ok, I can report that upgrading to talos 1.12.7 has somehow cleared this warning for me. They bumped to kernel 6.18.24, but I'm afraid why this would resolve this warning is above my pay grade. I suppose it was a talos-specific bug rather than cilium itself.

  21. pchaigno commented on May 26, 2026

    @pchaigno
    Member

    Closing this as we don't seem to have anyone able to reproduce anymore. There are still improvements planned on the kernel side related to this, but I don't think it needs to be tracked here. Thanks everyone for reporting and testing fixes!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area/datapathImpacts bpf/ or low-level forwarding details, including map management and monitor messages.area/kernelRequires upstream work in the Linux kernel.kind/bugThis is a bug in the Cilium logic.kind/community-reportThis was reported by a user in the Cilium community, eg via Slack.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions