web-dev-qa-db-fra.com

modprobe échoue avec "Opération non autorisée"

J'essaie de modprobe wireguard en tant que root, et il échoue avec:

modprobe: ERROR: could not insert 'wireguard': Operation not permitted

En ajoutant verbeux, j'obtiens une ligne supplémentaire:

[root@localhost ben]# insmod /lib/modules/5.2.11-100.fc29.x86_64/extra/wireguard.ko.xz
insmod: ERROR: could not insert module /lib/modules/5.2.11-100.fc29.x86_64/extra/wireguard.ko.xz: Operation not permitted

dkms fonctionne bien sans erreur. J'ai également désactivé selinux et cela n'a fait aucune différence. Je ne vois rien dans les journaux journalctl.

La recherche dans les pages de manuel et Google n'a rien révélé.

J'ai trouvé cette ligne utile dans dmesg:

Lockdown: modprobe: Loading of unsigned module is restricted; see man kernel_lockdown.7

Cependant, cette page de manuel n'existe pas.

Comment puis-je déboguer cela? Des conseils sur où aller ensuite?

4
Freedom_Ben

Enfin trouvé quelque chose dessus. Il semble être une "fonctionnalité" où le code non signé ne peut pas être chargé dans le noyau lorsque le démarrage sécurisé UEFI est activé (ce qu'il est).

Pour obtenir le chargement du module, désactivez le verrouillage du noyau via sys-rq:

# echo 1 > /proc/sys/kernel/sysrq
# echo x > /proc/sysrq-trigger

Alors modprobe devrait fonctionner:

modprobe wireguard

Pour plus d'informations, voir:

https://mjg59.dreamwidth.org/50577.html

https://bugzilla.redhat.com/show_bug.cgi?id=1599197

4
Freedom_Ben

Ma distribution Fedora 31 n'a pas accepté de faire écho à SysRq. Arch Linux wiki suggéré d'utiliser Alt+PrtSc+x (sur les ordinateurs portables, où Fn fait partie du clavier). Le verrouillage a été désactivé avec succès et le protège-fil a été chargé avec succès. J'ai installé akmod, donc modprobe wireguard a fonctionné pour moi comme alternative à SysRq+x (le manuel redhat dit - il doit être appuyé sur un clavier physiquement attaché).

0
igor

J'ai un problème similaire, mais j'obtiens une sortie détaillée différente de modprobe:

# modprobe -vvv wireguard
modprobe: INFO: custom logging function 0x55cf4e172a20 registered
insmod /lib/modules/5.3.11-300.fc31.x86_64/kernel/net/wireguard.ko.xz  
modprobe: INFO: Failed to insert module '/lib/modules/5.3.11-300.fc31.x86_64/kernel/net/wireguard.ko.xz': Operation not permitted
modprobe: ERROR: could not insert 'wireguard': Operation not permitted
modprobe: INFO: context 0x55cf4eb9b4c0 released

Des idées sur la façon de charger le module Wireguard? Je l'ai retiré et reconstruit sans succès:

dkms remove -m wireguard -v 0.0.20191012 -k 5.3.11-300.fc31.x86_64
dkms install -m wireguard -v 0.0.20191012

Toute aide nous a beaucoup apprécié.

0
valentt