F41 Error updating kernel-core package

While an regular update on my F41, the kernel-core package operation returns the following error:

>>> Executando post-transaction scriptlet: kernel-core-0:6.12.11-200.fc41.x86_64
>>> Scriptlet post-transaction finalizado: kernel-core-0:6.12.11-200.fc41.x86_64
>>> Saída do scriptlet:
>>> Generating grub configuration file ...
>>> Found Windows Boot Manager on /dev/nvme0n1p1@/efi/Microsoft/Boot/bootmgfw.efi
>>> Found Fedora 34 (Workstation Edition) on /dev/sda3
>>> Adding boot menu entry for UEFI Firmware Settings ...
>>> done
>>> Autoinstall of module evdi/1.14.1 for kernel 6.12.11-200.fc41.x86_64 (x86_64)
>>> 
>>> Sign command: /lib/modules/6.12.11-200.fc41.x86_64/build/scripts/sign-file
>>> Signing key: /var/lib/dkms/mok.key
>>> Public certificate (MOK): /var/lib/dkms/mok.pub
>>> 
>>> Cleaning build area... done.
>>> Building module(s)...(bad exit status: 2)
>>> Failed command:
>>> make -j16 KERNELRELEASE=6.12.11-200.fc41.x86_64 all INCLUDEDIR=/lib/modules/6.12.11-200.fc41.x86_64/build/include KVERSION=6.12.11-200.fc41.x86_64 DKMS_BUILD=1
>>> 
>>> Error! Bad return status for module build on kernel: 6.12.11-200.fc41.x86_64 (x86_64)
>>> Consult /var/lib/dkms/evdi/1.14.1/build/make.log for more information.
>>> Autoinstall on 6.12.11-200.fc41.x86_64 failed for module(s) evdi(10).
>>> 
>>> Error! One or more modules failed to install during autoinstall.
>>> Refer to previous errors for more information.
>>> 

The log mentioned has a few errors regarding the build phase:

/var/lib/dkms/evdi/1.14.1/build/evdi_debug.c: In function ‘evdi_log_process’:
/var/lib/dkms/evdi/1.14.1/build/evdi_debug.c:15:29: error: implicit declaration of function ‘task_pid_nr’ [-Wimplicit-function-declaration]
   15 |         int task_pid = (int)task_pid_nr(current);
      |                             ^~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:229: /var/lib/dkms/evdi/1.14.1/build/evdi_debug.o] Error 1
make[3]: ** Esperando que outros processos terminem.
/var/lib/dkms/evdi/1.14.1/build/evdi_platform_drv.c:205:19: error: initialization of ‘void (*)(struct platform_device *)’ from incompatible pointer type ‘int (*)(struct platform_device *)’ [-Wincompatible-pointer-types]
  205 |         .remove = evdi_platform_device_remove,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.14.1/build/evdi_platform_drv.c:205:19: note: (near initialization for ‘evdi_platform_driver.<anonymous>.remove’)
make[3]: *** [scripts/Makefile.build:229: /var/lib/dkms/evdi/1.14.1/build/evdi_platform_drv.o] Error 1
/var/lib/dkms/evdi/1.14.1/build/evdi_modeset.c:507:10: error: ‘const struct drm_mode_config_funcs’ has no member named ‘output_poll_changed’
  507 |         .output_poll_changed = NULL,
      |          ^~~~~~~~~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:229: /var/lib/dkms/evdi/1.14.1/build/evdi_modeset.o] Error 1
/var/lib/dkms/evdi/1.14.1/build/evdi_i2c.c: In function ‘evdi_i2c_add’:
/var/lib/dkms/evdi/1.14.1/build/evdi_i2c.c:43:27: error: ‘I2C_CLASS_DDC’ undeclared (first use in this function); did you mean ‘I2C_CLASS_HWMON’?
   43 |         adapter->class  = I2C_CLASS_DDC;
      |                           ^~~~~~~~~~~~~
      |                           I2C_CLASS_HWMON
/var/lib/dkms/evdi/1.14.1/build/evdi_i2c.c:43:27: note: each undeclared identifier is reported only once for each function it appears in
make[3]: *** [scripts/Makefile.build:229: /var/lib/dkms/evdi/1.14.1/build/evdi_i2c.o] Error 1
/var/lib/dkms/evdi/1.14.1/build/evdi_gem.c: In function ‘evdi_gem_vmap’:
/var/lib/dkms/evdi/1.14.1/build/evdi_gem.c:316:25: error: implicit declaration of function ‘vmap’; did you mean ‘kmap’? [-Wimplicit-function-declaration]
  316 |         obj->vmapping = vmap(obj->pages, page_count, 0, PAGE_KERNEL);
      |                         ^~~~
      |                         kmap
/var/lib/dkms/evdi/1.14.1/build/evdi_gem.c:316:23: error: assignment to ‘void *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  316 |         obj->vmapping = vmap(obj->pages, page_count, 0, PAGE_KERNEL);
      |                       ^
/var/lib/dkms/evdi/1.14.1/build/evdi_gem.c: In function ‘evdi_gem_vunmap’:
/var/lib/dkms/evdi/1.14.1/build/evdi_gem.c:352:17: error: implicit declaration of function ‘vunmap’; did you mean ‘kunmap’? [-Wimplicit-function-declaration]
  352 |                 vunmap(obj->vmapping);
      |                 ^~~~~~
      |                 kunmap
/var/lib/dkms/evdi/1.14.1/build/evdi_fb.c: In function ‘evdifb_create’:
/var/lib/dkms/evdi/1.14.1/build/evdi_fb.c:421:23: error: ‘FBINFO_DEFAULT’ undeclared (first use in this function)
  421 |         info->flags = FBINFO_DEFAULT;
      |                       ^~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.14.1/build/evdi_fb.c:421:23: note: each undeclared identifier is reported only once for each function it appears in
In file included from /var/lib/dkms/evdi/1.14.1/build/evdi_drm_drv.c:16:
/var/lib/dkms/evdi/1.14.1/build/evdi_drm_drv.c:41:27: error: ‘DRM_UNLOCKED’ undeclared here (not in a function); did you mean ‘VM_LOCKED’?
   41 |                           DRM_UNLOCKED),
      |                           ^~~~~~~~~~~~
./include/drm/drm_ioctl.h:155:26: note: in definition of macro ‘DRM_IOCTL_DEF_DRV’
  155 |                 .flags = _flags,                                        \
      |                          ^~~~~~
make[3]: *** [scripts/Makefile.build:229: /var/lib/dkms/evdi/1.14.1/build/evdi_gem.o] Error 1
make[3]: *** [scripts/Makefile.build:229: /var/lib/dkms/evdi/1.14.1/build/evdi_fb.o] Error 1
make[3]: *** [scripts/Makefile.build:229: /var/lib/dkms/evdi/1.14.1/build/evdi_drm_drv.o] Error 1
make[2]: *** [/usr/src/kernels/6.12.11-200.fc41.x86_64/Makefile:1977: /var/lib/dkms/evdi/1.14.1/build] Error 2
make[1]: *** [Makefile:236: __sub-make] Error 2
make[1]: Saindo do diretório '/usr/src/kernels/6.12.11-200.fc41.x86_64'

make: *** [Makefile:38: all] Error 2

I’ve already tried to reinstall, but the same error happens. Any ideas?

This seems to be an error in the evdi package, and therefore you would be better report this to whoever provided that package.

Your EVDI source is outdated and incompatible with the new kernel.
Update it to the latest release or better to the latest commit:
Commits · DisplayLink/evdi · GitHub

Indeed, it was the evdi (DisplayLink) module for an old USB/HDMI adapter.

Thanks for the tip!

For future reference:

# ./displaylink-installer.sh uninstall
Distribution discovered: "Fedora release 41 (Forty One)"

Uninstalling

[ Removing EVDI from kernel tree, DKMS, and removing sources. ]
make: Entering directory '/tmp/tmp.S6BMXzwa5Y/module'
dkms remove evdi/1.14.1 --all

Deleting module evdi/1.14.1 completely from the DKMS tree.
rm -f -rf /usr/src/evdi-1.14.1
make: Leaving directory '/tmp/tmp.S6BMXzwa5Y/module'
Stopping displaylink-driver systemd service
The unit files have no installation config (WantedBy=, RequiredBy=, UpheldBy=,
Also=, or Alias= settings in the [Install] section, and DefaultInstance= for
template units). This means they are not meant to be enabled or disabled using systemctl.
 
Possible reasons for having these kinds of units are:
* A unit may be statically enabled by being symlinked from another unit's
  .wants/, .requires/, or .upholds/ directory.
* A unit's purpose may be to act as a helper for some other unit which has
  a requirement dependency on it.
* A unit may be started when needed via activation (socket, path, timer,
  D-Bus, udev, scripted systemctl call, ...).
* In case of template units, the unit is meant to be enabled with some
  instance name specified.
[ Removing suspend-resume hooks ]
[ Removing udev rule ]
[ Removing Core folder ]

Uninstallation steps complete.

And then reinstalled kernel-core package:

# dnf reinstall kernel-core
1 Like