<?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>237758</bug_id>
          
          <creation_ts>2022-03-11 00:38:45 -0800</creation_ts>
          <short_desc>[Linux] GBMDevice as a thread-specific object is problematic</short_desc>
          <delta_ts>2022-03-18 06:31:43 -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=236883</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>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zdobersek</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1850384</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-03-11 00:38:45 -0800</bug_when>
    <thetext>GBMDevice, and the gbm_device instance it wraps, can cause problems when managed on a thread-specific basis. gbm_bo objects created through these devices can be shipped or used across different threads, but it can also happen that the thread on which they were created through the GBMDevice/gbm_device specific to that thread is destroyed while gbm_bo objects live on. So the gbm_device is destroyed but the gbm_bo objects created through it live on, causing problems when the gbm_bo instance tries to use now-destroyed gbm_device for different operations.

This is happening under certain circumstances inside GStreamer integration along with the swapchain object (bug #237238). Swapchain remains the same for the duration of the MediaPlayerPrivateGStreamer&apos;s lifetime. During the first playback, GStreamer&apos;s pipeline handles playback on one thread, spawning gbm_bo objects as required given that thread&apos;s GBMDevice. Once playback finishes, the pipeline will deconstruct these threads and the GBMDevice, which leaves the swapchain objects with a dangling gbm_device pointer.

Mesa&apos;s libgbm is a useful wrapper along the specified DRI device file descriptor. I don&apos;t see possible thread-safety issues there, or at least have not experienced them so far working with that library. There&apos;s other implementations (closed-source too) that might not be so generous, but I would presume thread safety first. If things go sideways there&apos;s options of having a libgbm-specific thread where these allocations are performed, but the basis even before that would be a single per-process gbm_device.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852656</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-18 01:39:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/90476889&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852668</commentid>
    <comment_count>2</comment_count>
      <attachid>455083</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-03-18 03:28:13 -0700</bug_when>
    <thetext>Created attachment 455083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852670</commentid>
    <comment_count>3</comment_count>
      <attachid>455083</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-03-18 03:33:44 -0700</bug_when>
    <thetext>Comment on attachment 455083
Patch

LGTM!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852698</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-18 06:31:40 -0700</bug_when>
    <thetext>Committed r291480 (248594@main): &lt;https://commits.webkit.org/248594@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455083.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455083</attachid>
            <date>2022-03-18 03:28:13 -0700</date>
            <delta_ts>2022-03-18 06:31:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237758-20220318112811.patch</filename>
            <type>text/plain</type>
            <size>7217</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNDY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzk0MWFjN2I0NGNlYzg5
NGFkZjc1YzY0MjQ3MjA0MDYxZTMwMDZkMC4uYjk0NTY3MzdmYjgxZjRmMWYxYmEyYjEzMTAxYjVi
MTIwMTMyZWI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIyLTAzLTE4ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbTGludXhdIEdCTURl
dmljZSBhcyBhIHRocmVhZC1zcGVjaWZpYyBvYmplY3QgaXMgcHJvYmxlbWF0aWMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzc1OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vOTA0NzY4ODk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUGVyLXRocmVhZCBHQk1EZXZpY2UgaW5zdGFuY2VzIChhbmQgdGhl
IGludGVybmFsIGdibV9kZXZpY2Ugb2JqZWN0cykgY2FuCisgICAgICAgIGVuZCB1cCBjYXVzaW5n
IHRyb3VibGUgaWYgdGhlIGdibV9ibyBvYmplY3RzIHNwYXduZWQgZnJvbSBpdCBhcmUgbW92ZWQK
KyAgICAgICAgYWNyb3NzIHRocmVhZHMgYW5kIHVzZWQgYWZ0ZXIgdGhlIG9yaWdpbmF0aW5nIHRo
cmVhZCAoYW5kIHRoYXQgdGhyZWFkJ3MKKyAgICAgICAgR0JNRGV2aWNlIGluc3RhbmNlKSBpcyBk
ZXN0cm95ZWQuIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGEgR1N0cmVhbWVyCisgICAgICAgIHBpcGVs
aW5lIHdoZXJlIHJlcGVhdGVkIHBsYXliYWNrIGlzIHBvc3NpYmx5IG1vdmVkIGFjcm9zcyBkaWZm
ZXJlbnQKKyAgICAgICAgdGhyZWFkcy4KKworICAgICAgICBUaGUgb3JpZ2luYWwgaW50ZW50aW9u
IHdhcyB0byBwcmVlbXB0aXZlbHkgYXZvaWQgYW55IHRocmVhZC1zYWZldHkKKyAgICAgICAgaXNz
dWVzIGluIHRoZSBsaWJnYm0gaW1wbGVtZW50YXRpb25zIGJ1dCB3ZSBoYXZlbid0IHNlZW4gYW55
IHlldC4gVGhhdAorICAgICAgICBtaWdodCBjaGFuZ2UgZG93biB0aGUgbGluZSBvbmNlIHdlIGFk
YXB0IGFnYWluc3QgaW1wbGVtZW50YXRpb25zIGZyb20KKyAgICAgICAgZGlmZmVyZW50IHZlbmRv
cnMsIGF0IHdoaWNoIHBvaW50IHRoZSBtb3N0IHNlbnNpYmxlIHNvbHV0aW9uIHdvdWxkIGJlCisg
ICAgICAgIHRvIGRlcGxveSBhIHNwZWNpZmljIHRocmVhZCBvbiB3aGljaCBhbGwgbGliZ2JtIG9w
ZXJhdGlvbnMgd291bGQgYmUKKyAgICAgICAgaGFuZGxlZC4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dibS9HQk1CdWZmZXJTd2FwY2hhaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R0JNQnVmZmVyU3dhcGNoYWluOjpnZXRCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dibS9HQk1EZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R0JNRGV2aWNlOjpzaW5n
bGV0b24pOgorICAgICAgICAoV2ViQ29yZTo6R0JNRGV2aWNlOjpHQk1EZXZpY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6R0JNRGV2aWNlOjp+R0JNRGV2aWNlKToKKyAgICAgICAgKFdlYkNvcmU6OnRo
cmVhZFNwZWNpZmljRGV2aWNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdCTURldmlj
ZTo6Z2V0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nYm0vR0JNRGV2
aWNlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4
dEdMVGV4dHVyZU1hcHBlckFOR0xFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dEdMVGV4dHVyZU1hcHBlcjo6cGxhdGZvcm1Jbml0aWFsaXplKToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OkVHTEltYWdlQmFja2luZzo6cmVzZXQpOgorCiAy
MDIyLTAzLTE3ICBNYXR0IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CiAKICAgICAg
ICAgU3ViZ3JpZCBpdGVtcyBzaG91bGQgYWx3YXlzIGJlIHN0cmV0Y2hlZC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dibS9HQk1CdWZmZXJTd2FwY2hhaW4u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2JtL0dCTUJ1ZmZlclN3YXBj
aGFpbi5jcHAKaW5kZXggOGU5M2M5ZWE1MzFhOGYzZGE1YzBhYWRjYmUyMGZiN2E4M2Q5OGI3Mi4u
YzczZTdmMWY3ODgwM2JiYTQwZGRkN2Y3M2M0ODNlMGFmYTdkYWU1YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2JtL0dCTUJ1ZmZlclN3YXBjaGFpbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2JtL0dCTUJ1ZmZlclN3YXBj
aGFpbi5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgR0JNQnVmZmVyU3dhcGNoYWluOjp+R0JNQnVmZmVy
U3dhcGNoYWluKCkgPSBkZWZhdWx0OwogCiBSZWZQdHI8R0JNQnVmZmVyU3dhcGNoYWluOjpCdWZm
ZXI+IEdCTUJ1ZmZlclN3YXBjaGFpbjo6Z2V0QnVmZmVyKGNvbnN0IEJ1ZmZlckRlc2NyaXB0aW9u
JiBkZXNjcmlwdGlvbikKIHsKLSAgICBhdXRvJiBkZXZpY2UgPSBHQk1EZXZpY2U6OmdldCgpOwor
ICAgIGF1dG8mIGRldmljZSA9IEdCTURldmljZTo6c2luZ2xldG9uKCk7CiAKICAgICAvLyBJZiB0
aGUgZGVzY3JpcHRpb24gb2YgdGhlIHJlcXVlc3RlZCBidWZmZXJzIGhhcyBjaGFuZ2VkLCB1cGRh
dGUgdGhlIGRlc2NyaXB0aW9uIHRvIHRoZSBuZXcgb25lIGFuZCB3cmVjayB0aGUgZXhpc3Rpbmcg
YnVmZmVycy4KICAgICAvLyBUaGlzIHNob3VsZCBoYW5kbGUgY2hhbmdlcyBpbiBmb3JtYXQgb3Ig
ZGltZW5zaW9uIG9mIHRoZSBidWZmZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ2JtL0dCTURldmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nYm0vR0JNRGV2aWNlLmNwcAppbmRleCA0YmUzZmJhYTcxZjZiYjgwZGIxOGQ0
NTllNTZjNTA2MmFlNmU4Y2JkLi42ZjE4ODI2ZTA2MzgyYzRkOTE1NjA3ZGJlNWQ2ZDE2NjY2YTZj
OGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR0JN
RGV2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR0JN
RGV2aWNlLmNwcApAQCAtMzIsMzIgKzMyLDI1IEBACiAjaW5jbHVkZSA8ZmNudGwuaD4KICNpbmNs
dWRlIDxnYm0uaD4KICNpbmNsdWRlIDxtdXRleD4KLSNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lm
aWMuaD4KKyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8eGY4NmRybS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBUaHJlYWRTcGVjaWZpYzxHQk1EZXZp
Y2U+JiB0aHJlYWRTcGVjaWZpY0RldmljZSgpCitjb25zdCBHQk1EZXZpY2UmIEdCTURldmljZTo6
c2luZ2xldG9uKCkKIHsKLSAgICBzdGF0aWMgVGhyZWFkU3BlY2lmaWM8R0JNRGV2aWNlPiogc19n
Ym1EZXZpY2U7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxHQk1EZXZpY2U+IHNfZGV2aWNl
OwogICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBzX29uY2VGbGFnOwogICAgIHN0ZDo6Y2FsbF9v
bmNlKHNfb25jZUZsYWcsCiAgICAgICAgIFtdIHsKLSAgICAgICAgICAgIHNfZ2JtRGV2aWNlID0g
bmV3IFRocmVhZFNwZWNpZmljPEdCTURldmljZT47CisgICAgICAgICAgICBzX2RldmljZSA9IG1h
a2VVbmlxdWU8R0JNRGV2aWNlPigpOwogICAgICAgICB9KTsKLSAgICByZXR1cm4gKnNfZ2JtRGV2
aWNlOwotfQotCi1jb25zdCBHQk1EZXZpY2UmIEdCTURldmljZTo6Z2V0KCkKLXsKLSAgICByZXR1
cm4gKnRocmVhZFNwZWNpZmljRGV2aWNlKCk7CisgICAgcmV0dXJuICpzX2RldmljZTsKIH0KIAog
R0JNRGV2aWNlOjpHQk1EZXZpY2UoKQogewotICAgIHN0YXRpYyBpbnQgc19nbG9iYWxGZCB7IC0x
IH07Ci0gICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIHNfb25jZUZsYWc7Ci0gICAgc3RkOjpjYWxs
X29uY2Uoc19vbmNlRmxhZywgW10geworICAgIFsmXSB7CiAgICAgICAgIGRybURldmljZVB0ciBk
ZXZpY2VzWzY0XTsKICAgICAgICAgbWVtc2V0KGRldmljZXMsIDAsIHNpemVvZihkZXZpY2VzKSk7
CiAKQEAgLTcwLDI0ICs2MywyNCBAQCBHQk1EZXZpY2U6OkdCTURldmljZSgpCiAgICAgICAgICAg
ICBpZiAoIShkZXZpY2UtPmF2YWlsYWJsZV9ub2RlcyAmICgxIDw8IERSTV9OT0RFX1JFTkRFUikp
KQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICBzX2dsb2JhbEZkID0g
b3BlbihkZXZpY2UtPm5vZGVzW0RSTV9OT0RFX1JFTkRFUl0sIE9fUkRXUiB8IE9fQ0xPRVhFQyk7
Ci0gICAgICAgICAgICBpZiAoc19nbG9iYWxGZCA+PSAwKQorICAgICAgICAgICAgbV9mZCA9IG9w
ZW4oZGV2aWNlLT5ub2Rlc1tEUk1fTk9ERV9SRU5ERVJdLCBPX1JEV1IgfCBPX0NMT0VYRUMpOwor
ICAgICAgICAgICAgaWYgKG1fZmQgPj0gMCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogCiAgICAgICAgIGRybUZyZWVEZXZpY2VzKGRldmljZXMsIG51bURldmljZXMpOwotICAg
IH0pOworICAgIH0oKTsKIAotICAgIGlmIChzX2dsb2JhbEZkID49IDApCi0gICAgICAgIG1fZGV2
aWNlID0gZ2JtX2NyZWF0ZV9kZXZpY2Uoc19nbG9iYWxGZCk7CisgICAgaWYgKG1fZmQgPj0gMCkK
KyAgICAgICAgbV9kZXZpY2UgPSBnYm1fY3JlYXRlX2RldmljZShtX2ZkKTsKIH0KIAogR0JNRGV2
aWNlOjp+R0JNRGV2aWNlKCkKIHsKLSAgICBpZiAobV9kZXZpY2UpIHsKKyAgICBpZiAobV9kZXZp
Y2UpCiAgICAgICAgIGdibV9kZXZpY2VfZGVzdHJveShtX2RldmljZSk7Ci0gICAgICAgIG1fZGV2
aWNlID0gbnVsbHB0cjsKLSAgICB9CisgICAgaWYgKG1fZmQgPj0gMCkKKyAgICAgICAgY2xvc2Uo
bV9mZCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dibS9HQk1EZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dibS9HQk1EZXZpY2UuaAppbmRleCBmZDI0OWI3MzA3ZGRlMjli
MWI5ZTc3MWRiZjg3ZTBiNWRmMjg2ZmEyLi4zNDQ3MTkzNzI0ZjI5ZGMyMTI3NzU0ZDg0ZGI2MDUx
MDgxZTZiNzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
Ym0vR0JNRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2Jt
L0dCTURldmljZS5oCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIEdCTURldmljZSB7CiAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoR0JNRGV2aWNlKTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RCgpOwogcHVibGljOgotICAgIHN0YXRpYyBjb25zdCBHQk1EZXZpY2UmIGdldCgpOworICAgIHN0
YXRpYyBjb25zdCBHQk1EZXZpY2UmIHNpbmdsZXRvbigpOwogCiAgICAgR0JNRGV2aWNlKCk7CiAg
ICAgfkdCTURldmljZSgpOwpAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAgICAgc3RydWN0IGdi
bV9kZXZpY2UqIGRldmljZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGV2aWNlOyB9CiAKIHByaXZhdGU6
CisgICAgaW50IG1fZmQgeyAtMSB9OwogICAgIHN0cnVjdCBnYm1fZGV2aWNlKiBtX2RldmljZSB7
IG51bGxwdHIgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xU
ZXh0dXJlTWFwcGVyQU5HTEUuY3BwCmluZGV4IDg1NDgxMzRkNDgyMDA2ZjY5NDhhMGI0NTYyYjlm
ZDQyNWRiMjBjNDMuLjYzNzBjZmJmMzQyMjIzOTU0ZTc3MTk0M2YwYjQwOGYwNWYwOGVjOTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGlj
c0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xF
LmNwcApAQCAtMTYzLDcgKzE2Myw3IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFw
cGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoKQogICAgIG1fbmljb3NpYUxheWVyID0gbWFrZVVuaXF1
ZTxOaWNvc2lhOjpHQ0dMQU5HTEVMYXllcj4oKnRoaXMpOwogICAgIG1fbGF5ZXJDb250ZW50c0Rp
c3BsYXlEZWxlZ2F0ZSA9IFBsYXRmb3JtTGF5ZXJEaXNwbGF5RGVsZWdhdGU6OmNyZWF0ZSgmbV9u
aWNvc2lhTGF5ZXItPmNvbnRlbnRMYXllcigpKTsKIAotICAgIGNvbnN0IGF1dG8mIGdibURldmlj
ZSA9IEdCTURldmljZTo6Z2V0KCk7CisgICAgY29uc3QgYXV0byYgZ2JtRGV2aWNlID0gR0JNRGV2
aWNlOjpzaW5nbGV0b24oKTsKICAgICBpZiAoZ2JtRGV2aWNlLmRldmljZSgpKSB7CiAgICAgICAg
IG1fdGV4dHVyZUJhY2tpbmcgPSBtYWtlVW5pcXVlPEVHTEltYWdlQmFja2luZz4ocGxhdGZvcm1E
aXNwbGF5KCkpOwogICAgICAgICBtX2NvbXBvc2l0b3JUZXh0dXJlQmFja2luZyA9IG1ha2VVbmlx
dWU8RUdMSW1hZ2VCYWNraW5nPihwbGF0Zm9ybURpc3BsYXkoKSk7CkBAIC0yOTAsNyArMjkwLDcg
QEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpFR0xJbWFnZUJhY2tpbmc6OnJlc2V0KGlu
dCB3aWR0aCwgaW50IGhlaWdodCwgYm9vbAogICAgIGlmICghd2lkdGggfHwgIWhlaWdodCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgY29uc3QgYXV0byYgZ2JtRGV2aWNlID0gR0JNRGV2
aWNlOjpnZXQoKTsKKyAgICBjb25zdCBhdXRvJiBnYm1EZXZpY2UgPSBHQk1EZXZpY2U6OnNpbmds
ZXRvbigpOwogICAgIG1fQk8gPSBnYm1fYm9fY3JlYXRlKGdibURldmljZS5kZXZpY2UoKSwgd2lk
dGgsIGhlaWdodCwgaGFzQWxwaGEgPyBHQk1fQk9fRk9STUFUX0FSR0I4ODg4IDogR0JNX0JPX0ZP
Uk1BVF9YUkdCODg4OCwgR0JNX0JPX1VTRV9SRU5ERVJJTkcpOwogICAgIGlmIChtX0JPKSB7CiAg
ICAgICAgIG1fRkQgPSBnYm1fYm9fZ2V0X2ZkKG1fQk8pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>