Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 454206 - sys-kernel/hardened-sources-3.7.0 failed to build: drivers/block/aoe/aoecmd.c:271:1: error: conflicting types for 'fhash'
Summary: sys-kernel/hardened-sources-3.7.0 failed to build: drivers/block/aoe/aoecmd.c...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Hardened (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: The Gentoo Linux Hardened Team
URL: http://forums.grsecurity.net/viewtopi...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-26 19:15 UTC by Georgy Kovtunov
Modified: 2013-02-18 14:40 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Modified tarball (hardened-patches-3.7.0-2.extras.tar.bz2,577.58 KB, application/octet-stream)
2013-02-13 19:16 UTC, Jeremy Banks
Details
Modified ebuild (hardened-sources-3.7.0-r1.ebuild,1.76 KB, text/plain)
2013-02-13 19:17 UTC, Jeremy Banks
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Georgy Kovtunov 2013-01-26 19:15:07 UTC
When i try to compile sys-kernel/hardened-sources-3.7.0 with ata over ethernet support (CONFIG_ATA_OVER_ETH) i hit this error:

  CC [M]  drivers/block/aoe/aoecmd.o
drivers/block/aoe/aoecmd.c:271:1: error: conflicting types for 'fhash'
include/linux/gracl.h:273:1: note: previous definition of 'fhash' was here
make[2]: *** [drivers/block/aoe/aoecmd.o] Error 1
make[1]: *** [drivers/block/aoe] Error 2
make: *** [drivers] Error 2

According to http://forums.grsecurity.net/viewtopic.php?f=3&t=3179 this should be fixed in latest patchset

emerge --info

ortage 2.1.11.31 (hardened/linux/amd64, gcc-4.6.3, glibc-2.15-r3, 3.5.4-hardened-r1-srv-3plc x86_64)
=================================================================
System uname: Linux-3.5.4-hardened-r1-srv-3plc-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-gentoo-2.1
Timestamp of tree: Fri, 25 Jan 2013 09:00:01 +0000
ld GNU ld (GNU Binutils) 2.22
app-shells/bash:          4.2_p37
dev-lang/python:          2.7.3-r2, 3.2.3
dev-util/cmake:           2.8.9
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.69
sys-devel/automake:       1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo x-portage
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync mirror news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles"
LANG="C"
LC_ALL=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
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="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl amd64 audit berkdb bzip2 caps cli cracklib crypt cxx dri gdbm gpm gssapi hardened iconv ipv6 justify mmx modules mudflap multilib ncurses nls nptl openmp pam pax_kernel pcre readline session sse sse2 ssl tcpd unicode urandom 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="dav dav_fs dav_lock rewrite auth_basic auth_digest authn_alias authn_anon authn_default authn_file authz_host cache cgi log_config negotiation rewrite status" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" 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" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="ru" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" QEMU_SOFTMMU_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" 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, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Sergey Popov (RETIRED) gentoo-dev 2013-01-26 19:18:41 UTC
Confirming this
Comment 2 Jeremy Banks 2013-02-13 19:16:08 UTC
Created attachment 338792 [details]
Modified tarball

Modified hardened-patches tarball, containing new grsecurity patch retrieved from https://github.com/slashbeast/grsecurity-scrape
Comment 3 Jeremy Banks 2013-02-13 19:17:09 UTC
Created attachment 338794 [details]
Modified ebuild

Modified ebuild to test the new grsecurity patch
Comment 4 Jeremy Banks 2013-02-13 19:18:23 UTC
I'm experiencing the same problem myself. A Google search leads to the same post on the Grsecurity forums linked in the 1st comment. Looking on the Grsecurity webpage, I found the following entry in the Changelog for the stable Grsecurity patch. Note the time stamp that falls between the initial post on the Grsecurity forums reporting the bug, and the response saying the bug is fixed.

commit b4700813e358d7c1613f287fe0c98d2a242d5b7c
Author: Brad Spengler <spender@grsecurity.net>
Date:   Sun Dec 16 11:14:17 2012 -0500

    Fix compilation error reported on forums

 grsecurity/gracl.c    |   32 ++++++++++++++++----------------
 include/linux/gracl.h |    8 ++++----
 2 files changed, 20 insertions(+), 20 deletions(-)

Another Google search found the unofficial archive of Grsecurity patches at https://github.com/slashbeast/grsecurity-scrape Looking through the archives, I  found grsecurity-2.9.1-3.7.0-201212161206.patch. To test this patch, I modified the hardened-patches tarball, replacing the original Grsecurity patch with the new one, and then modified the ebuild to use the modified tarball.

With the original hardened patches, it fails:
  CC [M]  drivers/block/aoe/aoecmd.o
drivers/block/aoe/aoecmd.c:271:1: error: conflicting types for 'fhash'
include/linux/gracl.h:273:1: note: previous definition of 'fhash' was here
make[2]: *** [drivers/block/aoe/aoecmd.o] Error 1
make[1]: *** [drivers/block/aoe] Error 2
make: *** [drivers] Error 2

With the modified hardened patches using the new grsecurity patch, it works:
  CC [M]  drivers/block/aoe/aoeblk.o
  CC [M]  drivers/block/aoe/aoechr.o
  CC [M]  drivers/block/aoe/aoecmd.o
  CC [M]  drivers/block/aoe/aoedev.o
  CC [M]  drivers/block/aoe/aoemain.o
  CC [M]  drivers/block/aoe/aoenet.o
  LD [M]  drivers/block/aoe/aoe.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      drivers/block/aoe/aoe.mod.o
  LD [M]  drivers/block/aoe/aoe.ko

I've attached the modified ebuild I used to test and the modified tarball containing the new patch.
Comment 5 Alexander Tsoy 2013-02-13 19:56:55 UTC
Koreth, hardened-sources-3.7.5 is already marked stable for amd64 and x86 archs.
Comment 6 Jeremy Banks 2013-02-13 20:35:48 UTC
It was not when I encountered this problem on Febuary 11th. Thus the effort to find a test a fix.
Comment 7 Anthony Basile gentoo-dev 2013-02-14 01:32:06 UTC
Hi everyone, I will be removing 3.7.0 soon.  I anyone encountering this with 3.7.5?
Comment 8 Anthony Basile gentoo-dev 2013-02-18 14:40:48 UTC
3.7.0 is off the tree.  The latest stable 3.7.5 resolves this issue.