From: Marcelo Ricardo Leitner on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/994#note_54335170...
Considering this will be visible to the user that tries to load the module, EPERM can be misleading. It can mean that a SELinux policy is blocking it (EPERM and EACCES are used there AFAIK), for example. What about using -EOPNOTSUPP?