<?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>142980</bug_id>
          
          <creation_ts>2015-03-23 13:45:24 -0700</creation_ts>
          <short_desc>[Seccomp] Should be easier to debug blocked syscalls</short_desc>
          <delta_ts>2015-10-15 08:52:13 -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>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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>150172</dependson>
          <blocked>140072</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1079385</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-03-23 13:45:24 -0700</bug_when>
    <thetext>Let&apos;s print a warning when a syscall is blocked, even in release builds. Otherwise problems caused by the sandbox will be basically impossible to debug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079400</commentid>
    <comment_count>1</comment_count>
      <attachid>249264</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-03-23 13:54:30 -0700</bug_when>
    <thetext>Created attachment 249264
[Linux] Seccomp Filters: Make it easier to debug blocked syscalls</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079403</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-23 13:56:54 -0700</bug_when>
    <thetext>Attachment 249264 did not pass style-queue:


ERROR: Source/WebKit2/Shared/linux/SeccompFilters/SeccompBroker.cpp:308:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/WebKit2/Shared/linux/SeccompFilters/SyscallPolicy.cpp:103:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/WebKit2/Shared/linux/SeccompFilters/Syscall.cpp:78:  msg_needed is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebKit2/Shared/linux/SeccompFilters/Syscall.cpp:81:  write_uint is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebKit2/Shared/linux/SeccompFilters/Syscall.cpp:86:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 5 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079406</commentid>
    <comment_count>3</comment_count>
      <attachid>249265</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-03-23 14:07:35 -0700</bug_when>
    <thetext>Created attachment 249265
[Linux] Seccomp Filters: Add helper functions for common directories</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079411</commentid>
    <comment_count>4</comment_count>
      <attachid>249265</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-03-23 14:10:36 -0700</bug_when>
    <thetext>Comment on attachment 249265
[Linux] Seccomp Filters: Add helper functions for common directories

$ webkit-patch post-commits 7f1dedab84e00f593d6618 --no-review
bugs.webkit.org login: mcatanzaro@igalia.com
Logging in as mcatanzaro@igalia.com...
Fetching: https://bugs.webkit.org/show_bug.cgi?id=142980&amp;ctype=xml&amp;excludefield=attachmentdata
Obsoleting 1 old patch on bug 142980
Obsoleting attachment: 249264
Adding patch &quot;[Linux] Seccomp Filters: Add helper functions for common directories&quot; to https://bugs.webkit.org/show_bug.cgi?id=142980

Looks like a bug in webkit-patch, since the URL in the patch is clearly https://bugs.webkit.org/show_bug.cgi?id=142982</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079431</commentid>
    <comment_count>5</comment_count>
      <attachid>249274</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-03-23 14:24:30 -0700</bug_when>
    <thetext>Created attachment 249274
[Linux] Seccomp Filters: Make it easier to debug blocked syscalls</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110542</commentid>
    <comment_count>6</comment_count>
      <attachid>257067</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-19 16:12:29 -0700</bug_when>
    <thetext>Created attachment 257067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110568</commentid>
    <comment_count>7</comment_count>
      <attachid>257067</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-07-19 23:05:41 -0700</bug_when>
    <thetext>Comment on attachment 257067
Patch

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

&gt; Source/WebKit2/Shared/linux/SeccompFilters/SyscallPolicy.cpp:277
&gt; +    CRASH();

ASSERT_NOT_REACHED() maybe, with a default return value? The compiler might also be smart and verbose enough to throw a warning/error when all the enum values are not accounted for in a switch statement with no default label.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110605</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-20 06:02:30 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 257067 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=257067&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Shared/linux/SeccompFilters/SyscallPolicy.cpp:277
&gt; &gt; +    CRASH();
&gt; 
&gt; ASSERT_NOT_REACHED() maybe, with a default return value?

OK

&gt; The compiler might
&gt; also be smart and verbose enough to throw a warning/error when all the enum
&gt; values are not accounted for in a switch statement with no default label.

It will do so if we use -Wswitch (we do; it&apos;s implied by -Wall), and it will do so _even with a default label_ if we use -Wswitch-enum (we don&apos;t, thank goodness).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110699</commentid>
    <comment_count>9</comment_count>
      <attachid>257114</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-20 12:03:07 -0700</bug_when>
    <thetext>Created attachment 257114
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110705</commentid>
    <comment_count>10</comment_count>
      <attachid>257114</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-07-20 12:08:37 -0700</bug_when>
    <thetext>Comment on attachment 257114
Patch

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

&gt; Source/WebKit2/Shared/linux/SeccompFilters/SyscallPolicy.cpp:279
&gt; +    return &quot;&quot;;

I&apos;d prefer &apos;unknown&apos; or similar just so that the message doesn&apos;t get confusing and discarded because of an empty permission name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110723</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-20 13:06:02 -0700</bug_when>
    <thetext>Thanks, I&apos;ll go with &quot;unknown action&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110724</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-20 13:07:46 -0700</bug_when>
    <thetext>Committed r187030: &lt;http://trac.webkit.org/changeset/187030&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249264</attachid>
            <date>2015-03-23 13:54:30 -0700</date>
            <delta_ts>2015-03-23 14:07:32 -0700</delta_ts>
            <desc>[Linux] Seccomp Filters: Make it easier to debug blocked syscalls</desc>
            <filename>bug-142980-20150323155353.patch</filename>
            <type>text/plain</type>
            <size>8464</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxODI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjBjYWMyMmUzZTBjZTQw
OWFiNzNlNzEwNTZmMTg1ZjIyMGEzNmE3MS4uNDcxYWM4OTJlNTFiNWVlMGM4NmJhODQ0Njg4MGFl
YTMxM2ViMTNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTAzLTIzICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbU2VjY29t
cF0gU2hvdWxkIGJlIGVhc2llciB0byBkZWJ1ZyBibG9ja2VkIHN5c2NhbGxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI5ODAKKworICAgICAgICBU
aGVzZSBzaG91bGQgYmUgcHJpbnRlZCBldmVuIHdoZW4gbm90IHJ1bm5pbmcgaW4gZGVidWcgbW9k
ZS4gVGhlcmUgaXMgbm8KKyAgICAgICAgdmFsdWUgaW4gaGlkaW5nIGVycm9ycyBmcm9tIHJlbGVh
c2UgYnVpbGQgdXNlcnMuIEFsc28sIEkgZG9uJ3QgaGF2ZSB0aGUKKyAgICAgICAgcGF0aWVuY2Ug
dG8gdXNlIGEgZGVidWcgYnVpbGQgZm9yIGRldmVsb3BtZW50LgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0
ZXJzL1NlY2NvbXBCcm9rZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpTZWNjb21wQnJva2VyOjpy
dW5Mb29wKTogRG9uJ3QgY2xvc2Ugc3RkZXJyIGV0LiBhbC4gaW4gcmVsZWFzZSBidWlsZHMuCisg
ICAgICAgICogU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwOgorICAgICAg
ICAoV2ViS2l0Ojp3cml0ZV91aW50KTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OnJlcG9ydFVu
ZXhwZWN0ZWRTeXNjYWxsKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlN5c2NhbGw6OmNyZWF0
ZUZyb21Db250ZXh0KTogQ2FsbCByZXBvcnRVbmV4cGVjdGVkU3lzY2FsbC4gQWxzbywgbm8gbmVl
ZCB0byBjcmFzaAorICAgICAgICBoZXJlIGluIHJlbGVhc2UgYnVpbGRzLgorICAgICAgICAqIFNo
YXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6U3lzY2FsbFBvbGljeTo6aGFzUGVybWlzc2lvbkZvclBhdGgpOiBQcmludCBhIHdhcm5p
bmcgd2hlbiBhY2Nlc3MgaXMgZGVuaWVkLgorICAgICAgICAoV2ViS2l0OjpTeXNjYWxsUG9saWN5
OjpwZXJtaXNzaW9uVG9TdHJpbmcpOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvbGludXgvU2Vj
Y29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5oOiBBZGQgcGVybWlzc2lvblRvU3RyaW5nLgorCiAy
MDE1LTAxLTA0ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbR1RLXSBBZGQgc2VjY29tcCBmaWx0ZXJzIHN1cHBvcnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TZWNjb21wQnJva2VyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TZWNjb21wQnJv
a2VyLmNwcAppbmRleCAxY2E2M2ZmZGI3ZmE3NWM1Yjk4N2Q4N2I5ZDQ0NmIwZTNjYzg1OWYzLi4y
MzRlMzgyN2ZhODliY2Q3YjgwYjE5YjJmZWIwODUzODBkMjI5NmIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1NlY2NvbXBC
cm9rZXIuY3BwCkBAIC0zMjAsMTQgKzMyMCw4IEBAIHZvaWQgU2VjY29tcEJyb2tlcjo6aW5pdGlh
bGl6ZSgpCiAKIE5PX1JFVFVSTiB2b2lkIFNlY2NvbXBCcm9rZXI6OnJ1bkxvb3AoaW50IHNvY2tl
dCkKIHsKLSNpZm5kZWYgTkRFQlVHCi0gICAgaW50IGkgPSBTVERFUlJfRklMRU5PICsgMTsKLSNl
bHNlCi0gICAgaW50IGkgPSAwOwotI2VuZGlmCi0gICAgLy8gQ2xvc2UgYWxsIGluaGVyaXRlZCBm
aWxlIGRlc2NyaXB0b3JzIG90aGVyCi0gICAgLy8gdGhhbiB0aGUgc29ja2V0IHRvIHRoZSBzYW5k
Ym94ZWQgcHJvY2Vzcy4KLSAgICBmb3IgKDsgaSA8IEZEX1NFVFNJWkU7ICsraSkKKyAgICAvLyBD
bG9zZSB1bm5lY2Vzc2FyeSBpbmhlcml0ZWQgZmlsZSBkZXNjcmlwdG9ycy4KKyAgICBmb3IgKGlu
dCBpID0gU1RERVJSX0ZJTEVOTyArIDE7IGkgPCBGRF9TRVRTSVpFOyArK2kpCiAgICAgICAgIGlm
IChpICE9IHNvY2tldCkKICAgICAgICAgICAgIGNsb3NlKGkpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKaW5kZXgg
MGQ0YWZkMGRkMjIzMDlkOTBlYmVmYTNlZTY3YjQ2MTM4MzM0YTVlNy4uY2EwOGJiZmNmZDQzZTBm
ODk5ZTE2ZTE1YjdmMzU5ZTViMjlhYjgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcApAQCAtMSw1ICsxLDYgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgSWdhbGlhIFMuTC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsNiArMjQsNDEgQEAKICAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisvKgorICogU2FmZSBwcmludGluZyBiYXNlZCBvbiBj
b2RlIGZyb20gaHR0cDovL291dGZsdXgubmV0L3RlYWNoLXNlY2NvbXAKKyAqCisgKiBDb3B5cmln
aHQgKGMpIDIwMTIgVGhlIENocm9taXVtIE9TIEF1dGhvcnMgPGNocm9taXVtLW9zLWRldkBjaHJv
bWl1bS5vcmc+CisgKiBBdXRob3JzOgorICogIFdpbGwgRHJld3J5IDx3YWRAY2hyb21pdW0ub3Jn
PgorICogIEtlZXMgQ29vayA8a2Vlc2Nvb2tAY2hyb21pdW0ub3JnPgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRp
b24uCisgKiAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJTeXNjYWxsLmgiCiAKQEAgLTMyLDEwICs2OCw0MiBAQAogI2lu
Y2x1ZGUgIk9wZW5TeXNjYWxsLmgiCiAjaW5jbHVkZSAiU2lnYWN0aW9uU3lzY2FsbC5oIgogI2lu
Y2x1ZGUgIlNpZ3Byb2NtYXNrU3lzY2FsbC5oIgorI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRl
IDxzZWNjb21wLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgbXNnX25lZWRl
ZCA9ICJCbG9ja2VkIHVuZXhwZWN0ZWQgc3lzY2FsbDogIjsKKworLy8gU2luY2UgInNwcmludGYi
IGlzIG5vdCBzaWduYWwtc2FmZSwgcmVpbXBsZW1lbnQgJWQgaGVyZS4KK3N0YXRpYyB2b2lkIHdy
aXRlX3VpbnQoY2hhciogYnVmLCB1bnNpZ25lZCB2YWwpCit7CisgICAgaW50IHdpZHRoID0gMDsK
KyAgICB1bnNpZ25lZCB0ZW5zOworCisgICAgaWYgKHZhbCA9PSAwKSB7CisgICAgICAgIHN0cmNw
eShidWYsICIwIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZm9yICh0ZW5zID0gdmFs
OyB0ZW5zOyB0ZW5zIC89IDEwKQorICAgICAgICArK3dpZHRoOworICAgIGJ1Zlt3aWR0aF0gPSAn
XDAnOworICAgIGZvciAodGVucyA9IHZhbDsgdGVuczsgdGVucyAvPSAxMCkKKyAgICAgICAgYnVm
Wy0td2lkdGhdID0gJzAnICsgKHRlbnMgJSAxMCk7Cit9CisKK3N0YXRpYyB2b2lkIHJlcG9ydFVu
ZXhwZWN0ZWRTeXNjYWxsKGludCBzeXNjYWxsKQoreworICAgIGNoYXIgYnVmWzEyOF07CisgICAg
c3RhdGljX2Fzc2VydChzdHJsZW4obXNnX25lZWRlZCkgKyBzdGQ6Om51bWVyaWNfbGltaXRzPGlu
dD46OmRpZ2l0czEwICsgMSA8IHNpemVvZihidWYpLCAiQnVmZmVyIHRvbyBzbWFsbCIpOworICAg
IHN0cmNweShidWYsIG1zZ19uZWVkZWQpOworICAgIHdyaXRlX3VpbnQoYnVmICsgc3RybGVuKGJ1
ZiksIHN5c2NhbGwpOworICAgIHN0cmNhdChidWYsICJcbiIpOworICAgIHdyaXRlKFNUREVSUl9G
SUxFTk8sIGJ1Ziwgc3RybGVuKGJ1ZikpOworfQorCiBzdGQ6OnVuaXF1ZV9wdHI8U3lzY2FsbD4g
U3lzY2FsbDo6Y3JlYXRlRnJvbUNvbnRleHQodWNvbnRleHRfdCogdWNvbnRleHQpCiB7CiAgICAg
bWNvbnRleHRfdCogbWNvbnRleHQgPSAmdWNvbnRleHQtPnVjX21jb250ZXh0OwpAQCAtNTQsNyAr
MTIyLDggQEAgc3RkOjp1bmlxdWVfcHRyPFN5c2NhbGw+IFN5c2NhbGw6OmNyZWF0ZUZyb21Db250
ZXh0KHVjb250ZXh0X3QqIHVjb250ZXh0KQogICAgIGNhc2UgX19OUl9ydF9zaWdhY3Rpb246CiAg
ICAgICAgIHJldHVybiBTaWdhY3Rpb25TeXNjYWxsOjpjcmVhdGVGcm9tQ29udGV4dChtY29udGV4
dCk7CiAgICAgZGVmYXVsdDoKLSAgICAgICAgQ1JBU0goKTsKKyAgICAgICAgcmVwb3J0VW5leHBl
Y3RlZFN5c2NhbGwobWNvbnRleHQtPmdyZWdzW1JFR19TWVNDQUxMXSk7CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KIAogICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xp
Y3kuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2Nh
bGxQb2xpY3kuY3BwCmluZGV4IDJkMzE1ZDc4NWJjMDkyM2EzNDg1NzEzNjVmOWVlNDM5YTAyMWJl
ZTUuLjg2ZDEyOTk1ZWNhNjZhZjA2M2YxM2Y4NzBlMWZjNTdhNWFkNjEyNzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lz
Y2FsbFBvbGljeS5jcHAKQEAgLTk3LDcgKzk3LDEzIEBAIGJvb2wgU3lzY2FsbFBvbGljeTo6aGFz
UGVybWlzc2lvbkZvclBhdGgoY29uc3QgY2hhciogcGF0aCwgUGVybWlzc2lvbiBwZXJtaXNzaW9u
CiAgICAgZnJlZShiYXNlUGF0aCk7CiAgICAgZnJlZShjYW5vbmljYWxQYXRoKTsKIAotICAgIHJl
dHVybiAocGVybWlzc2lvbiAmIHBvbGljeS0+dmFsdWUpID09IHBlcm1pc3Npb247CisgICAgaWYg
KChwZXJtaXNzaW9uICYgcG9saWN5LT52YWx1ZSkgPT0gcGVybWlzc2lvbikKKyAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICAvLyBEb24ndCB3YXJuIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3Qg
YXQgYWxsLgorICAgIGlmIChhY2Nlc3MocGF0aCwgRl9PSykgPT0gMCB8fCBlcnJubyAhPSBFTk9F
TlQpCisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQmxvY2tlZCBpbXBlcm1pc3NpYmxlICVzIGFj
Y2VzcyB0byAlc1xuIiwgU3lzY2FsbFBvbGljeTo6cGVybWlzc2lvblRvU3RyaW5nKHBlcm1pc3Np
b24pLCBwYXRoKTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHZvaWQgU3lzY2FsbFBvbGljeTo6
YWRkRmlsZVBlcm1pc3Npb24oY29uc3QgU3RyaW5nJiBwYXRoLCBQZXJtaXNzaW9uIHBlcm1pc3Np
b24pCkBAIC0yNTYsNiArMjYyLDIxIEBAIHZvaWQgU3lzY2FsbFBvbGljeTo6YWRkRGVmYXVsdFdl
YlByb2Nlc3NQb2xpY3koY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyCiAjZW5kaWYK
IH0KIAorY29uc3QgY2hhciogU3lzY2FsbFBvbGljeTo6cGVybWlzc2lvblRvU3RyaW5nKFBlcm1p
c3Npb24gcGVybWlzc2lvbikKK3sKKyAgICBzd2l0Y2ggKHBlcm1pc3Npb24pIHsKKyAgICBjYXNl
IFJlYWQ6CisgICAgICAgIHJldHVybiAicmVhZCI7CisgICAgY2FzZSBXcml0ZToKKyAgICAgICAg
cmV0dXJuICJ3cml0ZSI7CisgICAgY2FzZSBSZWFkQW5kV3JpdGU6CisgICAgICAgIHJldHVybiAi
cmVhZC93cml0ZSI7CisgICAgY2FzZSBOb3RBbGxvd2VkOgorICAgICAgICByZXR1cm4gImRpc2Fs
bG93ZWQiOworICAgIH0KKyAgICBDUkFTSCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAogI2VuZGlmIC8vIEVOQUJMRShTRUNDT01QX0ZJTFRFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuaApp
bmRleCBjYWUwZTQ1ZDJmOGMyZTc3ZDA1OGFjYmMxYzczNTk4NjljNjIyZjNjLi40YjM4ODZlNmU5
MGE5ZmM5MDE3OTliZjdiZDZlNThjNTRhZWE4ZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmgKQEAg
LTUyLDYgKzUyLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGREZWZhdWx0V2ViUHJvY2Vzc1Bv
bGljeShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKKyAgICBzdGF0aWMg
Y29uc3QgY2hhciogcGVybWlzc2lvblRvU3RyaW5nKFBlcm1pc3Npb24pOworCiBwcml2YXRlOgog
ICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIGludD4gUGVybWlzc2lvbk1hcDsKICAgICBQZXJt
aXNzaW9uTWFwIG1fZmlsZVBlcm1pc3Npb247Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249265</attachid>
            <date>2015-03-23 14:07:35 -0700</date>
            <delta_ts>2015-03-23 14:10:36 -0700</delta_ts>
            <desc>[Linux] Seccomp Filters: Add helper functions for common directories</desc>
            <filename>bug-142980-20150323160659.patch</filename>
            <type>text/plain</type>
            <size>6661</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxODI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDcxYWM4OTJlNTFiNWVl
MGM4NmJhODQ0Njg4MGFlYTMxM2ViMTNmOS4uZDlkNmJiMjE3NzE0NzI1OTYwNDllYWQ5NGJjOGJm
MDU0ODBiZTNmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE1LTAzLTIzICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAorICAgICAgICBbU2VjY29t
cF0gQWRkIGhlbHBlcnMgdG8gZ2V0IFhERyBiYXNlIGRpcmVjdG9yeSBsb2NhdGlvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjk4MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxhdGZvcm1FZmwu
Y21ha2U6IEJ1aWxkIEJhc2VEaXJlY3RvcnkuY3BwCisgICAgICAgICogUGxhdGZvcm1HVEsuY21h
a2U6IERpdHRvCisgICAgICAgICogU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL0Jhc2VEaXJl
Y3RvcnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6dXNlckhvbWVEaXJlY3RvcnkpOgor
ICAgICAgICAoV2ViS2l0Ojp1c2VyQ2FjaGVEaXJlY3RvcnkpOgorICAgICAgICAoV2ViS2l0Ojp1
c2VyQ29uZmlnRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6dXNlckRhdGFEaXJlY3Rvcnkp
OgorICAgICAgICAoV2ViS2l0Ojp1c2VyUnVudGltZURpcmVjdG9yeSk6CisgICAgICAgICogU2hh
cmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL0Jhc2VEaXJlY3RvcnkuaDogQWRkZWQuCisKKzIwMTUt
MDMtMjMgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCiAgICAg
ICAgIFtTZWNjb21wXSBTaG91bGQgYmUgZWFzaWVyIHRvIGRlYnVnIGJsb2NrZWQgc3lzY2FsbHMK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjk4MAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDIxYTA3Nzg5YWU2ZDE3NjZiY2FmN2QwMTk5
NzdiNzJhOGI5MmNkYWUuLjU5N2I4ZDNjMTk1NDIyOGY4OGM1YTlmZTZjMDQ0NzIyZDI5YmI1ZmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC00Niw2ICs0Niw3IEBAIGxpc3QoQVBQRU5E
IFdlYktpdDJfU09VUkNFUwogCiAgICAgU2hhcmVkL2xpbnV4L1dlYk1lbW9yeVNhbXBsZXJMaW51
eC5jcHAKIAorICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9CYXNlRGlyZWN0b3J5LmNw
cAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2FsbC5jcHAKICAgICBT
aGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHAKICAgICBTaGFyZWQv
bGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEZpbHRlcnMuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RL
LmNtYWtlCmluZGV4IDAzZGUxYjg5NTkxODBiNjk1ZGUyN2JlZDI3NTBiYmIzMzBlZjRjMmQuLmFi
OTIyNjM3NWQ2MmMyYzVhYzhjZDU4ZjdlYTI2MTgyOWNkMDcwYzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
R1RLLmNtYWtlCkBAIC02Nyw2ICs2Nyw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwog
CiAgICAgU2hhcmVkL2xpbnV4L1dlYk1lbW9yeVNhbXBsZXJMaW51eC5jcHAKIAorICAgIFNoYXJl
ZC9saW51eC9TZWNjb21wRmlsdGVycy9CYXNlRGlyZWN0b3J5LmNwcAogICAgIFNoYXJlZC9saW51
eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2FsbC5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29t
cEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRl
cnMvU2VjY29tcEZpbHRlcnMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bGludXgvU2VjY29tcEZpbHRlcnMvQmFzZURpcmVjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvQmFzZURpcmVjdG9yeS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTA0MzQ4ZWEzNzYxMDc4YzgxOTQ2ZmY3YmY3MDg0NWZjNmUyM2U3NAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9CYXNlRGlyZWN0
b3J5LmNwcApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IElnYWxp
YSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQmFz
ZURpcmVjdG9yeS5oIgorCisjaW5jbHVkZSA8Z2xpYi5oPgorCisjaWYgRU5BQkxFKFNFQ0NPTVBf
RklMVEVSUykKKworbmFtZXNwYWNlIFdlYktpdCB7CisKKyNpZiBVU0UoR0xJQikKKworU3RyaW5n
IHVzZXJIb21lRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChnX2dl
dF9ob21lX2RpcigpKTsKK30KKworU3RyaW5nIHVzZXJDYWNoZURpcmVjdG9yeSgpCit7CisgICAg
cmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZ19nZXRfdXNlcl9jYWNoZV9kaXIoKSk7Cit9CisKK1N0
cmluZyB1c2VyQ29uZmlnRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRG
OChnX2dldF91c2VyX2NvbmZpZ19kaXIoKSk7Cit9CisKK1N0cmluZyB1c2VyRGF0YURpcmVjdG9y
eSgpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoZ19nZXRfdXNlcl9kYXRhX2Rpcigp
KTsKK30KKworU3RyaW5nIHVzZXJSdW50aW1lRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3Ry
aW5nOjpmcm9tVVRGOChnX2dldF91c2VyX3J1bnRpbWVfZGlyKCkpOworfQorCisjZW5kaWYgLy8g
VVNFKEdMSUIpCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFNF
Q0NPTVBfRklMVEVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9T
ZWNjb21wRmlsdGVycy9CYXNlRGlyZWN0b3J5LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGlu
dXgvU2VjY29tcEZpbHRlcnMvQmFzZURpcmVjdG9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwODg3Y2IxMjVi
YzcxNGQ4NTU1Y2FjMjVmYTE5ZjUxYzU5ZGE1ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvQmFzZURpcmVjdG9yeS5oCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgSWdhbGlhIFMuTC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgQmFzZURpcmVjdG9yeV9oCisjZGVmaW5lIEJhc2VEaXJlY3Rvcnlf
aAorCisjaWYgRU5BQkxFKFNFQ0NPTVBfRklMVEVSUykKKworI2luY2x1ZGUgInd0Zi90ZXh0L1dU
RlN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworU3RyaW5nIHVzZXJDYWNoZURpcmVj
dG9yeSgpOworU3RyaW5nIHVzZXJDb25maWdEaXJlY3RvcnkoKTsKK1N0cmluZyB1c2VyRGF0YURp
cmVjdG9yeSgpOworU3RyaW5nIHVzZXJIb21lRGlyZWN0b3J5KCk7CitTdHJpbmcgdXNlclJ1bnRp
bWVEaXJlY3RvcnkoKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFC
TEUoU0VDQ09NUF9GSUxURVJTKQorCisjZW5kaWYgLy8gQmFzZURpcmVjdG9yeV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249274</attachid>
            <date>2015-03-23 14:24:30 -0700</date>
            <delta_ts>2015-07-19 16:12:26 -0700</delta_ts>
            <desc>[Linux] Seccomp Filters: Make it easier to debug blocked syscalls</desc>
            <filename>bug-142980-20150323162354.patch</filename>
            <type>text/plain</type>
            <size>8527</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxODI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjBjYWMyMmUzZTBjZTQw
OWFiNzNlNzEwNTZmMTg1ZjIyMGEzNmE3MS4uNDcxYWM4OTJlNTFiNWVlMGM4NmJhODQ0Njg4MGFl
YTMxM2ViMTNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTAzLTIzICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbU2VjY29t
cF0gU2hvdWxkIGJlIGVhc2llciB0byBkZWJ1ZyBibG9ja2VkIHN5c2NhbGxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI5ODAKKworICAgICAgICBU
aGVzZSBzaG91bGQgYmUgcHJpbnRlZCBldmVuIHdoZW4gbm90IHJ1bm5pbmcgaW4gZGVidWcgbW9k
ZS4gVGhlcmUgaXMgbm8KKyAgICAgICAgdmFsdWUgaW4gaGlkaW5nIGVycm9ycyBmcm9tIHJlbGVh
c2UgYnVpbGQgdXNlcnMuIEFsc28sIEkgZG9uJ3QgaGF2ZSB0aGUKKyAgICAgICAgcGF0aWVuY2Ug
dG8gdXNlIGEgZGVidWcgYnVpbGQgZm9yIGRldmVsb3BtZW50LgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0
ZXJzL1NlY2NvbXBCcm9rZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpTZWNjb21wQnJva2VyOjpy
dW5Mb29wKTogRG9uJ3QgY2xvc2Ugc3RkZXJyIGV0LiBhbC4gaW4gcmVsZWFzZSBidWlsZHMuCisg
ICAgICAgICogU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwOgorICAgICAg
ICAoV2ViS2l0Ojp3cml0ZV91aW50KTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OnJlcG9ydFVu
ZXhwZWN0ZWRTeXNjYWxsKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlN5c2NhbGw6OmNyZWF0
ZUZyb21Db250ZXh0KTogQ2FsbCByZXBvcnRVbmV4cGVjdGVkU3lzY2FsbC4gQWxzbywgbm8gbmVl
ZCB0byBjcmFzaAorICAgICAgICBoZXJlIGluIHJlbGVhc2UgYnVpbGRzLgorICAgICAgICAqIFNo
YXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6U3lzY2FsbFBvbGljeTo6aGFzUGVybWlzc2lvbkZvclBhdGgpOiBQcmludCBhIHdhcm5p
bmcgd2hlbiBhY2Nlc3MgaXMgZGVuaWVkLgorICAgICAgICAoV2ViS2l0OjpTeXNjYWxsUG9saWN5
OjpwZXJtaXNzaW9uVG9TdHJpbmcpOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvbGludXgvU2Vj
Y29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5oOiBBZGQgcGVybWlzc2lvblRvU3RyaW5nLgorCiAy
MDE1LTAxLTA0ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbR1RLXSBBZGQgc2VjY29tcCBmaWx0ZXJzIHN1cHBvcnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TZWNjb21wQnJva2VyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TZWNjb21wQnJv
a2VyLmNwcAppbmRleCAxY2E2M2ZmZGI3ZmE3NWM1Yjk4N2Q4N2I5ZDQ0NmIwZTNjYzg1OWYzLi4w
MjFlYmM4MWExNzllODM1Y2NlZGU3YTk5NDlhMTFhZWI4MzUzNTNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1NlY2NvbXBC
cm9rZXIuY3BwCkBAIC0zMjAsMTYgKzMyMCwxMSBAQCB2b2lkIFNlY2NvbXBCcm9rZXI6OmluaXRp
YWxpemUoKQogCiBOT19SRVRVUk4gdm9pZCBTZWNjb21wQnJva2VyOjpydW5Mb29wKGludCBzb2Nr
ZXQpCiB7Ci0jaWZuZGVmIE5ERUJVRwotICAgIGludCBpID0gU1RERVJSX0ZJTEVOTyArIDE7Ci0j
ZWxzZQotICAgIGludCBpID0gMDsKLSNlbmRpZgotICAgIC8vIENsb3NlIGFsbCBpbmhlcml0ZWQg
ZmlsZSBkZXNjcmlwdG9ycyBvdGhlcgotICAgIC8vIHRoYW4gdGhlIHNvY2tldCB0byB0aGUgc2Fu
ZGJveGVkIHByb2Nlc3MuCi0gICAgZm9yICg7IGkgPCBGRF9TRVRTSVpFOyArK2kpCisgICAgLy8g
Q2xvc2UgdW5uZWNlc3NhcnkgaW5oZXJpdGVkIGZpbGUgZGVzY3JpcHRvcnMuCisgICAgZm9yIChp
bnQgaSA9IFNUREVSUl9GSUxFTk8gKyAxOyBpIDwgRkRfU0VUU0laRTsgKytpKSB7CiAgICAgICAg
IGlmIChpICE9IHNvY2tldCkKICAgICAgICAgICAgIGNsb3NlKGkpOworICAgIH0KIAogICAgIHdo
aWxlICh0cnVlKSB7CiAgICAgICAgIGNoYXIgYnVmZmVyW21lc3NhZ2VNYXhTaXplXTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxs
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxs
LmNwcAppbmRleCAwZDRhZmQwZGQyMjMwOWQ5MGViZWZhM2VlNjdiNDYxMzgzMzRhNWU3Li4zZmY3
ODczZGFkMDM5YWZhYTY5ZDU2OGE5ZDc1NTUzNjQ4MGNiYTcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCkBAIC0x
LDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBJbnRlbCBDb3Jwb3JhdGlvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBJZ2FsaWEgUy5MLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMyw2ICsyNCw0MSBAQAogICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKy8qCisgKiBTYWZlIHByaW50aW5n
IGJhc2VkIG9uIGNvZGUgZnJvbSBodHRwOi8vb3V0Zmx1eC5uZXQvdGVhY2gtc2VjY29tcAorICoK
KyAqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgQ2hyb21pdW0gT1MgQXV0aG9ycyA8Y2hyb21pdW0t
b3MtZGV2QGNocm9taXVtLm9yZz4KKyAqIEF1dGhvcnM6CisgKiAgV2lsbCBEcmV3cnkgPHdhZEBj
aHJvbWl1bS5vcmc+CisgKiAgS2VlcyBDb29rIDxrZWVzY29va0BjaHJvbWl1bS5vcmc+CisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqICAgIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAg
IGRpc3RyaWJ1dGlvbi4KKyAqICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiAgICB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlN5c2NhbGwuaCIKIApAQCAtMzIsMTAgKzY4
LDQyIEBACiAjaW5jbHVkZSAiT3BlblN5c2NhbGwuaCIKICNpbmNsdWRlICJTaWdhY3Rpb25TeXNj
YWxsLmgiCiAjaW5jbHVkZSAiU2lncHJvY21hc2tTeXNjYWxsLmgiCisjaW5jbHVkZSA8bGltaXRz
PgogI2luY2x1ZGUgPHNlY2NvbXAuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1
bmlzdGQuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25z
dCBtZXNzYWdlID0gIkJsb2NrZWQgdW5leHBlY3RlZCBzeXNjYWxsOiAiOworCisvLyBTaW5jZSAi
c3ByaW50ZiIgaXMgbm90IHNpZ25hbC1zYWZlLCByZWltcGxlbWVudCAlZCBoZXJlLgorc3RhdGlj
IHZvaWQgd3JpdGVVbnNpZ25lZEludChjaGFyKiBidWYsIHVuc2lnbmVkIHZhbCkKK3sKKyAgICBp
bnQgd2lkdGggPSAwOworICAgIHVuc2lnbmVkIHRlbnM7CisKKyAgICBpZiAoIXZhbCkgeworICAg
ICAgICBzdHJjcHkoYnVmLCAiMCIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGZvciAo
dGVucyA9IHZhbDsgdGVuczsgdGVucyAvPSAxMCkKKyAgICAgICAgKyt3aWR0aDsKKyAgICBidWZb
d2lkdGhdID0gJ1wwJzsKKyAgICBmb3IgKHRlbnMgPSB2YWw7IHRlbnM7IHRlbnMgLz0gMTApCisg
ICAgICAgIGJ1ZlstLXdpZHRoXSA9ICcwJyArICh0ZW5zICUgMTApOworfQorCitzdGF0aWMgdm9p
ZCByZXBvcnRVbmV4cGVjdGVkU3lzY2FsbChpbnQgc3lzY2FsbCkKK3sKKyAgICBjaGFyIGJ1Zlsx
MjhdOworICAgIHN0YXRpY19hc3NlcnQoc3RybGVuKG1lc3NhZ2UpICsgc3RkOjpudW1lcmljX2xp
bWl0czxpbnQ+OjpkaWdpdHMxMCArIDEgPCBzaXplb2YoYnVmKSwgIkJ1ZmZlciB0b28gc21hbGwi
KTsKKyAgICBzdHJjcHkoYnVmLCBtZXNzYWdlKTsKKyAgICB3cml0ZVVuc2lnbmVkSW50KGJ1ZiAr
IHN0cmxlbihidWYpLCBzeXNjYWxsKTsKKyAgICBzdHJjYXQoYnVmLCAiXG4iKTsKKyAgICB3cml0
ZShTVERFUlJfRklMRU5PLCBidWYsIHN0cmxlbihidWYpKTsKK30KKwogc3RkOjp1bmlxdWVfcHRy
PFN5c2NhbGw+IFN5c2NhbGw6OmNyZWF0ZUZyb21Db250ZXh0KHVjb250ZXh0X3QqIHVjb250ZXh0
KQogewogICAgIG1jb250ZXh0X3QqIG1jb250ZXh0ID0gJnVjb250ZXh0LT51Y19tY29udGV4dDsK
QEAgLTU0LDcgKzEyMiw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxTeXNjYWxsPiBTeXNjYWxsOjpjcmVh
dGVGcm9tQ29udGV4dCh1Y29udGV4dF90KiB1Y29udGV4dCkKICAgICBjYXNlIF9fTlJfcnRfc2ln
YWN0aW9uOgogICAgICAgICByZXR1cm4gU2lnYWN0aW9uU3lzY2FsbDo6Y3JlYXRlRnJvbUNvbnRl
eHQobWNvbnRleHQpOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIENSQVNIKCk7CisgICAgICAgIHJl
cG9ydFVuZXhwZWN0ZWRTeXNjYWxsKG1jb250ZXh0LT5ncmVnc1tSRUdfU1lTQ0FMTF0pOworICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAKICAgICByZXR1cm4gbnVsbHB0cjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9T
eXNjYWxsUG9saWN5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmls
dGVycy9TeXNjYWxsUG9saWN5LmNwcAppbmRleCAyZDMxNWQ3ODViYzA5MjNhMzQ4NTcxMzY1Zjll
ZTQzOWEwMjFiZWU1Li4yMzQ3ZmRiNDRmMzQ1OTE3MWFmZGZmZjRlNzNjNzY5YTU0OGIwZTk1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lz
Y2FsbFBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBG
aWx0ZXJzL1N5c2NhbGxQb2xpY3kuY3BwCkBAIC05Nyw3ICs5NywxMyBAQCBib29sIFN5c2NhbGxQ
b2xpY3k6Omhhc1Blcm1pc3Npb25Gb3JQYXRoKGNvbnN0IGNoYXIqIHBhdGgsIFBlcm1pc3Npb24g
cGVybWlzc2lvbgogICAgIGZyZWUoYmFzZVBhdGgpOwogICAgIGZyZWUoY2Fub25pY2FsUGF0aCk7
CiAKLSAgICByZXR1cm4gKHBlcm1pc3Npb24gJiBwb2xpY3ktPnZhbHVlKSA9PSBwZXJtaXNzaW9u
OworICAgIGlmICgocGVybWlzc2lvbiAmIHBvbGljeS0+dmFsdWUpID09IHBlcm1pc3Npb24pCisg
ICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gRG9uJ3Qgd2FybiBpZiB0aGUgZmlsZSBkb2Vz
bid0IGV4aXN0IGF0IGFsbC4KKyAgICBpZiAoIWFjY2VzcyhwYXRoLCBGX09LKSB8fCBlcnJubyAh
PSBFTk9FTlQpCisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQmxvY2tlZCBpbXBlcm1pc3NpYmxl
ICVzIGFjY2VzcyB0byAlc1xuIiwgU3lzY2FsbFBvbGljeTo6cGVybWlzc2lvblRvU3RyaW5nKHBl
cm1pc3Npb24pLCBwYXRoKTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHZvaWQgU3lzY2FsbFBv
bGljeTo6YWRkRmlsZVBlcm1pc3Npb24oY29uc3QgU3RyaW5nJiBwYXRoLCBQZXJtaXNzaW9uIHBl
cm1pc3Npb24pCkBAIC0yNTYsNiArMjYyLDIxIEBAIHZvaWQgU3lzY2FsbFBvbGljeTo6YWRkRGVm
YXVsdFdlYlByb2Nlc3NQb2xpY3koY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyCiAj
ZW5kaWYKIH0KIAorY29uc3QgY2hhciogU3lzY2FsbFBvbGljeTo6cGVybWlzc2lvblRvU3RyaW5n
KFBlcm1pc3Npb24gcGVybWlzc2lvbikKK3sKKyAgICBzd2l0Y2ggKHBlcm1pc3Npb24pIHsKKyAg
ICBjYXNlIFJlYWQ6CisgICAgICAgIHJldHVybiAicmVhZCI7CisgICAgY2FzZSBXcml0ZToKKyAg
ICAgICAgcmV0dXJuICJ3cml0ZSI7CisgICAgY2FzZSBSZWFkQW5kV3JpdGU6CisgICAgICAgIHJl
dHVybiAicmVhZC93cml0ZSI7CisgICAgY2FzZSBOb3RBbGxvd2VkOgorICAgICAgICByZXR1cm4g
ImRpc2FsbG93ZWQiOworICAgIH0KKyAgICBDUkFTSCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShTRUNDT01QX0ZJTFRFUlMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xp
Y3kuaAppbmRleCBjYWUwZTQ1ZDJmOGMyZTc3ZDA1OGFjYmMxYzczNTk4NjljNjIyZjNjLi40YjM4
ODZlNmU5MGE5ZmM5MDE3OTliZjdiZDZlNThjNTRhZWE4ZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5
LmgKQEAgLTUyLDYgKzUyLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGREZWZhdWx0V2ViUHJv
Y2Vzc1BvbGljeShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKKyAgICBz
dGF0aWMgY29uc3QgY2hhciogcGVybWlzc2lvblRvU3RyaW5nKFBlcm1pc3Npb24pOworCiBwcml2
YXRlOgogICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIGludD4gUGVybWlzc2lvbk1hcDsKICAg
ICBQZXJtaXNzaW9uTWFwIG1fZmlsZVBlcm1pc3Npb247Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257067</attachid>
            <date>2015-07-19 16:12:29 -0700</date>
            <delta_ts>2015-07-20 12:03:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142980-20150719181116.patch</filename>
            <type>text/plain</type>
            <size>6922</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNmM1MDZhMDkzOGZlYjQz
MjVmMWY1ODdkNDk5YmY1NjRjYzAwYzI1Zi4uN2IwZDU5YTUwMmZjY2ZhYThmODA1OGI3OTg3MjBj
YmMxOWM0M2ViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDE1LTA3LTE5ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAorICAgICAgICBbU2VjY29t
cF0gU2hvdWxkIGJlIGVhc2llciB0byBkZWJ1ZyBibG9ja2VkIHN5c2NhbGxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI5ODAKKworICAgICAgICBU
aGVzZSBzaG91bGQgYmUgcHJpbnRlZCBldmVuIHdoZW4gbm90IHJ1bm5pbmcgaW4gZGVidWcgbW9k
ZS4gVGhlcmUgaXMgbm8KKyAgICAgICAgdmFsdWUgaW4gaGlkaW5nIGVycm9ycyBmcm9tIHJlbGVh
c2UgYnVpbGQgdXNlcnMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlNlY2NvbXBCcm9rZXI6OnJ1bkxvb3ApOiBEb24ndCBjbG9zZSBz
dGRlcnIgZXQuIGFsLiBpbiByZWxlYXNlIGJ1aWxkcy4KKyAgICAgICAgKiBTaGFyZWQvbGludXgv
U2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyaXRlX3VpbnQp
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6cmVwb3J0VW5leHBlY3RlZFN5c2NhbGwpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6U3lzY2FsbDo6Y3JlYXRlRnJvbUNvbnRleHQpOiBDYWxsIHJl
cG9ydFVuZXhwZWN0ZWRTeXNjYWxsLiBBbHNvLCBubyBuZWVkIHRvIGNyYXNoCisgICAgICAgIGhl
cmUgaW4gcmVsZWFzZSBidWlsZHMuCisgICAgICAgICogU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0
ZXJzL1N5c2NhbGxQb2xpY3kuY3BwOgorICAgICAgICAoV2ViS2l0OjpTeXNjYWxsUG9saWN5Ojpo
YXNQZXJtaXNzaW9uRm9yUGF0aCk6IFByaW50IGEgd2FybmluZyB3aGVuIGFjY2VzcyBpcyBkZW5p
ZWQuCisgICAgICAgIChXZWJLaXQ6OlN5c2NhbGxQb2xpY3k6OnBlcm1pc3Npb25Ub1N0cmluZyk6
IEFkZGVkLgorICAgICAgICAqIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9s
aWN5Lmg6IEFkZCBwZXJtaXNzaW9uVG9TdHJpbmcuCisKKzIwMTUtMDctMTkgIE1pY2hhZWwgQ2F0
YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCiAgICAgICAgIFVucmV2aWV3ZWQsIHBs
YWNhdGUgLVdtaXNtYXRjaGVkLXRhZ3MgYWZ0ZXIgcjE4NzAxMQogCiAgICAgICAgIEl0J3MgYmFz
aWNhbGx5IGJ1ZyAjMTQ2OTkwIGFnYWluLiBPb3BzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1NlY2NvbXBCcm9rZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1NlY2NvbXBCcm9rZXIuY3BwCmlu
ZGV4IDU5MWYwODlhN2IxMTM2NmY2YjViNzFhZDczZGFjOGU5NDkxZWIzYTguLjE2MjA0OWQxNGI0
YmFiOTA3MGY1NzBiNWY4YTc4MzZmNjNlZWUzNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TZWNjb21wQnJva2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHAK
QEAgLTMyMCwxNiArMzIwLDExIEBAIHZvaWQgU2VjY29tcEJyb2tlcjo6aW5pdGlhbGl6ZSgpCiAK
IE5PX1JFVFVSTiB2b2lkIFNlY2NvbXBCcm9rZXI6OnJ1bkxvb3AoaW50IHNvY2tldCkKIHsKLSNp
Zm5kZWYgTkRFQlVHCi0gICAgaW50IGkgPSBTVERFUlJfRklMRU5PICsgMTsKLSNlbHNlCi0gICAg
aW50IGkgPSAwOwotI2VuZGlmCi0gICAgLy8gQ2xvc2UgYWxsIGluaGVyaXRlZCBmaWxlIGRlc2Ny
aXB0b3JzIG90aGVyCi0gICAgLy8gdGhhbiB0aGUgc29ja2V0IHRvIHRoZSBzYW5kYm94ZWQgcHJv
Y2Vzcy4KLSAgICBmb3IgKDsgaSA8IEZEX1NFVFNJWkU7ICsraSkKKyAgICAvLyBDbG9zZSB1bm5l
Y2Vzc2FyeSBpbmhlcml0ZWQgZmlsZSBkZXNjcmlwdG9ycy4KKyAgICBmb3IgKGludCBpID0gU1RE
RVJSX0ZJTEVOTyArIDE7IGkgPCBGRF9TRVRTSVpFOyArK2kpIHsKICAgICAgICAgaWYgKGkgIT0g
c29ja2V0KQogICAgICAgICAgICAgY2xvc2UoaSk7CisgICAgfQogCiAgICAgd2hpbGUgKHRydWUp
IHsKICAgICAgICAgY2hhciBidWZmZXJbbWVzc2FnZU1heFNpemVdOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCmluZGV4
IDBkNGFmZDBkZDIyMzA5ZDkwZWJlZmEzZWU2N2I0NjEzODMzNGE1ZTcuLmRlOTdkMzE3MTRmYjg3
ZTJhNmQ0NjkwZjM1MWFkYjgxNmVhMzM3MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IElnYWxpYSBTLkwuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDEwICszMyw0NyBAQAogI2luY2x1ZGUgIk9wZW5T
eXNjYWxsLmgiCiAjaW5jbHVkZSAiU2lnYWN0aW9uU3lzY2FsbC5oIgogI2luY2x1ZGUgIlNpZ3By
b2NtYXNrU3lzY2FsbC5oIgorI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDxzZWNjb21wLmg+
CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCisvLyBUaGUgcmVkdW5kYW50ICJjb25zdGV4cHIgY29uc3QiIGlzIHRvIHBsYWNh
dGUgQ2xhbmcncyAtV3dyaXRhYmxlLXN0cmluZ3MuCitzdGF0aWMgY29uc3RleHByIGNvbnN0IGNo
YXIqIGNvbnN0IG1lc3NhZ2UgPSAiQmxvY2tlZCB1bmV4cGVjdGVkIHN5c2NhbGw6ICI7CisKKy8v
IFNpbmNlICJzcHJpbnRmIiBpcyBub3Qgc2lnbmFsLXNhZmUsIHJlaW1wbGVtZW50ICVkIGhlcmUu
IEJhc2VkIG9uIGNvZGUgZnJvbQorLy8gaHR0cDovL291dGZsdXgubmV0L3RlYWNoLXNlY2NvbXAg
YnkgV2lsbCBEcmV3cnkgYW5kIEtlZXMgQ29vaywgcmVsZWFzZWQgdW5kZXIKKy8vIHRoZSBDaHJv
bWl1bSBCU0QgbGljZW5zZS4KK3N0YXRpYyB2b2lkIHdyaXRlVW5zaWduZWRJbnQoY2hhciogYnVm
LCB1bnNpZ25lZCB2YWwpCit7CisgICAgaW50IHdpZHRoID0gMDsKKyAgICB1bnNpZ25lZCB0ZW5z
OworCisgICAgaWYgKCF2YWwpIHsKKyAgICAgICAgc3RyY3B5KGJ1ZiwgIjAiKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBmb3IgKHRlbnMgPSB2YWw7IHRlbnM7IHRlbnMgLz0gMTApCisg
ICAgICAgICsrd2lkdGg7CisgICAgYnVmW3dpZHRoXSA9ICdcMCc7CisgICAgZm9yICh0ZW5zID0g
dmFsOyB0ZW5zOyB0ZW5zIC89IDEwKQorICAgICAgICBidWZbLS13aWR0aF0gPSAnMCcgKyAodGVu
cyAlIDEwKTsKK30KKworc3RhdGljIHZvaWQgcmVwb3J0VW5leHBlY3RlZFN5c2NhbGwoaW50IHN5
c2NhbGwpCit7CisgICAgY2hhciBidWZbMTI4XTsKKyNpZiBkZWZpbmVkKF9faGFzX2J1aWx0aW4p
ICYmIF9faGFzX2J1aWx0aW4oX19idWlsdGluX3N0cmxlbikKKyAgICBzdGF0aWNfYXNzZXJ0KF9f
YnVpbHRpbl9zdHJsZW4obWVzc2FnZSkgKyBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46OmRpZ2l0
czEwICsgMSA8IHNpemVvZihidWYpLCAiQnVmZmVyIHRvbyBzbWFsbCIpOworI2VuZGlmCisgICAg
c3RyY3B5KGJ1ZiwgbWVzc2FnZSk7CisgICAgd3JpdGVVbnNpZ25lZEludChidWYgKyBzdHJsZW4o
YnVmKSwgc3lzY2FsbCk7CisgICAgc3RyY2F0KGJ1ZiwgIlxuIik7CisgICAgd3JpdGUoU1RERVJS
X0ZJTEVOTywgYnVmLCBzdHJsZW4oYnVmKSk7Cit9CisKIHN0ZDo6dW5pcXVlX3B0cjxTeXNjYWxs
PiBTeXNjYWxsOjpjcmVhdGVGcm9tQ29udGV4dCh1Y29udGV4dF90KiB1Y29udGV4dCkKIHsKICAg
ICBtY29udGV4dF90KiBtY29udGV4dCA9ICZ1Y29udGV4dC0+dWNfbWNvbnRleHQ7CkBAIC01NCw3
ICs5Miw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxTeXNjYWxsPiBTeXNjYWxsOjpjcmVhdGVGcm9tQ29u
dGV4dCh1Y29udGV4dF90KiB1Y29udGV4dCkKICAgICBjYXNlIF9fTlJfcnRfc2lnYWN0aW9uOgog
ICAgICAgICByZXR1cm4gU2lnYWN0aW9uU3lzY2FsbDo6Y3JlYXRlRnJvbUNvbnRleHQobWNvbnRl
eHQpOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIENSQVNIKCk7CisgICAgICAgIHJlcG9ydFVuZXhw
ZWN0ZWRTeXNjYWxsKG1jb250ZXh0LT5ncmVnc1tSRUdfU1lTQ0FMTF0pOworICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAKICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9s
aWN5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNj
YWxsUG9saWN5LmNwcAppbmRleCAxZWY5NDZjYjVmOTE3NWZiM2JjOGRlNGJkNjczNDZiYjRmZjIw
M2Q3Li4xYTEwMmQ3MGNjNmJlY2E2MTMzOGIwMzg5ZGI3N2U0YzEzMWVjZjYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGlj
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5
c2NhbGxQb2xpY3kuY3BwCkBAIC05Nyw3ICs5NywxMyBAQCBib29sIFN5c2NhbGxQb2xpY3k6Omhh
c1Blcm1pc3Npb25Gb3JQYXRoKGNvbnN0IGNoYXIqIHBhdGgsIFBlcm1pc3Npb24gcGVybWlzc2lv
bgogICAgIGZyZWUoYmFzZVBhdGgpOwogICAgIGZyZWUoY2Fub25pY2FsUGF0aCk7CiAKLSAgICBy
ZXR1cm4gKHBlcm1pc3Npb24gJiBwb2xpY3ktPnZhbHVlKSA9PSBwZXJtaXNzaW9uOworICAgIGlm
ICgocGVybWlzc2lvbiAmIHBvbGljeS0+dmFsdWUpID09IHBlcm1pc3Npb24pCisgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgLy8gRG9uJ3Qgd2FybiBpZiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0
IGF0IGFsbC4KKyAgICBpZiAoIWFjY2VzcyhwYXRoLCBGX09LKSB8fCBlcnJubyAhPSBFTk9FTlQp
CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQmxvY2tlZCBpbXBlcm1pc3NpYmxlICVzIGFjY2Vz
cyB0byAlc1xuIiwgU3lzY2FsbFBvbGljeTo6cGVybWlzc2lvblRvU3RyaW5nKHBlcm1pc3Npb24p
LCBwYXRoKTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHZvaWQgU3lzY2FsbFBvbGljeTo6YWRk
RmlsZVBlcm1pc3Npb24oY29uc3QgU3RyaW5nJiBwYXRoLCBQZXJtaXNzaW9uIHBlcm1pc3Npb24p
CkBAIC0yNTYsNiArMjYyLDIxIEBAIHZvaWQgU3lzY2FsbFBvbGljeTo6YWRkRGVmYXVsdFdlYlBy
b2Nlc3NQb2xpY3koY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyCiAjZW5kaWYKIH0K
IAorY29uc3QgY2hhciogU3lzY2FsbFBvbGljeTo6cGVybWlzc2lvblRvU3RyaW5nKFBlcm1pc3Np
b24gcGVybWlzc2lvbikKK3sKKyAgICBzd2l0Y2ggKHBlcm1pc3Npb24pIHsKKyAgICBjYXNlIFJl
YWQ6CisgICAgICAgIHJldHVybiAicmVhZCI7CisgICAgY2FzZSBXcml0ZToKKyAgICAgICAgcmV0
dXJuICJ3cml0ZSI7CisgICAgY2FzZSBSZWFkQW5kV3JpdGU6CisgICAgICAgIHJldHVybiAicmVh
ZC93cml0ZSI7CisgICAgY2FzZSBOb3RBbGxvd2VkOgorICAgICAgICByZXR1cm4gImRpc2FsbG93
ZWQiOworICAgIH0KKyAgICBDUkFTSCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAog
I2VuZGlmIC8vIEVOQUJMRShTRUNDT01QX0ZJTFRFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuaAppbmRl
eCA1NGE2ZTkxMzYyMzA4ZjM5OGEyNjJjYzRhM2MzNzRkN2EwNWU3NmJhLi5iMjY4MGRjOWFiMDg4
MTE0MjhlOGQ5NjhkMDg1MmU3NTczMTFmNzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmgKQEAgLTUy
LDYgKzUyLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGREZWZhdWx0V2ViUHJvY2Vzc1BvbGlj
eShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKKyAgICBzdGF0aWMgY29u
c3QgY2hhciogcGVybWlzc2lvblRvU3RyaW5nKFBlcm1pc3Npb24pOworCiBwcml2YXRlOgogICAg
IHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIGludD4gUGVybWlzc2lvbk1hcDsKICAgICBQZXJtaXNz
aW9uTWFwIG1fZmlsZVBlcm1pc3Npb247Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257114</attachid>
            <date>2015-07-20 12:03:07 -0700</date>
            <delta_ts>2015-07-20 12:08:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142980-20150720140154.patch</filename>
            <type>text/plain</type>
            <size>6902</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNmM1MDZhMDkzOGZlYjQz
MjVmMWY1ODdkNDk5YmY1NjRjYzAwYzI1Zi4uNTU0ZTUyMzA5MDFmMTFlYjVkZjI5NzU5M2ExMmMz
MWFlNGU5MDkwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA3LTIwICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbU2VjY29t
cF0gU2hvdWxkIGJlIGVhc2llciB0byBkZWJ1ZyBibG9ja2VkIHN5c2NhbGxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI5ODAKKworICAgICAgICBU
aGVzZSBzaG91bGQgYmUgcHJpbnRlZCBldmVuIHdoZW4gbm90IHJ1bm5pbmcgaW4gZGVidWcgbW9k
ZS4gVGhlcmUgaXMgbm8KKyAgICAgICAgdmFsdWUgaW4gaGlkaW5nIGVycm9ycyBmcm9tIHJlbGVh
c2UgYnVpbGQgdXNlcnMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlNlY2NvbXBCcm9rZXI6OnJ1bkxvb3ApOiBEb24ndCBjbG9zZSBz
dGRlcnIgZXQuIGFsLiBpbiByZWxlYXNlIGJ1aWxkcy4KKyAgICAgICAgKiBTaGFyZWQvbGludXgv
U2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyaXRlX3VpbnQp
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6cmVwb3J0VW5leHBlY3RlZFN5c2NhbGwpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6U3lzY2FsbDo6Y3JlYXRlRnJvbUNvbnRleHQpOiBDYWxsIHJl
cG9ydFVuZXhwZWN0ZWRTeXNjYWxsLiBBbHNvLCBubyBuZWVkIHRvIGNyYXNoCisgICAgICAgIGhl
cmUgaW4gcmVsZWFzZSBidWlsZHMuCisgICAgICAgICogU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0
ZXJzL1N5c2NhbGxQb2xpY3kuY3BwOgorICAgICAgICAoV2ViS2l0OjpTeXNjYWxsUG9saWN5Ojpo
YXNQZXJtaXNzaW9uRm9yUGF0aCk6IFByaW50IGEgd2FybmluZyB3aGVuIGFjY2VzcyBpcyBkZW5p
ZWQuCisgICAgICAgIChXZWJLaXQ6OlN5c2NhbGxQb2xpY3k6OnBlcm1pc3Npb25Ub1N0cmluZyk6
IEFkZGVkLgorICAgICAgICAqIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9s
aWN5Lmg6IEFkZCBwZXJtaXNzaW9uVG9TdHJpbmcuCisKIDIwMTUtMDctMTkgIE1pY2hhZWwgQ2F0
YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHBs
YWNhdGUgLVdtaXNtYXRjaGVkLXRhZ3MgYWZ0ZXIgcjE4NzAxMQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1NlY2NvbXBCcm9rZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1NlY2NvbXBCcm9rZXIu
Y3BwCmluZGV4IDU5MWYwODlhN2IxMTM2NmY2YjViNzFhZDczZGFjOGU5NDkxZWIzYTguLjE2MjA0
OWQxNGI0YmFiOTA3MGY1NzBiNWY4YTc4MzZmNjNlZWUzNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TZWNjb21wQnJva2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEJyb2tl
ci5jcHAKQEAgLTMyMCwxNiArMzIwLDExIEBAIHZvaWQgU2VjY29tcEJyb2tlcjo6aW5pdGlhbGl6
ZSgpCiAKIE5PX1JFVFVSTiB2b2lkIFNlY2NvbXBCcm9rZXI6OnJ1bkxvb3AoaW50IHNvY2tldCkK
IHsKLSNpZm5kZWYgTkRFQlVHCi0gICAgaW50IGkgPSBTVERFUlJfRklMRU5PICsgMTsKLSNlbHNl
Ci0gICAgaW50IGkgPSAwOwotI2VuZGlmCi0gICAgLy8gQ2xvc2UgYWxsIGluaGVyaXRlZCBmaWxl
IGRlc2NyaXB0b3JzIG90aGVyCi0gICAgLy8gdGhhbiB0aGUgc29ja2V0IHRvIHRoZSBzYW5kYm94
ZWQgcHJvY2Vzcy4KLSAgICBmb3IgKDsgaSA8IEZEX1NFVFNJWkU7ICsraSkKKyAgICAvLyBDbG9z
ZSB1bm5lY2Vzc2FyeSBpbmhlcml0ZWQgZmlsZSBkZXNjcmlwdG9ycy4KKyAgICBmb3IgKGludCBp
ID0gU1RERVJSX0ZJTEVOTyArIDE7IGkgPCBGRF9TRVRTSVpFOyArK2kpIHsKICAgICAgICAgaWYg
KGkgIT0gc29ja2V0KQogICAgICAgICAgICAgY2xvc2UoaSk7CisgICAgfQogCiAgICAgd2hpbGUg
KHRydWUpIHsKICAgICAgICAgY2hhciBidWZmZXJbbWVzc2FnZU1heFNpemVdOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3Bw
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3Bw
CmluZGV4IDBkNGFmZDBkZDIyMzA5ZDkwZWJlZmEzZWU2N2I0NjEzODMzNGE1ZTcuLmRlOTdkMzE3
MTRmYjg3ZTJhNmQ0NjkwZjM1MWFkYjgxNmVhMzM3MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKQEAgLTEsNSAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEludGVsIENvcnBvcmF0aW9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IElnYWxpYSBTLkwuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDEwICszMyw0NyBAQAogI2luY2x1ZGUg
Ik9wZW5TeXNjYWxsLmgiCiAjaW5jbHVkZSAiU2lnYWN0aW9uU3lzY2FsbC5oIgogI2luY2x1ZGUg
IlNpZ3Byb2NtYXNrU3lzY2FsbC5oIgorI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDxzZWNj
b21wLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCisvLyBUaGUgcmVkdW5kYW50ICJjb25zdGV4cHIgY29uc3QiIGlzIHRv
IHBsYWNhdGUgQ2xhbmcncyAtV3dyaXRhYmxlLXN0cmluZ3MuCitzdGF0aWMgY29uc3RleHByIGNv
bnN0IGNoYXIqIGNvbnN0IG1lc3NhZ2UgPSAiQmxvY2tlZCB1bmV4cGVjdGVkIHN5c2NhbGw6ICI7
CisKKy8vIFNpbmNlICJzcHJpbnRmIiBpcyBub3Qgc2lnbmFsLXNhZmUsIHJlaW1wbGVtZW50ICVk
IGhlcmUuIEJhc2VkIG9uIGNvZGUgZnJvbQorLy8gaHR0cDovL291dGZsdXgubmV0L3RlYWNoLXNl
Y2NvbXAgYnkgV2lsbCBEcmV3cnkgYW5kIEtlZXMgQ29vaywgcmVsZWFzZWQgdW5kZXIKKy8vIHRo
ZSBDaHJvbWl1bSBCU0QgbGljZW5zZS4KK3N0YXRpYyB2b2lkIHdyaXRlVW5zaWduZWRJbnQoY2hh
ciogYnVmLCB1bnNpZ25lZCB2YWwpCit7CisgICAgaW50IHdpZHRoID0gMDsKKyAgICB1bnNpZ25l
ZCB0ZW5zOworCisgICAgaWYgKCF2YWwpIHsKKyAgICAgICAgc3RyY3B5KGJ1ZiwgIjAiKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyAgICBmb3IgKHRlbnMgPSB2YWw7IHRlbnM7IHRlbnMgLz0g
MTApCisgICAgICAgICsrd2lkdGg7CisgICAgYnVmW3dpZHRoXSA9ICdcMCc7CisgICAgZm9yICh0
ZW5zID0gdmFsOyB0ZW5zOyB0ZW5zIC89IDEwKQorICAgICAgICBidWZbLS13aWR0aF0gPSAnMCcg
KyAodGVucyAlIDEwKTsKK30KKworc3RhdGljIHZvaWQgcmVwb3J0VW5leHBlY3RlZFN5c2NhbGwo
aW50IHN5c2NhbGwpCit7CisgICAgY2hhciBidWZbMTI4XTsKKyNpZiBkZWZpbmVkKF9faGFzX2J1
aWx0aW4pICYmIF9faGFzX2J1aWx0aW4oX19idWlsdGluX3N0cmxlbikKKyAgICBzdGF0aWNfYXNz
ZXJ0KF9fYnVpbHRpbl9zdHJsZW4obWVzc2FnZSkgKyBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46
OmRpZ2l0czEwICsgMSA8IHNpemVvZihidWYpLCAiQnVmZmVyIHRvbyBzbWFsbCIpOworI2VuZGlm
CisgICAgc3RyY3B5KGJ1ZiwgbWVzc2FnZSk7CisgICAgd3JpdGVVbnNpZ25lZEludChidWYgKyBz
dHJsZW4oYnVmKSwgc3lzY2FsbCk7CisgICAgc3RyY2F0KGJ1ZiwgIlxuIik7CisgICAgd3JpdGUo
U1RERVJSX0ZJTEVOTywgYnVmLCBzdHJsZW4oYnVmKSk7Cit9CisKIHN0ZDo6dW5pcXVlX3B0cjxT
eXNjYWxsPiBTeXNjYWxsOjpjcmVhdGVGcm9tQ29udGV4dCh1Y29udGV4dF90KiB1Y29udGV4dCkK
IHsKICAgICBtY29udGV4dF90KiBtY29udGV4dCA9ICZ1Y29udGV4dC0+dWNfbWNvbnRleHQ7CkBA
IC01NCw3ICs5Miw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxTeXNjYWxsPiBTeXNjYWxsOjpjcmVhdGVG
cm9tQ29udGV4dCh1Y29udGV4dF90KiB1Y29udGV4dCkKICAgICBjYXNlIF9fTlJfcnRfc2lnYWN0
aW9uOgogICAgICAgICByZXR1cm4gU2lnYWN0aW9uU3lzY2FsbDo6Y3JlYXRlRnJvbUNvbnRleHQo
bWNvbnRleHQpOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIENSQVNIKCk7CisgICAgICAgIHJlcG9y
dFVuZXhwZWN0ZWRTeXNjYWxsKG1jb250ZXh0LT5ncmVnc1tSRUdfU1lTQ0FMTF0pOworICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAKICAgICByZXR1cm4gbnVsbHB0cjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNj
YWxsUG9saWN5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVy
cy9TeXNjYWxsUG9saWN5LmNwcAppbmRleCAxZWY5NDZjYjVmOTE3NWZiM2JjOGRlNGJkNjczNDZi
YjRmZjIwM2Q3Li42MDk4MzE5OGNhZjdjNDI4ZGRjMTg4ZjM4ZGE3Mjc1NzJjZDM3MGVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2Fs
bFBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0
ZXJzL1N5c2NhbGxQb2xpY3kuY3BwCkBAIC05Nyw3ICs5NywxMyBAQCBib29sIFN5c2NhbGxQb2xp
Y3k6Omhhc1Blcm1pc3Npb25Gb3JQYXRoKGNvbnN0IGNoYXIqIHBhdGgsIFBlcm1pc3Npb24gcGVy
bWlzc2lvbgogICAgIGZyZWUoYmFzZVBhdGgpOwogICAgIGZyZWUoY2Fub25pY2FsUGF0aCk7CiAK
LSAgICByZXR1cm4gKHBlcm1pc3Npb24gJiBwb2xpY3ktPnZhbHVlKSA9PSBwZXJtaXNzaW9uOwor
ICAgIGlmICgocGVybWlzc2lvbiAmIHBvbGljeS0+dmFsdWUpID09IHBlcm1pc3Npb24pCisgICAg
ICAgIHJldHVybiB0cnVlOworCisgICAgLy8gRG9uJ3Qgd2FybiBpZiB0aGUgZmlsZSBkb2Vzbid0
IGV4aXN0IGF0IGFsbC4KKyAgICBpZiAoIWFjY2VzcyhwYXRoLCBGX09LKSB8fCBlcnJubyAhPSBF
Tk9FTlQpCisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQmxvY2tlZCBpbXBlcm1pc3NpYmxlICVz
IGFjY2VzcyB0byAlc1xuIiwgU3lzY2FsbFBvbGljeTo6cGVybWlzc2lvblRvU3RyaW5nKHBlcm1p
c3Npb24pLCBwYXRoKTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHZvaWQgU3lzY2FsbFBvbGlj
eTo6YWRkRmlsZVBlcm1pc3Npb24oY29uc3QgU3RyaW5nJiBwYXRoLCBQZXJtaXNzaW9uIHBlcm1p
c3Npb24pCkBAIC0yNTYsNiArMjYyLDIzIEBAIHZvaWQgU3lzY2FsbFBvbGljeTo6YWRkRGVmYXVs
dFdlYlByb2Nlc3NQb2xpY3koY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyCiAjZW5k
aWYKIH0KIAorY29uc3QgY2hhciogU3lzY2FsbFBvbGljeTo6cGVybWlzc2lvblRvU3RyaW5nKFBl
cm1pc3Npb24gcGVybWlzc2lvbikKK3sKKyAgICBzd2l0Y2ggKHBlcm1pc3Npb24pIHsKKyAgICBj
YXNlIFJlYWQ6CisgICAgICAgIHJldHVybiAicmVhZCI7CisgICAgY2FzZSBXcml0ZToKKyAgICAg
ICAgcmV0dXJuICJ3cml0ZSI7CisgICAgY2FzZSBSZWFkQW5kV3JpdGU6CisgICAgICAgIHJldHVy
biAicmVhZC93cml0ZSI7CisgICAgY2FzZSBOb3RBbGxvd2VkOgorICAgICAgICByZXR1cm4gImRp
c2FsbG93ZWQiOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVy
biAiIjsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoU0VD
Q09NUF9GSUxURVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1Nl
Y2NvbXBGaWx0ZXJzL1N5c2NhbGxQb2xpY3kuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51
eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmgKaW5kZXggNTRhNmU5MTM2MjMwOGYzOThh
MjYyY2M0YTNjMzc0ZDdhMDVlNzZiYS4uYjI2ODBkYzlhYjA4ODExNDI4ZThkOTY4ZDA4NTJlNzU3
MzExZjc5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBG
aWx0ZXJzL1N5c2NhbGxQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgv
U2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5oCkBAIC01Miw2ICs1Miw4IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgYWRkRGVmYXVsdFdlYlByb2Nlc3NQb2xpY3koY29uc3QgV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyYpOwogCisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHBlcm1pc3Npb25U
b1N0cmluZyhQZXJtaXNzaW9uKTsKKwogcHJpdmF0ZToKICAgICB0eXBlZGVmIEhhc2hNYXA8U3Ry
aW5nLCBpbnQ+IFBlcm1pc3Npb25NYXA7CiAgICAgUGVybWlzc2lvbk1hcCBtX2ZpbGVQZXJtaXNz
aW9uOwo=
</data>
<flag name="review"
          id="282236"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
      

    </bug>

</bugzilla>