VirtualBox

16 年 前 建立

16 年 前 結束

#3284 closed defect (fixed)

_init() driver entry point in vboxdrv kernel module returns bogus error value => Fixed in SVN

回報者: jkeil 負責人:
元件: host support 版本: VirtualBox 2.1.2
關鍵字: 副本:
Guest type: other Host type: Solaris

描述

In this forum thread http://forums.virtualbox.org/viewtopic.php?t=13950 we found out that failures during an attempt to load the Solaris vboxdrv kernel module result in bogus error messages, like this:

bash-3.2# modload -p drv/vboxdrv
can't load module: Unknown error 

I can reproduce this issue by deliberately messing with the /etc/name_to_major file, changing

vboxdrv 297
vboxflt 298

to

xvboxdrv 297
xvboxflt 298

(added 'x' in front of the module names), followed by a reboot. After that change, modload -p drv/vboxdrv returns an error with errno == -1 (an unknown error code).

The bug is in src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c in function _init(). An _init(9e) function is supposed to return a positive error code from <sys/errno.h>, not -1:

   192	/**
   193   * Kernel entry points
   194	 */
   195  int _init(void)
   196	{
   197      LogFlow((DEVICE_NAME ":_init\n"));
   198
...
   254	
   255	    return -1;    <<<<<<<
   256	}

In my test case, the mod_install() call inside vboxdrv's _init() function failed with errrno == ENXIO; in this case ENXIO is the expected return code for the _init() function - and not -1.

更動歷史 (3)

comment:1 16 年 前Ramshankar Venkataraman 編輯

Thanks for reporting this. This has been fixed in internal SVN.

comment:2 16 年 前Frank Mehnert 編輯

摘要: _init() driver entry point in vboxdrv kernel module returns bogus error value_init() driver entry point in vboxdrv kernel module returns bogus error value => Fixed in SVN

comment:3 16 年 前Frank Mehnert 編輯

狀態: newclosed
處理結果: fixed
注意: 瀏覽 TracTickets 來幫助您使用待辦事項功能

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette