← Back to team overview

lttng team mailing list archive

[Bug 2111275] Re: lttng-modules-dkms FTBS in Noble with the linux-6.14-hwe kernel

 

This bug was fixed in the package lttng-modules - 2.13.11-1ubuntu1.3

---------------
lttng-modules (2.13.11-1ubuntu1.3) noble; urgency=medium

  * Support Linux 6.14 (LP: #2111275)
    - debian/patches/0025-Fix-trace_balance_dirty_pages-parameters-changed-in-
      Linux-v6.15-rc1.patch
    - debian/patches/0026-Fix-trace_balance_directy_pages-parameters-changed-
      in-Linux-v6.14.2.patch
    - debian/patches/0027-Fix-trace_balance_dirty_pages-in-Linux-v6.14.2.patch
    - debian/patches/0028-fix-writeback-balance_dirty_pages-respect-
      CONFIG_CGROUP_WRITEBACK.patch

 -- John Cabaj <john.cabaj@xxxxxxxxxxxxx>  Thu, 05 Jun 2025 15:53:24
-0500

** Changed in: lttng-modules (Ubuntu Noble)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
LTTng, which is subscribed to lttng-modules in Ubuntu.
Matching subscriptions: lttng-modules-bugs
https://bugs.launchpad.net/bugs/2111275

Title:
  lttng-modules-dkms FTBS in Noble with the linux-6.14-hwe kernel

Status in lttng-modules package in Ubuntu:
  Invalid
Status in lttng-modules source package in Noble:
  Fix Released

Bug description:
  [ Impact ]

  DKMS make.log for lttng-modules-2.13.11 for kernel 6.14.0-15-generic (x86_64)
  Mon May 19 15:10:47 UTC 2025
  make: Entering directory '/usr/src/linux-headers-6.14.0-15-generic'
  make[1]: Entering directory '/var/lib/dkms/lttng-modules/2.13.11/build'
  warning: the compiler differs from the one used to build the kernel
    The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
    You are using:           gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
    CC [M]  src/lttng-ring-buffer-client-discard.o
  src/probes/Kbuild:27: File /usr/src/linux-headers-6.14.0-15-generic/mm/slab.h not found. Probe "kmem" is disabled. Use full kernel source tree to enable it.
    CC [M]  src/tests/probes/lttng-test.o
    CC [M]  src/lib/ringbuffer/ring_buffer_backend.o
  src/probes/Kbuild:81: File /usr/src/linux-headers-6.14.0-15-generic/arch/x86/kvm/lapic.h not found. Probe "kvm" x86-specific is disabled. Use full kernel source tree to enable it.
  src/probes/Kbuild:188: Files /usr/src/linux-headers-6.14.0-15-generic/fs/btrfs/*.h not found. Probe "btrfs" is disabled. Use full kernel source tree to enable it.
  src/probes/Kbuild:207: Files /usr/src/linux-headers-6.14.0-15-generic/mm/internal.h not found. Probe "compaction" is disabled. Use full kernel source tree to enable it.
  src/probes/Kbuild:216: Files /usr/src/linux-headers-6.14.0-15-generic/fs/ext4/*.h not found. Probe "ext4" is disabled. Use full kernel source tree to enable it.
  src/probes/Kbuild:245: File /usr/src/linux-headers-6.14.0-15-generic/drivers/base/regmap/trace.h not found. Probe "regmap" is disabled. Need Linux 4.1+ kernel source tree to enable it.
    CC [M]  src/probes/lttng-probe-sched.o
  In file included from src/../include/lttng/events.h:19,
                   from src/../include/lttng/tracer.h:27,
                   from src/lttng-ring-buffer-client-discard.c:11:
  src/../include/wrapper/uprobes.h: In function ‘wrapper_uprobe_register’:
  src/../include/wrapper/uprobes.h:28:47: warning: passing argument 3 of ‘uprobe_register’ makes integer from pointer without a cast [-Wint-conversion]
     28 |         return uprobe_register(inode, offset, uc);
        |                                               ^~
        |                                               |
        |                                               struct uprobe_consumer *
  In file included from /usr/src/linux-headers-6.14.0-15-generic/include/linux/mm_types.h:16,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/mmzone.h:22,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/gfp.h:7,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/umh.h:4,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/kmod.h:9,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/module.h:17,
                   from src/lttng-ring-buffer-client-discard.c:10:
  /usr/src/linux-headers-6.14.0-15-generic/include/linux/uprobes.h:195:82: note: expected ‘loff_t’ {aka ‘long long int’} but argument is of type ‘struct uprobe_consumer *’
    195 | extern struct uprobe *uprobe_register(struct inode *inode, loff_t offset, loff_t ref_ctr_offset, struct uprobe_consumer *uc);
        |                                                                           ~~~~~~~^~~~~~~~~~~~~~
  src/../include/wrapper/uprobes.h:28:16: error: too few arguments to function ‘uprobe_register’
     28 |         return uprobe_register(inode, offset, uc);
        |                ^~~~~~~~~~~~~~~
  /usr/src/linux-headers-6.14.0-15-generic/include/linux/uprobes.h:195:23: note: declared here
    195 | extern struct uprobe *uprobe_register(struct inode *inode, loff_t offset, loff_t ref_ctr_offset, struct uprobe_consumer *uc);
        |                       ^~~~~~~~~~~~~~~
  src/../include/wrapper/uprobes.h: In function ‘wrapper_uprobe_unregister’:
  src/../include/wrapper/uprobes.h:34:9: error: implicit declaration of function ‘uprobe_unregister’; did you mean ‘uprobe_register’? [-Werror=implicit-function-declaration]
     34 |         uprobe_unregister(inode, offset, uc);
        |         ^~~~~~~~~~~~~~~~~
        |         uprobe_register
  In file included from src/tests/../../include/lttng/events.h:19,
                   from src/tests/probes/lttng-test.c:16:
  src/tests/../../include/wrapper/uprobes.h: In function ‘wrapper_uprobe_register’:
  src/tests/../../include/wrapper/uprobes.h:28:47: warning: passing argument 3 of ‘uprobe_register’ makes integer from pointer without a cast [-Wint-conversion]
     28 |         return uprobe_register(inode, offset, uc);
        |                                               ^~
        |                                               |
        |                                               struct uprobe_consumer *
  In file included from /usr/src/linux-headers-6.14.0-15-generic/include/linux/mm_types.h:16,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/mmzone.h:22,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/gfp.h:7,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/umh.h:4,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/kmod.h:9,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/module.h:17,
                   from src/tests/probes/lttng-test.c:11:
  /usr/src/linux-headers-6.14.0-15-generic/include/linux/uprobes.h:195:82: note: expected ‘loff_t’ {aka ‘long long int’} but argument is of type ‘struct uprobe_consumer *’
    195 | extern struct uprobe *uprobe_register(struct inode *inode, loff_t offset, loff_t ref_ctr_offset, struct uprobe_consumer *uc);
        |                                                                           ~~~~~~~^~~~~~~~~~~~~~
  src/tests/../../include/wrapper/uprobes.h:28:16: error: too few arguments to function ‘uprobe_register’
     28 |         return uprobe_register(inode, offset, uc);
        |                ^~~~~~~~~~~~~~~
  /usr/src/linux-headers-6.14.0-15-generic/include/linux/uprobes.h:195:23: note: declared here
    195 | extern struct uprobe *uprobe_register(struct inode *inode, loff_t offset, loff_t ref_ctr_offset, struct uprobe_consumer *uc);
        |                       ^~~~~~~~~~~~~~~
  src/tests/../../include/wrapper/uprobes.h: In function ‘wrapper_uprobe_unregister’:
  src/tests/../../include/wrapper/uprobes.h:34:9: error: implicit declaration of function ‘uprobe_unregister’; did you mean ‘uprobe_register’? [-Werror=implicit-function-declaration]
     34 |         uprobe_unregister(inode, offset, uc);
        |         ^~~~~~~~~~~~~~~~~
        |         uprobe_register
  In file included from src/probes/../../include/lttng/events.h:19,
                   from src/probes/../../include/lttng/tracer.h:27,
                   from src/probes/lttng-probe-sched.c:11:
  src/probes/../../include/wrapper/uprobes.h: In function ‘wrapper_uprobe_register’:
  src/probes/../../include/wrapper/uprobes.h:28:47: warning: passing argument 3 of ‘uprobe_register’ makes integer from pointer without a cast [-Wint-conversion]
     28 |         return uprobe_register(inode, offset, uc);
        |                                               ^~
        |                                               |
        |                                               struct uprobe_consumer *
  In file included from /usr/src/linux-headers-6.14.0-15-generic/include/linux/mm_types.h:16,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/mmzone.h:22,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/gfp.h:7,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/umh.h:4,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/kmod.h:9,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/module.h:17,
                   from src/probes/lttng-probe-sched.c:10:
  /usr/src/linux-headers-6.14.0-15-generic/include/linux/uprobes.h:195:82: note: expected ‘loff_t’ {aka ‘long long int’} but argument is of type ‘struct uprobe_consumer *’
    195 | extern struct uprobe *uprobe_register(struct inode *inode, loff_t offset, loff_t ref_ctr_offset, struct uprobe_consumer *uc);
        |                                                                           ~~~~~~~^~~~~~~~~~~~~~
  src/probes/../../include/wrapper/uprobes.h:28:16: error: too few arguments to function ‘uprobe_register’
     28 |         return uprobe_register(inode, offset, uc);
        |                ^~~~~~~~~~~~~~~
  /usr/src/linux-headers-6.14.0-15-generic/include/linux/uprobes.h:195:23: note: declared here
    195 | extern struct uprobe *uprobe_register(struct inode *inode, loff_t offset, loff_t ref_ctr_offset, struct uprobe_consumer *uc);
        |                       ^~~~~~~~~~~~~~~
  src/probes/../../include/wrapper/uprobes.h: In function ‘wrapper_uprobe_unregister’:
  src/probes/../../include/wrapper/uprobes.h:34:9: error: implicit declaration of function ‘uprobe_unregister’; did you mean ‘uprobe_register’? [-Werror=implicit-function-declaration]
     34 |         uprobe_unregister(inode, offset, uc);
        |         ^~~~~~~~~~~~~~~~~
        |         uprobe_register
  cc1: some warnings being treated as errors
  make[4]: *** [/usr/src/linux-headers-6.14.0-15-generic/scripts/Makefile.build:207: src/lttng-ring-buffer-client-discard.o] Error 1
  make[4]: *** Waiting for unfinished jobs....
    CC [M]  src/lib/ringbuffer/ring_buffer_frontend.o
  cc1: some warnings being treated as errors
  make[5]: *** [/usr/src/linux-headers-6.14.0-15-generic/scripts/Makefile.build:207: src/tests/probes/lttng-test.o] Error 1
  make[4]: *** [/usr/src/linux-headers-6.14.0-15-generic/scripts/Makefile.build:465: src/tests] Error 2
    CC [M]  src/lib/ringbuffer/ring_buffer_iterator.o
  cc1: some warnings being treated as errors
  make[5]: *** [/usr/src/linux-headers-6.14.0-15-generic/scripts/Makefile.build:207: src/probes/lttng-probe-sched.o] Error 1
  make[4]: *** [/usr/src/linux-headers-6.14.0-15-generic/scripts/Makefile.build:465: src/probes] Error 2
    CC [M]  src/lib/ringbuffer/ring_buffer_vfs.o
  src/lib/ringbuffer/ring_buffer_frontend.c:2409:12: warning: no previous prototype for ‘init_lib_ring_buffer_frontend’ [-Wmissing-prototypes]
   2409 | int __init init_lib_ring_buffer_frontend(void)
        |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/lib/ringbuffer/ring_buffer_frontend.c:2420:13: warning: no previous prototype for ‘exit_lib_ring_buffer_frontend’ [-Wmissing-prototypes]
   2420 | void __exit exit_lib_ring_buffer_frontend(void)
        |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from src/lib/../../include/lttng/events.h:19,
                   from src/lib/../../include/lttng/tracer.h:27,
                   from src/lib/ringbuffer/ring_buffer_vfs.c:18:
  src/lib/../../include/wrapper/uprobes.h: In function ‘wrapper_uprobe_register’:
  src/lib/../../include/wrapper/uprobes.h:28:47: warning: passing argument 3 of ‘uprobe_register’ makes integer from pointer without a cast [-Wint-conversion]
     28 |         return uprobe_register(inode, offset, uc);
        |                                               ^~
        |                                               |
        |                                               struct uprobe_consumer *
  In file included from /usr/src/linux-headers-6.14.0-15-generic/include/linux/mm_types.h:16,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/mmzone.h:22,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/gfp.h:7,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/umh.h:4,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/kmod.h:9,
                   from /usr/src/linux-headers-6.14.0-15-generic/include/linux/module.h:17,
                   from src/lib/ringbuffer/ring_buffer_vfs.c:10:
  /usr/src/linux-headers-6.14.0-15-generic/include/linux/uprobes.h:195:82: note: expected ‘loff_t’ {aka ‘long long int’} but argument is of type ‘struct uprobe_consumer *’
    195 | extern struct uprobe *uprobe_register(struct inode *inode, loff_t offset, loff_t ref_ctr_offset, struct uprobe_consumer *uc);
        |                                                                           ~~~~~~~^~~~~~~~~~~~~~
  src/lib/../../include/wrapper/uprobes.h:28:16: error: too few arguments to function ‘uprobe_register’
     28 |         return uprobe_register(inode, offset, uc);
        |                ^~~~~~~~~~~~~~~
  /usr/src/linux-headers-6.14.0-15-generic/include/linux/uprobes.h:195:23: note: declared here
    195 | extern struct uprobe *uprobe_register(struct inode *inode, loff_t offset, loff_t ref_ctr_offset, struct uprobe_consumer *uc);
        |                       ^~~~~~~~~~~~~~~
  src/lib/../../include/wrapper/uprobes.h: In function ‘wrapper_uprobe_unregister’:
  src/lib/../../include/wrapper/uprobes.h:34:9: error: implicit declaration of function ‘uprobe_unregister’; did you mean ‘uprobe_register’? [-Werror=implicit-function-declaration]
     34 |         uprobe_unregister(inode, offset, uc);
        |         ^~~~~~~~~~~~~~~~~
        |         uprobe_register
  cc1: some warnings being treated as errors
  make[5]: *** [/usr/src/linux-headers-6.14.0-15-generic/scripts/Makefile.build:207: src/lib/ringbuffer/ring_buffer_vfs.o] Error 1
  make[5]: *** Waiting for unfinished jobs....
  make[4]: *** [/usr/src/linux-headers-6.14.0-15-generic/scripts/Makefile.build:465: src/lib] Error 2
  make[3]: *** [/usr/src/linux-headers-6.14.0-15-generic/scripts/Makefile.build:465: src] Error 2
  make[2]: *** [/usr/src/linux-headers-6.14.0-15-generic/Makefile:1999: .] Error 2
  make[1]: *** [/usr/src/linux-headers-6.14.0-15-generic/Makefile:251: __sub-make] Error 2
  make[1]: Leaving directory '/var/lib/dkms/lttng-modules/2.13.11/build'
  make: *** [Makefile:251: __sub-make] Error 2
  make: Leaving directory '/usr/src/linux-headers-6.14.0-15-generic'

  [ Test case ]

  Install the latest linux-6.14 kernel on Noble:

  $ sudo add-apt-repository ppa:canonical-kernel-team/ppa
  $ sudo apt install linux-generic-hwe-24.04-wip

  Install lttng-modules-dkms:

  $ sudo apt install lttng-modules-dkms

  Load the module:

  $ sudo modprobe lttng-test

  The same procedure can be repeated on linux-6.8 to test for possible
  regressions.

  [ Fix ]

  Backport upstream patches from lttng-modules
  (https://git.lttng.org/?p=lttng-modules.git):

  * 0e6f87689475: "Fix: uprobes: make uprobe_register() return struct uprobe * (v6.12)"
  * ea05bdc48bc4: "Fix: f_count replaced with f_ref in Linux 6.13.0-rc1"
  * 4e4a913afdd0: "Fix: lookup_fdget_rcu removed in Linux 6.13.0-rc1"
  * 1c4770459574: "Fix: uprobe consumer handler signature changed in Linux 6.13.0-rc1"

  [ Regression potential ]

  We may experience regressions in systems that are using the lttng-
  modules drivers, especially with kernels >= 6.8 kernel.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lttng-modules/+bug/2111275/+subscriptions



References