<?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>191585</bug_id>
          
          <creation_ts>2018-11-13 06:11:01 -0800</creation_ts>
          <short_desc>[GTK][MiniBrowser] Handle Device Info permission requests</short_desc>
          <delta_ts>2018-11-30 06:53:31 -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>
          <dependson>191744</dependson>
          <blocked>187064</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Thibault Saunier">tsaunier</reporter>
          <assigned_to name="Thibault Saunier">tsaunier</assigned_to>
          <cc>alex</cc>
    
    <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1477974</commentid>
    <comment_count>0</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-13 06:11:01 -0800</bug_when>
    <thetext>[GTK][MiniBrowser] Handle Device Info permission requests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477975</commentid>
    <comment_count>1</comment_count>
      <attachid>354668</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-13 06:11:45 -0800</bug_when>
    <thetext>Created attachment 354668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477976</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-11-13 06:14:23 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478993</commentid>
    <comment_count>3</comment_count>
      <attachid>354963</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-15 11:43:17 -0800</bug_when>
    <thetext>Created attachment 354963
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479321</commentid>
    <comment_count>4</comment_count>
      <attachid>354668</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2018-11-16 02:33:45 -0800</bug_when>
    <thetext>Comment on attachment 354668
Patch

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

Informal review here… Code LGTM, thanks for the patch! I have only
a few small nits.

In particular, please don&apos;t worry much about the “g_clear_*” comments:
I have grown fond of them and I like recommending their usage —alongside
“g_auto*” and “g_steal_pointer()”— to make people aware they exist
in GLib. I will leave it to you to choose whether you want to use them
or not ;-)

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:72
&gt; +PermissionRequestData *permissionRequestDataNew(BrowserTab *tab, WebKitPermissionRequest *request)

This function is used only in this file, please add “static” in its prototype:

   static PermissionRequestData *permissionRequestDataNew(...)

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:74
&gt; +    PermissionRequestData *data = g_malloc0(sizeof(PermissionRequestData));

Here I would rather use “g_new0(PermissionRequestData, 1)”, or even
better: “g_slice_new0(PermissionRequestData)”.

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:82
&gt; +void permissionRequestDataFree(PermissionRequestData *data)

Ditto, please add “static” to the function prototype.

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:85
&gt; +    g_object_unref(data-&gt;request);

How about using “g_clear_object()” instead of “g_object_unref()” here?
That will also set the pointers to NULL which makes use-after-free easier
to catch.

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:86
&gt; +    g_free(data);

If you end up using “g_slice_new0()” above, please do change this
to use “g_slice_free()” accordingly ;-)

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:216
&gt; +    permissionRequestDataFree(requestData);

If you feel like embracing the “g_clear_*” family of functions, this could
be changed to “g_clear_pointer(&amp;requestData, permissionRequestDataFree)”
as well.

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:250
&gt; +        g_print(&quot;%s request not handled\n&quot;, G_OBJECT_TYPE_NAME(request));

Is this an error, a warning, or a debugging hint for a developer?
I would consider rather using “g_printerr()”, even “g_warning()”,
“g_error()”, or “g_debug()” depending on whom this message is
intended for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479329</commentid>
    <comment_count>5</comment_count>
      <attachid>354668</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2018-11-16 03:42:18 -0800</bug_when>
    <thetext>Comment on attachment 354668
Patch

LGTM, but my biggest concern about the patch is if someone copies this code because they think this is the proper way to grant permissions, because we are adding just 1 variable for every origin. Basically if we grant foo.com we are granting bar.com to use our camera and mic information. Maybe some comment saying: Don&apos;t do this at home! :-). Michael complained about this in some other patch, I&apos;ll let him confirm the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479332</commentid>
    <comment_count>6</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-16 03:48:23 -0800</bug_when>
    <thetext>(In reply to Alejandro G. Castro from comment #5)
&gt; Comment on attachment 354668 [details]
&gt; Patch
&gt; 
&gt; LGTM, but my biggest concern about the patch is if someone copies this code
&gt; because they think this is the proper way to grant permissions, because we
&gt; are adding just 1 variable for every origin. Basically if we grant foo.com
&gt; we are granting bar.com to use our camera and mic information. Maybe some
&gt; comment saying: Don&apos;t do this at home! :-). Michael complained about this in
&gt; some other patch, I&apos;ll let him confirm the patch.

Indeed, it is not an example to follow, but I think it is good enough for the MiniBrowser case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479335</commentid>
    <comment_count>7</comment_count>
      <attachid>354668</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-11-16 04:10:34 -0800</bug_when>
    <thetext>Comment on attachment 354668
Patch

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

&gt; Source/WebKit/UIProcess/API/gtk/webkit2.h:41
&gt; +#include &lt;webkit2/WebKitDeviceInfoPermissionRequest.h&gt;

This doesn&apos;t belong to this patch. You can even land it unreviewed, but use a different patch.

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:204
&gt; +            requestData-&gt;tab-&gt;userMediaAccessWasGranted = TRUE;

I would use a hash table and store this per origin.

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:248
&gt; +    } else if (WEBKIT_IS_DEVICE_INFO_PERMISSION_REQUEST(request))
&gt; +        return tab-&gt;userMediaAccessWasGranted;

I don&apos;t understand this. Why do we persist user media only? and why user media automatically grants device info requests?

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:428
&gt; +    tab-&gt;userMediaAccessWasGranted = FALSE;

This is already FALSE, it&apos;s filled with 0 on allocation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479339</commentid>
    <comment_count>8</comment_count>
      <attachid>355040</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-16 04:27:10 -0800</bug_when>
    <thetext>Created attachment 355040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479340</commentid>
    <comment_count>9</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-16 04:28:24 -0800</bug_when>
    <thetext>(In reply to Adrian Perez from comment #4)
&gt; Comment on attachment 354668 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=354668&amp;action=review
&gt; 
&gt; Informal review here… Code LGTM, thanks for the patch! I have only
&gt; a few small nits.
&gt; 
&gt; In particular, please don&apos;t worry much about the “g_clear_*” comments:
&gt; I have grown fond of them and I like recommending their usage —alongside
&gt; “g_auto*” and “g_steal_pointer()”— to make people aware they exist
&gt; in GLib. I will leave it to you to choose whether you want to use them
&gt; or not ;-)

Yeah I know about them, `g_auto*` but it is forbidden in Gst because it is incompatible
with msvc is it OK to use it in WebKit? (Also it is Since 2.44) `g_clear_` doesn&apos;t make much sense in finalizing
function to me.

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:72
&gt; &gt; +PermissionRequestData *permissionRequestDataNew(BrowserTab *tab, WebKitPermissionRequest *request)
&gt; 
&gt; This function is used only in this file, please add “static” in its
&gt; prototype:
&gt; 
&gt;    static PermissionRequestData *permissionRequestDataNew(...)

OOps, sorry about that, any reason why I didn&apos;t get a compiler warning?

Fixed.

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:74
&gt; &gt; +    PermissionRequestData *data = g_malloc0(sizeof(PermissionRequestData));
&gt; 
&gt; Here I would rather use “g_new0(PermissionRequestData, 1)”, or even
&gt; better: “g_slice_new0(PermissionRequestData)”.

Well, g_slice is a candidate for deprecation iiuc (we decided to stop using in Gst), I am not
sure what g_new0 would bring compare to a plain g_malloc0?

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:82
&gt; &gt; +void permissionRequestDataFree(PermissionRequestData *data)
&gt; 
&gt; Ditto, please add “static” to the function prototype.

Fixed.

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:85
&gt; &gt; +    g_object_unref(data-&gt;request);
&gt; 
&gt; How about using “g_clear_object()” instead of “g_object_unref()” here?
&gt; That will also set the pointers to NULL which makes use-after-free easier
&gt; to catch.

Well, I am freeing the whole structure right after, anyway FIXED.
 
&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:86
&gt; &gt; +    g_free(data);
&gt; 
&gt; If you end up using “g_slice_new0()” above, please do change this
&gt; to use “g_slice_free()” accordingly ;-)
&gt; 
&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:216
&gt; &gt; +    permissionRequestDataFree(requestData);
&gt; 
&gt; If you feel like embracing the “g_clear_*” family of functions, this could
&gt; be changed to “g_clear_pointer(&amp;requestData, permissionRequestDataFree)”
&gt; as well.

Done.
  
&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:250
&gt; &gt; +        g_print(&quot;%s request not handled\n&quot;, G_OBJECT_TYPE_NAME(request));
&gt; 
&gt; Is this an error, a warning, or a debugging hint for a developer?
&gt; I would consider rather using “g_printerr()”, even “g_warning()”,
&gt; “g_error()”, or “g_debug()” depending on whom this message is
&gt; intended for.

It is just an information to the user/developer (I guess those are the same for MiniBrowser
usually), I just did the same as I did in wpe/MiniBrowse. printerr makes me think it is an error,
and `g_debug` would not be visible almost always, and I think it is an interesting piece of
information in many cases, that being said, I will do whatever you prefer.


Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479343</commentid>
    <comment_count>10</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-16 04:34:29 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #7)
&gt; Comment on attachment 354668 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=354668&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/gtk/webkit2.h:41
&gt; &gt; +#include &lt;webkit2/WebKitDeviceInfoPermissionRequest.h&gt;
&gt; 
&gt; This doesn&apos;t belong to this patch. You can even land it unreviewed, but use
&gt; a different patch.

Why would that be?

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:204
&gt; &gt; +            requestData-&gt;tab-&gt;userMediaAccessWasGranted = TRUE;
&gt; 
&gt; I would use a hash table and store this per origin.

OK, I will have a look

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:248
&gt; &gt; +    } else if (WEBKIT_IS_DEVICE_INFO_PERMISSION_REQUEST(request))
&gt; &gt; +        return tab-&gt;userMediaAccessWasGranted;
&gt; 
&gt; I don&apos;t understand this. Why do we persist user media only? and why user
&gt; media automatically grants device info requests?

This is what the standard says.

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:428
&gt; &gt; +    tab-&gt;userMediaAccessWasGranted = FALSE;
&gt; 
&gt; This is already FALSE, it&apos;s filled with 0 on allocation.

Well, making sure it is clear it is on purpose?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479345</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-11-16 04:58:18 -0800</bug_when>
    <thetext>(In reply to Thibault Saunier from comment #10)
&gt; (In reply to Carlos Garcia Campos from comment #7)
&gt; &gt; Comment on attachment 354668 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=354668&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/UIProcess/API/gtk/webkit2.h:41
&gt; &gt; &gt; +#include &lt;webkit2/WebKitDeviceInfoPermissionRequest.h&gt;
&gt; &gt; 
&gt; &gt; This doesn&apos;t belong to this patch. You can even land it unreviewed, but use
&gt; &gt; a different patch.
&gt; 
&gt; Why would that be?

This is a patch for MiniBrowser. That header should have been included in the main header when it was added to the API. So the change is a fix for a previous commit, it doesn&apos;t belong to this bug.

&gt; &gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:204
&gt; &gt; &gt; +            requestData-&gt;tab-&gt;userMediaAccessWasGranted = TRUE;
&gt; &gt; 
&gt; &gt; I would use a hash table and store this per origin.
&gt; 
&gt; OK, I will have a look
&gt; 
&gt; &gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:248
&gt; &gt; &gt; +    } else if (WEBKIT_IS_DEVICE_INFO_PERMISSION_REQUEST(request))
&gt; &gt; &gt; +        return tab-&gt;userMediaAccessWasGranted;
&gt; &gt; 
&gt; &gt; I don&apos;t understand this. Why do we persist user media only? and why user
&gt; &gt; media automatically grants device info requests?
&gt; 
&gt; This is what the standard says.

If that&apos;s part of a standard it should be done by WebKit I would say. API users shouldn&apos;t need to know the standards. Why do we expose device info permission request if it depends on user media requests? Why don&apos;t we reuse the value to not ask the user the second time user media permission is requested? Is that done by WebKit already?

&gt; &gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:428
&gt; &gt; &gt; +    tab-&gt;userMediaAccessWasGranted = FALSE;
&gt; &gt; 
&gt; &gt; This is already FALSE, it&apos;s filled with 0 on allocation.
&gt; 
&gt; Well, making sure it is clear it is on purpose?

You don&apos;t need to make sure, it&apos;s FALSE already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479349</commentid>
    <comment_count>12</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-16 05:06:58 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #11)
&gt; (In reply to Thibault Saunier from comment #10)
&gt; &gt; (In reply to Carlos Garcia Campos from comment #7)
&gt; &gt; &gt; Comment on attachment 354668 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; View in context:
&gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=354668&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit/UIProcess/API/gtk/webkit2.h:41
&gt; &gt; &gt; &gt; +#include &lt;webkit2/WebKitDeviceInfoPermissionRequest.h&gt;
&gt; &gt; &gt; 
&gt; &gt; &gt; This doesn&apos;t belong to this patch. You can even land it unreviewed, but use
&gt; &gt; &gt; a different patch.
&gt; &gt; 
&gt; &gt; Why would that be?
&gt; 
&gt; This is a patch for MiniBrowser. That header should have been included in
&gt; the main header when it was added to the API. So the change is a fix for a
&gt; previous commit, it doesn&apos;t belong to this bug.

OK, people tend to make big commits touching many things in WebKit from what I can see, anyway... let&apos;s do that in a separate commit.

&gt; &gt; &gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:204
&gt; &gt; &gt; &gt; +            requestData-&gt;tab-&gt;userMediaAccessWasGranted = TRUE;
&gt; &gt; &gt; 
&gt; &gt; &gt; I would use a hash table and store this per origin.
&gt; &gt; 
&gt; &gt; OK, I will have a look
&gt; &gt; 
&gt; &gt; &gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:248
&gt; &gt; &gt; &gt; +    } else if (WEBKIT_IS_DEVICE_INFO_PERMISSION_REQUEST(request))
&gt; &gt; &gt; &gt; +        return tab-&gt;userMediaAccessWasGranted;
&gt; &gt; &gt; 
&gt; &gt; &gt; I don&apos;t understand this. Why do we persist user media only? and why user
&gt; &gt; &gt; media automatically grants device info requests?
&gt; &gt; 
&gt; &gt; This is what the standard says.
&gt; 
&gt; If that&apos;s part of a standard it should be done by WebKit I would say. API
&gt; users shouldn&apos;t need to know the standards. Why do we expose device info
&gt; permission request if it depends on user media requests? Why don&apos;t we reuse
&gt; the value to not ask the user the second time user media permission is
&gt; requested? Is that done by WebKit already?

Well afaiu user permission is the browser responsibility since the beginning, and that is a design choice that has been made again recently agreed with many people (ask Alex for the details, I didn&apos;t follow the conversation so closely tbh).

&gt; &gt; &gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:428
&gt; &gt; &gt; &gt; +    tab-&gt;userMediaAccessWasGranted = FALSE;
&gt; &gt; &gt; 
&gt; &gt; &gt; This is already FALSE, it&apos;s filled with 0 on allocation.
&gt; &gt; 
&gt; &gt; Well, making sure it is clear it is on purpose?
&gt; 
&gt; You don&apos;t need to make sure, it&apos;s FALSE already.

I am making it clear it is on purpose, I know GObjects are 0 initialized. Now, that code changed anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479354</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-11-16 05:13:55 -0800</bug_when>
    <thetext>(In reply to Thibault Saunier from comment #12)
&gt; (In reply to Carlos Garcia Campos from comment #11)
&gt; &gt; (In reply to Thibault Saunier from comment #10)
&gt; &gt; &gt; (In reply to Carlos Garcia Campos from comment #7)
&gt; &gt; &gt; &gt; Comment on attachment 354668 [details]
&gt; &gt; &gt; &gt; Patch
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; View in context:
&gt; &gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=354668&amp;action=review
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Source/WebKit/UIProcess/API/gtk/webkit2.h:41
&gt; &gt; &gt; &gt; &gt; +#include &lt;webkit2/WebKitDeviceInfoPermissionRequest.h&gt;
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; This doesn&apos;t belong to this patch. You can even land it unreviewed, but use
&gt; &gt; &gt; &gt; a different patch.
&gt; &gt; &gt; 
&gt; &gt; &gt; Why would that be?
&gt; &gt; 
&gt; &gt; This is a patch for MiniBrowser. That header should have been included in
&gt; &gt; the main header when it was added to the API. So the change is a fix for a
&gt; &gt; previous commit, it doesn&apos;t belong to this bug.
&gt; 
&gt; OK, people tend to make big commits touching many things in WebKit from what
&gt; I can see, anyway... let&apos;s do that in a separate commit.

It&apos;s not a matter of touching files, sometimes you need to change several layers for a single commit. But adding a missing header to the main header in the public API doesn&apos;t belong to a commit adding support for a feature in MiniBrowser.

&gt; &gt; &gt; &gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:204
&gt; &gt; &gt; &gt; &gt; +            requestData-&gt;tab-&gt;userMediaAccessWasGranted = TRUE;
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I would use a hash table and store this per origin.
&gt; &gt; &gt; 
&gt; &gt; &gt; OK, I will have a look
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:248
&gt; &gt; &gt; &gt; &gt; +    } else if (WEBKIT_IS_DEVICE_INFO_PERMISSION_REQUEST(request))
&gt; &gt; &gt; &gt; &gt; +        return tab-&gt;userMediaAccessWasGranted;
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I don&apos;t understand this. Why do we persist user media only? and why user
&gt; &gt; &gt; &gt; media automatically grants device info requests?
&gt; &gt; &gt; 
&gt; &gt; &gt; This is what the standard says.
&gt; &gt; 
&gt; &gt; If that&apos;s part of a standard it should be done by WebKit I would say. API
&gt; &gt; users shouldn&apos;t need to know the standards. Why do we expose device info
&gt; &gt; permission request if it depends on user media requests? Why don&apos;t we reuse
&gt; &gt; the value to not ask the user the second time user media permission is
&gt; &gt; requested? Is that done by WebKit already?
&gt; 
&gt; Well afaiu user permission is the browser responsibility since the
&gt; beginning, and that is a design choice that has been made again recently
&gt; agreed with many people (ask Alex for the details, I didn&apos;t follow the
&gt; conversation so closely tbh).

I&apos;m not objecting nor complaining, just asking because I find it confusing. User permission is browser responsibility, but if the device permission depends on the media one according to the standard, shouldn&apos;t be enough to ask for user media?

&gt; &gt; &gt; &gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:428
&gt; &gt; &gt; &gt; &gt; +    tab-&gt;userMediaAccessWasGranted = FALSE;
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; This is already FALSE, it&apos;s filled with 0 on allocation.
&gt; &gt; &gt; 
&gt; &gt; &gt; Well, making sure it is clear it is on purpose?
&gt; &gt; 
&gt; &gt; You don&apos;t need to make sure, it&apos;s FALSE already.
&gt; 
&gt; I am making it clear it is on purpose, I know GObjects are 0 initialized.
&gt; Now, that code changed anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479356</commentid>
    <comment_count>14</comment_count>
      <attachid>355046</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-16 05:15:39 -0800</bug_when>
    <thetext>Created attachment 355046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479358</commentid>
    <comment_count>15</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-16 05:20:21 -0800</bug_when>
    <thetext>&gt; It&apos;s not a matter of touching files, sometimes you need to change several layers for a single commit. But adding a missing header to the main header in the public API doesn&apos;t belong to a commit adding support for a feature in MiniBrowser.

Got it, though that header was missing so that feature was implemented, so I actually needed to touch that other layer for this particular commit &lt;/stupidly pedantic&gt;

&gt; I&apos;m not objecting nor complaining, just asking because I find it confusing. User permission is browser responsibility, but if the device permission depends on the media one according to the standard, shouldn&apos;t be enough to ask for user media?

Intuitively I agree, now I guess they had good reason to do it the way it is :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479359</commentid>
    <comment_count>16</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-16 05:21:43 -0800</bug_when>
    <thetext>&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:204
&gt; &gt; +            requestData-&gt;tab-&gt;userMediaAccessWasGranted = TRUE;
&gt; 
&gt; I would use a hash table and store this per origin.

This is now done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479382</commentid>
    <comment_count>17</comment_count>
      <attachid>355052</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-16 06:17:53 -0800</bug_when>
    <thetext>Created attachment 355052
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479383</commentid>
    <comment_count>18</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-16 06:18:49 -0800</bug_when>
    <thetext>(In reply to Thibault Saunier from comment #17)
&gt; Created attachment 355052 [details]
&gt; Patch for landing

Sorry, wrong invocation, I removed the c+ from it and added r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479384</commentid>
    <comment_count>19</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-16 06:19:21 -0800</bug_when>
    <thetext>(In reply to Thibault Saunier from comment #18)
&gt; (In reply to Thibault Saunier from comment #17)
&gt; &gt; Created attachment 355052 [details]
&gt; &gt; Patch for landing
&gt; 
&gt; Sorry, wrong invocation, I removed the c+ from it and added r+

And by r+ I meant r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479386</commentid>
    <comment_count>20</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2018-11-16 06:33:49 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #13)
&gt; (In reply to Thibault Saunier from comment #12)
&gt; &gt; Well afaiu user permission is the browser responsibility since the
&gt; &gt; beginning, and that is a design choice that has been made again recently
&gt; &gt; agreed with many people (ask Alex for the details, I didn&apos;t follow the
&gt; &gt; conversation so closely tbh).
&gt; 
&gt; I&apos;m not objecting nor complaining, just asking because I find it confusing.
&gt; User permission is browser responsibility, but if the device permission
&gt; depends on the media one according to the standard, shouldn&apos;t be enough to
&gt; ask for user media?
&gt; 

In summary we tried to implement it in the engine, Apple agreed, but we failed because it would mean moving the permission managers of safari, epiphany or any other browser inside WebKit, and no one wanted that at this point. All the logic of these specs is very complex, we need to differenciate the operations because the spec says we have to update it when the multimedia is modified, but the user can change it using the permission manager we don&apos;t control that, the behaviour is also different when the user still did not ask for the getUserMedia the first time, as you can see in the patch when the engine asks for the device-info the browser does not ask the user. Anyway, it is true all these permissions are confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479405</commentid>
    <comment_count>21</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2018-11-16 07:26:29 -0800</bug_when>
    <thetext>Just a couple of follow-up comments — thought there is nothing to
change further I think, specially now that the patch is already landed :)

(In reply to Thibault Saunier from comment #9)
&gt; (In reply to Adrian Perez from comment #4)
&gt; &gt; Comment on attachment 354668 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=354668&amp;action=review
&gt; &gt; 
&gt; &gt; Informal review here… Code LGTM, thanks for the patch! I have only
&gt; &gt; a few small nits.
&gt; &gt; 
&gt; &gt; In particular, please don&apos;t worry much about the “g_clear_*” comments:
&gt; &gt; I have grown fond of them and I like recommending their usage —alongside
&gt; &gt; “g_auto*” and “g_steal_pointer()”— to make people aware they exist
&gt; &gt; in GLib. I will leave it to you to choose whether you want to use them
&gt; &gt; or not ;-)
&gt; 
&gt; Yeah I know about them, `g_auto*` but it is forbidden in Gst because it is
&gt; incompatible
&gt; with msvc is it OK to use it in WebKit? (Also it is Since 2.44) `g_clear_`
&gt; doesn&apos;t make much sense in finalizing
&gt; function to me.

I am aware that they are not supported in MSVC, that&apos;s why I was telling
that I like to recommend them, but didn&apos;t ask you to begin using them.
Sorry if I wasn&apos;t too clear with that ;-)

About “g_clear_*” in this small patch it is quite clear reading the code
that there won&apos;t be use-after-free situations, so feel free to leave it
as-is — but IMHO it is better to be consistently disciplined and always
using them.

&gt; &gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:72
&gt; &gt; &gt; +PermissionRequestData *permissionRequestDataNew(BrowserTab *tab, WebKitPermissionRequest *request)
&gt; &gt; 
&gt; &gt; This function is used only in this file, please add “static” in its
&gt; &gt; prototype:
&gt; &gt; 
&gt; &gt;    static PermissionRequestData *permissionRequestDataNew(...)
&gt; 
&gt; OOps, sorry about that, any reason why I didn&apos;t get a compiler warning?
&gt;
&gt; Fixed.

The compiler does not warn because it assumes that the functions
have been declared “extern” somewhere else and they might be used
by code built in other compilation units ¯\_(ツ)_/¯
 
&gt; &gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:74
&gt; &gt; &gt; +    PermissionRequestData *data = g_malloc0(sizeof(PermissionRequestData));
&gt; &gt; 
&gt; &gt; Here I would rather use “g_new0(PermissionRequestData, 1)”, or even
&gt; &gt; better: “g_slice_new0(PermissionRequestData)”.
&gt; 
&gt; Well, g_slice is a candidate for deprecation iiuc (we decided to stop using
&gt; in Gst), I am not
&gt; sure what g_new0 would bring compare to a plain g_malloc0?

The most concrete discussion I have seen are those:

   https://gitlab.gnome.org/GNOME/glib/issues/1079
   https://gitlab.gnome.org/GNOME/glib/issues/1278

and what I interpret is that the GSlice API will be still around, but
internally GLib may just not use its own allocator depending on the
characteristics of the system. Also, the system allocator can be
painfully slow in Windows (its performance varies wildly between
versions, too!) so there *is* still value in using the API.

&gt; [...]
&gt;
&gt; It is just an information to the user/developer (I guess those are the same
&gt; for MiniBrowser
&gt; usually), I just did the same as I did in wpe/MiniBrowse. printerr makes me
&gt; think it is an error,
&gt; and `g_debug` would not be visible almost always, and I think it is an
&gt; interesting piece of
&gt; information in many cases, that being said, I will do whatever you prefer.

Right, then “g_message()” is always shown — but “g_print()” is okay as well.
No need to change anything now that the patch has been landed :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479406</commentid>
    <comment_count>22</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2018-11-16 07:27:25 -0800</bug_when>
    <thetext>(In reply to Adrian Perez from comment #21)
&gt; Just a couple of follow-up comments — thought there is nothing to
&gt; change further I think, specially now that the patch is already landed :)

I meant: “… is already going to be landed” O:-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479408</commentid>
    <comment_count>23</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-16 07:39:18 -0800</bug_when>
    <thetext>&gt; I meant: “… is already going to be landed” O:-)

Is it?

For the GSlice discussion, it is a bit of a mess, afaiu it has been recomanded lately to not use it, tbh I am not sure and in that particular case, well, it should really not matter anyway :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479409</commentid>
    <comment_count>24</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-11-16 07:44:32 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #11)
&gt; This is a patch for MiniBrowser. That header should have been included in
&gt; the main header when it was added to the API. So the change is a fix for a
&gt; previous commit, it doesn&apos;t belong to this bug.

And make sure to update the WPE header at the same time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480190</commentid>
    <comment_count>25</comment_count>
      <attachid>355052</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2018-11-19 04:13:45 -0800</bug_when>
    <thetext>Comment on attachment 355052
Patch for landing

LGTM, just one small proposal, could we add the hashtable to some global variable of the browser instead of doing it per tab? It can simplify the patch and I think it is more similar to what a real browser should be doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480193</commentid>
    <comment_count>26</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-19 04:22:06 -0800</bug_when>
    <thetext>(In reply to Alejandro G. Castro from comment #25)
&gt; Comment on attachment 355052 [details]
&gt; Patch for landing
&gt; 
&gt; LGTM, just one small proposal, could we add the hashtable to some global
&gt; variable of the browser instead of doing it per tab? It can simplify the
&gt; patch and I think it is more similar to what a real browser should be doing.

Well, in a real browser I think you would allow for the tab only, and potentially save on disk, which could enable for more tabs, so I think current behaviour is what a real browser would do if it doesn&apos;t have a way to save the info on disk, don&apos;t you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480469</commentid>
    <comment_count>27</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-20 06:44:17 -0800</bug_when>
    <thetext>OK, what should I do in the end?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480936</commentid>
    <comment_count>28</comment_count>
      <attachid>355466</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-22 04:29:49 -0800</bug_when>
    <thetext>Created attachment 355466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480937</commentid>
    <comment_count>29</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-22 04:30:50 -0800</bug_when>
    <thetext>Moved the `userMediaAccessPermissions` HashTable to be global.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482858</commentid>
    <comment_count>30</comment_count>
      <attachid>355466</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-11-28 23:54:45 -0800</bug_when>
    <thetext>Comment on attachment 355466
Patch

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

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:59
&gt; +static GHashTable *userMediaAccessPermissions;

This is a set of origins for which we granted user media permission, right? What about userMediaPermissionGrantedOrigins or something like that? current name sounds like if it&apos;s storing permission requests.

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:204
&gt; +

Remove this empty line...

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:210
&gt; +            g_hash_table_remove(userMediaAccessPermissions, requestData-&gt;origin);
&gt; +        webkit_permission_request_deny(requestData-&gt;request);

... or add one here.

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:215
&gt; -    g_object_unref(request);
&gt; +    g_clear_pointer(&amp;requestData, permissionRequestDataFree);

requestData is a parameter here, setting it to NULL doesn&apos;t make sense, so I would just call permissionRequestDataFree()

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:249
&gt; +        if (g_hash_table_contains(userMediaAccessPermissions, webkit_web_view_get_uri(webView))) {
&gt; +            webkit_permission_request_allow(request);
&gt; +            return TRUE;

Should we also use the set for user media requests? to avoid asking for the same permission twice? or is that already cached by WebKit itself? If that&apos;s the case, I still don&apos;t understand why this isn&apos;t done by WebKit automatically.

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:252
&gt; +        webkit_permission_request_deny(request);
&gt;          return FALSE;

This should be TRUE since you handled the request.

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:261
&gt; -    g_signal_connect(dialog, &quot;response&quot;, G_CALLBACK(permissionRequestDialogResponse), g_object_ref(request));
&gt; +    g_signal_connect(dialog, &quot;response&quot;, G_CALLBACK(permissionRequestDialogResponse), permissionRequestDataNew(request,
&gt; +        webkit_web_view_get_uri(webView)));

I&apos;m confused here, permissionRequestDataNew expects an origin, but we are passing the URI here.

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:442
&gt; +    if (!userMediaAccessPermissions)
&gt; +        userMediaAccessPermissions = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);

I don&apos;t think you need the check here, class init is called once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482928</commentid>
    <comment_count>31</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-29 06:54:50 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #30)
&gt; Comment on attachment 355466 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=355466&amp;action=review
&gt; 
&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:59
&gt; &gt; +static GHashTable *userMediaAccessPermissions;
&gt; 
&gt; This is a set of origins for which we granted user media permission, right?
&gt; What about userMediaPermissionGrantedOrigins or something like that? current
&gt; name sounds like if it&apos;s storing permission requests.

Done.

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:204
&gt; &gt; +
&gt; 
&gt; Remove this empty line...
&gt; 
&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:210
&gt; &gt; +            g_hash_table_remove(userMediaAccessPermissions, requestData-&gt;origin);
&gt; &gt; +        webkit_permission_request_deny(requestData-&gt;request);
&gt; 
&gt; ... or add one here.

Done that.

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:215
&gt; &gt; -    g_object_unref(request);
&gt; &gt; +    g_clear_pointer(&amp;requestData, permissionRequestDataFree);
&gt; 
&gt; requestData is a parameter here, setting it to NULL doesn&apos;t make sense, so I
&gt; would just call permissionRequestDataFree()

It is not my style, I just complied with Adrian request here...

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:249
&gt; &gt; +        if (g_hash_table_contains(userMediaAccessPermissions, webkit_web_view_get_uri(webView))) {
&gt; &gt; +            webkit_permission_request_allow(request);
&gt; &gt; +            return TRUE;
&gt; 
&gt; Should we also use the set for user media requests? to avoid asking for the
&gt; same permission twice? or is that already cached by WebKit itself? If that&apos;s
&gt; the case, I still don&apos;t understand why this isn&apos;t done by WebKit
&gt; automatically.

Both are valid, we do not have the option to &quot;remember response&quot; and the wording

    &quot;Allow access to %s device?&quot;

doesn&apos;t imply it will, so I think we shouldn&apos;t.

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:252
&gt; &gt; +        webkit_permission_request_deny(request);
&gt; &gt;          return FALSE;
&gt; 
&gt; This should be TRUE since you handled the request.

Stopped denying the request letting it &quot;resolve itself&quot;.

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:261
&gt; &gt; -    g_signal_connect(dialog, &quot;response&quot;, G_CALLBACK(permissionRequestDialogResponse), g_object_ref(request));
&gt; &gt; +    g_signal_connect(dialog, &quot;response&quot;, G_CALLBACK(permissionRequestDialogResponse), permissionRequestDataNew(request,
&gt; &gt; +        webkit_web_view_get_uri(webView)));
&gt; 
&gt; I&apos;m confused here, permissionRequestDataNew expects an origin, but we are
&gt; passing the URI here.

I didn&apos;t know about the conceptual differences, fixed now.

&gt; &gt; Tools/MiniBrowser/gtk/BrowserTab.c:442
&gt; &gt; +    if (!userMediaAccessPermissions)
&gt; &gt; +        userMediaAccessPermissions = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
&gt; 
&gt; I don&apos;t think you need the check here, class init is called once.

Well, until we subclass, better safe fmpov.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482929</commentid>
    <comment_count>32</comment_count>
      <attachid>356004</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-29 06:55:47 -0800</bug_when>
    <thetext>Created attachment 356004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483452</commentid>
    <comment_count>33</comment_count>
      <attachid>356004</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-11-29 23:21:13 -0800</bug_when>
    <thetext>Comment on attachment 356004
Patch

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

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:91
&gt; +    gchar *origin_str = webkit_security_origin_to_string(origin);

origin_str -&gt; originStr

&gt; Tools/MiniBrowser/gtk/BrowserTab.c:257
&gt; +        if (g_hash_table_contains(userMediaPermissionGrantedOrigins, webkit_web_view_get_uri(webView))) {

You should get the origin here too, not the URI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483500</commentid>
    <comment_count>34</comment_count>
      <attachid>356170</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-30 05:49:47 -0800</bug_when>
    <thetext>Created attachment 356170
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483501</commentid>
    <comment_count>35</comment_count>
      <attachid>356170</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-30 05:51:05 -0800</bug_when>
    <thetext>Comment on attachment 356170
Patch for landing

Rejecting attachment 356170 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 356170, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Tools/ChangeLog contains OOPS!.

Full output: https://webkit-queues.webkit.org/results/10213774</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483502</commentid>
    <comment_count>36</comment_count>
      <attachid>356171</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-11-30 06:02:47 -0800</bug_when>
    <thetext>Created attachment 356171
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483508</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-30 06:52:07 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 356171:

inspector/model/remote-object-get-properties.html bug 192225 (authors: drousso@apple.com and joepeck@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483509</commentid>
    <comment_count>38</comment_count>
      <attachid>356171</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-30 06:52:51 -0800</bug_when>
    <thetext>Comment on attachment 356171
Patch for landing

Clearing flags on attachment: 356171

Committed r238734: &lt;https://trac.webkit.org/changeset/238734&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483510</commentid>
    <comment_count>39</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-30 06:52:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483511</commentid>
    <comment_count>40</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-30 06:53:31 -0800</bug_when>
    <thetext>&lt;rdar://problem/46372245&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354668</attachid>
            <date>2018-11-13 06:11:45 -0800</date>
            <delta_ts>2018-11-16 04:27:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191585-20181113111143.patch</filename>
            <type>text/plain</type>
            <size>6005</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM0NGNjNzMxZDgxYjc1OWEw
ZmFkNWI1YTVkN2M1ZjYwNTFjZTA3YjUuLjA0YTZhMTdmNWI5MDZiNGU0MGU2MDkwNDkxNzgwNjJj
YThjYTcyOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgtMTEtMTMgIFRoaWJhdWx0
IFNhdW5pZXIgIDx0c2F1bmllckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW01pbmlCcm93
c2VyXSBIYW5kbGUgRGV2aWNlIEluZm8gcGVybWlzc2lvbiByZXF1ZXN0cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNTg1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay93
ZWJraXQyLmg6CisKIDIwMTgtMTEtMTIgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW01lZGlhU3RyZWFtXSBTY3JlZW4gY2FwdHVyZSBzaG91bGQgYmUg
YW4gZXhwZXJpbWVudGFsIGZlYXR1cmUgb24gT1NYIG9ubHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvd2Via2l0Mi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2d0ay93ZWJraXQyLmgKaW5kZXggZmIwNDc2ZjFiMTc5YmM0YzVjYTRlMTM4NWU1MGNi
MDVhN2RmNTM2Ny4uYjljMDAwOTcwYTA0ZGNmM2E3ZmYzMDE0ZWEzOWU1MDJhZjg0ZjFjMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay93ZWJraXQyLmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay93ZWJraXQyLmgKQEAgLTM4LDYgKzM4LDcg
QEAKICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdENvb2tpZU1hbmFnZXIuaD4KICNpbmNsdWRlIDx3
ZWJraXQyL1dlYktpdENyZWRlbnRpYWwuaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdERlZmlu
ZXMuaD4KKyNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdERldmljZUluZm9QZXJtaXNzaW9uUmVxdWVz
dC5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0RG93bmxvYWQuaD4KICNpbmNsdWRlIDx3ZWJr
aXQyL1dlYktpdEVkaXRpbmdDb21tYW5kcy5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0RWRp
dG9yU3RhdGUuaD4KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCAwOTI1MjU4ODI0YmRjZGM5ZjA3YzQ5ZjUwMzMzZDNhMDRkMjA5ZGE0Li4wNDg4NTI2
YWQ5ZWUwNDBlNjcxZmQxZTBlMTVhMDEwZWUwNDY0ZDBkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMTEtMTMg
IFRoaWJhdWx0IFNhdW5pZXIgIDx0c2F1bmllckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtd
W01pbmlCcm93c2VyXSBIYW5kbGUgRGV2aWNlIEluZm8gcGVybWlzc2lvbiByZXF1ZXN0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNTg1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci9ndGsvQnJvd3NlclRhYi5jOgorICAgICAgICAocGVybWlzc2lvblJlcXVlc3REYXRhTmV3KToK
KyAgICAgICAgKHBlcm1pc3Npb25SZXF1ZXN0RGF0YUZyZWUpOgorICAgICAgICAocGVybWlzc2lv
blJlcXVlc3REaWFsb2dSZXNwb25zZSk6CisgICAgICAgIChkZWNpZGVQZXJtaXNzaW9uUmVxdWVz
dCk6CisgICAgICAgIChicm93c2VyVGFiQ29uc3RydWN0ZWQpOgorCiAyMDE4LTEwLTE3ICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbRmxhdHBha10g
RG8gbm90IGRpc2FibGUgc2lnbmFscyB3aGVuIHJ1bm5pbmcgInVzdWFsIiBjb21tYW5kcwpkaWZm
IC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJUYWIuYyBiL1Rvb2xzL01pbmlC
cm93c2VyL2d0ay9Ccm93c2VyVGFiLmMKaW5kZXggYTZiMmVhNDJlMDBiZGM4ZjNlZGI4MThkNzFl
NzIyMGY0NjMzZDBjZi4uYjdiZmIxOTIyMTVjZDAxZTdkYjQyNDE5MDFhODFlZjMwY2I4YTUzMiAx
MDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJUYWIuYworKysgYi9Ub29s
cy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclRhYi5jCkBAIC01NCw2ICs1NCw4IEBAIHN0cnVjdCBf
QnJvd3NlclRhYiB7CiAgICAgR3RrV2lkZ2V0ICp0aXRsZUxhYmVsOwogICAgIEd0a1dpZGdldCAq
dGl0bGVTcGlubmVyOwogICAgIEd0a1dpZGdldCAqdGl0bGVDbG9zZUJ1dHRvbjsKKworICAgIGdi
b29sZWFuIHVzZXJNZWRpYUFjY2Vzc1dhc0dyYW50ZWQ7CiB9OwogCiBzdHJ1Y3QgX0Jyb3dzZXJU
YWJDbGFzcyB7CkBAIC02Miw2ICs2NCwyOCBAQCBzdHJ1Y3QgX0Jyb3dzZXJUYWJDbGFzcyB7CiAK
IEdfREVGSU5FX1RZUEUoQnJvd3NlclRhYiwgYnJvd3Nlcl90YWIsIEdUS19UWVBFX0JPWCkKIAor
dHlwZWRlZiBzdHJ1Y3QgeworICAgIEJyb3dzZXJUYWIgKnRhYjsKKyAgICBXZWJLaXRQZXJtaXNz
aW9uUmVxdWVzdCAqcmVxdWVzdDsKK30gUGVybWlzc2lvblJlcXVlc3REYXRhOworCitQZXJtaXNz
aW9uUmVxdWVzdERhdGEgKnBlcm1pc3Npb25SZXF1ZXN0RGF0YU5ldyhCcm93c2VyVGFiICp0YWIs
IFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0ICpyZXF1ZXN0KQoreworICAgIFBlcm1pc3Npb25SZXF1
ZXN0RGF0YSAqZGF0YSA9IGdfbWFsbG9jMChzaXplb2YoUGVybWlzc2lvblJlcXVlc3REYXRhKSk7
CisKKyAgICBkYXRhLT50YWIgPSBnX29iamVjdF9yZWYodGFiKTsKKyAgICBkYXRhLT5yZXF1ZXN0
ID0gZ19vYmplY3RfcmVmKHJlcXVlc3QpOworCisgICAgcmV0dXJuIGRhdGE7Cit9CisKK3ZvaWQg
cGVybWlzc2lvblJlcXVlc3REYXRhRnJlZShQZXJtaXNzaW9uUmVxdWVzdERhdGEgKmRhdGEpCit7
CisgICAgZ19vYmplY3RfdW5yZWYoZGF0YS0+dGFiKTsKKyAgICBnX29iamVjdF91bnJlZihkYXRh
LT5yZXF1ZXN0KTsKKyAgICBnX2ZyZWUoZGF0YSk7Cit9CisKIHN0YXRpYyB2b2lkIHRpdGxlQ2hh
bmdlZChXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3LCBHUGFyYW1TcGVjICpwc3BlYywgQnJvd3NlclRh
YiAqdGFiKQogewogICAgIGNvbnN0IGNoYXIgKnRpdGxlID0gd2Via2l0X3dlYl92aWV3X2dldF90
aXRsZSh3ZWJWaWV3KTsKQEAgLTE3MiwxOSArMTk2LDI0IEBAIHN0YXRpYyBnYm9vbGVhbiBsb2Fk
RmFpbGVkV2l0aFRMU2Vycm9ycyhXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3LCBjb25zdCBjaGFyICpm
YWlsCiAgICAgcmV0dXJuIFRSVUU7CiB9CiAKLXN0YXRpYyB2b2lkIHBlcm1pc3Npb25SZXF1ZXN0
RGlhbG9nUmVzcG9uc2UoR3RrV2lkZ2V0ICpkaWFsb2csIGdpbnQgcmVzcG9uc2UsIFdlYktpdFBl
cm1pc3Npb25SZXF1ZXN0ICpyZXF1ZXN0KQorc3RhdGljIHZvaWQgcGVybWlzc2lvblJlcXVlc3RE
aWFsb2dSZXNwb25zZShHdGtXaWRnZXQgKmRpYWxvZywgZ2ludCByZXNwb25zZSwgUGVybWlzc2lv
blJlcXVlc3REYXRhICpyZXF1ZXN0RGF0YSkKIHsKICAgICBzd2l0Y2ggKHJlc3BvbnNlKSB7CiAg
ICAgY2FzZSBHVEtfUkVTUE9OU0VfWUVTOgotICAgICAgICB3ZWJraXRfcGVybWlzc2lvbl9yZXF1
ZXN0X2FsbG93KHJlcXVlc3QpOworICAgICAgICBpZiAoV0VCS0lUX0lTX1VTRVJfTUVESUFfUEVS
TUlTU0lPTl9SRVFVRVNUKHJlcXVlc3REYXRhLT5yZXF1ZXN0KSkKKyAgICAgICAgICAgIHJlcXVl
c3REYXRhLT50YWItPnVzZXJNZWRpYUFjY2Vzc1dhc0dyYW50ZWQgPSBUUlVFOworCisgICAgICAg
IHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfYWxsb3cocmVxdWVzdERhdGEtPnJlcXVlc3QpOwog
ICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAgICB3ZWJraXRfcGVybWlzc2lvbl9y
ZXF1ZXN0X2RlbnkocmVxdWVzdCk7CisgICAgICAgIGlmIChXRUJLSVRfSVNfVVNFUl9NRURJQV9Q
RVJNSVNTSU9OX1JFUVVFU1QocmVxdWVzdERhdGEtPnJlcXVlc3QpKQorICAgICAgICAgICAgcmVx
dWVzdERhdGEtPnRhYi0+dXNlck1lZGlhQWNjZXNzV2FzR3JhbnRlZCA9IEZBTFNFOworICAgICAg
ICB3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2RlbnkocmVxdWVzdERhdGEtPnJlcXVlc3QpOwog
ICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBndGtfd2lkZ2V0X2Rlc3Ryb3koZGlhbG9nKTsK
LSAgICBnX29iamVjdF91bnJlZihyZXF1ZXN0KTsKKyAgICBwZXJtaXNzaW9uUmVxdWVzdERhdGFG
cmVlKHJlcXVlc3REYXRhKTsKIH0KIAogc3RhdGljIGdib29sZWFuIGRlY2lkZVBlcm1pc3Npb25S
ZXF1ZXN0KFdlYktpdFdlYlZpZXcgKndlYlZpZXcsIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0ICpy
ZXF1ZXN0LCBCcm93c2VyVGFiICp0YWIpCkBAIC0yMTUsMTIgKzI0NCwxNiBAQCBzdGF0aWMgZ2Jv
b2xlYW4gZGVjaWRlUGVybWlzc2lvblJlcXVlc3QoV2ViS2l0V2ViVmlldyAqd2ViVmlldywgV2Vi
S2l0UGVybWlzc2lvbgogICAgICAgICB0aXRsZSA9ICJNZWRpYSBwbHVnaW4gbWlzc2luZyByZXF1
ZXN0IjsKICAgICAgICAgdGV4dCA9IGdfc3RyZHVwX3ByaW50ZigiVGhlIG1lZGlhIGJhY2tlbmQg
d2FzIHVuYWJsZSB0byBmaW5kIGEgcGx1Z2luIHRvIHBsYXkgdGhlIHJlcXVlc3RlZCBtZWRpYTpc
biVzLlxuQWxsb3cgdG8gc2VhcmNoIGFuZCBpbnN0YWxsIHRoZSBtaXNzaW5nIHBsdWdpbj8iLAog
ICAgICAgICAgICAgd2Via2l0X2luc3RhbGxfbWlzc2luZ19tZWRpYV9wbHVnaW5zX3Blcm1pc3Np
b25fcmVxdWVzdF9nZXRfZGVzY3JpcHRpb24oV0VCS0lUX0lOU1RBTExfTUlTU0lOR19NRURJQV9Q
TFVHSU5TX1BFUk1JU1NJT05fUkVRVUVTVChyZXF1ZXN0KSkpOwotICAgIH0gZWxzZQorICAgIH0g
ZWxzZSBpZiAoV0VCS0lUX0lTX0RFVklDRV9JTkZPX1BFUk1JU1NJT05fUkVRVUVTVChyZXF1ZXN0
KSkKKyAgICAgICAgcmV0dXJuIHRhYi0+dXNlck1lZGlhQWNjZXNzV2FzR3JhbnRlZDsKKyAgICBl
bHNlIHsKKyAgICAgICAgZ19wcmludCgiJXMgcmVxdWVzdCBub3QgaGFuZGxlZFxuIiwgR19PQkpF
Q1RfVFlQRV9OQU1FKHJlcXVlc3QpKTsKICAgICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0KIAog
ICAgIEd0a1dpZGdldCAqZGlhbG9nID0gY3JlYXRlSW5mb0JhclF1ZXN0aW9uTWVzc2FnZSh0aXRs
ZSwgdGV4dCk7CiAgICAgZ19mcmVlKHRleHQpOwotICAgIGdfc2lnbmFsX2Nvbm5lY3QoZGlhbG9n
LCAicmVzcG9uc2UiLCBHX0NBTExCQUNLKHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9uc2Up
LCBnX29iamVjdF9yZWYocmVxdWVzdCkpOworICAgIGdfc2lnbmFsX2Nvbm5lY3QoZGlhbG9nLCAi
cmVzcG9uc2UiLCBHX0NBTExCQUNLKHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9uc2UpLCBw
ZXJtaXNzaW9uUmVxdWVzdERhdGFOZXcodGFiLCByZXF1ZXN0KSk7CiAKICAgICBndGtfYm94X3Bh
Y2tfc3RhcnQoR1RLX0JPWCh0YWIpLCBkaWFsb2csIEZBTFNFLCBGQUxTRSwgMCk7CiAgICAgZ3Rr
X2JveF9yZW9yZGVyX2NoaWxkKEdUS19CT1godGFiKSwgZGlhbG9nLCAwKTsKQEAgLTM5MSw2ICs0
MjQsOCBAQCBzdGF0aWMgdm9pZCBicm93c2VyVGFiQ29uc3RydWN0ZWQoR09iamVjdCAqZ09iamVj
dCkKIAogICAgIGlmICh3ZWJraXRfd2ViX3ZpZXdfaXNfZWRpdGFibGUodGFiLT53ZWJWaWV3KSkK
ICAgICAgICAgd2Via2l0X3dlYl92aWV3X2xvYWRfaHRtbCh0YWItPndlYlZpZXcsICI8aHRtbD48
L2h0bWw+IiwgImZpbGU6Ly8vIik7CisKKyAgICB0YWItPnVzZXJNZWRpYUFjY2Vzc1dhc0dyYW50
ZWQgPSBGQUxTRTsKIH0KIAogc3RhdGljIHZvaWQgYnJvd3Nlcl90YWJfY2xhc3NfaW5pdChCcm93
c2VyVGFiQ2xhc3MgKmtsYXNzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354963</attachid>
            <date>2018-11-15 11:43:17 -0800</date>
            <delta_ts>2018-11-15 11:44:22 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-191585-20181115164316.patch</filename>
            <type>text/plain</type>
            <size>12164</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWE5ODc4MzRhZjExMzI3
YzcwYzQ0MTk0YzMyMDgyM2U4N2VkYWU3MS4uZjc5YTE2NjNmNGNhZDg3ZjY2YmE5MmI1YmE2MDI3
YTZjZGVhNmIzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTExLTE1ICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XVtXZWJSVENdIEFkZCBBUEkgdG8gZW5hYmxlL2Rpc2FibGUgZGV2aWNlIG1vY2tzCisgICAgICAg
IE5lZWQgdGhlIGJ1ZyBVUkwgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGJhc2ljYWxseSB1cyB0
byB0ZXN0IE1lZGlhU3RyZWFtL1dlYlJUQyBzdXBwb3J0IHdpdGhvdXQKKyAgICAgICAgcmVxdWly
aW5nIGNhbWVyYXMgb3IgbWljcm9waG9uZXMgYW5kIGlzIHF1aXRlIHVzZWZ1bC4KKworICAgICAg
ICBBbHNvIGZpeCB0aGUgR1N0cmVhbWVyQXVkaW9Nb2NrIGJ5OgorICAgICAgICAgIC0gU3RvcCBz
ZXR0aW5nIGBsZWFreS11cHN0cmVhbWAgb24gdGhlIEdTdHJlYW1lckNhcHR1cmVyIHF1ZXVlLAor
ICAgICAgICAgICAgdGhpcyB3YXMgdXNlZnVsbCB3aGVuIHdlIHdlcmUgdHJ5aW5nIHRvIGJyaW5n
IHRoZSBNZWRpYVN0cmVhbQorICAgICAgICAgICAgc291cmNlcyBpbnNpZGUgdGhlIG1haW4gcGlw
ZWxpbmUsIGl0IGlzIG5vdCB0aGUgY2FzZSBhbnltb3JlCisgICAgICAgICAgICAoYW5kIG5vdCBk
b2FibGUgd2l0aCBsYXRlc3QgdmVyc2lvbiBvZiBMaWJXZWJSVEMpLgorICAgICAgICAgIC0gVXNl
IGEgJ3RpY2tzJyB3YXZlIG9uIHRoZSBnc3RyZWFtZXIgYXVkaW90ZXN0c3JjIHNvIHRoZSB0ZXN0
CisgICAgICAgICAgICBzdHJlYW0gaXMgc2ltaWxhcmUgdG8gd2hhdCBBcHBsZSBwb3J0IGRvZXMu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIG1v
Y2tzIGFyZSBhbHJlYWR5IHRlc3RlZCBhbmQgdGhlIEFQSSBpcyByZWFsbHkgc2ltcGxlLgorCisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lckF1ZGlvQ2Fw
dHVyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVhbWVyQXVkaW9DYXB0dXJlcjo6Y3Jl
YXRlU291cmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0
cmVhbWVyQXVkaW9DYXB0dXJlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2dz
dHJlYW1lci9HU3RyZWFtZXJDYXB0dXJlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHU3RyZWFt
ZXJDYXB0dXJlcjo6YWRkU2luayk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0
cmVhbWVyL0dTdHJlYW1lckNhcHR1cmVyLmg6CisKIDIwMTgtMTEtMTMgIFRoaWJhdWx0IFNhdW5p
ZXIgIDx0c2F1bmllckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdW01lZGlhU3Ry
ZWFtXSBIYW5kbGUgdHJhY2sgYWRkaXRpb24gYW5kIHJlbW92YWwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMDQ4ZTM0
OWVlNjBkZjY4YjBhODdiOTY0NjFlMjJkNmVmOTcxYjliMS4uNGMxZGQ2ODcwMTRkMGU0OWQ2ZTI0
YzZiODY2OTEwOGNiMmFhMDU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxOC0xMS0x
NSAgVGhpYmF1bHQgU2F1bmllciAgPHRzYXVuaWVyQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl1bV2ViUlRDXSBBZGQgQVBJIHRvIGVuYWJsZS9kaXNhYmxlIGRldmljZSBtb2Nrcwor
ICAgICAgICBOZWVkIHRoZSBidWcgVVJMIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBiYXNpY2Fs
bHkgdXMgdG8gdGVzdCBNZWRpYVN0cmVhbS9XZWJSVEMgc3VwcG9ydCB3aXRob3V0CisgICAgICAg
IHJlcXVpcmluZyBjYW1lcmFzIG9yIG1pY3JvcGhvbmVzIGFuZCBpcyBxdWl0ZSB1c2VmdWwuCisK
KyAgICAgICAgQWxzbyBmaXggdGhlIEdTdHJlYW1lckF1ZGlvTW9jayBieToKKyAgICAgICAgICAt
IFN0b3Agc2V0dGluZyBgbGVha3ktdXBzdHJlYW1gIG9uIHRoZSBHU3RyZWFtZXJDYXB0dXJlciBx
dWV1ZSwKKyAgICAgICAgICAgIHRoaXMgd2FzIHVzZWZ1bGwgd2hlbiB3ZSB3ZXJlIHRyeWluZyB0
byBicmluZyB0aGUgTWVkaWFTdHJlYW0KKyAgICAgICAgICAgIHNvdXJjZXMgaW5zaWRlIHRoZSBt
YWluIHBpcGVsaW5lLCBpdCBpcyBub3QgdGhlIGNhc2UgYW55bW9yZQorICAgICAgICAgICAgKGFu
ZCBub3QgZG9hYmxlIHdpdGggbGF0ZXN0IHZlcnNpb24gb2YgTGliV2ViUlRDKS4KKyAgICAgICAg
ICAtIFVzZSBhICd0aWNrcycgd2F2ZSBvbiB0aGUgZ3N0cmVhbWVyIGF1ZGlvdGVzdHNyYyBzbyB0
aGUgdGVzdAorICAgICAgICAgICAgc3RyZWFtIGlzIHNpbWlsYXJlIHRvIHdoYXQgQXBwbGUgcG9y
dCBkb2VzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZSBtb2NrcyBhcmUgYWxyZWFkeSB0ZXN0ZWQgYW5kIHRoZSBBUEkgaXMgcmVhbGx5IHNpbXBs
ZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6Cisg
ICAgICAgICh3ZWJLaXRTZXR0aW5nc1NldFByb3BlcnR5KToKKyAgICAgICAgKHdlYktpdFNldHRp
bmdzR2V0UHJvcGVydHkpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQpOgor
ICAgICAgICAod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfbW9ja19jYXB0dXJlX2RldmljZXMp
OgorICAgICAgICAod2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfbW9ja19jYXB0dXJlX2Rldmlj
ZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQ6
CisKIDIwMTgtMTEtMTMgIFRoaWJhdWx0IFNhdW5pZXIgIDx0c2F1bmllckBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdW01pbmlCcm93c2VyXSBIYW5kbGUgRGV2aWNlIEluZm8gcGVybWlzc2lv
biByZXF1ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vZ3N0cmVhbWVyL0dTdHJlYW1lckF1ZGlvQ2FwdHVyZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lckF1ZGlvQ2FwdHVyZXIuY3Bw
CmluZGV4IDY0MTU3ZWY3MGE2YTAyZmQ0MWY5MDJmMWFmNTc0ZWFmZDMwNjk5ZjQuLjhkZjc1OGEx
MDlmZWU2NWU4MjM5OTNlYTg0MjQxOGI0YjMyMThhNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJBdWRpb0NhcHR1cmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIv
R1N0cmVhbWVyQXVkaW9DYXB0dXJlci5jcHAKQEAgLTQwLDYgKzQwLDE2IEBAIEdTdHJlYW1lckF1
ZGlvQ2FwdHVyZXI6OkdTdHJlYW1lckF1ZGlvQ2FwdHVyZXIoKQogewogfQogCitHc3RFbGVtZW50
KiBHU3RyZWFtZXJBdWRpb0NhcHR1cmVyOjpjcmVhdGVTb3VyY2UoKQoreworICAgIEdzdEVsZW1l
bnQqIHNvdXJjZSA9IEdTdHJlYW1lckNhcHR1cmVyOjpjcmVhdGVTb3VyY2UoKTsKKworICAgIGlm
ICghbV9kZXZpY2UpCisgICAgICAgIGdzdF91dGlsX3NldF9vYmplY3RfYXJnKEdfT0JKRUNUKG1f
c3JjLmdldCgpKSwgIndhdmUiLCAidGlja3MiKTsKKworICAgIHJldHVybiBzb3VyY2U7Cit9CisK
IEdzdEVsZW1lbnQqIEdTdHJlYW1lckF1ZGlvQ2FwdHVyZXI6OmNyZWF0ZUNvbnZlcnRlcigpCiB7
CiAgICAgYXV0byBjb252ZXJ0ZXIgPSBnc3RfcGFyc2VfYmluX2Zyb21fZGVzY3JpcHRpb24oImF1
ZGlvY29udmVydCAhIGF1ZGlvcmVzYW1wbGUiLCBUUlVFLCBudWxscHRyKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJB
dWRpb0NhcHR1cmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3Ry
ZWFtZXIvR1N0cmVhbWVyQXVkaW9DYXB0dXJlci5oCmluZGV4IDlhYWY3NjFkNmM0YjQzYzQ0ZWY0
NDcxMWU4MzdiMGYxMjUyZDFmNWEuLjdiMjc5ZWUzNDRlNWJhNzk2N2E3YWRhYjU5YWNlZGZmNTU3
MWZhYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dz
dHJlYW1lci9HU3RyZWFtZXJBdWRpb0NhcHR1cmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lckF1ZGlvQ2FwdHVyZXIuaApAQCAt
MzIsNiArMzIsNyBAQCBwdWJsaWM6CiAgICAgR1N0cmVhbWVyQXVkaW9DYXB0dXJlcihHU3RyZWFt
ZXJDYXB0dXJlRGV2aWNlKTsKICAgICBHU3RyZWFtZXJBdWRpb0NhcHR1cmVyKCk7CiAKKyAgICBH
c3RFbGVtZW50KiBjcmVhdGVTb3VyY2UoKSBmaW5hbDsKICAgICBHc3RFbGVtZW50KiBjcmVhdGVD
b252ZXJ0ZXIoKSBmaW5hbDsKICAgICBjb25zdCBjaGFyKiBuYW1lKCkgZmluYWwgeyByZXR1cm4g
IkF1ZGlvIjsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyQ2FwdHVyZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lckNhcHR1cmVyLmNwcAppbmRleCA5
MmJmYTQxNWEyZDYyMDU3ZjA4YjIwZGI1YzljYzI0MjA4MmNmMDYyLi41MGUxZjkwNmEyMzkxNTQ1
YmNlOTY3ZGI1ZThmZjUwYjQwOGFkMzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyQ2FwdHVyZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJDYXB0
dXJlci5jcHAKQEAgLTE1NSwxMiArMTU1LDYgQEAgdm9pZCBHU3RyZWFtZXJDYXB0dXJlcjo6YWRk
U2luayhHc3RFbGVtZW50KiBuZXdTaW5rKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
aWYgKG5ld1NpbmsgPT0gbV9zaW5rLmdldCgpKSB7Ci0gICAgICAgIEdTVF9JTkZPX09CSkVDVCht
X3BpcGVsaW5lLmdldCgpLCAiU2V0dGluZyBxdWV1ZSBhcyBsZWFreSB1cHN0cmVhbSIKLSAgICAg
ICAgICAgICIgc28gdGhhdCB0aGUgcGxheWVyIGNhbiBzZXQgdGhlIHNpbmsgdG8gUEFVU0VEIHdp
dGhvdXQgIgotICAgICAgICAgICAgIiBzZXR0aW5nIHRoZSB3aG9sZSBjYXB0dXJlciB0byBQQVVT
RUQiKTsKLSAgICAgICAgZ19vYmplY3Rfc2V0KHF1ZXVlLCAibGVha3kiLCAyIC8qIHVwc3RyZWFt
ICovLCBudWxscHRyKTsKLSAgICB9CiAKICAgICBHU1RfSU5GT19PQkpFQ1QocGlwZWxpbmUoKSwg
IkFkZGluZyBzaW5rOiAlIiBHU1RfUFRSX0ZPUk1BVCwgbmV3U2luayk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJD
YXB0dXJlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVy
L0dTdHJlYW1lckNhcHR1cmVyLmgKaW5kZXggN2JmY2VkYWQ4MDFkZjc1NjM1OWQzZjg1ZTRhMjYx
NmI3YmQxYzQ2MC4uYmJlNWFlNzM5NTRhZTUzY2MyMTY1NzkzZWMwOTZhODg3OTJhZDRmMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dT
dHJlYW1lckNhcHR1cmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vZ3N0cmVhbWVyL0dTdHJlYW1lckNhcHR1cmVyLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGlj
OgogICAgIEdzdENhcHMqIGNhcHMoKTsKICAgICB2b2lkIGFkZFNpbmsoR3N0RWxlbWVudCAqbmV3
U2luayk7CiAgICAgR3N0RWxlbWVudCogbWFrZUVsZW1lbnQoY29uc3QgY2hhciogZmFjdG9yeU5h
bWUpOwotICAgIEdzdEVsZW1lbnQqIGNyZWF0ZVNvdXJjZSgpOworICAgIHZpcnR1YWwgR3N0RWxl
bWVudCogY3JlYXRlU291cmNlKCk7CiAgICAgR3N0RWxlbWVudCogc291cmNlKCkgeyByZXR1cm4g
bV9zcmMuZ2V0KCk7ICB9CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiBuYW1lKCkgPSAwOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5n
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5j
cHAKaW5kZXggM2ZjNDBlMjUzOWFjNzYzYTdmNzE2ZWI0ZTVhYzQ0MjIxOTExYzdmOC4uOTgxOWQ5
MWRmNDI0Yjg3ZTZmMmQyNDM0OTBmZjIyOWU4NmFiMjkzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcApAQCAtMTUyLDYgKzE1
Miw3IEBAIGVudW0gewogICAgIFBST1BfRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUywKICAg
ICBQUk9QX0VOQUJMRV9XUklURV9DT05TT0xFX01FU1NBR0VTX1RPX1NURE9VVCwKICAgICBQUk9Q
X0VOQUJMRV9NRURJQV9TVFJFQU0sCisgICAgUFJPUF9FTkFCTEVfTU9DS19DQVBUVVJFX0RFVklD
RVMsCiAgICAgUFJPUF9FTkFCTEVfU1BBVElBTF9OQVZJR0FUSU9OLAogICAgIFBST1BfRU5BQkxF
X01FRElBU09VUkNFLAogICAgIFBST1BfRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSwKQEAgLTM1Miw2
ICszNTMsOSBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0aW5nc1NldFByb3BlcnR5KEdPYmplY3Qq
IG9iamVjdCwgZ3VpbnQgcHJvcElkLCBjb25zdCBHVmFsdQogICAgIGNhc2UgUFJPUF9FTkFCTEVf
TUVESUFfU1RSRUFNOgogICAgICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9tZWRpYV9z
dHJlYW0oc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKICAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9NT0NLX0NBUFRVUkVfREVWSUNFUzoKKyAgICAgICAg
d2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfbW9ja19jYXB0dXJlX2RldmljZXMoc2V0dGluZ3Ms
IGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQ
Uk9QX0VOQUJMRV9TUEFUSUFMX05BVklHQVRJT046CiAgICAgICAgIHdlYmtpdF9zZXR0aW5nc19z
ZXRfZW5hYmxlX3NwYXRpYWxfbmF2aWdhdGlvbihzZXR0aW5ncywgZ192YWx1ZV9nZXRfYm9vbGVh
bih2YWx1ZSkpOwogICAgICAgICBicmVhazsKQEAgLTUyOCw2ICs1MzIsOSBAQCBzdGF0aWMgdm9p
ZCB3ZWJLaXRTZXR0aW5nc0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElk
LCBHVmFsdWUqIHZhbAogICAgIGNhc2UgUFJPUF9FTkFCTEVfTUVESUFfU1RSRUFNOgogICAgICAg
ICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9t
ZWRpYV9zdHJlYW0oc2V0dGluZ3MpKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VO
QUJMRV9NT0NLX0NBUFRVUkVfREVWSUNFUzoKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2
YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfbW9ja19jYXB0dXJlX2RldmljZXMoc2V0
dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0VOQUJMRV9TUEFUSUFMX05B
VklHQVRJT046CiAgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF9zZXR0
aW5nc19nZXRfZW5hYmxlX3NwYXRpYWxfbmF2aWdhdGlvbihzZXR0aW5ncykpOwogICAgICAgICBi
cmVhazsKQEAgLTEyNjksNiArMTI3NiwyMyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfc2V0dGluZ3Nf
Y2xhc3NfaW5pdChXZWJLaXRTZXR0aW5nc0NsYXNzKiBrbGFzcykKICAgICAgICAgICAgIEZBTFNF
LAogICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3RydWN0UGFyYW1GbGFncykpOwogCisgICAgLyoq
CisgICAgICogV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLW1vY2stY2FwdHVyZS1kZXZpY2VzOgorICAg
ICAqCisgICAgICogRW5hYmxlIG9yIGRpc2FibGUgdGhlIE1vY2sgQ2FwdHVyZSBEZXZpY2VzLiBU
aG9zZSBhcmUgZmFrZQorICAgICAqIE1pY3JvcGhvbmUgYW5kIENhbWVyYSBkZXZpY2VzIHRvIGJl
IHVzZWQgYXMgTWVkaWFTdHJlYW0KKyAgICAgKiBzb3VyY2VzLgorICAgICAqCisgICAgICogU2lu
Y2U6IDIuMjQKKyAgICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdP
YmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9FTkFCTEVfTU9DS19DQVBUVVJFX0RFVklDRVMsCisg
ICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKCJlbmFibGUtbW9jay1jYXB0dXJlLWRldmljZXMi
LAorICAgICAgICAgICAgXygiRW5hYmxlIG1vY2sgY2FwdHVyZSBkZXZpY2VzIiksCisgICAgICAg
ICAgICBfKCJXaGV0aGVyIHdlIGV4cG9zZSBtb2NrIGNhcHR1cmUgZGV2aWNlcyBvciBub3QiKSwK
KyAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3RydWN0UGFyYW1G
bGFncykpOworCiAgICAvKioKICAgICAgKiBXZWJLaXRTZXR0aW5nczplbmFibGUtc3BhdGlhbC1u
YXZpZ2F0aW9uOgogICAgICAqCkBAIC0zMTI3LDYgKzMxNTEsNDUgQEAgdm9pZCB3ZWJraXRfc2V0
dGluZ3Nfc2V0X2VuYWJsZV9tZWRpYV9zdHJlYW0oV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzLCBn
Ym9vbGVhbgogICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUt
bWVkaWEtc3RyZWFtIik7CiB9CiAKKy8qKgorICogd2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVf
bW9ja19jYXB0dXJlX2RldmljZXM6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisg
KgorICogR2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLW1vY2stY2FwdHVyZS1kZXZpY2Vz
IHByb3BlcnR5LgorICoKKyAqIFJldHVybnM6ICVUUlVFIElmIG1vY2sgY2FwdHVyZSBkZXZpY2Vz
IGlzIGVuYWJsZWQgb3IgJUZBTFNFIG90aGVyd2lzZS4KKyAqCisgKiBTaW5jZTogMi4yNAorICov
CitnYm9vbGVhbiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9tb2NrX2NhcHR1cmVfZGV2aWNl
cyhXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwo
V0VCS0lUX0lTX1NFVFRJTkdTKHNldHRpbmdzKSwgRkFMU0UpOworCisgICAgcmV0dXJuIHNldHRp
bmdzLT5wcml2LT5wcmVmZXJlbmNlcy0+bW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCgpOworfQor
CisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX21vY2tfY2FwdHVyZV9kZXZpY2Vz
OgorICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5ncworICogQGVuYWJsZWQ6IFZhbHVlIHRv
IGJlIHNldAorICoKKyAqIFNldCB0aGUgI1dlYktpdFNldHRpbmdzOmVuYWJsZS1tb2NrLWNhcHR1
cmUtZGV2aWNlcyBwcm9wZXJ0eS4KKyAqCisgKiBTaW5jZTogMi40CisgKi8KK3ZvaWQgd2Via2l0
X3NldHRpbmdzX3NldF9lbmFibGVfbW9ja19jYXB0dXJlX2RldmljZXMoV2ViS2l0U2V0dGluZ3Mq
IHNldHRpbmdzLCBnYm9vbGVhbiBlbmFibGVkKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VC
S0lUX0lTX1NFVFRJTkdTKHNldHRpbmdzKSk7CisKKyAgICBXZWJLaXRTZXR0aW5nc1ByaXZhdGUq
IHByaXYgPSBzZXR0aW5ncy0+cHJpdjsKKyAgICBib29sIGN1cnJlbnRWYWx1ZSA9IHByaXYtPnBy
ZWZlcmVuY2VzLT5tb2NrQ2FwdHVyZURldmljZXNFbmFibGVkKCk7CisgICAgaWYgKGN1cnJlbnRW
YWx1ZSA9PSBlbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBwcml2LT5wcmVmZXJlbmNl
cy0+c2V0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZChlbmFibGVkKTsKKyAgICBnX29iamVjdF9u
b3RpZnkoR19PQkpFQ1Qoc2V0dGluZ3MpLCAiZW5hYmxlLW1vY2stY2FwdHVyZS1kZXZpY2VzIik7
Cit9CisKIC8qKgogICogd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfc3BhdGlhbF9uYXZpZ2F0
aW9uOgogICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5ncwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oCmluZGV4IDg0OTk5ZWQzMGE5Mjk5
ZmZjYWE2ODI3ODI4YzY4NTdlZWY4YmQzZjYuLmNiMmMyMDZlMmY2ODc5ZDczNzdlMjA5NTM4YzU2
Y2U1YjAzYWIzOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0U2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNldHRpbmdzLmgKQEAgLTQxNiw2ICs0MTYsMTMgQEAgV0VCS0lUX0FQSSB2b2lkCiB3ZWJr
aXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9tZWRpYV9zdHJlYW0gICAgICAgICAgICAgICAgICAgICAg
ICAoV2ViS2l0U2V0dGluZ3MgKnNldHRpbmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgICBlbmFi
bGVkKTsKIAorV0VCS0lUX0FQSSBnYm9vbGVhbgord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVf
bW9ja19jYXB0dXJlX2RldmljZXMgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzICpzZXR0
aW5ncyk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfbW9j
a19jYXB0dXJlX2RldmljZXMgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzICpzZXR0aW5n
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgZW5hYmxlZCk7CisKIFdFQktJVF9BUEkgZ2Jvb2xl
YW4KIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3NwYXRpYWxfbmF2aWdhdGlvbiAgICAgICAg
ICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMu
dHh0IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4w
LXNlY3Rpb25zLnR4dAppbmRleCBiNzI0YzBkZjkyYjJhMjhmYTcyOGJhYzU0YWRlMjk2MzcwNjcw
OWE0Li4wYWZlMmIzN2Y0ODhmNjM0ZTM3ZDljYmQ3MDE0NmY1MWUxZTgzOTEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2Vj
dGlvbnMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJr
aXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQKQEAgLTQ3MSw2ICs0NzEsOCBAQCB3ZWJraXRfc2V0dGlu
Z3NfZ2V0X2VuYWJsZV93cml0ZV9jb25zb2xlX21lc3NhZ2VzX3RvX3N0ZG91dAogd2Via2l0X3Nl
dHRpbmdzX3NldF9lbmFibGVfd3JpdGVfY29uc29sZV9tZXNzYWdlc190b19zdGRvdXQKIHdlYmtp
dF9zZXR0aW5nc19nZXRfZW5hYmxlX21lZGlhX3N0cmVhbQogd2Via2l0X3NldHRpbmdzX3NldF9l
bmFibGVfbWVkaWFfc3RyZWFtCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9tb2NrX2NhcHR1
cmVfZGV2aWNlcword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfbW9ja19jYXB0dXJlX2Rldmlj
ZXMKIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3NwYXRpYWxfbmF2aWdhdGlvbgogd2Via2l0
X3NldHRpbmdzX3NldF9lbmFibGVfc3BhdGlhbF9uYXZpZ2F0aW9uCiB3ZWJraXRfc2V0dGluZ3Nf
Z2V0X2VuYWJsZV9tZWRpYXNvdXJjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355040</attachid>
            <date>2018-11-16 04:27:10 -0800</date>
            <delta_ts>2018-11-16 05:15:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191585-20181116092709.patch</filename>
            <type>text/plain</type>
            <size>6312</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcxNzYzNzNjNjJmMjczZGFi
NGJmNDZjNDc4MDFjOTNiODlkMzU0NzIuLjA0OGUzNDllZTYwZGY2OGIwYTg3Yjk2NDYxZTIyZDZl
Zjk3MWI5YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgtMTEtMTMgIFRoaWJhdWx0
IFNhdW5pZXIgIDx0c2F1bmllckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW01pbmlCcm93
c2VyXSBIYW5kbGUgRGV2aWNlIEluZm8gcGVybWlzc2lvbiByZXF1ZXN0cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNTg1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay93
ZWJraXQyLmg6CisKIDIwMTgtMTEtMTMgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBbV2ViQXV0aE5dIFN1cHBvcnQgQ1RBUCBISUQgYXV0aGVudGljYXRvcnMg
b24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvd2Vi
a2l0Mi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay93ZWJraXQyLmgKaW5kZXgg
ZmIwNDc2ZjFiMTc5YmM0YzVjYTRlMTM4NWU1MGNiMDVhN2RmNTM2Ny4uYjljMDAwOTcwYTA0ZGNm
M2E3ZmYzMDE0ZWEzOWU1MDJhZjg0ZjFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2d0ay93ZWJraXQyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2d0ay93ZWJraXQyLmgKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDx3ZWJraXQyL1dlYktp
dENvb2tpZU1hbmFnZXIuaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdENyZWRlbnRpYWwuaD4K
ICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdERlZmluZXMuaD4KKyNpbmNsdWRlIDx3ZWJraXQyL1dl
YktpdERldmljZUluZm9QZXJtaXNzaW9uUmVxdWVzdC5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2Vi
S2l0RG93bmxvYWQuaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktpdEVkaXRpbmdDb21tYW5kcy5o
PgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0RWRpdG9yU3RhdGUuaD4KZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyMGNkYjFhM2JlMzdmZmQyZTZi
NzQ4YTMyZTA1N2ZkYWY3MWEzMTJkLi5mNjgxZTVhN2U3YjM4ZmZiZmZlM2QzOWI4ZTVkYmI5Y2Fj
ODYwN2JiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMTEtMTMgIFRoaWJhdWx0IFNhdW5pZXIgIDx0c2F1bmll
ckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW01pbmlCcm93c2VyXSBIYW5kbGUgRGV2aWNl
IEluZm8gcGVybWlzc2lvbiByZXF1ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9ndGsvQnJvd3NlclRhYi5jOgorICAgICAg
ICAocGVybWlzc2lvblJlcXVlc3REYXRhTmV3KToKKyAgICAgICAgKHBlcm1pc3Npb25SZXF1ZXN0
RGF0YUZyZWUpOgorICAgICAgICAocGVybWlzc2lvblJlcXVlc3REaWFsb2dSZXNwb25zZSk6Cisg
ICAgICAgIChkZWNpZGVQZXJtaXNzaW9uUmVxdWVzdCk6CisgICAgICAgIChicm93c2VyVGFiQ29u
c3RydWN0ZWQpOgorCiAyMDE4LTEwLTE3ICBUaGliYXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbRmxhdHBha10gRG8gbm90IGRpc2FibGUgc2lnbmFscyB3aGVu
IHJ1bm5pbmcgInVzdWFsIiBjb21tYW5kcwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIv
Z3RrL0Jyb3dzZXJUYWIuYyBiL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyVGFiLmMKaW5k
ZXggYTZiMmVhNDJlMDBiZGM4ZjNlZGI4MThkNzFlNzIyMGY0NjMzZDBjZi4uOGUwYmVkNjk4NTYz
ZWIxNjA0MzU4MWFjNDYxMTY4YzI5OTBlODdmMSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dz
ZXIvZ3RrL0Jyb3dzZXJUYWIuYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclRh
Yi5jCkBAIC01NCw2ICs1NCw4IEBAIHN0cnVjdCBfQnJvd3NlclRhYiB7CiAgICAgR3RrV2lkZ2V0
ICp0aXRsZUxhYmVsOwogICAgIEd0a1dpZGdldCAqdGl0bGVTcGlubmVyOwogICAgIEd0a1dpZGdl
dCAqdGl0bGVDbG9zZUJ1dHRvbjsKKworICAgIGdib29sZWFuIHVzZXJNZWRpYUFjY2Vzc1dhc0dy
YW50ZWQ7CiB9OwogCiBzdHJ1Y3QgX0Jyb3dzZXJUYWJDbGFzcyB7CkBAIC02Miw2ICs2NCwyOCBA
QCBzdHJ1Y3QgX0Jyb3dzZXJUYWJDbGFzcyB7CiAKIEdfREVGSU5FX1RZUEUoQnJvd3NlclRhYiwg
YnJvd3Nlcl90YWIsIEdUS19UWVBFX0JPWCkKIAordHlwZWRlZiBzdHJ1Y3QgeworICAgIEJyb3dz
ZXJUYWIgKnRhYjsKKyAgICBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCAqcmVxdWVzdDsKK30gUGVy
bWlzc2lvblJlcXVlc3REYXRhOworCitzdGF0aWMgUGVybWlzc2lvblJlcXVlc3REYXRhICpwZXJt
aXNzaW9uUmVxdWVzdERhdGFOZXcoQnJvd3NlclRhYiAqdGFiLCBXZWJLaXRQZXJtaXNzaW9uUmVx
dWVzdCAqcmVxdWVzdCkKK3sKKyAgICBQZXJtaXNzaW9uUmVxdWVzdERhdGEgKmRhdGEgPSBnX21h
bGxvYzAoc2l6ZW9mKFBlcm1pc3Npb25SZXF1ZXN0RGF0YSkpOworCisgICAgZGF0YS0+dGFiID0g
Z19vYmplY3RfcmVmKHRhYik7CisgICAgZGF0YS0+cmVxdWVzdCA9IGdfb2JqZWN0X3JlZihyZXF1
ZXN0KTsKKworICAgIHJldHVybiBkYXRhOworfQorCitzdGF0aWMgdm9pZCBwZXJtaXNzaW9uUmVx
dWVzdERhdGFGcmVlKFBlcm1pc3Npb25SZXF1ZXN0RGF0YSAqZGF0YSkKK3sKKyAgICBnX2NsZWFy
X29iamVjdCgmZGF0YS0+dGFiKTsKKyAgICBnX2NsZWFyX29iamVjdCgmZGF0YS0+cmVxdWVzdCk7
CisgICAgZ19mcmVlKGRhdGEpOworfQorCiBzdGF0aWMgdm9pZCB0aXRsZUNoYW5nZWQoV2ViS2l0
V2ViVmlldyAqd2ViVmlldywgR1BhcmFtU3BlYyAqcHNwZWMsIEJyb3dzZXJUYWIgKnRhYikKIHsK
ICAgICBjb25zdCBjaGFyICp0aXRsZSA9IHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmll
dyk7CkBAIC0xNzIsMTkgKzE5NiwyNCBAQCBzdGF0aWMgZ2Jvb2xlYW4gbG9hZEZhaWxlZFdpdGhU
TFNlcnJvcnMoV2ViS2l0V2ViVmlldyAqd2ViVmlldywgY29uc3QgY2hhciAqZmFpbAogICAgIHJl
dHVybiBUUlVFOwogfQogCi1zdGF0aWMgdm9pZCBwZXJtaXNzaW9uUmVxdWVzdERpYWxvZ1Jlc3Bv
bnNlKEd0a1dpZGdldCAqZGlhbG9nLCBnaW50IHJlc3BvbnNlLCBXZWJLaXRQZXJtaXNzaW9uUmVx
dWVzdCAqcmVxdWVzdCkKK3N0YXRpYyB2b2lkIHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9u
c2UoR3RrV2lkZ2V0ICpkaWFsb2csIGdpbnQgcmVzcG9uc2UsIFBlcm1pc3Npb25SZXF1ZXN0RGF0
YSAqcmVxdWVzdERhdGEpCiB7CiAgICAgc3dpdGNoIChyZXNwb25zZSkgewogICAgIGNhc2UgR1RL
X1JFU1BPTlNFX1lFUzoKLSAgICAgICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdyhy
ZXF1ZXN0KTsKKyAgICAgICAgaWYgKFdFQktJVF9JU19VU0VSX01FRElBX1BFUk1JU1NJT05fUkVR
VUVTVChyZXF1ZXN0RGF0YS0+cmVxdWVzdCkpCisgICAgICAgICAgICByZXF1ZXN0RGF0YS0+dGFi
LT51c2VyTWVkaWFBY2Nlc3NXYXNHcmFudGVkID0gVFJVRTsKKworICAgICAgICB3ZWJraXRfcGVy
bWlzc2lvbl9yZXF1ZXN0X2FsbG93KHJlcXVlc3REYXRhLT5yZXF1ZXN0KTsKICAgICAgICAgYnJl
YWs7CiAgICAgZGVmYXVsdDoKLSAgICAgICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55
KHJlcXVlc3QpOworICAgICAgICBpZiAoV0VCS0lUX0lTX1VTRVJfTUVESUFfUEVSTUlTU0lPTl9S
RVFVRVNUKHJlcXVlc3REYXRhLT5yZXF1ZXN0KSkKKyAgICAgICAgICAgIHJlcXVlc3REYXRhLT50
YWItPnVzZXJNZWRpYUFjY2Vzc1dhc0dyYW50ZWQgPSBGQUxTRTsKKyAgICAgICAgd2Via2l0X3Bl
cm1pc3Npb25fcmVxdWVzdF9kZW55KHJlcXVlc3REYXRhLT5yZXF1ZXN0KTsKICAgICAgICAgYnJl
YWs7CiAgICAgfQogCiAgICAgZ3RrX3dpZGdldF9kZXN0cm95KGRpYWxvZyk7Ci0gICAgZ19vYmpl
Y3RfdW5yZWYocmVxdWVzdCk7CisgICAgZ19jbGVhcl9wb2ludGVyKCZyZXF1ZXN0RGF0YSwgcGVy
bWlzc2lvblJlcXVlc3REYXRhRnJlZSk7CiB9CiAKIHN0YXRpYyBnYm9vbGVhbiBkZWNpZGVQZXJt
aXNzaW9uUmVxdWVzdChXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3LCBXZWJLaXRQZXJtaXNzaW9uUmVx
dWVzdCAqcmVxdWVzdCwgQnJvd3NlclRhYiAqdGFiKQpAQCAtMjE1LDEyICsyNDQsMTkgQEAgc3Rh
dGljIGdib29sZWFuIGRlY2lkZVBlcm1pc3Npb25SZXF1ZXN0KFdlYktpdFdlYlZpZXcgKndlYlZp
ZXcsIFdlYktpdFBlcm1pc3Npb24KICAgICAgICAgdGl0bGUgPSAiTWVkaWEgcGx1Z2luIG1pc3Np
bmcgcmVxdWVzdCI7CiAgICAgICAgIHRleHQgPSBnX3N0cmR1cF9wcmludGYoIlRoZSBtZWRpYSBi
YWNrZW5kIHdhcyB1bmFibGUgdG8gZmluZCBhIHBsdWdpbiB0byBwbGF5IHRoZSByZXF1ZXN0ZWQg
bWVkaWE6XG4lcy5cbkFsbG93IHRvIHNlYXJjaCBhbmQgaW5zdGFsbCB0aGUgbWlzc2luZyBwbHVn
aW4/IiwKICAgICAgICAgICAgIHdlYmtpdF9pbnN0YWxsX21pc3NpbmdfbWVkaWFfcGx1Z2luc19w
ZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X2Rlc2NyaXB0aW9uKFdFQktJVF9JTlNUQUxMX01JU1NJTkdf
TUVESUFfUExVR0lOU19QRVJNSVNTSU9OX1JFUVVFU1QocmVxdWVzdCkpKTsKLSAgICB9IGVsc2UK
KyAgICB9IGVsc2UgaWYgKFdFQktJVF9JU19ERVZJQ0VfSU5GT19QRVJNSVNTSU9OX1JFUVVFU1Qo
cmVxdWVzdCkpCisgICAgICAgIC8vIE5PVEU6IFRoaXMgd2F5IG9mIGhhbmRsaW5nIERFVklDRV9J
TkZPX1BFUk1JU1NJT05fUkVRVUVTVCBpcyB2ZXJ5IG1pbmltYWxpc3RpYyBhbmQgZG9lc24ndAor
ICAgICAgICAvLyB0YWtlIGludG8gYWNjb3VudCB0aGUgb3JpZ2luIG9mIHRoZSByZXF1ZXN0LCBp
biB0aGUgTWluaUJyb3dzZXIgY2FzZSBpdCBkb2Vzbid0IG1hdHRlciBtdWNoLAorICAgICAgICAv
LyBidXQgaW4gYSByZWFsIHdvcmxkIG5hdmlnYXRvciBhIG1vcmUgY29tcGxldGUgaW1wbGVtZW50
YXRpb24gd291bGQgYmUgcmVxdWlyZWQuCisgICAgICAgIHJldHVybiB0YWItPnVzZXJNZWRpYUFj
Y2Vzc1dhc0dyYW50ZWQ7CisgICAgZWxzZSB7CisgICAgICAgIGdfcHJpbnQoIiVzIHJlcXVlc3Qg
bm90IGhhbmRsZWRcbiIsIEdfT0JKRUNUX1RZUEVfTkFNRShyZXF1ZXN0KSk7CiAgICAgICAgIHJl
dHVybiBGQUxTRTsKKyAgICB9CiAKICAgICBHdGtXaWRnZXQgKmRpYWxvZyA9IGNyZWF0ZUluZm9C
YXJRdWVzdGlvbk1lc3NhZ2UodGl0bGUsIHRleHQpOwogICAgIGdfZnJlZSh0ZXh0KTsKLSAgICBn
X3NpZ25hbF9jb25uZWN0KGRpYWxvZywgInJlc3BvbnNlIiwgR19DQUxMQkFDSyhwZXJtaXNzaW9u
UmVxdWVzdERpYWxvZ1Jlc3BvbnNlKSwgZ19vYmplY3RfcmVmKHJlcXVlc3QpKTsKKyAgICBnX3Np
Z25hbF9jb25uZWN0KGRpYWxvZywgInJlc3BvbnNlIiwgR19DQUxMQkFDSyhwZXJtaXNzaW9uUmVx
dWVzdERpYWxvZ1Jlc3BvbnNlKSwgcGVybWlzc2lvblJlcXVlc3REYXRhTmV3KHRhYiwgcmVxdWVz
dCkpOwogCiAgICAgZ3RrX2JveF9wYWNrX3N0YXJ0KEdUS19CT1godGFiKSwgZGlhbG9nLCBGQUxT
RSwgRkFMU0UsIDApOwogICAgIGd0a19ib3hfcmVvcmRlcl9jaGlsZChHVEtfQk9YKHRhYiksIGRp
YWxvZywgMCk7CkBAIC0zOTEsNiArNDI3LDggQEAgc3RhdGljIHZvaWQgYnJvd3NlclRhYkNvbnN0
cnVjdGVkKEdPYmplY3QgKmdPYmplY3QpCiAKICAgICBpZiAod2Via2l0X3dlYl92aWV3X2lzX2Vk
aXRhYmxlKHRhYi0+d2ViVmlldykpCiAgICAgICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX2h0bWwo
dGFiLT53ZWJWaWV3LCAiPGh0bWw+PC9odG1sPiIsICJmaWxlOi8vLyIpOworCisgICAgdGFiLT51
c2VyTWVkaWFBY2Nlc3NXYXNHcmFudGVkID0gRkFMU0U7CiB9CiAKIHN0YXRpYyB2b2lkIGJyb3dz
ZXJfdGFiX2NsYXNzX2luaXQoQnJvd3NlclRhYkNsYXNzICprbGFzcykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355046</attachid>
            <date>2018-11-16 05:15:39 -0800</date>
            <delta_ts>2018-11-16 06:17:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191585-20181116101538.patch</filename>
            <type>text/plain</type>
            <size>6021</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTcwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjBjZGIxYTNiZTM3ZmZkMmU2Yjc0OGEzMmUwNTdmZGFm
NzFhMzEyZC4uZjY4MWU1YTdlN2IzOGZmYmZmZTNkMzliOGU1ZGJiOWNhYzg2MDdiYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE4LTExLTEzICBUaGliYXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXVtNaW5pQnJvd3Nlcl0gSGFuZGxlIERldmljZSBJbmZvIHBlcm1pc3Np
b24gcmVxdWVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MTU4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJUYWIuYzoKKyAgICAgICAgKHBlcm1pc3Npb25S
ZXF1ZXN0RGF0YU5ldyk6CisgICAgICAgIChwZXJtaXNzaW9uUmVxdWVzdERhdGFGcmVlKToKKyAg
ICAgICAgKHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9uc2UpOgorICAgICAgICAoZGVjaWRl
UGVybWlzc2lvblJlcXVlc3QpOgorICAgICAgICAoYnJvd3NlclRhYkNvbnN0cnVjdGVkKToKKwog
MjAxOC0xMC0xNyAgVGhpYmF1bHQgU2F1bmllciAgPHRzYXVuaWVyQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0ZsYXRwYWtdIERvIG5vdCBkaXNhYmxlIHNpZ25hbHMgd2hlbiBydW5uaW5nICJ1c3Vh
bCIgY29tbWFuZHMKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyVGFi
LmMgYi9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclRhYi5jCmluZGV4IGE2YjJlYTQyZTAw
YmRjOGYzZWRiODE4ZDcxZTcyMjBmNDYzM2QwY2YuLjgzMGIxZWQzM2JlOGJkNWE3NWYwMjQ3YzI2
Y2IxZmExYTQyZTJlMzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2Vy
VGFiLmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJUYWIuYwpAQCAtNTQsNiAr
NTQsOCBAQCBzdHJ1Y3QgX0Jyb3dzZXJUYWIgewogICAgIEd0a1dpZGdldCAqdGl0bGVMYWJlbDsK
ICAgICBHdGtXaWRnZXQgKnRpdGxlU3Bpbm5lcjsKICAgICBHdGtXaWRnZXQgKnRpdGxlQ2xvc2VC
dXR0b247CisKKyAgICBHSGFzaFRhYmxlICp1c2VyTWVkaWFBY2Nlc3NQZXJtaXNzaW9uczsKIH07
CiAKIHN0cnVjdCBfQnJvd3NlclRhYkNsYXNzIHsKQEAgLTYyLDYgKzY0LDMxIEBAIHN0cnVjdCBf
QnJvd3NlclRhYkNsYXNzIHsKIAogR19ERUZJTkVfVFlQRShCcm93c2VyVGFiLCBicm93c2VyX3Rh
YiwgR1RLX1RZUEVfQk9YKQogCit0eXBlZGVmIHN0cnVjdCB7CisgICAgQnJvd3NlclRhYiAqdGFi
OworICAgIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0ICpyZXF1ZXN0OworICAgIGdjaGFyICpvcmln
aW47Cit9IFBlcm1pc3Npb25SZXF1ZXN0RGF0YTsKKworc3RhdGljIFBlcm1pc3Npb25SZXF1ZXN0
RGF0YSAqcGVybWlzc2lvblJlcXVlc3REYXRhTmV3KEJyb3dzZXJUYWIgKnRhYiwgV2ViS2l0UGVy
bWlzc2lvblJlcXVlc3QgKnJlcXVlc3QsIGNvbnN0IGdjaGFyICpvcmlnaW4pCit7CisgICAgUGVy
bWlzc2lvblJlcXVlc3REYXRhICpkYXRhID0gZ19tYWxsb2MwKHNpemVvZihQZXJtaXNzaW9uUmVx
dWVzdERhdGEpKTsKKworICAgIGRhdGEtPnRhYiA9IGdfb2JqZWN0X3JlZih0YWIpOworICAgIGRh
dGEtPnJlcXVlc3QgPSBnX29iamVjdF9yZWYocmVxdWVzdCk7CisgICAgZGF0YS0+b3JpZ2luID0g
Z19zdHJkdXAob3JpZ2luKTsKKworICAgIHJldHVybiBkYXRhOworfQorCitzdGF0aWMgdm9pZCBw
ZXJtaXNzaW9uUmVxdWVzdERhdGFGcmVlKFBlcm1pc3Npb25SZXF1ZXN0RGF0YSAqZGF0YSkKK3sK
KyAgICBnX2NsZWFyX29iamVjdCgmZGF0YS0+dGFiKTsKKyAgICBnX2NsZWFyX29iamVjdCgmZGF0
YS0+cmVxdWVzdCk7CisgICAgZ19jbGVhcl9wb2ludGVyKCZkYXRhLT5vcmlnaW4sIGdfZnJlZSk7
CisgICAgZ19mcmVlKGRhdGEpOworfQorCiBzdGF0aWMgdm9pZCB0aXRsZUNoYW5nZWQoV2ViS2l0
V2ViVmlldyAqd2ViVmlldywgR1BhcmFtU3BlYyAqcHNwZWMsIEJyb3dzZXJUYWIgKnRhYikKIHsK
ICAgICBjb25zdCBjaGFyICp0aXRsZSA9IHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmll
dyk7CkBAIC0xNzIsMTkgKzE5OSwyNCBAQCBzdGF0aWMgZ2Jvb2xlYW4gbG9hZEZhaWxlZFdpdGhU
TFNlcnJvcnMoV2ViS2l0V2ViVmlldyAqd2ViVmlldywgY29uc3QgY2hhciAqZmFpbAogICAgIHJl
dHVybiBUUlVFOwogfQogCi1zdGF0aWMgdm9pZCBwZXJtaXNzaW9uUmVxdWVzdERpYWxvZ1Jlc3Bv
bnNlKEd0a1dpZGdldCAqZGlhbG9nLCBnaW50IHJlc3BvbnNlLCBXZWJLaXRQZXJtaXNzaW9uUmVx
dWVzdCAqcmVxdWVzdCkKK3N0YXRpYyB2b2lkIHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9u
c2UoR3RrV2lkZ2V0ICpkaWFsb2csIGdpbnQgcmVzcG9uc2UsIFBlcm1pc3Npb25SZXF1ZXN0RGF0
YSAqcmVxdWVzdERhdGEpCiB7CiAgICAgc3dpdGNoIChyZXNwb25zZSkgewogICAgIGNhc2UgR1RL
X1JFU1BPTlNFX1lFUzoKLSAgICAgICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdyhy
ZXF1ZXN0KTsKKyAgICAgICAgaWYgKFdFQktJVF9JU19VU0VSX01FRElBX1BFUk1JU1NJT05fUkVR
VUVTVChyZXF1ZXN0RGF0YS0+cmVxdWVzdCkpCisgICAgICAgICAgICBnX2hhc2hfdGFibGVfYWRk
KHJlcXVlc3REYXRhLT50YWItPnVzZXJNZWRpYUFjY2Vzc1Blcm1pc3Npb25zLCBnX3N0cmR1cChy
ZXF1ZXN0RGF0YS0+b3JpZ2luKSk7CisKKyAgICAgICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVz
dF9hbGxvdyhyZXF1ZXN0RGF0YS0+cmVxdWVzdCk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1
bHQ6Ci0gICAgICAgIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZGVueShyZXF1ZXN0KTsKKyAg
ICAgICAgaWYgKFdFQktJVF9JU19VU0VSX01FRElBX1BFUk1JU1NJT05fUkVRVUVTVChyZXF1ZXN0
RGF0YS0+cmVxdWVzdCkpCisgICAgICAgICAgICBnX2hhc2hfdGFibGVfcmVtb3ZlKHJlcXVlc3RE
YXRhLT50YWItPnVzZXJNZWRpYUFjY2Vzc1Blcm1pc3Npb25zLCByZXF1ZXN0RGF0YS0+b3JpZ2lu
KTsKKyAgICAgICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55KHJlcXVlc3REYXRhLT5y
ZXF1ZXN0KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgZ3RrX3dpZGdldF9kZXN0cm95
KGRpYWxvZyk7Ci0gICAgZ19vYmplY3RfdW5yZWYocmVxdWVzdCk7CisgICAgZ19jbGVhcl9wb2lu
dGVyKCZyZXF1ZXN0RGF0YSwgcGVybWlzc2lvblJlcXVlc3REYXRhRnJlZSk7CiB9CiAKIHN0YXRp
YyBnYm9vbGVhbiBkZWNpZGVQZXJtaXNzaW9uUmVxdWVzdChXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3
LCBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCAqcmVxdWVzdCwgQnJvd3NlclRhYiAqdGFiKQpAQCAt
MjE1LDEyICsyNDcsMTcgQEAgc3RhdGljIGdib29sZWFuIGRlY2lkZVBlcm1pc3Npb25SZXF1ZXN0
KFdlYktpdFdlYlZpZXcgKndlYlZpZXcsIFdlYktpdFBlcm1pc3Npb24KICAgICAgICAgdGl0bGUg
PSAiTWVkaWEgcGx1Z2luIG1pc3NpbmcgcmVxdWVzdCI7CiAgICAgICAgIHRleHQgPSBnX3N0cmR1
cF9wcmludGYoIlRoZSBtZWRpYSBiYWNrZW5kIHdhcyB1bmFibGUgdG8gZmluZCBhIHBsdWdpbiB0
byBwbGF5IHRoZSByZXF1ZXN0ZWQgbWVkaWE6XG4lcy5cbkFsbG93IHRvIHNlYXJjaCBhbmQgaW5z
dGFsbCB0aGUgbWlzc2luZyBwbHVnaW4/IiwKICAgICAgICAgICAgIHdlYmtpdF9pbnN0YWxsX21p
c3NpbmdfbWVkaWFfcGx1Z2luc19wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X2Rlc2NyaXB0aW9uKFdF
QktJVF9JTlNUQUxMX01JU1NJTkdfTUVESUFfUExVR0lOU19QRVJNSVNTSU9OX1JFUVVFU1QocmVx
dWVzdCkpKTsKLSAgICB9IGVsc2UKKyAgICB9IGVsc2UgaWYgKFdFQktJVF9JU19ERVZJQ0VfSU5G
T19QRVJNSVNTSU9OX1JFUVVFU1QocmVxdWVzdCkpCisgICAgICAgIHJldHVybiBnX2hhc2hfdGFi
bGVfY29udGFpbnModGFiLT51c2VyTWVkaWFBY2Nlc3NQZXJtaXNzaW9ucywgd2Via2l0X3dlYl92
aWV3X2dldF91cmkod2ViVmlldykpOworICAgIGVsc2UgeworICAgICAgICBnX3ByaW50KCIlcyBy
ZXF1ZXN0IG5vdCBoYW5kbGVkXG4iLCBHX09CSkVDVF9UWVBFX05BTUUocmVxdWVzdCkpOwogICAg
ICAgICByZXR1cm4gRkFMU0U7CisgICAgfQogCiAgICAgR3RrV2lkZ2V0ICpkaWFsb2cgPSBjcmVh
dGVJbmZvQmFyUXVlc3Rpb25NZXNzYWdlKHRpdGxlLCB0ZXh0KTsKICAgICBnX2ZyZWUodGV4dCk7
Ci0gICAgZ19zaWduYWxfY29ubmVjdChkaWFsb2csICJyZXNwb25zZSIsIEdfQ0FMTEJBQ0socGVy
bWlzc2lvblJlcXVlc3REaWFsb2dSZXNwb25zZSksIGdfb2JqZWN0X3JlZihyZXF1ZXN0KSk7Cisg
ICAgZ19zaWduYWxfY29ubmVjdChkaWFsb2csICJyZXNwb25zZSIsIEdfQ0FMTEJBQ0socGVybWlz
c2lvblJlcXVlc3REaWFsb2dSZXNwb25zZSksIHBlcm1pc3Npb25SZXF1ZXN0RGF0YU5ldyh0YWIs
IHJlcXVlc3QsCisgICAgICAgIHdlYmtpdF93ZWJfdmlld19nZXRfdXJpKHdlYlZpZXcpKSk7CiAK
ICAgICBndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWCh0YWIpLCBkaWFsb2csIEZBTFNFLCBGQUxT
RSwgMCk7CiAgICAgZ3RrX2JveF9yZW9yZGVyX2NoaWxkKEdUS19CT1godGFiKSwgZGlhbG9nLCAw
KTsKQEAgLTMwOSw2ICszNDYsMTUgQEAgc3RhdGljIHZvaWQgYnJvd3NlclRhYkZpbmFsaXplKEdP
YmplY3QgKmdPYmplY3QpCiAgICAgR19PQkpFQ1RfQ0xBU1MoYnJvd3Nlcl90YWJfcGFyZW50X2Ns
YXNzKS0+ZmluYWxpemUoZ09iamVjdCk7CiB9CiAKK3N0YXRpYyB2b2lkIGJyb3dzZXJUYWJEaXNw
b3NlKEdPYmplY3QgKmdPYmplY3QpCit7CisgICAgQnJvd3NlclRhYiAqdGFiID0gQlJPV1NFUl9U
QUIoZ09iamVjdCk7CisKKyAgICBnX2hhc2hfdGFibGVfdW5yZWYodGFiLT51c2VyTWVkaWFBY2Nl
c3NQZXJtaXNzaW9ucyk7CisKKyAgICBHX09CSkVDVF9DTEFTUyhicm93c2VyX3RhYl9wYXJlbnRf
Y2xhc3MpLT5kaXNwb3NlKGdPYmplY3QpOworfQorCiBzdGF0aWMgdm9pZCBicm93c2VyX3RhYl9p
bml0KEJyb3dzZXJUYWIgKnRhYikKIHsKICAgICBndGtfb3JpZW50YWJsZV9zZXRfb3JpZW50YXRp
b24oR1RLX09SSUVOVEFCTEUodGFiKSwgR1RLX09SSUVOVEFUSU9OX1ZFUlRJQ0FMKTsKQEAgLTM5
MSw2ICs0MzcsOCBAQCBzdGF0aWMgdm9pZCBicm93c2VyVGFiQ29uc3RydWN0ZWQoR09iamVjdCAq
Z09iamVjdCkKIAogICAgIGlmICh3ZWJraXRfd2ViX3ZpZXdfaXNfZWRpdGFibGUodGFiLT53ZWJW
aWV3KSkKICAgICAgICAgd2Via2l0X3dlYl92aWV3X2xvYWRfaHRtbCh0YWItPndlYlZpZXcsICI8
aHRtbD48L2h0bWw+IiwgImZpbGU6Ly8vIik7CisKKyAgICB0YWItPnVzZXJNZWRpYUFjY2Vzc1Bl
cm1pc3Npb25zID0gZ19oYXNoX3RhYmxlX25ld19mdWxsKGdfc3RyX2hhc2gsIGdfc3RyX2VxdWFs
LCBnX2ZyZWUsIE5VTEwpOwogfQogCiBzdGF0aWMgdm9pZCBicm93c2VyX3RhYl9jbGFzc19pbml0
KEJyb3dzZXJUYWJDbGFzcyAqa2xhc3MpCkBAIC0zOTksNiArNDQ3LDcgQEAgc3RhdGljIHZvaWQg
YnJvd3Nlcl90YWJfY2xhc3NfaW5pdChCcm93c2VyVGFiQ2xhc3MgKmtsYXNzKQogICAgIGdvYmpl
Y3RDbGFzcy0+Y29uc3RydWN0ZWQgPSBicm93c2VyVGFiQ29uc3RydWN0ZWQ7CiAgICAgZ29iamVj
dENsYXNzLT5zZXRfcHJvcGVydHkgPSBicm93c2VyVGFiU2V0UHJvcGVydHk7CiAgICAgZ29iamVj
dENsYXNzLT5maW5hbGl6ZSA9IGJyb3dzZXJUYWJGaW5hbGl6ZTsKKyAgICBnb2JqZWN0Q2xhc3Mt
PmRpc3Bvc2UgPSBicm93c2VyVGFiRGlzcG9zZTsKIAogICAgIGdfb2JqZWN0X2NsYXNzX2luc3Rh
bGxfcHJvcGVydHkoCiAgICAgICAgIGdvYmplY3RDbGFzcywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355052</attachid>
            <date>2018-11-16 06:17:53 -0800</date>
            <delta_ts>2018-11-22 04:29:44 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-191585-20181116111752.patch</filename>
            <type>text/plain</type>
            <size>6021</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4Mjc4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWVlMTBjZTVkODFkNWUyOGFiOTkwOGZiZTliOWYwNjBm
NWM1MTJhOS4uZDNmNDQ1NThlZTdhYWExMmJhZjBiMjk3YzMzYmU0MDZjMjQyYzFhNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE4LTExLTEzICBUaGliYXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXVtNaW5pQnJvd3Nlcl0gSGFuZGxlIERldmljZSBJbmZvIHBlcm1pc3Np
b24gcmVxdWVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MTU4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJUYWIuYzoKKyAgICAgICAgKHBlcm1pc3Npb25S
ZXF1ZXN0RGF0YU5ldyk6CisgICAgICAgIChwZXJtaXNzaW9uUmVxdWVzdERhdGFGcmVlKToKKyAg
ICAgICAgKHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9uc2UpOgorICAgICAgICAoZGVjaWRl
UGVybWlzc2lvblJlcXVlc3QpOgorICAgICAgICAoYnJvd3NlclRhYkNvbnN0cnVjdGVkKToKKwog
MjAxOC0xMC0xNyAgVGhpYmF1bHQgU2F1bmllciAgPHRzYXVuaWVyQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0ZsYXRwYWtdIERvIG5vdCBkaXNhYmxlIHNpZ25hbHMgd2hlbiBydW5uaW5nICJ1c3Vh
bCIgY29tbWFuZHMKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyVGFi
LmMgYi9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclRhYi5jCmluZGV4IGE2YjJlYTQyZTAw
YmRjOGYzZWRiODE4ZDcxZTcyMjBmNDYzM2QwY2YuLjgzMGIxZWQzM2JlOGJkNWE3NWYwMjQ3YzI2
Y2IxZmExYTQyZTJlMzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2Vy
VGFiLmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJUYWIuYwpAQCAtNTQsNiAr
NTQsOCBAQCBzdHJ1Y3QgX0Jyb3dzZXJUYWIgewogICAgIEd0a1dpZGdldCAqdGl0bGVMYWJlbDsK
ICAgICBHdGtXaWRnZXQgKnRpdGxlU3Bpbm5lcjsKICAgICBHdGtXaWRnZXQgKnRpdGxlQ2xvc2VC
dXR0b247CisKKyAgICBHSGFzaFRhYmxlICp1c2VyTWVkaWFBY2Nlc3NQZXJtaXNzaW9uczsKIH07
CiAKIHN0cnVjdCBfQnJvd3NlclRhYkNsYXNzIHsKQEAgLTYyLDYgKzY0LDMxIEBAIHN0cnVjdCBf
QnJvd3NlclRhYkNsYXNzIHsKIAogR19ERUZJTkVfVFlQRShCcm93c2VyVGFiLCBicm93c2VyX3Rh
YiwgR1RLX1RZUEVfQk9YKQogCit0eXBlZGVmIHN0cnVjdCB7CisgICAgQnJvd3NlclRhYiAqdGFi
OworICAgIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0ICpyZXF1ZXN0OworICAgIGdjaGFyICpvcmln
aW47Cit9IFBlcm1pc3Npb25SZXF1ZXN0RGF0YTsKKworc3RhdGljIFBlcm1pc3Npb25SZXF1ZXN0
RGF0YSAqcGVybWlzc2lvblJlcXVlc3REYXRhTmV3KEJyb3dzZXJUYWIgKnRhYiwgV2ViS2l0UGVy
bWlzc2lvblJlcXVlc3QgKnJlcXVlc3QsIGNvbnN0IGdjaGFyICpvcmlnaW4pCit7CisgICAgUGVy
bWlzc2lvblJlcXVlc3REYXRhICpkYXRhID0gZ19tYWxsb2MwKHNpemVvZihQZXJtaXNzaW9uUmVx
dWVzdERhdGEpKTsKKworICAgIGRhdGEtPnRhYiA9IGdfb2JqZWN0X3JlZih0YWIpOworICAgIGRh
dGEtPnJlcXVlc3QgPSBnX29iamVjdF9yZWYocmVxdWVzdCk7CisgICAgZGF0YS0+b3JpZ2luID0g
Z19zdHJkdXAob3JpZ2luKTsKKworICAgIHJldHVybiBkYXRhOworfQorCitzdGF0aWMgdm9pZCBw
ZXJtaXNzaW9uUmVxdWVzdERhdGFGcmVlKFBlcm1pc3Npb25SZXF1ZXN0RGF0YSAqZGF0YSkKK3sK
KyAgICBnX2NsZWFyX29iamVjdCgmZGF0YS0+dGFiKTsKKyAgICBnX2NsZWFyX29iamVjdCgmZGF0
YS0+cmVxdWVzdCk7CisgICAgZ19jbGVhcl9wb2ludGVyKCZkYXRhLT5vcmlnaW4sIGdfZnJlZSk7
CisgICAgZ19mcmVlKGRhdGEpOworfQorCiBzdGF0aWMgdm9pZCB0aXRsZUNoYW5nZWQoV2ViS2l0
V2ViVmlldyAqd2ViVmlldywgR1BhcmFtU3BlYyAqcHNwZWMsIEJyb3dzZXJUYWIgKnRhYikKIHsK
ICAgICBjb25zdCBjaGFyICp0aXRsZSA9IHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmll
dyk7CkBAIC0xNzIsMTkgKzE5OSwyNCBAQCBzdGF0aWMgZ2Jvb2xlYW4gbG9hZEZhaWxlZFdpdGhU
TFNlcnJvcnMoV2ViS2l0V2ViVmlldyAqd2ViVmlldywgY29uc3QgY2hhciAqZmFpbAogICAgIHJl
dHVybiBUUlVFOwogfQogCi1zdGF0aWMgdm9pZCBwZXJtaXNzaW9uUmVxdWVzdERpYWxvZ1Jlc3Bv
bnNlKEd0a1dpZGdldCAqZGlhbG9nLCBnaW50IHJlc3BvbnNlLCBXZWJLaXRQZXJtaXNzaW9uUmVx
dWVzdCAqcmVxdWVzdCkKK3N0YXRpYyB2b2lkIHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9u
c2UoR3RrV2lkZ2V0ICpkaWFsb2csIGdpbnQgcmVzcG9uc2UsIFBlcm1pc3Npb25SZXF1ZXN0RGF0
YSAqcmVxdWVzdERhdGEpCiB7CiAgICAgc3dpdGNoIChyZXNwb25zZSkgewogICAgIGNhc2UgR1RL
X1JFU1BPTlNFX1lFUzoKLSAgICAgICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdyhy
ZXF1ZXN0KTsKKyAgICAgICAgaWYgKFdFQktJVF9JU19VU0VSX01FRElBX1BFUk1JU1NJT05fUkVR
VUVTVChyZXF1ZXN0RGF0YS0+cmVxdWVzdCkpCisgICAgICAgICAgICBnX2hhc2hfdGFibGVfYWRk
KHJlcXVlc3REYXRhLT50YWItPnVzZXJNZWRpYUFjY2Vzc1Blcm1pc3Npb25zLCBnX3N0cmR1cChy
ZXF1ZXN0RGF0YS0+b3JpZ2luKSk7CisKKyAgICAgICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVz
dF9hbGxvdyhyZXF1ZXN0RGF0YS0+cmVxdWVzdCk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1
bHQ6Ci0gICAgICAgIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZGVueShyZXF1ZXN0KTsKKyAg
ICAgICAgaWYgKFdFQktJVF9JU19VU0VSX01FRElBX1BFUk1JU1NJT05fUkVRVUVTVChyZXF1ZXN0
RGF0YS0+cmVxdWVzdCkpCisgICAgICAgICAgICBnX2hhc2hfdGFibGVfcmVtb3ZlKHJlcXVlc3RE
YXRhLT50YWItPnVzZXJNZWRpYUFjY2Vzc1Blcm1pc3Npb25zLCByZXF1ZXN0RGF0YS0+b3JpZ2lu
KTsKKyAgICAgICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55KHJlcXVlc3REYXRhLT5y
ZXF1ZXN0KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgZ3RrX3dpZGdldF9kZXN0cm95
KGRpYWxvZyk7Ci0gICAgZ19vYmplY3RfdW5yZWYocmVxdWVzdCk7CisgICAgZ19jbGVhcl9wb2lu
dGVyKCZyZXF1ZXN0RGF0YSwgcGVybWlzc2lvblJlcXVlc3REYXRhRnJlZSk7CiB9CiAKIHN0YXRp
YyBnYm9vbGVhbiBkZWNpZGVQZXJtaXNzaW9uUmVxdWVzdChXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3
LCBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCAqcmVxdWVzdCwgQnJvd3NlclRhYiAqdGFiKQpAQCAt
MjE1LDEyICsyNDcsMTcgQEAgc3RhdGljIGdib29sZWFuIGRlY2lkZVBlcm1pc3Npb25SZXF1ZXN0
KFdlYktpdFdlYlZpZXcgKndlYlZpZXcsIFdlYktpdFBlcm1pc3Npb24KICAgICAgICAgdGl0bGUg
PSAiTWVkaWEgcGx1Z2luIG1pc3NpbmcgcmVxdWVzdCI7CiAgICAgICAgIHRleHQgPSBnX3N0cmR1
cF9wcmludGYoIlRoZSBtZWRpYSBiYWNrZW5kIHdhcyB1bmFibGUgdG8gZmluZCBhIHBsdWdpbiB0
byBwbGF5IHRoZSByZXF1ZXN0ZWQgbWVkaWE6XG4lcy5cbkFsbG93IHRvIHNlYXJjaCBhbmQgaW5z
dGFsbCB0aGUgbWlzc2luZyBwbHVnaW4/IiwKICAgICAgICAgICAgIHdlYmtpdF9pbnN0YWxsX21p
c3NpbmdfbWVkaWFfcGx1Z2luc19wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X2Rlc2NyaXB0aW9uKFdF
QktJVF9JTlNUQUxMX01JU1NJTkdfTUVESUFfUExVR0lOU19QRVJNSVNTSU9OX1JFUVVFU1QocmVx
dWVzdCkpKTsKLSAgICB9IGVsc2UKKyAgICB9IGVsc2UgaWYgKFdFQktJVF9JU19ERVZJQ0VfSU5G
T19QRVJNSVNTSU9OX1JFUVVFU1QocmVxdWVzdCkpCisgICAgICAgIHJldHVybiBnX2hhc2hfdGFi
bGVfY29udGFpbnModGFiLT51c2VyTWVkaWFBY2Nlc3NQZXJtaXNzaW9ucywgd2Via2l0X3dlYl92
aWV3X2dldF91cmkod2ViVmlldykpOworICAgIGVsc2UgeworICAgICAgICBnX3ByaW50KCIlcyBy
ZXF1ZXN0IG5vdCBoYW5kbGVkXG4iLCBHX09CSkVDVF9UWVBFX05BTUUocmVxdWVzdCkpOwogICAg
ICAgICByZXR1cm4gRkFMU0U7CisgICAgfQogCiAgICAgR3RrV2lkZ2V0ICpkaWFsb2cgPSBjcmVh
dGVJbmZvQmFyUXVlc3Rpb25NZXNzYWdlKHRpdGxlLCB0ZXh0KTsKICAgICBnX2ZyZWUodGV4dCk7
Ci0gICAgZ19zaWduYWxfY29ubmVjdChkaWFsb2csICJyZXNwb25zZSIsIEdfQ0FMTEJBQ0socGVy
bWlzc2lvblJlcXVlc3REaWFsb2dSZXNwb25zZSksIGdfb2JqZWN0X3JlZihyZXF1ZXN0KSk7Cisg
ICAgZ19zaWduYWxfY29ubmVjdChkaWFsb2csICJyZXNwb25zZSIsIEdfQ0FMTEJBQ0socGVybWlz
c2lvblJlcXVlc3REaWFsb2dSZXNwb25zZSksIHBlcm1pc3Npb25SZXF1ZXN0RGF0YU5ldyh0YWIs
IHJlcXVlc3QsCisgICAgICAgIHdlYmtpdF93ZWJfdmlld19nZXRfdXJpKHdlYlZpZXcpKSk7CiAK
ICAgICBndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWCh0YWIpLCBkaWFsb2csIEZBTFNFLCBGQUxT
RSwgMCk7CiAgICAgZ3RrX2JveF9yZW9yZGVyX2NoaWxkKEdUS19CT1godGFiKSwgZGlhbG9nLCAw
KTsKQEAgLTMwOSw2ICszNDYsMTUgQEAgc3RhdGljIHZvaWQgYnJvd3NlclRhYkZpbmFsaXplKEdP
YmplY3QgKmdPYmplY3QpCiAgICAgR19PQkpFQ1RfQ0xBU1MoYnJvd3Nlcl90YWJfcGFyZW50X2Ns
YXNzKS0+ZmluYWxpemUoZ09iamVjdCk7CiB9CiAKK3N0YXRpYyB2b2lkIGJyb3dzZXJUYWJEaXNw
b3NlKEdPYmplY3QgKmdPYmplY3QpCit7CisgICAgQnJvd3NlclRhYiAqdGFiID0gQlJPV1NFUl9U
QUIoZ09iamVjdCk7CisKKyAgICBnX2hhc2hfdGFibGVfdW5yZWYodGFiLT51c2VyTWVkaWFBY2Nl
c3NQZXJtaXNzaW9ucyk7CisKKyAgICBHX09CSkVDVF9DTEFTUyhicm93c2VyX3RhYl9wYXJlbnRf
Y2xhc3MpLT5kaXNwb3NlKGdPYmplY3QpOworfQorCiBzdGF0aWMgdm9pZCBicm93c2VyX3RhYl9p
bml0KEJyb3dzZXJUYWIgKnRhYikKIHsKICAgICBndGtfb3JpZW50YWJsZV9zZXRfb3JpZW50YXRp
b24oR1RLX09SSUVOVEFCTEUodGFiKSwgR1RLX09SSUVOVEFUSU9OX1ZFUlRJQ0FMKTsKQEAgLTM5
MSw2ICs0MzcsOCBAQCBzdGF0aWMgdm9pZCBicm93c2VyVGFiQ29uc3RydWN0ZWQoR09iamVjdCAq
Z09iamVjdCkKIAogICAgIGlmICh3ZWJraXRfd2ViX3ZpZXdfaXNfZWRpdGFibGUodGFiLT53ZWJW
aWV3KSkKICAgICAgICAgd2Via2l0X3dlYl92aWV3X2xvYWRfaHRtbCh0YWItPndlYlZpZXcsICI8
aHRtbD48L2h0bWw+IiwgImZpbGU6Ly8vIik7CisKKyAgICB0YWItPnVzZXJNZWRpYUFjY2Vzc1Bl
cm1pc3Npb25zID0gZ19oYXNoX3RhYmxlX25ld19mdWxsKGdfc3RyX2hhc2gsIGdfc3RyX2VxdWFs
LCBnX2ZyZWUsIE5VTEwpOwogfQogCiBzdGF0aWMgdm9pZCBicm93c2VyX3RhYl9jbGFzc19pbml0
KEJyb3dzZXJUYWJDbGFzcyAqa2xhc3MpCkBAIC0zOTksNiArNDQ3LDcgQEAgc3RhdGljIHZvaWQg
YnJvd3Nlcl90YWJfY2xhc3NfaW5pdChCcm93c2VyVGFiQ2xhc3MgKmtsYXNzKQogICAgIGdvYmpl
Y3RDbGFzcy0+Y29uc3RydWN0ZWQgPSBicm93c2VyVGFiQ29uc3RydWN0ZWQ7CiAgICAgZ29iamVj
dENsYXNzLT5zZXRfcHJvcGVydHkgPSBicm93c2VyVGFiU2V0UHJvcGVydHk7CiAgICAgZ29iamVj
dENsYXNzLT5maW5hbGl6ZSA9IGJyb3dzZXJUYWJGaW5hbGl6ZTsKKyAgICBnb2JqZWN0Q2xhc3Mt
PmRpc3Bvc2UgPSBicm93c2VyVGFiRGlzcG9zZTsKIAogICAgIGdfb2JqZWN0X2NsYXNzX2luc3Rh
bGxfcHJvcGVydHkoCiAgICAgICAgIGdvYmplY3RDbGFzcywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355466</attachid>
            <date>2018-11-22 04:29:49 -0800</date>
            <delta_ts>2018-11-29 06:55:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191585-20181122092948.patch</filename>
            <type>text/plain</type>
            <size>5143</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NDE0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDdiOWI5OTM4MjVkMzgzZDE1ODUxYjM2ZDQzNjVjYjBh
MWQzNjRiOC4uYzY0M2ExODQ0NTNiMTg3NTg3YTQ2MzI5MDllZDkzMzgxNDZhMGNlMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE4LTExLTEzICBUaGliYXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXVtNaW5pQnJvd3Nlcl0gSGFuZGxlIERldmljZSBJbmZvIHBlcm1pc3Np
b24gcmVxdWVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MTU4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJUYWIuYzoKKyAgICAgICAgKHBlcm1pc3Npb25S
ZXF1ZXN0RGF0YU5ldyk6CisgICAgICAgIChwZXJtaXNzaW9uUmVxdWVzdERhdGFGcmVlKToKKyAg
ICAgICAgKHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9uc2UpOgorICAgICAgICAoZGVjaWRl
UGVybWlzc2lvblJlcXVlc3QpOgorICAgICAgICAoYnJvd3NlclRhYkNvbnN0cnVjdGVkKToKKwog
MjAxOC0xMC0xNyAgVGhpYmF1bHQgU2F1bmllciAgPHRzYXVuaWVyQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0ZsYXRwYWtdIERvIG5vdCBkaXNhYmxlIHNpZ25hbHMgd2hlbiBydW5uaW5nICJ1c3Vh
bCIgY29tbWFuZHMKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyVGFi
LmMgYi9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclRhYi5jCmluZGV4IGE2YjJlYTQyZTAw
YmRjOGYzZWRiODE4ZDcxZTcyMjBmNDYzM2QwY2YuLjRjZGIzZmZkMzQ3NjcxZmM2ZWYxYTA2YjQz
M2FjYjdlZGIwMTExOTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2Vy
VGFiLmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJUYWIuYwpAQCAtNTYsMTIg
KzU2LDM1IEBAIHN0cnVjdCBfQnJvd3NlclRhYiB7CiAgICAgR3RrV2lkZ2V0ICp0aXRsZUNsb3Nl
QnV0dG9uOwogfTsKIAorc3RhdGljIEdIYXNoVGFibGUgKnVzZXJNZWRpYUFjY2Vzc1Blcm1pc3Np
b25zOwogc3RydWN0IF9Ccm93c2VyVGFiQ2xhc3MgewogICAgIEd0a0JveENsYXNzIHBhcmVudDsK
IH07CiAKIEdfREVGSU5FX1RZUEUoQnJvd3NlclRhYiwgYnJvd3Nlcl90YWIsIEdUS19UWVBFX0JP
WCkKIAordHlwZWRlZiBzdHJ1Y3QgeworICAgIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0ICpyZXF1
ZXN0OworICAgIGdjaGFyICpvcmlnaW47Cit9IFBlcm1pc3Npb25SZXF1ZXN0RGF0YTsKKworc3Rh
dGljIFBlcm1pc3Npb25SZXF1ZXN0RGF0YSAqcGVybWlzc2lvblJlcXVlc3REYXRhTmV3KFdlYktp
dFBlcm1pc3Npb25SZXF1ZXN0ICpyZXF1ZXN0LCBjb25zdCBnY2hhciAqb3JpZ2luKQoreworICAg
IFBlcm1pc3Npb25SZXF1ZXN0RGF0YSAqZGF0YSA9IGdfbWFsbG9jMChzaXplb2YoUGVybWlzc2lv
blJlcXVlc3REYXRhKSk7CisKKyAgICBkYXRhLT5yZXF1ZXN0ID0gZ19vYmplY3RfcmVmKHJlcXVl
c3QpOworICAgIGRhdGEtPm9yaWdpbiA9IGdfc3RyZHVwKG9yaWdpbik7CisKKyAgICByZXR1cm4g
ZGF0YTsKK30KKworc3RhdGljIHZvaWQgcGVybWlzc2lvblJlcXVlc3REYXRhRnJlZShQZXJtaXNz
aW9uUmVxdWVzdERhdGEgKmRhdGEpCit7CisgICAgZ19jbGVhcl9vYmplY3QoJmRhdGEtPnJlcXVl
c3QpOworICAgIGdfY2xlYXJfcG9pbnRlcigmZGF0YS0+b3JpZ2luLCBnX2ZyZWUpOworICAgIGdf
ZnJlZShkYXRhKTsKK30KKwogc3RhdGljIHZvaWQgdGl0bGVDaGFuZ2VkKFdlYktpdFdlYlZpZXcg
KndlYlZpZXcsIEdQYXJhbVNwZWMgKnBzcGVjLCBCcm93c2VyVGFiICp0YWIpCiB7CiAgICAgY29u
c3QgY2hhciAqdGl0bGUgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxlKHdlYlZpZXcpOwpAQCAt
MTcyLDE5ICsxOTUsMjQgQEAgc3RhdGljIGdib29sZWFuIGxvYWRGYWlsZWRXaXRoVExTZXJyb3Jz
KFdlYktpdFdlYlZpZXcgKndlYlZpZXcsIGNvbnN0IGNoYXIgKmZhaWwKICAgICByZXR1cm4gVFJV
RTsKIH0KIAotc3RhdGljIHZvaWQgcGVybWlzc2lvblJlcXVlc3REaWFsb2dSZXNwb25zZShHdGtX
aWRnZXQgKmRpYWxvZywgZ2ludCByZXNwb25zZSwgV2ViS2l0UGVybWlzc2lvblJlcXVlc3QgKnJl
cXVlc3QpCitzdGF0aWMgdm9pZCBwZXJtaXNzaW9uUmVxdWVzdERpYWxvZ1Jlc3BvbnNlKEd0a1dp
ZGdldCAqZGlhbG9nLCBnaW50IHJlc3BvbnNlLCBQZXJtaXNzaW9uUmVxdWVzdERhdGEgKnJlcXVl
c3REYXRhKQogewogICAgIHN3aXRjaCAocmVzcG9uc2UpIHsKICAgICBjYXNlIEdUS19SRVNQT05T
RV9ZRVM6Ci0gICAgICAgIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfYWxsb3cocmVxdWVzdCk7
CisgICAgICAgIGlmIChXRUJLSVRfSVNfVVNFUl9NRURJQV9QRVJNSVNTSU9OX1JFUVVFU1QocmVx
dWVzdERhdGEtPnJlcXVlc3QpKQorICAgICAgICAgICAgZ19oYXNoX3RhYmxlX2FkZCh1c2VyTWVk
aWFBY2Nlc3NQZXJtaXNzaW9ucywgZ19zdHJkdXAocmVxdWVzdERhdGEtPm9yaWdpbikpOworCisg
ICAgICAgIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfYWxsb3cocmVxdWVzdERhdGEtPnJlcXVl
c3QpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAgICB3ZWJraXRfcGVybWlz
c2lvbl9yZXF1ZXN0X2RlbnkocmVxdWVzdCk7CisgICAgICAgIGlmIChXRUJLSVRfSVNfVVNFUl9N
RURJQV9QRVJNSVNTSU9OX1JFUVVFU1QocmVxdWVzdERhdGEtPnJlcXVlc3QpKQorICAgICAgICAg
ICAgZ19oYXNoX3RhYmxlX3JlbW92ZSh1c2VyTWVkaWFBY2Nlc3NQZXJtaXNzaW9ucywgcmVxdWVz
dERhdGEtPm9yaWdpbik7CisgICAgICAgIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZGVueShy
ZXF1ZXN0RGF0YS0+cmVxdWVzdCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIGd0a193
aWRnZXRfZGVzdHJveShkaWFsb2cpOwotICAgIGdfb2JqZWN0X3VucmVmKHJlcXVlc3QpOworICAg
IGdfY2xlYXJfcG9pbnRlcigmcmVxdWVzdERhdGEsIHBlcm1pc3Npb25SZXF1ZXN0RGF0YUZyZWUp
OwogfQogCiBzdGF0aWMgZ2Jvb2xlYW4gZGVjaWRlUGVybWlzc2lvblJlcXVlc3QoV2ViS2l0V2Vi
VmlldyAqd2ViVmlldywgV2ViS2l0UGVybWlzc2lvblJlcXVlc3QgKnJlcXVlc3QsIEJyb3dzZXJU
YWIgKnRhYikKQEAgLTIxNSwxMiArMjQzLDIyIEBAIHN0YXRpYyBnYm9vbGVhbiBkZWNpZGVQZXJt
aXNzaW9uUmVxdWVzdChXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3LCBXZWJLaXRQZXJtaXNzaW9uCiAg
ICAgICAgIHRpdGxlID0gIk1lZGlhIHBsdWdpbiBtaXNzaW5nIHJlcXVlc3QiOwogICAgICAgICB0
ZXh0ID0gZ19zdHJkdXBfcHJpbnRmKCJUaGUgbWVkaWEgYmFja2VuZCB3YXMgdW5hYmxlIHRvIGZp
bmQgYSBwbHVnaW4gdG8gcGxheSB0aGUgcmVxdWVzdGVkIG1lZGlhOlxuJXMuXG5BbGxvdyB0byBz
ZWFyY2ggYW5kIGluc3RhbGwgdGhlIG1pc3NpbmcgcGx1Z2luPyIsCiAgICAgICAgICAgICB3ZWJr
aXRfaW5zdGFsbF9taXNzaW5nX21lZGlhX3BsdWdpbnNfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF9k
ZXNjcmlwdGlvbihXRUJLSVRfSU5TVEFMTF9NSVNTSU5HX01FRElBX1BMVUdJTlNfUEVSTUlTU0lP
Tl9SRVFVRVNUKHJlcXVlc3QpKSk7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIGlmIChXRUJLSVRf
SVNfREVWSUNFX0lORk9fUEVSTUlTU0lPTl9SRVFVRVNUKHJlcXVlc3QpKSB7CisgICAgICAgIGlm
IChnX2hhc2hfdGFibGVfY29udGFpbnModXNlck1lZGlhQWNjZXNzUGVybWlzc2lvbnMsIHdlYmtp
dF93ZWJfdmlld19nZXRfdXJpKHdlYlZpZXcpKSkgeworICAgICAgICAgICAgd2Via2l0X3Blcm1p
c3Npb25fcmVxdWVzdF9hbGxvdyhyZXF1ZXN0KTsKKyAgICAgICAgICAgIHJldHVybiBUUlVFOwor
ICAgICAgICB9CisgICAgICAgIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZGVueShyZXF1ZXN0
KTsKICAgICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0gZWxzZSB7CisgICAgICAgIGdfcHJpbnQo
IiVzIHJlcXVlc3Qgbm90IGhhbmRsZWRcbiIsIEdfT0JKRUNUX1RZUEVfTkFNRShyZXF1ZXN0KSk7
CisgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICB9CiAKICAgICBHdGtXaWRnZXQgKmRpYWxvZyA9
IGNyZWF0ZUluZm9CYXJRdWVzdGlvbk1lc3NhZ2UodGl0bGUsIHRleHQpOwogICAgIGdfZnJlZSh0
ZXh0KTsKLSAgICBnX3NpZ25hbF9jb25uZWN0KGRpYWxvZywgInJlc3BvbnNlIiwgR19DQUxMQkFD
SyhwZXJtaXNzaW9uUmVxdWVzdERpYWxvZ1Jlc3BvbnNlKSwgZ19vYmplY3RfcmVmKHJlcXVlc3Qp
KTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KGRpYWxvZywgInJlc3BvbnNlIiwgR19DQUxMQkFDSyhw
ZXJtaXNzaW9uUmVxdWVzdERpYWxvZ1Jlc3BvbnNlKSwgcGVybWlzc2lvblJlcXVlc3REYXRhTmV3
KHJlcXVlc3QsCisgICAgICAgIHdlYmtpdF93ZWJfdmlld19nZXRfdXJpKHdlYlZpZXcpKSk7CiAK
ICAgICBndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWCh0YWIpLCBkaWFsb2csIEZBTFNFLCBGQUxT
RSwgMCk7CiAgICAgZ3RrX2JveF9yZW9yZGVyX2NoaWxkKEdUS19CT1godGFiKSwgZGlhbG9nLCAw
KTsKQEAgLTQwMCw2ICs0MzgsOSBAQCBzdGF0aWMgdm9pZCBicm93c2VyX3RhYl9jbGFzc19pbml0
KEJyb3dzZXJUYWJDbGFzcyAqa2xhc3MpCiAgICAgZ29iamVjdENsYXNzLT5zZXRfcHJvcGVydHkg
PSBicm93c2VyVGFiU2V0UHJvcGVydHk7CiAgICAgZ29iamVjdENsYXNzLT5maW5hbGl6ZSA9IGJy
b3dzZXJUYWJGaW5hbGl6ZTsKIAorICAgIGlmICghdXNlck1lZGlhQWNjZXNzUGVybWlzc2lvbnMp
CisgICAgICAgIHVzZXJNZWRpYUFjY2Vzc1Blcm1pc3Npb25zID0gZ19oYXNoX3RhYmxlX25ld19m
dWxsKGdfc3RyX2hhc2gsIGdfc3RyX2VxdWFsLCBnX2ZyZWUsIE5VTEwpOworCiAgICAgZ19vYmpl
Y3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKICAgICAgICAgZ29iamVjdENsYXNzLAogICAgICAg
ICBQUk9QX1ZJRVcsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356004</attachid>
            <date>2018-11-29 06:55:47 -0800</date>
            <delta_ts>2018-11-30 05:49:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191585-20181129115546.patch</filename>
            <type>text/plain</type>
            <size>5454</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NjY2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjc0ODlmMjY5MDg0YjVmNWM4NGU0NTQzMWI3ODBiMGZl
YzllNjNjOS4uZGY0MWRhNzg0ZTk1NmIxYWYwZDU1MWVjNjU3NjBhZGE0MTllMzc1NCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE4LTExLTEzICBUaGliYXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXVtNaW5pQnJvd3Nlcl0gSGFuZGxlIERldmljZSBJbmZvIHBlcm1pc3Np
b24gcmVxdWVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MTU4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJUYWIuYzoKKyAgICAgICAgKHBlcm1pc3Npb25S
ZXF1ZXN0RGF0YU5ldyk6CisgICAgICAgIChwZXJtaXNzaW9uUmVxdWVzdERhdGFGcmVlKToKKyAg
ICAgICAgKHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9uc2UpOgorICAgICAgICAoZGVjaWRl
UGVybWlzc2lvblJlcXVlc3QpOgorICAgICAgICAoYnJvd3NlclRhYkNvbnN0cnVjdGVkKToKKwog
MjAxOC0xMS0yOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbaU9TTWFjXSBEcm9wcGluZyB0ZXh0IHNlbGVjdGlvbnMgZnJvbSB3ZWIgY29udGVudCBp
bnRvIGVkaXRhYmxlIGVsZW1lbnRzIGNyYXNoZXMgdGhlIHdlYiBwcm9jZXNzCmRpZmYgLS1naXQg
YS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclRhYi5jIGIvVG9vbHMvTWluaUJyb3dzZXIv
Z3RrL0Jyb3dzZXJUYWIuYwppbmRleCBhNmIyZWE0MmUwMGJkYzhmM2VkYjgxOGQ3MWU3MjIwZjQ2
MzNkMGNmLi45YjI2MDYyODE5MGY2MzQ5ZGU2Y2UzOWJkYzFmMzNkZjQ1YmEyOTdjIDEwMDY0NAot
LS0gYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclRhYi5jCisrKyBiL1Rvb2xzL01pbmlC
cm93c2VyL2d0ay9Ccm93c2VyVGFiLmMKQEAgLTU2LDEyICs1Niw0NCBAQCBzdHJ1Y3QgX0Jyb3dz
ZXJUYWIgewogICAgIEd0a1dpZGdldCAqdGl0bGVDbG9zZUJ1dHRvbjsKIH07CiAKK3N0YXRpYyBH
SGFzaFRhYmxlICp1c2VyTWVkaWFQZXJtaXNzaW9uR3JhbnRlZE9yaWdpbnM7CiBzdHJ1Y3QgX0Jy
b3dzZXJUYWJDbGFzcyB7CiAgICAgR3RrQm94Q2xhc3MgcGFyZW50OwogfTsKIAogR19ERUZJTkVf
VFlQRShCcm93c2VyVGFiLCBicm93c2VyX3RhYiwgR1RLX1RZUEVfQk9YKQogCit0eXBlZGVmIHN0
cnVjdCB7CisgICAgV2ViS2l0UGVybWlzc2lvblJlcXVlc3QgKnJlcXVlc3Q7CisgICAgZ2NoYXIg
Km9yaWdpbjsKK30gUGVybWlzc2lvblJlcXVlc3REYXRhOworCitzdGF0aWMgUGVybWlzc2lvblJl
cXVlc3REYXRhICpwZXJtaXNzaW9uUmVxdWVzdERhdGFOZXcoV2ViS2l0UGVybWlzc2lvblJlcXVl
c3QgKnJlcXVlc3QsIGdjaGFyICpvcmlnaW4pCit7CisgICAgUGVybWlzc2lvblJlcXVlc3REYXRh
ICpkYXRhID0gZ19tYWxsb2MwKHNpemVvZihQZXJtaXNzaW9uUmVxdWVzdERhdGEpKTsKKworICAg
IGRhdGEtPnJlcXVlc3QgPSBnX29iamVjdF9yZWYocmVxdWVzdCk7CisgICAgZGF0YS0+b3JpZ2lu
ID0gb3JpZ2luOworCisgICAgcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyB2b2lkIHBlcm1pc3Np
b25SZXF1ZXN0RGF0YUZyZWUoUGVybWlzc2lvblJlcXVlc3REYXRhICpkYXRhKQoreworICAgIGdf
Y2xlYXJfb2JqZWN0KCZkYXRhLT5yZXF1ZXN0KTsKKyAgICBnX2NsZWFyX3BvaW50ZXIoJmRhdGEt
Pm9yaWdpbiwgZ19mcmVlKTsKKyAgICBnX2ZyZWUoZGF0YSk7Cit9CisKK3N0YXRpYyBnY2hhciAq
Z2V0V2ViVmlld09yaWdpbihXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3KQoreworICAgIFdlYktpdFNl
Y3VyaXR5T3JpZ2luICpvcmlnaW4gPSB3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX25ld19mb3JfdXJp
KHdlYmtpdF93ZWJfdmlld19nZXRfdXJpKHdlYlZpZXcpKTsKKyAgICBnY2hhciAqb3JpZ2luX3N0
ciA9IHdlYmtpdF9zZWN1cml0eV9vcmlnaW5fdG9fc3RyaW5nKG9yaWdpbik7CisgICAgd2Via2l0
X3NlY3VyaXR5X29yaWdpbl91bnJlZihvcmlnaW4pOworCisgICAgcmV0dXJuIG9yaWdpbl9zdHI7
Cit9CisKIHN0YXRpYyB2b2lkIHRpdGxlQ2hhbmdlZChXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3LCBH
UGFyYW1TcGVjICpwc3BlYywgQnJvd3NlclRhYiAqdGFiKQogewogICAgIGNvbnN0IGNoYXIgKnRp
dGxlID0gd2Via2l0X3dlYl92aWV3X2dldF90aXRsZSh3ZWJWaWV3KTsKQEAgLTE3MiwxOSArMjA0
LDI1IEBAIHN0YXRpYyBnYm9vbGVhbiBsb2FkRmFpbGVkV2l0aFRMU2Vycm9ycyhXZWJLaXRXZWJW
aWV3ICp3ZWJWaWV3LCBjb25zdCBjaGFyICpmYWlsCiAgICAgcmV0dXJuIFRSVUU7CiB9CiAKLXN0
YXRpYyB2b2lkIHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9uc2UoR3RrV2lkZ2V0ICpkaWFs
b2csIGdpbnQgcmVzcG9uc2UsIFdlYktpdFBlcm1pc3Npb25SZXF1ZXN0ICpyZXF1ZXN0KQorc3Rh
dGljIHZvaWQgcGVybWlzc2lvblJlcXVlc3REaWFsb2dSZXNwb25zZShHdGtXaWRnZXQgKmRpYWxv
ZywgZ2ludCByZXNwb25zZSwgUGVybWlzc2lvblJlcXVlc3REYXRhICpyZXF1ZXN0RGF0YSkKIHsK
ICAgICBzd2l0Y2ggKHJlc3BvbnNlKSB7CiAgICAgY2FzZSBHVEtfUkVTUE9OU0VfWUVTOgotICAg
ICAgICB3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2FsbG93KHJlcXVlc3QpOworICAgICAgICBp
ZiAoV0VCS0lUX0lTX1VTRVJfTUVESUFfUEVSTUlTU0lPTl9SRVFVRVNUKHJlcXVlc3REYXRhLT5y
ZXF1ZXN0KSkKKyAgICAgICAgICAgIGdfaGFzaF90YWJsZV9hZGQodXNlck1lZGlhUGVybWlzc2lv
bkdyYW50ZWRPcmlnaW5zLCBnX3N0cmR1cChyZXF1ZXN0RGF0YS0+b3JpZ2luKSk7CisKKyAgICAg
ICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdyhyZXF1ZXN0RGF0YS0+cmVxdWVzdCk7
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHdlYmtpdF9wZXJtaXNzaW9u
X3JlcXVlc3RfZGVueShyZXF1ZXN0KTsKKyAgICAgICAgaWYgKFdFQktJVF9JU19VU0VSX01FRElB
X1BFUk1JU1NJT05fUkVRVUVTVChyZXF1ZXN0RGF0YS0+cmVxdWVzdCkpCisgICAgICAgICAgICBn
X2hhc2hfdGFibGVfcmVtb3ZlKHVzZXJNZWRpYVBlcm1pc3Npb25HcmFudGVkT3JpZ2lucywgcmVx
dWVzdERhdGEtPm9yaWdpbik7CisKKyAgICAgICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9k
ZW55KHJlcXVlc3REYXRhLT5yZXF1ZXN0KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAg
Z3RrX3dpZGdldF9kZXN0cm95KGRpYWxvZyk7Ci0gICAgZ19vYmplY3RfdW5yZWYocmVxdWVzdCk7
CisgICAgZ19jbGVhcl9wb2ludGVyKCZyZXF1ZXN0RGF0YSwgcGVybWlzc2lvblJlcXVlc3REYXRh
RnJlZSk7CiB9CiAKIHN0YXRpYyBnYm9vbGVhbiBkZWNpZGVQZXJtaXNzaW9uUmVxdWVzdChXZWJL
aXRXZWJWaWV3ICp3ZWJWaWV3LCBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCAqcmVxdWVzdCwgQnJv
d3NlclRhYiAqdGFiKQpAQCAtMjE1LDEyICsyNTMsMjEgQEAgc3RhdGljIGdib29sZWFuIGRlY2lk
ZVBlcm1pc3Npb25SZXF1ZXN0KFdlYktpdFdlYlZpZXcgKndlYlZpZXcsIFdlYktpdFBlcm1pc3Np
b24KICAgICAgICAgdGl0bGUgPSAiTWVkaWEgcGx1Z2luIG1pc3NpbmcgcmVxdWVzdCI7CiAgICAg
ICAgIHRleHQgPSBnX3N0cmR1cF9wcmludGYoIlRoZSBtZWRpYSBiYWNrZW5kIHdhcyB1bmFibGUg
dG8gZmluZCBhIHBsdWdpbiB0byBwbGF5IHRoZSByZXF1ZXN0ZWQgbWVkaWE6XG4lcy5cbkFsbG93
IHRvIHNlYXJjaCBhbmQgaW5zdGFsbCB0aGUgbWlzc2luZyBwbHVnaW4/IiwKICAgICAgICAgICAg
IHdlYmtpdF9pbnN0YWxsX21pc3NpbmdfbWVkaWFfcGx1Z2luc19wZXJtaXNzaW9uX3JlcXVlc3Rf
Z2V0X2Rlc2NyaXB0aW9uKFdFQktJVF9JTlNUQUxMX01JU1NJTkdfTUVESUFfUExVR0lOU19QRVJN
SVNTSU9OX1JFUVVFU1QocmVxdWVzdCkpKTsKLSAgICB9IGVsc2UKKyAgICB9IGVsc2UgaWYgKFdF
QktJVF9JU19ERVZJQ0VfSU5GT19QRVJNSVNTSU9OX1JFUVVFU1QocmVxdWVzdCkpIHsKKyAgICAg
ICAgaWYgKGdfaGFzaF90YWJsZV9jb250YWlucyh1c2VyTWVkaWFQZXJtaXNzaW9uR3JhbnRlZE9y
aWdpbnMsIHdlYmtpdF93ZWJfdmlld19nZXRfdXJpKHdlYlZpZXcpKSkgeworICAgICAgICAgICAg
d2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdyhyZXF1ZXN0KTsKKyAgICAgICAgICAgIHJl
dHVybiBUUlVFOworICAgICAgICB9CisgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICB9IGVsc2Ug
eworICAgICAgICBnX3ByaW50KCIlcyByZXF1ZXN0IG5vdCBoYW5kbGVkXG4iLCBHX09CSkVDVF9U
WVBFX05BTUUocmVxdWVzdCkpOwogICAgICAgICByZXR1cm4gRkFMU0U7CisgICAgfQogCiAgICAg
R3RrV2lkZ2V0ICpkaWFsb2cgPSBjcmVhdGVJbmZvQmFyUXVlc3Rpb25NZXNzYWdlKHRpdGxlLCB0
ZXh0KTsKICAgICBnX2ZyZWUodGV4dCk7Ci0gICAgZ19zaWduYWxfY29ubmVjdChkaWFsb2csICJy
ZXNwb25zZSIsIEdfQ0FMTEJBQ0socGVybWlzc2lvblJlcXVlc3REaWFsb2dSZXNwb25zZSksIGdf
b2JqZWN0X3JlZihyZXF1ZXN0KSk7CisgICAgZ19zaWduYWxfY29ubmVjdChkaWFsb2csICJyZXNw
b25zZSIsIEdfQ0FMTEJBQ0socGVybWlzc2lvblJlcXVlc3REaWFsb2dSZXNwb25zZSksIHBlcm1p
c3Npb25SZXF1ZXN0RGF0YU5ldyhyZXF1ZXN0LAorICAgICAgICBnZXRXZWJWaWV3T3JpZ2luKHdl
YlZpZXcpKSk7CiAKICAgICBndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWCh0YWIpLCBkaWFsb2cs
IEZBTFNFLCBGQUxTRSwgMCk7CiAgICAgZ3RrX2JveF9yZW9yZGVyX2NoaWxkKEdUS19CT1godGFi
KSwgZGlhbG9nLCAwKTsKQEAgLTQwMCw2ICs0NDcsOSBAQCBzdGF0aWMgdm9pZCBicm93c2VyX3Rh
Yl9jbGFzc19pbml0KEJyb3dzZXJUYWJDbGFzcyAqa2xhc3MpCiAgICAgZ29iamVjdENsYXNzLT5z
ZXRfcHJvcGVydHkgPSBicm93c2VyVGFiU2V0UHJvcGVydHk7CiAgICAgZ29iamVjdENsYXNzLT5m
aW5hbGl6ZSA9IGJyb3dzZXJUYWJGaW5hbGl6ZTsKIAorICAgIGlmICghdXNlck1lZGlhUGVybWlz
c2lvbkdyYW50ZWRPcmlnaW5zKQorICAgICAgICB1c2VyTWVkaWFQZXJtaXNzaW9uR3JhbnRlZE9y
aWdpbnMgPSBnX2hhc2hfdGFibGVfbmV3X2Z1bGwoZ19zdHJfaGFzaCwgZ19zdHJfZXF1YWwsIGdf
ZnJlZSwgTlVMTCk7CisKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAogICAg
ICAgICBnb2JqZWN0Q2xhc3MsCiAgICAgICAgIFBST1BfVklFVywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356170</attachid>
            <date>2018-11-30 05:49:47 -0800</date>
            <delta_ts>2018-11-30 06:02:42 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-191585-20181130104945.patch</filename>
            <type>text/plain</type>
            <size>5531</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NjY2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjc0ODlmMjY5MDg0YjVmNWM4NGU0NTQzMWI3ODBiMGZl
YzllNjNjOS4uZGY0MWRhNzg0ZTk1NmIxYWYwZDU1MWVjNjU3NjBhZGE0MTllMzc1NCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE4LTExLTEzICBUaGliYXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXVtNaW5pQnJvd3Nlcl0gSGFuZGxlIERldmljZSBJbmZvIHBlcm1pc3Np
b24gcmVxdWVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MTU4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJUYWIuYzoKKyAgICAgICAgKHBlcm1pc3Npb25S
ZXF1ZXN0RGF0YU5ldyk6CisgICAgICAgIChwZXJtaXNzaW9uUmVxdWVzdERhdGFGcmVlKToKKyAg
ICAgICAgKHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9uc2UpOgorICAgICAgICAoZGVjaWRl
UGVybWlzc2lvblJlcXVlc3QpOgorICAgICAgICAoYnJvd3NlclRhYkNvbnN0cnVjdGVkKToKKwog
MjAxOC0xMS0yOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbaU9TTWFjXSBEcm9wcGluZyB0ZXh0IHNlbGVjdGlvbnMgZnJvbSB3ZWIgY29udGVudCBp
bnRvIGVkaXRhYmxlIGVsZW1lbnRzIGNyYXNoZXMgdGhlIHdlYiBwcm9jZXNzCmRpZmYgLS1naXQg
YS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclRhYi5jIGIvVG9vbHMvTWluaUJyb3dzZXIv
Z3RrL0Jyb3dzZXJUYWIuYwppbmRleCBhNmIyZWE0MmUwMGJkYzhmM2VkYjgxOGQ3MWU3MjIwZjQ2
MzNkMGNmLi40ZWZjNjMzMTE0YzM5N2M0YjE5NGEyMDY3NmFkZjQ4NmRiOTY5ZWZmIDEwMDY0NAot
LS0gYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclRhYi5jCisrKyBiL1Rvb2xzL01pbmlC
cm93c2VyL2d0ay9Ccm93c2VyVGFiLmMKQEAgLTU2LDEyICs1Niw0NCBAQCBzdHJ1Y3QgX0Jyb3dz
ZXJUYWIgewogICAgIEd0a1dpZGdldCAqdGl0bGVDbG9zZUJ1dHRvbjsKIH07CiAKK3N0YXRpYyBH
SGFzaFRhYmxlICp1c2VyTWVkaWFQZXJtaXNzaW9uR3JhbnRlZE9yaWdpbnM7CiBzdHJ1Y3QgX0Jy
b3dzZXJUYWJDbGFzcyB7CiAgICAgR3RrQm94Q2xhc3MgcGFyZW50OwogfTsKIAogR19ERUZJTkVf
VFlQRShCcm93c2VyVGFiLCBicm93c2VyX3RhYiwgR1RLX1RZUEVfQk9YKQogCit0eXBlZGVmIHN0
cnVjdCB7CisgICAgV2ViS2l0UGVybWlzc2lvblJlcXVlc3QgKnJlcXVlc3Q7CisgICAgZ2NoYXIg
Km9yaWdpbjsKK30gUGVybWlzc2lvblJlcXVlc3REYXRhOworCitzdGF0aWMgUGVybWlzc2lvblJl
cXVlc3REYXRhICpwZXJtaXNzaW9uUmVxdWVzdERhdGFOZXcoV2ViS2l0UGVybWlzc2lvblJlcXVl
c3QgKnJlcXVlc3QsIGdjaGFyICpvcmlnaW4pCit7CisgICAgUGVybWlzc2lvblJlcXVlc3REYXRh
ICpkYXRhID0gZ19tYWxsb2MwKHNpemVvZihQZXJtaXNzaW9uUmVxdWVzdERhdGEpKTsKKworICAg
IGRhdGEtPnJlcXVlc3QgPSBnX29iamVjdF9yZWYocmVxdWVzdCk7CisgICAgZGF0YS0+b3JpZ2lu
ID0gb3JpZ2luOworCisgICAgcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyB2b2lkIHBlcm1pc3Np
b25SZXF1ZXN0RGF0YUZyZWUoUGVybWlzc2lvblJlcXVlc3REYXRhICpkYXRhKQoreworICAgIGdf
Y2xlYXJfb2JqZWN0KCZkYXRhLT5yZXF1ZXN0KTsKKyAgICBnX2NsZWFyX3BvaW50ZXIoJmRhdGEt
Pm9yaWdpbiwgZ19mcmVlKTsKKyAgICBnX2ZyZWUoZGF0YSk7Cit9CisKK3N0YXRpYyBnY2hhciAq
Z2V0V2ViVmlld09yaWdpbihXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3KQoreworICAgIFdlYktpdFNl
Y3VyaXR5T3JpZ2luICpvcmlnaW4gPSB3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX25ld19mb3JfdXJp
KHdlYmtpdF93ZWJfdmlld19nZXRfdXJpKHdlYlZpZXcpKTsKKyAgICBnY2hhciAqb3JpZ2luU3Ry
ID0gd2Via2l0X3NlY3VyaXR5X29yaWdpbl90b19zdHJpbmcob3JpZ2luKTsKKyAgICB3ZWJraXRf
c2VjdXJpdHlfb3JpZ2luX3VucmVmKG9yaWdpbik7CisKKyAgICByZXR1cm4gb3JpZ2luU3RyOwor
fQorCiBzdGF0aWMgdm9pZCB0aXRsZUNoYW5nZWQoV2ViS2l0V2ViVmlldyAqd2ViVmlldywgR1Bh
cmFtU3BlYyAqcHNwZWMsIEJyb3dzZXJUYWIgKnRhYikKIHsKICAgICBjb25zdCBjaGFyICp0aXRs
ZSA9IHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmlldyk7CkBAIC0xNzIsMTkgKzIwNCwy
NSBAQCBzdGF0aWMgZ2Jvb2xlYW4gbG9hZEZhaWxlZFdpdGhUTFNlcnJvcnMoV2ViS2l0V2ViVmll
dyAqd2ViVmlldywgY29uc3QgY2hhciAqZmFpbAogICAgIHJldHVybiBUUlVFOwogfQogCi1zdGF0
aWMgdm9pZCBwZXJtaXNzaW9uUmVxdWVzdERpYWxvZ1Jlc3BvbnNlKEd0a1dpZGdldCAqZGlhbG9n
LCBnaW50IHJlc3BvbnNlLCBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCAqcmVxdWVzdCkKK3N0YXRp
YyB2b2lkIHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9uc2UoR3RrV2lkZ2V0ICpkaWFsb2cs
IGdpbnQgcmVzcG9uc2UsIFBlcm1pc3Npb25SZXF1ZXN0RGF0YSAqcmVxdWVzdERhdGEpCiB7CiAg
ICAgc3dpdGNoIChyZXNwb25zZSkgewogICAgIGNhc2UgR1RLX1JFU1BPTlNFX1lFUzoKLSAgICAg
ICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdyhyZXF1ZXN0KTsKKyAgICAgICAgaWYg
KFdFQktJVF9JU19VU0VSX01FRElBX1BFUk1JU1NJT05fUkVRVUVTVChyZXF1ZXN0RGF0YS0+cmVx
dWVzdCkpCisgICAgICAgICAgICBnX2hhc2hfdGFibGVfYWRkKHVzZXJNZWRpYVBlcm1pc3Npb25H
cmFudGVkT3JpZ2lucywgZ19zdHJkdXAocmVxdWVzdERhdGEtPm9yaWdpbikpOworCisgICAgICAg
IHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfYWxsb3cocmVxdWVzdERhdGEtPnJlcXVlc3QpOwog
ICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAgICB3ZWJraXRfcGVybWlzc2lvbl9y
ZXF1ZXN0X2RlbnkocmVxdWVzdCk7CisgICAgICAgIGlmIChXRUJLSVRfSVNfVVNFUl9NRURJQV9Q
RVJNSVNTSU9OX1JFUVVFU1QocmVxdWVzdERhdGEtPnJlcXVlc3QpKQorICAgICAgICAgICAgZ19o
YXNoX3RhYmxlX3JlbW92ZSh1c2VyTWVkaWFQZXJtaXNzaW9uR3JhbnRlZE9yaWdpbnMsIHJlcXVl
c3REYXRhLT5vcmlnaW4pOworCisgICAgICAgIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZGVu
eShyZXF1ZXN0RGF0YS0+cmVxdWVzdCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIGd0
a193aWRnZXRfZGVzdHJveShkaWFsb2cpOwotICAgIGdfb2JqZWN0X3VucmVmKHJlcXVlc3QpOwor
ICAgIGdfY2xlYXJfcG9pbnRlcigmcmVxdWVzdERhdGEsIHBlcm1pc3Npb25SZXF1ZXN0RGF0YUZy
ZWUpOwogfQogCiBzdGF0aWMgZ2Jvb2xlYW4gZGVjaWRlUGVybWlzc2lvblJlcXVlc3QoV2ViS2l0
V2ViVmlldyAqd2ViVmlldywgV2ViS2l0UGVybWlzc2lvblJlcXVlc3QgKnJlcXVlc3QsIEJyb3dz
ZXJUYWIgKnRhYikKQEAgLTIxNSwxMiArMjUzLDI0IEBAIHN0YXRpYyBnYm9vbGVhbiBkZWNpZGVQ
ZXJtaXNzaW9uUmVxdWVzdChXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3LCBXZWJLaXRQZXJtaXNzaW9u
CiAgICAgICAgIHRpdGxlID0gIk1lZGlhIHBsdWdpbiBtaXNzaW5nIHJlcXVlc3QiOwogICAgICAg
ICB0ZXh0ID0gZ19zdHJkdXBfcHJpbnRmKCJUaGUgbWVkaWEgYmFja2VuZCB3YXMgdW5hYmxlIHRv
IGZpbmQgYSBwbHVnaW4gdG8gcGxheSB0aGUgcmVxdWVzdGVkIG1lZGlhOlxuJXMuXG5BbGxvdyB0
byBzZWFyY2ggYW5kIGluc3RhbGwgdGhlIG1pc3NpbmcgcGx1Z2luPyIsCiAgICAgICAgICAgICB3
ZWJraXRfaW5zdGFsbF9taXNzaW5nX21lZGlhX3BsdWdpbnNfcGVybWlzc2lvbl9yZXF1ZXN0X2dl
dF9kZXNjcmlwdGlvbihXRUJLSVRfSU5TVEFMTF9NSVNTSU5HX01FRElBX1BMVUdJTlNfUEVSTUlT
U0lPTl9SRVFVRVNUKHJlcXVlc3QpKSk7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIGlmIChXRUJL
SVRfSVNfREVWSUNFX0lORk9fUEVSTUlTU0lPTl9SRVFVRVNUKHJlcXVlc3QpKSB7CisgICAgICAg
IGNoYXIqIG9yaWdpbiA9IGdldFdlYlZpZXdPcmlnaW4od2ViVmlldyk7CisgICAgICAgIGlmIChn
X2hhc2hfdGFibGVfY29udGFpbnModXNlck1lZGlhUGVybWlzc2lvbkdyYW50ZWRPcmlnaW5zLCBv
cmlnaW4pKSB7CisgICAgICAgICAgICB3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2FsbG93KHJl
cXVlc3QpOworICAgICAgICAgICAgZ19mcmVlKG9yaWdpbik7CisgICAgICAgICAgICByZXR1cm4g
VFJVRTsKKyAgICAgICAgfQorICAgICAgICBnX2ZyZWUob3JpZ2luKTsKKyAgICAgICAgcmV0dXJu
IEZBTFNFOworICAgIH0gZWxzZSB7CisgICAgICAgIGdfcHJpbnQoIiVzIHJlcXVlc3Qgbm90IGhh
bmRsZWRcbiIsIEdfT0JKRUNUX1RZUEVfTkFNRShyZXF1ZXN0KSk7CiAgICAgICAgIHJldHVybiBG
QUxTRTsKKyAgICB9CiAKICAgICBHdGtXaWRnZXQgKmRpYWxvZyA9IGNyZWF0ZUluZm9CYXJRdWVz
dGlvbk1lc3NhZ2UodGl0bGUsIHRleHQpOwogICAgIGdfZnJlZSh0ZXh0KTsKLSAgICBnX3NpZ25h
bF9jb25uZWN0KGRpYWxvZywgInJlc3BvbnNlIiwgR19DQUxMQkFDSyhwZXJtaXNzaW9uUmVxdWVz
dERpYWxvZ1Jlc3BvbnNlKSwgZ19vYmplY3RfcmVmKHJlcXVlc3QpKTsKKyAgICBnX3NpZ25hbF9j
b25uZWN0KGRpYWxvZywgInJlc3BvbnNlIiwgR19DQUxMQkFDSyhwZXJtaXNzaW9uUmVxdWVzdERp
YWxvZ1Jlc3BvbnNlKSwgcGVybWlzc2lvblJlcXVlc3REYXRhTmV3KHJlcXVlc3QsCisgICAgICAg
IGdldFdlYlZpZXdPcmlnaW4od2ViVmlldykpKTsKIAogICAgIGd0a19ib3hfcGFja19zdGFydChH
VEtfQk9YKHRhYiksIGRpYWxvZywgRkFMU0UsIEZBTFNFLCAwKTsKICAgICBndGtfYm94X3Jlb3Jk
ZXJfY2hpbGQoR1RLX0JPWCh0YWIpLCBkaWFsb2csIDApOwpAQCAtNDAwLDYgKzQ1MCw5IEBAIHN0
YXRpYyB2b2lkIGJyb3dzZXJfdGFiX2NsYXNzX2luaXQoQnJvd3NlclRhYkNsYXNzICprbGFzcykK
ICAgICBnb2JqZWN0Q2xhc3MtPnNldF9wcm9wZXJ0eSA9IGJyb3dzZXJUYWJTZXRQcm9wZXJ0eTsK
ICAgICBnb2JqZWN0Q2xhc3MtPmZpbmFsaXplID0gYnJvd3NlclRhYkZpbmFsaXplOwogCisgICAg
aWYgKCF1c2VyTWVkaWFQZXJtaXNzaW9uR3JhbnRlZE9yaWdpbnMpCisgICAgICAgIHVzZXJNZWRp
YVBlcm1pc3Npb25HcmFudGVkT3JpZ2lucyA9IGdfaGFzaF90YWJsZV9uZXdfZnVsbChnX3N0cl9o
YXNoLCBnX3N0cl9lcXVhbCwgZ19mcmVlLCBOVUxMKTsKKwogICAgIGdfb2JqZWN0X2NsYXNzX2lu
c3RhbGxfcHJvcGVydHkoCiAgICAgICAgIGdvYmplY3RDbGFzcywKICAgICAgICAgUFJPUF9WSUVX
LAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356171</attachid>
            <date>2018-11-30 06:02:47 -0800</date>
            <delta_ts>2018-11-30 06:52:51 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-191585-20181130110246.patch</filename>
            <type>text/plain</type>
            <size>5537</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NjY2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjc0ODlmMjY5MDg0YjVmNWM4NGU0NTQzMWI3ODBiMGZl
YzllNjNjOS4uYWVkM2FlZTVkMWM1OTllNDA3MmMzNjZjYjY0ZTAxOTM0NTc2ZjNmYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE4LTExLTEzICBUaGliYXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXVtNaW5pQnJvd3Nlcl0gSGFuZGxlIERldmljZSBJbmZvIHBlcm1pc3Np
b24gcmVxdWVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MTU4NQorCisgICAgICAgIFJldmlld2VkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgor
CisgICAgICAgICogTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJUYWIuYzoKKyAgICAgICAgKHBlcm1p
c3Npb25SZXF1ZXN0RGF0YU5ldyk6CisgICAgICAgIChwZXJtaXNzaW9uUmVxdWVzdERhdGFGcmVl
KToKKyAgICAgICAgKHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9uc2UpOgorICAgICAgICAo
ZGVjaWRlUGVybWlzc2lvblJlcXVlc3QpOgorICAgICAgICAoYnJvd3NlclRhYkNvbnN0cnVjdGVk
KToKKwogMjAxOC0xMS0yOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
IAogICAgICAgICBbaU9TTWFjXSBEcm9wcGluZyB0ZXh0IHNlbGVjdGlvbnMgZnJvbSB3ZWIgY29u
dGVudCBpbnRvIGVkaXRhYmxlIGVsZW1lbnRzIGNyYXNoZXMgdGhlIHdlYiBwcm9jZXNzCmRpZmYg
LS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclRhYi5jIGIvVG9vbHMvTWluaUJy
b3dzZXIvZ3RrL0Jyb3dzZXJUYWIuYwppbmRleCBhNmIyZWE0MmUwMGJkYzhmM2VkYjgxOGQ3MWU3
MjIwZjQ2MzNkMGNmLi40ZWZjNjMzMTE0YzM5N2M0YjE5NGEyMDY3NmFkZjQ4NmRiOTY5ZWZmIDEw
MDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclRhYi5jCisrKyBiL1Rvb2xz
L01pbmlCcm93c2VyL2d0ay9Ccm93c2VyVGFiLmMKQEAgLTU2LDEyICs1Niw0NCBAQCBzdHJ1Y3Qg
X0Jyb3dzZXJUYWIgewogICAgIEd0a1dpZGdldCAqdGl0bGVDbG9zZUJ1dHRvbjsKIH07CiAKK3N0
YXRpYyBHSGFzaFRhYmxlICp1c2VyTWVkaWFQZXJtaXNzaW9uR3JhbnRlZE9yaWdpbnM7CiBzdHJ1
Y3QgX0Jyb3dzZXJUYWJDbGFzcyB7CiAgICAgR3RrQm94Q2xhc3MgcGFyZW50OwogfTsKIAogR19E
RUZJTkVfVFlQRShCcm93c2VyVGFiLCBicm93c2VyX3RhYiwgR1RLX1RZUEVfQk9YKQogCit0eXBl
ZGVmIHN0cnVjdCB7CisgICAgV2ViS2l0UGVybWlzc2lvblJlcXVlc3QgKnJlcXVlc3Q7CisgICAg
Z2NoYXIgKm9yaWdpbjsKK30gUGVybWlzc2lvblJlcXVlc3REYXRhOworCitzdGF0aWMgUGVybWlz
c2lvblJlcXVlc3REYXRhICpwZXJtaXNzaW9uUmVxdWVzdERhdGFOZXcoV2ViS2l0UGVybWlzc2lv
blJlcXVlc3QgKnJlcXVlc3QsIGdjaGFyICpvcmlnaW4pCit7CisgICAgUGVybWlzc2lvblJlcXVl
c3REYXRhICpkYXRhID0gZ19tYWxsb2MwKHNpemVvZihQZXJtaXNzaW9uUmVxdWVzdERhdGEpKTsK
KworICAgIGRhdGEtPnJlcXVlc3QgPSBnX29iamVjdF9yZWYocmVxdWVzdCk7CisgICAgZGF0YS0+
b3JpZ2luID0gb3JpZ2luOworCisgICAgcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyB2b2lkIHBl
cm1pc3Npb25SZXF1ZXN0RGF0YUZyZWUoUGVybWlzc2lvblJlcXVlc3REYXRhICpkYXRhKQorewor
ICAgIGdfY2xlYXJfb2JqZWN0KCZkYXRhLT5yZXF1ZXN0KTsKKyAgICBnX2NsZWFyX3BvaW50ZXIo
JmRhdGEtPm9yaWdpbiwgZ19mcmVlKTsKKyAgICBnX2ZyZWUoZGF0YSk7Cit9CisKK3N0YXRpYyBn
Y2hhciAqZ2V0V2ViVmlld09yaWdpbihXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3KQoreworICAgIFdl
YktpdFNlY3VyaXR5T3JpZ2luICpvcmlnaW4gPSB3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX25ld19m
b3JfdXJpKHdlYmtpdF93ZWJfdmlld19nZXRfdXJpKHdlYlZpZXcpKTsKKyAgICBnY2hhciAqb3Jp
Z2luU3RyID0gd2Via2l0X3NlY3VyaXR5X29yaWdpbl90b19zdHJpbmcob3JpZ2luKTsKKyAgICB3
ZWJraXRfc2VjdXJpdHlfb3JpZ2luX3VucmVmKG9yaWdpbik7CisKKyAgICByZXR1cm4gb3JpZ2lu
U3RyOworfQorCiBzdGF0aWMgdm9pZCB0aXRsZUNoYW5nZWQoV2ViS2l0V2ViVmlldyAqd2ViVmll
dywgR1BhcmFtU3BlYyAqcHNwZWMsIEJyb3dzZXJUYWIgKnRhYikKIHsKICAgICBjb25zdCBjaGFy
ICp0aXRsZSA9IHdlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUod2ViVmlldyk7CkBAIC0xNzIsMTkg
KzIwNCwyNSBAQCBzdGF0aWMgZ2Jvb2xlYW4gbG9hZEZhaWxlZFdpdGhUTFNlcnJvcnMoV2ViS2l0
V2ViVmlldyAqd2ViVmlldywgY29uc3QgY2hhciAqZmFpbAogICAgIHJldHVybiBUUlVFOwogfQog
Ci1zdGF0aWMgdm9pZCBwZXJtaXNzaW9uUmVxdWVzdERpYWxvZ1Jlc3BvbnNlKEd0a1dpZGdldCAq
ZGlhbG9nLCBnaW50IHJlc3BvbnNlLCBXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdCAqcmVxdWVzdCkK
K3N0YXRpYyB2b2lkIHBlcm1pc3Npb25SZXF1ZXN0RGlhbG9nUmVzcG9uc2UoR3RrV2lkZ2V0ICpk
aWFsb2csIGdpbnQgcmVzcG9uc2UsIFBlcm1pc3Npb25SZXF1ZXN0RGF0YSAqcmVxdWVzdERhdGEp
CiB7CiAgICAgc3dpdGNoIChyZXNwb25zZSkgewogICAgIGNhc2UgR1RLX1JFU1BPTlNFX1lFUzoK
LSAgICAgICAgd2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdyhyZXF1ZXN0KTsKKyAgICAg
ICAgaWYgKFdFQktJVF9JU19VU0VSX01FRElBX1BFUk1JU1NJT05fUkVRVUVTVChyZXF1ZXN0RGF0
YS0+cmVxdWVzdCkpCisgICAgICAgICAgICBnX2hhc2hfdGFibGVfYWRkKHVzZXJNZWRpYVBlcm1p
c3Npb25HcmFudGVkT3JpZ2lucywgZ19zdHJkdXAocmVxdWVzdERhdGEtPm9yaWdpbikpOworCisg
ICAgICAgIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfYWxsb3cocmVxdWVzdERhdGEtPnJlcXVl
c3QpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAgICB3ZWJraXRfcGVybWlz
c2lvbl9yZXF1ZXN0X2RlbnkocmVxdWVzdCk7CisgICAgICAgIGlmIChXRUJLSVRfSVNfVVNFUl9N
RURJQV9QRVJNSVNTSU9OX1JFUVVFU1QocmVxdWVzdERhdGEtPnJlcXVlc3QpKQorICAgICAgICAg
ICAgZ19oYXNoX3RhYmxlX3JlbW92ZSh1c2VyTWVkaWFQZXJtaXNzaW9uR3JhbnRlZE9yaWdpbnMs
IHJlcXVlc3REYXRhLT5vcmlnaW4pOworCisgICAgICAgIHdlYmtpdF9wZXJtaXNzaW9uX3JlcXVl
c3RfZGVueShyZXF1ZXN0RGF0YS0+cmVxdWVzdCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAog
ICAgIGd0a193aWRnZXRfZGVzdHJveShkaWFsb2cpOwotICAgIGdfb2JqZWN0X3VucmVmKHJlcXVl
c3QpOworICAgIGdfY2xlYXJfcG9pbnRlcigmcmVxdWVzdERhdGEsIHBlcm1pc3Npb25SZXF1ZXN0
RGF0YUZyZWUpOwogfQogCiBzdGF0aWMgZ2Jvb2xlYW4gZGVjaWRlUGVybWlzc2lvblJlcXVlc3Qo
V2ViS2l0V2ViVmlldyAqd2ViVmlldywgV2ViS2l0UGVybWlzc2lvblJlcXVlc3QgKnJlcXVlc3Qs
IEJyb3dzZXJUYWIgKnRhYikKQEAgLTIxNSwxMiArMjUzLDI0IEBAIHN0YXRpYyBnYm9vbGVhbiBk
ZWNpZGVQZXJtaXNzaW9uUmVxdWVzdChXZWJLaXRXZWJWaWV3ICp3ZWJWaWV3LCBXZWJLaXRQZXJt
aXNzaW9uCiAgICAgICAgIHRpdGxlID0gIk1lZGlhIHBsdWdpbiBtaXNzaW5nIHJlcXVlc3QiOwog
ICAgICAgICB0ZXh0ID0gZ19zdHJkdXBfcHJpbnRmKCJUaGUgbWVkaWEgYmFja2VuZCB3YXMgdW5h
YmxlIHRvIGZpbmQgYSBwbHVnaW4gdG8gcGxheSB0aGUgcmVxdWVzdGVkIG1lZGlhOlxuJXMuXG5B
bGxvdyB0byBzZWFyY2ggYW5kIGluc3RhbGwgdGhlIG1pc3NpbmcgcGx1Z2luPyIsCiAgICAgICAg
ICAgICB3ZWJraXRfaW5zdGFsbF9taXNzaW5nX21lZGlhX3BsdWdpbnNfcGVybWlzc2lvbl9yZXF1
ZXN0X2dldF9kZXNjcmlwdGlvbihXRUJLSVRfSU5TVEFMTF9NSVNTSU5HX01FRElBX1BMVUdJTlNf
UEVSTUlTU0lPTl9SRVFVRVNUKHJlcXVlc3QpKSk7Ci0gICAgfSBlbHNlCisgICAgfSBlbHNlIGlm
IChXRUJLSVRfSVNfREVWSUNFX0lORk9fUEVSTUlTU0lPTl9SRVFVRVNUKHJlcXVlc3QpKSB7Cisg
ICAgICAgIGNoYXIqIG9yaWdpbiA9IGdldFdlYlZpZXdPcmlnaW4od2ViVmlldyk7CisgICAgICAg
IGlmIChnX2hhc2hfdGFibGVfY29udGFpbnModXNlck1lZGlhUGVybWlzc2lvbkdyYW50ZWRPcmln
aW5zLCBvcmlnaW4pKSB7CisgICAgICAgICAgICB3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2Fs
bG93KHJlcXVlc3QpOworICAgICAgICAgICAgZ19mcmVlKG9yaWdpbik7CisgICAgICAgICAgICBy
ZXR1cm4gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBnX2ZyZWUob3JpZ2luKTsKKyAgICAgICAg
cmV0dXJuIEZBTFNFOworICAgIH0gZWxzZSB7CisgICAgICAgIGdfcHJpbnQoIiVzIHJlcXVlc3Qg
bm90IGhhbmRsZWRcbiIsIEdfT0JKRUNUX1RZUEVfTkFNRShyZXF1ZXN0KSk7CiAgICAgICAgIHJl
dHVybiBGQUxTRTsKKyAgICB9CiAKICAgICBHdGtXaWRnZXQgKmRpYWxvZyA9IGNyZWF0ZUluZm9C
YXJRdWVzdGlvbk1lc3NhZ2UodGl0bGUsIHRleHQpOwogICAgIGdfZnJlZSh0ZXh0KTsKLSAgICBn
X3NpZ25hbF9jb25uZWN0KGRpYWxvZywgInJlc3BvbnNlIiwgR19DQUxMQkFDSyhwZXJtaXNzaW9u
UmVxdWVzdERpYWxvZ1Jlc3BvbnNlKSwgZ19vYmplY3RfcmVmKHJlcXVlc3QpKTsKKyAgICBnX3Np
Z25hbF9jb25uZWN0KGRpYWxvZywgInJlc3BvbnNlIiwgR19DQUxMQkFDSyhwZXJtaXNzaW9uUmVx
dWVzdERpYWxvZ1Jlc3BvbnNlKSwgcGVybWlzc2lvblJlcXVlc3REYXRhTmV3KHJlcXVlc3QsCisg
ICAgICAgIGdldFdlYlZpZXdPcmlnaW4od2ViVmlldykpKTsKIAogICAgIGd0a19ib3hfcGFja19z
dGFydChHVEtfQk9YKHRhYiksIGRpYWxvZywgRkFMU0UsIEZBTFNFLCAwKTsKICAgICBndGtfYm94
X3Jlb3JkZXJfY2hpbGQoR1RLX0JPWCh0YWIpLCBkaWFsb2csIDApOwpAQCAtNDAwLDYgKzQ1MCw5
IEBAIHN0YXRpYyB2b2lkIGJyb3dzZXJfdGFiX2NsYXNzX2luaXQoQnJvd3NlclRhYkNsYXNzICpr
bGFzcykKICAgICBnb2JqZWN0Q2xhc3MtPnNldF9wcm9wZXJ0eSA9IGJyb3dzZXJUYWJTZXRQcm9w
ZXJ0eTsKICAgICBnb2JqZWN0Q2xhc3MtPmZpbmFsaXplID0gYnJvd3NlclRhYkZpbmFsaXplOwog
CisgICAgaWYgKCF1c2VyTWVkaWFQZXJtaXNzaW9uR3JhbnRlZE9yaWdpbnMpCisgICAgICAgIHVz
ZXJNZWRpYVBlcm1pc3Npb25HcmFudGVkT3JpZ2lucyA9IGdfaGFzaF90YWJsZV9uZXdfZnVsbChn
X3N0cl9oYXNoLCBnX3N0cl9lcXVhbCwgZ19mcmVlLCBOVUxMKTsKKwogICAgIGdfb2JqZWN0X2Ns
YXNzX2luc3RhbGxfcHJvcGVydHkoCiAgICAgICAgIGdvYmplY3RDbGFzcywKICAgICAgICAgUFJP
UF9WSUVXLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>