<?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>220500</bug_id>
          
          <creation_ts>2021-01-10 00:37:16 -0800</creation_ts>
          <short_desc>[JSC] JITCage&apos;s Gate mechanism is used in ARM64E even if JITCage is disable</short_desc>
          <delta_ts>2021-01-10 21:40:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1718589</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-10 00:37:16 -0800</bug_when>
    <thetext>[JSC] JITCage&apos;s Gate mechanism is used in ARM64E even if JITCage is used for simplicity</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718590</commentid>
    <comment_count>1</comment_count>
      <attachid>417346</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-10 00:39:53 -0800</bug_when>
    <thetext>Created attachment 417346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718591</commentid>
    <comment_count>2</comment_count>
      <attachid>417347</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-10 00:54:22 -0800</bug_when>
    <thetext>Created attachment 417347
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718592</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-01-10 01:02:43 -0800</bug_when>
    <thetext>rdar://72965575</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718604</commentid>
    <comment_count>4</comment_count>
      <attachid>417347</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-01-10 10:13:10 -0800</bug_when>
    <thetext>Comment on attachment 417347
Patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        [JSC] JITCage&apos;s Gate mechanism is used in ARM64E even if JITCage is used for simplicity

I think you meant &quot;JITCage is disabled&quot; not &quot;JITCage is used&quot; here.  The &quot;for simplicity&quot; part could be mistaken to mean that the JITCage is disabled for simplicity when we meant that the gate mechanism is used for simplicity sake.  I suggest rephrasing this is as &quot;JITCage&apos;s Gate mechanism is used in ARM64E even if JITCage is disable.&quot;  Just drop the &quot;simplicity&quot; part: it&apos;s not an essential detail about this bug and it is more clearly explained in the comment below.

&gt; Source/JavaScriptCore/ChangeLog:9
&gt; +        in LLInt we are always using Gate even if ENABLE(JIT_CAGE) is OFF because it makes LLInt code

I suggest breaking this sentence up as follows: &quot;ENABLE(JIT_CAGE) is OFF because it makes LLInt&quot; ==&gt; &quot;ENABLE(JIT_CAGE) is OFF.  It makes LLInt&quot;

&gt; Source/JavaScriptCore/llint/LLIntThunks.cpp:348
&gt;  MacroAssemblerCodeRef&lt;NativeToJITGatePtrTag&gt; createJSGateThunk(void* pointer, PtrTag tag, const char* name)

nit: the .h file does not #if out the prototype for these functions.  Would be nice to make it consistent.

&gt; Source/JavaScriptCore/llint/LLIntThunks.cpp:494
&gt;  MacroAssemblerCodeRef&lt;NativeToJITGatePtrTag&gt; jitCagePtrThunk()

Ditto nit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718619</commentid>
    <comment_count>5</comment_count>
      <attachid>417347</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-10 21:39:15 -0800</bug_when>
    <thetext>Comment on attachment 417347
Patch

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

Thanks!

&gt;&gt; Source/JavaScriptCore/ChangeLog:3
&gt;&gt; +        [JSC] JITCage&apos;s Gate mechanism is used in ARM64E even if JITCage is used for simplicity
&gt; 
&gt; I think you meant &quot;JITCage is disabled&quot; not &quot;JITCage is used&quot; here.  The &quot;for simplicity&quot; part could be mistaken to mean that the JITCage is disabled for simplicity when we meant that the gate mechanism is used for simplicity sake.  I suggest rephrasing this is as &quot;JITCage&apos;s Gate mechanism is used in ARM64E even if JITCage is disable.&quot;  Just drop the &quot;simplicity&quot; part: it&apos;s not an essential detail about this bug and it is more clearly explained in the comment below.

Changed.

&gt;&gt; Source/JavaScriptCore/ChangeLog:9
&gt;&gt; +        in LLInt we are always using Gate even if ENABLE(JIT_CAGE) is OFF because it makes LLInt code
&gt; 
&gt; I suggest breaking this sentence up as follows: &quot;ENABLE(JIT_CAGE) is OFF because it makes LLInt&quot; ==&gt; &quot;ENABLE(JIT_CAGE) is OFF.  It makes LLInt&quot;

Changed.

&gt;&gt; Source/JavaScriptCore/llint/LLIntThunks.cpp:348
&gt;&gt;  MacroAssemblerCodeRef&lt;NativeToJITGatePtrTag&gt; createJSGateThunk(void* pointer, PtrTag tag, const char* name)
&gt; 
&gt; nit: the .h file does not #if out the prototype for these functions.  Would be nice to make it consistent.

Changed.

&gt;&gt; Source/JavaScriptCore/llint/LLIntThunks.cpp:494
&gt;&gt;  MacroAssemblerCodeRef&lt;NativeToJITGatePtrTag&gt; jitCagePtrThunk()
&gt; 
&gt; Ditto nit.

Changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718620</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-10 21:40:15 -0800</bug_when>
    <thetext>Committed r271352: &lt;https://trac.webkit.org/changeset/271352&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417346</attachid>
            <date>2021-01-10 00:39:53 -0800</date>
            <delta_ts>2021-01-10 00:54:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220500-20210110003952.patch</filename>
            <type>text/plain</type>
            <size>4308</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
Y2JjZjMxODU4ZGQ2NzBkN2UxN2Q0NDJjNWVjM2QwZDMxNmM2ZGY5Li5kODkyNGM1YjU5NmI3NDYy
MTZmZTc1ZDdjZDNhMWExNGM2OWE4YmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAyMS0wMS0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpJVENhZ2UncyBHYXRlIG1lY2hhbmlzbSBpcyB1c2VkIGluIEFS
TTY0RSBldmVuIGlmIEpJVENhZ2UgaXMgdXNlZCBmb3Igc2ltcGxpY2l0eQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNTAwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ugc2hvdWxkIGVuc3VyZSB0aGF0
IEdhdGUgbWVjaGFuaXNtIGp1c3Qgd29ya3MgZXZlbiBpZiBFTkFCTEUoSklUX0NBR0UpIGlzIE9G
RiBpbiBBUk02NEUgc2luY2UKKyAgICAgICAgaW4gTExJbnQgd2UgYXJlIGFsd2F5cyB1c2luZyBH
YXRlIGV2ZW4gaWYgRU5BQkxFKEpJVF9DQUdFKSBpcyBPRkYgYmVjYXVzZSBpdCBtYWtlcyBMTElu
dCBjb2RlCisgICAgICAgIHNpZ25pZmljYW50bHkgc2ltcGxlcjogd2UgZG8gbm90IHdhbnQgdG8g
aGF2ZSBtdWx0aXBsZSBpbXBsZW1lbnRhdGlvbnMgZm9yIEFSTTY0RSBmb3IgRU5BQkxFKEpJVF9D
QUdFKSBPTi9PRkYKKyAgICAgICAgaW4gTExJbnQgaWYgaXQgaXMgbm90IG5lY2Vzc2FyeSBpbiB0
ZXJtcyBvZiBwZXJmb3JtYW5jZS4gQW5kIGl0IGRpZG4ndCBjYXVzZSBwZXJmb3JtYW5jZSByZWdy
ZXNzaW9uLgorICAgICAgICBTbyBmb3Igc2ltcGxpY2l0eSwgd2UgYXJlIGFsd2F5cyB1c2luZyBH
YXRlIGluIExMSW50LgorCisgICAgICAgIEhvd2V2ZXIsIHdoZW4gZGlzYWJsaW5nIEVOQUJMRShK
SVRfQ0FHRSksIHdlIGFjY2lkZW50YWxseSBkaXNhYmxlZCBHYXRlIG1lY2hhbmlzbSB0b28gaW4g
TExJbnQuCisgICAgICAgIEl0IG1ha2VzIEFSTTY0RSBicm9rZW4gaWYgRU5BQkxFKEpJVF9DQUdF
KSBpcyBPRkYuIFRoaXMgcGF0Y2ggbWFrZXMgR2F0ZSB3b3JrIGV2ZW4gaWYgRU5BQkxFKEpJVF9D
QUdFKSBpcyBPRkYsCisgICAgICAgIGFuZCB0aGlzIGlzIHRoZSBleHBlY3RlZCBkZXNpZ24uCisK
KyAgICAgICAgKiBsbGludC9MTEludERhdGEuY3BwOgorICAgICAgICAoSlNDOjpMTEludDo6aW5p
dGlhbGl6ZSk6CisgICAgICAgICogbGxpbnQvTExJbnRUaHVua3MuY3BwOgorICAgICAgICAqIGxs
aW50L0xMSW50VGh1bmtzLmg6CisKIDIwMjEtMDEtMDggIEFsZXhleSBTaHZheWthICA8c2h2YWlr
YWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBAY29weURhdGFQcm9wZXJ0aWVz
IGluIEMrKyB0byBvcHRpbWl6ZSBvYmplY3QgcmVzdCAvIHNwcmVhZApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnREYXRhLmNwcAppbmRleCAxYzZkN2Q5MzJiZmY3NDJhMWIzYzk3N2Zm
YzE0ZWM3Nzc1YmU2NDdiLi5lYTA3MjEzMGIxYjJjOTZjYmMzODUwMmVhZjYyODE5M2E5ZDZmNmU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNwcApAQCAtNTQsNyAr
NTQsNyBAQCBleHRlcm4gIkMiIHZvaWQgd2FzbV9lbnRyeSh2b2lkKiwgdm9pZCosIHZvaWQqKTsK
IAogI2VuZGlmIC8vICFFTkFCTEUoQ19MT09QKQogCi0jaWYgRU5BQkxFKEpJVF9DQUdFKQorI2lm
IENQVShBUk02NEUpCiBleHRlcm4gIkMiIHZvaWQgdm1FbnRyeVRvSmF2YVNjcmlwdFRyYW1wb2xp
bmUodm9pZCk7CiBleHRlcm4gIkMiIHZvaWQgdGFpbENhbGxKU0VudHJ5VHJhbXBvbGluZSh2b2lk
KTsKIGV4dGVybiAiQyIgdm9pZCB0YWlsQ2FsbEpTRW50cnlTbG93UGF0aFRyYW1wb2xpbmUodm9p
ZCk7CkBAIC04OSw5ICs4OSwxMiBAQCB2b2lkIGluaXRpYWxpemUoKQogCiAgICAgSklUT3BlcmF0
aW9uTGlzdDo6cG9wdWxhdGVQb2ludGVyc0luSmF2YVNjcmlwdENvcmVGb3JMTEludCgpOwogCisj
aWYgQ1BVKEFSTTY0RSkKKwogI2lmIEVOQUJMRShKSVRfQ0FHRSkKICAgICBpZiAoT3B0aW9uczo6
dXNlSklUQ2FnZSgpKQogICAgICAgICBnX2pzY0NvbmZpZy5sbGludC5nYXRlTWFwW3N0YXRpY19j
YXN0PHVuc2lnbmVkPihHYXRlOjpqaXRDYWdlUHRyKV0gPSBqaXRDYWdlUHRyVGh1bmsoKS5jb2Rl
KCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKKyNlbmRpZgogCiAjZGVmaW5lIElOSVRJQUxJWkVfSlNf
R0FURShuYW1lLCB0YWcpIFwKICAgICBkbyB7IFwKQEAgLTIwMyw3ICsyMDYsNyBAQCB2b2lkIGlu
aXRpYWxpemUoKQogCiAgICAgSU5JVElBTElaRV9UQUdfQU5EX1VOVEFHX1RIVU5LUyhsbGludF9m
dW5jdGlvbl9mb3JfY2FsbF9hcml0eV9jaGVjayk7CiAgICAgSU5JVElBTElaRV9UQUdfQU5EX1VO
VEFHX1RIVU5LUyhsbGludF9mdW5jdGlvbl9mb3JfY29uc3RydWN0X2FyaXR5X2NoZWNrKTsKLSNl
bmRpZiAvLyBFTkFCTEUoSklUX0NBR0UpCisjZW5kaWYgLy8gQ1BVKEFSTTY0RSkKICNlbmRpZiAv
LyBFTkFCTEUoQ19MT09QKQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRUaHVua3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
VGh1bmtzLmNwcAppbmRleCA5NjBkMTE1ZmUwM2RhMWI0ZTkzZTQzOGNlZTg1MTI1MGQ3NWIwNzJm
Li41MDdjZGE1OWI1MjUzM2UzY2Q4YWQyZGRhYWE2ZjI3MDJhOGVlYzk3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRUaHVua3MuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAKQEAgLTM0Myw3ICszNDMsNyBAQCBN
YWNyb0Fzc2VtYmxlckNvZGVSZWY8SlNFbnRyeVB0clRhZz4gZnV6emVyUmV0dXJuRWFybHlGcm9t
TG9vcEhpbnRUaHVuaygpCiAgICAgcmV0dXJuIGNvZGVSZWY7CiB9CiAKLSNpZiBFTkFCTEUoSklU
X0NBR0UpCisjaWYgQ1BVKEFSTTY0RSkKIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPE5hdGl2ZVRv
SklUR2F0ZVB0clRhZz4gY3JlYXRlSlNHYXRlVGh1bmsodm9pZCogcG9pbnRlciwgUHRyVGFnIHRh
ZywgY29uc3QgY2hhciogbmFtZSkKIHsKQEAgLTQ4Nyw2ICs0ODcsMTAgQEAgTWFjcm9Bc3NlbWJs
ZXJDb2RlUmVmPE5hdGl2ZVRvSklUR2F0ZVB0clRhZz4gdW50YWdHYXRlVGh1bmsodm9pZCogcG9p
bnRlcikKICAgICByZXR1cm4gRklOQUxJWkVfQ09ERShwYXRjaEJ1ZmZlciwgTmF0aXZlVG9KSVRH
YXRlUHRyVGFnLCAidW50YWcgdGh1bmsiKTsKIH0KIAorI2VuZGlmIC8vIENQVShBUk02NEUpCisK
KyNpZiBFTkFCTEUoSklUX0NBR0UpCisKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxOYXRpdmVUb0pJ
VEdhdGVQdHJUYWc+IGppdENhZ2VQdHJUaHVuaygpCiB7CiAgICAgc3RhdGljIExhenlOZXZlckRl
c3Ryb3llZDxNYWNyb0Fzc2VtYmxlckNvZGVSZWY8TmF0aXZlVG9KSVRHYXRlUHRyVGFnPj4gY29k
ZVJlZjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5r
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmgKaW5kZXggOWNk
NDc4YTA3NDVjNjE0M2UyYjM0YWViMzdmMWNlNWJhODMxYTdmMC4uYWI3OGVhZWJiNjE2ZjdlOTk4
YjNhYTAwN2MwZGFlMzk0ODg0ODE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50VGh1bmtzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50VGh1bmtzLmgKQEAgLTQyLDcgKzQyLDcgQEAgZXh0ZXJuICJDIiB7CiAgICAgRW5jb2RlZEpT
VmFsdWUgdm1FbnRyeUhvc3RGdW5jdGlvbihKU0dsb2JhbE9iamVjdCosIENhbGxGcmFtZSosIHZv
aWQqKTsKIH0KIAotI2lmIEVOQUJMRShKSVRfQ0FHRSkKKyNpZiBDUFUoQVJNNjRFKQogZXh0ZXJu
ICJDIiB7CiAgICAgdm9pZCBqaXRDYWdlUHRyR2F0ZUFmdGVyKHZvaWQpOwogICAgIHZvaWQgdm1F
bnRyeVRvSmF2YVNjcmlwdEdhdGVBZnRlcih2b2lkKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417347</attachid>
            <date>2021-01-10 00:54:22 -0800</date>
            <delta_ts>2021-01-10 10:13:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220500-20210110005421.patch</filename>
            <type>text/plain</type>
            <size>8461</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
Y2JjZjMxODU4ZGQ2NzBkN2UxN2Q0NDJjNWVjM2QwZDMxNmM2ZGY5Li5kNTA0MWI1MmJhMWU4YmZj
MDE2MmUxZjJjYTIwNTAyN2FkZmZmMDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAyMS0wMS0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEpJVENhZ2UncyBHYXRlIG1lY2hhbmlzbSBpcyB1c2VkIGluIEFS
TTY0RSBldmVuIGlmIEpJVENhZ2UgaXMgdXNlZCBmb3Igc2ltcGxpY2l0eQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNTAwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ugc2hvdWxkIGVuc3VyZSB0aGF0
IEdhdGUgbWVjaGFuaXNtIGp1c3Qgd29ya3MgZXZlbiBpZiBFTkFCTEUoSklUX0NBR0UpIGlzIE9G
RiBpbiBBUk02NEUgc2luY2UKKyAgICAgICAgaW4gTExJbnQgd2UgYXJlIGFsd2F5cyB1c2luZyBH
YXRlIGV2ZW4gaWYgRU5BQkxFKEpJVF9DQUdFKSBpcyBPRkYgYmVjYXVzZSBpdCBtYWtlcyBMTElu
dCBjb2RlCisgICAgICAgIHNpZ25pZmljYW50bHkgc2ltcGxlcjogd2UgZG8gbm90IHdhbnQgdG8g
aGF2ZSBtdWx0aXBsZSBpbXBsZW1lbnRhdGlvbnMgZm9yIEFSTTY0RSBmb3IgRU5BQkxFKEpJVF9D
QUdFKSBPTi9PRkYKKyAgICAgICAgaW4gTExJbnQgaWYgaXQgaXMgbm90IG5lY2Vzc2FyeSBpbiB0
ZXJtcyBvZiBwZXJmb3JtYW5jZS4gQW5kIGl0IGRpZG4ndCBjYXVzZSBwZXJmb3JtYW5jZSByZWdy
ZXNzaW9uLgorICAgICAgICBTbyBmb3Igc2ltcGxpY2l0eSwgd2UgYXJlIGFsd2F5cyB1c2luZyBH
YXRlIGluIExMSW50LgorCisgICAgICAgIEhvd2V2ZXIsIHdoZW4gZGlzYWJsaW5nIEVOQUJMRShK
SVRfQ0FHRSksIHdlIGFjY2lkZW50YWxseSBkaXNhYmxlZCBHYXRlIG1lY2hhbmlzbSB0b28gaW4g
TExJbnQuCisgICAgICAgIEl0IG1ha2VzIEFSTTY0RSBicm9rZW4gaWYgRU5BQkxFKEpJVF9DQUdF
KSBpcyBPRkYuIFRoaXMgcGF0Y2ggbWFrZXMgR2F0ZSB3b3JrIGV2ZW4gaWYgRU5BQkxFKEpJVF9D
QUdFKSBpcyBPRkYsCisgICAgICAgIGFuZCB0aGlzIGlzIHRoZSBleHBlY3RlZCBkZXNpZ24uCisK
KyAgICAgICAgKiBsbGludC9MTEludERhdGEuY3BwOgorICAgICAgICAoSlNDOjpMTEludDo6aW5p
dGlhbGl6ZSk6CisgICAgICAgICogbGxpbnQvTExJbnRFbnRyeXBvaW50LmNwcDoKKyAgICAgICAg
KEpTQzo6TExJbnQ6OnNldEZ1bmN0aW9uRW50cnlwb2ludCk6CisgICAgICAgIChKU0M6OkxMSW50
OjpzZXRFdmFsRW50cnlwb2ludCk6CisgICAgICAgIChKU0M6OkxMSW50OjpzZXRQcm9ncmFtRW50
cnlwb2ludCk6CisgICAgICAgIChKU0M6OkxMSW50OjpzZXRNb2R1bGVQcm9ncmFtRW50cnlwb2lu
dCk6CisgICAgICAgICogbGxpbnQvTExJbnRUaHVua3MuY3BwOgorICAgICAgICAqIGxsaW50L0xM
SW50VGh1bmtzLmg6CisKIDIwMjEtMDEtMDggIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hA
Z21haWwuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBAY29weURhdGFQcm9wZXJ0aWVzIGluIEMr
KyB0byBvcHRpbWl6ZSBvYmplY3QgcmVzdCAvIHNwcmVhZApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnREYXRhLmNwcAppbmRleCAxYzZkN2Q5MzJiZmY3NDJhMWIzYzk3N2ZmYzE0ZWM3
Nzc1YmU2NDdiLi5lYTA3MjEzMGIxYjJjOTZjYmMzODUwMmVhZjYyODE5M2E5ZDZmNmU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNwcApAQCAtNTQsNyArNTQsNyBA
QCBleHRlcm4gIkMiIHZvaWQgd2FzbV9lbnRyeSh2b2lkKiwgdm9pZCosIHZvaWQqKTsKIAogI2Vu
ZGlmIC8vICFFTkFCTEUoQ19MT09QKQogCi0jaWYgRU5BQkxFKEpJVF9DQUdFKQorI2lmIENQVShB
Uk02NEUpCiBleHRlcm4gIkMiIHZvaWQgdm1FbnRyeVRvSmF2YVNjcmlwdFRyYW1wb2xpbmUodm9p
ZCk7CiBleHRlcm4gIkMiIHZvaWQgdGFpbENhbGxKU0VudHJ5VHJhbXBvbGluZSh2b2lkKTsKIGV4
dGVybiAiQyIgdm9pZCB0YWlsQ2FsbEpTRW50cnlTbG93UGF0aFRyYW1wb2xpbmUodm9pZCk7CkBA
IC04OSw5ICs4OSwxMiBAQCB2b2lkIGluaXRpYWxpemUoKQogCiAgICAgSklUT3BlcmF0aW9uTGlz
dDo6cG9wdWxhdGVQb2ludGVyc0luSmF2YVNjcmlwdENvcmVGb3JMTEludCgpOwogCisjaWYgQ1BV
KEFSTTY0RSkKKwogI2lmIEVOQUJMRShKSVRfQ0FHRSkKICAgICBpZiAoT3B0aW9uczo6dXNlSklU
Q2FnZSgpKQogICAgICAgICBnX2pzY0NvbmZpZy5sbGludC5nYXRlTWFwW3N0YXRpY19jYXN0PHVu
c2lnbmVkPihHYXRlOjpqaXRDYWdlUHRyKV0gPSBqaXRDYWdlUHRyVGh1bmsoKS5jb2RlKCkuZXhl
Y3V0YWJsZUFkZHJlc3MoKTsKKyNlbmRpZgogCiAjZGVmaW5lIElOSVRJQUxJWkVfSlNfR0FURShu
YW1lLCB0YWcpIFwKICAgICBkbyB7IFwKQEAgLTIwMyw3ICsyMDYsNyBAQCB2b2lkIGluaXRpYWxp
emUoKQogCiAgICAgSU5JVElBTElaRV9UQUdfQU5EX1VOVEFHX1RIVU5LUyhsbGludF9mdW5jdGlv
bl9mb3JfY2FsbF9hcml0eV9jaGVjayk7CiAgICAgSU5JVElBTElaRV9UQUdfQU5EX1VOVEFHX1RI
VU5LUyhsbGludF9mdW5jdGlvbl9mb3JfY29uc3RydWN0X2FyaXR5X2NoZWNrKTsKLSNlbmRpZiAv
LyBFTkFCTEUoSklUX0NBR0UpCisjZW5kaWYgLy8gQ1BVKEFSTTY0RSkKICNlbmRpZiAvLyBFTkFC
TEUoQ19MT09QKQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRFbnRyeXBvaW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludEVu
dHJ5cG9pbnQuY3BwCmluZGV4IGMxYTI4ZjBhNDllNTFjODU0YWQzNjFiZTVkYjBlODE4M2U5NDRm
MzAuLjE2ZGU0MTc2YmQ0YjUwYjZjNDdlYWFiZmY3YWUwNDEwY2M0MGYzYWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludEVudHJ5cG9pbnQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludEVudHJ5cG9pbnQuY3BwCkBAIC0zNSw3ICsz
NSw3IEBACiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQgewogCi0jaWYgRU5BQkxF
KEpJVF9DQUdFKQorI2lmIENQVShBUk02NEUpCiBleHRlcm4gIkMiIHZvaWQganNUcmFtcG9saW5l
UHJvZ3JhbVByb2xvZ3VlKHZvaWQpOwogZXh0ZXJuICJDIiB2b2lkIGpzVHJhbXBvbGluZU1vZHVs
ZVByb2dyYW1Qcm9sb2d1ZSh2b2lkKTsKIGV4dGVybiAiQyIgdm9pZCBqc1RyYW1wb2xpbmVFdmFs
UHJvbG9ndWUodm9pZCk7CkBAIC04OCw3ICs4OCw3IEBAIHN0YXRpYyB2b2lkIHNldEZ1bmN0aW9u
RW50cnlwb2ludChDb2RlQmxvY2sqIGNvZGVCbG9jaykKICAgICAgICAgc3RhdGljIERpcmVjdEpJ
VENvZGUqIGppdENvZGU7CiAgICAgICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlS2V5Owog
ICAgICAgICBzdGQ6OmNhbGxfb25jZShvbmNlS2V5LCBbJl0gewotI2lmIEVOQUJMRShKSVRfQ0FH
RSkKKyNpZiBDUFUoQVJNNjRFKQogICAgICAgICAgICAgaml0Q29kZSA9IG5ldyBEaXJlY3RKSVRD
b2RlKGVudHJ5cG9pbnRUcmFtcG9saW5lKGpzVHJhbXBvbGluZUZ1bmN0aW9uRm9yQ2FsbFByb2xv
Z3VlKSwgZW50cnlwb2ludFRyYW1wb2xpbmUoanNUcmFtcG9saW5lRnVuY3Rpb25Gb3JDYWxsQXJp
dHlDaGVja1Byb2xvZ3VlKS5jb2RlKCksIEpJVFR5cGU6OkludGVycHJldGVyVGh1bmssIEpJVENv
ZGU6OlNoYXJlQXR0cmlidXRlOjpTaGFyZWQpOwogI2Vsc2UKICAgICAgICAgICAgIGppdENvZGUg
PSBuZXcgRGlyZWN0SklUQ29kZShnZXRDb2RlUmVmPEpTRW50cnlQdHJUYWc+KGxsaW50X2Z1bmN0
aW9uX2Zvcl9jYWxsX3Byb2xvZ3VlKSwgZ2V0Q29kZVB0cjxKU0VudHJ5UHRyVGFnPihsbGludF9m
dW5jdGlvbl9mb3JfY2FsbF9hcml0eV9jaGVjayksIEpJVFR5cGU6OkludGVycHJldGVyVGh1bmss
IEpJVENvZGU6OlNoYXJlQXR0cmlidXRlOjpTaGFyZWQpOwpAQCAtOTksNyArOTksNyBAQCBzdGF0
aWMgdm9pZCBzZXRGdW5jdGlvbkVudHJ5cG9pbnQoQ29kZUJsb2NrKiBjb2RlQmxvY2spCiAgICAg
ICAgIHN0YXRpYyBEaXJlY3RKSVRDb2RlKiBqaXRDb2RlOwogICAgICAgICBzdGF0aWMgc3RkOjpv
bmNlX2ZsYWcgb25jZUtleTsKICAgICAgICAgc3RkOjpjYWxsX29uY2Uob25jZUtleSwgWyZdIHsK
LSNpZiBFTkFCTEUoSklUX0NBR0UpCisjaWYgQ1BVKEFSTTY0RSkKICAgICAgICAgICAgIGppdENv
ZGUgPSBuZXcgRGlyZWN0SklUQ29kZShlbnRyeXBvaW50VHJhbXBvbGluZShqc1RyYW1wb2xpbmVG
dW5jdGlvbkZvckNvbnN0cnVjdFByb2xvZ3VlKSwgZW50cnlwb2ludFRyYW1wb2xpbmUoanNUcmFt
cG9saW5lRnVuY3Rpb25Gb3JDb25zdHJ1Y3RBcml0eUNoZWNrUHJvbG9ndWUpLmNvZGUoKSwgSklU
VHlwZTo6SW50ZXJwcmV0ZXJUaHVuaywgSklUQ29kZTo6U2hhcmVBdHRyaWJ1dGU6OlNoYXJlZCk7
CiAjZWxzZQogICAgICAgICAgICAgaml0Q29kZSA9IG5ldyBEaXJlY3RKSVRDb2RlKGdldENvZGVS
ZWY8SlNFbnRyeVB0clRhZz4obGxpbnRfZnVuY3Rpb25fZm9yX2NvbnN0cnVjdF9wcm9sb2d1ZSks
IGdldENvZGVQdHI8SlNFbnRyeVB0clRhZz4obGxpbnRfZnVuY3Rpb25fZm9yX2NvbnN0cnVjdF9h
cml0eV9jaGVjayksIEpJVFR5cGU6OkludGVycHJldGVyVGh1bmssIEpJVENvZGU6OlNoYXJlQXR0
cmlidXRlOjpTaGFyZWQpOwpAQCAtMTI3LDcgKzEyNyw3IEBAIHN0YXRpYyB2b2lkIHNldEV2YWxF
bnRyeXBvaW50KENvZGVCbG9jayogY29kZUJsb2NrKQogICAgIHN0YXRpYyBOYXRpdmVKSVRDb2Rl
KiBqaXRDb2RlOwogICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlS2V5OwogICAgIHN0ZDo6
Y2FsbF9vbmNlKG9uY2VLZXksIFsmXSB7Ci0jaWYgRU5BQkxFKEpJVF9DQUdFKQorI2lmIENQVShB
Uk02NEUpCiAgICAgICAgIGppdENvZGUgPSBuZXcgTmF0aXZlSklUQ29kZShlbnRyeXBvaW50VHJh
bXBvbGluZShqc1RyYW1wb2xpbmVFdmFsUHJvbG9ndWUpLCBKSVRUeXBlOjpJbnRlcnByZXRlclRo
dW5rLCBJbnRyaW5zaWM6Ok5vSW50cmluc2ljLCBKSVRDb2RlOjpTaGFyZUF0dHJpYnV0ZTo6U2hh
cmVkKTsKICNlbHNlCiAgICAgICAgIGppdENvZGUgPSBuZXcgTmF0aXZlSklUQ29kZShnZXRDb2Rl
UmVmPEpTRW50cnlQdHJUYWc+KGxsaW50X2V2YWxfcHJvbG9ndWUpLCBKSVRUeXBlOjpJbnRlcnBy
ZXRlclRodW5rLCBJbnRyaW5zaWM6Ok5vSW50cmluc2ljLCBKSVRDb2RlOjpTaGFyZUF0dHJpYnV0
ZTo6U2hhcmVkKTsKQEAgLTE1NCw3ICsxNTQsNyBAQCBzdGF0aWMgdm9pZCBzZXRQcm9ncmFtRW50
cnlwb2ludChDb2RlQmxvY2sqIGNvZGVCbG9jaykKICAgICBzdGF0aWMgTmF0aXZlSklUQ29kZSog
aml0Q29kZTsKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUtleTsKICAgICBzdGQ6OmNh
bGxfb25jZShvbmNlS2V5LCBbJl0gewotI2lmIEVOQUJMRShKSVRfQ0FHRSkKKyNpZiBDUFUoQVJN
NjRFKQogICAgICAgICBqaXRDb2RlID0gbmV3IE5hdGl2ZUpJVENvZGUoZW50cnlwb2ludFRyYW1w
b2xpbmUoanNUcmFtcG9saW5lUHJvZ3JhbVByb2xvZ3VlKSwgSklUVHlwZTo6SW50ZXJwcmV0ZXJU
aHVuaywgSW50cmluc2ljOjpOb0ludHJpbnNpYywgSklUQ29kZTo6U2hhcmVBdHRyaWJ1dGU6OlNo
YXJlZCk7CiAjZWxzZQogICAgICAgICBqaXRDb2RlID0gbmV3IE5hdGl2ZUpJVENvZGUoZ2V0Q29k
ZVJlZjxKU0VudHJ5UHRyVGFnPihsbGludF9wcm9ncmFtX3Byb2xvZ3VlKSwgSklUVHlwZTo6SW50
ZXJwcmV0ZXJUaHVuaywgSW50cmluc2ljOjpOb0ludHJpbnNpYywgSklUQ29kZTo6U2hhcmVBdHRy
aWJ1dGU6OlNoYXJlZCk7CkBAIC0xODEsNyArMTgxLDcgQEAgc3RhdGljIHZvaWQgc2V0TW9kdWxl
UHJvZ3JhbUVudHJ5cG9pbnQoQ29kZUJsb2NrKiBjb2RlQmxvY2spCiAgICAgc3RhdGljIE5hdGl2
ZUpJVENvZGUqIGppdENvZGU7CiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VLZXk7CiAg
ICAgc3RkOjpjYWxsX29uY2Uob25jZUtleSwgWyZdIHsKLSNpZiBFTkFCTEUoSklUX0NBR0UpCisj
aWYgQ1BVKEFSTTY0RSkKICAgICAgICAgaml0Q29kZSA9IG5ldyBOYXRpdmVKSVRDb2RlKGVudHJ5
cG9pbnRUcmFtcG9saW5lKGpzVHJhbXBvbGluZU1vZHVsZVByb2dyYW1Qcm9sb2d1ZSksIEpJVFR5
cGU6OkludGVycHJldGVyVGh1bmssIEludHJpbnNpYzo6Tm9JbnRyaW5zaWMsIEpJVENvZGU6OlNo
YXJlQXR0cmlidXRlOjpTaGFyZWQpOwogI2Vsc2UKICAgICAgICAgaml0Q29kZSA9IG5ldyBOYXRp
dmVKSVRDb2RlKGdldENvZGVSZWY8SlNFbnRyeVB0clRhZz4obGxpbnRfbW9kdWxlX3Byb2dyYW1f
cHJvbG9ndWUpLCBKSVRUeXBlOjpJbnRlcnByZXRlclRodW5rLCBJbnRyaW5zaWM6Ok5vSW50cmlu
c2ljLCBKSVRDb2RlOjpTaGFyZUF0dHJpYnV0ZTo6U2hhcmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRUaHVua3MuY3BwCmluZGV4IDk2MGQxMTVmZTAzZGExYjRlOTNlNDM4
Y2VlODUxMjUwZDc1YjA3MmYuLmY4OGY5YWY5OGQ0MWQ4ODU1ZDVhOTM4MWEzNTZmYjU3YjRjYTdm
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmNwcApAQCAt
NDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogI2lmIEVOQUJMRShKSVQpCiAKLSNpZiBF
TkFCTEUoSklUX0NBR0UpCisjaWYgQ1BVKEFSTTY0RSkKIAogI2RlZmluZSBKU0NfQU5OT1RBVEVf
TExJTlRfSklUX09QRVJBVElPTihuYW1lKSBcCiAgICAgSlNDX0FOTk9UQVRFX0pJVF9PUEVSQVRJ
T04oX0pJVFRhcmdldF8jI25hbWUsIG5hbWUpCkBAIC0zNDMsNyArMzQzLDcgQEAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmPEpTRW50cnlQdHJUYWc+IGZ1enplclJldHVybkVhcmx5RnJvbUxvb3BIaW50
VGh1bmsoKQogICAgIHJldHVybiBjb2RlUmVmOwogfQogCi0jaWYgRU5BQkxFKEpJVF9DQUdFKQor
I2lmIENQVShBUk02NEUpCiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxOYXRpdmVUb0pJVEdhdGVQ
dHJUYWc+IGNyZWF0ZUpTR2F0ZVRodW5rKHZvaWQqIHBvaW50ZXIsIFB0clRhZyB0YWcsIGNvbnN0
IGNoYXIqIG5hbWUpCiB7CkBAIC00ODcsNiArNDg3LDEwIEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJl
ZjxOYXRpdmVUb0pJVEdhdGVQdHJUYWc+IHVudGFnR2F0ZVRodW5rKHZvaWQqIHBvaW50ZXIpCiAg
ICAgcmV0dXJuIEZJTkFMSVpFX0NPREUocGF0Y2hCdWZmZXIsIE5hdGl2ZVRvSklUR2F0ZVB0clRh
ZywgInVudGFnIHRodW5rIik7CiB9CiAKKyNlbmRpZiAvLyBDUFUoQVJNNjRFKQorCisjaWYgRU5B
QkxFKEpJVF9DQUdFKQorCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8TmF0aXZlVG9KSVRHYXRlUHRy
VGFnPiBqaXRDYWdlUHRyVGh1bmsoKQogewogICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8
TWFjcm9Bc3NlbWJsZXJDb2RlUmVmPE5hdGl2ZVRvSklUR2F0ZVB0clRhZz4+IGNvZGVSZWY7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRUaHVua3MuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5oCmluZGV4IDljZDQ3OGEwNzQ1
YzYxNDNlMmIzNGFlYjM3ZjFjZTViYTgzMWE3ZjAuLmFiNzhlYWViYjYxNmY3ZTk5OGIzYWEwMDdj
MGRhZTM5NDg4NDgxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFRodW5rcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5r
cy5oCkBAIC00Miw3ICs0Miw3IEBAIGV4dGVybiAiQyIgewogICAgIEVuY29kZWRKU1ZhbHVlIHZt
RW50cnlIb3N0RnVuY3Rpb24oSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqLCB2b2lkKik7CiB9
CiAKLSNpZiBFTkFCTEUoSklUX0NBR0UpCisjaWYgQ1BVKEFSTTY0RSkKIGV4dGVybiAiQyIgewog
ICAgIHZvaWQgaml0Q2FnZVB0ckdhdGVBZnRlcih2b2lkKTsKICAgICB2b2lkIHZtRW50cnlUb0ph
dmFTY3JpcHRHYXRlQWZ0ZXIodm9pZCk7Cg==
</data>
<flag name="review"
          id="435038"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>