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

u2mfn unbuildable on modern kernels, result: no GUI #2730

Closed
Rudd-O opened this Issue Mar 27, 2017 · 4 comments

Comments

Projects
None yet
4 participants
@Rudd-O

Rudd-O commented Mar 27, 2017

Followed these instructions on a F25 template:

https://www.qubes-os.org/doc/managing-vm-kernel/

Section

Using kernel installed in the VM.

Then I noticed U2MFN was missing after I logged in via the XL console.

U2MFN is not installable then, using dkms autoinstall.

Error follows:

-bash-4.3# cat /var/lib/dkms/u2mfn/3.2.3/build/make.log
DKMS make.log for u2mfn-3.2.3 for kernel 4.9.14-200.fc25.x86_64 (x86_64)
Mon Mar 27 05:39:58 UTC 2017
make: Entering directory '/usr/src/kernels/4.9.14-200.fc25.x86_64'
  LD      /var/lib/dkms/u2mfn/3.2.3/build/built-in.o
  CC [M]  /var/lib/dkms/u2mfn/3.2.3/build/u2mfn.o
/var/lib/dkms/u2mfn/3.2.3/build/u2mfn.c: In function ‘u2mfn_ioctl’:
/var/lib/dkms/u2mfn/3.2.3/build/u2mfn.c:80:23: error: passing argument 5 of ‘get_user_pages’ from incompatible pointer type [-Werror=incompatible-pointer-types]
       (data, 1, 1, 0, &user_page, 0);
                       ^
In file included from /var/lib/dkms/u2mfn/3.2.3/build/u2mfn.c:26:0:
./include/linux/mm.h:1280:6: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^~~~~~~~~~~~~~
/var/lib/dkms/u2mfn/3.2.3/build/u2mfn.c:79:9: error: too many arguments to function ‘get_user_pages’
   ret = get_user_pages
         ^~~~~~~~~~~~~~
In file included from /var/lib/dkms/u2mfn/3.2.3/build/u2mfn.c:26:0:
./include/linux/mm.h:1280:6: note: declared here
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^~~~~~~~~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:299: recipe for target '/var/lib/dkms/u2mfn/3.2.3/build/u2mfn.o' failed
make[1]: *** [/var/lib/dkms/u2mfn/3.2.3/build/u2mfn.o] Error 1
Makefile:1494: recipe for target '_module_/var/lib/dkms/u2mfn/3.2.3/build' failed
make: *** [_module_/var/lib/dkms/u2mfn/3.2.3/build] Error 2
make: Leaving directory '/usr/src/kernels/4.9.14-200.fc25.x86_64'

What gives?

@Rudd-O

This comment has been minimized.

Show comment
Hide comment
@Rudd-O

Rudd-O Mar 27, 2017

(Looks like the U2MFN configure step needs to detect what type of arguments to use for certain functions.(

Rudd-O commented Mar 27, 2017

(Looks like the U2MFN configure step needs to detect what type of arguments to use for certain functions.(

@Rudd-O Rudd-O changed the title from u2mfn unbuildable on modern kernels to u2mfn unbuildable on modern kernels, result: no GUI Mar 27, 2017

@Rudd-O

This comment has been minimized.

Show comment
Hide comment
@Rudd-O

Rudd-O Mar 27, 2017

Fortunately, ansible-qubes does work. :-)

Rudd-O commented Mar 27, 2017

Fortunately, ansible-qubes does work. :-)

@rtiangha

This comment has been minimized.

Show comment
Hide comment
@rtiangha

rtiangha Mar 27, 2017

The problem is the version of u2mfn.c that's currently available in current is not compatible with kernels 4.9 and higher. There's been a fix in the repository that's been sitting there for the last five months now, but it hasn't been pushed out yet. I've filed a bug report:

#2691

In the meantime, just manually copy over the version of u2mfn.c that's in the repository over /usr/src/u2mfn-3.2.3/u2mfn.c and that kernel compilation should continue on:

https://raw.githubusercontent.com/QubesOS/qubes-linux-utils/master/kernel-modules/u2mfn/u2mfn.c

rtiangha commented Mar 27, 2017

The problem is the version of u2mfn.c that's currently available in current is not compatible with kernels 4.9 and higher. There's been a fix in the repository that's been sitting there for the last five months now, but it hasn't been pushed out yet. I've filed a bug report:

#2691

In the meantime, just manually copy over the version of u2mfn.c that's in the repository over /usr/src/u2mfn-3.2.3/u2mfn.c and that kernel compilation should continue on:

https://raw.githubusercontent.com/QubesOS/qubes-linux-utils/master/kernel-modules/u2mfn/u2mfn.c

@rtiangha

This comment has been minimized.

Show comment
Hide comment
@rtiangha

rtiangha Mar 27, 2017

Edit: Never got the message notification; looks like there's an updated version of linux-utils in current-testing now:

QubesOS/updates-status#17

That should fix it, I think.

Edit: Never got the message notification; looks like there's an updated version of linux-utils in current-testing now:

QubesOS/updates-status#17

That should fix it, I think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment