<?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>176226</bug_id>
          
          <creation_ts>2017-09-01 09:10:17 -0700</creation_ts>
          <short_desc>[GTK][Wayland] Use fast malloc to allocate backing store cairo surfaces data</short_desc>
          <delta_ts>2017-09-02 01:11:04 -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>WebKitGTK</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>buildbot</cc>
    
    <cc>clopez</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1344412</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-09-01 09:10:17 -0700</bug_when>
    <thetext>It reduces the memory consumption and improves the performance. Also, since performance is better we don&apos;t need to keep the scroll surface allocated all the time, we can create it on demand and keep it allocated only while scrolling too fast.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344415</commentid>
    <comment_count>1</comment_count>
      <attachid>319601</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-09-01 09:23:38 -0700</bug_when>
    <thetext>Created attachment 319601
Patch

This reduced my ephy UI process memory from 307MB to 183MB. Still higher than using X11 (54MB), but much better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344416</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-01 09:25:32 -0700</bug_when>
    <thetext>Attachment 319601 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:37:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebCore/platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:44:  More than one command on the same line in if  [whitespace/parens] [4]
Total errors found: 2 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>1344418</commentid>
    <comment_count>3</comment_count>
      <attachid>319601</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-09-01 09:30:20 -0700</bug_when>
    <thetext>Comment on attachment 319601
Patch

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

&gt; Source/WebCore/platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:37
&gt; +    cairo_surface_set_user_data(surface.get(), &amp;s_surfaceDataKey, surfaceData, [](void* data) { fastFree(data); });

Style checker doesn&apos;t like this, and I agree that it would be easier to read on two lines. But up to you.

&gt; Source/WebCore/platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:44
&gt; +    , m_scrolledHysteresis([this](HysteresisState state) { if (state == HysteresisState::Stopped) m_scrollSurface = nullptr; }, scrollHysteresisDuration)

Style checker doesn&apos;t like this either. Please let&apos;s not use lambdas in initializer lists. Can&apos;t you initialize it inside the body of the constructor?

&gt; Source/WebCore/platform/graphics/cairo/BackingStoreBackendCairoImpl.h:21
&gt;  #include &quot;BackingStoreBackendCairo.h&quot;

I think it belongs inside the #if USE(CAIRO) guard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344422</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-09-01 09:37:31 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #3)
&gt; Comment on attachment 319601 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=319601&amp;action=review

Thanks for the review.

&gt; &gt; Source/WebCore/platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:37
&gt; &gt; +    cairo_surface_set_user_data(surface.get(), &amp;s_surfaceDataKey, surfaceData, [](void* data) { fastFree(data); });
&gt; 
&gt; Style checker doesn&apos;t like this, and I agree that it would be easier to read
&gt; on two lines. But up to you.

I agree when using a longer body, but in this case I think it reads better this way.

&gt; &gt; Source/WebCore/platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:44
&gt; &gt; +    , m_scrolledHysteresis([this](HysteresisState state) { if (state == HysteresisState::Stopped) m_scrollSurface = nullptr; }, scrollHysteresisDuration)
&gt; 
&gt; Style checker doesn&apos;t like this either. Please let&apos;s not use lambdas in
&gt; initializer lists. Can&apos;t you initialize it inside the body of the
&gt; constructor?

No, because it&apos;s stack allocated.

&gt; &gt; Source/WebCore/platform/graphics/cairo/BackingStoreBackendCairoImpl.h:21
&gt; &gt;  #include &quot;BackingStoreBackendCairo.h&quot;
&gt; 
&gt; I think it belongs inside the #if USE(CAIRO) guard.

There&apos;s no problem because BackingStoreBackendCairo.h is already guarded, but I agree it&apos;s better inside the guard here in the header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344774</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-09-02 01:11:04 -0700</bug_when>
    <thetext>Committed r221521: &lt;http://trac.webkit.org/changeset/221521&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319601</attachid>
            <date>2017-09-01 09:23:38 -0700</date>
            <delta_ts>2017-09-01 09:30:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-wayland-surfaces-bmalloc.diff</filename>
            <type>text/plain</type>
            <size>8074</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmYWM5MGMwYWFlYy4uMGZiNWU3YmRiZGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNy0wOS0wMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV2F5bGFuZF0gVXNlIGZhc3QgbWFsbG9jIHRvIGFs
bG9jYXRlIGJhY2tpbmcgc3RvcmUgY2Fpcm8gc3VyZmFjZXMgZGF0YQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MjI2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgcmVkdWNlcyB0aGUgbWVtb3J5IGNv
bnN1bXB0aW9uIGFuZCBpbXByb3ZlcyB0aGUgcGVyZm9ybWFuY2UuIEFsc28sIHNpbmNlIHBlcmZv
cm1hbmNlIGlzIGJldHRlciB3ZSBkb24ndCBuZWVkCisgICAgICAgIHRvIGtlZXAgdGhlIHNjcm9s
bCBzdXJmYWNlIGFsbG9jYXRlZCBhbGwgdGhlIHRpbWUsIHdlIGNhbiBjcmVhdGUgaXQgb24gZGVt
YW5kIGFuZCBrZWVwIGl0IGFsbG9jYXRlZCBvbmx5IHdoaWxlCisgICAgICAgIHNjcm9sbGluZyB0
b28gZmFzdC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9y
ZUJhY2tlbmRDYWlyb0ltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQ2Fpcm9JbWFn
ZVN1cmZhY2VXaXRoRmFzdE1hbGxvYyk6IEhlbHBlciB0byBjcmVhdGUgYSBjYWlybyBpbWFnZSBz
dXJmYWNlIHVzaW5nIGZhc3QgbWFsbG9jLgorICAgICAgICAoV2ViQ29yZTo6QmFja2luZ1N0b3Jl
QmFja2VuZENhaXJvSW1wbDo6QmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbCk6IENyZWF0ZSB0
aGUgbWFpbiBzdXJmYWNlLCBidXQgbm8gdGhlCisgICAgICAgIHNjcm9sbCBvbmUuIEluaXRpYWxp
emUgdGhlIGh5c3RlcmVzaXMgYWN0aXZpdHkgdG8gZGlzY2FyZCB0aGUgc2Nyb2xsIHN1cmZhY2Ug
YWZ0ZXIgc2Nyb2xsaW5nLgorICAgICAgICAoV2ViQ29yZTo6QmFja2luZ1N0b3JlQmFja2VuZENh
aXJvSW1wbDo6c2Nyb2xsKTogQ3JlYXRlIHRoZSBzY3JvbGwgc3VyZmFjZSBvbmx5IGlmIGl0J3Mg
bnVsbHB0ciwgYW5kIG5vdGlmeSB0aGUKKyAgICAgICAgaHlzdGVyZXNpcyBhY3Rpdml0eS4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm9J
bXBsLmg6CisKIDIwMTctMDgtMTkgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW1NWR10gTGVhayBpbiBTVkdBbmltYXRlZExpc3RQcm9wZXJ0eVRl
YXJPZmYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC5jcHAKaW5kZXgg
NDBkMDZkYmY4YjguLjE1ZTY5NmE1ZTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm9JbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3RvcmVCYWNr
ZW5kQ2Fpcm9JbXBsLmNwcApAQCAtMjYsMTkgKzI2LDI2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbDo6QmFja2luZ1N0b3JlQmFja2VuZENh
aXJvSW1wbChjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UsIGNvbnN0IEludFNpemUmIHNpemUpCitz
dGF0aWMgY29uc3QgU2Vjb25kcyBzY3JvbGxIeXN0ZXJlc2lzRHVyYXRpb24geyAzMDBfbXMgfTsK
Kworc3RhdGljIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IGNyZWF0ZUNhaXJvSW1hZ2VTdXJmYWNl
V2l0aEZhc3RNYWxsb2MoY29uc3QgSW50U2l6ZSYgc2l6ZSwgZG91YmxlIGRldmljZVNjYWxlRmFj
dG9yKQoreworICAgIHN0YXRpYyBjYWlyb191c2VyX2RhdGFfa2V5X3Qgc19zdXJmYWNlRGF0YUtl
eTsKKyAgICBpbnQgc3RyaWRlID0gY2Fpcm9fZm9ybWF0X3N0cmlkZV9mb3Jfd2lkdGgoQ0FJUk9f
Rk9STUFUX0FSR0IzMiwgc2l6ZS53aWR0aCgpKTsKKyAgICBhdXRvKiBzdXJmYWNlRGF0YSA9IGZh
c3RaZXJvZWRNYWxsb2Moc2l6ZS5oZWlnaHQoKSAqIHN0cmlkZSk7CisgICAgUmVmUHRyPGNhaXJv
X3N1cmZhY2VfdD4gc3VyZmFjZSA9IGFkb3B0UmVmKGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRl
X2Zvcl9kYXRhKHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXIqPihzdXJmYWNlRGF0YSksIENBSVJP
X0ZPUk1BVF9BUkdCMzIsIHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSwgc3RyaWRlKSk7Cisg
ICAgY2Fpcm9fc3VyZmFjZV9zZXRfdXNlcl9kYXRhKHN1cmZhY2UuZ2V0KCksICZzX3N1cmZhY2VE
YXRhS2V5LCBzdXJmYWNlRGF0YSwgW10odm9pZCogZGF0YSkgeyBmYXN0RnJlZShkYXRhKTsgfSk7
CisgICAgY2Fpcm9TdXJmYWNlU2V0RGV2aWNlU2NhbGUoc3VyZmFjZS5nZXQoKSwgZGV2aWNlU2Nh
bGVGYWN0b3IsIGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICByZXR1cm4gc3VyZmFjZTsKK30KKwor
QmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbDo6QmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1w
bChjb25zdCBJbnRTaXplJiBzaXplLCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcikKICAgICA6IEJh
Y2tpbmdTdG9yZUJhY2tlbmRDYWlybyhzaXplKQorICAgICwgbV9zY3JvbGxlZEh5c3RlcmVzaXMo
W3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0
YXRlOjpTdG9wcGVkKSBtX3Njcm9sbFN1cmZhY2UgPSBudWxscHRyOyB9LCBzY3JvbGxIeXN0ZXJl
c2lzRHVyYXRpb24pCiB7Ci0gICAgbV9zdXJmYWNlID0gc3VyZmFjZTsKLQotICAgIC8vIFdlIGtl
ZXAgdHdvIGNvcGllcyBvZiB0aGUgc3VyZmFjZSBoZXJlLCB3aGljaCB3aWxsIGRvdWJsZSB0aGUg
bWVtb3J5IHVzYWdlLCBidXQgaW5jcmVhc2UKLSAgICAvLyBzY3JvbGxpbmcgcGVyZm9ybWFuY2Ug
c2luY2Ugd2UgZG8gbm90IGhhdmUgdG8ga2VlcCByZWFsbG9jYXRpbmcgYSBtZW1vcnkgcmVnaW9u
IGR1cmluZwotICAgIC8vIHF1aWNrIHNjcm9sbGluZyByZXF1ZXN0cy4KLSAgICBkb3VibGUgeFNj
YWxlLCB5U2NhbGU7Ci0gICAgY2Fpcm9TdXJmYWNlR2V0RGV2aWNlU2NhbGUobV9zdXJmYWNlLmdl
dCgpLCB4U2NhbGUsIHlTY2FsZSk7Ci0gICAgSW50U2l6ZSBzY2FsZWRTaXplID0gc2l6ZTsKLSAg
ICBzY2FsZWRTaXplLnNjYWxlKHhTY2FsZSwgeVNjYWxlKTsKLSAgICBtX3Njcm9sbFN1cmZhY2Ug
PSBhZG9wdFJlZihjYWlyb19zdXJmYWNlX2NyZWF0ZV9zaW1pbGFyKHN1cmZhY2UsIENBSVJPX0NP
TlRFTlRfQ09MT1JfQUxQSEEsIHNjYWxlZFNpemUud2lkdGgoKSwgc2NhbGVkU2l6ZS5oZWlnaHQo
KSkpOworICAgIEludFNpemUgc2NhbGVkU2l6ZSA9IG1fc2l6ZTsKKyAgICBzY2FsZWRTaXplLnNj
YWxlKGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICBtX3N1cmZhY2UgPSBjcmVhdGVDYWlyb0ltYWdl
U3VyZmFjZVdpdGhGYXN0TWFsbG9jKHNjYWxlZFNpemUsIGRldmljZVNjYWxlRmFjdG9yKTsKIH0K
IAogQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbDo6fkJhY2tpbmdTdG9yZUJhY2tlbmRDYWly
b0ltcGwoKQpAQCAtNTQsOCArNjEsMTcgQEAgdm9pZCBCYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm9J
bXBsOjpzY3JvbGwoY29uc3QgSW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgSW50U2kKICAgICBp
ZiAodGFyZ2V0UmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmICghbV9z
Y3JvbGxTdXJmYWNlKSB7CisgICAgICAgIEludFNpemUgc2l6ZShjYWlyb19pbWFnZV9zdXJmYWNl
X2dldF93aWR0aChtX3N1cmZhY2UuZ2V0KCkpLCBjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9oZWln
aHQobV9zdXJmYWNlLmdldCgpKSk7CisgICAgICAgIGRvdWJsZSB4U2NhbGUsIHlTY2FsZTsKKyAg
ICAgICAgY2Fpcm9TdXJmYWNlR2V0RGV2aWNlU2NhbGUobV9zdXJmYWNlLmdldCgpLCB4U2NhbGUs
IHlTY2FsZSk7CisgICAgICAgIEFTU0VSVCh4U2NhbGUgPT0geVNjYWxlKTsKKyAgICAgICAgbV9z
Y3JvbGxTdXJmYWNlID0gY3JlYXRlQ2Fpcm9JbWFnZVN1cmZhY2VXaXRoRmFzdE1hbGxvYyhzaXpl
LCB4U2NhbGUpOworICAgIH0KICAgICBjb3B5UmVjdEZyb21PbmVTdXJmYWNlVG9Bbm90aGVyKG1f
c3VyZmFjZS5nZXQoKSwgbV9zY3JvbGxTdXJmYWNlLmdldCgpLCBzY3JvbGxPZmZzZXQsIHRhcmdl
dFJlY3QpOwogICAgIGNvcHlSZWN0RnJvbU9uZVN1cmZhY2VUb0Fub3RoZXIobV9zY3JvbGxTdXJm
YWNlLmdldCgpLCBtX3N1cmZhY2UuZ2V0KCksIEludFNpemUoKSwgdGFyZ2V0UmVjdCk7CisKKyAg
ICBtX3Njcm9sbGVkSHlzdGVyZXNpcy5pbXB1bHNlKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuaAppbmRleCBiMWEw
MTQ5YmJjYi4uOGY1MWIwNjVlYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0JhY2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9CYWNraW5nU3RvcmVCYWNrZW5kQ2Fp
cm9JbXBsLmgKQEAgLTE2LDI4ICsxNiwyOCBAQAogICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQog
ICovCiAKLSNpZm5kZWYgQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbF9oCi0jZGVmaW5lIEJh
Y2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGxfaAorI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJC
YWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm8uaCIKIAogI2lmIFVTRShDQUlSTykKIAorI2luY2x1ZGUg
PFdlYkNvcmUvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbCBmaW5hbCA6IHB1YmxpYyBCYWNraW5n
U3RvcmVCYWNrZW5kQ2Fpcm8gewogcHVibGljOgotICAgIEJhY2tpbmdTdG9yZUJhY2tlbmRDYWly
b0ltcGwoY2Fpcm9fc3VyZmFjZV90KiwgY29uc3QgSW50U2l6ZSYpOworICAgIEJhY2tpbmdTdG9y
ZUJhY2tlbmRDYWlyb0ltcGwoY29uc3QgSW50U2l6ZSYsIGZsb2F0IGRldmljZVNjYWxlRmFjdG9y
KTsKICAgICB2aXJ0dWFsIH5CYWNraW5nU3RvcmVCYWNrZW5kQ2Fpcm9JbXBsKCk7CiAKK3ByaXZh
dGU6CiAgICAgdm9pZCBzY3JvbGwoY29uc3QgSW50UmVjdCYsIGNvbnN0IEludFNpemUmKSBvdmVy
cmlkZTsKIAotcHJpdmF0ZToKICAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBtX3Njcm9sbFN1
cmZhY2U7CisgICAgV2ViQ29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5IG1fc2Nyb2xsZWRIeXN0ZXJl
c2lzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKENBSVJP
KQotCi0jZW5kaWYgLy8gQmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbF9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IGNkZThjMjJhMjg4Li4yZTY2MDA5M2I2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAx
Ny0wOS0wMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW0dUS11bV2F5bGFuZF0gVXNlIGZhc3QgbWFsbG9jIHRvIGFsbG9jYXRlIGJhY2tpbmcg
c3RvcmUgY2Fpcm8gc3VyZmFjZXMgZGF0YQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MjI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRG8gbm90IGNyZWF0ZSB0aGUgY2Fpcm8gc3VyZmFjZSBmb3IgQmFj
a2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbC4gV2hlbiBub3QgdXNpbmcgWDExIHdlIGFyZSBnb2lu
ZyB0byB1c2UgYW4KKyAgICAgICAgaW1hZ2Ugc3VyZmFjZSBhbnl3YXksIHNvIHdlIGRvbid0IHJl
YWxseSBuZWVkIHRvIHVzZSB0aGUgY3JlYXRlIHNpbWlsYXIuIFRoaXMgd2F5IHdlIG9ubHkgbmVl
ZCB0byBwYXNzIHRoZSBzaXplCisgICAgICAgIGFuZCBkZXZpY2Ugc2NhbGUgZmFjdG9yIHRvIEJh
Y2tpbmdTdG9yZUJhY2tlbmRDYWlyb0ltcGwgdGhhdCB3aWxsIGNyZWF0ZSB0aGUgaW1hZ2Ugc3Vy
ZmFjZSB1c2luZyBmYXN0IG1hbGxvYyB0bworICAgICAgICBhbGxvY2F0ZSB0aGUgZGF0YS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9jYWlyby9CYWNraW5nU3RvcmVDYWlyby5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6Y3JlYXRlQmFja2VuZCk6CisKIDIwMTctMDktMDEgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtd
W1dheWxhbmRdIE9wZW5pbmcgRmVkb3JhUHJvamVjdCdzIHBhc3RlYmluIGNoZXdzIENQVQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvY2Fpcm8vQmFja2luZ1N0b3JlQ2Fpcm8u
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvY2Fpcm8vQmFja2luZ1N0b3JlQ2Fpcm8uY3Bw
CmluZGV4IGJkZTQ3OTQxOWVlLi42OGU5YTVlZGZmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvY2Fpcm8vQmFja2luZ1N0b3JlQ2Fpcm8uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2NhaXJvL0JhY2tpbmdTdG9yZUNhaXJvLmNwcApAQCAtNjMsMTggKzYzLDcg
QEAgc3RkOjp1bmlxdWVfcHRyPEJhY2tpbmdTdG9yZUJhY2tlbmRDYWlybz4gQmFja2luZ1N0b3Jl
OjpjcmVhdGVCYWNrZW5kKCkKICAgICB9CiAjZW5kaWYKIAotICAgIEludFNpemUgc2NhbGVkU2l6
ZSA9IG1fc2l6ZTsKLSAgICBzY2FsZWRTaXplLnNjYWxlKG1fZGV2aWNlU2NhbGVGYWN0b3IpOwot
Ci0jaWYgUExBVEZPUk0oR1RLKQotICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IHN1cmZhY2Ug
PSBhZG9wdFJlZihnZGtfd2luZG93X2NyZWF0ZV9zaW1pbGFyX3N1cmZhY2UoZ3RrX3dpZGdldF9n
ZXRfd2luZG93KG1fd2ViUGFnZVByb3h5LnZpZXdXaWRnZXQoKSksCi0gICAgICAgIENBSVJPX0NP
TlRFTlRfQ09MT1JfQUxQSEEsIHNjYWxlZFNpemUud2lkdGgoKSwgc2NhbGVkU2l6ZS5oZWlnaHQo
KSkpOwotI2Vsc2UKLSAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBzdXJmYWNlID0gYWRvcHRS
ZWYoY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGUoQ0FJUk9fRk9STUFUX0FSR0IzMiwgc2NhbGVk
U2l6ZS53aWR0aCgpLCBzY2FsZWRTaXplLmhlaWdodCgpKSk7Ci0jZW5kaWYKLQotICAgIGNhaXJv
U3VyZmFjZVNldERldmljZVNjYWxlKHN1cmZhY2UuZ2V0KCksIG1fZGV2aWNlU2NhbGVGYWN0b3Is
IG1fZGV2aWNlU2NhbGVGYWN0b3IpOwotICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEJhY2tp
bmdTdG9yZUJhY2tlbmRDYWlyb0ltcGw+KHN1cmZhY2UuZ2V0KCksIG1fc2l6ZSk7CisgICAgcmV0
dXJuIHN0ZDo6bWFrZV91bmlxdWU8QmFja2luZ1N0b3JlQmFja2VuZENhaXJvSW1wbD4obV9zaXpl
LCBtX2RldmljZVNjYWxlRmFjdG9yKTsKIH0KIAogdm9pZCBCYWNraW5nU3RvcmU6OnBhaW50KGNh
aXJvX3QqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCg==
</data>
<flag name="review"
          id="339849"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>