drbd icon indicating copy to clipboard operation
drbd copied to clipboard

Can't install on Ubuntu 25.04 with Linux 6.14 and nvidia doca-ofed (for RDMA)

Open maxpain opened this issue 4 months ago • 3 comments

Hello.

I'm trying to install the drbd-dkms on Ubuntu 25.04 + Linux 6.14 with NVIDIA doca-ofed installed.

# apt install drbd-dkms
drbd-dkms is already the newest version (9.2.14-1ppa1~noble1).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
  1 not fully installed or removed.
  Space needed: 0 B / 426 GB available

Continue? [Y/n]
Setting up drbd-dkms (9.2.14-1ppa1~noble1) ...
Loading new drbd-9.2.14-1ppa1~noble1 DKMS files...
Building for 6.14.0-28-generic
Building initial module for 6.14.0-28-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/drbd-dkms.0.crash'
Error! Bad return status for module build on kernel: 6.14.0-28-generic (x86_64)
Consult /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/make.log for more information.
dpkg: error processing package drbd-dkms (--configure):
 installed drbd-dkms package post-installation script subprocess returned error exit status 10
Errors were encountered while processing:
 drbd-dkms
needrestart is being skipped since dpkg has failed
Error: Sub-process /usr/bin/dpkg returned an error code (1)

/var/crash/drbd-dkms.0.crash:

ProblemType: Package
DKMSBuildLog:
 DKMS make.log for drbd-9.2.14-1ppa1~noble1 for kernel 6.14.0-28-generic (x86_64)
 Mon Aug 18 12:31:56 PM UTC 2025
 make: Entering directory '/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd'
 BUILDING FOR OFED:
 ==================
 : /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/Module.symvers
 : -I/usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include -include linux/compat-2.6.h
 ===================================================================

     Calling toplevel makefile of kernel source tree, which I believe is in
     KDIR=/lib/modules/6.14.0-28-generic/build

 make -C /lib/modules/6.14.0-28-generic/build    "PRE_CFLAGS=-I/usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include -include linux/compat-2.6.h" M=/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd obj-m=dummy-for-compat.o dummy-for-compat-h.o
 warning: the compiler differs from the one used to build the kernel
   The kernel was built by: x86_64-linux-gnu-gcc-14 (Ubuntu 14.2.0-19ubuntu2) 14.2.0
   You are using:           gcc-14 (Ubuntu 14.2.0-19ubuntu2) 14.2.0
   COMPAT  have_sane_test_environment
   COMPAT  have_sane_test_environment_always_fail
   LN      build-current -> build-6.14.0-28-generic/
   UPD     build-6.14.0-28-generic/.drbd_kernelrelease
   LN      compat.h -> build-6.14.0-28-generic/compat.h
   LN      .compat_test -> build-6.14.0-28-generic/.compat_test
   LN      compat.6.14.0-28-generic.h -> build-6.14.0-28-generic/compat.h
   LN      .compat_test.6.14.0-28-generic -> build-6.14.0-28-generic/.compat_test
   COMPAT  __vmalloc_has_2_params
   COMPAT  add_disk_returns_int
   COMPAT  before_4_13_kernel_read
   COMPAT  bio_alloc_has_4_params
   COMPAT  blk_alloc_disk_takes_queue_limits
   COMPAT  blkdev_get_by_path_has_holder_ops
   COMPAT  blkdev_issue_discard_takes_flags
   COMPAT  blkdev_issue_zeroout_discard
   COMPAT  blkdev_put_has_holder
   COMPAT  block_device_operations_open_takes_gendisk
   COMPAT  block_device_operations_release_takes_single_argument
   COMPAT  can_include_vermagic_h
   COMPAT  dax_direct_access_takes_mode
   COMPAT  fs_dax_get_by_bdev_takes_start_off
   COMPAT  fs_dax_get_by_bdev_takes_start_off_and_holder
   COMPAT  genl_policy_in_ops
   COMPAT  genlmsg_multicast_allns_has_4_params
   COMPAT  have_BIO_MAX_VECS
   COMPAT  have_CRYPTO_TFM_NEED_KEY
   COMPAT  have_GENHD_FL_NO_PART
   COMPAT  have_SHASH_DESC_ON_STACK
   COMPAT  have_WB_congested_enum
   COMPAT  have___bio_add_page
   COMPAT  have_allow_kernel_signal
   COMPAT  have_bdev_discard_granularity
   COMPAT  have_bdev_file_open_by_path
   COMPAT  have_bdev_max_discard_sectors
   COMPAT  have_bdev_nr_sectors
   COMPAT  have_bdev_open_by_path
   COMPAT  have_bdevname
   COMPAT  have_bdgrab
   COMPAT  have_bdi_congested
   COMPAT  have_bdi_congested_fn
   COMPAT  have_bio_advance_iter_single
   COMPAT  have_bio_alloc_clone
   COMPAT  have_bio_bi_bdev
   COMPAT  have_bio_bi_error
   COMPAT  have_bio_bi_opf
   COMPAT  have_bio_bi_status
   COMPAT  have_bio_clone_fast
   COMPAT  have_bio_max_segs
   COMPAT  have_bio_op_shift
   COMPAT  have_bio_set_dev
   COMPAT  have_bio_split_to_limits
   COMPAT  have_bio_start_io_acct
   COMPAT  have_bioset_init
   COMPAT  have_bioset_need_bvecs
   COMPAT  have_blk_alloc_disk
   COMPAT  have_blk_alloc_queue_rh
   COMPAT  have_blk_cleanup_disk
   COMPAT  have_blk_mode_t
   COMPAT  have_blk_opf_t
   COMPAT  have_blk_qc_t_make_request
   COMPAT  have_blk_qc_t_submit_bio
   COMPAT  have_blk_queue_flag_set
   COMPAT  have_blk_queue_make_request
   COMPAT  have_blk_queue_max_write_same_sectors
   COMPAT  have_blk_queue_merge_bvec
   COMPAT  have_blk_queue_split_bio
   COMPAT  have_blk_queue_split_q_bio
   COMPAT  have_blk_queue_split_q_bio_bioset
   COMPAT  have_blk_queue_update_readahead
   COMPAT  have_blk_queue_write_cache
   COMPAT  have_bvec_kmap_local
   COMPAT  have_counted_by
   COMPAT  have_d_inode
   COMPAT  have_debugfs_change_name
   COMPAT  have_disk_update_readahead
   COMPAT  have_enum_req_op
   COMPAT  have_fallthrough
   COMPAT  have_fs_dax_get_by_bdev
   COMPAT  have_generic_start_io_acct_q_rw_sect_part
   COMPAT  have_generic_start_io_acct_rw_sect_part
   COMPAT  have_genl_info_userhdr
   COMPAT  have_get_random_u32
   COMPAT  have_get_random_u32_below
   COMPAT  have_hd_struct
   COMPAT  have_ib_cq_init_attr
   COMPAT  have_ib_get_dma_mr
   COMPAT  have_idr_is_empty
   COMPAT  have_inode_lock
   COMPAT  have_kmap_local_page
   COMPAT  have_ktime_to_timespec64
   COMPAT  have_kvfree
   COMPAT  have_kvfree_rcu
   COMPAT  have_kvfree_rcu_mightsleep
   COMPAT  have_linux_unaligned_h
   COMPAT  have_list_is_first
   COMPAT  have_list_next_entry
   COMPAT  have_lookup_user_key
   COMPAT  have_max_send_recv_sge
   COMPAT  have_mempool_is_saturated
   COMPAT  have_nla_nest_start_noflag
   COMPAT  have_nla_parse_deprecated
   COMPAT  have_nla_put_64bit
   COMPAT  have_nla_strscpy
   COMPAT  have_part_stat_h
   COMPAT  have_part_stat_read_accum
   COMPAT  have_pointer_backing_dev_info
   COMPAT  have_proc_create_single
   COMPAT  have_queue_flag_discard
   COMPAT  have_queue_flag_stable_writes
   COMPAT  have_queue_limits_start_update
   COMPAT  have_rb_declare_callbacks_max
   COMPAT  have_refcount_inc
   COMPAT  have_req_noidle
   COMPAT  have_req_nounmap
   COMPAT  have_req_op_write
   COMPAT  have_req_op_write_zeroes
   COMPAT  have_req_write
   COMPAT  have_revalidate_disk_size
   COMPAT  have_sched_set_fifo
   COMPAT  have_sched_signal_h
   COMPAT  have_sendpage
   COMPAT  have_sendpage_ok
   COMPAT  have_set_capacity_and_notify
   COMPAT  have_shash_desc_zero
   COMPAT  have_simple_positive
   COMPAT  have_sk_use_task_frag
   COMPAT  have_sock_set_keepalive
   COMPAT  have_strscpy
   COMPAT  have_struct_bvec_iter
   COMPAT  have_struct_size
   COMPAT  have_submit_bio_noacct
   COMPAT  have_tasklet_setup
   COMPAT  have_tcp_sock_set_cork
   COMPAT  have_tcp_sock_set_keepcnt
   COMPAT  have_tcp_sock_set_keepidle
   COMPAT  have_tcp_sock_set_nodelay
   COMPAT  have_tcp_sock_set_quickack
   COMPAT  have_time64_to_tm
   COMPAT  have_timer_delete
   COMPAT  have_timer_setup
   COMPAT  have_timer_shutdown
   COMPAT  have_tls_get_record_type
   COMPAT  have_tls_tx_rx
   COMPAT  have_void_make_request
   COMPAT  have_void_submit_bio
   COMPAT  ib_alloc_pd_has_2_params
   COMPAT  ib_device_has_ops
   COMPAT  ib_post_send_const_params
   COMPAT  ib_query_device_has_3_params
   COMPAT  need_drbd_wrappers
   COMPAT  need_make_request_recursion
   COMPAT  need_recalc_sigpending
   COMPAT  part_stat_read_takes_block_device
   COMPAT  queue_limits_has_discard_zeroes_data
   COMPAT  queue_limits_has_features
   COMPAT  queue_limits_has_max_hw_discard_sectors
   COMPAT  queue_limits_has_max_hw_zone_append_sectors
   COMPAT  queue_limits_has_max_zone_append_sectors
   COMPAT  rdma_create_id_has_net_ns
   COMPAT  rdma_reject_has_reason_arg
   COMPAT  sk_data_ready_has_1_param
   COMPAT  sock_create_kern_has_netns_parameter
   COMPAT  sock_ops_returns_addr_len
   COMPAT  struct_gendisk_has_backing_dev_info
   UPD     build-6.14.0-28-generic/compat.h
 make -C /lib/modules/6.14.0-28-generic/build    "PRE_CFLAGS=-I/usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include -include linux/compat-2.6.h" M=/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd obj-m=dummy-for-prep.o dummy-for-patch.o
 warning: the compiler differs from the one used to build the kernel
   The kernel was built by: x86_64-linux-gnu-gcc-14 (Ubuntu 14.2.0-19ubuntu2) 14.2.0
   You are using:           gcc-14 (Ubuntu 14.2.0-19ubuntu2) 14.2.0
   GEN     build-6.14.0-28-generic/drbd_buildtag.c
   GEN     build-6.14.0-28-generic/.kernel.config.gz
   COPY    build-6.14.0-28-generic/Kbuild
 make -C ./. -f Makefile.spatch build-6.14.0-28-generic/compat.patch
   COPY    build-6.14.0-28-generic/drbd-kernel-compat/handshake/Kbuild
   GENPATCHNAMES   6.14.0-28-generic
   COCCISYN  c68d26314e935e37ce10c9958efcaf89  6.14.0-28-generic
   SPATCH  c68d26314e935e37ce10c9958efcaf89  6.14.0-28-generic
   You can create a new .tgz including this pre-computed compat patch
   by calling "echo drbd/drbd-kernel-compat/cocci_cache/c68d26314e935e37ce10c9958efcaf89/compat.patch >>.filelist ; make tgz"
   CHK     build-6.14.0-28-generic/compat.patch
   LN      build-6.14.0-28-generic/compat.patch -> ../drbd-kernel-compat/cocci_cache/c68d26314e935e37ce10c9958efcaf89/compat.patch
 set -- ./build-6.14.0-28-generic/compat.patch ./build-6.14.0-28-generic/compat.h;	\
 test $1 -nt $2 || touch -r $1 $2
   SPLIT   build-6.14.0-28-generic/compat.patch
   PATCH   build-6.14.0-28-generic/drbd-headers/compat.h
   PATCH   build-6.14.0-28-generic/drbd-headers/drbd_meta_data.h
   PATCH   build-6.14.0-28-generic/drbd-headers/drbd_protocol.h
   PATCH   build-6.14.0-28-generic/drbd-headers/drbd_strings.c
   PATCH   build-6.14.0-28-generic/drbd-headers/drbd_strings.h
   PATCH   build-6.14.0-28-generic/drbd-headers/drbd_transport.h
   PATCH   build-6.14.0-28-generic/drbd-headers/linux/drbd.h
   PATCH   build-6.14.0-28-generic/drbd-headers/linux/drbd_genl.h
   PATCH   build-6.14.0-28-generic/drbd-headers/linux/drbd_genl_api.h
   PATCH   build-6.14.0-28-generic/drbd-headers/linux/drbd_limits.h
   PATCH   build-6.14.0-28-generic/drbd-headers/linux/genl_magic_func-genl_register_family_with_ops_groups.h
   PATCH   build-6.14.0-28-generic/drbd-headers/linux/genl_magic_func-genl_register_mc_group.h
   PATCH   build-6.14.0-28-generic/drbd-headers/linux/genl_magic_func.h
   PATCH   build-6.14.0-28-generic/drbd-headers/linux/genl_magic_struct.h
   PATCH   build-6.14.0-28-generic/drbd-headers/windrbd/windrbd_ioctl.h
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/cocci_macros.h
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/drbd_wrappers.c
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/drbd_wrappers.h
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/handshake/genl.c
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/handshake/genl.h
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/handshake/handshake.h
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/handshake/netlink.c
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/handshake/request.c
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/handshake/tlshd.c
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/linux/libnvdimm.h
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/linux/lru_cache.h
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/linux/overflow.h
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/lru_cache.c
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/net/handshake.h
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/nsecs_to_jiffies.c
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/uapi/linux/handshake.h
   PATCH   build-6.14.0-28-generic/drbd-kernel-compat/uapi/linux/sched/types.h
   PATCH   build-6.14.0-28-generic/drbd_actlog.c
   PATCH   build-6.14.0-28-generic/drbd_bitmap.c
   PATCH   build-6.14.0-28-generic/drbd_dax_pmem.c
   PATCH   build-6.14.0-28-generic/drbd_dax_pmem.h
   PATCH   build-6.14.0-28-generic/drbd_debugfs.c
   PATCH   build-6.14.0-28-generic/drbd_debugfs.h
   PATCH   build-6.14.0-28-generic/drbd_int.h
   PATCH   build-6.14.0-28-generic/drbd_interval.c
   PATCH   build-6.14.0-28-generic/drbd_interval.h
   PATCH   build-6.14.0-28-generic/drbd_kref_debug.c
   PATCH   build-6.14.0-28-generic/drbd_kref_debug.h
   PATCH   build-6.14.0-28-generic/drbd_main.c
   PATCH   build-6.14.0-28-generic/drbd_nl.c
   PATCH   build-6.14.0-28-generic/drbd_nla.c
   PATCH   build-6.14.0-28-generic/drbd_nla.h
   PATCH   build-6.14.0-28-generic/drbd_polymorph_printk.h
   PATCH   build-6.14.0-28-generic/drbd_proc.c
   PATCH   build-6.14.0-28-generic/drbd_receiver.c
   PATCH   build-6.14.0-28-generic/drbd_req.c
   PATCH   build-6.14.0-28-generic/drbd_req.h
   PATCH   build-6.14.0-28-generic/drbd_sender.c
   PATCH   build-6.14.0-28-generic/drbd_state.c
   PATCH   build-6.14.0-28-generic/drbd_state.h
   PATCH   build-6.14.0-28-generic/drbd_state_change.h
   PATCH   build-6.14.0-28-generic/drbd_transport.c
   PATCH   build-6.14.0-28-generic/drbd_transport_lb-tcp.c
   PATCH   build-6.14.0-28-generic/drbd_transport_rdma.c
   PATCH   build-6.14.0-28-generic/drbd_transport_tcp.c
   PATCH   build-6.14.0-28-generic/drbd_transport_template.c
   PATCH   build-6.14.0-28-generic/drbd_vli.h
   PATCH   build-6.14.0-28-generic/kref_debug.c
   PATCH   build-6.14.0-28-generic/kref_debug.h
   PATCH   build-6.14.0-28-generic/linux/drbd_config.h
 test -e build-current && \
 make -C /lib/modules/6.14.0-28-generic/build    "PRE_CFLAGS=-I/usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include -include linux/compat-2.6.h" M=/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current modules
 warning: the compiler differs from the one used to build the kernel
   The kernel was built by: x86_64-linux-gnu-gcc-14 (Ubuntu 14.2.0-19ubuntu2) 14.2.0
   You are using:           gcc-14 (Ubuntu 14.2.0-19ubuntu2) 14.2.0
   CC [M]  drbd_buildtag.o
   CC [M]  drbd_bitmap.o
   CC [M]  drbd_proc.o
   CC [M]  drbd_sender.o
   CC [M]  drbd_receiver.o
   CC [M]  drbd_req.o
   CC [M]  drbd_actlog.o
   CC [M]  drbd_main.o
   COPY    drbd_strings.c
   CC [M]  drbd_nl.o
   CC [M]  drbd_interval.o
   CC [M]  drbd_state.o
   CC [M]  drbd_nla.o
   CC [M]  drbd_transport.o
   CC [M]  drbd-kernel-compat/nsecs_to_jiffies.o
   CC [M]  drbd-kernel-compat/drbd_wrappers.o
   CC [M]  drbd_dax_pmem.o
   CC [M]  drbd_debugfs.o
   CC [M]  drbd_transport_tcp.o
   CC [M]  drbd_transport_lb-tcp.o
   CC [M]  drbd_transport_rdma.o
   CC [M]  drbd_strings.o
 drbd_bitmap.c:13:9: warning: "pr_fmt" redefined
    13 |
       |         ^
 In file included from /usr/src/linux-headers-6.14.0-28-generic/include/asm-generic/bug.h:22,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/asm-generic/bug.h:6,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/bug.h:99,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/alternative.h:9,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/barrier.h:5,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/asm-generic/bitops/generic-non-atomic.h:7,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/bitops.h:29,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/bitops.h:7,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/kernel.h:23,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/kernel.h:6,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/uio.h:8,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/socket.h:8,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/uapi/linux/if.h:25,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/compat-2.6.h:11,
                  from <command-line>:
 /usr/src/linux-headers-6.14.0-28-generic/include/linux/printk.h:397:9: note: this is the location of the previous definition
   397 | #define pr_fmt(fmt) fmt
       |         ^~~~~~
 drbd_nl.c:14:9: warning: "pr_fmt" redefined
    14 |
       |         ^
 In file included from /usr/src/linux-headers-6.14.0-28-generic/include/asm-generic/bug.h:22,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/asm-generic/bug.h:6,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/bug.h:99,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/alternative.h:9,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/barrier.h:5,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/asm-generic/bitops/generic-non-atomic.h:7,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/bitops.h:29,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/bitops.h:7,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/kernel.h:23,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/kernel.h:6,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/uio.h:8,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/socket.h:8,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/uapi/linux/if.h:25,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/compat-2.6.h:11,
                  from <command-line>:
 /usr/src/linux-headers-6.14.0-28-generic/include/linux/printk.h:397:9: note: this is the location of the previous definition
   397 | #define pr_fmt(fmt) fmt
       |         ^~~~~~
 drbd_main.c:17:9: warning: "pr_fmt" redefined
    17 |
       |         ^
 In file included from /usr/src/linux-headers-6.14.0-28-generic/include/asm-generic/bug.h:22,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/asm-generic/bug.h:6,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/bug.h:99,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/alternative.h:9,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/barrier.h:5,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/asm-generic/bitops/generic-non-atomic.h:7,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/bitops.h:29,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/bitops.h:7,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/kernel.h:23,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/kernel.h:6,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/uio.h:8,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/socket.h:8,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/uapi/linux/if.h:25,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/compat-2.6.h:11,
                  from <command-line>:
 /usr/src/linux-headers-6.14.0-28-generic/include/linux/printk.h:397:9: note: this is the location of the previous definition
   397 | #define pr_fmt(fmt) fmt
       |         ^~~~~~
 drbd_transport.c:2:9: warning: "pr_fmt" redefined
     2 | // SPDX-License-Identifier: GPL-2.0-only
       |         ^~~~~~
 In file included from /usr/src/linux-headers-6.14.0-28-generic/include/asm-generic/bug.h:22,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/asm-generic/bug.h:6,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/bug.h:99,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/alternative.h:9,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/barrier.h:5,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/asm-generic/bitops/generic-non-atomic.h:7,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/bitops.h:29,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/bitops.h:7,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/kernel.h:23,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/kernel.h:6,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/uio.h:8,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/socket.h:8,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/uapi/linux/if.h:25,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/compat-2.6.h:11,
                  from <command-line>:
 /usr/src/linux-headers-6.14.0-28-generic/include/linux/printk.h:397:9: note: this is the location of the previous definition
   397 | #define pr_fmt(fmt) fmt
       |         ^~~~~~
 /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/drbd_debugfs.c:2:9: warning: "pr_fmt" redefined
     2 | #define pr_fmt(fmt)     KBUILD_MODNAME " debugfs: " fmt
       |         ^~~~~~
 In file included from /usr/src/linux-headers-6.14.0-28-generic/include/asm-generic/bug.h:22,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/asm-generic/bug.h:6,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/bug.h:99,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/alternative.h:9,
                  from /usr/src/linux-headers-6.14.0-28-generic/arch/x86/include/asm/barrier.h:5,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/asm-generic/bitops/generic-non-atomic.h:7,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/bitops.h:29,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/bitops.h:7,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/kernel.h:23,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/kernel.h:6,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/uio.h:8,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/socket.h:8,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/uapi/linux/if.h:25,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/compat-2.6.h:11,
                  from <command-line>:
 /usr/src/linux-headers-6.14.0-28-generic/include/linux/printk.h:397:9: note: this is the location of the previous definition
   397 | #define pr_fmt(fmt) fmt
       |         ^~~~~~
 drbd-kernel-compat/nsecs_to_jiffies.c:5:12: error: static declaration of ‘nsecs_to_jiffies64’ follows non-static declaration
     5 | /* If it is not exported yet, use our own copy. */
       |            ^~~~~~~~~~~~~~~~~~
 In file included from /usr/src/linux-headers-6.14.0-28-generic/include/linux/ktime.h:25,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/timer.h:6,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/uprobes.h:18,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/mm_types.h:16,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/uio.h:10,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/linux/socket.h:8,
                  from /usr/src/linux-headers-6.14.0-28-generic/include/uapi/linux/if.h:25,
                  from /usr/src/ofa_kernel/x86_64/6.14.0-28-generic/include/linux/compat-2.6.h:11,
                  from <command-line>:
 /usr/src/linux-headers-6.14.0-28-generic/include/linux/jiffies.h:609:12: note: previous declaration of ‘nsecs_to_jiffies64’ with type ‘u64(u64)’ {aka ‘long long unsigned int(long long unsigned int)’}
   609 | extern u64 nsecs_to_jiffies64(u64 n);
       |            ^~~~~~~~~~~~~~~~~~
 make[3]: *** [/usr/src/linux-headers-6.14.0-28-generic/scripts/Makefile.build:207: drbd-kernel-compat/nsecs_to_jiffies.o] Error 1
 make[3]: *** Waiting for unfinished jobs....
 make[2]: *** [/usr/src/linux-headers-6.14.0-28-generic/Makefile:2001: .] Error 2
 make[1]: *** [Makefile:251: __sub-make] Error 2
 make: *** [Makefile:248: kbuild] Error 2
 make: Leaving directory '/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd'
DKMSKernelVersion: 6.14.0-28-generic
Date: Mon Aug 18 12:32:11 2025
DuplicateSignature: dkms:drbd-dkms:9.2.14-1ppa1~noble1:drbd-kernel-compat/nsecs_to_jiffies.c:5:12: error: static declaration of ‘nsecs_to_jiffies64’ follows non-static declaration
Package: drbd-dkms 9.2.14-1ppa1~noble1
PackageVersion: 9.2.14-1ppa1~noble1
SourcePackage: drbd
Title: drbd-dkms 9.2.14-1ppa1~noble1: drbd kernel module failed to build

maxpain avatar Aug 18 '25 12:08 maxpain

I also tried to install on Ubuntu 24.04 with Linux 6.8, it also isn't building when doca-ofed is installed:

make: Entering directory '/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd'
BUILDING FOR OFED:
==================
: /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/Module.symvers
: -I/usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include -include linux/compat-2.6.h
===================================================================

    Calling toplevel makefile of kernel source tree, which I believe is in
    KDIR=/lib/modules/6.8.0-71-generic/build

make -C /lib/modules/6.8.0-71-generic/build    "PRE_CFLAGS=-I/usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include -include linux/compat-2.6.h" M=/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd obj-m=dummy-for-compat.o dummy-for-compat-h.o
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
  COMPAT  have_sane_test_environment
  COMPAT  have_sane_test_environment_always_fail
  LN      build-current -> build-6.8.0-71-generic/
  LN      compat.h -> build-6.8.0-71-generic/compat.h
  LN      .compat_test -> build-6.8.0-71-generic/.compat_test
  LN      compat.6.8.0-71-generic.h -> build-6.8.0-71-generic/compat.h
  LN      .compat_test.6.8.0-71-generic -> build-6.8.0-71-generic/.compat_test
  UPD     /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/.drbd_kernelrelease
  COMPAT  __vmalloc_has_2_params
  COMPAT  add_disk_returns_int
  COMPAT  before_4_13_kernel_read
  COMPAT  bio_alloc_has_4_params
  COMPAT  blk_alloc_disk_takes_queue_limits
  COMPAT  blkdev_get_by_path_has_holder_ops
  COMPAT  blkdev_issue_discard_takes_flags
  COMPAT  blkdev_issue_zeroout_discard
  COMPAT  blkdev_put_has_holder
  COMPAT  block_device_operations_open_takes_gendisk
  COMPAT  block_device_operations_release_takes_single_argument
  COMPAT  can_include_vermagic_h
  COMPAT  dax_direct_access_takes_mode
  COMPAT  fs_dax_get_by_bdev_takes_start_off
  COMPAT  fs_dax_get_by_bdev_takes_start_off_and_holder
  COMPAT  genl_policy_in_ops
  COMPAT  genlmsg_multicast_allns_has_4_params
  COMPAT  have_BIO_MAX_VECS
  COMPAT  have_CRYPTO_TFM_NEED_KEY
  COMPAT  have_GENHD_FL_NO_PART
  COMPAT  have_SHASH_DESC_ON_STACK
  COMPAT  have_WB_congested_enum
  COMPAT  have___bio_add_page
  COMPAT  have_allow_kernel_signal
  COMPAT  have_bdev_discard_granularity
  COMPAT  have_bdev_file_open_by_path
  COMPAT  have_bdev_max_discard_sectors
  COMPAT  have_bdev_nr_sectors
  COMPAT  have_bdev_open_by_path
  COMPAT  have_bdevname
  COMPAT  have_bdgrab
  COMPAT  have_bdi_congested
  COMPAT  have_bdi_congested_fn
  COMPAT  have_bio_advance_iter_single
  COMPAT  have_bio_alloc_clone
  COMPAT  have_bio_bi_bdev
  COMPAT  have_bio_bi_error
  COMPAT  have_bio_bi_opf
  COMPAT  have_bio_bi_status
  COMPAT  have_bio_clone_fast
  COMPAT  have_bio_max_segs
  COMPAT  have_bio_op_shift
  COMPAT  have_bio_set_dev
  COMPAT  have_bio_split_to_limits
  COMPAT  have_bio_start_io_acct
  COMPAT  have_bioset_init
  COMPAT  have_bioset_need_bvecs
  COMPAT  have_blk_alloc_disk
  COMPAT  have_blk_alloc_queue_rh
  COMPAT  have_blk_cleanup_disk
  COMPAT  have_blk_mode_t
  COMPAT  have_blk_opf_t
  COMPAT  have_blk_qc_t_make_request
  COMPAT  have_blk_qc_t_submit_bio
  COMPAT  have_blk_queue_flag_set
  COMPAT  have_blk_queue_make_request
  COMPAT  have_blk_queue_max_write_same_sectors
  COMPAT  have_blk_queue_merge_bvec
  COMPAT  have_blk_queue_split_bio
  COMPAT  have_blk_queue_split_q_bio
  COMPAT  have_blk_queue_split_q_bio_bioset
  COMPAT  have_blk_queue_update_readahead
  COMPAT  have_blk_queue_write_cache
  COMPAT  have_bvec_kmap_local
  COMPAT  have_counted_by
  COMPAT  have_d_inode
  COMPAT  have_debugfs_change_name
  COMPAT  have_disk_update_readahead
  COMPAT  have_enum_req_op
  COMPAT  have_fallthrough
  COMPAT  have_fs_dax_get_by_bdev
  COMPAT  have_generic_start_io_acct_q_rw_sect_part
  COMPAT  have_generic_start_io_acct_rw_sect_part
  COMPAT  have_genl_info_userhdr
  COMPAT  have_get_random_u32
  COMPAT  have_get_random_u32_below
  COMPAT  have_hd_struct
  COMPAT  have_ib_cq_init_attr
  COMPAT  have_ib_get_dma_mr
  COMPAT  have_idr_is_empty
  COMPAT  have_inode_lock
  COMPAT  have_kmap_local_page
  COMPAT  have_ktime_to_timespec64
  COMPAT  have_kvfree
  COMPAT  have_kvfree_rcu
  COMPAT  have_kvfree_rcu_mightsleep
  COMPAT  have_linux_unaligned_h
  COMPAT  have_list_is_first
  COMPAT  have_list_next_entry
  COMPAT  have_lookup_user_key
  COMPAT  have_max_send_recv_sge
  COMPAT  have_mempool_is_saturated
  COMPAT  have_nla_nest_start_noflag
  COMPAT  have_nla_parse_deprecated
  COMPAT  have_nla_put_64bit
  COMPAT  have_nla_strscpy
  COMPAT  have_part_stat_h
  COMPAT  have_part_stat_read_accum
  COMPAT  have_pointer_backing_dev_info
  COMPAT  have_proc_create_single
  COMPAT  have_queue_flag_discard
  COMPAT  have_queue_flag_stable_writes
  COMPAT  have_queue_limits_start_update
  COMPAT  have_rb_declare_callbacks_max
  COMPAT  have_refcount_inc
  COMPAT  have_req_noidle
  COMPAT  have_req_nounmap
  COMPAT  have_req_op_write
  COMPAT  have_req_op_write_zeroes
  COMPAT  have_req_write
  COMPAT  have_revalidate_disk_size
  COMPAT  have_sched_set_fifo
  COMPAT  have_sched_signal_h
  COMPAT  have_sendpage
  COMPAT  have_sendpage_ok
  COMPAT  have_set_capacity_and_notify
  COMPAT  have_shash_desc_zero
  COMPAT  have_simple_positive
  COMPAT  have_sk_use_task_frag
  COMPAT  have_sock_set_keepalive
  COMPAT  have_strscpy
  COMPAT  have_struct_bvec_iter
  COMPAT  have_struct_size
  COMPAT  have_submit_bio_noacct
  COMPAT  have_tasklet_setup
  COMPAT  have_tcp_sock_set_cork
  COMPAT  have_tcp_sock_set_keepcnt
  COMPAT  have_tcp_sock_set_keepidle
  COMPAT  have_tcp_sock_set_nodelay
  COMPAT  have_tcp_sock_set_quickack
  COMPAT  have_time64_to_tm
  COMPAT  have_timer_delete
  COMPAT  have_timer_setup
  COMPAT  have_timer_shutdown
  COMPAT  have_tls_get_record_type
  COMPAT  have_tls_tx_rx
  COMPAT  have_void_make_request
  COMPAT  have_void_submit_bio
  COMPAT  ib_alloc_pd_has_2_params
  COMPAT  ib_device_has_ops
  COMPAT  ib_post_send_const_params
  COMPAT  ib_query_device_has_3_params
  COMPAT  need_drbd_wrappers
  COMPAT  need_make_request_recursion
  COMPAT  need_recalc_sigpending
  COMPAT  part_stat_read_takes_block_device
  COMPAT  queue_limits_has_discard_zeroes_data
  COMPAT  queue_limits_has_features
  COMPAT  queue_limits_has_max_hw_discard_sectors
  COMPAT  queue_limits_has_max_hw_zone_append_sectors
  COMPAT  queue_limits_has_max_zone_append_sectors
  COMPAT  rdma_create_id_has_net_ns
  COMPAT  rdma_reject_has_reason_arg
  COMPAT  sk_data_ready_has_1_param
  COMPAT  sock_create_kern_has_netns_parameter
  COMPAT  sock_ops_returns_addr_len
  COMPAT  struct_gendisk_has_backing_dev_info
  UPD     /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/compat.h
make -C /lib/modules/6.8.0-71-generic/build    "PRE_CFLAGS=-I/usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include -include linux/compat-2.6.h" M=/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd obj-m=dummy-for-prep.o dummy-for-patch.o
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
  GEN     /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_buildtag.c
  COPY    /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/Kbuild
  GEN     /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/.kernel.config.gz
  COPY    /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/handshake/Kbuild
make -C /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd -f Makefile.spatch /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/compat.patch
  CHK     build-6.8.0-71-generic/compat.patch
  LN      /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/compat.patch -> ../drbd-kernel-compat/cocci_cache/d451ab7962d01b44588a83bbc678105d/compat.patch
set -- /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/compat.patch /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/compat.h;	\
test $1 -nt $2 || touch -r $1 $2
  SPLIT   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/compat.patch
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/compat.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/drbd_meta_data.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/drbd_protocol.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/drbd_strings.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/drbd_strings.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/drbd_transport.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/linux/drbd.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/linux/drbd_genl.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/linux/drbd_genl_api.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/linux/drbd_limits.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/linux/genl_magic_func-genl_register_family_with_ops_groups.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/linux/genl_magic_func-genl_register_mc_group.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/linux/genl_magic_func.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/linux/genl_magic_struct.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-headers/windrbd/windrbd_ioctl.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/cocci_macros.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/drbd_wrappers.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/drbd_wrappers.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/handshake/genl.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/handshake/genl.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/handshake/handshake.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/handshake/netlink.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/handshake/request.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/handshake/tlshd.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/linux/libnvdimm.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/linux/lru_cache.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/linux/overflow.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/lru_cache.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/net/handshake.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/nsecs_to_jiffies.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/uapi/linux/handshake.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd-kernel-compat/uapi/linux/sched/types.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_actlog.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_bitmap.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_dax_pmem.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_dax_pmem.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_debugfs.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_debugfs.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_int.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_interval.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_interval.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_kref_debug.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_kref_debug.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_main.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_nl.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_nla.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_nla.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_polymorph_printk.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_proc.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_receiver.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_req.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_req.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_sender.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_state.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_state.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_state_change.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_transport.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_transport_lb-tcp.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_transport_rdma.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_transport_tcp.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_transport_template.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/drbd_vli.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/kref_debug.c
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/kref_debug.h
  PATCH   /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-6.8.0-71-generic/linux/drbd_config.h
test -e build-current && \
make -C /lib/modules/6.8.0-71-generic/build    "PRE_CFLAGS=-I/usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include -include linux/compat-2.6.h" M=/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current modules
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]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_buildtag.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_bitmap.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_proc.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_sender.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_receiver.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_req.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_actlog.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_main.o
  COPY    /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_strings.c
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_nl.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_interval.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_state.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_nla.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_transport.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd-kernel-compat/nsecs_to_jiffies.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd-kernel-compat/drbd_wrappers.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_dax_pmem.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_debugfs.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_transport_tcp.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_transport_lb-tcp.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_transport_rdma.o
  CC [M]  /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd_strings.o
/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/drbd-kernel-compat/nsecs_to_jiffies.c:5:12: error: static declaration of ‘nsecs_to_jiffies64’ follows non-static declaration
    5 | static u64 nsecs_to_jiffies64(u64 n)
      |            ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/drbd_transport.c:2: warning: "pr_fmt" redefined
    2 | #define pr_fmt(fmt)     KBUILD_MODNAME ": " fmt
      |
/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/drbd_bitmap.c:13: warning: "pr_fmt" redefined
   13 | #define pr_fmt(fmt)     KBUILD_MODNAME ": " fmt
      |
In file included from ./include/linux/ktime.h:25,
                 from ./include/linux/timer.h:6,
                 from ./include/linux/workqueue.h:9,
                 from ./include/linux/srcu.h:21,
                 from ./include/linux/notifier.h:16,
                 from ./arch/x86/include/asm/uprobes.h:13,
                 from ./include/linux/uprobes.h:49,
                 from ./include/linux/mm_types.h:16,
                 from ./include/linux/uio.h:10,
                 from ./include/linux/socket.h:8,
                 from ./include/uapi/linux/if.h:25,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/compat-2.6.h:11,
                 from <command-line>:
./include/linux/jiffies.h:593:12: note: previous declaration of ‘nsecs_to_jiffies64’ with type ‘u64(u64)’ {aka ‘long long unsigned int(long long unsigned int)’}
  593 | extern u64 nsecs_to_jiffies64(u64 n);
      |            ^~~~~~~~~~~~~~~~~~
In file included from ./include/linux/kernel.h:31,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/kernel.h:6,
                 from ./include/linux/uio.h:8,
                 from ./include/linux/socket.h:8,
                 from ./include/uapi/linux/if.h:25,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/compat-2.6.h:11,
                 from <command-line>:
./include/linux/printk.h:347: note: this is the location of the previous definition
  347 | #define pr_fmt(fmt) fmt
      |
In file included from ./include/linux/kernel.h:31,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/kernel.h:6,
                 from ./include/linux/uio.h:8,
                 from ./include/linux/socket.h:8,
                 from ./include/uapi/linux/if.h:25,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/compat-2.6.h:11,
                 from <command-line>:
./include/linux/printk.h:347: note: this is the location of the previous definition
  347 | #define pr_fmt(fmt) fmt
      |
/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/drbd_main.c:17: warning: "pr_fmt" redefined
   17 | #define pr_fmt(fmt)     KBUILD_MODNAME ": " fmt
      |
/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/drbd_nl.c:14: warning: "pr_fmt" redefined
   14 | #define pr_fmt(fmt)     KBUILD_MODNAME ": " fmt
      |
In file included from ./include/linux/kernel.h:31,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/kernel.h:6,
                 from ./include/linux/uio.h:8,
                 from ./include/linux/socket.h:8,
                 from ./include/uapi/linux/if.h:25,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/compat-2.6.h:11,
                 from <command-line>:
./include/linux/printk.h:347: note: this is the location of the previous definition
  347 | #define pr_fmt(fmt) fmt
      |
In file included from ./include/linux/kernel.h:31,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/kernel.h:6,
                 from ./include/linux/uio.h:8,
                 from ./include/linux/socket.h:8,
                 from ./include/uapi/linux/if.h:25,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/compat-2.6.h:11,
                 from <command-line>:
./include/linux/printk.h:347: note: this is the location of the previous definition
  347 | #define pr_fmt(fmt) fmt
      |
/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/drbd_debugfs.c:2: warning: "pr_fmt" redefined
    2 | #define pr_fmt(fmt)     KBUILD_MODNAME " debugfs: " fmt
      |
In file included from ./include/linux/kernel.h:31,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/kernel.h:6,
                 from ./include/linux/uio.h:8,
                 from ./include/linux/socket.h:8,
                 from ./include/uapi/linux/if.h:25,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/compat-2.6.h:11,
                 from <command-line>:
./include/linux/printk.h:347: note: this is the location of the previous definition
  347 | #define pr_fmt(fmt) fmt
      |
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current/drbd-kernel-compat/nsecs_to_jiffies.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/drbd_transport.c:2: warning: "pr_fmt" redefined
    2 | #define pr_fmt(fmt)     KBUILD_MODNAME ": " fmt
      |
In file included from ./include/linux/kernel.h:31,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/kernel.h:6,
                 from ./include/linux/uio.h:8,
                 from ./include/linux/socket.h:8,
                 from ./include/uapi/linux/if.h:25,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/compat-2.6.h:11,
                 from <command-line>:
./include/linux/printk.h:347: note: this is the location of the previous definition
  347 | #define pr_fmt(fmt) fmt
      |
/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/drbd_main.c:17: warning: "pr_fmt" redefined
   17 | #define pr_fmt(fmt)     KBUILD_MODNAME ": " fmt
      |
In file included from ./include/linux/kernel.h:31,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/kernel.h:6,
                 from ./include/linux/uio.h:8,
                 from ./include/linux/socket.h:8,
                 from ./include/uapi/linux/if.h:25,
                 from /usr/src/ofa_kernel/x86_64/6.8.0-71-generic/include/linux/compat-2.6.h:11,
                 from <command-line>:
./include/linux/printk.h:347: note: this is the location of the previous definition
  347 | #define pr_fmt(fmt) fmt
      |
make[1]: *** [Makefile:1925: /var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd/build-current] Error 2
make: *** [Makefile:248: kbuild] Error 2
make: Leaving directory '/var/lib/dkms/drbd/9.2.14-1ppa1~noble1/build/src/drbd'

maxpain avatar Aug 18 '25 14:08 maxpain

I tried adding PRE_CFLAGS= to /usr/src/drbd-9.2.14-1ppa1~noble1/dkms.conf to disable compat-2.6.h and managed to build the drbd-dkms with doca-ofed, but getting kernel panic when trying to use RDMA

[  564.337506] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: dtr_cm_alloc_rdma_res+0x6aa/0x6b0 [drbd_transport_rdma]
[  564.350276] CPU: 25 PID: 344 Comm: kworker/25:1 Tainted: G           OE      6.8.0-71-generic #71-Ubuntu
[  564.359767] Hardware name: Dell Inc. PowerEdge R760xd2/0J3N69, BIOS 2.6.3 03/26/2025
[  564.367507] Workqueue: events dtr_cma_connect_work_fn [drbd_transport_rdma]
[  564.374485] Call Trace:
[  564.376953]  <TASK>
[  564.379059]  dump_stack_lvl+0x27/0xa0
[  564.382741]  dump_stack+0x10/0x20
[  564.386064]  panic+0x366/0x3c0
[  564.389141]  ? dtr_cm_alloc_rdma_res+0x6aa/0x6b0 [drbd_transport_rdma]
[  564.395683]  __stack_chk_fail+0x14/0x20
[  564.399539]  dtr_cm_alloc_rdma_res+0x6aa/0x6b0 [drbd_transport_rdma]
[  564.405894]  ? dtr_cma_connect_work_fn+0xbe/0x2b0 [drbd_transport_rdma]
[  564.412522]  ? process_one_work+0x181/0x3a0
[  564.416706]  ? worker_thread+0x306/0x440
[  564.420632]  ? _raw_spin_lock_irqsave+0xe/0x20
[  564.425096]  ? __pfx_worker_thread+0x10/0x10
[  564.429370]  ? kthread+0xef/0x120
[  564.432697]  ? __pfx_kthread+0x10/0x10
[  564.436449]  ? ret_from_fork+0x44/0x70
[  564.440220]  ? __pfx_kthread+0x10/0x10
[  564.443973]  ? ret_from_fork_asm+0x1b/0x30
[  564.448082]  </TASK>
[  565.481399] Shutting down cpus with NMI
[  565.485274] Kernel Offset: 0x21a00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
[  565.612813] ---[ end Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: dtr_cm_alloc_rdma_res+0x6aa/0x6b0 [drbd_transport_rdma] ]---

maxpain avatar Aug 18 '25 15:08 maxpain

The nsecs_to_jiffies64 bug here is that the grep in drbd/Kbuild.drbd is wrong:

ifneq ($(strip $(shell \
        grep -e '\<nsecs_to_jiffies\>' $(objtree)/Module.symvers || \
        grep -q -e 'EXPORT_SYMBOL(nsecs_to_jiffies)' $(srctree)/kernel/time/time.c ; \
        echo $$?)),0)
compat_objs += drbd-kernel-compat/nsecs_to_jiffies.o
endif

The correct one is:

ifneq ($(strip $(shell \
        grep -q -e '\<nsecs_to_jiffies\>' $(objtree)/Module.symvers || \
        grep -q -e 'EXPORT_SYMBOL(nsecs_to_jiffies)' $(srctree)/kernel/time/time.c ; \
        echo $$?)),0)
compat_objs += drbd-kernel-compat/nsecs_to_jiffies.o
endif

Note the added -q on the first grep

akesandgren avatar Oct 03 '25 11:10 akesandgren