https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295139

Jim Chen <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #2 from Jim Chen <[email protected]> ---
Created attachment 270705
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=270705&action=edit
Suggested patch

I believe the bug is caused by a failure to verify that an already-loaded
module (in this case "kernel") satisfies the version requirements.

linker_load_module in /sys/kern/kern_loader.c misdiagnoses the failure to load
as EEXISTS; regardless, linker_load_dependencies does not explicitly check the
error type and (correctly) logs:
> KLD vboxdrv.ko: depends on kernel - not available or version mismatch
Afterwards, the incorrect error code is passed up to kldload(8), which prints
the incorrect message to the terminal.

Whenever a similar case is reached, the error ENOENT is raised, so in my
attached patch, I have done the same. However, I think that ENOEXEC might be
more semantically correct in this case. I'd appreciate any input, including
whether or not it would be reasonable to edit other parts of the source
accordingly.

Thanks!

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to