<?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>143625</bug_id>
          
          <creation_ts>2015-04-10 18:34:58 -0700</creation_ts>
          <short_desc>[Content Extensions] Don&apos;t unmap shared memory</short_desc>
          <delta_ts>2015-04-13 10:56:21 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1084439</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-04-10 18:34:58 -0700</bug_when>
    <thetext>Right now, when the Data object is destroyed, the mmap&apos;d memory is munmap&apos;d.  The memory that is then shared is unmapped underneath us!

This is a partial fix.  We should also make sure that the memory is not munmap&apos;d until there are no more shared memory handles pointing to it, but this makes it useable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084441</commentid>
    <comment_count>1</comment_count>
      <attachid>250551</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-04-10 18:42:01 -0700</bug_when>
    <thetext>Created attachment 250551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084442</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-04-10 18:42:45 -0700</bug_when>
    <thetext>Anders, could you mention this bug in the radar when reviewing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084460</commentid>
    <comment_count>3</comment_count>
      <attachid>250551</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-10 19:48:18 -0700</bug_when>
    <thetext>Comment on attachment 250551
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=250551&amp;action=review

&gt; Source/WebKit2/Shared/WebCompiledContentExtensionData.h:48
&gt; +    WebCompiledContentExtensionData(PassRefPtr&lt;SharedMemory&gt; data, NetworkCache::Data fileData, unsigned actionsOffset, unsigned actionsSize, unsigned bytecodeOffset, unsigned bytecodeSize)

New code should not use PassRefPtr. This should be RefPtr&lt;SharedMemory&gt;&amp;&amp; if you want to move it in. Then use WTF::move below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084572</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-04-11 14:03:34 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; New code should not use PassRefPtr. This should be RefPtr&lt;SharedMemory&gt;&amp;&amp; if
&gt; you want to move it in. Then use WTF::move below.
I only made that change because stylebot got mad at me for leaving it as RefPtr.  If this is true (which it probably is) then stylebot should be changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084703</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-04-12 16:25:45 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; New code should not use PassRefPtr. This should be RefPtr&lt;SharedMemory&gt;&amp;&amp; if
&gt; &gt; you want to move it in. Then use WTF::move below.
&gt; I only made that change because stylebot got mad at me for leaving it as
&gt; RefPtr.  If this is true (which it probably is) then stylebot should be
&gt; changed.

Stylebot normally says things like &quot;If even of these errors are wrong please file a bug on check-webkit-style&quot;, so you should probably file a bug on check-webkit-style :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084877</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-04-13 10:56:21 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/182742</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250551</attachid>
            <date>2015-04-10 18:42:01 -0700</date>
            <delta_ts>2015-04-10 19:48:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143625-20150410184108.patch</filename>
            <type>text/plain</type>
            <size>4195</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MjY0NykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE1LTA0LTEwICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NvbnRlbnQg
RXh0ZW5zaW9uc10gRG9uJ3QgdW5tYXAgc2hhcmVkIG1lbW9yeSB3aGlsZSB1c2luZyBpdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzYyNQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dl
YkNvbXBpbGVkQ29udGVudEV4dGVuc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbXBp
bGVkQ29udGVudEV4dGVuc2lvbjo6Y3JlYXRlRnJvbUNvbXBpbGVkQ29udGVudEV4dGVuc2lvbkRh
dGEpOgorICAgICAgICAqIFNoYXJlZC9XZWJDb21waWxlZENvbnRlbnRFeHRlbnNpb25EYXRhLmg6
CisgICAgICAgIChXZWJLaXQ6OldlYkNvbXBpbGVkQ29udGVudEV4dGVuc2lvbkRhdGE6OldlYkNv
bXBpbGVkQ29udGVudEV4dGVuc2lvbkRhdGEpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJ
VXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5jcHA6CisgICAgICAgIChBUEk6OmNyZWF0ZUV4dGVu
c2lvbik6CisgICAgICAgIEtlZXAgdGhlIERhdGEgb2JqZWN0IGFsaXZlIGFzIGxvbmcgYXMgdGhl
IFNoYXJlZE1lbW9yeSB0aGF0IHVzZXMgaXQuCisKIDIwMTUtMDQtMTAgIFRpbSBIb3J0b24gIDx0
aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVwbGFjZSBzZXRGaXhlZExheW91
dFNpemVFbmFibGVkOiB3aXRoIGFuIGVudW0gb2YgbGF5b3V0IG1vZGVzCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29tcGlsZWRDb250ZW50RXh0ZW5zaW9uLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29tcGlsZWRDb250ZW50RXh0ZW5zaW9uLmNw
cAkocmV2aXNpb24gMTgyNTU3KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbXBpbGVk
Q29udGVudEV4dGVuc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDEyICs1Miw4IEBAIFJl
ZjxXZWJDb21waWxlZENvbnRlbnRFeHRlbnNpb24+IFdlYkNvbXAKICAgICBtZW1jcHkoc3RhdGlj
X2Nhc3Q8Y2hhcio+KHNoYXJlZE1lbW9yeS0+ZGF0YSgpKSwgY29tcGlsZXJEYXRhLmFjdGlvbnMu
ZGF0YSgpLCBjb21waWxlckRhdGEuYWN0aW9ucy5zaXplKCkpOwogICAgIG1lbWNweShzdGF0aWNf
Y2FzdDxjaGFyKj4oc2hhcmVkTWVtb3J5LT5kYXRhKCkpICsgY29tcGlsZXJEYXRhLmFjdGlvbnMu
c2l6ZSgpLCBjb21waWxlckRhdGEuYnl0ZWNvZGUuZGF0YSgpLCBjb21waWxlckRhdGEuYnl0ZWNv
ZGUuc2l6ZSgpKTsKIAotICAgIFdlYkNvbXBpbGVkQ29udGVudEV4dGVuc2lvbkRhdGEgZGF0YTsK
LSAgICBkYXRhLmRhdGEgPSBXVEY6Om1vdmUoc2hhcmVkTWVtb3J5KTsKLSAgICBkYXRhLmFjdGlv
bnNPZmZzZXQgPSAwOwotICAgIGRhdGEuYWN0aW9uc1NpemUgPSBjb21waWxlckRhdGEuYWN0aW9u
cy5zaXplKCk7Ci0gICAgZGF0YS5ieXRlY29kZU9mZnNldCA9IGNvbXBpbGVyRGF0YS5hY3Rpb25z
LnNpemUoKTsKLSAgICBkYXRhLmJ5dGVjb2RlU2l6ZSA9IGNvbXBpbGVyRGF0YS5ieXRlY29kZS5z
aXplKCk7CisgICAgTmV0d29ya0NhY2hlOjpEYXRhIGZpbGVEYXRhOyAvLyBXZSBkb24ndCBoYXZl
IGFuIG1tYXAnZCBmaWxlIHRvIGtlZXAgYWxpdmUgaGVyZSwgc28ganVzdCB1c2UgYW4gZW1wdHkg
RGF0YSBvYmplY3QuCisgICAgV2ViQ29tcGlsZWRDb250ZW50RXh0ZW5zaW9uRGF0YSBkYXRhKFdU
Rjo6bW92ZShzaGFyZWRNZW1vcnkpLCBmaWxlRGF0YSwgMCwgY29tcGlsZXJEYXRhLmFjdGlvbnMu
c2l6ZSgpLCBjb21waWxlckRhdGEuYWN0aW9ucy5zaXplKCksIGNvbXBpbGVyRGF0YS5ieXRlY29k
ZS5zaXplKCkpOwogCiAgICAgcmV0dXJuIGNyZWF0ZShXVEY6Om1vdmUoZGF0YSkpOwogfQpJbmRl
eDogU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbXBpbGVkQ29udGVudEV4dGVuc2lvbkRhdGEu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29tcGlsZWRDb250ZW50
RXh0ZW5zaW9uRGF0YS5oCShyZXZpc2lvbiAxODI1NTcpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViQ29tcGlsZWRDb250ZW50RXh0ZW5zaW9uRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogCisjaW5jbHVk
ZSAiTmV0d29ya0NhY2hlRGF0YS5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDQsOCArNDUsOSBAQCBwdWJsaWM6CiAgICAgewogICAg
IH0KICAgICAKLSAgICBXZWJDb21waWxlZENvbnRlbnRFeHRlbnNpb25EYXRhKFJlZlB0cjxTaGFy
ZWRNZW1vcnk+IGRhdGEsIHVuc2lnbmVkIGFjdGlvbnNPZmZzZXQsIHVuc2lnbmVkIGFjdGlvbnNT
aXplLCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwgdW5zaWduZWQgYnl0ZWNvZGVTaXplKQorICAg
IFdlYkNvbXBpbGVkQ29udGVudEV4dGVuc2lvbkRhdGEoUGFzc1JlZlB0cjxTaGFyZWRNZW1vcnk+
IGRhdGEsIE5ldHdvcmtDYWNoZTo6RGF0YSBmaWxlRGF0YSwgdW5zaWduZWQgYWN0aW9uc09mZnNl
dCwgdW5zaWduZWQgYWN0aW9uc1NpemUsIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LCB1bnNpZ25l
ZCBieXRlY29kZVNpemUpCiAgICAgICAgIDogZGF0YShkYXRhKQorICAgICAgICAsIGZpbGVEYXRh
KGZpbGVEYXRhKQogICAgICAgICAsIGFjdGlvbnNPZmZzZXQoYWN0aW9uc09mZnNldCkKICAgICAg
ICAgLCBhY3Rpb25zU2l6ZShhY3Rpb25zU2l6ZSkKICAgICAgICAgLCBieXRlY29kZU9mZnNldChi
eXRlY29kZU9mZnNldCkKQEAgLTU3LDYgKzU5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29s
IGRlY29kZShJUEM6OkFyZ3VtZW50RGVjb2RlciYsIFdlYkNvbXBpbGVkQ29udGVudEV4dGVuc2lv
bkRhdGEmKTsKIAogICAgIFJlZlB0cjxTaGFyZWRNZW1vcnk+IGRhdGE7CisgICAgTmV0d29ya0Nh
Y2hlOjpEYXRhIGZpbGVEYXRhOwogICAgIHVuc2lnbmVkIGFjdGlvbnNPZmZzZXQgeyAwIH07CiAg
ICAgdW5zaWduZWQgYWN0aW9uc1NpemUgeyAwIH07CiAgICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZz
ZXQgeyAwIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVzZXJDb250
ZW50RXh0ZW5zaW9uU3RvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQVBJVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5jcHAJKHJldmlzaW9uIDE4MjU1
NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVXNlckNvbnRlbnRFeHRlbnNp
b25TdG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzNiw2ICsyMzYsNyBAQCBzdGF0aWMgUmVm
UHRyPEFQSTo6VXNlckNvbnRlbnRFeHRlbnNpb24+CiAgICAgYXV0byBzaGFyZWRNZW1vcnkgPSBX
ZWJLaXQ6OlNoYXJlZE1lbW9yeTo6Y3JlYXRlRnJvbVZNQnVmZmVyKGNvbnN0X2Nhc3Q8dWludDhf
dCo+KGZpbGVEYXRhLmRhdGEoKSksIGZpbGVEYXRhLnNpemUoKSk7CiAgICAgYXV0byBjb21waWxl
ZENvbnRlbnRFeHRlbnNpb25EYXRhID0gV2ViS2l0OjpXZWJDb21waWxlZENvbnRlbnRFeHRlbnNp
b25EYXRhKAogICAgICAgICBzaGFyZWRNZW1vcnksCisgICAgICAgIGZpbGVEYXRhLAogICAgICAg
ICBtZXRhRGF0YS5hY3Rpb25zT2Zmc2V0LAogICAgICAgICBtZXRhRGF0YS5hY3Rpb25zU2l6ZSwK
ICAgICAgICAgbWV0YURhdGEuYnl0ZWNvZGVPZmZzZXQsCg==
</data>
<flag name="review"
          id="275338"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>