<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>140069</bug_id>
          
          <creation_ts>2015-01-04 20:00:21 -0800</creation_ts>
          <short_desc>[GStreamer] Disable gst-plugin-scanner if seccomp filters are enabled</short_desc>
          <delta_ts>2015-03-23 13:25:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>142978</dependson>
          <blocked>110014</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
    
    <cc>slomo</cc>
    
    <cc>tmpsantos</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1058642</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-01-04 20:00:21 -0800</bug_when>
    <thetext>If seccomp filters are enabled, any child processes we create are doomed if they try to use a trapped syscall: the child will receive SIGSYS and dump core. There appears to be no way around this.

Fortunately, the gstreamer developers had mad prescience and provided us with a way to move plugin scanning in-process, so we don&apos;t need the helper binary at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058643</commentid>
    <comment_count>1</comment_count>
      <attachid>243957</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-01-04 20:05:48 -0800</bug_when>
    <thetext>Created attachment 243957
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058678</commentid>
    <comment_count>2</comment_count>
      <attachid>243957</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-05 01:23:09 -0800</bug_when>
    <thetext>Comment on attachment 243957
Patch

Clearing flags on attachment: 243957

Committed r177896: &lt;http://trac.webkit.org/changeset/177896&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058679</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-05 01:23:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058974</commentid>
    <comment_count>4</comment_count>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2015-01-06 03:47:28 -0800</bug_when>
    <thetext>Note that putting the plugin scanning in-process has two huge disadvantages though. You will dlopen() all (changed) plugins, which in turn loads all dependent libraries... and they will never be unloaded again for this process. And if any plugin crashes during initialization, it will just take your application process with it.

Disabling the plugin scanner can&apos;t be the right solution for this approach, and if there&apos;s no other way I would say that seccomp is currently broken by design.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059057</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-01-06 10:52:00 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Disabling the plugin scanner can&apos;t be the right solution for this approach,
&gt; and if there&apos;s no other way I would say that seccomp is currently broken by
&gt; design.

I&apos;m glad I CCed you. Let&apos;s discuss this in bug #140131.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079360</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-23 13:24:09 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 142978</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079363</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-03-23 13:25:35 -0700</bug_when>
    <thetext>Go away bug, we&apos;ll use bug #140131 for this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243957</attachid>
            <date>2015-01-04 20:05:48 -0800</date>
            <delta_ts>2015-01-05 01:23:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0006-GStreamer-Disable-gst-plugin-scanner-if-seccomp-filt.patch</filename>
            <type>text/plain</type>
            <size>2931</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">RnJvbSA3MTUzMDU0ZmU4NmU5MzdkMzhjNTEzNzgyN2YzMTVkMjViZmQ0YjU1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIENhdGFuemFybyA8bWNhdGFuemFyb0BpZ2FsaWEu
Y29tPgpEYXRlOiBUdWUsIDMwIERlYyAyMDE0IDE4OjQwOjEyIC0wNjAwClN1YmplY3Q6IFtQQVRD
SCA2LzZdIFtHU3RyZWFtZXJdIERpc2FibGUgZ3N0LXBsdWdpbi1zY2FubmVyIGlmIHNlY2NvbXAg
ZmlsdGVycwogYXJlIGVuYWJsZWQKCklmIHNlY2NvbXAgZmlsdGVycyBhcmUgZW5hYmxlZCwgYW55
IGNoaWxkIHByb2Nlc3NlcyB3ZSBjcmVhdGUgYXJlIGRvb21lZAppZiB0aGV5IHRyeSB0byB1c2Ug
YSB0cmFwcGVkIHN5c2NhbGw6IHRoZSBjaGlsZCB3aWxsIHJlY2VpdmUgU0lHU1lTIGFuZApkdW1w
IGNvcmUuIFRoZXJlIGFwcGVhcnMgdG8gYmUgbm8gd2F5IGFyb3VuZCB0aGlzLgoKRm9ydHVuYXRl
bHksIHRoZSBnc3RyZWFtZXIgZGV2ZWxvcGVycyBoYWQgbWFkIHByZXNjaWVuY2UgYW5kIHByb3Zp
ZGVkCnVzIHdpdGggYSB3YXkgdG8gbW92ZSBwbHVnaW4gc2Nhbm5pbmcgaW4tcHJvY2Vzcywgc28g
d2UgZG9uJ3QgbmVlZCB0aGUKaGVscGVyIGJpbmFyeSBhdCBhbGwuCi0tLQogU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKysrKysrKysr
KysrKysrKysrCiAuLi4vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclV0aWxpdGllcy5jcHAg
ICAgICAgfCAgOCArKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspCgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDExNDM5OWIuLjEwZGFmODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBA
QAorMjAxNS0wMS0wNCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+
CisKKyAgICAgICAgW0dTdHJlYW1lcl0gRGlzYWJsZSBnc3QtcGx1Z2luLXNjYW5uZXIgaWYgc2Vj
Y29tcCBmaWx0ZXJzIGFyZSBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDAwNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJZiBzZWNjb21wIGZpbHRlcnMgYXJlIGVuYWJsZWQsIGFueSBjaGls
ZCBwcm9jZXNzZXMgd2UgY3JlYXRlIGFyZSBkb29tZWQKKyAgICAgICAgaWYgdGhleSB0cnkgdG8g
dXNlIGEgdHJhcHBlZCBzeXNjYWxsOiB0aGUgY2hpbGQgd2lsbCByZWNlaXZlIFNJR1NZUyBhbmQK
KyAgICAgICAgZHVtcCBjb3JlLiBUaGVyZSBhcHBlYXJzIHRvIGJlIG5vIHdheSBhcm91bmQgdGhp
cy4KKworICAgICAgICBGb3J0dW5hdGVseSwgdGhlIGdzdHJlYW1lciBkZXZlbG9wZXJzIGhhZCBt
YWQgcHJlc2NpZW5jZSBhbmQgcHJvdmlkZWQKKyAgICAgICAgdXMgd2l0aCBhIHdheSB0byBtb3Zl
IHBsdWdpbiBzY2FubmluZyBpbi1wcm9jZXNzLCBzbyB3ZSBkb24ndCBuZWVkIHRoZQorICAgICAg
ICBoZWxwZXIgYmluYXJ5IGF0IGFsbC4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0
aGlzIGlzIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMgd2hlbiBzZWNjb21wCisgICAgICAgIGZp
bHRlcnMgYXJlIGVuYWJsZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvR1N0cmVhbWVyVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmluaXRpYWxpemVH
U3RyZWFtZXIpOgorCiAyMDE0LTEyLTE5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CiAKICAgICAgICAgW1NWRyAtPiBPVEYgQ29udmVydGVyXSBNYWtlIHBsYWNlaG9s
ZGVycyBtb3JlIHJvYnVzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclV0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyVXRpbGl0aWVzLmNwcAppbmRleCBi
Y2U0MThkLi40ZDc3MzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyVXRpbGl0aWVzLmNwcApAQCAt
MTMyLDYgKzEzMiwxNCBAQCBib29sIGluaXRpYWxpemVHU3RyZWFtZXIoKQogICAgIGlmIChnc3Rf
aXNfaW5pdGlhbGl6ZWQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyNpZiBFTkFCTEUoU0VD
Q09NUF9GSUxURVJTKQorICAgIC8vIFRoZSBnc3QtcGx1Z2luLXNjYW5uZXIgaGVscGVyIGJpbmFy
eSB3aWxsIHJlY2VpdmUgU0lHU1lTIGFuZCBkdW1wIGNvcmUKKyAgICAvLyB3aGVuIGl0IGF0dGVt
cHRzIHRvIG9wZW4gYSBmaWxlLiBEaXNhYmxlIGl0IHNvIHRoYXQgcGx1Z2luIHNjYW5uaW5nCisg
ICAgLy8gb2NjdXJzIGluLXByb2Nlc3MuIFRoZSBkaXNhZHZhbnRhZ2UgaXMgdGhhdCBhIHBsdWdp
biB0aGF0IGNyYXNoZXMgd2hpbGUKKyAgICAvLyBsb2FkaW5nIHdpbGwgbm93IGNyYXNoIHRoZSB3
ZWIgcHJvY2Vzcy4KKyAgICBnc3RfcmVnaXN0cnlfZm9ya19zZXRfZW5hYmxlZChGQUxTRSk7Cisj
ZW5kaWYKKwogICAgIEdVbmlxdWVPdXRQdHI8R0Vycm9yPiBlcnJvcjsKICAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIHByb2JhYmx5IHBhc3MgdGhlIGFyZ3VtZW50cyBmcm9tIHRoZSBjb21tYW5kIGxp
bmUuCiAgICAgYm9vbCBnc3RJbml0aWFsaXplZCA9IGdzdF9pbml0X2NoZWNrKDAsIDAsICZlcnJv
ci5vdXRQdHIoKSk7Ci0tIAoyLjEuMAoK
</data>

          </attachment>
      

    </bug>

</bugzilla>