Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 421579 - media-libs/gstreamer-0.10.35 needs 'paxctl -m /usr/libexec/gstreamer-0.10/gst-plugin-scanner'
Summary: media-libs/gstreamer-0.10.35 needs 'paxctl -m /usr/libexec/gstreamer-0.10/gst...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: GStreamer package maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-17 14:25 UTC by Nikoli
Modified: 2013-01-13 17:20 UTC (History)
3 users (show)

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


Attachments
clementine log when nothing is marked by hand (clementine_hardened_without_paxctl-m.log,8.57 KB, text/plain)
2012-06-17 14:27 UTC, Nikoli
Details
subtitleeditor log when nothing is marked by hand (subtitleeditor_hardened_without_paxctl-m.log,5.29 KB, text/plain)
2012-06-17 14:31 UTC, Nikoli
Details
clementine log after 'paxctl -m /usr/libexec/gstreamer-0.10/gst-plugin-scanner' (clementine_hardened_paxctl-m-gst-plugin-scanner.log,3.98 KB, text/plain)
2012-06-17 14:40 UTC, Nikoli
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nikoli 2012-06-17 14:25:48 UTC
On hardened desktop clementine and subtitleeditor play nothing until:
paxctl -m /usr/libexec/gstreamer-0.10/gst-plugin-scanner /usr/bin/clementine /usr/bin/subtitleeditor

If you mark only gst-plugin-scanner, both clementine and subtitleeditor will crash.

Portage 2.1.10.49 (hardened/linux/amd64, gcc-4.5.3, glibc-2.14.1-r3, 3.4.2-hardened x86_64)
=================================================================
Timestamp of tree: Sun, 17 Jun 2012 10:45:01 +0000
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.3-r2
dev-util/cmake:           2.8.7-r5
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.11.1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.6
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r3
Repositories: gentoo nikoli
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -mtune=generic -mavx -maes -mpclmul -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /usr/share/themes/oxygen-gtk/gtk-2.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=core2 -mtune=generic -mavx -maes -mpclmul -O2 -pipe"
DISTDIR="/var/package-manager/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="ru en"
MAKEOPTS="-j9"
PKGDIR="/var/package-manager/packages/corei7-avx_hardened"
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"
PORTDIR="/var/package-manager/portage"
PORTDIR_OVERLAY="/var/lib/layman/nikoli"
USE="X a52 aac acl acpi aes-ni akonadi alsa amd64 amr atm audiofile avx bash-completion bluetooth bzip2 cairo caps cdda cddb cdio cdparanoia cdr celt cli consolekit cracklib crypt css cups cxx dbus djvu dri dts dv dvd dvdr encode exif fat ffmpeg flac fluidsynth fontconfig fortran gd geoip gif gimp gmp gnutls gphoto2 gpm graphviz gsm gstreamer gtk handbook hardened iconv icu id3tag idn ilbc imagemagick imap imlib ios ipod ipv6 jbig jpeg jpeg2k justify kde kipi kontact lame laptop lcms libnotify libproxy libsamplerate lm_sensors lzma lzo mac mad matroska mikmod mmx mmxext mng modplug modules mp3 mp4 mpeg mtp mudflap multilib musepack musicbrainz ncurses networkmanager nls nptl nptlonly ntfs ogg openal openexr opengl openmp pam pango pax_kernel pcre pdf pg-intdatetime phonon plasma pm-utils png policykit postscript pppd qt3support qt4 quicktime rar raw readline reiserfs replaygain rtmp sasl scanner schroedinger semantic-desktop session sid smp sndfile socks5 speex spell sqlite sse sse2 sse3 sse4_1 ssl ssse3 startup-notification svg symlink sysfs taglib theora threads thumbnail tiff truetype tta udev unicode upnp usb v4l v4l2 vaapi vcd vdpau vorbis vpx wavpack webkit webp wifi wma wmf wps x264 xattr xcb xcomposite xface xinerama xml xmp xorg xpm xscreensaver xv xvid xz 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="*" 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="efi-64" 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 en" NGINX_MODULES_HTTP="access auth_basic autoindex fastcgi gzip rewrite" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="radeon r600 vesa" 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"
Comment 1 Nikoli 2012-06-17 14:27:58 UTC
Created attachment 315587 [details]
clementine log when nothing is marked by hand

GUI message:
GStreamer could not create the element: audioconvert. Please make sure that you have installed all necessary GStreamer plugins (e.g. OGG and MP3)
Comment 2 Nikoli 2012-06-17 14:31:15 UTC
Created attachment 315589 [details]
subtitleeditor log when nothing is marked by hand

rm ~/.gstreamer-0.10/ -r ; LANG="en_US.UTF-8" subtitleeditor &> subtitleeditor_hardened_without_paxctl-m.log

GUI does not show any error message, but silently refuse to open any video.
Comment 3 Nikoli 2012-06-17 14:40:37 UTC
Created attachment 315591 [details]
clementine log after 'paxctl -m /usr/libexec/gstreamer-0.10/gst-plugin-scanner'

After 'paxctl -m /usr/libexec/gstreamer-0.10/gst-plugin-scanner' clementine crashes after pressing play button:
(gst-plugin-scanner:31763): GLib-GObject-CRITICAL **: g_param_spec_boolean: assertion `default_value == TRUE || default_value == FALSE' failed

(gst-plugin-scanner:31763): GLib-GObject-CRITICAL **: g_object_class_install_property: assertion `G_IS_PARAM_SPEC (pspec)' failed

(gst-plugin-scanner:31763): GStreamer-WARNING **: Failed to load plugin '/usr/lib64/gstreamer-0.10/libgstmplex.so': /usr/lib64/gstreamer-0.10/libgstmplex.so: undefined symbol: _ZTI12MultiplexJob
18:33:52.071 DEBUG unknown                          clementine(31746)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/var/tmp/kdecache-nikoli/ksycoca4" 
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
ORC: ERROR: orccodemem.c(270): orc_code_region_allocate_codemem(): Failed to create write and exec mmap regions.  This is probably because SELinux execmem check is enabled (good) and $TMPDIR and $HOME are mounted noexec (bad).
ORC: ERROR: orccodemem.c(144): orc_code_region_get_free_chunk(): assertion failed: 0

dmesg:
[64768.710750] grsec: denied RWX mmap of <anonymous mapping> by /usr/bin/clementine[clementine:31746] uid/euid:1000/1000 gid/egid:1000/1000, parent /bin/bash[bash:22126] uid/euid:1000/1000 gid/egid:1000/1000
[64768.753250] grsec: denied resource overstep by requesting 4096 for RLIMIT_CORE against limit 0 for /usr/bin/clementine[clementine:31746] uid/euid:1000/1000 gid/egid:1000/1000, parent /bin/bash[bash:22126] uid/euid:1000/1000 gid/egid:1000/1000

Attached log was created with command 'rm ~/.gstreamer-0.10/ -r ; LANG="en_US.UTF-8" clementine &> clementine_hardened_paxctl-m-gst-plugin-scanner.log'

After 'paxctl -m /usr/bin/clementine' it works fine, same with subtitleeditor.
I do not have any problem with mplayer2.
Comment 4 Nikoli 2012-06-17 14:56:22 UTC
Disabling USE orc in make.conf and updating solved my problem, clementine works fine after rebuilding media-libs/gst-plugins-base and media-libs/gst-plugins-good. subtitleeditor also works fine now.

Please rename USE 'orc' to 'jit', because orc is jit, from homepage: "Orc is a just-in-time compiler implemented as a library...".
Masking or pax marking dev-lang/orc is required for hardened profile.
orc is not optional for:
media-libs/schroedinger
net-wireless/gnuradio
Comment 5 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-10-21 07:58:40 UTC
Fixed in gstreamer-0.10.36, which is masked for the moment.
Comment 6 Nikoli 2012-10-21 18:23:10 UTC
Why 'paxctl -m' is used when orc is disabled?
Comment 7 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-10-22 01:26:30 UTC
(In reply to comment #6)
> Why 'paxctl -m' is used when orc is disabled?

There is no way for media-libs/gstreamer to know whether or not you will in the future install some gst-* package that has orc enabled. Since for many users the answer would be "yes", and since disabling memory protection on gst-plugin-scanner is unlikely to have security implications, always using 'paxctl -m' seems to be a reasonable approach.
Comment 8 Magnus Granberg gentoo-dev 2012-10-23 22:49:24 UTC
Have masked the orc use flag in the hardened profile.
Undo the paxctl -m thing on
Remerge the needed things.
Comment 9 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-10-24 04:45:20 UTC
(In reply to comment #8)
> Have masked the orc use flag in the hardened profile.

I do not understand why you are treating orc differently from jit. Hardened already has "-jit -orc" in USE in make.defaults, but jit is not in the hardened use.mask - so why did you decide to add orc to use.mask?

> Undo the paxctl -m thing

I've added an orc USE flag to media-libs/gstreamer-0.10.36; paxctl -m is now run only when USE=orc. This allows those hardened users who need orc for non-laggy video playback, or who use gst-plugins-schroedinger, to enable it by unmasking the flag. I hope that this solution is satisfactory to the hardened team.
Comment 10 Anthony Basile gentoo-dev 2012-10-30 21:38:53 UTC
(In reply to comment #9)
> I've added an orc USE flag to media-libs/gstreamer-0.10.36; paxctl -m is now
> run only when USE=orc. This allows those hardened users who need orc for
> non-laggy video playback, or who use gst-plugins-schroedinger, to enable it
> by unmasking the flag. I hope that this solution is satisfactory to the
> hardened team.

This should be okay. We always have to worry in situations like this what happens if you switch hardened <-> vanilla kernals.  Thinking through all the scenerios a user may switch between here, they should be okay.

So yeah, looks good to me.
Comment 11 Gilles Dartiguelongue (RETIRED) gentoo-dev 2012-12-05 23:19:22 UTC
I was about to close this bug since gstreamer 0.10.36 and 1.0.3 have 
conditional pax marking on gst-plugin-scanner but the use flag is masked while 
jit is not, is that normal ?
Comment 12 Nikoli 2012-12-06 08:02:54 UTC
Not sure.
Comment 13 Magnus Granberg gentoo-dev 2013-01-12 12:47:27 UTC
Have unmask orc and added it do the Hardened FAQ.
so close the bug if it is nothing else.
Comment 14 Gilles Dartiguelongue (RETIRED) gentoo-dev 2013-01-13 17:20:44 UTC
(In reply to comment #13)
> Have unmask orc and added it do the Hardened FAQ.
> so close the bug if it is nothing else.

That's all. Thanks for the update.