<?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>240392</bug_id>
          
          <creation_ts>2022-05-13 11:32:35 -0700</creation_ts>
          <short_desc>[GTK][WPE] Current-context enforcement in ANGLE is expensive</short_desc>
          <delta_ts>2023-09-06 14:44:50 -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>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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=254286</see_also>
          <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>
          
          <blocked>237649</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>alex</cc>
    
    <cc>aperez</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1868814</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-05-13 11:32:35 -0700</bug_when>
    <thetext>For basically every WebGL entrypoint, the ANGLE context is enforced to be current for the executing thread.

There&apos;s at this point in time the smart check to test whether the current context is already the one that we are using, through comparing against EGL_GetCurrentContext() return value. Only when not equal do we go on to call EGL_MakeCurrent().

Even the check is still expensive because it does an inefficient job of loading from thread-local storage. Because it&apos;s called on every WebGL entrypoint this becomes quite visible on profiles and a considerable amount of time is spent here. I can provide receipts later.

ANGLE is internally using the `thread_local` specifier on the data structure holding the current-context value. Mesa doesn&apos;t suffer from this, and is using the `__thread` specifier, along with the `tls_model(&quot;initial-exec&quot;)` attribute. This needs confirmation on what the differentiator exactly is, after that it should be possible to decide what to change and where to do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869153</commentid>
    <comment_count>1</comment_count>
      <attachid>459407</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-05-15 23:54:55 -0700</bug_when>
    <thetext>Created attachment 459407
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869166</commentid>
    <comment_count>2</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-05-16 01:26:58 -0700</bug_when>
    <thetext>Testing on equal WebGL load, this is the difference:

Current current-context handling, through ANGLE:
&gt; CPU utilization of the WebProcess:
&gt;           2,629.68 msec task-clock                #    0.657 CPUs utilized
&gt; Percentage of CPU utilization spent under and inside makeContextCurrent():
&gt;      4.82%     0.57%  WPEWebProcess    libWPEWebKit-1.0.so.3.17.0      [.] WebCore::GraphicsContextGLANGLE::makeContextCurrent

With a check on a thread-local variable with the tls_model(&quot;initial-exec&quot;) attribute, as implemented in the WIP patch:
&gt; CPU utilization of the WebProcess:
&gt;          17,924.20 msec task-clock                #    0.597 CPUs utilized 
&gt; Percentage of CPU utilization spent under and inside makeContextCurrent():
&gt;      0.86%     0.66%  WPEWebProcess    libWPEWebKit-1.0.so.3.17.0      [.] WebCore::GraphicsContextGLANGLE::makeContextCurrent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869361</commentid>
    <comment_count>3</comment_count>
      <attachid>459445</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-05-16 12:03:58 -0700</bug_when>
    <thetext>Created attachment 459445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869363</commentid>
    <comment_count>4</comment_count>
      <attachid>459446</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-05-16 12:04:58 -0700</bug_when>
    <thetext>Created attachment 459446
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869385</commentid>
    <comment_count>5</comment_count>
      <attachid>459446</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2022-05-16 13:25:29 -0700</bug_when>
    <thetext>Comment on attachment 459446
Patch

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

&gt; Source/WebCore/ChangeLog:34
&gt; +        &apos;ELF Handling For Thread-Local Storage&apos; paper by Ulrich Drepper.

Reading this was good for a quick-ish summary for me:

  https://maskray.me/blog/2021-02-14-all-about-thread-local-storage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869579</commentid>
    <comment_count>6</comment_count>
      <attachid>459481</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-05-16 22:39:01 -0700</bug_when>
    <thetext>Created attachment 459481
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869581</commentid>
    <comment_count>7</comment_count>
      <attachid>459481</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-05-16 22:52:18 -0700</bug_when>
    <thetext>Comment on attachment 459481
Patch for landing

Clearing flags on attachment: 459481

Committed r294290 (250632@trunk): &lt;https://commits.webkit.org/250632@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869582</commentid>
    <comment_count>8</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-05-16 22:52:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869583</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-05-16 22:53:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/93399978&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1975922</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2023-09-06 14:44:50 -0700</bug_when>
    <thetext>Note this code has been deleted at some point. Not sure if that is OK or not, but TLS_MODEL_INITIAL_EXEC is no longer used anywhere.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459407</attachid>
            <date>2022-05-15 23:54:55 -0700</date>
            <delta_ts>2022-05-16 12:03:54 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-240392-20220516085454.patch</filename>
            <type>text/plain</type>
            <size>3061</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjk0MTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgyYzFkMGQ0NzMyZmU5NjJlNDVkMWQ1
MTFlODhmMjQ2OTI1NmRkZDQuLjNmYmU1OGY1MmFlYTBjNDBmZDM1Mjc0ZjVlYzk4YzU3ZjZiMmU0
YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDUtMTUgIFphbiBEb2JlcnNlayAgPHpkb2Jl
cnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gQ3VycmVudC1jb250ZXh0IGVu
Zm9yY2VtZW50IGluIEFOR0xFIGlzIGV4cGVuc2l2ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMzkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvQ29tcGlsZXIuaDoKKwogMjAyMi0wNS0xMiAg
TWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQHJlZGhhdC5jb20+CiAKICAgICAgICAgLVdh
dHRyaWJ1dGVzIHdhcm5pbmdzIGZyb20gQXRvbVN0cmluZy5jcHAgYW5kIFdURlN0cmluZy5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiMWI0ZWM5MjJjZGZhMmQ5OWI0OWI3MTJmZDQyMGFlYTZjZDg3ZDJmLi5m
YzcyNjc4NzcwZjM4OWJiYWFjOGRlNDliMWZkM2I1ODBhNDVjYThjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMjItMDUtMTUgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gQ3VycmVudC1jb250ZXh0IGVuZm9yY2VtZW50IGlu
IEFOR0xFIGlzIGV4cGVuc2l2ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjQwMzkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9nYm0vR3JhcGhpY3NDb250ZXh0R0xHQk0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6bWFrZUNvbnRleHRDdXJyZW50KToKKwogMjAyMi0wNS0x
MyAgQWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaApp
bmRleCA1ZjAxOGUxZWM0Zjg0YzA0MDYxMWMwMzczM2IxMjg4NTRlZTY0OTQ4Li44MDhhYTg1Yjk3
NjAwN2FlZDhhZDgyNWFkNzFjNTBkYWQ5YTUwNTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9Db21waWxlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKQEAgLTUzMiwzICs1
MzIsMTMgQEAKICNpZiAhZGVmaW5lZChOT19VTklRVUVfQUREUkVTUykKICNkZWZpbmUgTk9fVU5J
UVVFX0FERFJFU1MKICNlbmRpZgorCisvKiBUTFNfTU9ERUxfSU5JVElBTF9FWEVDICovCisKKyNp
ZiAhZGVmaW5lZChUTFNfTU9ERUxfSU5JVElBTF9FWEVDKQorI2lmIGRlZmluZWQoX19oYXNfYXR0
cmlidXRlKSAmJiBfX2hhc19hdHRyaWJ1dGUodGxzX21vZGVsKQorI2RlZmluZSBUTFNfTU9ERUxf
SU5JVElBTF9FWEVDIF9fYXR0cmlidXRlX18oKHRsc19tb2RlbCgiaW5pdGlhbC1leGVjIikpKQor
I2Vsc2UKKyNkZWZpbmUgVExTX01PREVMX0lOSVRJQUxfRVhFQworI2VuZGlmCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dibS9HcmFwaGljc0Nv
bnRleHRHTEdCTS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR3Jh
cGhpY3NDb250ZXh0R0xHQk0uY3BwCmluZGV4IDgxMDJkMzA0NjljNGFlY2VlOTU2MGQ5ZTY4OWQ3
MTY0ZDdlNDgxMGUuLmE4NTllMmY1Nzg5MDYyMDU5MzY0MWQ1NDU2NDY1MjhlMmMyZGYyNTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dibS9HcmFwaGljc0Nv
bnRleHRHTEdCTS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2Jt
L0dyYXBoaWNzQ29udGV4dEdMR0JNLmNwcApAQCAtNzgsMTEgKzc4LDE2IEBAIEdDR0xDb25maWcg
R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cGxhdGZvcm1Db25maWcoKSBjb25zdAogCiBib29sIEdy
YXBoaWNzQ29udGV4dEdMQU5HTEU6Om1ha2VDb250ZXh0Q3VycmVudCgpCiB7CisgICAgc3RhdGlj
IHRocmVhZF9sb2NhbCBUTFNfTU9ERUxfSU5JVElBTF9FWEVDIEdyYXBoaWNzQ29udGV4dEdMQU5H
TEUqIHNfY3VycmVudENvbnRleHQgeyBudWxscHRyIH07CisKICAgICBhdXRvIG1hZGVDdXJyZW50
ID0KICAgICAgICAgWyZdIHsKLSAgICAgICAgICAgIGlmIChFR0xfR2V0Q3VycmVudENvbnRleHQo
KSA9PSBtX2NvbnRleHRPYmopCisgICAgICAgICAgICBpZiAoc19jdXJyZW50Q29udGV4dCA9PSB0
aGlzKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgcmV0dXJuICEh
RUdMX01ha2VDdXJyZW50KG1fZGlzcGxheU9iaiwgRUdMX05PX1NVUkZBQ0UsIEVHTF9OT19TVVJG
QUNFLCBtX2NvbnRleHRPYmopOworICAgICAgICAgICAgYm9vbCBjdXJyZW50ID0gISFFR0xfTWFr
ZUN1cnJlbnQobV9kaXNwbGF5T2JqLCBFR0xfTk9fU1VSRkFDRSwgRUdMX05PX1NVUkZBQ0UsIG1f
Y29udGV4dE9iaik7CisgICAgICAgICAgICBpZiAoY3VycmVudCkKKyAgICAgICAgICAgICAgICBz
X2N1cnJlbnRDb250ZXh0ID0gdGhpczsKKyAgICAgICAgICAgIHJldHVybiBjdXJyZW50OwogICAg
ICAgICB9KCk7CiAKICAgICBhdXRvJiBjb250ZXh0U3dhcGNoYWluID0gc3RhdGljX2Nhc3Q8R3Jh
cGhpY3NDb250ZXh0R0xHQk0mPigqdGhpcykuc3dhcGNoYWluKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459445</attachid>
            <date>2022-05-16 12:03:58 -0700</date>
            <delta_ts>2022-05-16 12:04:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240392-20220516210357.patch</filename>
            <type>text/plain</type>
            <size>4985</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggZWE0NTg0MWM0YzhjYTE0YWQ5ZjM3ODI3MzZiNDQ5MjFmMWM3NzM3Yy4uYWYzNzQ2Mzgx
MzJhMmNlZGY0ZDkwM2NmMDRhYWY1ODkyZTk4YmY3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAy
Mi0wNS0xNiAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dUS11bV1BFXSBDdXJyZW50LWNvbnRleHQgZW5mb3JjZW1lbnQgaW4gQU5HTEUgaXMgZXhwZW5z
aXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDAz
OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0
Zi9Db21waWxlci5oOiBEZWZpbmUgdGhlIFRMU19NT0RFTF9JTklUSUFMX0VYRUMgbWFjcm8gYXMg
dGhlCisgICAgICAgIHRsc19tb2RlbCBhdHRyaWJ1dGUgd2l0aCB0aGUgaW5pdGlhbC1leGVjIHZh
bHVlLCB0byBiZSB1c2VkIG9uIHZhcmlhYmxlcworICAgICAgICB3aG9zZSBUTFMgbW9kZWwgc2hv
dWxkIGJlIGFkanVzdGVkLgorCiAyMDIyLTA1LTE1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJpZ2h0IGNsaWNrID4gIk9wZW4gTGluayIgc2hvdWxk
IHRyaWdnZXIgYSBuYXZpZ2F0aW9uIGFjdGlvbiB3aXRoIFdLTmF2aWdhdGlvblR5cGVMaW5rQWN0
aXZhdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggZmNkYTVjNGRhMThjYzI5OWQxODQyNTc3ZjBjNTljNGNjZDI1
NWQ5Yi4uYzM5YzBiM2EwY2Y2ZmQyZjEyM2IwNzczMjMyMjgyZGQ3ZmU3NzhjYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQxIEBACisyMDIyLTA1LTE2ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIEN1cnJlbnQtY29udGV4dCBlbmZvcmNl
bWVudCBpbiBBTkdMRSBpcyBleHBlbnNpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI0MDM5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFOR0xFJ3MgY3VycmVudC1jb250ZXh0IG9wZXJhdGlvbnMgYXJl
IHJlbGF0aXZlbHkgaGVhdnkgYW5kIGludHJvZHVjZQorICAgICAgICBkZXRlY3RhYmxlIG92ZXJo
ZWFkIHdoZW4gZXhlY3V0ZWQgZm9yIGVhY2ggb2YgbWFueSBXZWJHTCBvcGVyYXRpb24uIE1vcmUK
KyAgICAgICAgc3BlY2lmaWNhbGx5LCBsb2FkcyBvZiB0aGUgY3VycmVudC10aHJlYWQgZGF0YSBm
cm9tIHRocmVhZC1sb2NhbAorICAgICAgICBzdG9yYWdlIGFyZSBkb25lIHVuZGVyIGJvdGggRUdM
X0dldEN1cnJlbnRDb250ZXh0KCkgYW5kCisgICAgICAgIEVHTF9NYWtlQ3VycmVudCgpIHRocm91
Z2ggdGhlIGdlbmVyYWwgVExTIGFjY2VzcyBtb2RlbCwgcmVseWluZyBvbiB0aGUKKyAgICAgICAg
X190bHNfZ2V0X2FkZHIgZnVuY3Rpb24uCisKKyAgICAgICAgSW5zdGVhZCwgYSBzdGF0aWMgdGhy
ZWFkLWxvY2FsIHBvaW50ZXIgdmFyaWFibGUgaXMgaW50cm9kdWNlZCwgd2l0aCB0aGUKKyAgICAg
ICAgaW5pdGlhbC1leGVjIG1ldGhvZCwgY29udGFpbmluZyB0aGUgYWRkcmVzcyBvZiB0aGUgY3Vy
cmVudAorICAgICAgICBHcmFwaGljc0NvbnRleHRHTEFOR0xFIG9iamVjdCBmb3IgYSBnaXZlbiB0
aHJlYWQuIEluc3RlYWQgb2YgZGlwcGluZworICAgICAgICBpbnRvIEFOR0xFIHRvIHJldHJpZXZl
IHRoZSBjdXJyZW50IGNvbnRleHQsIHRoZSBHcmFwaGljc0NvbnRleHRHTEFOR0xFCisgICAgICAg
IG9iamVjdCdzIGFkZHJlc3MgaXMgY29tcGFyZWQgdG8gdGhlIHZhbHVlIG9mIHRoZSB0aHJlYWQt
bG9jYWwgdmFyaWFibGUKKyAgICAgICAgYW5kIGFuIGVhcmx5IHJldHVybiBpcyBkb25lIGlmIHRo
ZXkgbWF0Y2guCisKKyAgICAgICAgVGhpcyBtb2RlbCBpcyBhcHBsaWVkIHRocm91Z2ggdGhlIFRM
U19NT0RFTF9JTklUSUFMX0VYRUMgbWFjcm8gdGhhdCdzCisgICAgICAgIGRlZmluZWQgYXBwcm9w
cmlhdGVseSBpZiB0aGUgY29tcGlsZXIgaXMgZGV0ZWN0ZWQgdG8gc3VwcG9ydCB0aGUKKyAgICAg
ICAgcmVxdWlyZWQgdGxzX21vZGVsIGF0dHJpYnV0ZS4gVGhpcyBzaG91bGQgYmUgdGhlIGNhc2Ug
d2hlbiB0YXJnZXR0aW5nCisgICAgICAgIHBsYXRmb3JtcyB0aGF0IHVzZSBFTEYsIGkuZS4gVW5p
eC1saWtlIHN5c3RlbXMgYnV0IHByaW1hcmlseSBMaW51eC4KKworICAgICAgICBUaGUgaW5pdGlh
bC1leGVjIFRMUyBtb2RlbCByZWxpZXMgb24gZWFybHkgdW5kZXJzdGFuZGluZyBmcm9tIHRoZQor
ICAgICAgICBkeW5hbWljIGxpbmtlciBhYm91dCB3aGF0IFRMUyBkYXRhIGlzIHJlcXVpcmVkLCB3
aGljaCBlbmFibGVzIG1vcmUKKyAgICAgICAgZWZmaWNpZW50IGFsbG9jYXRpb24gb2YgYW5kIGFj
Y2VzcyBpbnRvIHRoZSByZXF1aXJlZCB1bmRlcmx5aW5nIG1lbW9yeS4KKworICAgICAgICBDYWNo
aW5nIHRoZSBjdXJyZW50LWNvbnRleHQgZGF0YSBpbnRvIGEgc3RhdGljIHRocmVhZC1zcGVjaWZp
YyB2YXJpYWJsZQorICAgICAgICB3aXRoIHRoZSBpbml0aWFsLWV4ZWMgVExTIG1vZGVsIGlzIHRo
ZSBzYW1lIGFwcHJvYWNoIHRoYXQncyB0YWtlbiBpbiB0aGUKKyAgICAgICAgTWVzYSBsaWJyYXJ5
LiBNb3JlIG9uIHRoaXMgYW5kIG90aGVyIFRMUyBtb2RlbHMgY2FuIGJlIGdhdGhlcmVkIGZyb20g
dGhlCisgICAgICAgICdFTEYgSGFuZGxpbmcgRm9yIFRocmVhZC1Mb2NhbCBTdG9yYWdlJyBwYXBl
ciBieSBVbHJpY2ggRHJlcHBlci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dibS9H
cmFwaGljc0NvbnRleHRHTEdCTS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHRHTEFOR0xFOjptYWtlQ29udGV4dEN1cnJlbnQpOgorCiAyMDIyLTA1LTE1ICBQaGlsaXBwZSBO
b3JtYW5kICA8cGhpbG5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBBZGQgYmFz
aWMgdmlkZW8gbWV0YSBoYW5kbGluZyBpbiBzaW5rcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvQ29tcGlsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKaW5kZXggNWYwMThlMWVj
NGY4NGMwNDA2MTFjMDM3MzNiMTI4ODU0ZWU2NDk0OC4uODA4YWE4NWI5NzYwMDdhZWQ4YWQ4MjVh
ZDcxYzUwZGFkOWE1MDUwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC01MzIsMyArNTMyLDEzIEBACiAjaWYg
IWRlZmluZWQoTk9fVU5JUVVFX0FERFJFU1MpCiAjZGVmaW5lIE5PX1VOSVFVRV9BRERSRVNTCiAj
ZW5kaWYKKworLyogVExTX01PREVMX0lOSVRJQUxfRVhFQyAqLworCisjaWYgIWRlZmluZWQoVExT
X01PREVMX0lOSVRJQUxfRVhFQykKKyNpZiBkZWZpbmVkKF9faGFzX2F0dHJpYnV0ZSkgJiYgX19o
YXNfYXR0cmlidXRlKHRsc19tb2RlbCkKKyNkZWZpbmUgVExTX01PREVMX0lOSVRJQUxfRVhFQyBf
X2F0dHJpYnV0ZV9fKCh0bHNfbW9kZWwoImluaXRpYWwtZXhlYyIpKSkKKyNlbHNlCisjZGVmaW5l
IFRMU19NT0RFTF9JTklUSUFMX0VYRUMKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR3JhcGhpY3NDb250ZXh0R0xHQk0uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2JtL0dyYXBoaWNzQ29udGV4dEdM
R0JNLmNwcAppbmRleCA4MTAyZDMwNDY5YzRhZWNlZTk1NjBkOWU2ODlkNzE2NGQ3ZTQ4MTBlLi5h
ODU5ZTJmNTc4OTA2MjA1OTM2NDFkNTQ1NjQ2NTI4ZTJjMmRmMjU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR3JhcGhpY3NDb250ZXh0R0xHQk0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dibS9HcmFwaGljc0NvbnRl
eHRHTEdCTS5jcHAKQEAgLTc4LDExICs3OCwxNiBAQCBHQ0dMQ29uZmlnIEdyYXBoaWNzQ29udGV4
dEdMQU5HTEU6OnBsYXRmb3JtQ29uZmlnKCkgY29uc3QKIAogYm9vbCBHcmFwaGljc0NvbnRleHRH
TEFOR0xFOjptYWtlQ29udGV4dEN1cnJlbnQoKQogeworICAgIHN0YXRpYyB0aHJlYWRfbG9jYWwg
VExTX01PREVMX0lOSVRJQUxfRVhFQyBHcmFwaGljc0NvbnRleHRHTEFOR0xFKiBzX2N1cnJlbnRD
b250ZXh0IHsgbnVsbHB0ciB9OworCiAgICAgYXV0byBtYWRlQ3VycmVudCA9CiAgICAgICAgIFsm
XSB7Ci0gICAgICAgICAgICBpZiAoRUdMX0dldEN1cnJlbnRDb250ZXh0KCkgPT0gbV9jb250ZXh0
T2JqKQorICAgICAgICAgICAgaWYgKHNfY3VycmVudENvbnRleHQgPT0gdGhpcykKICAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIHJldHVybiAhIUVHTF9NYWtlQ3VycmVu
dChtX2Rpc3BsYXlPYmosIEVHTF9OT19TVVJGQUNFLCBFR0xfTk9fU1VSRkFDRSwgbV9jb250ZXh0
T2JqKTsKKyAgICAgICAgICAgIGJvb2wgY3VycmVudCA9ICEhRUdMX01ha2VDdXJyZW50KG1fZGlz
cGxheU9iaiwgRUdMX05PX1NVUkZBQ0UsIEVHTF9OT19TVVJGQUNFLCBtX2NvbnRleHRPYmopOwor
ICAgICAgICAgICAgaWYgKGN1cnJlbnQpCisgICAgICAgICAgICAgICAgc19jdXJyZW50Q29udGV4
dCA9IHRoaXM7CisgICAgICAgICAgICByZXR1cm4gY3VycmVudDsKICAgICAgICAgfSgpOwogCiAg
ICAgYXV0byYgY29udGV4dFN3YXBjaGFpbiA9IHN0YXRpY19jYXN0PEdyYXBoaWNzQ29udGV4dEdM
R0JNJj4oKnRoaXMpLnN3YXBjaGFpbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459446</attachid>
            <date>2022-05-16 12:04:58 -0700</date>
            <delta_ts>2022-05-16 22:38:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240392-20220516210457.patch</filename>
            <type>text/plain</type>
            <size>4985</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggZWE0NTg0MWM0YzhjYTE0YWQ5ZjM3ODI3MzZiNDQ5MjFmMWM3NzM3Yy4uYWYzNzQ2Mzgx
MzJhMmNlZGY0ZDkwM2NmMDRhYWY1ODkyZTk4YmY3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAy
Mi0wNS0xNiAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dUS11bV1BFXSBDdXJyZW50LWNvbnRleHQgZW5mb3JjZW1lbnQgaW4gQU5HTEUgaXMgZXhwZW5z
aXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDAz
OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0
Zi9Db21waWxlci5oOiBEZWZpbmUgdGhlIFRMU19NT0RFTF9JTklUSUFMX0VYRUMgbWFjcm8gYXMg
dGhlCisgICAgICAgIHRsc19tb2RlbCBhdHRyaWJ1dGUgd2l0aCB0aGUgaW5pdGlhbC1leGVjIHZh
bHVlLCB0byBiZSB1c2VkIG9uIHZhcmlhYmxlcworICAgICAgICB3aG9zZSBUTFMgbW9kZWwgc2hv
dWxkIGJlIGFkanVzdGVkLgorCiAyMDIyLTA1LTE1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFJpZ2h0IGNsaWNrID4gIk9wZW4gTGluayIgc2hvdWxk
IHRyaWdnZXIgYSBuYXZpZ2F0aW9uIGFjdGlvbiB3aXRoIFdLTmF2aWdhdGlvblR5cGVMaW5rQWN0
aXZhdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggZmNkYTVjNGRhMThjYzI5OWQxODQyNTc3ZjBjNTljNGNjZDI1
NWQ5Yi4uYzM5YzBiM2EwY2Y2ZmQyZjEyM2IwNzczMjMyMjgyZGQ3ZmU3NzhjYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQxIEBACisyMDIyLTA1LTE2ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIEN1cnJlbnQtY29udGV4dCBlbmZvcmNl
bWVudCBpbiBBTkdMRSBpcyBleHBlbnNpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI0MDM5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFOR0xFJ3MgY3VycmVudC1jb250ZXh0IG9wZXJhdGlvbnMgYXJl
IHJlbGF0aXZlbHkgaGVhdnkgYW5kIGludHJvZHVjZQorICAgICAgICBkZXRlY3RhYmxlIG92ZXJo
ZWFkIHdoZW4gZXhlY3V0ZWQgZm9yIGVhY2ggb2YgbWFueSBXZWJHTCBvcGVyYXRpb24uIE1vcmUK
KyAgICAgICAgc3BlY2lmaWNhbGx5LCBsb2FkcyBvZiB0aGUgY3VycmVudC10aHJlYWQgZGF0YSBm
cm9tIHRocmVhZC1sb2NhbAorICAgICAgICBzdG9yYWdlIGFyZSBkb25lIHVuZGVyIGJvdGggRUdM
X0dldEN1cnJlbnRDb250ZXh0KCkgYW5kCisgICAgICAgIEVHTF9NYWtlQ3VycmVudCgpIHRocm91
Z2ggdGhlIGdlbmVyYWwgVExTIGFjY2VzcyBtb2RlbCwgcmVseWluZyBvbiB0aGUKKyAgICAgICAg
X190bHNfZ2V0X2FkZHIgZnVuY3Rpb24uCisKKyAgICAgICAgSW5zdGVhZCwgYSBzdGF0aWMgdGhy
ZWFkLWxvY2FsIHBvaW50ZXIgdmFyaWFibGUgaXMgaW50cm9kdWNlZCwgd2l0aCB0aGUKKyAgICAg
ICAgaW5pdGlhbC1leGVjIG1ldGhvZCwgY29udGFpbmluZyB0aGUgYWRkcmVzcyBvZiB0aGUgY3Vy
cmVudAorICAgICAgICBHcmFwaGljc0NvbnRleHRHTEFOR0xFIG9iamVjdCBmb3IgYSBnaXZlbiB0
aHJlYWQuIEluc3RlYWQgb2YgZGlwcGluZworICAgICAgICBpbnRvIEFOR0xFIHRvIHJldHJpZXZl
IHRoZSBjdXJyZW50IGNvbnRleHQsIHRoZSBHcmFwaGljc0NvbnRleHRHTEFOR0xFCisgICAgICAg
IG9iamVjdCdzIGFkZHJlc3MgaXMgY29tcGFyZWQgdG8gdGhlIHZhbHVlIG9mIHRoZSB0aHJlYWQt
bG9jYWwgdmFyaWFibGUKKyAgICAgICAgYW5kIGFuIGVhcmx5IHJldHVybiBpcyBkb25lIGlmIHRo
ZXkgbWF0Y2guCisKKyAgICAgICAgVGhpcyBtb2RlbCBpcyBhcHBsaWVkIHRocm91Z2ggdGhlIFRM
U19NT0RFTF9JTklUSUFMX0VYRUMgbWFjcm8gdGhhdCdzCisgICAgICAgIGRlZmluZWQgYXBwcm9w
cmlhdGVseSBpZiB0aGUgY29tcGlsZXIgaXMgZGV0ZWN0ZWQgdG8gc3VwcG9ydCB0aGUKKyAgICAg
ICAgcmVxdWlyZWQgdGxzX21vZGVsIGF0dHJpYnV0ZS4gVGhpcyBzaG91bGQgYmUgdGhlIGNhc2Ug
d2hlbiB0YXJnZXR0aW5nCisgICAgICAgIHBsYXRmb3JtcyB0aGF0IHVzZSBFTEYsIGkuZS4gVW5p
eC1saWtlIHN5c3RlbXMgYnV0IHByaW1hcmlseSBMaW51eC4KKworICAgICAgICBUaGUgaW5pdGlh
bC1leGVjIFRMUyBtb2RlbCByZWxpZXMgb24gZWFybHkgdW5kZXJzdGFuZGluZyBmcm9tIHRoZQor
ICAgICAgICBkeW5hbWljIGxpbmtlciBhYm91dCB3aGF0IFRMUyBkYXRhIGlzIHJlcXVpcmVkLCB3
aGljaCBlbmFibGVzIG1vcmUKKyAgICAgICAgZWZmaWNpZW50IGFsbG9jYXRpb24gb2YgYW5kIGFj
Y2VzcyBpbnRvIHRoZSByZXF1aXJlZCB1bmRlcmx5aW5nIG1lbW9yeS4KKworICAgICAgICBDYWNo
aW5nIHRoZSBjdXJyZW50LWNvbnRleHQgZGF0YSBpbnRvIGEgc3RhdGljIHRocmVhZC1zcGVjaWZp
YyB2YXJpYWJsZQorICAgICAgICB3aXRoIHRoZSBpbml0aWFsLWV4ZWMgVExTIG1vZGVsIGlzIHRo
ZSBzYW1lIGFwcHJvYWNoIHRoYXQncyB0YWtlbiBpbiB0aGUKKyAgICAgICAgTWVzYSBsaWJyYXJ5
LiBNb3JlIG9uIHRoaXMgYW5kIG90aGVyIFRMUyBtb2RlbHMgY2FuIGJlIGdhdGhlcmVkIGZyb20g
dGhlCisgICAgICAgICdFTEYgSGFuZGxpbmcgRm9yIFRocmVhZC1Mb2NhbCBTdG9yYWdlJyBwYXBl
ciBieSBVbHJpY2ggRHJlcHBlci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dibS9H
cmFwaGljc0NvbnRleHRHTEdCTS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHRHTEFOR0xFOjptYWtlQ29udGV4dEN1cnJlbnQpOgorCiAyMDIyLTA1LTE1ICBQaGlsaXBwZSBO
b3JtYW5kICA8cGhpbG5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBBZGQgYmFz
aWMgdmlkZW8gbWV0YSBoYW5kbGluZyBpbiBzaW5rcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvQ29tcGlsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKaW5kZXggNWYwMThlMWVj
NGY4NGMwNDA2MTFjMDM3MzNiMTI4ODU0ZWU2NDk0OC4uODA4YWE4NWI5NzYwMDdhZWQ4YWQ4MjVh
ZDcxYzUwZGFkOWE1MDUwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC01MzIsMyArNTMyLDEzIEBACiAjaWYg
IWRlZmluZWQoTk9fVU5JUVVFX0FERFJFU1MpCiAjZGVmaW5lIE5PX1VOSVFVRV9BRERSRVNTCiAj
ZW5kaWYKKworLyogVExTX01PREVMX0lOSVRJQUxfRVhFQyAqLworCisjaWYgIWRlZmluZWQoVExT
X01PREVMX0lOSVRJQUxfRVhFQykKKyNpZiBkZWZpbmVkKF9faGFzX2F0dHJpYnV0ZSkgJiYgX19o
YXNfYXR0cmlidXRlKHRsc19tb2RlbCkKKyNkZWZpbmUgVExTX01PREVMX0lOSVRJQUxfRVhFQyBf
X2F0dHJpYnV0ZV9fKCh0bHNfbW9kZWwoImluaXRpYWwtZXhlYyIpKSkKKyNlbHNlCisjZGVmaW5l
IFRMU19NT0RFTF9JTklUSUFMX0VYRUMKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR3JhcGhpY3NDb250ZXh0R0xHQk0uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2JtL0dyYXBoaWNzQ29udGV4dEdM
R0JNLmNwcAppbmRleCA4MTAyZDMwNDY5YzRhZWNlZTk1NjBkOWU2ODlkNzE2NGQ3ZTQ4MTBlLi5h
ODU5ZTJmNTc4OTA2MjA1OTM2NDFkNTQ1NjQ2NTI4ZTJjMmRmMjU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR3JhcGhpY3NDb250ZXh0R0xHQk0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dibS9HcmFwaGljc0NvbnRl
eHRHTEdCTS5jcHAKQEAgLTc4LDExICs3OCwxNiBAQCBHQ0dMQ29uZmlnIEdyYXBoaWNzQ29udGV4
dEdMQU5HTEU6OnBsYXRmb3JtQ29uZmlnKCkgY29uc3QKIAogYm9vbCBHcmFwaGljc0NvbnRleHRH
TEFOR0xFOjptYWtlQ29udGV4dEN1cnJlbnQoKQogeworICAgIHN0YXRpYyB0aHJlYWRfbG9jYWwg
VExTX01PREVMX0lOSVRJQUxfRVhFQyBHcmFwaGljc0NvbnRleHRHTEFOR0xFKiBzX2N1cnJlbnRD
b250ZXh0IHsgbnVsbHB0ciB9OworCiAgICAgYXV0byBtYWRlQ3VycmVudCA9CiAgICAgICAgIFsm
XSB7Ci0gICAgICAgICAgICBpZiAoRUdMX0dldEN1cnJlbnRDb250ZXh0KCkgPT0gbV9jb250ZXh0
T2JqKQorICAgICAgICAgICAgaWYgKHNfY3VycmVudENvbnRleHQgPT0gdGhpcykKICAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIHJldHVybiAhIUVHTF9NYWtlQ3VycmVu
dChtX2Rpc3BsYXlPYmosIEVHTF9OT19TVVJGQUNFLCBFR0xfTk9fU1VSRkFDRSwgbV9jb250ZXh0
T2JqKTsKKyAgICAgICAgICAgIGJvb2wgY3VycmVudCA9ICEhRUdMX01ha2VDdXJyZW50KG1fZGlz
cGxheU9iaiwgRUdMX05PX1NVUkZBQ0UsIEVHTF9OT19TVVJGQUNFLCBtX2NvbnRleHRPYmopOwor
ICAgICAgICAgICAgaWYgKGN1cnJlbnQpCisgICAgICAgICAgICAgICAgc19jdXJyZW50Q29udGV4
dCA9IHRoaXM7CisgICAgICAgICAgICByZXR1cm4gY3VycmVudDsKICAgICAgICAgfSgpOwogCiAg
ICAgYXV0byYgY29udGV4dFN3YXBjaGFpbiA9IHN0YXRpY19jYXN0PEdyYXBoaWNzQ29udGV4dEdM
R0JNJj4oKnRoaXMpLnN3YXBjaGFpbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459481</attachid>
            <date>2022-05-16 22:39:01 -0700</date>
            <delta_ts>2022-05-16 22:39:01 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-240392-20220517073859.patch</filename>
            <type>text/plain</type>
            <size>5042</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggZWE0NTg0MWM0YzhjYTE0YWQ5ZjM3ODI3MzZiNDQ5MjFmMWM3NzM3Yy4uYjM0ZGNiMzc3
NjJiMTQ0OTU4NmU1YWJlM2RjNDk3YTFlM2EzNDZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAy
Mi0wNS0xNiAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dUS11bV1BFXSBDdXJyZW50LWNvbnRleHQgZW5mb3JjZW1lbnQgaW4gQU5HTEUgaXMgZXhwZW5z
aXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDAz
OTIKKworICAgICAgICBSZXZpZXdlZCBieSBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvLgorCisgICAg
ICAgICogd3RmL0NvbXBpbGVyLmg6IERlZmluZSB0aGUgVExTX01PREVMX0lOSVRJQUxfRVhFQyBt
YWNybyBhcyB0aGUKKyAgICAgICAgdGxzX21vZGVsIGF0dHJpYnV0ZSB3aXRoIHRoZSBpbml0aWFs
LWV4ZWMgdmFsdWUsIHRvIGJlIHVzZWQgb24gdmFyaWFibGVzCisgICAgICAgIHdob3NlIFRMUyBt
b2RlbCBzaG91bGQgYmUgYWRqdXN0ZWQuCisKIDIwMjItMDUtMTUgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmlnaHQgY2xpY2sgPiAiT3BlbiBMaW5r
IiBzaG91bGQgdHJpZ2dlciBhIG5hdmlnYXRpb24gYWN0aW9uIHdpdGggV0tOYXZpZ2F0aW9uVHlw
ZUxpbmtBY3RpdmF0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmY2RhNWM0ZGExOGNjMjk5ZDE4NDI1NzdmMGM1
OWM0Y2NkMjU1ZDliLi4zYzYzNDBiZDM0OTk4ZDA3MWZjZDkzNDY2Njc3Y2NlODcwZmZiMTdhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjItMDUtMTYgIFphbiBEb2JlcnNlayAgPHpk
b2JlcnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gQ3VycmVudC1jb250ZXh0
IGVuZm9yY2VtZW50IGluIEFOR0xFIGlzIGV4cGVuc2l2ZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMzkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWRyaWFuIFBlcmV6IGRlIENhc3Ryby4KKworICAgICAgICBBTkdMRSdzIGN1cnJlbnQtY29udGV4
dCBvcGVyYXRpb25zIGFyZSByZWxhdGl2ZWx5IGhlYXZ5IGFuZCBpbnRyb2R1Y2UKKyAgICAgICAg
ZGV0ZWN0YWJsZSBvdmVyaGVhZCB3aGVuIGV4ZWN1dGVkIGZvciBlYWNoIG9mIG1hbnkgV2ViR0wg
b3BlcmF0aW9uLiBNb3JlCisgICAgICAgIHNwZWNpZmljYWxseSwgbG9hZHMgb2YgdGhlIGN1cnJl
bnQtdGhyZWFkIGRhdGEgZnJvbSB0aHJlYWQtbG9jYWwKKyAgICAgICAgc3RvcmFnZSBhcmUgZG9u
ZSB1bmRlciBib3RoIEVHTF9HZXRDdXJyZW50Q29udGV4dCgpIGFuZAorICAgICAgICBFR0xfTWFr
ZUN1cnJlbnQoKSB0aHJvdWdoIHRoZSBnZW5lcmFsIFRMUyBhY2Nlc3MgbW9kZWwsIHJlbHlpbmcg
b24gdGhlCisgICAgICAgIF9fdGxzX2dldF9hZGRyIGZ1bmN0aW9uLgorCisgICAgICAgIEluc3Rl
YWQsIGEgc3RhdGljIHRocmVhZC1sb2NhbCBwb2ludGVyIHZhcmlhYmxlIGlzIGludHJvZHVjZWQs
IHdpdGggdGhlCisgICAgICAgIGluaXRpYWwtZXhlYyBtZXRob2QsIGNvbnRhaW5pbmcgdGhlIGFk
ZHJlc3Mgb2YgdGhlIGN1cnJlbnQKKyAgICAgICAgR3JhcGhpY3NDb250ZXh0R0xBTkdMRSBvYmpl
Y3QgZm9yIGEgZ2l2ZW4gdGhyZWFkLiBJbnN0ZWFkIG9mIGRpcHBpbmcKKyAgICAgICAgaW50byBB
TkdMRSB0byByZXRyaWV2ZSB0aGUgY3VycmVudCBjb250ZXh0LCB0aGUgR3JhcGhpY3NDb250ZXh0
R0xBTkdMRQorICAgICAgICBvYmplY3QncyBhZGRyZXNzIGlzIGNvbXBhcmVkIHRvIHRoZSB2YWx1
ZSBvZiB0aGUgdGhyZWFkLWxvY2FsIHZhcmlhYmxlCisgICAgICAgIGFuZCBhbiBlYXJseSByZXR1
cm4gaXMgZG9uZSBpZiB0aGV5IG1hdGNoLgorCisgICAgICAgIFRoaXMgbW9kZWwgaXMgYXBwbGll
ZCB0aHJvdWdoIHRoZSBUTFNfTU9ERUxfSU5JVElBTF9FWEVDIG1hY3JvIHRoYXQncworICAgICAg
ICBkZWZpbmVkIGFwcHJvcHJpYXRlbHkgaWYgdGhlIGNvbXBpbGVyIGlzIGRldGVjdGVkIHRvIHN1
cHBvcnQgdGhlCisgICAgICAgIHJlcXVpcmVkIHRsc19tb2RlbCBhdHRyaWJ1dGUuIFRoaXMgc2hv
dWxkIGJlIHRoZSBjYXNlIHdoZW4gdGFyZ2V0dGluZworICAgICAgICBwbGF0Zm9ybXMgdGhhdCB1
c2UgRUxGLCBpLmUuIFVuaXgtbGlrZSBzeXN0ZW1zIGJ1dCBwcmltYXJpbHkgTGludXguCisKKyAg
ICAgICAgVGhlIGluaXRpYWwtZXhlYyBUTFMgbW9kZWwgcmVsaWVzIG9uIGVhcmx5IHVuZGVyc3Rh
bmRpbmcgZnJvbSB0aGUKKyAgICAgICAgZHluYW1pYyBsaW5rZXIgYWJvdXQgd2hhdCBUTFMgZGF0
YSBpcyByZXF1aXJlZCwgd2hpY2ggZW5hYmxlcyBtb3JlCisgICAgICAgIGVmZmljaWVudCBhbGxv
Y2F0aW9uIG9mIGFuZCBhY2Nlc3MgaW50byB0aGUgcmVxdWlyZWQgdW5kZXJseWluZyBtZW1vcnku
CisKKyAgICAgICAgQ2FjaGluZyB0aGUgY3VycmVudC1jb250ZXh0IGRhdGEgaW50byBhIHN0YXRp
YyB0aHJlYWQtc3BlY2lmaWMgdmFyaWFibGUKKyAgICAgICAgd2l0aCB0aGUgaW5pdGlhbC1leGVj
IFRMUyBtb2RlbCBpcyB0aGUgc2FtZSBhcHByb2FjaCB0aGF0J3MgdGFrZW4gaW4gdGhlCisgICAg
ICAgIE1lc2EgbGlicmFyeS4gTW9yZSBvbiB0aGlzIGFuZCBvdGhlciBUTFMgbW9kZWxzIGNhbiBi
ZSBnYXRoZXJlZCBmcm9tIHRoZQorICAgICAgICAnRUxGIEhhbmRsaW5nIEZvciBUaHJlYWQtTG9j
YWwgU3RvcmFnZScgcGFwZXIgYnkgVWxyaWNoIERyZXBwZXIuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nYm0vR3JhcGhpY3NDb250ZXh0R0xHQk0uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6bWFrZUNvbnRleHRDdXJyZW50KToKKwogMjAyMi0w
NS0xNSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBoaWxuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dT
dHJlYW1lcl0gQWRkIGJhc2ljIHZpZGVvIG1ldGEgaGFuZGxpbmcgaW4gc2lua3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5o
CmluZGV4IDVmMDE4ZTFlYzRmODRjMDQwNjExYzAzNzMzYjEyODg1NGVlNjQ5NDguLmRmNGIyZjJi
ZDRiMWY2NGE1N2M1NzY2ODE3Nzc0OTA1NDI5MmM0MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL0NvbXBpbGVyLmgKKysrIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaApAQCAtNTMyLDMg
KzUzMiwxNSBAQAogI2lmICFkZWZpbmVkKE5PX1VOSVFVRV9BRERSRVNTKQogI2RlZmluZSBOT19V
TklRVUVfQUREUkVTUwogI2VuZGlmCisKKy8qIFRMU19NT0RFTF9JTklUSUFMX0VYRUMgKi8KKwor
I2lmICFkZWZpbmVkKFRMU19NT0RFTF9JTklUSUFMX0VYRUMpICYmIGRlZmluZWQoX19oYXNfYXR0
cmlidXRlKQorI2lmIF9faGFzX2F0dHJpYnV0ZSh0bHNfbW9kZWwpCisjZGVmaW5lIFRMU19NT0RF
TF9JTklUSUFMX0VYRUMgX19hdHRyaWJ1dGVfXygodGxzX21vZGVsKCJpbml0aWFsLWV4ZWMiKSkp
CisjZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoVExTX01PREVMX0lOSVRJQUxfRVhFQykK
KyNkZWZpbmUgVExTX01PREVMX0lOSVRJQUxfRVhFQworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR3JhcGhpY3NDb250ZXh0R0xHQk0uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2JtL0dyYXBoaWNzQ29udGV4dEdM
R0JNLmNwcAppbmRleCA4MTAyZDMwNDY5YzRhZWNlZTk1NjBkOWU2ODlkNzE2NGQ3ZTQ4MTBlLi5h
ODU5ZTJmNTc4OTA2MjA1OTM2NDFkNTQ1NjQ2NTI4ZTJjMmRmMjU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR3JhcGhpY3NDb250ZXh0R0xHQk0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dibS9HcmFwaGljc0NvbnRl
eHRHTEdCTS5jcHAKQEAgLTc4LDExICs3OCwxNiBAQCBHQ0dMQ29uZmlnIEdyYXBoaWNzQ29udGV4
dEdMQU5HTEU6OnBsYXRmb3JtQ29uZmlnKCkgY29uc3QKIAogYm9vbCBHcmFwaGljc0NvbnRleHRH
TEFOR0xFOjptYWtlQ29udGV4dEN1cnJlbnQoKQogeworICAgIHN0YXRpYyB0aHJlYWRfbG9jYWwg
VExTX01PREVMX0lOSVRJQUxfRVhFQyBHcmFwaGljc0NvbnRleHRHTEFOR0xFKiBzX2N1cnJlbnRD
b250ZXh0IHsgbnVsbHB0ciB9OworCiAgICAgYXV0byBtYWRlQ3VycmVudCA9CiAgICAgICAgIFsm
XSB7Ci0gICAgICAgICAgICBpZiAoRUdMX0dldEN1cnJlbnRDb250ZXh0KCkgPT0gbV9jb250ZXh0
T2JqKQorICAgICAgICAgICAgaWYgKHNfY3VycmVudENvbnRleHQgPT0gdGhpcykKICAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIHJldHVybiAhIUVHTF9NYWtlQ3VycmVu
dChtX2Rpc3BsYXlPYmosIEVHTF9OT19TVVJGQUNFLCBFR0xfTk9fU1VSRkFDRSwgbV9jb250ZXh0
T2JqKTsKKyAgICAgICAgICAgIGJvb2wgY3VycmVudCA9ICEhRUdMX01ha2VDdXJyZW50KG1fZGlz
cGxheU9iaiwgRUdMX05PX1NVUkZBQ0UsIEVHTF9OT19TVVJGQUNFLCBtX2NvbnRleHRPYmopOwor
ICAgICAgICAgICAgaWYgKGN1cnJlbnQpCisgICAgICAgICAgICAgICAgc19jdXJyZW50Q29udGV4
dCA9IHRoaXM7CisgICAgICAgICAgICByZXR1cm4gY3VycmVudDsKICAgICAgICAgfSgpOwogCiAg
ICAgYXV0byYgY29udGV4dFN3YXBjaGFpbiA9IHN0YXRpY19jYXN0PEdyYXBoaWNzQ29udGV4dEdM
R0JNJj4oKnRoaXMpLnN3YXBjaGFpbigpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>