When enabling promiscuous mode on the host network interface vmnet module drops an assertion in the kernel due to fail to obtain the RTNL lock. RTNL: assertion failed at net/core/dev.c (2595) Call Trace: [<ffffffff80487a26>] __dev_set_promiscuity+0x3d/0xbc [<ffffffff80487d9b>] dev_set_promiscuity+0x15/0x2d [<ffffffff881ecc2d>] :vmnet:VNetBridgeSendLargePacket+0x87/0x27d [<ffffffff881eb73f>] :vmnet:VNetHub_AllocVnet+0x286/0x2df [<ffffffff881ea564>] :vmnet:VNetDisconnect+0x71/0x99 [<ffffffff881eb01e>] :vmnet:init_module+0x755/0xbe0 [<ffffffff8027f265>] __fput+0xa1/0x15e [<ffffffff8027cbb0>] filp_close+0x5d/0x65 [<ffffffff8027de06>] sys_close+0x93/0xd8 [<ffffffff80226e60>] sysenter_do_call+0x1b/0x67
output of emerge --info Portage 2.1.3.19 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-gentoo-r3 x86_64) ================================================================= System uname: 2.6.23-gentoo-r3 x86_64 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz Timestamp of tree: Mon, 03 Dec 2007 21:29:01 +0000 app-shells/bash: 3.2_p17 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r6 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.9-r2 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.22-r2 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=nocona -fno-ident -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -pipe -march=nocona -fno-ident -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo" LC_ALL="hr_HR.UTF8" LINGUAS="hr en" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa amd64 berkdb bitmap-fonts bzip2 cddb cdparanoia cdr cli cracklib crypt cups dbus dga divx dri dts dvd dvdnav dvdr dvdread encode esd ffmpeg firefox flac fortran fuse gdbm gif gnome gpm gtk hal iconv imagemagick imlib ipv6 isdnlog jpeg kde kdeenablefinal kdehiddenvisibility lame lcms libnotify logrotate lzo mad md5sum midi mmap mmx mmxext mng mp2 mp3 mpeg mudflap ncurses nls nptl nptlonly offensive ogg openal opengl openmp pam pcre perl png ppds pppd python qt3 quicktime readline realmedia reflection rtc sdl session slang smp spl srt sse sse2 ssl ssse3 svg tcpd theora threads tiff truetype truetype-fonts type1-fonts unicode urandom usb vcd vorbis wmf wmp x264 xcb xcomposite xine xml xorg xv xvid xvmc zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="hr en" USERLAND="GNU" VIDEO_CARDS="fglrx vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Patch attached to correct the issue. For the rationale behind this, please refer to: http://linux.derkeiler.com/Mailing-Lists/Kernel/2007-09/msg00443.html
Ebuild updated to use the patch.
Created attachment 137686 [details, diff] Protect dev_set* calls with rtnl_lock/rtnl_unlock
Created attachment 137688 [details] Changed app-emulation/vmware-modules-1.0.0.17 ebuild to use the patch
Thanks very much for the patch. We're currently testing out vmware-modules-1.0.0.17-r1, which hopefully does all the spin-locking correctly, because it's based upon the vmware-any-any-update sources. You can find the latest version in the vmware overlay (accessible via layman). Please let me know if it fixes up your problems. Thanks... 5:)