Summary: | >=x11-drivers/nvidia-drivers-358.09 fails to build on hardened ("error: invalid initializer" for nvkms_suspend) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Karl-Johan Karlsson <creideiki+gentoo-bugzilla> |
Component: | Hardened | Assignee: | The Gentoo Linux Hardened Team <hardened> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | asolokha |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Karl-Johan Karlsson
2015-10-28 19:02:01 UTC
Since the error message mentioned something about kms, and USE="kms" is the default, I tried building with USE="pax_kernel -kms", but got the same error. The patch attached to the second comment in thread [1] fixes the issue. [1] https://forums.grsecurity.net/viewtopic.php?f=3&t=4296 358.09 not in the Portage tree anymore, and 358.13 build just fine on hardened. (In reply to Arseny Solokha from comment #3) > 358.09 not in the Portage tree anymore, and 358.13 build just fine on > hardened. I disagree, I'm still seeing the exact same build failure with 358.13: x86_64-pc-linux-gnu-gcc -Wp,-MD,/var/tmp/portage/x11-drivers/nvidia-drivers-358.13/work/kernel/nvidia-modeset/.nvidia-modeset-linux.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include -I/usr/src/linux-4.1.7-hardened-r1/arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated -I/usr/src/linux-4.1.7-hardened-r1/include -Iinclude -I/usr/src/linux-4.1.7-hardened-r1/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/src/linux-4.1.7-hardened-r1/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-4.1.7-hardened-r1/include/linux/kconfig.h -I/var/tmp/portage/x11-drivers/nvidia-drivers-358.13/work/kernel -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m64 -mno-80387 -mno-fp-ret-in-387 -march=core2 -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -Os -Wno-maybe-uninitialized --param=allow-store-data-races=0 -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -fno-var-tracking-assignments -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -fplugin=./tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN -fplugin=./tools/gcc/stackleak_plugin.so -DSTACKLEAK_PLUGIN -fplugin-arg-stackleak_plugin-track-lowest-sp=100 -fplugin=./tools/gcc/kernexec_plugin.so -fplugin-arg-kernexec_plugin-method="bts" -DKERNEXEC_PLUGIN -fplugin=./tools/gcc/colorize_plugin.so -fplugin=./tools/gcc/size_overflow_plugin/size_overflow_plugin.so -DSIZE_OVERFLOW_PLUGIN -fplugin=./tools/gcc/latent_entropy_plugin.so -DLATENT_ENTROPY_PLUGIN -fplugin=./tools/gcc/structleak_plugin.so -DSTRUCTLEAK_PLUGIN -fplugin=./tools/gcc/initify_plugin.so -DINITIFY_PLUGIN -fplugin=./tools/gcc/randomize_layout_plugin.so -DRANDSTRUCT_PLUGIN -fplugin-arg-randomize_layout_plugin-performance-mode -I/var/tmp/portage/x11-drivers/nvidia-drivers-358.13/work/kernel/common/inc -I/var/tmp/portage/x11-drivers/nvidia-drivers-358.13/work/kernel -Wall -MD -Wsign-compare -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"358.13\" -Wno-unused-function -Wuninitialized -fno-strict-aliasing -mno-red-zone -mcmodel=kernel -DNV_UVM_ENABLE -Wno-sign-compare -Wno-format-extra-args -I/var/tmp/portage/x11-drivers/nvidia-drivers-358.13/work/kernel/nvidia-modeset -UDEBUG -U_DEBUG -DNDEBUG -DNV_BUILD_MODULE_INSTANCES=0 -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nvidia_modeset_linux)" -D"KBUILD_MODNAME=KBUILD_STR(nvidia_modeset)" -c -o /var/tmp/portage/x11-drivers/nvidia-drivers-358.13/work/kernel/nvidia-modeset/.tmp_nvidia-modeset-linux.o /var/tmp/portage/x11-drivers/nvidia-drivers-358.13/work/kernel/nvidia-modeset/nvidia-modeset-linux.c /var/tmp/portage/x11-drivers/nvidia-drivers-358.13/work/kernel/nvidia-modeset/nvidia-modeset-linux.c:296:5: error: invalid initializer nvkms_suspend, ^ /var/tmp/portage/x11-drivers/nvidia-drivers-358.13/work/kernel/nvidia-modeset/nvidia-modeset-linux.c:296:5: error: (near initialization for ‘nvkms_rm_callbacks.<anonymous>’) /usr/src/linux-4.1.7-hardened-r1/scripts/Makefile.build:258: recipe for target '/var/tmp/portage/x11-drivers/nvidia-drivers-358.13/work/kernel/nvidia-modeset/nvidia-modeset-linux.o' failed # emerge --info nvidia-drivers Portage 2.2.26 (python 3.4.3-final-0, hardened/linux/amd64, gcc-4.9.3, glibc-2.22-r1, 4.1.7-hardened-r1 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.1.7-hardened-r1-x86_64-Intel-R-_Core-TM-_i7-4770K_CPU_@_3.50GHz-with-gentoo-2.2 KiB Mem: 32888712 total, 3395244 free KiB Swap: 33521660 total, 33480480 free Timestamp of repository gentoo: Fri, 27 Nov 2015 17:30:01 +0000 sh bash 4.3_p42 ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 app-shells/bash: 4.3_p42::gentoo dev-lang/perl: 5.22.0::gentoo dev-lang/python: 2.7.10-r3::gentoo, 3.4.3-r2::gentoo, 3.5.0-r1::gentoo dev-util/cmake: 3.4.0-r1::gentoo dev-util/pkgconfig: 0.29::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.18.3::gentoo sys-apps/sandbox: 2.9::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo sys-devel/automake: 1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo sys-devel/binutils: 2.25.1-r1::gentoo sys-devel/gcc: 4.9.3::gentoo sys-devel/gcc-config: 1.8::gentoo sys-devel/libtool: 2.4.6-r1::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers) sys-libs/glibc: 2.22-r1::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-extra-opts: --timeout=10 --ipv6 creideiki location: /usr/local/portage masters: gentoo priority: 0 steam-overlay location: /var/lib/layman/steam-overlay sync-type: laymansync sync-uri: git://github.com/anyc/steam-overlay.git masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -ggdb" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /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/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=native -O2 -pipe -ggdb" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--alphabetical --keep-going --quiet-build=n --backtrack=30 --verbose-conflicts" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs buildpkg compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--enable-new-dtags" MAKEOPTS="-j8" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--timeout=10 --ipv6" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" USE="X acl alsa amd64 berkdb bluray bzip2 cli cracklib crypt cups cxx dri dvd emacs exif ffmpeg flac gdbm gif hardened iconv idn ipv6 jpeg jpeg2k justify kde mmx mmxext mng modules multilib ncurses nls nptl ogg opengl openmp pam pax_kernel pcre pdf pie png postscript qt4 readline seccomp session sse sse2 ssl ssp svg tcpd tiff unicode urandom vaapi vdpau vorbis wmf xattr xpm xtpax zlib" ABI_X86="64 32" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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="braindump flow karbon kexi krita sheets stage words" CAMERAS="canon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" 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 ublox ubx" INPUT_DEVICES="evdev wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US en_GB en_UK sv sv_SE" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="i386 x86_64" RUBY_TARGETS="ruby20 ruby21" SANE_BACKENDS="pixma hp" USERLAND="GNU" VIDEO_CARDS="nvidia" 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: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, USE_PYTHON ================================================================= Package Settings ================================================================= x11-drivers/nvidia-drivers-355.11-r2::gentoo was built with the following: USE="X -acpi gtk2 -gtk3 multilib pax_kernel tools -uvm" ABI_X86="64" Bug is still present in 358.16-r1. However, I can confirm that the patch in https://grsecurity.net/~spender/NVIDIA-358.09-RANDSTRUCT.diff fixes the build failure for version 358.16-r1. Same problem, same solution. |