Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build fails for kernel: 6.12.3-amd64 (x86_64): passing argument 2 of ‘dequeue_signal’ from incompatible pointer type #16847

Closed
smr99 opened this issue Dec 8, 2024 · 6 comments
Labels
Type: Defect Incorrect behavior (e.g. crash, hang)

Comments

@smr99
Copy link

smr99 commented Dec 8, 2024

System information

Type | Version/Name
--- | 2.2.6 ---
Distribution Name | Debian
Distribution Version | sid
Kernel Version | 6.12.3
Architecture | x86_64
OpenZFS Version | 2.2.6

Describe the problem you're observing

Installing the Debian package zfs-dkms generates a kernel module for each installed kernel by compiling the sources. For kernel 6.12.3, it fails. The build has succeeded on 6.11 kernels up to 6.11.10.

Describe how to reproduce the problem

Install Debian kernel 6.12.3 and zfs-dkms.

Include any warning/errors/backtraces from the system logs

Excerpt from build log:

/var/lib/dkms/zfs/2.2.6/build/module/os/linux/spl/spl-thread.c: In function ‘issig’:
/var/lib/dkms/zfs/2.2.6/build/module/os/linux/spl/spl-thread.c:186:28: error: passing argument 1 of ‘dequeue_signal’ from incompatible pointer type [-Wincompatible-pointer-types]
  186 |         if (dequeue_signal(task, &set, &__info) != 0) {
      |                            ^~~~
      |                            |
      |                            struct task_struct *
In file included from /usr/src/linux-headers-6.12.3-common/include/linux/rcuwait.h:6,
                 from /usr/src/linux-headers-6.12.3-common/include/linux/percpu-rwsem.h:7,
                 from /usr/src/linux-headers-6.12.3-common/include/linux/fs.h:33,
                 from /usr/src/linux-headers-6.12.3-common/include/linux/compat.h:17,
                 from /usr/src/linux-headers-6.12.3-common/arch/x86/include/asm/ia32.h:7,
                 from /usr/src/linux-headers-6.12.3-common/arch/x86/include/asm/elf.h:10,
                 from /usr/src/linux-headers-6.12.3-common/include/linux/elf.h:6,
                 from /usr/src/linux-headers-6.12.3-common/include/linux/module.h:19,
                 from /var/lib/dkms/zfs/2.2.6/build/include/os/linux/spl/sys/thread.h:27,
                 from /var/lib/dkms/zfs/2.2.6/build/module/os/linux/spl/spl-thread.c:26:

Note: full build log is available as attachment to Debian Bug report here: https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=1089488;filename=make.log;msg=5

@smr99 smr99 added the Type: Defect Incorrect behavior (e.g. crash, hang) label Dec 8, 2024
@AllKind
Copy link
Contributor

AllKind commented Dec 8, 2024

That's because version 2.2.6 does not support kernel 6.12. https://github.com/openzfs/zfs/blob/zfs-2.2.6/META
The upcoming 2.2.7 release will: #16720

@n0xena
Copy link

n0xena commented Dec 9, 2024

until 2.2.7 gets released you can also use 2.3.0-rc3 - running it fine on 6.12.3 on arch here

@robn
Copy link
Member

robn commented Dec 9, 2024

until 2.2.7 gets released you can also use 2.3.0-rc3 - running it fine on 6.12.3 on arch here

Careful with this though: 2.3 has new pool features that 2.2 can't use, so if your intent is to eventually run 2.2.7, at least do not run zpool upgrade, but probably better to just wait.

@robn robn closed this as completed Dec 9, 2024
@Golbinex
Copy link

Golbinex commented Dec 9, 2024

@robn If I won't use any 2.3 features, is 2.3.0-rc3 pretty stable for use? 2.2.7 release takes long time without indication when it could get merged and my hardware is not compatible with 6.6 kernel.

@AllKind
Copy link
Contributor

AllKind commented Dec 9, 2024

Another alternative is to pull https://github.com/tonyhutter/zfs/tree/zfs-2.2.7-hutter and build that (I don't think much else will be changed on that PR). I'm running it for a week now on 6.12.3.

@Golbinex
Copy link

Golbinex commented Dec 11, 2024

@AllKind It's tricky to use different ZFS source on NixOS, but I managed to do it until 2.2.7 gets finally merged.
In case someone needs it:

let
  zfs_overlay = (self: super: {
    zfs = super.zfs.overrideAttrs (prev: {
      version = "2.2.7";
      src = pkgs.fetchFromGitHub {
        owner = "tonyhutter";
        repo = "zfs";
        rev = "e269af1b3c7b1b1c000d05f147a2f75e5e72e0ca";
        hash = "sha256-nFOB0/7YK4e8ODoW9A+RQDkZHG/isp2EBOE48zTaMP4=";
      };
    });
  });
  zfs_kernel_overlay = (self: super: {
      linuxPackages_6_12 = super.linuxPackages_6_12.extend (lpself: lpsuper: {
        zfs_2_2 = super.linuxPackages_6_12.zfs_2_2.overrideAttrs (oldAttrs: {
              src = pkgs.fetchFromGitHub {
                owner = "tonyhutter";
                repo = "zfs";
                rev ="e269af1b3c7b1b1c000d05f147a2f75e5e72e0ca";
                hash = "sha256-nFOB0/7YK4e8ODoW9A+RQDkZHG/isp2EBOE48zTaMP4=";
              };
              version = "2.2.7";
        });
      });
    });
in
{
  nixpkgs.config.allowBroken = true;
  nixpkgs.overlays = [ zfs_overlay zfs_kernel_overlay ];
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Defect Incorrect behavior (e.g. crash, hang)
Projects
None yet
Development

No branches or pull requests

5 participants