← Back to team overview

lttng team mailing list archive

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

 

Public bug reported:

[ 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 ]

Apply patches from -dkms from Plucky release:

* debian/patches/

[ Regression potential ]

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

** Affects: lttng-modules (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: lttng-modules (Ubuntu Noble)
     Importance: Undecided
     Assignee: John Cabaj (john-cabaj)
         Status: In Progress

** Also affects: lttng-modules (Ubuntu Noble)
   Importance: Undecided
       Status: New

** Changed in: lttng-modules (Ubuntu Noble)
       Status: New => In Progress

** Changed in: lttng-modules (Ubuntu Noble)
     Assignee: (unassigned) => John Cabaj (john-cabaj)

-- 
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:
  New
Status in lttng-modules source package in Noble:
  In Progress

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 ]

  Apply patches from -dkms from Plucky release:

  * debian/patches/

  [ 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



Follow ups