NVIDIA / NVIDIA/open-gpu-kernel-modules
[Nvidia-dkms-595.84] Missing ENDBR in init_module causes kernel BUG on IBT/CET-enabled kernel (Xanmod Clang)
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 17.4k
- Forks
- 1.9k
- PR merge metrics
- No merged PRs in 30d
Description
NVIDIA Open GPU Kernel Modules Version
595.84 (Installed via Ubuntu DKMS package)
Please confirm this issue does not happen with the proprietary driver (of the same version). This issue tracker is only for bugs specific to the open kernel driver.
- I confirm that this does not happen with the proprietary driver package.
Operating System and Version
Description: Ubuntu 26.04 LTS
Kernel Release
Linux Nitro-NL16-71G 7.1.4-x64v3-xanmod1 #0~20260718.g967cc06 SMP PREEMPT_DYNAMIC Sat Jul 18 17:42:15 UTC x86_64 GNU/Linux
Please confirm you are running a stable release kernel (e.g. not a -rc). We do not accept bug reports for unreleased kernels.
- I am running on a stable kernel release.
Hardware: GPU
GPU 0: NVIDIA GeForce RTX 4050 Laptop GPU (UUID: GPU-4096e3ec-fcb2-bd62-c2c3-3f7e49e2ad14)
Describe the bug
When booting a Linux kernel with Indirect Branch Tracking (IBT) strictly enabled (CET detected: Indirect Branch Tracking enabled), loading the nvidia kernel module triggers a hardware control protection fault (do_kernel_cp_fault) and hangs the system.
This occurs because the entry point (init_module) in the NVIDIA kernel module lacks the ENDBR instruction required by Intel CET/IBT.
Environment
- GPU: NVIDIA GeForce RTX 4050 Laptop GPU (Acer Nitro NL16-71G)
- CPU: Intel Core i5-13420H (CET/IBT support)
- Driver Version: 595.84
- Kernel Version: 7.1.4-x64v3-xanmod1 (Compiled with Clang/LLD,
CONFIG_X86_KERNEL_IBT=y) - OS: Ubuntu 26.04 LTS
Key Log Snippet
kernel: CET detected: Indirect Branch Tracking enabled
kernel: Missing ENDBR: init_module+0x0/0x340 [nvidia]
kernel: kernel BUG at do_kernel_cp_fault+0xd7/0xe0
To Reproduce
Preconditions:
- A CPU supporting Intel CET / Indirect Branch Tracking (IBT) (e.g., Intel 11th Gen or newer).
- A Linux kernel compiled with
CONFIG_X86_KERNEL_IBT=y(e.g., Xanmod Linux kernel). - NVIDIA Open GPU Kernel Modules installed via DKMS.
Steps to Reproduce:
- Configure GRUB boot parameters without
ibt=off. - Boot into the IBT-enabled kernel.
- Allow the system to boot and attempt loading the
nvidiakernel module. - Observe system freeze / soft lockup on boot, accompanied by
Missing ENDBR: init_modulein kernel logs.
Bug Incidence
Always
nvidia-bug-report.log.gz
nvidia-bug-report.log.gz
error-kernel-log.zip
More Info
Expected Behavior:
The NVIDIA kernel module should load successfully during boot when Intel CET/IBT is enabled (CONFIG_X86_KERNEL_IBT=y), allowing the system to boot into the desktop environment with full GPU hardware acceleration.
Actual Behavior:
The system triggers a kernel BUG (do_kernel_cp_fault) and completely freezes (soft lockup) because the init_module entry point in the NVIDIA driver lacks the required ENDBR instruction for IBT validation.
Additional Context:
- Passing
ibt=offas a kernel boot parameter bypasses the check and works around the crash completely. - Attached
nvidia-bug-report.log.gzfor full system diagnosis.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The report points to the NVIDIA DKMS-built C kernel module and its init_module entry point; start by reproducing on a kernel with CONFIG_X86_KERNEL_IBT=y and inspect the built module around that entry point. Done means the nvidia module loads with IBT enabled without Missing ENDBR, a kernel BUG, or a freeze; validate with the supplied logs and reproduction steps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100