Skip to content

Linux 7.0.x: “Unpatched return thunk in use” warning during NVIDIA Open Kernel Module initialization (Driver 595.84) #1233

Description

@ThiagoHaeitmann

NVIDIA Open GPU Kernel Modules Version

NVIDIA-SMI 595.84

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: Pop!_OS 24.04 LTS

Kernel Release

Linux Thiago-Haeitmann 7.0.11-76070011-generic #202606011647178058364524.04~5c4cc15 SMP PREEMPT_DYNAMIC Thu J x86_64 x86_64 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-a5902f22-3bbb-926b-bc3f-5da012fb8f82)

Describe the bug

12.043223] Unpatched return thunk in use. This should not happen!
[ 12.043224] WARNING: arch/x86/kernel/cpu/bugs.c:3736 at __warn_thunk+0x10/0x20, CPU#1: (udev-worker)/728
[ 12.043228] Modules linked in: fjes(+) i2c_mux(+) nvidia(OE+) bluetooth mei snd_timer mc processor_thermal_device_pci processor_thermal_device snd processor_thermal_wt_hint platform_temperature_control soundcore processor_thermal_soc_slider platform_profile processor_thermal_rfim processor_thermal_rapl intel_rapl_common int3403_thermal intel_pmc_core processor_thermal_wt_req acer_wireless processor_thermal_power_floor pmt_telemetry processor_thermal_mbox int3400_thermal pmt_discovery int340x_thermal_zone pmt_class acpi_thermal_rel intel_pmc_ssram_telemetry acpi_pad input_leds joydev serio_raw mac_hid sch_fq_codel kyber_iosched coretemp msr parport_pc ppdev lp parport nvme_fabrics efi_pstore nfnetlink dmi_sysfs ip_tables x_tables autofs4 btrfs libblake2b dm_crypt raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq raid1 raid0 linear system76_io(OE) system76_acpi(OE) xe drm_gpuvm drm_gpusvm_helper gpu_sched drm_ttm_helper drm_exec drm_suballoc_helper ucsi_acpi typec_ucsi typec usbhid
[ 12.043261] i915 nvme nvme_core nvme_keyring drm_buddy hid_multitouch nvme_auth ttm hkdf hid_generic i2c_algo_bit drm_display_helper ghash_clmulni_intel thunderbolt intel_lpss_pci r8169 i2c_hid_acpi cec video i2c_hid intel_lpss realtek idma64 vmd rc_core intel_vsec hid pinctrl_tigerlake wmi aesni_intel
[ 12.043274] CPU: 1 UID: 0 PID: 728 Comm: (udev-worker) Tainted: G OE 7.0.11-76070011-generic #202606011647178058364524.04~5c4cc15 PREEMPT(lazy)
[ 12.043277] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
[ 12.043277] Hardware name: Acer Nitro ANV15-51/Sportage_RTH, BIOS V1.52 12/26/2025
[ 12.043278] RIP: 0010:__warn_thunk+0x10/0x20
[ 12.043280] Code: 0f 1f 84 00 00 00 00 00 66 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 55 48 89 e5 48 8d 3d 40 4a bc 02 <67> 48 0f b9 3a 5d 31 ff c3 cc cc cc cc 0f 1f 00 90 90 90 90 90 90
[ 12.043281] RSP: 0018:ffffd16004833a60 EFLAGS: 00010246
[ 12.043283] RAX: 0000000000000000 RBX: ffffffffc05d2010 RCX: 0000000000000000
[ 12.043284] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffa76d05a0
[ 12.043284] RBP: ffffd16004833a60 R08: 0000000000000000 R09: 0000000000000000
[ 12.043285] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
[ 12.043286] R13: 0000000000000000 R14: ffffd16004833b38 R15: 0000000000000000
[ 12.043287] FS: 00007c63d22658c0(0000) GS:ffff8ed645466000(0000) knlGS:0000000000000000
[ 12.043288] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 12.043289] CR2: 00007cbb75116710 CR3: 0000000128cf0006 CR4: 0000000000f70ef0
[ 12.043290] PKRU: 55555554
[ 12.043290] Call Trace:
[ 12.043292]
[ 12.043293] warn_thunk_thunk+0x16/0x30
[ 12.043297] nvidia_init_module+0x29/0x8a0 [nvidia]
[ 12.043378] ? ____versions+0x2e9fb994a170/0x2e9fb994a170 [nvidia]
[ 12.043453] do_one_initcall+0x5f/0x360
[ 12.043456] do_init_module+0x97/0x2c0
[ 12.043459] load_module+0x9f4/0xb20
[ 12.043461] init_module_from_file+0x153/0x160
[ 12.043463] idempotent_init_module+0x10f/0x300
[ 12.043466] __x64_sys_finit_module+0x73/0xf0
[ 12.043468] x64_sys_call+0x106d/0x26e0
[ 12.043470] do_syscall_64+0xd9/0x5b0
[ 12.043474] ? arch_exit_to_user_mode_prepare.isra.0+0xd/0xe0
[ 12.043476] ? do_syscall_64+0x116/0x5b0
[ 12.043478] ? restore_fpregs_from_fpstate+0x3d/0xc0
[ 12.043480] ? switch_fpu_return+0x62/0x110
[ 12.043483] ? arch_exit_to_user_mode_prepare.isra.0+0xc3/0xe0
[ 12.043485] ? do_syscall_64+0x116/0x5b0
[ 12.043486] ? do_syscall_64+0x116/0x5b0
[ 12.043488] ? arch_exit_to_user_mode_prepare.isra.0+0xd/0xe0
[ 12.043497] ? do_syscall_64+0x116/0x5b0
[ 12.043500] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 12.043501] RIP: 0033:0x7c63d212728d
[ 12.043503] Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 5b bb 0d 00 f7 d8 64 89 01 48
[ 12.043504] RSP: 002b:00007ffdf8810e48 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[ 12.043506] RAX: ffffffffffffffda RBX: 0000573a5c278b30 RCX: 00007c63d212728d
[ 12.043507] RDX: 0000000000000004 RSI: 0000573a5c28a940 RDI: 0000000000000035
[ 12.043507] RBP: 00007ffdf8810f00 R08: 0000000000000040 R09: 00007ffdf8810e90
[ 12.043508] R10: 00007c63d2203b20 R11: 0000000000000246 R12: 0000573a5c28a940
[ 12.043509] R13: 0000000000020000 R14: 0000573a5c293d60 R15: 0000573a5c2989d0
[ 12.043510]
[ 12.043511] ---[ end trace 0000000000000000 ]---
[ 12.043751] nvidia-nvlink: Nvlink Core is being initialized, major device number 507

To Reproduce

After upgrading to Linux kernel 7.0.11, the NVIDIA Open Kernel Module (595.84) emits the following kernel warning during initialization:

nvidia-bug-report.log.gz (374.2 KB)

Unpatched return thunk in use. This should not happen!

The warning originates from:

nvidia_init_module()

The complete call trace is attached below.

The driver continues loading successfully after the warning.

I have not observed any functional regressions.

Everything works normally:

OpenGL
Vulkan
PRIME Render Offload
CUDA
Steam
Proton

Warning

Unpatched return thunk in use. This should not happen!

Call Trace:

warn_thunk_thunk
nvidia_init_module
do_one_initcall
do_init_module
load_module

Observations

The NVIDIA driver loads correctly after the warning:

NVRM: loading NVIDIA UNIX Open Kernel Module for x86_64 595.84

nvidia, nvidia_modeset, nvidia_uvm and nvidia_drm all initialize successfully.

PRIME Render Offload works correctly.

Example:

__NV_PRIME_RENDER_OFFLOAD=1
__GLX_VENDOR_LIBRARY_NAME=nvidia
glxinfo

Output:

OpenGL renderer string:
NVIDIA GeForce RTX 4050 Laptop GPU
Question

Is this warning expected with Linux 7.0.x or is support for the new x86 return thunk validation still being implemented in the Open Kernel Module?

nvidia-bug-report(1).log.gz

Bug Incidence

Always

nvidia-bug-report.log.gz

nvidia-bug-report(1).log.gz

More Info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions