# (SOLVED) test_nx oops causing system to freeze.

## siknasa9

```
[    9.956835] Testing NX protection

[    9.956847] kernel tried to execute NX-protected page - exploit attempt? (uid: 0)

[    9.956992] BUG: unable to handle kernel paging request at ffff88021eca1e45

[    9.957121] IP: [<ffff88021eca1e45>] 0xffff88021eca1e44

[    9.957224] PGD 1c0c063 PUD cff8e067 PMD 21eda4063 PTE 800000021eca1163

[    9.957355] Oops: 0011 [#1] SMP 

[    9.957425] CPU 3 

[    9.957458] Modules linked in:

[    9.957520]  test_nx(+) scsi_wait_scan fuse hid_logitech_dj kcopy firewire_sbp2 firewire_ohci firewire_core nvidia(PO) kvm_amd kvm

[    9.957775] Pid: 1678, comm: modprobe Tainted: P           O 3.5.4-gentoo #2 To Be Filled By O.E.M. To Be Filled By O.E.M./MD-A72P-7509

[    9.957991] RIP: 0010:[<ffff88021eca1e45>]  [<ffff88021eca1e45>] 0xffff88021eca1e44

[    9.958128] RSP: 0018:ffff88021eca1e10  EFLAGS: 00010246

[    9.958223] RAX: 0000000000000000 RBX: 0000000000000001 RCX: 0000000000000020

[    9.958346] RDX: 00000000000000c8 RSI: 0000000000000046 RDI: ffff88021eca1e45

[    9.958470] RBP: ffff88021eca1e28 R08: 000000000000000a R09: 0000000000000000

[    9.958593] R10: 00000000000003ec R11: 0000000000000000 R12: ffff88021eca1e45

[    9.958717] R13: ffffffffa00500b0 R14: ffff880224df26c0 R15: 0000000000000001

[    9.958840] FS:  00007f9ee080d700(0000) GS:ffff88022fd80000(0000) knlGS:0000000000000000

[    9.958979] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b

[    9.959081] CR2: ffff88021eca1e45 CR3: 0000000221846000 CR4: 00000000000007e0

[    9.959204] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000

[    9.959328] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400

[    9.959453] Process modprobe (pid: 1678, threadinfo ffff88021eca0000, task ffff8802260eeea0)

[    9.959597] Stack:

[    9.959637]  ffffffffa005005b ffffffffa0050340 0000000000000000 ffff88021eca1e58

[    9.959778]  ffffffffa00500e5 ffff880224df26c0 0090c30000000000 ffffffffa0050340

[    9.959920]  0000000000000000 ffff88021eca1e88 ffffffff810001ba ffffffffa0050340

[    9.960061] Call Trace:

[    9.960113]  [<ffffffffa005005b>] ? foo_label+0x3/0x58 [test_nx]

[    9.960220]  [<ffffffffa00500e5>] test_NX+0x35/0x110 [test_nx]

[    9.960326]  [<ffffffff810001ba>] do_one_initcall+0x3a/0x160

[    9.960429]  [<ffffffff81097154>] sys_init_module+0xa44/0x1c40

[    9.960532]  [<ffffffff81095220>] ? get_modinfo.isra.35+0xc0/0xc0

[    9.960642]  [<ffffffff8176c662>] system_call_fastpath+0x16/0x1b

[    9.960747] Code: 05 a0 ff ff ff ff 00 00 00 00 00 00 00 00 58 1e ca 1e 02 88 ff ff e5 00 05 a0 ff ff ff ff c0 26 df 24 02 88 ff ff 00 00 00 00 00 <c3> 90 00 40 03 05 a0 ff ff ff ff 00 00 00 00 00 00 00 00 88 1e 

[    9.961304] RIP  [<ffff88021eca1e45>] 0xffff88021eca1e44

[    9.961406]  RSP <ffff88021eca1e10>

[    9.961471] CR2: ffff88021eca1e45

[    9.961535] ---[ end trace c2d28b3e2b8b94d2 ]---
```

Honestly not sure what to make of this. Here's some info on my system:

uname -a

Linux Purgatory 3.5.4-gentoo #2 SMP Tue Sep 18 17:29:37 EDT 2012 x86_64 AMD Phenom(tm) 9500 Quad-Core Processor AuthenticAMD GNU/Linux

emerge --info

```
Portage 2.1.11.21 (default/linux/amd64/10.0/desktop/kde, gcc-4.6.3, glibc-2.15-r2, 3.5.4-gentoo x86_64)

=================================================================

System uname: Linux-3.5.4-gentoo-x86_64-AMD_Phenom-tm-_9500_Quad-Core_Processor-with-gentoo-2.2

Timestamp of tree: Mon, 24 Sep 2012 20:15:01 +0000

distcc 3.1 x86_64-pc-linux-gnu [disabled]

app-shells/bash:          4.2_p37

dev-java/java-config:     2.1.12

dev-lang/python:          2.7.3-r2, 3.2.3-r1

dev-util/cmake:           2.8.9

dev-util/pkgconfig:       0.27.1

sys-apps/baselayout:      2.2

sys-apps/openrc:          0.10.5

sys-apps/sandbox:         2.6

sys-devel/autoconf:       2.13, 2.69

sys-devel/automake:       1.9.6-r3, 1.11.6, 1.12.4

sys-devel/binutils:       2.22.90

sys-devel/gcc:            4.5.4, 4.6.3

sys-devel/gcc-config:     1.7.3

sys-devel/libtool:        2.4.2

sys-devel/make:           3.82-r3

sys-kernel/linux-headers: 3.5 (virtual/os-headers)

sys-libs/glibc:           2.15-r2

Repositories: gentoo enlightenment zugaina x-portage

ACCEPT_KEYWORDS="amd64 ~amd64 ~x86"

ACCEPT_LICENSE="*"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-O2 -march=amdfam10 -fomit-frame-pointer -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"

CXXFLAGS="-O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FCFLAGS="-O2 -pipe"

FEATURES="assume-digests binpkg-logs candy config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans xattr"

FFLAGS="-O2 -pipe"

GENTOO_MIRRORS="http://gentoo.osuosl.org/"

LANG="en_US.UTF-8"

LC_ALL="en_US.utf8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

LINGUAS="en"

MAKEOPTS="-j8"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/var/lib/layman/enlightenment /var/lib/layman/zugaina /usr/local/portage"

SYNC="rsync://rsync25.us.gentoo.org/gentoo-portage"

USE="3dnow 3dnowext X a52 aac acl acpi alsa amd64 apache2 atm audiofile bash-completion bidi boehm-gc branding bzip2 cairo calendar call caps cdda cdio cdparanoia cdr cli consolekit cracklib crypt css cuda cups curl curlwrappers cvs cxx dbus declarative djvu dri dts dv dvb dvd dvdnav dvdr dvdread emacs emboss encode enscript exif expat faac faad fam fbcon fbcondecor fbcondecore ffmpeg fftw firefox flac fontconfig foomaticdb fortran freetds freetype ftp fuse g3dvl gcj gd gdbm geoip gif gimp gnuplot gnutls gphoto2 gpm gsl gstreamer gzip handbook hddtemp hscolour httpd iconv icu ieee1394 imagemagick imlib ios java javascript jbig joystick jpeg kde kerberos kipi kontact ladspa lame lapack latex lcms ldap libcaca libnotify libobj2 libsamplerate libwww live lm_sensors loop-aes lzma mad matroska matrox mdnsresponder-compat mikmod mime minizip mmx mng modules mono mozilla mp3 mp4 mpeg mpeg2 mpeg4pt2 mplayer mssql mtp mudflap multilib musicbrainz mysql mysqlnd nas ncurses nls nntp nptl nsplugin objc offensive ogg oggvorbis openal opengl openmp openssl oracle pam pango pch pcntl pcre pda pdf perl phonon php plotutils png policykit portaudio posix postgres ppds pppd python qt3support qt4 quicktime raw rdesktop readline rss ruby samba scanner sdl semantic-desktop sendto session sharedext smp sndfile snmp soap sockets socks5 sound spell sqlite3 sse sse2 ssl startup-notification stream subversion svg syslog sysvipc taglib tcpd theora threads thunar tidy tiff timidity tokenizer truetype udev udisks unicode upower usb v4l vcd vdpau vhosts videos vim-syntax vino vlm vnc vorbis wavpack webdav webkit wifi win64codecs wxwidgets wxwindows x264 xattr xcb xcomposite xft xine xinerama xinetd xml xmlrpc xmp xmpp xscreensaver xv xvid xvmc zeroconf zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="openssl" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse synaptics virtualbox" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" PHP_TARGETS="php5-3 php5-4" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

```

If anything else is needed, let me know.

----------

## Aquous

This is actually expected behavior. Don't build the test_nx module if you don't want it.

----------

## siknasa9

Yes, not building test_nx has stopped the system from freezing. I forgot to mention before, though, that I was also getting an error at bootup: /etc/init.d/modules: line 59: 1613 killed modprobe -q test_nx

Failed to load module test_nx

But then it would be in lsmod. I haven't checked the file just because I have no frame of reference as to what line 59 is suppose to look like but I checked just now and it just looks like it's loading the modules listed in /etc/conf.d/modules 1 by 1 and syntax, as far as I can tell, is correct. Though, I'm not well versed.

----------

## Hu

Look at line 59 of the referenced file: /etc/init.d/modules.  It sounds like you configured your init system to try to load test_nx, then reacted to the error when it failed to load it.  As an extension of the comment from Aquous, do not build or attempt to load the test_nx module if you do not need it.  If you do not know what it does, then you do not need it.

----------

## siknasa9

Thank you. I didn't know if I needed it or not. Can't find much information on it. Wish I could...

----------

