From xen-announce-bounces@lists.xen.org Fri Aug 01 15:07:04 2014
Return-path: <xen-announce-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 01 Aug 2014 15:07:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-announce-bounces@lists.xen.org>)
	id 1XDEOq-0001G2-ON; Fri, 01 Aug 2014 15:05:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1XDEOO-0001FW-VP
	for xen-announce@lists.xen.org; Fri, 01 Aug 2014 15:05:13 +0000
Received: from [85.158.139.211:27205] by server-6.bemta-5.messagelabs.com id
	6E/19-06284-8ACABD35; Fri, 01 Aug 2014 15:05:12 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1406905510!8482752!1
X-Originating-IP: [74.125.82.43]
X-SpamReason: No, hits=1.9 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_MESSAGE,HTML_OBFUSCATE_05_10
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17050 invoked from network); 1 Aug 2014 15:05:10 -0000
Received: from mail-wg0-f43.google.com (HELO mail-wg0-f43.google.com)
	(74.125.82.43)
	by server-16.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Aug 2014 15:05:10 -0000
Received: by mail-wg0-f43.google.com with SMTP id l18so4290340wgh.26
	for <xen-announce@lists.xen.org>; Fri, 01 Aug 2014 08:05:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type;
	bh=7N0Tqpx6DpvFQcQTIIvWCGwoQCZwP4auGCGRp8UZEn4=;
	b=fbmhRrReEHzzw4vbdeMZm8te3zSvVNAbZRE0CbI8cOZ4sE0ND+Z0ocatI4A7NCj1H3
	V/E8pkTMshcgXbNF+bwtTIwTxL58+ufM1iwrJV6vBlMe+uOuj7ryRh0rdvNTvUTPHl1p
	XOy/AwdtwMl94/IW0Li1NELnv9nj5gCAZuEfgKj+Y7uJqwR2cUQIj5t9fWTOt0zF0wK/
	5LvxsGd08nd97mISkZjfe9usl9QrEZ93UY2nIWTWi6GnFOKxGsxg1nQ8P+mUWv1GN4A5
	3q7DBAhSdpWcUH6C+WTHwTSQ+Aucyeryr8Tixmy7WlJ5lvZ8VBPXZrYrVMqyfdrRwpOQ
	FC2w==
X-Received: by 10.194.191.162 with SMTP id gz2mr8908211wjc.89.1406905508584;
	Fri, 01 Aug 2014 08:05:08 -0700 (PDT)
Received: from [172.16.26.11]
	(host86-174-110-189.range86-174.btcentralplus.com. [86.174.110.189])
	by mx.google.com with ESMTPSA id t6sm9538380wib.4.2014.08.01.08.05.07
	for <xen-announce@lists.xen.org>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Fri, 01 Aug 2014 08:05:07 -0700 (PDT)
Message-ID: <53DBACA2.3030509@xen.org>
Date: Fri, 01 Aug 2014 16:05:06 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: xen-announce@lists.xen.org
X-Mailman-Approved-At: Fri, 01 Aug 2014 15:05:39 +0000
Subject: [Xen-announce] =?windows-1252?q?2_weeks_to_Xen_Project_Developer_?=
 =?windows-1252?q?Summit_=96_Chicago_18-19=2C_IL=2C_USA?=
X-BeenThere: xen-announce@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: "Xen announcements \(low volume\)" <xen-announce.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-announce@lists.xen.org>
List-Help: <mailto:xen-announce-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3816828107713124381=="
Sender: xen-announce-bounces@lists.xen.org
Errors-To: xen-announce-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============3816828107713124381==
Content-Type: multipart/alternative;
 boundary="------------080807030104060002040205"

This is a multi-part message in MIME format.
--------------080807030104060002040205
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Length: 3234
Content-Transfer-Encoding: quoted-printable

Only last week, the Xen Project team was at OSCON where we launched 
Mirage OS 2.0 
<http://xenproject.org/about/in-the-news/176-xen-project-introduces-new-mirage-os-release.html>(event 
report to follow soon, but in the meantime check out the following 
sessions Nymote and Mirage 
<http://xenproject.org/component/allvideoshare/video/latest/oscon14-mirage-2-0-nymote-git-your-own-cloud-here.html>, 
Floss Weekly on Mirage OS 
<http://xenproject.org/component/allvideoshare/video/latest/flossweekly-302.html> and 
Community War Stories 
<http://xenproject.org/component/allvideoshare/video/latest/oscon14-community-war-stories.html>) 
and now our Developer Summit is just round the corner. As we have seen 
tremendous community growth in the last 12 months (>30%) and the most 
feature reach Xen Project Hypervisor release coming up soon, I thought 
I=92d share what you can expect.

What to expect=3F

Xen Project Developer Summits are packed with highly technical content 
where the core developers of the Xen Project community come together to 
discuss the evolution of the Xen Project. The conference is a mixture of 
talks and interactive sessions in un-conference format (which we call 
BoFs). Newcomers and those who are interested in the progress and future 
of the Xen Project, it=92s sub projects (Hypervisor on ARM and x86, 
Upstreams and Downstreams, Embedded and Automotive variants, Cloud 
Operating Systems such as Mirage OS) usually will get tremendous value 
from attending the event.

Besides roadmap, feature updates and developer topics, this year 
features a few themes:

  * Network Function Virtualization
  * Security
  * Performance and Scalability
  * Cloud Operating Systems
  * Topics that are important for automotive/embedded/mobile use-cases,
    such as Real-time virtualization, certification and ARM support

Why not check out the agenda 
<http://events.linuxfoundation.org/events/xen-project-developer-summit/program/schedule> or 
watch last year=92s sessions 
<http://xenproject.org/component/content/article/9-uncategorised/159-xen-project-developer-summit-2013-videos-and-presentations.html> to 
get a sense of what is coming. Note that BoF=92s and discussion groups 
will be published next week.


    How to get the most out of the Summit=3F

Our developer events are designed to help you make connections and to 
participate. A good way to network are our evening social event and to 
network during the breaks. Another great way to get the most out of the 
summit is to submit a BoF/discussion groups about a topic you care about 
or to participate in a BoF/discussion group. BoF submissions 
<http://events.linuxfoundation.org/events/xen-project-developer-summit/program/bof> are 
open until August 11 and the BoF schedule will be published the week 
before the event. Most of our talks will have an extensive and 
interactive Q&A portion, which is another way to engage.

Links:

http://events.linuxfoundation.org/events/xen-project-developer-summit/program/schedule
http://events.linuxfoundation.org/events/xen-project-developer-summit/attend/register
http://events.linuxfoundation.org/events/xen-project-developer-summit


--------------080807030104060002040205
Content-Type: text/html; charset=windows-1252
Content-Length: 10410
Content-Transfer-Encoding: quoted-printable

<html>
  <head>
    <meta content=3D"text/html; charset=3Dwindows-1252"
      http-equiv=3D"Content-Type">
  </head>
  <body text=3D"#000000" bgcolor=3D"#FFFFFF">
    <p style=3D"margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;
      vertical-align: baseline; color: rgb(51, 51, 51); font-family:
      Arial, sans-serif; line-height: 18px; background-color: rgb(255,
      255, 255); background-position: initial initial;
      background-repeat: initial initial;">Only last week, the Xen
      Project team was at OSCON where we launched=A0<a
href=3D"http://xenproject.org/about/in-the-news/176-xen-project-introduces-new-mirage-os-release.html"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">Mirage OS 2.0</a>(event report to follow soon, but in
      the meantime check out the following sessions=A0<a
href=3D"http://xenproject.org/component/allvideoshare/video/latest/oscon14-mirage-2-0-nymote-git-your-own-cloud-here.html"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">Nymote and Mirage</a>,=A0<a
href=3D"http://xenproject.org/component/allvideoshare/video/latest/flossweekly-302.html"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">Floss Weekly on Mirage OS</a>=A0and=A0<a
href=3D"http://xenproject.org/component/allvideoshare/video/latest/oscon14-community-war-stories.html"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">Community War Stories</a>) and now our Developer
      Summit is just round the corner. As we have seen tremendous
      community growth in the last 12 months (&gt;30%) and the most
      feature reach Xen Project Hypervisor release coming up soon, I
      thought I=92d share what you can expect.</p>
    What to expect=3F
    <p style=3D"margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;
      vertical-align: baseline; color: rgb(51, 51, 51); font-family:
      Arial, sans-serif; line-height: 18px; background-color: rgb(255,
      255, 255); background-position: initial initial;
      background-repeat: initial initial;">Xen Project Developer Summits
      are packed with highly technical content where the core developers
      of the Xen Project community come together to discuss the
      evolution of the Xen Project. The conference is a mixture of talks
      and interactive sessions in un-conference format (which we call
      BoFs). Newcomers and those who are interested in the progress and
      future of the Xen Project, it=92s sub projects (Hypervisor on ARM
      and x86, Upstreams and Downstreams, Embedded and Automotive
      variants, Cloud Operating Systems such as Mirage OS) usually will
      get tremendous value from attending the event.</p>
    <p style=3D"margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;
      vertical-align: baseline; color: rgb(51, 51, 51); font-family:
      Arial, sans-serif; line-height: 18px; background-color: rgb(255,
      255, 255); background-position: initial initial;
      background-repeat: initial initial;">Besides roadmap, feature
      updates and developer topics, this year features a few themes:</p>
    <ul style=3D"margin: 15px 0px 15px 20px; padding: 0px 0px 0px 30px;
      border: 0px; outline: 0px; vertical-align: baseline; color:
      rgb(51, 51, 51); font-family: Arial, sans-serif; line-height:
      18px; background-color: rgb(255, 255, 255); background-position:
      initial initial; background-repeat: initial initial;">
      <li style=3D"margin: 0px 0px 9px; padding: 0px 0px 0px 12px; border:
        0px; outline: 0px; vertical-align: baseline; list-style: none;
        background-image:
        url(http://blog.xen.org/wp-content/themes/carrington-blog/img/arrow-bullet.gif);
        background-position: 0% 0%; background-repeat: no-repeat
        no-repeat;">Network Function Virtualization</li>
      <li style=3D"margin: 0px 0px 9px; padding: 0px 0px 0px 12px; border:
        0px; outline: 0px; vertical-align: baseline; list-style: none;
        background-image:
        url(http://blog.xen.org/wp-content/themes/carrington-blog/img/arrow-bullet.gif);
        background-position: 0% 0%; background-repeat: no-repeat
        no-repeat;">Security</li>
      <li style=3D"margin: 0px 0px 9px; padding: 0px 0px 0px 12px; border:
        0px; outline: 0px; vertical-align: baseline; list-style: none;
        background-image:
        url(http://blog.xen.org/wp-content/themes/carrington-blog/img/arrow-bullet.gif);
        background-position: 0% 0%; background-repeat: no-repeat
        no-repeat;">Performance and Scalability</li>
      <li style=3D"margin: 0px 0px 9px; padding: 0px 0px 0px 12px; border:
        0px; outline: 0px; vertical-align: baseline; list-style: none;
        background-image:
        url(http://blog.xen.org/wp-content/themes/carrington-blog/img/arrow-bullet.gif);
        background-position: 0% 0%; background-repeat: no-repeat
        no-repeat;">Cloud Operating Systems</li>
      <li style=3D"margin: 0px 0px 9px; padding: 0px 0px 0px 12px; border:
        0px; outline: 0px; vertical-align: baseline; list-style: none;
        background-image:
        url(http://blog.xen.org/wp-content/themes/carrington-blog/img/arrow-bullet.gif);
        background-position: 0% 0%; background-repeat: no-repeat
        no-repeat;">Topics that are important for
        automotive/embedded/mobile use-cases, such as Real-time
        virtualization, certification and ARM support</li>
    </ul>
    <p style=3D"margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;
      vertical-align: baseline; color: rgb(51, 51, 51); font-family:
      Arial, sans-serif; line-height: 18px; background-color: rgb(255,
      255, 255); background-position: initial initial;
      background-repeat: initial initial;">Why not check out the=A0<a
href=3D"http://events.linuxfoundation.org/events/xen-project-developer-summit/program/schedule"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">agenda</a>=A0or watch=A0<a
href=3D"http://xenproject.org/component/content/article/9-uncategorised/159-xen-project-developer-summit-2013-videos-and-presentations.html"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">last year=92s sessions</a>=A0to get a sense of what is
      coming. Note that BoF=92s and discussion groups will be published
      next week.</p>
    <h2 style=3D"margin: 25px 0px 15px; padding: 0px; border: 0px;
      outline: 0px; font-size: 20px; vertical-align: baseline;
      font-weight: normal; line-height: 22px; color: rgb(51, 51, 51);
      font-family: Arial, sans-serif; background-color: rgb(255, 255,
      255); background-position: initial initial; background-repeat:
      initial initial;">How to get the most out of the Summit=3F</h2>
    <p style=3D"margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;
      vertical-align: baseline; color: rgb(51, 51, 51); font-family:
      Arial, sans-serif; line-height: 18px; background-color: rgb(255,
      255, 255); position: static; z-index: auto;">Our developer events
      are designed to help you make connections and to participate. A
      good way to network are our evening social event and to network
      during the breaks. Another great way to get the most out of the
      summit is to submit a BoF/discussion groups about a topic you care
      about or to participate in a BoF/discussion group. BoF=A0<a
href=3D"http://events.linuxfoundation.org/events/xen-project-developer-summit/program/bof"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">submissions</a>=A0are open until August 11 and the BoF
      schedule will be published the week before the event. Most of our
      talks will have an extensive and interactive Q&amp;A portion,
      which is another way to engage.<br>
    </p>
    <p style=3D"margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;
      vertical-align: baseline; color: rgb(51, 51, 51); font-family:
      Arial, sans-serif; line-height: 18px; background-color: rgb(255,
      255, 255); position: static; z-index: auto;">Links:<br>
      <br>
<a class=3D"moz-txt-link-freetext" href=3D"http://events.linuxfoundation.org/events/xen-project-developer-summit/program/schedule">http://events.linuxfoundation.org/events/xen-project-developer-summit/program/schedule</a><br>
<a class=3D"moz-txt-link-freetext" href=3D"http://events.linuxfoundation.org/events/xen-project-developer-summit/attend/register">http://events.linuxfoundation.org/events/xen-project-developer-summit/attend/register</a><br>
<a class=3D"moz-txt-link-freetext" href=3D"http://events.linuxfoundation.org/events/xen-project-developer-summit">http://events.linuxfoundation.org/events/xen-project-developer-summit</a><br>
    </p>
  </body>
</html>

--------------080807030104060002040205--


--===============3816828107713124381==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-announce mailing list
Xen-announce@lists.xen.org
http://lists.xen.org/xen-announce
--===============3816828107713124381==--


From xen-announce-bounces@lists.xen.org Fri Aug 01 15:07:04 2014
Return-path: <xen-announce-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 01 Aug 2014 15:07:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-announce-bounces@lists.xen.org>)
	id 1XDEOq-0001G2-ON; Fri, 01 Aug 2014 15:05:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1XDEOO-0001FW-VP
	for xen-announce@lists.xen.org; Fri, 01 Aug 2014 15:05:13 +0000
Received: from [85.158.139.211:27205] by server-6.bemta-5.messagelabs.com id
	6E/19-06284-8ACABD35; Fri, 01 Aug 2014 15:05:12 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1406905510!8482752!1
X-Originating-IP: [74.125.82.43]
X-SpamReason: No, hits=1.9 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_MESSAGE,HTML_OBFUSCATE_05_10
X-StarScan-Received: 
X-StarScan-Version: 6.11.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17050 invoked from network); 1 Aug 2014 15:05:10 -0000
Received: from mail-wg0-f43.google.com (HELO mail-wg0-f43.google.com)
	(74.125.82.43)
	by server-16.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	1 Aug 2014 15:05:10 -0000
Received: by mail-wg0-f43.google.com with SMTP id l18so4290340wgh.26
	for <xen-announce@lists.xen.org>; Fri, 01 Aug 2014 08:05:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type;
	bh=7N0Tqpx6DpvFQcQTIIvWCGwoQCZwP4auGCGRp8UZEn4=;
	b=fbmhRrReEHzzw4vbdeMZm8te3zSvVNAbZRE0CbI8cOZ4sE0ND+Z0ocatI4A7NCj1H3
	V/E8pkTMshcgXbNF+bwtTIwTxL58+ufM1iwrJV6vBlMe+uOuj7ryRh0rdvNTvUTPHl1p
	XOy/AwdtwMl94/IW0Li1NELnv9nj5gCAZuEfgKj+Y7uJqwR2cUQIj5t9fWTOt0zF0wK/
	5LvxsGd08nd97mISkZjfe9usl9QrEZ93UY2nIWTWi6GnFOKxGsxg1nQ8P+mUWv1GN4A5
	3q7DBAhSdpWcUH6C+WTHwTSQ+Aucyeryr8Tixmy7WlJ5lvZ8VBPXZrYrVMqyfdrRwpOQ
	FC2w==
X-Received: by 10.194.191.162 with SMTP id gz2mr8908211wjc.89.1406905508584;
	Fri, 01 Aug 2014 08:05:08 -0700 (PDT)
Received: from [172.16.26.11]
	(host86-174-110-189.range86-174.btcentralplus.com. [86.174.110.189])
	by mx.google.com with ESMTPSA id t6sm9538380wib.4.2014.08.01.08.05.07
	for <xen-announce@lists.xen.org>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Fri, 01 Aug 2014 08:05:07 -0700 (PDT)
Message-ID: <53DBACA2.3030509@xen.org>
Date: Fri, 01 Aug 2014 16:05:06 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: xen-announce@lists.xen.org
X-Mailman-Approved-At: Fri, 01 Aug 2014 15:05:39 +0000
Subject: [Xen-announce] =?windows-1252?q?2_weeks_to_Xen_Project_Developer_?=
 =?windows-1252?q?Summit_=96_Chicago_18-19=2C_IL=2C_USA?=
X-BeenThere: xen-announce@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: "Xen announcements \(low volume\)" <xen-announce.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-announce@lists.xen.org>
List-Help: <mailto:xen-announce-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============3816828107713124381=="
Sender: xen-announce-bounces@lists.xen.org
Errors-To: xen-announce-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============3816828107713124381==
Content-Type: multipart/alternative;
 boundary="------------080807030104060002040205"

This is a multi-part message in MIME format.
--------------080807030104060002040205
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Length: 3234
Content-Transfer-Encoding: quoted-printable

Only last week, the Xen Project team was at OSCON where we launched 
Mirage OS 2.0 
<http://xenproject.org/about/in-the-news/176-xen-project-introduces-new-mirage-os-release.html>(event 
report to follow soon, but in the meantime check out the following 
sessions Nymote and Mirage 
<http://xenproject.org/component/allvideoshare/video/latest/oscon14-mirage-2-0-nymote-git-your-own-cloud-here.html>, 
Floss Weekly on Mirage OS 
<http://xenproject.org/component/allvideoshare/video/latest/flossweekly-302.html> and 
Community War Stories 
<http://xenproject.org/component/allvideoshare/video/latest/oscon14-community-war-stories.html>) 
and now our Developer Summit is just round the corner. As we have seen 
tremendous community growth in the last 12 months (>30%) and the most 
feature reach Xen Project Hypervisor release coming up soon, I thought 
I=92d share what you can expect.

What to expect=3F

Xen Project Developer Summits are packed with highly technical content 
where the core developers of the Xen Project community come together to 
discuss the evolution of the Xen Project. The conference is a mixture of 
talks and interactive sessions in un-conference format (which we call 
BoFs). Newcomers and those who are interested in the progress and future 
of the Xen Project, it=92s sub projects (Hypervisor on ARM and x86, 
Upstreams and Downstreams, Embedded and Automotive variants, Cloud 
Operating Systems such as Mirage OS) usually will get tremendous value 
from attending the event.

Besides roadmap, feature updates and developer topics, this year 
features a few themes:

  * Network Function Virtualization
  * Security
  * Performance and Scalability
  * Cloud Operating Systems
  * Topics that are important for automotive/embedded/mobile use-cases,
    such as Real-time virtualization, certification and ARM support

Why not check out the agenda 
<http://events.linuxfoundation.org/events/xen-project-developer-summit/program/schedule> or 
watch last year=92s sessions 
<http://xenproject.org/component/content/article/9-uncategorised/159-xen-project-developer-summit-2013-videos-and-presentations.html> to 
get a sense of what is coming. Note that BoF=92s and discussion groups 
will be published next week.


    How to get the most out of the Summit=3F

Our developer events are designed to help you make connections and to 
participate. A good way to network are our evening social event and to 
network during the breaks. Another great way to get the most out of the 
summit is to submit a BoF/discussion groups about a topic you care about 
or to participate in a BoF/discussion group. BoF submissions 
<http://events.linuxfoundation.org/events/xen-project-developer-summit/program/bof> are 
open until August 11 and the BoF schedule will be published the week 
before the event. Most of our talks will have an extensive and 
interactive Q&A portion, which is another way to engage.

Links:

http://events.linuxfoundation.org/events/xen-project-developer-summit/program/schedule
http://events.linuxfoundation.org/events/xen-project-developer-summit/attend/register
http://events.linuxfoundation.org/events/xen-project-developer-summit


--------------080807030104060002040205
Content-Type: text/html; charset=windows-1252
Content-Length: 10410
Content-Transfer-Encoding: quoted-printable

<html>
  <head>
    <meta content=3D"text/html; charset=3Dwindows-1252"
      http-equiv=3D"Content-Type">
  </head>
  <body text=3D"#000000" bgcolor=3D"#FFFFFF">
    <p style=3D"margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;
      vertical-align: baseline; color: rgb(51, 51, 51); font-family:
      Arial, sans-serif; line-height: 18px; background-color: rgb(255,
      255, 255); background-position: initial initial;
      background-repeat: initial initial;">Only last week, the Xen
      Project team was at OSCON where we launched=A0<a
href=3D"http://xenproject.org/about/in-the-news/176-xen-project-introduces-new-mirage-os-release.html"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">Mirage OS 2.0</a>(event report to follow soon, but in
      the meantime check out the following sessions=A0<a
href=3D"http://xenproject.org/component/allvideoshare/video/latest/oscon14-mirage-2-0-nymote-git-your-own-cloud-here.html"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">Nymote and Mirage</a>,=A0<a
href=3D"http://xenproject.org/component/allvideoshare/video/latest/flossweekly-302.html"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">Floss Weekly on Mirage OS</a>=A0and=A0<a
href=3D"http://xenproject.org/component/allvideoshare/video/latest/oscon14-community-war-stories.html"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">Community War Stories</a>) and now our Developer
      Summit is just round the corner. As we have seen tremendous
      community growth in the last 12 months (&gt;30%) and the most
      feature reach Xen Project Hypervisor release coming up soon, I
      thought I=92d share what you can expect.</p>
    What to expect=3F
    <p style=3D"margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;
      vertical-align: baseline; color: rgb(51, 51, 51); font-family:
      Arial, sans-serif; line-height: 18px; background-color: rgb(255,
      255, 255); background-position: initial initial;
      background-repeat: initial initial;">Xen Project Developer Summits
      are packed with highly technical content where the core developers
      of the Xen Project community come together to discuss the
      evolution of the Xen Project. The conference is a mixture of talks
      and interactive sessions in un-conference format (which we call
      BoFs). Newcomers and those who are interested in the progress and
      future of the Xen Project, it=92s sub projects (Hypervisor on ARM
      and x86, Upstreams and Downstreams, Embedded and Automotive
      variants, Cloud Operating Systems such as Mirage OS) usually will
      get tremendous value from attending the event.</p>
    <p style=3D"margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;
      vertical-align: baseline; color: rgb(51, 51, 51); font-family:
      Arial, sans-serif; line-height: 18px; background-color: rgb(255,
      255, 255); background-position: initial initial;
      background-repeat: initial initial;">Besides roadmap, feature
      updates and developer topics, this year features a few themes:</p>
    <ul style=3D"margin: 15px 0px 15px 20px; padding: 0px 0px 0px 30px;
      border: 0px; outline: 0px; vertical-align: baseline; color:
      rgb(51, 51, 51); font-family: Arial, sans-serif; line-height:
      18px; background-color: rgb(255, 255, 255); background-position:
      initial initial; background-repeat: initial initial;">
      <li style=3D"margin: 0px 0px 9px; padding: 0px 0px 0px 12px; border:
        0px; outline: 0px; vertical-align: baseline; list-style: none;
        background-image:
        url(http://blog.xen.org/wp-content/themes/carrington-blog/img/arrow-bullet.gif);
        background-position: 0% 0%; background-repeat: no-repeat
        no-repeat;">Network Function Virtualization</li>
      <li style=3D"margin: 0px 0px 9px; padding: 0px 0px 0px 12px; border:
        0px; outline: 0px; vertical-align: baseline; list-style: none;
        background-image:
        url(http://blog.xen.org/wp-content/themes/carrington-blog/img/arrow-bullet.gif);
        background-position: 0% 0%; background-repeat: no-repeat
        no-repeat;">Security</li>
      <li style=3D"margin: 0px 0px 9px; padding: 0px 0px 0px 12px; border:
        0px; outline: 0px; vertical-align: baseline; list-style: none;
        background-image:
        url(http://blog.xen.org/wp-content/themes/carrington-blog/img/arrow-bullet.gif);
        background-position: 0% 0%; background-repeat: no-repeat
        no-repeat;">Performance and Scalability</li>
      <li style=3D"margin: 0px 0px 9px; padding: 0px 0px 0px 12px; border:
        0px; outline: 0px; vertical-align: baseline; list-style: none;
        background-image:
        url(http://blog.xen.org/wp-content/themes/carrington-blog/img/arrow-bullet.gif);
        background-position: 0% 0%; background-repeat: no-repeat
        no-repeat;">Cloud Operating Systems</li>
      <li style=3D"margin: 0px 0px 9px; padding: 0px 0px 0px 12px; border:
        0px; outline: 0px; vertical-align: baseline; list-style: none;
        background-image:
        url(http://blog.xen.org/wp-content/themes/carrington-blog/img/arrow-bullet.gif);
        background-position: 0% 0%; background-repeat: no-repeat
        no-repeat;">Topics that are important for
        automotive/embedded/mobile use-cases, such as Real-time
        virtualization, certification and ARM support</li>
    </ul>
    <p style=3D"margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;
      vertical-align: baseline; color: rgb(51, 51, 51); font-family:
      Arial, sans-serif; line-height: 18px; background-color: rgb(255,
      255, 255); background-position: initial initial;
      background-repeat: initial initial;">Why not check out the=A0<a
href=3D"http://events.linuxfoundation.org/events/xen-project-developer-summit/program/schedule"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">agenda</a>=A0or watch=A0<a
href=3D"http://xenproject.org/component/content/article/9-uncategorised/159-xen-project-developer-summit-2013-videos-and-presentations.html"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">last year=92s sessions</a>=A0to get a sense of what is
      coming. Note that BoF=92s and discussion groups will be published
      next week.</p>
    <h2 style=3D"margin: 25px 0px 15px; padding: 0px; border: 0px;
      outline: 0px; font-size: 20px; vertical-align: baseline;
      font-weight: normal; line-height: 22px; color: rgb(51, 51, 51);
      font-family: Arial, sans-serif; background-color: rgb(255, 255,
      255); background-position: initial initial; background-repeat:
      initial initial;">How to get the most out of the Summit=3F</h2>
    <p style=3D"margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;
      vertical-align: baseline; color: rgb(51, 51, 51); font-family:
      Arial, sans-serif; line-height: 18px; background-color: rgb(255,
      255, 255); position: static; z-index: auto;">Our developer events
      are designed to help you make connections and to participate. A
      good way to network are our evening social event and to network
      during the breaks. Another great way to get the most out of the
      summit is to submit a BoF/discussion groups about a topic you care
      about or to participate in a BoF/discussion group. BoF=A0<a
href=3D"http://events.linuxfoundation.org/events/xen-project-developer-summit/program/bof"
        style=3D"margin: 0px; padding: 0px; border: 0px; outline: 0px;
        vertical-align: baseline; color: rgb(160, 0, 4);
        text-decoration: none; background-color: transparent;
        background-position: initial initial; background-repeat: initial
        initial;">submissions</a>=A0are open until August 11 and the BoF
      schedule will be published the week before the event. Most of our
      talks will have an extensive and interactive Q&amp;A portion,
      which is another way to engage.<br>
    </p>
    <p style=3D"margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;
      vertical-align: baseline; color: rgb(51, 51, 51); font-family:
      Arial, sans-serif; line-height: 18px; background-color: rgb(255,
      255, 255); position: static; z-index: auto;">Links:<br>
      <br>
<a class=3D"moz-txt-link-freetext" href=3D"http://events.linuxfoundation.org/events/xen-project-developer-summit/program/schedule">http://events.linuxfoundation.org/events/xen-project-developer-summit/program/schedule</a><br>
<a class=3D"moz-txt-link-freetext" href=3D"http://events.linuxfoundation.org/events/xen-project-developer-summit/attend/register">http://events.linuxfoundation.org/events/xen-project-developer-summit/attend/register</a><br>
<a class=3D"moz-txt-link-freetext" href=3D"http://events.linuxfoundation.org/events/xen-project-developer-summit">http://events.linuxfoundation.org/events/xen-project-developer-summit</a><br>
    </p>
  </body>
</html>

--------------080807030104060002040205--


--===============3816828107713124381==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-announce mailing list
Xen-announce@lists.xen.org
http://lists.xen.org/xen-announce
--===============3816828107713124381==--


From xen-announce-bounces@lists.xen.org Tue Aug 12 13:04:46 2014
Return-path: <xen-announce-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 12 Aug 2014 13:04:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-announce-bounces@lists.xen.org>)
	id 1XHBjx-0002mJ-0a; Tue, 12 Aug 2014 13:03:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBjo-0002hn-V4; Tue, 12 Aug 2014 13:03:41 +0000
Received: from [85.158.143.35:59587] by server-1.bemta-4.messagelabs.com id
	90/08-05872-AA01AE35; Tue, 12 Aug 2014 13:03:38 +0000
X-Env-Sender: iwj@xenbits.xen.org
X-Msg-Ref: server-4.tower-21.messagelabs.com!1407848617!12523410!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.12.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20524 invoked from network); 12 Aug 2014 13:03:38 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-4.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	12 Aug 2014 13:03:38 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBjh-0004GT-CR; Tue, 12 Aug 2014 13:03:33 +0000
Received: from iwj by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBjh-00087j-Aj; Tue, 12 Aug 2014 13:03:33 +0000
Date: Tue, 12 Aug 2014 13:03:33 +0000
Message-Id: <E1XHBjh-00087j-Aj@xenbits.xen.org>
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.428 (Entity 5.428)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
	xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
Cc: "Xen.org security team" <security@xen.org>
Subject: [Xen-announce] Xen Security Advisory 103 (CVE-2014-5148) - Flaw in
 handling unknown system register access from 64-bit userspace on ARM
X-BeenThere: xen-announce@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: "Xen announcements \(low volume\)" <xen-announce.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-announce@lists.xen.org>
List-Help: <mailto:xen-announce-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=subscribe>
Sender: xen-announce-bounces@lists.xen.org
Errors-To: xen-announce-bounces@lists.xen.org


--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

              Xen Security Advisory CVE-2014-5148 / XSA-103
                                version 3

 Flaw in handling unknown system register access from 64-bit userspace on ARM

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

When handling an unknown system register access from 64-bit userspace
Xen would incorrectly return to the second instruction of the trap
handler for faults in kernel space rather than the first instruction
of the trap handler for faults in 64-bit userspace.

Any user in a guest which is running a 64-bit kernel who is able to
spawn a 64-bit process can cause a trap to the kernel to be taken at
an unexpected (but not user controlled) exception address.

Known versions of Linux in the default configuration will Oops and kill the
offending process, and therefore avoid this vulnerability. However local
configuration may turn such an Oops into a kernel panic, and therefore a
guest denial of service.

IMPACT
======

Depending on the guest kernel implementation, kernel crash (guest DoS)
or privilege elevation to that of the guest kernel cannot be ruled
out.

This issue does not enable an attack on the host.

VULNERABLE SYSTEMS
==================

64-bit ARM systems may be vulnerable, depending on the guest kernel.

All versions of Linux released by Linux upstream to date avoid this
vulnerability.  Systems based on modified versions of Linux may be
vulnerable.

32-bit ARM systems, and X86 systems, are not vulnerable.

MITIGATION
==========

There is no known mitigation for this issue.

CREDITS
=======

This issue was reported as a bug by Riku Voipio, discovered via
Linaro's LAVA testing and was diagnosed as a security issue by Ian
Campbell.

RESOLUTION
==========

Applying the appropriate attached patch resolves this issue.

The patch for XSA-103 (specifically, xsa102-*-02.patch) must be
applied first.

xsa103-unstable.patch        xen-unstable
xsa103-4.4.patch             Xen 4.4.x

$ sha256sum xsa103*.patch
fee2e0be91d08aa28ba44b616edd99a1bfcdec419966c3f9e843a842d649e4ea  xsa103-4.4.patch
838d059618d31b272ec10ac8cbb6613a68b634c98418aff2a33cd514ed06b55a  xsa103-unstable.patch
$
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBAgAGBQJT6hBtAAoJEIP+FMlX6CvZ6+sIAMiAJEzJl2pWk61kr3QT1llk
lYYEEX94QxxJIzg62o4RnMzYZXsmOT6y2YP62nEziRbBaFcgmB0bNrx+Qc52+QWk
iea2lYAJUGmEdwnY6x2raLF6Wd2alCjZxXF1UzSJJ6Vu8WiTNFXHI+mKlc9JY4bN
aStmfgvN3j6Nmjav8k9ar/8QVfc4Oe0xOlzwFt5DlNHewExWN1y+HtPnrBTkGu5K
ckgjvbxs4/SF4No59XqY0XxdpEDIEXo46keJ07DG6/nVzIl83ZtpBhxiNX8xfz91
ZYzu6feGbgtvy1+utxo/l3qBAn7TrDXn58mLTgKTM2dD3D4Crv9tKLuOXF1xVLM=
=hjBc
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa103-4.4.patch"
Content-Disposition: attachment; filename="xsa103-4.4.patch"
Content-Transfer-Encoding: base64

RnJvbSBiMzA3NWJlYjE4OGY2ZmQxY2I1MzIyNTA1Zjc2MzdkM2RlNmNmZDQx
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gSmFja3NvbiA8
aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KRGF0ZTogVGh1LCAyNCBKdWwg
MjAxNCAxNzoyMToxNSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIHhlbjogYXJt
OiBDb3JyZWN0bHkgaGFuZGxlIGRvX3N5c3JlZyBleGNlcHRpb24gaW5qZWN0
aW9uCiBmcm9tIDY0LWJpdCB1c2Vyc3BhY2UKClRoZSBkb19zeXNyZWcgY2Fz
ZSB3YXMgbWlzc2luZyBhIHJldHVybiwgc28gaXQgd291bGQgaW5jcmVtZW50
IFBDIGFuZAppbmplY3QgdGhlIHRyYXAgdG8gdGhlIHNlY29uZCBpbnN0cnVj
dGlvbiBvZiB0aGUgaGFuZGxlci4KCihUaGlzIHBhdGNoIG5lZWRzIHRvIGJl
IGFwcGxpZWQgb24gdG9wIG9mIHhzYTEwMi00LjQtMDIucGF0Y2guKQoKVGhp
cyBpcyBYU0EtMTAzLgoKU2lnbmVkLW9mZi1ieTogSWFuIENhbXBiZWxsIDxp
YW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTogSWFuIEph
Y2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkFja2VkLWJ5OiBK
dWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBsaW5hcm8ub3JnPgotLS0KIHhl
bi9hcmNoL2FybS90cmFwcy5jIHwgICAgMSArCiAxIGZpbGUgY2hhbmdlZCwg
MSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdHJh
cHMuYyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCmluZGV4IGU3NjNmMTIuLjRj
OTEwYzggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS90cmFwcy5jCisrKyBi
L3hlbi9hcmNoL2FybS90cmFwcy5jCkBAIC0xNjgzLDYgKzE2ODMsNyBAQCBz
dGF0aWMgdm9pZCBkb19zeXNyZWcoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl
Z3MsCiAgICAgICAgICAgICAgICAgICAgICBoc3IuYml0cyAmIEhTUl9TWVNS
RUdfUkVHU19NQVNLKTsKICNlbmRpZgogICAgICAgICAgICAgaW5qZWN0X3Vu
ZGVmX2V4Y2VwdGlvbihyZWdzLCBzeXNyZWcubGVuKTsKKyAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogICAgIH0KIAotLSAKMS43LjEwLjQKCg==

--=separator
Content-Type: application/octet-stream; name="xsa103-unstable.patch"
Content-Disposition: attachment; filename="xsa103-unstable.patch"
Content-Transfer-Encoding: base64

RnJvbSA0NDJmOTU5ODFlNjlkZjZlYWUwYWM5YzY3ZDQ5MzIyMTljNTU2ZTEw
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBUaHUsIDI0IEp1bCAy
MDE0IDE3OjIxOjE1ICswMTAwClN1YmplY3Q6IFtQQVRDSF0geGVuOiBhcm06
IENvcnJlY3RseSBoYW5kbGUgZG9fc3lzcmVnIGV4Y2VwdGlvbiBpbmplY3Rp
b24KIGZyb20gNjQtYml0IHVzZXJzcGFjZQoKVGhlIGRvX3N5c3JlZyBjYXNl
IHdhcyBtaXNzaW5nIGEgcmV0dXJuLCBzbyBpdCB3b3VsZCBpbmNyZW1lbnQg
UEMgYW5kCmluamVjdCB0aGUgdHJhcCB0byB0aGUgc2Vjb25kIGluc3RydWN0
aW9uIG9mIHRoZSBoYW5kbGVyLgoKKFRoaXMgcGF0Y2ggbmVlZHMgdG8gYmUg
YXBwbGllZCBvbiB0b3Agb2YgeHNhMTAyLXVuc3RhYmxlLTAyLnBhdGNoLikK
ClRoaXMgaXMgWFNBLTEwMy4KClNpZ25lZC1vZmYtYnk6IElhbiBDYW1wYmVs
bCA8aWFuLmNhbXBiZWxsQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IElh
biBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpBY2tlZC1i
eTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAbGluYXJvLm9yZz4KLS0t
CiB4ZW4vYXJjaC9hcm0vdHJhcHMuYyB8ICAgIDEgKwogMSBmaWxlIGNoYW5n
ZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt
L3RyYXBzLmMgYi94ZW4vYXJjaC9hcm0vdHJhcHMuYwppbmRleCBjODk0MjFi
Li5jZTMyNWI1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdHJhcHMuYwor
KysgYi94ZW4vYXJjaC9hcm0vdHJhcHMuYwpAQCAtMTcwNCw2ICsxNzA0LDcg
QEAgc3RhdGljIHZvaWQgZG9fc3lzcmVnKHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICpyZWdzLAogICAgICAgICAgICAgICAgICAgICAgaHNyLmJpdHMgJiBIU1Jf
U1lTUkVHX1JFR1NfTUFTSyk7CiAjZW5kaWYKICAgICAgICAgICAgIGluamVj
dF91bmRlZl9leGNlcHRpb24ocmVncywgc3lzcmVnLmxlbik7CisgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CiAKLS0gCjEuNy4xMC40
Cgo=

--=separator
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-announce mailing list
Xen-announce@lists.xen.org
http://lists.xen.org/xen-announce
--=separator--


From xen-announce-bounces@lists.xen.org Tue Aug 12 13:04:46 2014
Return-path: <xen-announce-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 12 Aug 2014 13:04:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-announce-bounces@lists.xen.org>)
	id 1XHBjs-0002jD-1p; Tue, 12 Aug 2014 13:03:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBjm-0002hK-Ij; Tue, 12 Aug 2014 13:03:38 +0000
Received: from [85.158.139.211:24658] by server-6.bemta-5.messagelabs.com id
	ED/D3-06284-9A01AE35; Tue, 12 Aug 2014 13:03:37 +0000
X-Env-Sender: iwj@xenbits.xen.org
X-Msg-Ref: server-6.tower-206.messagelabs.com!1407848615!10884061!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.12.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5226 invoked from network); 12 Aug 2014 13:03:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	12 Aug 2014 13:03:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBje-0004GD-I1; Tue, 12 Aug 2014 13:03:30 +0000
Received: from iwj by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBje-00086k-FW; Tue, 12 Aug 2014 13:03:30 +0000
Date: Tue, 12 Aug 2014 13:03:30 +0000
Message-Id: <E1XHBje-00086k-FW@xenbits.xen.org>
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.428 (Entity 5.428)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
	xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
Cc: "Xen.org security team" <security@xen.org>
Subject: [Xen-announce] Xen Security Advisory 102 (CVE-2014-5147) - Flaws in
 handling traps from 32-bit userspace on 64-bit ARM
X-BeenThere: xen-announce@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: "Xen announcements \(low volume\)" <xen-announce.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-announce@lists.xen.org>
List-Help: <mailto:xen-announce-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=subscribe>
Sender: xen-announce-bounces@lists.xen.org
Errors-To: xen-announce-bounces@lists.xen.org


--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

              Xen Security Advisory CVE-2014-5147 / XSA-102
                              version 3

       Flaws in handling traps from 32-bit userspace on 64-bit ARM

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

When handling a trap from guest mode on ARM, Xen asserts that the
current guest mode must match the domain address width.  This
assertion is false when a guest takes a trap from a 32-bit userspace
running on a 64-bit kernel in a 64-bit domain.

IMPACT
======

Any user in a guest which is running a 64-bit kernel who is able to
spawn a 32-bit process can crash the host.  I.e. an unprivileged guest
user can cause host-wide denial of service.

VULNERABLE SYSTEMS
==================

32-bit ARM systems and and X86 systems are not vulnerable.

64-bit ARM systems which support 32-bit userspace are vulnerable.

Not all 64-bit ARM CPUs support 32-bit userspace in the actual CPU
hardware.  Systems without that hardware support are not vulnerable.

Also, not all 64-bit ARM guest kernels have support for 32-bit
userspace.  Systems without that kernel support are vulnerable to a
malicious guest administrator, but not to an unprivileged guest user.

MITIGATION
==========

On systems where the guest kernel is controlled by the host rather than
guest administrator, running only 32-bit kernels.

On systems where the guest kernel is controlled by the host rather than
guest administrator, running 64-bit kernels with support for 32-bit
userspace disabled (e.g CONFIG_COMPAT=n under Linux) will prevent untrusted
guest users from exploting this issue. However untrusted guest
administrators can still trigger it unless further steps are taken to
prevent them from loading code into the kernel (e.g. by disabling loadable
modules etc) or from using other mechanisms which allow them to run code at
kernel privilege.

CREDITS
=======

This issue was reported as a bug by Riku Voipio, discovered via
Linaro's LAVA testing and was diagnosed as a security issue by Ian
Campbell.

RESOLUTION
==========

Applying the appropriate attached patches resolves these security
issues.

xsa102-unstable-*.patch        xen-unstable
xsa102-4.4-*.patch             Xen 4.4.x

$ sha256sum xsa102*.patch
a5beb5c552e5bffe3e115905c478d6699c35df1d8721f8d6681099c38a974091  xsa102-4.4-01.patch
9f04ecda4dd9e31360daa27d87588d6017d866a97b84566241097def0af86a63  xsa102-4.4-02.patch
a9860803ed5ed57bdc3ac94cdc924618b19e805b7f6a87bf9c1a9ea4b627281a  xsa102-4.4-03.patch
7d0b5e05e5915c6c2d83590ba9acab0acfd1eba986a65a20ba69cf2c3394e062  xsa102-unstable-01.patch
7d5cf339a3f8c98b3e06852f845a2305df3f8ce195d243ee22d6783bb6904d60  xsa102-unstable-02.patch
3ca7b0632af36cc72ba59ed1822bcaebf2363f150435348265d1ade25e21bf90  xsa102-unstable-03.patch
$
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBAgAGBQJT6hBqAAoJEIP+FMlX6CvZDi0H/jFJPRxBIglzATvMDaho19fw
Ao1OHP99dZn3XkKf/qfw4v90KttCEp5+3uQo34hhXNTLkvbm5KCsZDjOdL812d3G
JjvEBWnU7480Av0QkvsYVoH+yjks0PIu6xEI+kQqKAAG4vbVxTi5ORg7HMkeOKAY
5Uyj5xjWi5JRn+V8pYcUr9wZZlvhEAuDbVATeg9dH6+FyH/4V9viNWWHBePi3Ocn
HWPt7U/Cv55wLIxfjmw27C5Te3b/xNjxy9hk+1XrGMafiO7FU1ntgHmqswqN+lBR
beORG0dRNl0fU6QY8dakssYzjwA0jgV9HKoonbUGlp+fPxRl2pNuoe7Mvn/y1nU=
=Iuvx
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa102-4.4-01.patch"
Content-Disposition: attachment; filename="xsa102-4.4-01.patch"
Content-Transfer-Encoding: base64

RnJvbSA5ZjczYzVkMTIyYjdmYTA3ODVlODIzY2IyMDNlYzc3M2NhZWM3NjQw
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBGcmksIDE4IEp1bCAy
MDE0IDE0OjEzOjE0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxLzNdIHhlbjog
YXJtOiBoYW5kbGUgQUFyY2gzMiB1c2Vyc3BhY2Ugd2hlbiBkdW1waW5nIDY0
LWJpdAogZ3Vlc3Qgc3RhdGUuCgpBIDY0LWJpdCBndWVzdCBjYW4gc3RpbGwg
YmUgaW4gMzItYml0IG1vZGUgd2hlbiBydW5uaW5nIHVzZXJzcGFjZSwKaGFu
ZGxlIHRoaXMgY2FzZSBieSBkdW1waW5nIHRoZSBjb3JyZWN0IDMyLWJpdCBz
dGF0ZS4KCk5vdGUgdGhhdCBvbiBBUk0gaXQgaXMgbm90IHBvc3NpYmxlIHRv
IGNoYW5nZSBtb2RlIHdpdGhvdXQgdGhlIGhlbHAKb2YgdGhlIG5leHQgZXhj
ZXB0aW9uIGxldmVsLCBoZW5jZSB0aGVyZSBpcyBubyB3YXkgYSA2NC1iaXQg
Z3Vlc3QgY2FuCmJlIHJ1bm5pbmcgaW4gMzItYml0IGtlcm5lbCBtb2Rlcy4K
ClRoaXMgaXMgcGFydCBvZiBYU0EtMTAyLgoKU2lnbmVkLW9mZi1ieTogSWFu
IENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KQWNrZWQtYnk6
IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGxpbmFyby5vcmc+Ci0tLQog
eGVuL2FyY2gvYXJtL3RyYXBzLmMgfCAgIDEyICsrKysrKysrKysrLQogMSBm
aWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNo
L2FybS90cmFwcy5jCmluZGV4IGUyZTJkYjMuLjczNjczOTkgMTAwNjQ0Ci0t
LSBhL3hlbi9hcmNoL2FybS90cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90
cmFwcy5jCkBAIC02OTcsNyArNjk3LDE3IEBAIHN0YXRpYyB2b2lkIF9zaG93
X3JlZ2lzdGVycyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAg
ICAgICAgIHNob3dfcmVnaXN0ZXJzXzMyKHJlZ3MsIGN0eHQsIGd1ZXN0X21v
ZGUsIHYpOwogI2lmZGVmIENPTkZJR19BUk1fNjQKICAgICAgICAgZWxzZSBp
ZiAoIGlzX3B2NjRfZG9tYWluKHYtPmRvbWFpbikgKQotICAgICAgICAgICAg
c2hvd19yZWdpc3RlcnNfNjQocmVncywgY3R4dCwgZ3Vlc3RfbW9kZSwgdik7
CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggcHNyX21vZGVfaXNfMzJi
aXQocmVncy0+Y3BzcikgKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIEJVR19PTighdXNyX21vZGUocmVncykpOworICAgICAgICAgICAgICAg
IHNob3dfcmVnaXN0ZXJzXzMyKHJlZ3MsIGN0eHQsIGd1ZXN0X21vZGUsIHYp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHNob3dfcmVnaXN0ZXJzXzY0KHJlZ3Ms
IGN0eHQsIGd1ZXN0X21vZGUsIHYpOworICAgICAgICAgICAgfQorICAgICAg
ICB9CiAjZW5kaWYKICAgICB9CiAgICAgZWxzZQotLSAKMS43LjEwLjQKCg==

--=separator
Content-Type: application/octet-stream; name="xsa102-4.4-02.patch"
Content-Disposition: attachment; filename="xsa102-4.4-02.patch"
Content-Transfer-Encoding: base64

RnJvbSA2NGQ2OGZjNTlmMTM0MWUzNmM1OTVkZjIxNTEyYzViMmE1Y2NkZTZm
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBUdWUsIDIyIEp1bCAy
MDE0IDExOjMxOjU0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyLzNdIHhlbjog
YXJtOiBDb3JyZWN0bHkgaGFuZGxlIGV4Y2VwdGlvbiBpbmplY3Rpb24gZnJv
bQogdXNlcnNwYWNlIG9uIDY0LWJpdC4KCkZpcnN0bHkgd2UgbXVzdCBiZSBw
cmVwYXJlZCB0byBwcm9wYWdhdGUgdHJhcHMgZnJvbSAzMi1iaXQgdXNlcnNw
YWNlIGV2ZW4gZm9yCjY0LWJpdCBndWVzdHMsIHNvIHdyYXAgdGhlIGV4aXN0
aW5nIGluamVjdF91bmRlZj8/X2V4Y2VwdGlvbiBpbnRvCmluamVjdF91bmRl
Zl9leGNlcHRpb24gYW5kIHVzZSB0aGF0IHdoZW4gaW5qZWN0aW5nIGFuIHVu
ZGVmIGV4Y2VwdGlvbi4gVGhlCnZhcmlvdXMgb3RoZXIgZXhjZXB0aW9uIGNh
c2VzIChhYm9ydHMgZXRjKSBhbHJlYWR5IGRvIHRoaXMuCgpTZWNvbmRseSB3
aGVuIGluamVjdGluZyB0aGUgdHJhcCB3ZSBtdXN0IHBpY2sgdGhlIGNvcnJl
Y3QgZXhjZXB0aW9uIHZlY3RvcgpkZXBlbmRpbmcgb24gd2hldGhlciB0aGUg
c291cmNlIG9mIHRoZSB0cmFwIHdhcyAzMi1iaXQgRUwwLCA2NC1iaXQgRUww
IG9yIEVMMS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMTAyLgoKU2lnbmVkLW9m
Zi1ieTogSWFuIENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4K
QWNrZWQtYnk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGxpbmFyby5v
cmc+Ci0tLQogeGVuL2FyY2gvYXJtL3RyYXBzLmMgICAgICAgICAgICB8ICAg
NTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiB4
ZW4vaW5jbHVkZS9hc20tYXJtL3Byb2Nlc3Nvci5oIHwgICAxOCArKysrKysr
LS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDE5
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90cmFw
cy5jIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKaW5kZXggNzM2NzM5OS4uNjUz
NjIwOSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3RyYXBzLmMKKysrIGIv
eGVuL2FyY2gvYXJtL3RyYXBzLmMKQEAgLTI4Niw3ICsyODYsNyBAQCBzdGF0
aWMgdm9pZCBjcHNyX3N3aXRjaF9tb2RlKHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICpyZWdzLCBpbnQgbW9kZSkKICAgICAgICAgcmVncy0+Y3BzciB8PSBQU1Jf
QklHX0VORElBTjsKIH0KIAotc3RhdGljIHZhZGRyX3QgZXhjZXB0aW9uX2hh
bmRsZXIodmFkZHJfdCBvZmZzZXQpCitzdGF0aWMgdmFkZHJfdCBleGNlcHRp
b25faGFuZGxlcjMyKHZhZGRyX3Qgb2Zmc2V0KQogewogICAgIHVpbnQzMl90
IHNjdGxyID0gUkVBRF9TWVNSRUczMihTQ1RMUl9FTDEpOwogCkBAIC0zMTgs
NyArMzE4LDcgQEAgc3RhdGljIHZvaWQgaW5qZWN0X3VuZGVmMzJfZXhjZXB0
aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIHJlZ3MtPmxy
X3VuZCA9IHJlZ3MtPnBjMzIgKyByZXR1cm5fb2Zmc2V0OwogCiAgICAgLyog
QnJhbmNoIHRvIGV4Y2VwdGlvbiB2ZWN0b3IgKi8KLSAgICByZWdzLT5wYzMy
ID0gZXhjZXB0aW9uX2hhbmRsZXIoVkVDVE9SMzJfVU5EKTsKKyAgICByZWdz
LT5wYzMyID0gZXhjZXB0aW9uX2hhbmRsZXIzMihWRUNUT1IzMl9VTkQpOwog
fQogCiAvKiBJbmplY3RzIGFuIEFib3J0IGV4Y2VwdGlvbiBpbnRvIHRoZSBj
dXJyZW50IHZjcHUsIFBDIGlzIHRoZSBleGFjdApAQCAtMzQ0LDcgKzM0NCw3
IEBAIHN0YXRpYyB2b2lkIGluamVjdF9hYnQzMl9leGNlcHRpb24oc3RydWN0
IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAgcmVncy0+c3Bzcl9hYnQgPSBz
cHNyOwogICAgIHJlZ3MtPmxyX2FidCA9IHJlZ3MtPnBjMzIgKyByZXR1cm5f
b2Zmc2V0OwogCi0gICAgcmVncy0+cGMzMiA9IGV4Y2VwdGlvbl9oYW5kbGVy
KHByZWZldGNoID8gVkVDVE9SMzJfUEFCVCA6IFZFQ1RPUjMyX0RBQlQpOwor
ICAgIHJlZ3MtPnBjMzIgPSBleGNlcHRpb25faGFuZGxlcjMyKHByZWZldGNo
ID8gVkVDVE9SMzJfUEFCVCA6IFZFQ1RPUjMyX0RBQlQpOwogCiAgICAgLyog
SW5qZWN0IGEgZGVidWcgZmF1bHQsIGJlc3Qgd2UgY2FuIGRvIHJpZ2h0IG5v
dyAqLwogICAgIGlmICggUkVBRF9TWVNSRUcoVENSX0VMMSkgJiBUVEJDUl9F
QUUgKQpAQCAtMzk3LDkgKzM5NywyOCBAQCBzdGF0aWMgdm9pZCBpbmplY3Rf
cGFidDMyX2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywK
IH0KIAogI2lmZGVmIENPTkZJR19BUk1fNjQKKy8qCisgKiBUYWtlIGNhcmUg
dG8gY2FsbCB0aGlzIHdoaWxlIHJlZ3MgY29udGFpbnMgdGhlIG9yaWdpbmFs
IGZhdWx0aW5nCisgKiBzdGF0ZSBhbmQgbm90IHRoZSAocGFydGlhbGx5IGNv
bnN0cnVjdGVkKSBleGNlcHRpb24gc3RhdGUuCisgKi8KK3N0YXRpYyB2YWRk
cl90IGV4Y2VwdGlvbl9oYW5kbGVyNjQoc3RydWN0IGNwdV91c2VyX3JlZ3Mg
KnJlZ3MsIHZhZGRyX3Qgb2Zmc2V0KQoreworICAgIHZhZGRyX3QgYmFzZSA9
IFJFQURfU1lTUkVHKFZCQVJfRUwxKTsKKworICAgIGlmICggdXNyX21vZGUo
cmVncykgKQorICAgICAgICBiYXNlICs9IFZFQ1RPUjY0X0xPV0VSMzJfQkFT
RTsKKyAgICBlbHNlIGlmICggcHNyX21vZGUocmVncy0+Y3BzcixQU1JfTU9E
RV9FTDB0KSApCisgICAgICAgIGJhc2UgKz0gVkVDVE9SNjRfTE9XRVI2NF9C
QVNFOworICAgIGVsc2UgLyogT3RoZXJ3aXNlIG11c3QgYmUgZnJvbSBrZXJu
ZWwgbW9kZSAqLworICAgICAgICBiYXNlICs9IFZFQ1RPUjY0X0NVUlJFTlRf
U1B4X0JBU0U7CisKKyAgICByZXR1cm4gYmFzZSArIG9mZnNldDsKK30KKwog
LyogSW5qZWN0IGFuIHVuZGVmaW5lZCBleGNlcHRpb24gaW50byBhIDY0IGJp
dCBndWVzdCAqLwogc3RhdGljIHZvaWQgaW5qZWN0X3VuZGVmNjRfZXhjZXB0
aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCBpbnQgaW5zdHJfbGVu
KQogeworICAgIHZhZGRyX3QgaGFuZGxlcjsKICAgICB1bmlvbiBoc3IgZXNy
ID0gewogICAgICAgICAuaXNzID0gMCwKICAgICAgICAgLmxlbiA9IGluc3Ry
X2xlbiwKQEAgLTQwOCwxMiArNDI3LDE0IEBAIHN0YXRpYyB2b2lkIGluamVj
dF91bmRlZjY0X2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn
cywgaW50IGluc3RyX2xlbikKIAogICAgIEJVR19PTiggaXNfcHYzMl9kb21h
aW4oY3VycmVudC0+ZG9tYWluKSApOwogCisgICAgaGFuZGxlciA9IGV4Y2Vw
dGlvbl9oYW5kbGVyNjQocmVncywgVkVDVE9SNjRfU1lOQ19PRkZTRVQpOwor
CiAgICAgcmVncy0+c3Bzcl9lbDEgPSByZWdzLT5jcHNyOwogICAgIHJlZ3Mt
PmVscl9lbDEgPSByZWdzLT5wYzsKIAogICAgIHJlZ3MtPmNwc3IgPSBQU1Jf
TU9ERV9FTDFoIHwgUFNSX0FCVF9NQVNLIHwgUFNSX0ZJUV9NQVNLIHwgXAog
ICAgICAgICBQU1JfSVJRX01BU0sgfCBQU1JfREJHX01BU0s7Ci0gICAgcmVn
cy0+cGMgPSBSRUFEX1NZU1JFRyhWQkFSX0VMMSkgKyBWRUNUT1I2NF9DVVJS
RU5UX1NQeF9TWU5DOworICAgIHJlZ3MtPnBjID0gaGFuZGxlcjsKIAogICAg
IFdSSVRFX1NZU1JFRzMyKGVzci5iaXRzLCBFU1JfRUwxKTsKIH0KQEAgLTQy
NCw2ICs0NDUsNyBAQCBzdGF0aWMgdm9pZCBpbmplY3RfYWJ0NjRfZXhjZXB0
aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcl90IGFkZHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbnN0cl9sZW4p
CiB7CisgICAgdmFkZHJfdCBoYW5kbGVyOwogICAgIHVuaW9uIGhzciBlc3Ig
PSB7CiAgICAgICAgIC5pc3MgPSAwLAogICAgICAgICAubGVuID0gaW5zdHJf
bGVuLApAQCAtNDQ1LDEyICs0NjcsMTQgQEAgc3RhdGljIHZvaWQgaW5qZWN0
X2FidDY0X2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywK
IAogICAgIEJVR19PTiggaXNfcHYzMl9kb21haW4oY3VycmVudC0+ZG9tYWlu
KSApOwogCisgICAgaGFuZGxlciA9IGV4Y2VwdGlvbl9oYW5kbGVyNjQocmVn
cywgVkVDVE9SNjRfU1lOQ19PRkZTRVQpOworCiAgICAgcmVncy0+c3Bzcl9l
bDEgPSByZWdzLT5jcHNyOwogICAgIHJlZ3MtPmVscl9lbDEgPSByZWdzLT5w
YzsKIAogICAgIHJlZ3MtPmNwc3IgPSBQU1JfTU9ERV9FTDFoIHwgUFNSX0FC
VF9NQVNLIHwgUFNSX0ZJUV9NQVNLIHwgXAogICAgICAgICBQU1JfSVJRX01B
U0sgfCBQU1JfREJHX01BU0s7Ci0gICAgcmVncy0+cGMgPSBSRUFEX1NZU1JF
RyhWQkFSX0VMMSkgKyBWRUNUT1I2NF9DVVJSRU5UX1NQeF9TWU5DOworICAg
IHJlZ3MtPnBjID0gaGFuZGxlcjsKIAogICAgIFdSSVRFX1NZU1JFRyhhZGRy
LCBGQVJfRUwxKTsKICAgICBXUklURV9TWVNSRUczMihlc3IuYml0cywgRVNS
X0VMMSk7CkBAIC00NzIsNiArNDk2LDE3IEBAIHN0YXRpYyB2b2lkIGluamVj
dF9pYWJ0NjRfZXhjZXB0aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdz
LAogCiAjZW5kaWYKIAorc3RhdGljIHZvaWQgaW5qZWN0X3VuZGVmX2V4Y2Vw
dGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluc3RyX2xlbikKK3sKKyAg
ICAgICAgaWYgKCBpc19wdjMyX2RvbWFpbihjdXJyZW50LT5kb21haW4pICkK
KyAgICAgICAgICAgIGluamVjdF91bmRlZjMyX2V4Y2VwdGlvbihyZWdzKTsK
KyNpZmRlZiBDT05GSUdfQVJNXzY0CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGluamVjdF91bmRlZjY0X2V4Y2VwdGlvbihyZWdzLCBpbnN0cl9sZW4p
OworI2VuZGlmCit9CisKIHN0YXRpYyB2b2lkIGluamVjdF9pYWJ0X2V4Y2Vw
dGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcl90IGFkZHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluc3RyX2xlbikK
QEAgLTE0NDAsNyArMTQ3NSw3IEBAIHN0YXRpYyB2b2lkIGRvX2NwMTVfMzIo
c3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAgICAgIGdkcHJpbnRr
KFhFTkxPR19FUlIsICJ1bmhhbmRsZWQgMzItYml0IENQMTUgYWNjZXNzICUj
eFxuIiwKICAgICAgICAgICAgICAgICAgaHNyLmJpdHMgJiBIU1JfQ1AzMl9S
RUdTX01BU0spOwogI2VuZGlmCi0gICAgICAgIGluamVjdF91bmRlZjMyX2V4
Y2VwdGlvbihyZWdzKTsKKyAgICAgICAgaW5qZWN0X3VuZGVmX2V4Y2VwdGlv
bihyZWdzLCBoc3IubGVuKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAg
ICBhZHZhbmNlX3BjKHJlZ3MsIGhzcik7CkBAIC0xNDc3LDcgKzE1MTIsNyBA
QCBzdGF0aWMgdm9pZCBkb19jcDE1XzY0KHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICpyZWdzLAogICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0VSUiwgInVu
aGFuZGxlZCA2NC1iaXQgQ1AxNSBhY2Nlc3MgJSN4XG4iLAogICAgICAgICAg
ICAgICAgICAgICAgaHNyLmJpdHMgJiBIU1JfQ1A2NF9SRUdTX01BU0spOwog
I2VuZGlmCi0gICAgICAgICAgICBpbmplY3RfdW5kZWYzMl9leGNlcHRpb24o
cmVncyk7CisgICAgICAgICAgICBpbmplY3RfdW5kZWZfZXhjZXB0aW9uKHJl
Z3MsIGhzci5sZW4pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAgICAgfQpAQCAtMTU0Niw3ICsxNTgxLDcgQEAgYmFkX2NwOgogICAgICAg
ICBnZHByaW50ayhYRU5MT0dfRVJSLCAidW5oYW5kbGVkIDMyLWJpdCBjcDE0
IGFjY2VzcyAlI3hcbiIsCiAgICAgICAgICAgICAgICAgIGhzci5iaXRzICYg
SFNSX0NQMzJfUkVHU19NQVNLKTsKICNlbmRpZgotICAgICAgICBpbmplY3Rf
dW5kZWYzMl9leGNlcHRpb24ocmVncyk7CisgICAgICAgIGluamVjdF91bmRl
Zl9leGNlcHRpb24ocmVncywgaHNyLmxlbik7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTE1NjEsNyArMTU5Niw3IEBAIHN0YXRpYyB2b2lkIGRv
X2NwMTRfZGJnKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCB1bmlvbiBo
c3IgaHNyKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaW5qZWN0
X3VuZGVmMzJfZXhjZXB0aW9uKHJlZ3MpOworICAgIGluamVjdF91bmRlZl9l
eGNlcHRpb24ocmVncywgaHNyLmxlbik7CiB9CiAKIHN0YXRpYyB2b2lkIGRv
X2NwKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCB1bmlvbiBoc3IgaHNy
KQpAQCAtMTU3Miw3ICsxNjA3LDcgQEAgc3RhdGljIHZvaWQgZG9fY3Aoc3Ry
dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuaW9uIGhzciBoc3IpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpbmplY3RfdW5kZWYzMl9leGNl
cHRpb24ocmVncyk7CisgICAgaW5qZWN0X3VuZGVmX2V4Y2VwdGlvbihyZWdz
LCBoc3IubGVuKTsKIH0KIAogI2lmZGVmIENPTkZJR19BUk1fNjQKQEAgLTE2
NDcsNyArMTY4Miw3IEBAIHN0YXRpYyB2b2lkIGRvX3N5c3JlZyhzdHJ1Y3Qg
Y3B1X3VzZXJfcmVncyAqcmVncywKICAgICAgICAgICAgIGdkcHJpbnRrKFhF
TkxPR19FUlIsICJ1bmhhbmRsZWQgNjQtYml0IHN5c3JlZyBhY2Nlc3MgJSN4
XG4iLAogICAgICAgICAgICAgICAgICAgICAgaHNyLmJpdHMgJiBIU1JfU1lT
UkVHX1JFR1NfTUFTSyk7CiAjZW5kaWYKLSAgICAgICAgICAgIGluamVjdF91
bmRlZjY0X2V4Y2VwdGlvbihyZWdzLCBzeXNyZWcubGVuKTsKKyAgICAgICAg
ICAgIGluamVjdF91bmRlZl9leGNlcHRpb24ocmVncywgc3lzcmVnLmxlbik7
CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl
L2FzbS1hcm0vcHJvY2Vzc29yLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3By
b2Nlc3Nvci5oCmluZGV4IDkyNjdjMWIuLjFmMTU4Y2UgMTAwNjQ0Ci0tLSBh
L3hlbi9pbmNsdWRlL2FzbS1hcm0vcHJvY2Vzc29yLmgKKysrIGIveGVuL2lu
Y2x1ZGUvYXNtLWFybS9wcm9jZXNzb3IuaApAQCAtNDMyLDE0ICs0MzIsMTYg
QEAgdW5pb24gaHNyIHsKICNkZWZpbmUgVkVDVE9SMzJfUEFCVCAxMgogI2Rl
ZmluZSBWRUNUT1IzMl9EQUJUIDE2CiAvKiAuLi4gQVJNNjQgKi8KLSNkZWZp
bmUgVkVDVE9SNjRfQ1VSUkVOVF9TUDBfU1lOQyAgMHgwMDAKLSNkZWZpbmUg
VkVDVE9SNjRfQ1VSUkVOVF9TUDBfSVJRICAgMHgwODAKLSNkZWZpbmUgVkVD
VE9SNjRfQ1VSUkVOVF9TUDBfRklRICAgMHgxMDAKLSNkZWZpbmUgVkVDVE9S
NjRfQ1VSUkVOVF9TUDBfRVJST1IgMHgxODAKLSNkZWZpbmUgVkVDVE9SNjRf
Q1VSUkVOVF9TUHhfU1lOQyAgMHgyMDAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VS
UkVOVF9TUHhfSVJRICAgMHgyODAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVO
VF9TUHhfRklRICAgMHgzMDAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9T
UHhfRVJST1IgMHgzODAKKyNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUDBf
QkFTRSAgMHgwMDAKKyNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUHhfQkFT
RSAgMHgyMDAKKyNkZWZpbmUgVkVDVE9SNjRfTE9XRVI2NF9CQVNFICAgICAg
MHg0MDAKKyNkZWZpbmUgVkVDVE9SNjRfTE9XRVIzMl9CQVNFICAgICAgMHg2
MDAKKworI2RlZmluZSBWRUNUT1I2NF9TWU5DX09GRlNFVCAgICAgICAweDAw
MAorI2RlZmluZSBWRUNUT1I2NF9JUlFfT0ZGU0VUICAgICAgICAweDA4MAor
I2RlZmluZSBWRUNUT1I2NF9GSVFfT0ZGU0VUICAgICAgICAweDEwMAorI2Rl
ZmluZSBWRUNUT1I2NF9FUlJPUl9PRkZTRVQgICAgICAweDE4MAorCiAKICNp
ZiBkZWZpbmVkKENPTkZJR19BUk1fMzIpCiAjIGluY2x1ZGUgPGFzbS9hcm0z
Mi9wcm9jZXNzb3IuaD4KLS0gCjEuNy4xMC40Cgo=

--=separator
Content-Type: application/octet-stream; name="xsa102-4.4-03.patch"
Content-Disposition: attachment; filename="xsa102-4.4-03.patch"
Content-Transfer-Encoding: base64

RnJvbSAwOGE2ODk1YWY4NTM1Yjg1MmZmNDM2OGMzMGEwYzk2OGE2OWFiMWFk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBUaHUsIDI0IEp1bCAy
MDE0IDEyOjI4OjIyICswMTAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIHhlbjog
YXJtOiBIYW5kbGUgdHJhcHMgZnJvbSAzMi1iaXQgdXNlcnNwYWNlIG9uIDY0
LWJpdAoga2VybmVsIGFzIHVuZGVmCgpXZSBhcmUgbm90IHNldHVwIHRvIGhh
bmRsZSB0aGVzZSBwcm9wZXJseS4gVGhpcyB0dXJucyBhIGhvc3QgY3Jhc2gK
aW50byBhIHRyYXAgdG8gdGhlIGd1ZXN0IGtlcm5lbCB3aGljaCB3aWxsIGxp
a2VseSByZXN1bHQgaW4ga2lsbGluZwp0aGUgb2ZmZW5kaW5nIHByb2Nlc3Mu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTEwMi4KClNpZ25lZC1vZmYtYnk6IElh
biBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNpdHJpeC5jb20+CkFja2VkLWJ5
OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBsaW5hcm8ub3JnPgotLS0K
IHhlbi9hcmNoL2FybS90cmFwcy5jIHwgICAxMSArKysrKysrKysrKwogMSBm
aWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCmlu
ZGV4IDY1MzYyMDkuLmU3NjNmMTIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2Fy
bS90cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCkBAIC0xODEy
LDYgKzE4MTIsMTcgQEAgYXNtbGlua2FnZSB2b2lkIGRvX3RyYXBfaHlwZXJ2
aXNvcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsKICAgICB1bmlv
biBoc3IgaHNyID0geyAuYml0cyA9IFJFQURfU1lTUkVHMzIoRVNSX0VMMikg
fTsKIAorICAgIC8qCisgICAgICogV2UgY3VycmVudGx5IGRvIG5vdCBoYW5k
bGUgMzItYml0IHVzZXJzcGFjZSBvbiA2NC1iaXQga2VybmVscworICAgICAq
IGNvcnJlY3RseSAoU2VlIFhTQS0xMDIpLiBVbnRpbCB0aGF0IGlzIHJlc29s
dmVkIHdlIHRyZWF0IGFueQorICAgICAqIHRyYXAgZnJvbSAzMi1iaXQgdXNl
cnNwYWNlIG9uIDY0LWJpdCBrZXJuZWwgYXMgdW5kZWZpbmVkLgorICAgICAq
LworICAgIGlmICggaXNfcHY2NF9kb21haW4oY3VycmVudC0+ZG9tYWluKSAm
JiBwc3JfbW9kZV9pc18zMmJpdChyZWdzLT5jcHNyKSApCisgICAgeworICAg
ICAgICBpbmplY3RfdW5kZWZfZXhjZXB0aW9uKHJlZ3MsIGhzci5sZW4pOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgc3dpdGNoIChoc3IuZWMp
IHsKICAgICBjYXNlIEhTUl9FQ19XRklfV0ZFOgogICAgICAgICBpZiAoICFj
aGVja19jb25kaXRpb25hbF9pbnN0cihyZWdzLCBoc3IpICkKLS0gCjEuNy4x
MC40Cgo=

--=separator
Content-Type: application/octet-stream; name="xsa102-unstable-01.patch"
Content-Disposition: attachment; filename="xsa102-unstable-01.patch"
Content-Transfer-Encoding: base64

RnJvbSBiMGVlNjhjYTk4MWQ5ZmUxZjVlOWZlN2MxNDc2OTIxZDhmOGJkYWY3
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBGcmksIDE4IEp1bCAy
MDE0IDE0OjEzOjE0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxLzNdIHhlbjog
YXJtOiBoYW5kbGUgQUFyY2gzMiB1c2Vyc3BhY2Ugd2hlbiBkdW1waW5nIDY0
LWJpdAogZ3Vlc3Qgc3RhdGUuCgpBIDY0LWJpdCBndWVzdCBjYW4gc3RpbGwg
YmUgaW4gMzItYml0IG1vZGUgd2hlbiBydW5uaW5nIHVzZXJzcGFjZSwKaGFu
ZGxlIHRoaXMgY2FzZSBieSBkdW1waW5nIHRoZSBjb3JyZWN0IDMyLWJpdCBz
dGF0ZS4KCk5vdGUgdGhhdCBvbiBBUk0gaXQgaXMgbm90IHBvc3NpYmxlIHRv
IGNoYW5nZSBtb2RlIHdpdGhvdXQgdGhlIGhlbHAKb2YgdGhlIG5leHQgZXhj
ZXB0aW9uIGxldmVsLCBoZW5jZSB0aGVyZSBpcyBubyB3YXkgYSA2NC1iaXQg
Z3Vlc3QgY2FuCmJlIHJ1bm5pbmcgaW4gMzItYml0IGtlcm5lbCBtb2Rlcy4K
ClRoaXMgaXMgcGFydCBvZiBYU0EtMTAyLgoKU2lnbmVkLW9mZi1ieTogSWFu
IENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KQWNrZWQtYnk6
IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGxpbmFyby5vcmc+Ci0tLQog
eGVuL2FyY2gvYXJtL3RyYXBzLmMgfCAgIDEyICsrKysrKysrKysrLQogMSBm
aWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNo
L2FybS90cmFwcy5jCmluZGV4IDNkZmFiZDAuLmUxMDQ1MDkgMTAwNjQ0Ci0t
LSBhL3hlbi9hcmNoL2FybS90cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90
cmFwcy5jCkBAIC02OTcsNyArNjk3LDE3IEBAIHN0YXRpYyB2b2lkIF9zaG93
X3JlZ2lzdGVycyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAg
ICAgICAgIHNob3dfcmVnaXN0ZXJzXzMyKHJlZ3MsIGN0eHQsIGd1ZXN0X21v
ZGUsIHYpOwogI2lmZGVmIENPTkZJR19BUk1fNjQKICAgICAgICAgZWxzZSBp
ZiAoIGlzXzY0Yml0X2RvbWFpbih2LT5kb21haW4pICkKLSAgICAgICAgICAg
IHNob3dfcmVnaXN0ZXJzXzY0KHJlZ3MsIGN0eHQsIGd1ZXN0X21vZGUsIHYp
OworICAgICAgICB7CisgICAgICAgICAgICBpZiAoIHBzcl9tb2RlX2lzXzMy
Yml0KHJlZ3MtPmNwc3IpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBCVUdfT04oIXVzcl9tb2RlKHJlZ3MpKTsKKyAgICAgICAgICAgICAg
ICBzaG93X3JlZ2lzdGVyc18zMihyZWdzLCBjdHh0LCBndWVzdF9tb2RlLCB2
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBzaG93X3JlZ2lzdGVyc182NChyZWdz
LCBjdHh0LCBndWVzdF9tb2RlLCB2KTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQogI2VuZGlmCiAgICAgfQogICAgIGVsc2UKLS0gCjEuNy4xMC40Cgo=

--=separator
Content-Type: application/octet-stream; name="xsa102-unstable-02.patch"
Content-Disposition: attachment; filename="xsa102-unstable-02.patch"
Content-Transfer-Encoding: base64

RnJvbSAyYzI1ODdlZDc0ZjZiMTE2ZDI4MzlkOWQ1MWJhODg2NzdkNjQxNGVm
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBUdWUsIDIyIEp1bCAy
MDE0IDExOjMxOjU0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyLzNdIHhlbjog
YXJtOiBDb3JyZWN0bHkgaGFuZGxlIGV4Y2VwdGlvbiBpbmplY3Rpb24gZnJv
bQogdXNlcnNwYWNlIG9uIDY0LWJpdC4KCkZpcnN0bHkgd2UgbXVzdCBiZSBw
cmVwYXJlZCB0byBwcm9wYWdhdGUgdHJhcHMgZnJvbSAzMi1iaXQgdXNlcnNw
YWNlIGV2ZW4gZm9yCjY0LWJpdCBndWVzdHMsIHNvIHdyYXAgdGhlIGV4aXN0
aW5nIGluamVjdF91bmRlZj8/X2V4Y2VwdGlvbiBpbnRvCmluamVjdF91bmRl
Zl9leGNlcHRpb24gYW5kIHVzZSB0aGF0IHdoZW4gaW5qZWN0aW5nIGFuIHVu
ZGVmIGV4Y2VwdGlvbi4gVGhlCnZhcmlvdXMgb3RoZXIgZXhjZXB0aW9uIGNh
c2VzIChhYm9ydHMgZXRjKSBhbHJlYWR5IGRvIHRoaXMuCgpTZWNvbmRseSB3
aGVuIGluamVjdGluZyB0aGUgdHJhcCB3ZSBtdXN0IHBpY2sgdGhlIGNvcnJl
Y3QgZXhjZXB0aW9uIHZlY3RvcgpkZXBlbmRpbmcgb24gd2hldGhlciB0aGUg
c291cmNlIG9mIHRoZSB0cmFwIHdhcyAzMi1iaXQgRUwwLCA2NC1iaXQgRUww
IG9yIEVMMS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMTAyLgoKU2lnbmVkLW9m
Zi1ieTogSWFuIENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4K
QWNrZWQtYnk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGxpbmFyby5v
cmc+Ci0tLQogeGVuL2FyY2gvYXJtL3RyYXBzLmMgICAgICAgICAgICB8ICAg
NTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiB4
ZW4vaW5jbHVkZS9hc20tYXJtL3Byb2Nlc3Nvci5oIHwgICAxOCArKysrKysr
LS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDE5
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90cmFw
cy5jIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKaW5kZXggZTEwNDUwOS4uYWJh
ZWU2MiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3RyYXBzLmMKKysrIGIv
eGVuL2FyY2gvYXJtL3RyYXBzLmMKQEAgLTI4Niw3ICsyODYsNyBAQCBzdGF0
aWMgdm9pZCBjcHNyX3N3aXRjaF9tb2RlKHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICpyZWdzLCBpbnQgbW9kZSkKICAgICAgICAgcmVncy0+Y3BzciB8PSBQU1Jf
QklHX0VORElBTjsKIH0KIAotc3RhdGljIHZhZGRyX3QgZXhjZXB0aW9uX2hh
bmRsZXIodmFkZHJfdCBvZmZzZXQpCitzdGF0aWMgdmFkZHJfdCBleGNlcHRp
b25faGFuZGxlcjMyKHZhZGRyX3Qgb2Zmc2V0KQogewogICAgIHVpbnQzMl90
IHNjdGxyID0gUkVBRF9TWVNSRUczMihTQ1RMUl9FTDEpOwogCkBAIC0zMTgs
NyArMzE4LDcgQEAgc3RhdGljIHZvaWQgaW5qZWN0X3VuZGVmMzJfZXhjZXB0
aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIHJlZ3MtPmxy
X3VuZCA9IHJlZ3MtPnBjMzIgKyByZXR1cm5fb2Zmc2V0OwogCiAgICAgLyog
QnJhbmNoIHRvIGV4Y2VwdGlvbiB2ZWN0b3IgKi8KLSAgICByZWdzLT5wYzMy
ID0gZXhjZXB0aW9uX2hhbmRsZXIoVkVDVE9SMzJfVU5EKTsKKyAgICByZWdz
LT5wYzMyID0gZXhjZXB0aW9uX2hhbmRsZXIzMihWRUNUT1IzMl9VTkQpOwog
fQogCiAvKiBJbmplY3RzIGFuIEFib3J0IGV4Y2VwdGlvbiBpbnRvIHRoZSBj
dXJyZW50IHZjcHUsIFBDIGlzIHRoZSBleGFjdApAQCAtMzQ0LDcgKzM0NCw3
IEBAIHN0YXRpYyB2b2lkIGluamVjdF9hYnQzMl9leGNlcHRpb24oc3RydWN0
IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAgcmVncy0+c3Bzcl9hYnQgPSBz
cHNyOwogICAgIHJlZ3MtPmxyX2FidCA9IHJlZ3MtPnBjMzIgKyByZXR1cm5f
b2Zmc2V0OwogCi0gICAgcmVncy0+cGMzMiA9IGV4Y2VwdGlvbl9oYW5kbGVy
KHByZWZldGNoID8gVkVDVE9SMzJfUEFCVCA6IFZFQ1RPUjMyX0RBQlQpOwor
ICAgIHJlZ3MtPnBjMzIgPSBleGNlcHRpb25faGFuZGxlcjMyKHByZWZldGNo
ID8gVkVDVE9SMzJfUEFCVCA6IFZFQ1RPUjMyX0RBQlQpOwogCiAgICAgLyog
SW5qZWN0IGEgZGVidWcgZmF1bHQsIGJlc3Qgd2UgY2FuIGRvIHJpZ2h0IG5v
dyAqLwogICAgIGlmICggUkVBRF9TWVNSRUcoVENSX0VMMSkgJiBUVEJDUl9F
QUUgKQpAQCAtMzk3LDkgKzM5NywyOCBAQCBzdGF0aWMgdm9pZCBpbmplY3Rf
cGFidDMyX2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywK
IH0KIAogI2lmZGVmIENPTkZJR19BUk1fNjQKKy8qCisgKiBUYWtlIGNhcmUg
dG8gY2FsbCB0aGlzIHdoaWxlIHJlZ3MgY29udGFpbnMgdGhlIG9yaWdpbmFs
IGZhdWx0aW5nCisgKiBzdGF0ZSBhbmQgbm90IHRoZSAocGFydGlhbGx5IGNv
bnN0cnVjdGVkKSBleGNlcHRpb24gc3RhdGUuCisgKi8KK3N0YXRpYyB2YWRk
cl90IGV4Y2VwdGlvbl9oYW5kbGVyNjQoc3RydWN0IGNwdV91c2VyX3JlZ3Mg
KnJlZ3MsIHZhZGRyX3Qgb2Zmc2V0KQoreworICAgIHZhZGRyX3QgYmFzZSA9
IFJFQURfU1lTUkVHKFZCQVJfRUwxKTsKKworICAgIGlmICggdXNyX21vZGUo
cmVncykgKQorICAgICAgICBiYXNlICs9IFZFQ1RPUjY0X0xPV0VSMzJfQkFT
RTsKKyAgICBlbHNlIGlmICggcHNyX21vZGUocmVncy0+Y3BzcixQU1JfTU9E
RV9FTDB0KSApCisgICAgICAgIGJhc2UgKz0gVkVDVE9SNjRfTE9XRVI2NF9C
QVNFOworICAgIGVsc2UgLyogT3RoZXJ3aXNlIG11c3QgYmUgZnJvbSBrZXJu
ZWwgbW9kZSAqLworICAgICAgICBiYXNlICs9IFZFQ1RPUjY0X0NVUlJFTlRf
U1B4X0JBU0U7CisKKyAgICByZXR1cm4gYmFzZSArIG9mZnNldDsKK30KKwog
LyogSW5qZWN0IGFuIHVuZGVmaW5lZCBleGNlcHRpb24gaW50byBhIDY0IGJp
dCBndWVzdCAqLwogc3RhdGljIHZvaWQgaW5qZWN0X3VuZGVmNjRfZXhjZXB0
aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCBpbnQgaW5zdHJfbGVu
KQogeworICAgIHZhZGRyX3QgaGFuZGxlcjsKICAgICB1bmlvbiBoc3IgZXNy
ID0gewogICAgICAgICAuaXNzID0gMCwKICAgICAgICAgLmxlbiA9IGluc3Ry
X2xlbiwKQEAgLTQwOCwxMiArNDI3LDE0IEBAIHN0YXRpYyB2b2lkIGluamVj
dF91bmRlZjY0X2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn
cywgaW50IGluc3RyX2xlbikKIAogICAgIEJVR19PTiggaXNfMzJiaXRfZG9t
YWluKGN1cnJlbnQtPmRvbWFpbikgKTsKIAorICAgIGhhbmRsZXIgPSBleGNl
cHRpb25faGFuZGxlcjY0KHJlZ3MsIFZFQ1RPUjY0X1NZTkNfT0ZGU0VUKTsK
KwogICAgIHJlZ3MtPnNwc3JfZWwxID0gcmVncy0+Y3BzcjsKICAgICByZWdz
LT5lbHJfZWwxID0gcmVncy0+cGM7CiAKICAgICByZWdzLT5jcHNyID0gUFNS
X01PREVfRUwxaCB8IFBTUl9BQlRfTUFTSyB8IFBTUl9GSVFfTUFTSyB8IFwK
ICAgICAgICAgUFNSX0lSUV9NQVNLIHwgUFNSX0RCR19NQVNLOwotICAgIHJl
Z3MtPnBjID0gUkVBRF9TWVNSRUcoVkJBUl9FTDEpICsgVkVDVE9SNjRfQ1VS
UkVOVF9TUHhfU1lOQzsKKyAgICByZWdzLT5wYyA9IGhhbmRsZXI7CiAKICAg
ICBXUklURV9TWVNSRUczMihlc3IuYml0cywgRVNSX0VMMSk7CiB9CkBAIC00
MjQsNiArNDQ1LDcgQEAgc3RhdGljIHZvaWQgaW5qZWN0X2FidDY0X2V4Y2Vw
dGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJfdCBhZGRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5zdHJfbGVu
KQogeworICAgIHZhZGRyX3QgaGFuZGxlcjsKICAgICB1bmlvbiBoc3IgZXNy
ID0gewogICAgICAgICAuaXNzID0gMCwKICAgICAgICAgLmxlbiA9IGluc3Ry
X2xlbiwKQEAgLTQ0NSwxMiArNDY3LDE0IEBAIHN0YXRpYyB2b2lkIGluamVj
dF9hYnQ2NF9leGNlcHRpb24oc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3Ms
CiAKICAgICBCVUdfT04oIGlzXzMyYml0X2RvbWFpbihjdXJyZW50LT5kb21h
aW4pICk7CiAKKyAgICBoYW5kbGVyID0gZXhjZXB0aW9uX2hhbmRsZXI2NChy
ZWdzLCBWRUNUT1I2NF9TWU5DX09GRlNFVCk7CisKICAgICByZWdzLT5zcHNy
X2VsMSA9IHJlZ3MtPmNwc3I7CiAgICAgcmVncy0+ZWxyX2VsMSA9IHJlZ3Mt
PnBjOwogCiAgICAgcmVncy0+Y3BzciA9IFBTUl9NT0RFX0VMMWggfCBQU1Jf
QUJUX01BU0sgfCBQU1JfRklRX01BU0sgfCBcCiAgICAgICAgIFBTUl9JUlFf
TUFTSyB8IFBTUl9EQkdfTUFTSzsKLSAgICByZWdzLT5wYyA9IFJFQURfU1lT
UkVHKFZCQVJfRUwxKSArIFZFQ1RPUjY0X0NVUlJFTlRfU1B4X1NZTkM7Cisg
ICAgcmVncy0+cGMgPSBoYW5kbGVyOwogCiAgICAgV1JJVEVfU1lTUkVHKGFk
ZHIsIEZBUl9FTDEpOwogICAgIFdSSVRFX1NZU1JFRzMyKGVzci5iaXRzLCBF
U1JfRUwxKTsKQEAgLTQ3Miw2ICs0OTYsMTcgQEAgc3RhdGljIHZvaWQgaW5q
ZWN0X2lhYnQ2NF9leGNlcHRpb24oc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl
Z3MsCiAKICNlbmRpZgogCitzdGF0aWMgdm9pZCBpbmplY3RfdW5kZWZfZXhj
ZXB0aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5zdHJfbGVuKQorewor
ICAgICAgICBpZiAoIGlzXzMyYml0X2RvbWFpbihjdXJyZW50LT5kb21haW4p
ICkKKyAgICAgICAgICAgIGluamVjdF91bmRlZjMyX2V4Y2VwdGlvbihyZWdz
KTsKKyNpZmRlZiBDT05GSUdfQVJNXzY0CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIGluamVjdF91bmRlZjY0X2V4Y2VwdGlvbihyZWdzLCBpbnN0cl9s
ZW4pOworI2VuZGlmCit9CisKIHN0YXRpYyB2b2lkIGluamVjdF9pYWJ0X2V4
Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcl90IGFkZHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluc3RyX2xl
bikKQEAgLTE0NDEsNyArMTQ3Niw3IEBAIHN0YXRpYyB2b2lkIGRvX2NwMTVf
MzIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAgICAgIGdkcHJp
bnRrKFhFTkxPR19FUlIsICJ1bmhhbmRsZWQgMzItYml0IENQMTUgYWNjZXNz
ICUjeFxuIiwKICAgICAgICAgICAgICAgICAgaHNyLmJpdHMgJiBIU1JfQ1Az
Ml9SRUdTX01BU0spOwogI2VuZGlmCi0gICAgICAgIGluamVjdF91bmRlZjMy
X2V4Y2VwdGlvbihyZWdzKTsKKyAgICAgICAgaW5qZWN0X3VuZGVmX2V4Y2Vw
dGlvbihyZWdzLCBoc3IubGVuKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICAgICBhZHZhbmNlX3BjKHJlZ3MsIGhzcik7CkBAIC0xNDc4LDcgKzE1MTMs
NyBAQCBzdGF0aWMgdm9pZCBkb19jcDE1XzY0KHN0cnVjdCBjcHVfdXNlcl9y
ZWdzICpyZWdzLAogICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0VSUiwg
InVuaGFuZGxlZCA2NC1iaXQgQ1AxNSBhY2Nlc3MgJSN4XG4iLAogICAgICAg
ICAgICAgICAgICAgICAgaHNyLmJpdHMgJiBIU1JfQ1A2NF9SRUdTX01BU0sp
OwogI2VuZGlmCi0gICAgICAgICAgICBpbmplY3RfdW5kZWYzMl9leGNlcHRp
b24ocmVncyk7CisgICAgICAgICAgICBpbmplY3RfdW5kZWZfZXhjZXB0aW9u
KHJlZ3MsIGhzci5sZW4pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAgICAgfQpAQCAtMTU0Nyw3ICsxNTgyLDcgQEAgYmFkX2NwOgogICAg
ICAgICBnZHByaW50ayhYRU5MT0dfRVJSLCAidW5oYW5kbGVkIDMyLWJpdCBj
cDE0IGFjY2VzcyAlI3hcbiIsCiAgICAgICAgICAgICAgICAgIGhzci5iaXRz
ICYgSFNSX0NQMzJfUkVHU19NQVNLKTsKICNlbmRpZgotICAgICAgICBpbmpl
Y3RfdW5kZWYzMl9leGNlcHRpb24ocmVncyk7CisgICAgICAgIGluamVjdF91
bmRlZl9leGNlcHRpb24ocmVncywgaHNyLmxlbik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKQEAgLTE1NzQsNyArMTYwOSw3IEBAIHN0YXRpYyB2b2lk
IGRvX2NwMTRfZGJnKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCB1bmlv
biBoc3IgaHNyKQogICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsICJ1bmhhbmRs
ZWQgNjQtYml0IENQMTQgYWNjZXNzICUjeFxuIiwKICAgICAgICAgICAgICBo
c3IuYml0cyAmIEhTUl9DUDY0X1JFR1NfTUFTSyk7CiAjZW5kaWYKLSAgICBp
bmplY3RfdW5kZWYzMl9leGNlcHRpb24ocmVncyk7CisgICAgaW5qZWN0X3Vu
ZGVmX2V4Y2VwdGlvbihyZWdzLCBoc3IubGVuKTsKIH0KIAogc3RhdGljIHZv
aWQgZG9fY3Aoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuaW9uIGhz
ciBoc3IpCkBAIC0xNTkzLDcgKzE2MjgsNyBAQCBzdGF0aWMgdm9pZCBkb19j
cChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgdW5pb24gaHNyIGhzcikK
ICAgICBBU1NFUlQoIWNwLnRhcyk7IC8qIFdlIGRvbid0IHRyYXAgU0lNRCBp
bnN0cnVjdGlvbiAqLwogICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsICJ1bmhh
bmRsZWQgQ1AlZCBhY2Nlc3NcbiIsIGNwLmNvcHJvYyk7CiAjZW5kaWYKLSAg
ICBpbmplY3RfdW5kZWYzMl9leGNlcHRpb24ocmVncyk7CisgICAgaW5qZWN0
X3VuZGVmX2V4Y2VwdGlvbihyZWdzLCBoc3IubGVuKTsKIH0KIAogI2lmZGVm
IENPTkZJR19BUk1fNjQKQEAgLTE2NjgsNyArMTcwMyw3IEBAIHN0YXRpYyB2
b2lkIGRvX3N5c3JlZyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAg
ICAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsICJ1bmhhbmRsZWQgNjQt
Yml0IHN5c3JlZyBhY2Nlc3MgJSN4XG4iLAogICAgICAgICAgICAgICAgICAg
ICAgaHNyLmJpdHMgJiBIU1JfU1lTUkVHX1JFR1NfTUFTSyk7CiAjZW5kaWYK
LSAgICAgICAgICAgIGluamVjdF91bmRlZjY0X2V4Y2VwdGlvbihyZWdzLCBz
eXNyZWcubGVuKTsKKyAgICAgICAgICAgIGluamVjdF91bmRlZl9leGNlcHRp
b24ocmVncywgc3lzcmVnLmxlbik7CiAgICAgICAgIH0KICAgICB9CiAKZGlm
ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vcHJvY2Vzc29yLmggYi94
ZW4vaW5jbHVkZS9hc20tYXJtL3Byb2Nlc3Nvci5oCmluZGV4IDlkMjMwZjMu
LmJmN2M5NGMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vcHJv
Y2Vzc29yLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9wcm9jZXNzb3Iu
aApAQCAtNDYwLDE0ICs0NjAsMTYgQEAgdW5pb24gaHNyIHsKICNkZWZpbmUg
VkVDVE9SMzJfUEFCVCAxMgogI2RlZmluZSBWRUNUT1IzMl9EQUJUIDE2CiAv
KiAuLi4gQVJNNjQgKi8KLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUDBf
U1lOQyAgMHgwMDAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUDBfSVJR
ICAgMHgwODAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUDBfRklRICAg
MHgxMDAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUDBfRVJST1IgMHgx
ODAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUHhfU1lOQyAgMHgyMDAK
LSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUHhfSVJRICAgMHgyODAKLSNk
ZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUHhfRklRICAgMHgzMDAKLSNkZWZp
bmUgVkVDVE9SNjRfQ1VSUkVOVF9TUHhfRVJST1IgMHgzODAKKyNkZWZpbmUg
VkVDVE9SNjRfQ1VSUkVOVF9TUDBfQkFTRSAgMHgwMDAKKyNkZWZpbmUgVkVD
VE9SNjRfQ1VSUkVOVF9TUHhfQkFTRSAgMHgyMDAKKyNkZWZpbmUgVkVDVE9S
NjRfTE9XRVI2NF9CQVNFICAgICAgMHg0MDAKKyNkZWZpbmUgVkVDVE9SNjRf
TE9XRVIzMl9CQVNFICAgICAgMHg2MDAKKworI2RlZmluZSBWRUNUT1I2NF9T
WU5DX09GRlNFVCAgICAgICAweDAwMAorI2RlZmluZSBWRUNUT1I2NF9JUlFf
T0ZGU0VUICAgICAgICAweDA4MAorI2RlZmluZSBWRUNUT1I2NF9GSVFfT0ZG
U0VUICAgICAgICAweDEwMAorI2RlZmluZSBWRUNUT1I2NF9FUlJPUl9PRkZT
RVQgICAgICAweDE4MAorCiAKICNpZiBkZWZpbmVkKENPTkZJR19BUk1fMzIp
CiAjIGluY2x1ZGUgPGFzbS9hcm0zMi9wcm9jZXNzb3IuaD4KLS0gCjEuNy4x
MC40Cgo=

--=separator
Content-Type: application/octet-stream; name="xsa102-unstable-03.patch"
Content-Disposition: attachment; filename="xsa102-unstable-03.patch"
Content-Transfer-Encoding: base64

RnJvbSBkYjdhMzExNjYxNTFkZjEzNDhmOTU4YTEwYmQ5YjE1MzQyNThhZjk3
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBUaHUsIDI0IEp1bCAy
MDE0IDEyOjI4OjIyICswMTAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIHhlbjog
YXJtOiBIYW5kbGUgdHJhcHMgZnJvbSAzMi1iaXQgdXNlcnNwYWNlIG9uIDY0
LWJpdAoga2VybmVsIGFzIHVuZGVmCgpXZSBhcmUgbm90IHNldHVwIHRvIGhh
bmRsZSB0aGVzZSBwcm9wZXJseS4gVGhpcyB0dXJucyBhIGhvc3QgY3Jhc2gK
aW50byBhIHRyYXAgdG8gdGhlIGd1ZXN0IGtlcm5lbCB3aGljaCB3aWxsIGxp
a2VseSByZXN1bHQgaW4ga2lsbGluZwp0aGUgb2ZmZW5kaW5nIHByb2Nlc3Mu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTEwMi4KClNpZ25lZC1vZmYtYnk6IElh
biBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNpdHJpeC5jb20+CkFja2VkLWJ5
OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBsaW5hcm8ub3JnPgotLS0K
IHhlbi9hcmNoL2FybS90cmFwcy5jIHwgICAxMSArKysrKysrKysrKwogMSBm
aWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCmlu
ZGV4IGFiYWVlNjIuLmM4OTQyMWIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2Fy
bS90cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCkBAIC0xODQx
LDYgKzE4NDEsMTcgQEAgYXNtbGlua2FnZSB2b2lkIGRvX3RyYXBfaHlwZXJ2
aXNvcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIAogICAgIGVudGVy
X2h5cGVydmlzb3JfaGVhZChyZWdzKTsKIAorICAgIC8qCisgICAgICogV2Ug
Y3VycmVudGx5IGRvIG5vdCBoYW5kbGUgMzItYml0IHVzZXJzcGFjZSBvbiA2
NC1iaXQga2VybmVscworICAgICAqIGNvcnJlY3RseSAoU2VlIFhTQS0xMDIp
LiBVbnRpbCB0aGF0IGlzIHJlc29sdmVkIHdlIHRyZWF0IGFueQorICAgICAq
IHRyYXAgZnJvbSAzMi1iaXQgdXNlcnNwYWNlIG9uIDY0LWJpdCBrZXJuZWwg
YXMgdW5kZWZpbmVkLgorICAgICAqLworICAgIGlmICggaXNfNjRiaXRfZG9t
YWluKGN1cnJlbnQtPmRvbWFpbikgJiYgcHNyX21vZGVfaXNfMzJiaXQocmVn
cy0+Y3BzcikgKQorICAgIHsKKyAgICAgICAgaW5qZWN0X3VuZGVmX2V4Y2Vw
dGlvbihyZWdzLCBoc3IubGVuKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KwogICAgIHN3aXRjaCAoaHNyLmVjKSB7CiAgICAgY2FzZSBIU1JfRUNfV0ZJ
X1dGRToKICAgICAgICAgaWYgKCAhY2hlY2tfY29uZGl0aW9uYWxfaW5zdHIo
cmVncywgaHNyKSApCi0tIAoxLjcuMTAuNAoK

--=separator
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-announce mailing list
Xen-announce@lists.xen.org
http://lists.xen.org/xen-announce
--=separator--


From xen-announce-bounces@lists.xen.org Tue Aug 12 13:04:46 2014
Return-path: <xen-announce-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 12 Aug 2014 13:04:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-announce-bounces@lists.xen.org>)
	id 1XHBjx-0002mJ-0a; Tue, 12 Aug 2014 13:03:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBjo-0002hn-V4; Tue, 12 Aug 2014 13:03:41 +0000
Received: from [85.158.143.35:59587] by server-1.bemta-4.messagelabs.com id
	90/08-05872-AA01AE35; Tue, 12 Aug 2014 13:03:38 +0000
X-Env-Sender: iwj@xenbits.xen.org
X-Msg-Ref: server-4.tower-21.messagelabs.com!1407848617!12523410!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.12.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20524 invoked from network); 12 Aug 2014 13:03:38 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-4.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	12 Aug 2014 13:03:38 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBjh-0004GT-CR; Tue, 12 Aug 2014 13:03:33 +0000
Received: from iwj by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBjh-00087j-Aj; Tue, 12 Aug 2014 13:03:33 +0000
Date: Tue, 12 Aug 2014 13:03:33 +0000
Message-Id: <E1XHBjh-00087j-Aj@xenbits.xen.org>
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.428 (Entity 5.428)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
	xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
Cc: "Xen.org security team" <security@xen.org>
Subject: [Xen-announce] Xen Security Advisory 103 (CVE-2014-5148) - Flaw in
 handling unknown system register access from 64-bit userspace on ARM
X-BeenThere: xen-announce@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: "Xen announcements \(low volume\)" <xen-announce.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-announce@lists.xen.org>
List-Help: <mailto:xen-announce-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=subscribe>
Sender: xen-announce-bounces@lists.xen.org
Errors-To: xen-announce-bounces@lists.xen.org


--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

              Xen Security Advisory CVE-2014-5148 / XSA-103
                                version 3

 Flaw in handling unknown system register access from 64-bit userspace on ARM

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

When handling an unknown system register access from 64-bit userspace
Xen would incorrectly return to the second instruction of the trap
handler for faults in kernel space rather than the first instruction
of the trap handler for faults in 64-bit userspace.

Any user in a guest which is running a 64-bit kernel who is able to
spawn a 64-bit process can cause a trap to the kernel to be taken at
an unexpected (but not user controlled) exception address.

Known versions of Linux in the default configuration will Oops and kill the
offending process, and therefore avoid this vulnerability. However local
configuration may turn such an Oops into a kernel panic, and therefore a
guest denial of service.

IMPACT
======

Depending on the guest kernel implementation, kernel crash (guest DoS)
or privilege elevation to that of the guest kernel cannot be ruled
out.

This issue does not enable an attack on the host.

VULNERABLE SYSTEMS
==================

64-bit ARM systems may be vulnerable, depending on the guest kernel.

All versions of Linux released by Linux upstream to date avoid this
vulnerability.  Systems based on modified versions of Linux may be
vulnerable.

32-bit ARM systems, and X86 systems, are not vulnerable.

MITIGATION
==========

There is no known mitigation for this issue.

CREDITS
=======

This issue was reported as a bug by Riku Voipio, discovered via
Linaro's LAVA testing and was diagnosed as a security issue by Ian
Campbell.

RESOLUTION
==========

Applying the appropriate attached patch resolves this issue.

The patch for XSA-103 (specifically, xsa102-*-02.patch) must be
applied first.

xsa103-unstable.patch        xen-unstable
xsa103-4.4.patch             Xen 4.4.x

$ sha256sum xsa103*.patch
fee2e0be91d08aa28ba44b616edd99a1bfcdec419966c3f9e843a842d649e4ea  xsa103-4.4.patch
838d059618d31b272ec10ac8cbb6613a68b634c98418aff2a33cd514ed06b55a  xsa103-unstable.patch
$
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBAgAGBQJT6hBtAAoJEIP+FMlX6CvZ6+sIAMiAJEzJl2pWk61kr3QT1llk
lYYEEX94QxxJIzg62o4RnMzYZXsmOT6y2YP62nEziRbBaFcgmB0bNrx+Qc52+QWk
iea2lYAJUGmEdwnY6x2raLF6Wd2alCjZxXF1UzSJJ6Vu8WiTNFXHI+mKlc9JY4bN
aStmfgvN3j6Nmjav8k9ar/8QVfc4Oe0xOlzwFt5DlNHewExWN1y+HtPnrBTkGu5K
ckgjvbxs4/SF4No59XqY0XxdpEDIEXo46keJ07DG6/nVzIl83ZtpBhxiNX8xfz91
ZYzu6feGbgtvy1+utxo/l3qBAn7TrDXn58mLTgKTM2dD3D4Crv9tKLuOXF1xVLM=
=hjBc
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa103-4.4.patch"
Content-Disposition: attachment; filename="xsa103-4.4.patch"
Content-Transfer-Encoding: base64

RnJvbSBiMzA3NWJlYjE4OGY2ZmQxY2I1MzIyNTA1Zjc2MzdkM2RlNmNmZDQx
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gSmFja3NvbiA8
aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KRGF0ZTogVGh1LCAyNCBKdWwg
MjAxNCAxNzoyMToxNSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIHhlbjogYXJt
OiBDb3JyZWN0bHkgaGFuZGxlIGRvX3N5c3JlZyBleGNlcHRpb24gaW5qZWN0
aW9uCiBmcm9tIDY0LWJpdCB1c2Vyc3BhY2UKClRoZSBkb19zeXNyZWcgY2Fz
ZSB3YXMgbWlzc2luZyBhIHJldHVybiwgc28gaXQgd291bGQgaW5jcmVtZW50
IFBDIGFuZAppbmplY3QgdGhlIHRyYXAgdG8gdGhlIHNlY29uZCBpbnN0cnVj
dGlvbiBvZiB0aGUgaGFuZGxlci4KCihUaGlzIHBhdGNoIG5lZWRzIHRvIGJl
IGFwcGxpZWQgb24gdG9wIG9mIHhzYTEwMi00LjQtMDIucGF0Y2guKQoKVGhp
cyBpcyBYU0EtMTAzLgoKU2lnbmVkLW9mZi1ieTogSWFuIENhbXBiZWxsIDxp
YW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTogSWFuIEph
Y2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkFja2VkLWJ5OiBK
dWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBsaW5hcm8ub3JnPgotLS0KIHhl
bi9hcmNoL2FybS90cmFwcy5jIHwgICAgMSArCiAxIGZpbGUgY2hhbmdlZCwg
MSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdHJh
cHMuYyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCmluZGV4IGU3NjNmMTIuLjRj
OTEwYzggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS90cmFwcy5jCisrKyBi
L3hlbi9hcmNoL2FybS90cmFwcy5jCkBAIC0xNjgzLDYgKzE2ODMsNyBAQCBz
dGF0aWMgdm9pZCBkb19zeXNyZWcoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl
Z3MsCiAgICAgICAgICAgICAgICAgICAgICBoc3IuYml0cyAmIEhTUl9TWVNS
RUdfUkVHU19NQVNLKTsKICNlbmRpZgogICAgICAgICAgICAgaW5qZWN0X3Vu
ZGVmX2V4Y2VwdGlvbihyZWdzLCBzeXNyZWcubGVuKTsKKyAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogICAgIH0KIAotLSAKMS43LjEwLjQKCg==

--=separator
Content-Type: application/octet-stream; name="xsa103-unstable.patch"
Content-Disposition: attachment; filename="xsa103-unstable.patch"
Content-Transfer-Encoding: base64

RnJvbSA0NDJmOTU5ODFlNjlkZjZlYWUwYWM5YzY3ZDQ5MzIyMTljNTU2ZTEw
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBUaHUsIDI0IEp1bCAy
MDE0IDE3OjIxOjE1ICswMTAwClN1YmplY3Q6IFtQQVRDSF0geGVuOiBhcm06
IENvcnJlY3RseSBoYW5kbGUgZG9fc3lzcmVnIGV4Y2VwdGlvbiBpbmplY3Rp
b24KIGZyb20gNjQtYml0IHVzZXJzcGFjZQoKVGhlIGRvX3N5c3JlZyBjYXNl
IHdhcyBtaXNzaW5nIGEgcmV0dXJuLCBzbyBpdCB3b3VsZCBpbmNyZW1lbnQg
UEMgYW5kCmluamVjdCB0aGUgdHJhcCB0byB0aGUgc2Vjb25kIGluc3RydWN0
aW9uIG9mIHRoZSBoYW5kbGVyLgoKKFRoaXMgcGF0Y2ggbmVlZHMgdG8gYmUg
YXBwbGllZCBvbiB0b3Agb2YgeHNhMTAyLXVuc3RhYmxlLTAyLnBhdGNoLikK
ClRoaXMgaXMgWFNBLTEwMy4KClNpZ25lZC1vZmYtYnk6IElhbiBDYW1wYmVs
bCA8aWFuLmNhbXBiZWxsQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IElh
biBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpBY2tlZC1i
eTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAbGluYXJvLm9yZz4KLS0t
CiB4ZW4vYXJjaC9hcm0vdHJhcHMuYyB8ICAgIDEgKwogMSBmaWxlIGNoYW5n
ZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt
L3RyYXBzLmMgYi94ZW4vYXJjaC9hcm0vdHJhcHMuYwppbmRleCBjODk0MjFi
Li5jZTMyNWI1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdHJhcHMuYwor
KysgYi94ZW4vYXJjaC9hcm0vdHJhcHMuYwpAQCAtMTcwNCw2ICsxNzA0LDcg
QEAgc3RhdGljIHZvaWQgZG9fc3lzcmVnKHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICpyZWdzLAogICAgICAgICAgICAgICAgICAgICAgaHNyLmJpdHMgJiBIU1Jf
U1lTUkVHX1JFR1NfTUFTSyk7CiAjZW5kaWYKICAgICAgICAgICAgIGluamVj
dF91bmRlZl9leGNlcHRpb24ocmVncywgc3lzcmVnLmxlbik7CisgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CiAKLS0gCjEuNy4xMC40
Cgo=

--=separator
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-announce mailing list
Xen-announce@lists.xen.org
http://lists.xen.org/xen-announce
--=separator--


From xen-announce-bounces@lists.xen.org Tue Aug 12 13:04:46 2014
Return-path: <xen-announce-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 12 Aug 2014 13:04:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-announce-bounces@lists.xen.org>)
	id 1XHBjn-0002hQ-21; Tue, 12 Aug 2014 13:03:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBjk-0002h7-Rv; Tue, 12 Aug 2014 13:03:37 +0000
Received: from [85.158.143.35:37909] by server-2.bemta-4.messagelabs.com id
	38/2F-04525-7A01AE35; Tue, 12 Aug 2014 13:03:35 +0000
X-Env-Sender: iwj@xenbits.xen.org
X-Msg-Ref: server-2.tower-21.messagelabs.com!1407848613!4531815!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.12.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3540 invoked from network); 12 Aug 2014 13:03:34 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	12 Aug 2014 13:03:34 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBjb-0004G0-6c; Tue, 12 Aug 2014 13:03:27 +0000
Received: from iwj by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBja-00085c-GD; Tue, 12 Aug 2014 13:03:26 +0000
Date: Tue, 12 Aug 2014 13:03:26 +0000
Message-Id: <E1XHBja-00085c-GD@xenbits.xen.org>
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.428 (Entity 5.428)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
	xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
Cc: "Xen.org security team" <security@xen.org>
Subject: [Xen-announce] Xen Security Advisory 97 (CVE-2014-5146,
 CVE-2014-5149) - Long latency virtual-mmu operations are not
 preemptible
X-BeenThere: xen-announce@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: "Xen announcements \(low volume\)" <xen-announce.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-announce@lists.xen.org>
List-Help: <mailto:xen-announce-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=subscribe>
Sender: xen-announce-bounces@lists.xen.org
Errors-To: xen-announce-bounces@lists.xen.org


--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

      Xen Security Advisory CVE-2014-5146,CVE-2014-5149 / XSA-97
                              version 3

        Long latency virtual-mmu operations are not preemptible

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

Some MMU virtualization operations on HVM guests must process every
page assigned to a guest.  For larger guests, this can tie up a vcpu
for a significant amount of time, as the operations are not
preemptible.

For guests using Hardware Assisted Paging (HAP, see below) this is
CVE-2014-5146.  For guests not using HAP this is CVE-2014-5149.

IMPACT
======

A malicious HVM guest with a large allocation of shadow/p2m RAM
can mount a denial of service attack affecting the whole system.

VULNERABLE SYSTEMS
==================

ARM systems are not vulnerable.

All x86 Xen versions are vulnerable.

The vulnerability is only exposed to HVM guests.

In the default configuration, the vulnerability is only exposed to
large guests (guests assigned more than 128Gbytes of memory).

MITIGATION
==========

Running only PV guests, or only smaller guests will avoid this
problem.

Since the vulnerability actually depends on the guest's shadow memory,
if you are overriding the default allocation (which is about 0.5% of
guest RAM) by using the "shadow_memory=" VM configuration file option,
you should adjust your idea of a 'smaller' guest accordingly.

CREDITS
=======

This issue was discovered by Jan Beulich.

RESOLUTION
==========

For HAP-enabled guests, the attached patch resolves ths issue.

HAP (Hardware Assisted Paging, aka nested paging) is enabled by
default if the system is suitably capable.  The VM configuration file
can disable or enable HAP explicitly by setting "hap=0" or "hap=1".
HAP can also be globally disabled by specifying "hap=off" on the
hypervisor command line.

There is no resolution for guests using shadow pagetables (i.e., not
using HAP) at this time.

xsa97-hap-unstable.patch                             xen-unstable
xsa97-hap-4.4.patch                                  Xen 4.4.x
xsa97-hap-4.3.patch                                  Xen 4.3.x
xsa97-hap-4.2-prereq.patch, xsa97-hap-4.2.patch      Xen 4.2.x

$ sha256sum xsa97*.patch
c9e0e9f136db1b976ea371be10430598a7f21b4a33b4849f2081566657ff5da1  xsa97-hap-4.2.patch
c525a99263eed6f93fad685ae9dad1ae10c8930345ec52659211541640797bb5  xsa97-hap-4.2-prereq.patch
cfab6521221a5058a0dfbb6d59c3c4cd0e7f4239bb6cbee2723de22c33caafda  xsa97-hap-4.3.patch
138511f2fd8362366e09dda18443387886ec4397eecc1a2f6a7e85643bd415e8  xsa97-hap-4.4.patch
58c56daa01f20be0317700d383dfbba8de35695bd38a9860c0c0463181d76351  xsa97-hap-unstable.patch
$
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBAgAGBQJT6hBmAAoJEIP+FMlX6CvZ8sgIAIqtUEu6CS5+H3enavmmLhuh
PGLCqQOBVWn99+m6bMqk+WvZOkW9CLxiX6+78XsheJlmUFBtHc3rG53wR0voo6Vr
BXyU3XY2n4aEh1klstS3gq/J37L86fEi2a+MaAePbPZ4qdWvFh3zDhRrLTQ/TDvK
0tfze9fF6K24Ab7jAcstF2gn+NhrrS3L3pvvgD/P5T1LR8HrEsyyhTlf7c34T5cp
RnSM19CUqAVAJeyN6WI2meZ3C+nvxLiNRUEQQikf4yCKqGxevzjBLAbXlcw4ELnF
9rG7Yd1aRJh4pQkViFDIdB3x8Xb9HuT7kFsQ7kBZc3an9JkbxxTGQd82XjODM1Q=
=A/Ph
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa97-hap-4.2.patch"
Content-Disposition: attachment; filename="xsa97-hap-4.2.patch"
Content-Transfer-Encoding: base64

eDg2L3BhZ2luZzogbWFrZSBsb2ctZGlydHkgb3BlcmF0aW9ucyBwcmVlbXB0
aWJsZQoKQm90aCB0aGUgZnJlZWluZyBhbmQgdGhlIGluc3BlY3Rpb24gb2Yg
dGhlIGJpdG1hcCBnZXQgZG9uZSBpbiAobmVzdGVkKQpsb29wcyB3aGljaCAt
IGJlc2lkZXMgaGF2aW5nIGEgcmF0aGVyIGhpZ2ggaXRlcmF0aW9uIGNvdW50
IGluIGdlbmVyYWwsCmFsYmVpdCB0aGF0IHdvdWxkIGJlIGNvdmVyZWQgYnkg
WFNBLTc3IC0gaGF2ZSB0aGUgbnVtYmVyIG9mIG5vbi10cml2aWFsCml0ZXJh
dGlvbnMgdGhleSBuZWVkIHRvIHBlcmZvcm0gKGluZGlyZWN0bHkpIGNvbnRy
b2xsYWJsZSBieSBib3RoIHRoZQpndWVzdCB0aGV5IGFyZSBmb3IgYW5kIGFu
eSBkb21haW4gY29udHJvbGxpbmcgdGhlIGd1ZXN0IChpbmNsdWRpbmcgdGhl
Cm9uZSBydW5uaW5nIHFlbXUgZm9yIGl0KS4KClRoaXMgaXMgWFNBLTk3LgoK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CgotLS0g
YS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCkBAIC0yMTM2LDcgKzIxMzYsOSBAQCBpbnQgZG9tYWluX3JlbGlu
cXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkCiAgICAgICAgIHBjaV9yZWxlYXNl
X2RldmljZXMoZCk7CiAKICAgICAgICAgLyogVGVhciBkb3duIHBhZ2luZy1h
c3Npc3RhbmNlIHN0dWZmLiAqLwotICAgICAgICBwYWdpbmdfdGVhcmRvd24o
ZCk7CisgICAgICAgIHJldCA9IHBhZ2luZ190ZWFyZG93bihkKTsKKyAgICAg
ICAgaWYgKCByZXQgKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKIAogICAg
ICAgICAvKiBEcm9wIHRoZSBpbi11c2UgcmVmZXJlbmNlcyB0byBwYWdlLXRh
YmxlIGJhc2VzLiAqLwogICAgICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiAp
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94ZW4vYXJjaC94
ODYvZG9tY3RsLmMKQEAgLTY2LDYgKzY2LDkgQEAgbG9uZyBhcmNoX2RvX2Rv
bWN0bCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbWN0
bC0+dS5zaGFkb3dfb3AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGd1ZXN0X2hhbmRsZV9jYXN0KHVfZG9tY3RsLCB2b2lkKSk7CiAgICAg
ICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihkKTsKKyAgICAgICAgICAgIGlm
ICggcmV0ID09IC1FQUdBSU4gKQorICAgICAgICAgICAgICAgIHJldHVybiBo
eXBlcmNhbGxfY3JlYXRlX2NvbnRpbnVhdGlvbihfX0hZUEVSVklTT1JfZG9t
Y3RsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiaCIsIHVfZG9tY3RsKTsKICAgICAgICAgICAgIGNv
cHlfdG9fZ3Vlc3QodV9kb21jdGwsIGRvbWN0bCwgMSk7CiAgICAgICAgIH0g
CiAgICAgfQotLS0gYS94ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jCisrKyBi
L3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKQEAgLTY3OCw4ICs2NzgsNyBA
QCBpbnQgaGFwX2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCB4ZW5fZG9tCiAg
ICAgICAgIHBhZ2luZ191bmxvY2soZCk7CiAgICAgICAgIGlmICggcHJlZW1w
dGVkICkKICAgICAgICAgICAgIC8qIE5vdCBmaW5pc2hlZC4gIFNldCB1cCB0
byByZS1ydW4gdGhlIGNhbGwuICovCi0gICAgICAgICAgICByYyA9IGh5cGVy
Y2FsbF9jcmVhdGVfY29udGludWF0aW9uKF9fSFlQRVJWSVNPUl9kb21jdGws
ICJoIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdV9kb21jdGwpOworICAgICAgICAgICAgcmMgPSAtRUFHQUlO
OwogICAgICAgICBlbHNlCiAgICAgICAgICAgICAvKiBGaW5pc2hlZC4gIFJl
dHVybiB0aGUgbmV3IGFsbG9jYXRpb24gKi8KICAgICAgICAgICAgIHNjLT5t
YiA9IGhhcF9nZXRfYWxsb2NhdGlvbihkKTsKLS0tIGEveGVuL2FyY2gveDg2
L21tL3BhZ2luZy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGFzbS9zaGFkb3cuaD4KICNp
bmNsdWRlIDxhc20vcDJtLmg+CiAjaW5jbHVkZSA8YXNtL2hhcC5oPgorI2lu
Y2x1ZGUgPGFzbS9ldmVudC5oPgogI2luY2x1ZGUgPGFzbS9odm0vbmVzdGVk
aHZtLmg+CiAjaW5jbHVkZSA8eGVuL251bWEuaD4KICNpbmNsdWRlIDx4c20v
eHNtLmg+CkBAIC0xMTYsMjYgKzExNyw0NiBAQCBzdGF0aWMgdm9pZCBwYWdp
bmdfZnJlZV9sb2dfZGlydHlfcGFnZShzCiAgICAgZC0+YXJjaC5wYWdpbmcu
ZnJlZV9wYWdlKGQsIG1mbl90b19wYWdlKG1mbikpOwogfQogCi12b2lkIHBh
Z2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXAoc3RydWN0IGRvbWFpbiAqZCkK
K3N0YXRpYyBpbnQgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1
Y3QgZG9tYWluICpkLCBpbnQgcmMpCiB7CiAgICAgbWZuX3QgKmw0LCAqbDMs
ICpsMjsKICAgICBpbnQgaTQsIGkzLCBpMjsKIAorICAgIHBhZ2luZ19sb2Nr
KGQpOworCiAgICAgaWYgKCAhbWZuX3ZhbGlkKGQtPmFyY2gucGFnaW5nLmxv
Z19kaXJ0eS50b3ApICkKLSAgICAgICAgcmV0dXJuOworICAgIHsKKyAgICAg
ICAgcGFnaW5nX3VubG9jayhkKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQogCi0gICAgcGFnaW5nX2xvY2soZCk7CisgICAgaWYgKCAhZC0+YXJjaC5w
YWdpbmcucHJlZW1wdC52Y3B1ICkKKyAgICB7CisgICAgICAgIG1lbXNldCgm
ZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHksIDAsCisgICAgICAg
ICAgICAgICBzaXplb2YoZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGly
dHkpKTsKKyAgICAgICAgQVNTRVJUKHJjIDw9IDApOworICAgICAgICBkLT5h
cmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5kb25lID0gLXJjOworICAg
IH0KKyAgICBlbHNlIGlmICggZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1
ICE9IGN1cnJlbnQgfHwKKyAgICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcu
cHJlZW1wdC5vcCAhPSBYRU5fRE9NQ1RMX1NIQURPV19PUF9PRkYgKQorICAg
IHsKKyAgICAgICAgcGFnaW5nX3VubG9jayhkKTsKKyAgICAgICAgcmV0dXJu
IC1FQlVTWTsKKyAgICB9CiAKICAgICBsNCA9IG1hcF9kb21haW5fcGFnZSht
Zm5feChkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkudG9wKSk7CisgICAgaTQg
PSBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5pNDsKKyAgICBp
MyA9IGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzOworICAg
IHJjID0gMDsKIAotICAgIGZvciAoIGk0ID0gMDsgaTQgPCBMT0dESVJUWV9O
T0RFX0VOVFJJRVM7IGk0KysgKQorICAgIGZvciAoIDsgaTQgPCBMT0dESVJU
WV9OT0RFX0VOVFJJRVM7IGk0KyssIGkzID0gMCApCiAgICAgewogICAgICAg
ICBpZiAoICFtZm5fdmFsaWQobDRbaTRdKSApCiAgICAgICAgICAgICBjb250
aW51ZTsKIAogICAgICAgICBsMyA9IG1hcF9kb21haW5fcGFnZShtZm5feChs
NFtpNF0pKTsKIAotICAgICAgICBmb3IgKCBpMyA9IDA7IGkzIDwgTE9HRElS
VFlfTk9ERV9FTlRSSUVTOyBpMysrICkKKyAgICAgICAgZm9yICggOyBpMyA8
IExPR0RJUlRZX05PREVfRU5UUklFUzsgaTMrKyApCiAgICAgICAgIHsKICAg
ICAgICAgICAgIGlmICggIW1mbl92YWxpZChsM1tpM10pICkKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKQEAgLTE0OCwyMCArMTY5LDU0IEBAIHZvaWQg
cGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1Y3QKIAogICAgICAg
ICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDIpOwogICAgICAgICAgICAgcGFn
aW5nX2ZyZWVfbG9nX2RpcnR5X3BhZ2UoZCwgbDNbaTNdKTsKKyAgICAgICAg
ICAgIGwzW2kzXSA9IF9tZm4oSU5WQUxJRF9NRk4pOworCisgICAgICAgICAg
ICBpZiAoIGkzIDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0gMSAmJiBoeXBl
cmNhbGxfcHJlZW1wdF9jaGVjaygpICkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5p
MyA9IGkzICsgMTsKKyAgICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5w
cmVlbXB0LmxvZ19kaXJ0eS5pNCA9IGk0OworICAgICAgICAgICAgICAgIHJj
ID0gLUVBR0FJTjsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCiAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdl
KGwzKTsKKyAgICAgICAgaWYgKCByYyApCisgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X3BhZ2UoZCwgbDRbaTRd
KTsKKyAgICAgICAgbDRbaTRdID0gX21mbihJTlZBTElEX01GTik7CisKKyAg
ICAgICAgaWYgKCBpNCA8IExPR0RJUlRZX05PREVfRU5UUklFUyAtIDEgJiYg
aHlwZXJjYWxsX3ByZWVtcHRfY2hlY2soKSApCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzID0g
MDsKKyAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2Rp
cnR5Lmk0ID0gaTQgKyAxOworICAgICAgICAgICAgcmMgPSAtRUFHQUlOOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICB9CiAKICAgICB1
bm1hcF9kb21haW5fcGFnZShsNCk7Ci0gICAgcGFnaW5nX2ZyZWVfbG9nX2Rp
cnR5X3BhZ2UoZCwgZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LnRvcCk7Ci0g
ICAgZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LnRvcCA9IF9tZm4oSU5WQUxJ
RF9NRk4pOwogCi0gICAgQVNTRVJUKGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0
eS5hbGxvY3MgPT0gMCk7Ci0gICAgZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5
LmZhaWxlZF9hbGxvY3MgPSAwOworICAgIGlmICggIXJjICkKKyAgICB7Cisg
ICAgICAgIHBhZ2luZ19mcmVlX2xvZ19kaXJ0eV9wYWdlKGQsIGQtPmFyY2gu
cGFnaW5nLmxvZ19kaXJ0eS50b3ApOworICAgICAgICBkLT5hcmNoLnBhZ2lu
Zy5sb2dfZGlydHkudG9wID0gX21mbihJTlZBTElEX01GTik7CisKKyAgICAg
ICAgQVNTRVJUKGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5hbGxvY3MgPT0g
MCk7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5mYWlsZWRf
YWxsb2NzID0gMDsKKworICAgICAgICByYyA9IC1kLT5hcmNoLnBhZ2luZy5w
cmVlbXB0LmxvZ19kaXJ0eS5kb25lOworICAgICAgICBkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LnZjcHUgPSBOVUxMOworICAgIH0KKyAgICBlbHNlCisgICAg
eworICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUgPSBjdXJy
ZW50OworICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0Lm9wID0gWEVO
X0RPTUNUTF9TSEFET1dfT1BfT0ZGOworICAgIH0KIAogICAgIHBhZ2luZ191
bmxvY2soZCk7CisKKyAgICByZXR1cm4gcmM7CiB9CiAKIGludCBwYWdpbmdf
bG9nX2RpcnR5X2VuYWJsZShzdHJ1Y3QgZG9tYWluICpkKQpAQCAtMTc4LDE1
ICsyMzMsMjUgQEAgaW50IHBhZ2luZ19sb2dfZGlydHlfZW5hYmxlKHN0cnVj
dCBkb21haQogICAgIHJldHVybiByZXQ7CiB9CiAKLWludCBwYWdpbmdfbG9n
X2RpcnR5X2Rpc2FibGUoc3RydWN0IGRvbWFpbiAqZCkKK3N0YXRpYyBpbnQg
cGFnaW5nX2xvZ19kaXJ0eV9kaXNhYmxlKHN0cnVjdCBkb21haW4gKmQsIGJv
b2xfdCByZXN1bWluZykKIHsKLSAgICBpbnQgcmV0OworICAgIGludCByZXQg
PSAxOworCisgICAgaWYgKCAhcmVzdW1pbmcgKQorICAgIHsKKyAgICAgICAg
ZG9tYWluX3BhdXNlKGQpOworICAgICAgICAvKiBTYWZlIGJlY2F1c2UgdGhl
IGRvbWFpbiBpcyBwYXVzZWQuICovCisgICAgICAgIHJldCA9IGQtPmFyY2gu
cGFnaW5nLmxvZ19kaXJ0eS5kaXNhYmxlX2xvZ19kaXJ0eShkKTsKKyAgICAg
ICAgQVNTRVJUKHJldCA8PSAwKTsKKyAgICB9CiAKLSAgICBkb21haW5fcGF1
c2UoZCk7Ci0gICAgLyogU2FmZSBiZWNhdXNlIHRoZSBkb21haW4gaXMgcGF1
c2VkLiAqLwotICAgIHJldCA9IGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5k
aXNhYmxlX2xvZ19kaXJ0eShkKTsKICAgICBpZiAoICFwYWdpbmdfbW9kZV9s
b2dfZGlydHkoZCkgKQotICAgICAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlf
Yml0bWFwKGQpOworICAgIHsKKyAgICAgICAgcmV0ID0gcGFnaW5nX2ZyZWVf
bG9nX2RpcnR5X2JpdG1hcChkLCByZXQpOworICAgICAgICBpZiAoIHJldCA9
PSAtRUFHQUlOICkKKyAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgfQor
CiAgICAgZG9tYWluX3VucGF1c2UoZCk7CiAKICAgICByZXR1cm4gcmV0OwpA
QCAtMzI2LDcgKzM5MSw5IEBAIGludCBwYWdpbmdfbWZuX2lzX2RpcnR5KHN0
cnVjdCBkb21haW4gKmQKIAogLyogUmVhZCBhIGRvbWFpbidzIGxvZy1kaXJ0
eSBiaXRtYXAgYW5kIHN0YXRzLiAgSWYgdGhlIG9wZXJhdGlvbiBpcyBhIENM
RUFOLAogICogY2xlYXIgdGhlIGJpdG1hcCBhbmQgc3RhdHMgYXMgd2VsbC4g
Ki8KLWludCBwYWdpbmdfbG9nX2RpcnR5X29wKHN0cnVjdCBkb21haW4gKmQs
IHN0cnVjdCB4ZW5fZG9tY3RsX3NoYWRvd19vcCAqc2MpCitzdGF0aWMgaW50
IHBhZ2luZ19sb2dfZGlydHlfb3Aoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9z
aGFkb3dfb3AgKnNjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2xfdCByZXN1bWluZykKIHsKICAgICBpbnQgcnYgPSAwLCBjbGVhbiA9
IDAsIHBlZWsgPSAxOwogICAgIHVuc2lnbmVkIGxvbmcgcGFnZXMgPSAwOwpA
QCAtMzM0LDkgKzQwMSwyMiBAQCBpbnQgcGFnaW5nX2xvZ19kaXJ0eV9vcChz
dHJ1Y3QgZG9tYWluICpkCiAgICAgdW5zaWduZWQgbG9uZyAqbDEgPSBOVUxM
OwogICAgIGludCBpNCwgaTMsIGkyOwogCi0gICAgZG9tYWluX3BhdXNlKGQp
OworICAgIGlmICggIXJlc3VtaW5nICkKKyAgICAgICAgZG9tYWluX3BhdXNl
KGQpOwogICAgIHBhZ2luZ19sb2NrKGQpOwogCisgICAgaWYgKCAhZC0+YXJj
aC5wYWdpbmcucHJlZW1wdC52Y3B1ICkKKyAgICAgICAgbWVtc2V0KCZkLT5h
cmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSwgMCwKKyAgICAgICAgICAg
ICAgIHNpemVvZihkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSkp
OworICAgIGVsc2UgaWYgKCBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUg
IT0gY3VycmVudCB8fAorICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5w
cmVlbXB0Lm9wICE9IHNjLT5vcCApCisgICAgeworICAgICAgICBwYWdpbmdf
dW5sb2NrKGQpOworICAgICAgICBBU1NFUlQoIXJlc3VtaW5nKTsKKyAgICAg
ICAgZG9tYWluX3VucGF1c2UoZCk7CisgICAgICAgIHJldHVybiAtRUJVU1k7
CisgICAgfQorCiAgICAgY2xlYW4gPSAoc2MtPm9wID09IFhFTl9ET01DVExf
U0hBRE9XX09QX0NMRUFOKTsKIAogICAgIFBBR0lOR19ERUJVRyhMT0dESVJU
WSwgImxvZy1kaXJ0eSAlczogZG9tICV1IGZhdWx0cz0ldSBkaXJ0eT0ldVxu
IiwKQEAgLTM2NSwxNyArNDQ1LDE1IEBAIGludCBwYWdpbmdfbG9nX2RpcnR5
X29wKHN0cnVjdCBkb21haW4gKmQKICAgICAgICAgZ290byBvdXQ7CiAgICAg
fQogCi0gICAgcGFnZXMgPSAwOwogICAgIGw0ID0gcGFnaW5nX21hcF9sb2df
ZGlydHlfYml0bWFwKGQpOworICAgIGk0ID0gZC0+YXJjaC5wYWdpbmcucHJl
ZW1wdC5sb2dfZGlydHkuaTQ7CisgICAgaTMgPSBkLT5hcmNoLnBhZ2luZy5w
cmVlbXB0LmxvZ19kaXJ0eS5pMzsKKyAgICBwYWdlcyA9IGQtPmFyY2gucGFn
aW5nLnByZWVtcHQubG9nX2RpcnR5LmRvbmU7CiAKLSAgICBmb3IgKCBpNCA9
IDA7Ci0gICAgICAgICAgKHBhZ2VzIDwgc2MtPnBhZ2VzKSAmJiAoaTQgPCBM
T0dESVJUWV9OT0RFX0VOVFJJRVMpOwotICAgICAgICAgIGk0KysgKQorICAg
IGZvciAoIDsgKHBhZ2VzIDwgc2MtPnBhZ2VzKSAmJiAoaTQgPCBMT0dESVJU
WV9OT0RFX0VOVFJJRVMpOyBpNCsrLCBpMyA9IDAgKQogICAgIHsKICAgICAg
ICAgbDMgPSAobDQgJiYgbWZuX3ZhbGlkKGw0W2k0XSkpID8gbWFwX2RvbWFp
bl9wYWdlKG1mbl94KGw0W2k0XSkpIDogTlVMTDsKLSAgICAgICAgZm9yICgg
aTMgPSAwOwotICAgICAgICAgICAgICAocGFnZXMgPCBzYy0+cGFnZXMpICYm
IChpMyA8IExPR0RJUlRZX05PREVfRU5UUklFUyk7Ci0gICAgICAgICAgICAg
IGkzKysgKQorICAgICAgICBmb3IgKCA7IChwYWdlcyA8IHNjLT5wYWdlcykg
JiYgKGkzIDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTKTsgaTMrKyApCiAgICAg
ICAgIHsKICAgICAgICAgICAgIGwyID0gKChsMyAmJiBtZm5fdmFsaWQobDNb
aTNdKSkgPwogICAgICAgICAgICAgICAgICAgbWFwX2RvbWFpbl9wYWdlKG1m
bl94KGwzW2kzXSkpIDogTlVMTCk7CkBAIC00MTAsMTggKzQ4OCw1MSBAQCBp
bnQgcGFnaW5nX2xvZ19kaXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpkCiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBpZiAoIGwyICkKICAgICAgICAgICAg
ICAgICB1bm1hcF9kb21haW5fcGFnZShsMik7CisKKyAgICAgICAgICAgIGlm
ICggaTMgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMgLSAxICYmIGh5cGVyY2Fs
bF9wcmVlbXB0X2NoZWNrKCkgKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5Lmk0ID0g
aTQ7CisgICAgICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5s
b2dfZGlydHkuaTMgPSBpMyArIDE7CisgICAgICAgICAgICAgICAgcnYgPSAt
RUFHQUlOOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQogICAgICAgICB9CiAgICAgICAgIGlmICggbDMgKQogICAgICAgICAgICAg
dW5tYXBfZG9tYWluX3BhZ2UobDMpOworCisgICAgICAgIGlmICggIXJ2ICYm
IGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0gMSAmJgorICAgICAgICAg
ICAgIGh5cGVyY2FsbF9wcmVlbXB0X2NoZWNrKCkgKQorICAgICAgICB7Cisg
ICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5p
NCA9IGk0ICsgMTsKKyAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVt
cHQubG9nX2RpcnR5LmkzID0gMDsKKyAgICAgICAgICAgIHJ2ID0gLUVBR0FJ
TjsKKyAgICAgICAgfQorICAgICAgICBpZiAoIHJ2ICkKKyAgICAgICAgICAg
IGJyZWFrOwogICAgIH0KICAgICBpZiAoIGw0ICkKICAgICAgICAgdW5tYXBf
ZG9tYWluX3BhZ2UobDQpOwogCi0gICAgaWYgKCBwYWdlcyA8IHNjLT5wYWdl
cyApCi0gICAgICAgIHNjLT5wYWdlcyA9IHBhZ2VzOworICAgIGlmICggIXJ2
ICkKKyAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ID0gTlVM
TDsKKyAgICBlbHNlCisgICAgeworICAgICAgICBkLT5hcmNoLnBhZ2luZy5w
cmVlbXB0LnZjcHUgPSBjdXJyZW50OworICAgICAgICBkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0Lm9wID0gc2MtPm9wOworICAgICAgICBkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LmxvZ19kaXJ0eS5kb25lID0gcGFnZXM7CisgICAgfQogCiAg
ICAgcGFnaW5nX3VubG9jayhkKTsKIAorICAgIGlmICggcnYgKQorICAgIHsK
KyAgICAgICAgLyogTmV2ZXIgbGVhdmUgdGhlIGRvbWFpbiBwYXVzZWQgZm9y
IG90aGVyIGVycm9ycy4gKi8KKyAgICAgICAgQVNTRVJUKHJ2ID09IC1FQUdB
SU4pOworICAgICAgICByZXR1cm4gcnY7CisgICAgfQorCisgICAgaWYgKCBw
YWdlcyA8IHNjLT5wYWdlcyApCisgICAgICAgIHNjLT5wYWdlcyA9IHBhZ2Vz
OwogICAgIGlmICggY2xlYW4gKQogICAgIHsKICAgICAgICAgLyogV2UgbmVl
ZCB0byBmdXJ0aGVyIGNhbGwgY2xlYW5fZGlydHlfYml0bWFwKCkgZnVuY3Rp
b25zIG9mIHNwZWNpZmljCkBAIC00MzIsNiArNTQzLDcgQEAgaW50IHBhZ2lu
Z19sb2dfZGlydHlfb3Aoc3RydWN0IGRvbWFpbiAqZAogICAgIHJldHVybiBy
djsKIAogIG91dDoKKyAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUg
PSBOVUxMOwogICAgIHBhZ2luZ191bmxvY2soZCk7CiAgICAgZG9tYWluX3Vu
cGF1c2UoZCk7CiAKQEAgLTQ5OCwxMiArNjEwLDYgQEAgdm9pZCBwYWdpbmdf
bG9nX2RpcnR5X2luaXQoc3RydWN0IGRvbWFpbgogICAgIGQtPmFyY2gucGFn
aW5nLmxvZ19kaXJ0eS5jbGVhbl9kaXJ0eV9iaXRtYXAgPSBjbGVhbl9kaXJ0
eV9iaXRtYXA7CiB9CiAKLS8qIFRoaXMgZnVuY3Rpb24gZnJlc3MgbG9nIGRp
cnR5IGJpdG1hcCByZXNvdXJjZXMuICovCi1zdGF0aWMgdm9pZCBwYWdpbmdf
bG9nX2RpcnR5X3RlYXJkb3duKHN0cnVjdCBkb21haW4qZCkKLXsKLSAgICBw
YWdpbmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKGQpOwotfQotCiAvKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwog
LyogICAgICAgICAgIENPREUgRk9SIFBBR0lORyBTVVBQT1JUICAgICAgICAg
ICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKiovCkBAIC01NDcsNiArNjUzLDcgQEAgdm9pZCBwYWdpbmdf
dmNwdV9pbml0KHN0cnVjdCB2Y3B1ICp2KQogaW50IHBhZ2luZ19kb21jdGwo
c3RydWN0IGRvbWFpbiAqZCwgeGVuX2RvbWN0bF9zaGFkb3dfb3BfdCAqc2Ms
CiAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFKHZvaWQpIHVf
ZG9tY3RsKQogeworICAgIGJvb2xfdCByZXN1bWluZyA9IDA7CiAgICAgaW50
IHJjOwogCiAgICAgaWYgKCB1bmxpa2VseShkID09IGN1cnJlbnQtPmRvbWFp
bikgKQpAQCAtNTY5LDYgKzY3NiwyMCBAQCBpbnQgcGFnaW5nX2RvbWN0bChz
dHJ1Y3QgZG9tYWluICpkLCB4ZW5fCiAgICAgICAgIHJldHVybiAtRUlOVkFM
OwogICAgIH0KIAorICAgIGlmICggZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52
Y3B1ICkKKyAgICB7CisgICAgICAgIGlmICggZC0+YXJjaC5wYWdpbmcucHJl
ZW1wdC52Y3B1ICE9IGN1cnJlbnQgfHwKKyAgICAgICAgICAgICBkLT5hcmNo
LnBhZ2luZy5wcmVlbXB0Lm9wICE9IHNjLT5vcCApCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHByaW50ayhYRU5MT0dfR19ERUJVRworICAgICAgICAgICAg
ICAgICAgICJkJWQ6diVkOiBQYWdpbmcgb3AgJSN4IG9uIERvbSV1IHdpdGgg
dW5maW5pc2hlZCBwcmlvciBvcCAlI3hcbiIsCisgICAgICAgICAgICAgICAg
ICAgY3VycmVudC0+ZG9tYWluLT5kb21haW5faWQsIGN1cnJlbnQtPnZjcHVf
aWQsCisgICAgICAgICAgICAgICAgICAgc2MtPm9wLCBkLT5kb21haW5faWQs
IGQtPmFyY2gucGFnaW5nLnByZWVtcHQub3ApOworICAgICAgICAgICAgcmV0
dXJuIC1FQlVTWTsKKyAgICAgICAgfQorICAgICAgICByZXN1bWluZyA9IDE7
CisgICAgfQorCiAgICAgcmMgPSB4c21fc2hhZG93X2NvbnRyb2woZCwgc2Mt
Pm9wKTsKICAgICBpZiAoIHJjICkKICAgICAgICAgcmV0dXJuIHJjOwpAQCAt
NTk0LDEzICs3MTQsMTMgQEAgaW50IHBhZ2luZ19kb21jdGwoc3RydWN0IGRv
bWFpbiAqZCwgeGVuXwogCiAgICAgY2FzZSBYRU5fRE9NQ1RMX1NIQURPV19P
UF9PRkY6CiAgICAgICAgIGlmICggcGFnaW5nX21vZGVfbG9nX2RpcnR5KGQp
ICkKLSAgICAgICAgICAgIGlmICggKHJjID0gcGFnaW5nX2xvZ19kaXJ0eV9k
aXNhYmxlKGQpKSAhPSAwICkKKyAgICAgICAgICAgIGlmICggKHJjID0gcGFn
aW5nX2xvZ19kaXJ0eV9kaXNhYmxlKGQsIHJlc3VtaW5nKSkgIT0gMCApCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHJjOwogICAgICAgICBicmVhazsKIAog
ICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfQ0xFQU46CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9QRUVLOgotICAgICAgICByZXR1cm4g
cGFnaW5nX2xvZ19kaXJ0eV9vcChkLCBzYyk7CisgICAgICAgIHJldHVybiBw
YWdpbmdfbG9nX2RpcnR5X29wKGQsIHNjLCByZXN1bWluZyk7CiAgICAgfQog
CiAgICAgLyogSGVyZSwgZGlzcGF0Y2ggZG9tY3RsIHRvIHRoZSBhcHByb3By
aWF0ZSBwYWdpbmcgY29kZSAqLwpAQCAtNjExLDE4ICs3MzEsMjQgQEAgaW50
IHBhZ2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgeGVuXwogfQogCiAv
KiBDYWxsIHdoZW4gZGVzdHJveWluZyBhIGRvbWFpbiAqLwotdm9pZCBwYWdp
bmdfdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCkKK2ludCBwYWdpbmdfdGVh
cmRvd24oc3RydWN0IGRvbWFpbiAqZCkKIHsKKyAgICBpbnQgcmM7CisKICAg
ICBpZiAoIGhhcF9lbmFibGVkKGQpICkKICAgICAgICAgaGFwX3RlYXJkb3du
KGQpOwogICAgIGVsc2UKICAgICAgICAgc2hhZG93X3RlYXJkb3duKGQpOwog
CiAgICAgLyogY2xlYW4gdXAgbG9nIGRpcnR5IHJlc291cmNlcy4gKi8KLSAg
ICBwYWdpbmdfbG9nX2RpcnR5X3RlYXJkb3duKGQpOworICAgIHJjID0gcGFn
aW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChkLCAwKTsKKyAgICBpZiAoIHJj
ID09IC1FQUdBSU4gKQorICAgICAgICByZXR1cm4gcmM7CiAKICAgICAvKiBN
b3ZlIHBvcHVsYXRlLW9uLWRlbWFuZCBjYWNoZSBiYWNrIHRvIGRvbWFpbl9s
aXN0IGZvciBkZXN0cnVjdGlvbiAqLwogICAgIHAybV9wb2RfZW1wdHlfY2Fj
aGUoZCk7CisKKyAgICByZXR1cm4gcmM7CiB9CiAKIC8qIENhbGwgb25jZSBh
bGwgb2YgdGhlIHJlZmVyZW5jZXMgdG8gdGhlIGRvbWFpbiBoYXZlIGdvbmUg
YXdheSAqLwotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5j
CisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKQEAgLTM4
MjksOCArMzgyOSw3IEBAIGludCBzaGFkb3dfZG9tY3RsKHN0cnVjdCBkb21h
aW4gKmQsIAogICAgICAgICBwYWdpbmdfdW5sb2NrKGQpOwogICAgICAgICBp
ZiAoIHByZWVtcHRlZCApCiAgICAgICAgICAgICAvKiBOb3QgZmluaXNoZWQu
ICBTZXQgdXAgdG8gcmUtcnVuIHRoZSBjYWxsLiAqLwotICAgICAgICAgICAg
cmMgPSBoeXBlcmNhbGxfY3JlYXRlX2NvbnRpbnVhdGlvbigKLSAgICAgICAg
ICAgICAgICBfX0hZUEVSVklTT1JfZG9tY3RsLCAiaCIsIHVfZG9tY3RsKTsK
KyAgICAgICAgICAgIHJjID0gLUVBR0FJTjsKICAgICAgICAgZWxzZSAKICAg
ICAgICAgICAgIC8qIEZpbmlzaGVkLiAgUmV0dXJuIHRoZSBuZXcgYWxsb2Nh
dGlvbiAqLwogICAgICAgICAgICAgc2MtPm1iID0gc2hhZG93X2dldF9hbGxv
Y2F0aW9uKGQpOwotLS0gYS94ZW4vY29tbW9uL2RvbWFpbi5jCisrKyBiL3hl
bi9jb21tb24vZG9tYWluLmMKQEAgLTQ3OSw3ICs0NzksNiBAQCBpbnQgZG9t
YWluX2tpbGwoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAgcmMgPSBkb21h
aW5fcmVsaW5xdWlzaF9yZXNvdXJjZXMoZCk7CiAgICAgICAgIGlmICggcmMg
IT0gMCApCiAgICAgICAgIHsKLSAgICAgICAgICAgIEJVR19PTihyYyAhPSAt
RUFHQUlOKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAg
ICAgIGlmICggc2NoZWRfbW92ZV9kb21haW4oZCwgY3B1cG9vbDApICkKLS0t
IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAorKysgYi94ZW4vaW5j
bHVkZS9hc20teDg2L2RvbWFpbi5oCkBAIC0xOTMsNiArMTkzLDIwIEBAIHN0
cnVjdCBwYWdpbmdfZG9tYWluIHsKICAgICBzdHJ1Y3QgaGFwX2RvbWFpbiAg
ICAgICBoYXA7CiAgICAgLyogbG9nIGRpcnR5IHN1cHBvcnQgKi8KICAgICBz
dHJ1Y3QgbG9nX2RpcnR5X2RvbWFpbiBsb2dfZGlydHk7CisKKyAgICAvKiBw
cmVlbXB0aW9uIGhhbmRsaW5nICovCisgICAgc3RydWN0IHsKKyAgICAgICAg
c3RydWN0IHZjcHUgKnZjcHU7CisgICAgICAgIHVuc2lnbmVkIGludCBvcDsK
KyAgICAgICAgdW5pb24geworICAgICAgICAgICAgc3RydWN0IHsKKyAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRvbmU6UEFERFJfQklUUyAtIFBB
R0VfU0hJRlQ7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBpNDpQ
QUdFVEFCTEVfT1JERVI7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9u
ZyBpMzpQQUdFVEFCTEVfT1JERVI7CisgICAgICAgICAgICB9IGxvZ19kaXJ0
eTsKKyAgICAgICAgfTsKKyAgICB9IHByZWVtcHQ7CisKICAgICAvKiBhbGxv
Yy9mcmVlIHBhZ2VzIGZyb20gdGhlIHBvb2wgZm9yIHBhZ2luZy1hc3Npc3Rh
bmNlIHN0cnVjdHVyZXMKICAgICAgKiAodXNlZCBieSBwMm0gYW5kIGxvZy1k
aXJ0eSBjb2RlIGZvciB0aGVpciB0cmllcykgKi8KICAgICBzdHJ1Y3QgcGFn
ZV9pbmZvICogKCphbGxvY19wYWdlKShzdHJ1Y3QgZG9tYWluICpkKTsKLS0t
IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaAorKysgYi94ZW4vaW5j
bHVkZS9hc20teDg2L3BhZ2luZy5oCkBAIC0xNDEsOSArMTQxLDYgQEAgc3Ry
dWN0IHBhZ2luZ19tb2RlIHsKIC8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgogICogTG9nIGRpcnR5IGNvZGUgKi8KIAotLyogZnJlZSBsb2cg
ZGlydHkgYml0bWFwIHJlc291cmNlICovCi12b2lkIHBhZ2luZ19mcmVlX2xv
Z19kaXJ0eV9iaXRtYXAoc3RydWN0IGRvbWFpbiAqZCk7Ci0KIC8qIGdldCB0
aGUgZGlydHkgYml0bWFwIGZvciBhIHNwZWNpZmljIHJhbmdlIG9mIHBmbnMg
Ki8KIHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV9yYW5nZShzdHJ1Y3QgZG9tYWlu
ICpkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv
bmcgYmVnaW5fcGZuLApAQCAtMTUzLDkgKzE1MCw2IEBAIHZvaWQgcGFnaW5n
X2xvZ19kaXJ0eV9yYW5nZShzdHJ1Y3QgZG9tYWkKIC8qIGVuYWJsZSBsb2cg
ZGlydHkgKi8KIGludCBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZShzdHJ1Y3Qg
ZG9tYWluICpkKTsKIAotLyogZGlzYWJsZSBsb2cgZGlydHkgKi8KLWludCBw
YWdpbmdfbG9nX2RpcnR5X2Rpc2FibGUoc3RydWN0IGRvbWFpbiAqZCk7Ci0K
IC8qIGxvZyBkaXJ0eSBpbml0aWFsaXphdGlvbiAqLwogdm9pZCBwYWdpbmdf
bG9nX2RpcnR5X2luaXQoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCAgKCplbmFibGVfbG9nX2RpcnR5KShzdHJ1
Y3QgZG9tYWluICpkKSwKQEAgLTIxOCw3ICsyMTIsNyBAQCBpbnQgcGFnaW5n
X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCB4ZW5fCiAgICAgICAgICAgICAg
ICAgICBYRU5fR1VFU1RfSEFORExFKHZvaWQpIHVfZG9tY3RsKTsKIAogLyog
Q2FsbCB3aGVuIGRlc3Ryb3lpbmcgYSBkb21haW4gKi8KLXZvaWQgcGFnaW5n
X3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpOworaW50IHBhZ2luZ190ZWFy
ZG93bihzdHJ1Y3QgZG9tYWluICpkKTsKIAogLyogQ2FsbCBvbmNlIGFsbCBv
ZiB0aGUgcmVmZXJlbmNlcyB0byB0aGUgZG9tYWluIGhhdmUgZ29uZSBhd2F5
ICovCiB2b2lkIHBhZ2luZ19maW5hbF90ZWFyZG93bihzdHJ1Y3QgZG9tYWlu
ICpkKTsK

--=separator
Content-Type: application/octet-stream; name="xsa97-hap-4.2-prereq.patch"
Content-Disposition: attachment; filename="xsa97-hap-4.2-prereq.patch"
Content-Transfer-Encoding: base64

eDg2L21tL2hhcDogQWRqdXN0IHZyYW0gdHJhY2tpbmcgdG8gcGxheSBuaWNl
bHkgd2l0aCBsb2ctZGlydHkuCgpUaGUgcHJldmlvdXMgY29kZSBhc3N1bWVk
IHRoZSBndWVzdCB3b3VsZCBiZSBpbiBvbmUgb2YgdGhyZWUgbXV0dWFsbHkg
ZXhjbHVzaXZlCm1vZGVzIGZvciBib29ra2VlcGluZyBkaXJ0eSBwYWdlczog
KDEpIHNoYWRvdywgKDIpIGhhcCB1dGlsaXppbmcgdGhlIGxvZyBkaXJ0eQpi
aXRtYXAgdG8gc3VwcG9ydCBmdW5jdGlvbmFsaXR5IHN1Y2ggYXMgbGl2ZSBt
aWdyYXRlLCAoMykgaGFwIHV0aWxpemluZyB0aGUKbG9nIGRpcnR5IGJpdG1h
cCB0byB0cmFjayBkaXJ0eSB2cmFtIHBhZ2VzLgpSYWNlcyBhcm9zZSB3aGVu
IGEgZ3Vlc3QgYXR0ZW1wdGVkIHRvIHRyYWNrIGRpcnR5IHZyYW0gd2hpbGUg
cGVyZm9ybWluZyBsaXZlCm1pZ3JhdGUuICAoVGhlIGRpc3BhdGNoIHRhYmxl
IG1hbmFnZWQgYnkgcGFnaW5nX2xvZ19kaXJ0eV9pbml0KCkgbWlnaHQgY2hh
bmdlCmluIHRoZSBtaWRkbGUgb2YgYSBsb2cgZGlydHkgb3IgYSB2cmFtIHRy
YWNraW5nIGZ1bmN0aW9uLikKClRoaXMgY2hhbmdlIGFsbG93cyBoYXAgbG9n
IGRpcnR5IGFuZCBoYXAgdnJhbSB0cmFja2luZyB0byBiZSBjb25jdXJyZW50
LgpWcmFtIHRyYWNraW5nIG5vIGxvbmdlciB1c2VzIHRoZSBsb2cgZGlydHkg
Yml0bWFwLiAgSW5zdGVhZCBpdCBkZXRlY3RzCmRpcnR5IHZyYW0gcGFnZXMg
YnkgZXhhbWluaW5nIHRoZWlyIHAybSB0eXBlLiAgVGhlIGxvZyBkaXJ0eSBi
aXRtYXAgaXMgb25seQp1c2VkIGJ5IHRoZSBsb2cgZGlydHkgY29kZS4gIEJl
Y2F1c2UgdGhlIHR3byBvcGVyYXRpb25zIHVzZSBkaWZmZXJlbnQKbWVjaGFu
aXNtcywgdGhleSBhcmUgbm8gbG9uZ2VyIG11dHVhbGx5IGV4Y2x1c2l2ZS4K
ClNpZ25lZC1PZmYtQnk6IFJvYmVydCBQaGlsbGlwcyA8cm9iZXJ0LnBoaWxs
aXBzQGNpdHJpeC5jb20+CkFja2VkLWJ5OiBUaW0gRGVlZ2FuIDx0aW1AeGVu
Lm9yZz4KCk1pbm9yIHdoaXRlc3BhY2UgY2hhbmdlcyB0byBjb25mb3JtIHdp
dGggY29kaW5nIHN0eWxlClNpZ25lZC1vZmYtYnk6IFRpbSBEZWVnYW4gPHRp
bUB4ZW4ub3JnPgoKQ29tbWl0dGVkLWJ5OiBUaW0gRGVlZ2FuIDx0aW1AeGVu
Lm9yZz4KbWFzdGVyIGNvbW1pdDogZmQ5MWEyYTY2MmJjNTk2NzdlMGYyMTc0
MjNhN2ExNTVkNTQ2NTg4NgptYXN0ZXIgZGF0ZTogMjAxMi0xMi0xMyAxMjox
MDoxNCArMDAwMAoKLS0tIGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYwor
KysgYi94ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jCkBAIC01NiwxMzIgKzU2
LDExMCBAQAogLyogICAgICAgICAgSEFQIFZSQU0gVFJBQ0tJTkcgU1VQUE9S
VCAgICAgICAgICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKiovCiAKLXN0YXRpYyBpbnQgaGFwX2VuYWJs
ZV92cmFtX3RyYWNraW5nKHN0cnVjdCBkb21haW4gKmQpCi17Ci0gICAgc3Ry
dWN0IHNoX2RpcnR5X3ZyYW0gKmRpcnR5X3ZyYW0gPSBkLT5hcmNoLmh2bV9k
b21haW4uZGlydHlfdnJhbTsKLQotICAgIGlmICggIWRpcnR5X3ZyYW0gKQot
ICAgICAgICByZXR1cm4gLUVJTlZBTDsKLQotICAgIC8qIHR1cm4gb24gUEdf
bG9nX2RpcnR5IGJpdCBpbiBwYWdpbmcgbW9kZSAqLwotICAgIHBhZ2luZ19s
b2NrKGQpOwotICAgIGQtPmFyY2gucGFnaW5nLm1vZGUgfD0gUEdfbG9nX2Rp
cnR5OwotICAgIHBhZ2luZ191bmxvY2soZCk7Ci0KLSAgICAvKiBzZXQgbDFl
IGVudHJpZXMgb2YgUDJNIHRhYmxlIHRvIGJlIHJlYWQtb25seS4gKi8KLSAg
ICBwMm1fY2hhbmdlX3R5cGVfcmFuZ2UoZCwgZGlydHlfdnJhbS0+YmVnaW5f
cGZuLCBkaXJ0eV92cmFtLT5lbmRfcGZuLCAKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgcDJtX3JhbV9ydywgcDJtX3JhbV9sb2dkaXJ0eSk7Ci0KLSAg
ICBmbHVzaF90bGJfbWFzayhkLT5kb21haW5fZGlydHlfY3B1bWFzayk7Ci0g
ICAgcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgaGFwX2Rpc2FibGVfdnJh
bV90cmFja2luZyhzdHJ1Y3QgZG9tYWluICpkKQotewotICAgIHN0cnVjdCBz
aF9kaXJ0eV92cmFtICpkaXJ0eV92cmFtID0gZC0+YXJjaC5odm1fZG9tYWlu
LmRpcnR5X3ZyYW07Ci0KLSAgICBpZiAoICFkaXJ0eV92cmFtICkKLSAgICAg
ICAgcmV0dXJuIC1FSU5WQUw7Ci0KLSAgICBwYWdpbmdfbG9jayhkKTsKLSAg
ICBkLT5hcmNoLnBhZ2luZy5tb2RlICY9IH5QR19sb2dfZGlydHk7Ci0gICAg
cGFnaW5nX3VubG9jayhkKTsKLQotICAgIC8qIHNldCBsMWUgZW50cmllcyBv
ZiBQMk0gdGFibGUgd2l0aCBub3JtYWwgbW9kZSAqLwotICAgIHAybV9jaGFu
Z2VfdHlwZV9yYW5nZShkLCBkaXJ0eV92cmFtLT5iZWdpbl9wZm4sIGRpcnR5
X3ZyYW0tPmVuZF9wZm4sIAotICAgICAgICAgICAgICAgICAgICAgICAgICBw
Mm1fcmFtX2xvZ2RpcnR5LCBwMm1fcmFtX3J3KTsKLQotICAgIGZsdXNoX3Rs
Yl9tYXNrKGQtPmRvbWFpbl9kaXJ0eV9jcHVtYXNrKTsKLSAgICByZXR1cm4g
MDsKLX0KLQotc3RhdGljIHZvaWQgaGFwX2NsZWFuX3ZyYW1fdHJhY2tpbmco
c3RydWN0IGRvbWFpbiAqZCkKLXsKLSAgICBzdHJ1Y3Qgc2hfZGlydHlfdnJh
bSAqZGlydHlfdnJhbSA9IGQtPmFyY2guaHZtX2RvbWFpbi5kaXJ0eV92cmFt
OwotCi0gICAgaWYgKCAhZGlydHlfdnJhbSApCi0gICAgICAgIHJldHVybjsK
LQotICAgIC8qIHNldCBsMWUgZW50cmllcyBvZiBQMk0gdGFibGUgdG8gYmUg
cmVhZC1vbmx5LiAqLwotICAgIHAybV9jaGFuZ2VfdHlwZV9yYW5nZShkLCBk
aXJ0eV92cmFtLT5iZWdpbl9wZm4sIGRpcnR5X3ZyYW0tPmVuZF9wZm4sIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fcmFtX3J3LCBwMm1fcmFt
X2xvZ2RpcnR5KTsKLQotICAgIGZsdXNoX3RsYl9tYXNrKGQtPmRvbWFpbl9k
aXJ0eV9jcHVtYXNrKTsKLX0KLQotc3RhdGljIHZvaWQgaGFwX3ZyYW1fdHJh
Y2tpbmdfaW5pdChzdHJ1Y3QgZG9tYWluICpkKQotewotICAgIHBhZ2luZ19s
b2dfZGlydHlfaW5pdChkLCBoYXBfZW5hYmxlX3ZyYW1fdHJhY2tpbmcsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGhhcF9kaXNhYmxlX3ZyYW1fdHJh
Y2tpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGhhcF9jbGVhbl92
cmFtX3RyYWNraW5nKTsKLX0KKy8qCisgKiBoYXBfdHJhY2tfZGlydHlfdnJh
bSgpCisgKiBDcmVhdGUgdGhlIGRvbWFpbidzIGR2X2RpcnR5X3ZyYW0gc3Ry
dWN0IG9uIGRlbWFuZC4KKyAqIENyZWF0ZSBhIGRpcnR5IHZyYW0gcmFuZ2Ug
b24gZGVtYW5kIHdoZW4gc29tZSBbYmVnaW5fcGZuOmJlZ2luX3Bmbitucl0g
aXMKKyAqIGZpcnN0IGVuY291bnRlcmVkLgorICogQ29sbGVjdCB0aGUgZ3Vl
c3RfZGlydHkgYml0bWFzaywgYSBiaXQgbWFzayBvZiB0aGUgZGlydHkgdnJh
bSBwYWdlcywgYnkKKyAqIGNhbGxpbmcgcGFnaW5nX2xvZ19kaXJ0eV9yYW5n
ZSgpLCB3aGljaCBpbnRlcnJvZ2F0ZXMgZWFjaCB2cmFtCisgKiBwYWdlJ3Mg
cDJtIHR5cGUgbG9va2luZyBmb3IgcGFnZXMgdGhhdCBoYXZlIGJlZW4gbWFk
ZSB3cml0YWJsZS4KKyAqLwogCiBpbnQgaGFwX3RyYWNrX2RpcnR5X3ZyYW0o
c3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBsb25nIGJlZ2luX3BmbiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIG5yLAotICAgICAgICAgICAgICAgICAgICAg
ICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQodWludDgpIGRpcnR5X2JpdG1hcCkK
KyAgICAgICAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFXzY0
KHVpbnQ4KSBndWVzdF9kaXJ0eV9iaXRtYXApCiB7CiAgICAgbG9uZyByYyA9
IDA7Ci0gICAgc3RydWN0IHNoX2RpcnR5X3ZyYW0gKmRpcnR5X3ZyYW0gPSBk
LT5hcmNoLmh2bV9kb21haW4uZGlydHlfdnJhbTsKKyAgICBzdHJ1Y3Qgc2hf
ZGlydHlfdnJhbSAqZGlydHlfdnJhbTsKKyAgICB1aW50OF90ICpkaXJ0eV9i
aXRtYXAgPSBOVUxMOwogCiAgICAgaWYgKCBuciApCiAgICAgewotICAgICAg
ICBpZiAoIHBhZ2luZ19tb2RlX2xvZ19kaXJ0eShkKSAmJiBkaXJ0eV92cmFt
ICkKKyAgICAgICAgaW50IHNpemUgPSAobnIgKyBCSVRTX1BFUl9CWVRFIC0g
MSkgLyBCSVRTX1BFUl9CWVRFOworCisgICAgICAgIGlmICggIXBhZ2luZ19t
b2RlX2xvZ19kaXJ0eShkKSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlm
ICggYmVnaW5fcGZuICE9IGRpcnR5X3ZyYW0tPmJlZ2luX3BmbiB8fAotICAg
ICAgICAgICAgICAgICBiZWdpbl9wZm4gKyBuciAhPSBkaXJ0eV92cmFtLT5l
bmRfcGZuICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwYWdp
bmdfbG9nX2RpcnR5X2Rpc2FibGUoZCk7Ci0gICAgICAgICAgICAgICAgZGly
dHlfdnJhbS0+YmVnaW5fcGZuID0gYmVnaW5fcGZuOwotICAgICAgICAgICAg
ICAgIGRpcnR5X3ZyYW0tPmVuZF9wZm4gPSBiZWdpbl9wZm4gKyBucjsKLSAg
ICAgICAgICAgICAgICByYyA9IHBhZ2luZ19sb2dfZGlydHlfZW5hYmxlKGQp
OwotICAgICAgICAgICAgICAgIGlmIChyYyAhPSAwKQotICAgICAgICAgICAg
ICAgICAgICBnb3RvIHBhcmFtX2ZhaWw7Ci0gICAgICAgICAgICB9CisgICAg
ICAgICAgICBoYXBfbG9nZGlydHlfaW5pdChkKTsKKyAgICAgICAgICAgIHJj
ID0gcGFnaW5nX2xvZ19kaXJ0eV9lbmFibGUoZCk7CisgICAgICAgICAgICBp
ZiAoIHJjICkKKyAgICAgICAgICAgICAgICBnb3RvIG91dDsKICAgICAgICAg
fQotICAgICAgICBlbHNlIGlmICggIXBhZ2luZ19tb2RlX2xvZ19kaXJ0eShk
KSAmJiAhZGlydHlfdnJhbSApCisKKyAgICAgICAgcmMgPSAtRU5PTUVNOwor
ICAgICAgICBkaXJ0eV9iaXRtYXAgPSB4emFsbG9jX2J5dGVzKHNpemUpOwor
ICAgICAgICBpZiAoICFkaXJ0eV9iaXRtYXAgKQorICAgICAgICAgICAgZ290
byBvdXQ7CisKKyAgICAgICAgcGFnaW5nX2xvY2soZCk7CisKKyAgICAgICAg
ZGlydHlfdnJhbSA9IGQtPmFyY2guaHZtX2RvbWFpbi5kaXJ0eV92cmFtOwor
ICAgICAgICBpZiAoICFkaXJ0eV92cmFtICkKICAgICAgICAgewogICAgICAg
ICAgICAgcmMgPSAtRU5PTUVNOwotICAgICAgICAgICAgaWYgKCAoZGlydHlf
dnJhbSA9IHhtYWxsb2Moc3RydWN0IHNoX2RpcnR5X3ZyYW0pKSA9PSBOVUxM
ICkKLSAgICAgICAgICAgICAgICBnb3RvIHBhcmFtX2ZhaWw7CisgICAgICAg
ICAgICBpZiAoIChkaXJ0eV92cmFtID0geHphbGxvYyhzdHJ1Y3Qgc2hfZGly
dHlfdnJhbSkpID09IE5VTEwgKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIHBhZ2luZ191bmxvY2soZCk7CisgICAgICAgICAgICAgICAgZ290
byBvdXQ7CisgICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIGQtPmFyY2gu
aHZtX2RvbWFpbi5kaXJ0eV92cmFtID0gZGlydHlfdnJhbTsKKyAgICAgICAg
fQorCisgICAgICAgIGlmICggYmVnaW5fcGZuICE9IGRpcnR5X3ZyYW0tPmJl
Z2luX3BmbiB8fAorICAgICAgICAgICAgIGJlZ2luX3BmbiArIG5yICE9IGRp
cnR5X3ZyYW0tPmVuZF9wZm4gKQorICAgICAgICB7CiAgICAgICAgICAgICBk
aXJ0eV92cmFtLT5iZWdpbl9wZm4gPSBiZWdpbl9wZm47CiAgICAgICAgICAg
ICBkaXJ0eV92cmFtLT5lbmRfcGZuID0gYmVnaW5fcGZuICsgbnI7Ci0gICAg
ICAgICAgICBkLT5hcmNoLmh2bV9kb21haW4uZGlydHlfdnJhbSA9IGRpcnR5
X3ZyYW07Ci0gICAgICAgICAgICBoYXBfdnJhbV90cmFja2luZ19pbml0KGQp
OwotICAgICAgICAgICAgcmMgPSBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZShk
KTsKLSAgICAgICAgICAgIGlmIChyYyAhPSAwKQotICAgICAgICAgICAgICAg
IGdvdG8gcGFyYW1fZmFpbDsKKworICAgICAgICAgICAgcGFnaW5nX3VubG9j
ayhkKTsKKworICAgICAgICAgICAgLyogc2V0IGwxZSBlbnRyaWVzIG9mIHJh
bmdlIHdpdGhpbiBQMk0gdGFibGUgdG8gYmUgcmVhZC1vbmx5LiAqLworICAg
ICAgICAgICAgcDJtX2NoYW5nZV90eXBlX3JhbmdlKGQsIGJlZ2luX3Bmbiwg
YmVnaW5fcGZuICsgbnIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcDJtX3JhbV9ydywgcDJtX3JhbV9sb2dkaXJ0eSk7CisKKyAgICAg
ICAgICAgIGZsdXNoX3RsYl9tYXNrKGQtPmRvbWFpbl9kaXJ0eV9jcHVtYXNr
KTsKKworICAgICAgICAgICAgbWVtc2V0KGRpcnR5X2JpdG1hcCwgMHhmZiwg
c2l6ZSk7IC8qIGNvbnNpZGVyIGFsbCBwYWdlcyBkaXJ0eSAqLwogICAgICAg
ICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgewotICAgICAgICAgICAgaWYg
KCAhcGFnaW5nX21vZGVfbG9nX2RpcnR5KGQpICYmIGRpcnR5X3ZyYW0gKQot
ICAgICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKLSAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICByYyA9IC1FTk9EQVRBOwotICAgICAgICAg
ICAgZ290byBwYXJhbV9mYWlsOworICAgICAgICAgICAgcGFnaW5nX3VubG9j
ayhkKTsKKworICAgICAgICAgICAgZG9tYWluX3BhdXNlKGQpOworCisgICAg
ICAgICAgICAvKiBnZXQgdGhlIGJpdG1hcCAqLworICAgICAgICAgICAgcGFn
aW5nX2xvZ19kaXJ0eV9yYW5nZShkLCBiZWdpbl9wZm4sIG5yLCBkaXJ0eV9i
aXRtYXApOworCisgICAgICAgICAgICBkb21haW5fdW5wYXVzZShkKTsKICAg
ICAgICAgfQotICAgICAgICAvKiBnZXQgdGhlIGJpdG1hcCAqLwotICAgICAg
ICByYyA9IHBhZ2luZ19sb2dfZGlydHlfcmFuZ2UoZCwgYmVnaW5fcGZuLCBu
ciwgZGlydHlfYml0bWFwKTsKKworICAgICAgICByYyA9IC1FRkFVTFQ7Cisg
ICAgICAgIGlmICggY29weV90b19ndWVzdChndWVzdF9kaXJ0eV9iaXRtYXAs
IGRpcnR5X2JpdG1hcCwgc2l6ZSkgPT0gMCApCisgICAgICAgICAgICByYyA9
IDA7CiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAgIGlmICggcGFn
aW5nX21vZGVfbG9nX2RpcnR5KGQpICYmIGRpcnR5X3ZyYW0gKSB7Ci0gICAg
ICAgICAgICByYyA9IHBhZ2luZ19sb2dfZGlydHlfZGlzYWJsZShkKTsKLSAg
ICAgICAgICAgIHhmcmVlKGRpcnR5X3ZyYW0pOwotICAgICAgICAgICAgZGly
dHlfdnJhbSA9IGQtPmFyY2guaHZtX2RvbWFpbi5kaXJ0eV92cmFtID0gTlVM
TDsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByYyA9IDA7Ci0gICAg
fQorICAgICAgICBwYWdpbmdfbG9jayhkKTsKIAotICAgIHJldHVybiByYzsK
KyAgICAgICAgZGlydHlfdnJhbSA9IGQtPmFyY2guaHZtX2RvbWFpbi5kaXJ0
eV92cmFtOworICAgICAgICBpZiAoIGRpcnR5X3ZyYW0gKQorICAgICAgICB7
CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogSWYgemVybyBwYWdl
cyBzcGVjaWZpZWQgd2hpbGUgdHJhY2tpbmcgZGlydHkgdnJhbQorICAgICAg
ICAgICAgICogdGhlbiBzdG9wIHRyYWNraW5nCisgICAgICAgICAgICAgKi8K
KyAgICAgICAgICAgIHhmcmVlKGRpcnR5X3ZyYW0pOworICAgICAgICAgICAg
ZC0+YXJjaC5odm1fZG9tYWluLmRpcnR5X3ZyYW0gPSBOVUxMOworICAgICAg
ICB9CiAKLXBhcmFtX2ZhaWw6Ci0gICAgaWYgKCBkaXJ0eV92cmFtICkKLSAg
ICB7Ci0gICAgICAgIHhmcmVlKGRpcnR5X3ZyYW0pOwotICAgICAgICBkaXJ0
eV92cmFtID0gZC0+YXJjaC5odm1fZG9tYWluLmRpcnR5X3ZyYW0gPSBOVUxM
OworICAgICAgICBwYWdpbmdfdW5sb2NrKGQpOwogICAgIH0KK291dDoKKyAg
ICBpZiAoIGRpcnR5X2JpdG1hcCApCisgICAgICAgIHhmcmVlKGRpcnR5X2Jp
dG1hcCk7CisKICAgICByZXR1cm4gcmM7CiB9CiAKQEAgLTIyMywxMyArMjAx
LDYgQEAgc3RhdGljIHZvaWQgaGFwX2NsZWFuX2RpcnR5X2JpdG1hcChzdHJ1
YwogCiB2b2lkIGhhcF9sb2dkaXJ0eV9pbml0KHN0cnVjdCBkb21haW4gKmQp
CiB7Ci0gICAgc3RydWN0IHNoX2RpcnR5X3ZyYW0gKmRpcnR5X3ZyYW0gPSBk
LT5hcmNoLmh2bV9kb21haW4uZGlydHlfdnJhbTsKLSAgICBpZiAoIHBhZ2lu
Z19tb2RlX2xvZ19kaXJ0eShkKSAmJiBkaXJ0eV92cmFtICkKLSAgICB7Ci0g
ICAgICAgIHBhZ2luZ19sb2dfZGlydHlfZGlzYWJsZShkKTsKLSAgICAgICAg
eGZyZWUoZGlydHlfdnJhbSk7Ci0gICAgICAgIGRpcnR5X3ZyYW0gPSBkLT5h
cmNoLmh2bV9kb21haW4uZGlydHlfdnJhbSA9IE5VTEw7Ci0gICAgfQogCiAg
ICAgLyogUmVpbml0aWFsaXplIGxvZ2RpcnR5IG1lY2hhbmlzbSAqLwogICAg
IHBhZ2luZ19sb2dfZGlydHlfaW5pdChkLCBoYXBfZW5hYmxlX2xvZ19kaXJ0
eSwKLS0tIGEveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jCisrKyBiL3hlbi9h
cmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAtNDQ3LDE1NyArNDQ3LDM4IEBAIGlu
dCBwYWdpbmdfbG9nX2RpcnR5X29wKHN0cnVjdCBkb21haW4gKmQKICAgICBy
ZXR1cm4gcnY7CiB9CiAKLWludCBwYWdpbmdfbG9nX2RpcnR5X3JhbmdlKHN0
cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgbG9uZyBiZWdpbl9wZm4sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFXzY0KHVpbnQ4KSBkaXJ0eV9i
aXRtYXApCi17Ci0gICAgaW50IHJ2ID0gMDsKLSAgICB1bnNpZ25lZCBsb25n
IHBhZ2VzID0gMDsKLSAgICBtZm5fdCAqbDQsICpsMywgKmwyOwotICAgIHVu
c2lnbmVkIGxvbmcgKmwxOwotICAgIGludCBiMSwgYjIsIGIzLCBiNDsKLSAg
ICBpbnQgaTIsIGkzLCBpNDsKLQotICAgIGQtPmFyY2gucGFnaW5nLmxvZ19k
aXJ0eS5jbGVhbl9kaXJ0eV9iaXRtYXAoZCk7Ci0gICAgcGFnaW5nX2xvY2so
ZCk7Ci0KLSAgICBQQUdJTkdfREVCVUcoTE9HRElSVFksICJsb2ctZGlydHkt
cmFuZ2U6IGRvbSAldSBmYXVsdHM9JXUgZGlydHk9JXVcbiIsCi0gICAgICAg
ICAgICAgICAgIGQtPmRvbWFpbl9pZCwKLSAgICAgICAgICAgICAgICAgZC0+
YXJjaC5wYWdpbmcubG9nX2RpcnR5LmZhdWx0X2NvdW50LAotICAgICAgICAg
ICAgICAgICBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuZGlydHlfY291bnQp
OwotCi0gICAgaWYgKCB1bmxpa2VseShkLT5hcmNoLnBhZ2luZy5sb2dfZGly
dHkuZmFpbGVkX2FsbG9jcykgKSB7Ci0gICAgICAgIHByaW50aygiJXM6ICVk
IGZhaWxlZCBwYWdlIGFsbG9jcyB3aGlsZSBsb2dnaW5nIGRpcnR5IHBhZ2Vz
XG4iLAotICAgICAgICAgICAgICAgX19GVU5DVElPTl9fLCBkLT5hcmNoLnBh
Z2luZy5sb2dfZGlydHkuZmFpbGVkX2FsbG9jcyk7Ci0gICAgICAgIHJ2ID0g
LUVOT01FTTsKLSAgICAgICAgZ290byBvdXQ7Ci0gICAgfQordm9pZCBwYWdp
bmdfbG9nX2RpcnR5X3JhbmdlKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGJlZ2luX3BmbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkaXJ0eV9i
aXRtYXApCit7CisgICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IHAybV9n
ZXRfaG9zdHAybShkKTsKKyAgICBpbnQgaTsKKyAgICB1bnNpZ25lZCBsb25n
IHBmbjsKKworICAgIC8qCisgICAgICogU2V0IGwxZSBlbnRyaWVzIG9mIFAy
TSB0YWJsZSB0byBiZSByZWFkLW9ubHkuCisgICAgICoKKyAgICAgKiBPbiBm
aXJzdCB3cml0ZSwgaXQgcGFnZSBmYXVsdHMsIGl0cyBlbnRyeSBpcyBjaGFu
Z2VkIHRvIHJlYWQtd3JpdGUsCisgICAgICogYW5kIG9uIHJldHJ5IHRoZSB3
cml0ZSBzdWNjZWVkcy4KKyAgICAgKgorICAgICAqIFdlIHBvcHVsYXRlIGRp
cnR5X2JpdG1hcCBieSBsb29raW5nIGZvciBlbnRyaWVzIHRoYXQgaGF2ZSBi
ZWVuCisgICAgICogc3dpdGNoZWQgdG8gcmVhZC13cml0ZS4KKyAgICAgKi8K
IAotICAgIGlmICggIWQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5mYXVsdF9j
b3VudCAmJgotICAgICAgICAgIWQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5k
aXJ0eV9jb3VudCApIHsKLSAgICAgICAgdW5zaWduZWQgaW50IHNpemUgPSBC
SVRTX1RPX0xPTkdTKG5yKTsKLQotICAgICAgICBpZiAoIGNsZWFyX2d1ZXN0
KGRpcnR5X2JpdG1hcCwgc2l6ZSAqIEJZVEVTX1BFUl9MT05HKSAhPSAwICkK
LSAgICAgICAgICAgIHJ2ID0gLUVGQVVMVDsKLSAgICAgICAgZ290byBvdXQ7
Ci0gICAgfQotICAgIGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5mYXVsdF9j
b3VudCA9IDA7Ci0gICAgZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmRpcnR5
X2NvdW50ID0gMDsKKyAgICBwMm1fbG9jayhwMm0pOwogCi0gICAgYjEgPSBM
MV9MT0dESVJUWV9JRFgoYmVnaW5fcGZuKTsKLSAgICBiMiA9IEwyX0xPR0RJ
UlRZX0lEWChiZWdpbl9wZm4pOwotICAgIGIzID0gTDNfTE9HRElSVFlfSURY
KGJlZ2luX3Bmbik7Ci0gICAgYjQgPSBMNF9MT0dESVJUWV9JRFgoYmVnaW5f
cGZuKTsKLSAgICBsNCA9IHBhZ2luZ19tYXBfbG9nX2RpcnR5X2JpdG1hcChk
KTsKLQotICAgIGZvciAoIGk0ID0gYjQ7Ci0gICAgICAgICAgKHBhZ2VzIDwg
bnIpICYmIChpNCA8IExPR0RJUlRZX05PREVfRU5UUklFUyk7Ci0gICAgICAg
ICAgaTQrKyApCisgICAgZm9yICggaSA9IDAsIHBmbiA9IGJlZ2luX3Bmbjsg
cGZuIDwgYmVnaW5fcGZuICsgbnI7IGkrKywgcGZuKysgKQogICAgIHsKLSAg
ICAgICAgbDMgPSAobDQgJiYgbWZuX3ZhbGlkKGw0W2k0XSkpID8gbWFwX2Rv
bWFpbl9wYWdlKG1mbl94KGw0W2k0XSkpIDogTlVMTDsKLSAgICAgICAgZm9y
ICggaTMgPSBiMzsKLSAgICAgICAgICAgICAgKHBhZ2VzIDwgbnIpICYmIChp
MyA8IExPR0RJUlRZX05PREVfRU5UUklFUyk7Ci0gICAgICAgICAgICAgIGkz
KysgKQotICAgICAgICB7Ci0gICAgICAgICAgICBsMiA9ICgobDMgJiYgbWZu
X3ZhbGlkKGwzW2kzXSkpID8KLSAgICAgICAgICAgICAgICAgIG1hcF9kb21h
aW5fcGFnZShtZm5feChsM1tpM10pKSA6IE5VTEwpOwotICAgICAgICAgICAg
Zm9yICggaTIgPSBiMjsKLSAgICAgICAgICAgICAgICAgIChwYWdlcyA8IG5y
KSAmJiAoaTIgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMpOwotICAgICAgICAg
ICAgICAgICAgaTIrKyApCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50IGJ5dGVzID0gUEFHRV9TSVpFOwotICAgICAgICAg
ICAgICAgIHVpbnQ4X3QgKnM7Ci0gICAgICAgICAgICAgICAgbDEgPSAoKGwy
ICYmIG1mbl92YWxpZChsMltpMl0pKSA/Ci0gICAgICAgICAgICAgICAgICAg
ICAgbWFwX2RvbWFpbl9wYWdlKG1mbl94KGwyW2kyXSkpIDogTlVMTCk7Ci0K
LSAgICAgICAgICAgICAgICBzID0gKCh1aW50OF90KilsMSkgKyAoYjEgPj4g
Myk7Ci0gICAgICAgICAgICAgICAgYnl0ZXMgLT0gYjEgPj4gMzsKLQotICAg
ICAgICAgICAgICAgIGlmICggbGlrZWx5KCgobnIgLSBwYWdlcyArIDcpID4+
IDMpIDwgYnl0ZXMpICkKLSAgICAgICAgICAgICAgICAgICAgYnl0ZXMgPSAo
dW5zaWduZWQgaW50KSgobnIgLSBwYWdlcyArIDcpID4+IDMpOwotCi0gICAg
ICAgICAgICAgICAgaWYgKCAhbDEgKQotICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKCBjbGVhcl9ndWVzdF9vZmZzZXQoZGly
dHlfYml0bWFwLCBwYWdlcyA+PiAzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBieXRlcykgIT0gMCApCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJ2ID0g
LUVGQVVMVDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb3V0Owot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIC8qIGJlZ2luX3BmbiBpcyBub3QgMzJLIGFsaWduZWQs
IGhlbmNlIHdlIGhhdmUgdG8gYml0Ci0gICAgICAgICAgICAgICAgICogc2hp
ZnQgdGhlIGJpdG1hcCAqLwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBi
MSAmIDB4NyApCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICBpbnQgaSwgajsKLSAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
KmwgPSAodWludDMyX3QqKSBzOwotICAgICAgICAgICAgICAgICAgICBpbnQg
Yml0cyA9IGIxICYgMHg3OwotICAgICAgICAgICAgICAgICAgICBpbnQgYml0
bWFzayA9ICgxIDw8IGJpdHMpIC0gMTsKLSAgICAgICAgICAgICAgICAgICAg
aW50IHNpemUgPSAoYnl0ZXMgKyBCWVRFU19QRVJfTE9ORyAtIDEpIC8gQllU
RVNfUEVSX0xPTkc7Ci0gICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv
bmcgYml0bWFwW3NpemVdOwotICAgICAgICAgICAgICAgICAgICBzdGF0aWMg
dW5zaWduZWQgbG9uZyBwcmludGVkID0gMDsKLQotICAgICAgICAgICAgICAg
ICAgICBpZiAoIHByaW50ZWQgIT0gYmVnaW5fcGZuICkKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgZHByaW50ayhY
RU5MT0dfREVCVUcsICIlczogYmVnaW5fcGZuICVseCBpcyBub3QgMzJLIGFs
aWduZWQhXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBf
X0ZVTkNUSU9OX18sIGJlZ2luX3Bmbik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBwcmludGVkID0gYmVnaW5fcGZuOwotICAgICAgICAgICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgZm9yICggaSA9IDA7IGkgPCBz
aXplIC0gMTsgaSsrLCBsKysgKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBiaXRtYXBbaV0gPSAoKCpsKSA+PiBiaXRzKSB8Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKCgoKigodWludDhfdCopKGwgKyAxKSkpICYgYml0
bWFzaykgPDwgKHNpemVvZigqbCkgKiA4IC0gYml0cykpOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIHMgPSAodWludDhf
dCopIGw7Ci0gICAgICAgICAgICAgICAgICAgIHNpemUgPSBCWVRFU19QRVJf
TE9ORyAtICgoYjEgPj4gMykgJiAweDMpOwotICAgICAgICAgICAgICAgICAg
ICBiaXRtYXBbaV0gPSAwOwotICAgICAgICAgICAgICAgICAgICBmb3IgKCBq
ID0gMDsgaiA8IHNpemU7IGorKywgcysrICkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGJpdG1hcFtpXSB8PSAoKnMpIDw8IChqICogOCk7Ci0gICAgICAg
ICAgICAgICAgICAgIGJpdG1hcFtpXSA9IChiaXRtYXBbaV0gPj4gYml0cykg
fCAoYml0bWFzayA8PCAoc2l6ZSAqIDggLSBiaXRzKSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICggY29weV90b19ndWVzdF9vZmZzZXQoZGlydHlfYml0
bWFwLCAocGFnZXMgPj4gMyksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICh1aW50OF90KikgYml0bWFwLCBieXRlcykgIT0gMCApCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJ2
ID0gLUVGQVVMVDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb3V0
OwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICggY29weV90b19ndWVzdF9vZmZzZXQoZGly
dHlfYml0bWFwLCBwYWdlcyA+PiAzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHMsIGJ5dGVzKSAhPSAwICkKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
cnYgPSAtRUZBVUxUOwotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBv
dXQ7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgICAgICBwYWdlcyArPSBieXRlcyA8PCAzOwotICAg
ICAgICAgICAgICAgIGlmICggbDEgKQotICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgY2xlYXJfcGFnZShsMSk7Ci0gICAgICAgICAg
ICAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGwxKTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgYjEgPSBiMSAmIDB4NzsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGIyID0gMDsKLSAgICAgICAgICAgIGlm
ICggbDIgKQotICAgICAgICAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGwy
KTsKLSAgICAgICAgfQotICAgICAgICBiMyA9IDA7Ci0gICAgICAgIGlmICgg
bDMgKQotICAgICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDMpOworICAg
ICAgICBwMm1fdHlwZV90IHB0OworICAgICAgICBwdCA9IHAybV9jaGFuZ2Vf
dHlwZShkLCBwZm4sIHAybV9yYW1fcncsIHAybV9yYW1fbG9nZGlydHkpOwor
ICAgICAgICBpZiAoIHB0ID09IHAybV9yYW1fcncgKQorICAgICAgICAgICAg
ZGlydHlfYml0bWFwW2kgPj4gM10gfD0gKDEgPDwgKGkgJiA3KSk7CiAgICAg
fQotICAgIGlmICggbDQgKQotICAgICAgICB1bm1hcF9kb21haW5fcGFnZShs
NCk7Ci0KLSAgICBwYWdpbmdfdW5sb2NrKGQpOwogCi0gICAgcmV0dXJuIHJ2
OworICAgIHAybV91bmxvY2socDJtKTsKIAotIG91dDoKLSAgICBwYWdpbmdf
dW5sb2NrKGQpOwotICAgIHJldHVybiBydjsKKyAgICBmbHVzaF90bGJfbWFz
ayhkLT5kb21haW5fZGlydHlfY3B1bWFzayk7CiB9CiAKIC8qIE5vdGUgdGhh
dCB0aGlzIGZ1bmN0aW9uIHRha2VzIHRocmVlIGZ1bmN0aW9uIHBvaW50ZXJz
LiBDYWxsZXJzIG11c3Qgc3VwcGx5Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14
ODYvY29uZmlnLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcu
aApAQCAtMTcsNiArMTcsNyBAQAogCiAjZGVmaW5lIEJZVEVTX1BFUl9MT05H
ICgxIDw8IExPTkdfQllURU9SREVSKQogI2RlZmluZSBCSVRTX1BFUl9MT05H
IChCWVRFU19QRVJfTE9ORyA8PCAzKQorI2RlZmluZSBCSVRTX1BFUl9CWVRF
IDgKIAogI2RlZmluZSBDT05GSUdfWDg2IDEKICNkZWZpbmUgQ09ORklHX1g4
Nl9IVCAxCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcGFnaW5nLmgKKysr
IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaApAQCAtMTQ1LDEwICsx
NDUsMTAgQEAgc3RydWN0IHBhZ2luZ19tb2RlIHsKIHZvaWQgcGFnaW5nX2Zy
ZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1Y3QgZG9tYWluICpkKTsKIAogLyog
Z2V0IHRoZSBkaXJ0eSBiaXRtYXAgZm9yIGEgc3BlY2lmaWMgcmFuZ2Ugb2Yg
cGZucyAqLwotaW50IHBhZ2luZ19sb2dfZGlydHlfcmFuZ2Uoc3RydWN0IGRv
bWFpbiAqZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGxvbmcgYmVnaW5fcGZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgbG9uZyBuciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IFhFTl9HVUVTVF9IQU5ETEVfNjQodWludDgpIGRpcnR5X2JpdG1hcCk7Cit2
b2lkIHBhZ2luZ19sb2dfZGlydHlfcmFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGJl
Z2luX3BmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBsb25nIG5yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QgKmRpcnR5X2JpdG1hcCk7CiAKIC8qIGVuYWJsZSBsb2cgZGlydHkgKi8K
IGludCBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZShzdHJ1Y3QgZG9tYWluICpk
KTsK

--=separator
Content-Type: application/octet-stream; name="xsa97-hap-4.3.patch"
Content-Disposition: attachment; filename="xsa97-hap-4.3.patch"
Content-Transfer-Encoding: base64

eDg2L3BhZ2luZzogbWFrZSBsb2ctZGlydHkgb3BlcmF0aW9ucyBwcmVlbXB0
aWJsZQoKQm90aCB0aGUgZnJlZWluZyBhbmQgdGhlIGluc3BlY3Rpb24gb2Yg
dGhlIGJpdG1hcCBnZXQgZG9uZSBpbiAobmVzdGVkKQpsb29wcyB3aGljaCAt
IGJlc2lkZXMgaGF2aW5nIGEgcmF0aGVyIGhpZ2ggaXRlcmF0aW9uIGNvdW50
IGluIGdlbmVyYWwsCmFsYmVpdCB0aGF0IHdvdWxkIGJlIGNvdmVyZWQgYnkg
WFNBLTc3IC0gaGF2ZSB0aGUgbnVtYmVyIG9mIG5vbi10cml2aWFsCml0ZXJh
dGlvbnMgdGhleSBuZWVkIHRvIHBlcmZvcm0gKGluZGlyZWN0bHkpIGNvbnRy
b2xsYWJsZSBieSBib3RoIHRoZQpndWVzdCB0aGV5IGFyZSBmb3IgYW5kIGFu
eSBkb21haW4gY29udHJvbGxpbmcgdGhlIGd1ZXN0IChpbmNsdWRpbmcgdGhl
Cm9uZSBydW5uaW5nIHFlbXUgZm9yIGl0KS4KClRoaXMgaXMgWFNBLTk3LgoK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CgotLS0g
YS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCkBAIC0xODY3LDcgKzE4NjcsOSBAQCBpbnQgZG9tYWluX3JlbGlu
cXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkCiAgICAgICAgIHBjaV9yZWxlYXNl
X2RldmljZXMoZCk7CiAKICAgICAgICAgLyogVGVhciBkb3duIHBhZ2luZy1h
c3Npc3RhbmNlIHN0dWZmLiAqLwotICAgICAgICBwYWdpbmdfdGVhcmRvd24o
ZCk7CisgICAgICAgIHJldCA9IHBhZ2luZ190ZWFyZG93bihkKTsKKyAgICAg
ICAgaWYgKCByZXQgKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKIAogICAg
ICAgICAvKiBEcm9wIHRoZSBpbi11c2UgcmVmZXJlbmNlcyB0byBwYWdlLXRh
YmxlIGJhc2VzLiAqLwogICAgICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiAp
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94ZW4vYXJjaC94
ODYvZG9tY3RsLmMKQEAgLTYxLDYgKzYxLDkgQEAgbG9uZyBhcmNoX2RvX2Rv
bWN0bCgKICAgICAgICAgcmV0ID0gcGFnaW5nX2RvbWN0bChkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUuc2hhZG93X29wLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0X2hhbmRsZV9jYXN0
KHVfZG9tY3RsLCB2b2lkKSk7CisgICAgICAgIGlmICggcmV0ID09IC1FQUdB
SU4gKQorICAgICAgICAgICAgcmV0dXJuIGh5cGVyY2FsbF9jcmVhdGVfY29u
dGludWF0aW9uKF9fSFlQRVJWSVNPUl9kb21jdGwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgiLCB1X2Rv
bWN0bCk7CiAgICAgICAgIGNvcHliYWNrID0gMTsKICAgICB9CiAgICAgYnJl
YWs7Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKKysrIGIveGVu
L2FyY2gveDg2L21tL2hhcC9oYXAuYwpAQCAtNTY1LDggKzU2NSw3IEBAIGlu
dCBoYXBfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHhlbl9kb20KICAgICAg
ICAgcGFnaW5nX3VubG9jayhkKTsKICAgICAgICAgaWYgKCBwcmVlbXB0ZWQg
KQogICAgICAgICAgICAgLyogTm90IGZpbmlzaGVkLiAgU2V0IHVwIHRvIHJl
LXJ1biB0aGUgY2FsbC4gKi8KLSAgICAgICAgICAgIHJjID0gaHlwZXJjYWxs
X2NyZWF0ZV9jb250aW51YXRpb24oX19IWVBFUlZJU09SX2RvbWN0bCwgImgi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1X2RvbWN0bCk7CisgICAgICAgICAgICByYyA9IC1FQUdBSU47CiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIC8qIEZpbmlzaGVkLiAgUmV0dXJu
IHRoZSBuZXcgYWxsb2NhdGlvbiAqLwogICAgICAgICAgICAgc2MtPm1iID0g
aGFwX2dldF9hbGxvY2F0aW9uKGQpOwotLS0gYS94ZW4vYXJjaC94ODYvbW0v
cGFnaW5nLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jCkBAIC0y
Niw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL3NoYWRvdy5oPgogI2luY2x1
ZGUgPGFzbS9wMm0uaD4KICNpbmNsdWRlIDxhc20vaGFwLmg+CisjaW5jbHVk
ZSA8YXNtL2V2ZW50Lmg+CiAjaW5jbHVkZSA8YXNtL2h2bS9uZXN0ZWRodm0u
aD4KICNpbmNsdWRlIDx4ZW4vbnVtYS5oPgogI2luY2x1ZGUgPHhzbS94c20u
aD4KQEAgLTExNiwyNiArMTE3LDQ2IEBAIHN0YXRpYyB2b2lkIHBhZ2luZ19m
cmVlX2xvZ19kaXJ0eV9wYWdlKHMKICAgICBkLT5hcmNoLnBhZ2luZy5mcmVl
X3BhZ2UoZCwgbWZuX3RvX3BhZ2UobWZuKSk7CiB9CiAKLXZvaWQgcGFnaW5n
X2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1Y3QgZG9tYWluICpkKQorc3Rh
dGljIGludCBwYWdpbmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKHN0cnVjdCBk
b21haW4gKmQsIGludCByYykKIHsKICAgICBtZm5fdCAqbDQsICpsMywgKmwy
OwogICAgIGludCBpNCwgaTMsIGkyOwogCisgICAgcGFnaW5nX2xvY2soZCk7
CisKICAgICBpZiAoICFtZm5fdmFsaWQoZC0+YXJjaC5wYWdpbmcubG9nX2Rp
cnR5LnRvcCkgKQotICAgICAgICByZXR1cm47CisgICAgeworICAgICAgICBw
YWdpbmdfdW5sb2NrKGQpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAK
LSAgICBwYWdpbmdfbG9jayhkKTsKKyAgICBpZiAoICFkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LnZjcHUgKQorICAgIHsKKyAgICAgICAgbWVtc2V0KCZkLT5h
cmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSwgMCwKKyAgICAgICAgICAg
ICAgIHNpemVvZihkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSkp
OworICAgICAgICBBU1NFUlQocmMgPD0gMCk7CisgICAgICAgIGQtPmFyY2gu
cGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmRvbmUgPSAtcmM7CisgICAgfQor
ICAgIGVsc2UgaWYgKCBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUgIT0g
Y3VycmVudCB8fAorICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVl
bXB0Lm9wICE9IFhFTl9ET01DVExfU0hBRE9XX09QX09GRiApCisgICAgewor
ICAgICAgICBwYWdpbmdfdW5sb2NrKGQpOworICAgICAgICByZXR1cm4gLUVC
VVNZOworICAgIH0KIAogICAgIGw0ID0gbWFwX2RvbWFpbl9wYWdlKG1mbl94
KGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS50b3ApKTsKKyAgICBpNCA9IGQt
PmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5Lmk0OworICAgIGkzID0g
ZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTM7CisgICAgcmMg
PSAwOwogCi0gICAgZm9yICggaTQgPSAwOyBpNCA8IExPR0RJUlRZX05PREVf
RU5UUklFUzsgaTQrKyApCisgICAgZm9yICggOyBpNCA8IExPR0RJUlRZX05P
REVfRU5UUklFUzsgaTQrKywgaTMgPSAwICkKICAgICB7CiAgICAgICAgIGlm
ICggIW1mbl92YWxpZChsNFtpNF0pICkKICAgICAgICAgICAgIGNvbnRpbnVl
OwogCiAgICAgICAgIGwzID0gbWFwX2RvbWFpbl9wYWdlKG1mbl94KGw0W2k0
XSkpOwogCi0gICAgICAgIGZvciAoIGkzID0gMDsgaTMgPCBMT0dESVJUWV9O
T0RFX0VOVFJJRVM7IGkzKysgKQorICAgICAgICBmb3IgKCA7IGkzIDwgTE9H
RElSVFlfTk9ERV9FTlRSSUVTOyBpMysrICkKICAgICAgICAgewogICAgICAg
ICAgICAgaWYgKCAhbWZuX3ZhbGlkKGwzW2kzXSkgKQogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwpAQCAtMTQ4LDIwICsxNjksNTQgQEAgdm9pZCBwYWdp
bmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKHN0cnVjdAogCiAgICAgICAgICAg
ICB1bm1hcF9kb21haW5fcGFnZShsMik7CiAgICAgICAgICAgICBwYWdpbmdf
ZnJlZV9sb2dfZGlydHlfcGFnZShkLCBsM1tpM10pOworICAgICAgICAgICAg
bDNbaTNdID0gX21mbihJTlZBTElEX01GTik7CisKKyAgICAgICAgICAgIGlm
ICggaTMgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMgLSAxICYmIGh5cGVyY2Fs
bF9wcmVlbXB0X2NoZWNrKCkgKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzID0g
aTMgKyAxOworICAgICAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVt
cHQubG9nX2RpcnR5Lmk0ID0gaTQ7CisgICAgICAgICAgICAgICAgcmMgPSAt
RUFHQUlOOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQogICAgICAgICB9CiAKICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDMp
OworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlfcGFnZShkLCBsNFtpNF0pOwor
ICAgICAgICBsNFtpNF0gPSBfbWZuKElOVkFMSURfTUZOKTsKKworICAgICAg
ICBpZiAoIGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0gMSAmJiBoeXBl
cmNhbGxfcHJlZW1wdF9jaGVjaygpICkKKyAgICAgICAgeworICAgICAgICAg
ICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTMgPSAwOwor
ICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHku
aTQgPSBpNCArIDE7CisgICAgICAgICAgICByYyA9IC1FQUdBSU47CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHVubWFw
X2RvbWFpbl9wYWdlKGw0KTsKLSAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlf
cGFnZShkLCBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkudG9wKTsKLSAgICBk
LT5hcmNoLnBhZ2luZy5sb2dfZGlydHkudG9wID0gX21mbihJTlZBTElEX01G
Tik7CiAKLSAgICBBU1NFUlQoZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmFs
bG9jcyA9PSAwKTsKLSAgICBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuZmFp
bGVkX2FsbG9jcyA9IDA7CisgICAgaWYgKCAhcmMgKQorICAgIHsKKyAgICAg
ICAgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X3BhZ2UoZCwgZC0+YXJjaC5wYWdp
bmcubG9nX2RpcnR5LnRvcCk7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLmxv
Z19kaXJ0eS50b3AgPSBfbWZuKElOVkFMSURfTUZOKTsKKworICAgICAgICBB
U1NFUlQoZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmFsbG9jcyA9PSAwKTsK
KyAgICAgICAgZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmZhaWxlZF9hbGxv
Y3MgPSAwOworCisgICAgICAgIHJjID0gLWQtPmFyY2gucGFnaW5nLnByZWVt
cHQubG9nX2RpcnR5LmRvbmU7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnBy
ZWVtcHQudmNwdSA9IE5VTEw7CisgICAgfQorICAgIGVsc2UKKyAgICB7Cisg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNwdSA9IGN1cnJlbnQ7
CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQub3AgPSBYRU5fRE9N
Q1RMX1NIQURPV19PUF9PRkY7CisgICAgfQogCiAgICAgcGFnaW5nX3VubG9j
ayhkKTsKKworICAgIHJldHVybiByYzsKIH0KIAogaW50IHBhZ2luZ19sb2df
ZGlydHlfZW5hYmxlKHN0cnVjdCBkb21haW4gKmQpCkBAIC0xNzgsMTUgKzIz
MywyNSBAQCBpbnQgcGFnaW5nX2xvZ19kaXJ0eV9lbmFibGUoc3RydWN0IGRv
bWFpCiAgICAgcmV0dXJuIHJldDsKIH0KIAotaW50IHBhZ2luZ19sb2dfZGly
dHlfZGlzYWJsZShzdHJ1Y3QgZG9tYWluICpkKQorc3RhdGljIGludCBwYWdp
bmdfbG9nX2RpcnR5X2Rpc2FibGUoc3RydWN0IGRvbWFpbiAqZCwgYm9vbF90
IHJlc3VtaW5nKQogewotICAgIGludCByZXQ7CisgICAgaW50IHJldCA9IDE7
CisKKyAgICBpZiAoICFyZXN1bWluZyApCisgICAgeworICAgICAgICBkb21h
aW5fcGF1c2UoZCk7CisgICAgICAgIC8qIFNhZmUgYmVjYXVzZSB0aGUgZG9t
YWluIGlzIHBhdXNlZC4gKi8KKyAgICAgICAgcmV0ID0gZC0+YXJjaC5wYWdp
bmcubG9nX2RpcnR5LmRpc2FibGVfbG9nX2RpcnR5KGQpOworICAgICAgICBB
U1NFUlQocmV0IDw9IDApOworICAgIH0KIAotICAgIGRvbWFpbl9wYXVzZShk
KTsKLSAgICAvKiBTYWZlIGJlY2F1c2UgdGhlIGRvbWFpbiBpcyBwYXVzZWQu
ICovCi0gICAgcmV0ID0gZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmRpc2Fi
bGVfbG9nX2RpcnR5KGQpOwogICAgIGlmICggIXBhZ2luZ19tb2RlX2xvZ19k
aXJ0eShkKSApCi0gICAgICAgIHBhZ2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRt
YXAoZCk7CisgICAgeworICAgICAgICByZXQgPSBwYWdpbmdfZnJlZV9sb2df
ZGlydHlfYml0bWFwKGQsIHJldCk7CisgICAgICAgIGlmICggcmV0ID09IC1F
QUdBSU4gKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKICAg
ICBkb21haW5fdW5wYXVzZShkKTsKIAogICAgIHJldHVybiByZXQ7CkBAIC0z
MjYsNyArMzkxLDkgQEAgaW50IHBhZ2luZ19tZm5faXNfZGlydHkoc3RydWN0
IGRvbWFpbiAqZAogCiAvKiBSZWFkIGEgZG9tYWluJ3MgbG9nLWRpcnR5IGJp
dG1hcCBhbmQgc3RhdHMuICBJZiB0aGUgb3BlcmF0aW9uIGlzIGEgQ0xFQU4s
CiAgKiBjbGVhciB0aGUgYml0bWFwIGFuZCBzdGF0cyBhcyB3ZWxsLiAqLwot
aW50IHBhZ2luZ19sb2dfZGlydHlfb3Aoc3RydWN0IGRvbWFpbiAqZCwgc3Ry
dWN0IHhlbl9kb21jdGxfc2hhZG93X29wICpzYykKK3N0YXRpYyBpbnQgcGFn
aW5nX2xvZ19kaXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX3NoYWRv
d19vcCAqc2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bF90IHJlc3VtaW5nKQogewogICAgIGludCBydiA9IDAsIGNsZWFuID0gMCwg
cGVlayA9IDE7CiAgICAgdW5zaWduZWQgbG9uZyBwYWdlcyA9IDA7CkBAIC0z
MzQsOSArNDAxLDIyIEBAIGludCBwYWdpbmdfbG9nX2RpcnR5X29wKHN0cnVj
dCBkb21haW4gKmQKICAgICB1bnNpZ25lZCBsb25nICpsMSA9IE5VTEw7CiAg
ICAgaW50IGk0LCBpMywgaTI7CiAKLSAgICBkb21haW5fcGF1c2UoZCk7Cisg
ICAgaWYgKCAhcmVzdW1pbmcgKQorICAgICAgICBkb21haW5fcGF1c2UoZCk7
CiAgICAgcGFnaW5nX2xvY2soZCk7CiAKKyAgICBpZiAoICFkLT5hcmNoLnBh
Z2luZy5wcmVlbXB0LnZjcHUgKQorICAgICAgICBtZW1zZXQoJmQtPmFyY2gu
cGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LCAwLAorICAgICAgICAgICAgICAg
c2l6ZW9mKGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5KSk7Cisg
ICAgZWxzZSBpZiAoIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNwdSAhPSBj
dXJyZW50IHx8CisgICAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVt
cHQub3AgIT0gc2MtPm9wICkKKyAgICB7CisgICAgICAgIHBhZ2luZ191bmxv
Y2soZCk7CisgICAgICAgIEFTU0VSVCghcmVzdW1pbmcpOworICAgICAgICBk
b21haW5fdW5wYXVzZShkKTsKKyAgICAgICAgcmV0dXJuIC1FQlVTWTsKKyAg
ICB9CisKICAgICBjbGVhbiA9IChzYy0+b3AgPT0gWEVOX0RPTUNUTF9TSEFE
T1dfT1BfQ0xFQU4pOwogCiAgICAgUEFHSU5HX0RFQlVHKExPR0RJUlRZLCAi
bG9nLWRpcnR5ICVzOiBkb20gJXUgZmF1bHRzPSV1IGRpcnR5PSV1XG4iLApA
QCAtMzY1LDE3ICs0NDUsMTUgQEAgaW50IHBhZ2luZ19sb2dfZGlydHlfb3Ao
c3RydWN0IGRvbWFpbiAqZAogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAK
LSAgICBwYWdlcyA9IDA7CiAgICAgbDQgPSBwYWdpbmdfbWFwX2xvZ19kaXJ0
eV9iaXRtYXAoZCk7CisgICAgaTQgPSBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0
LmxvZ19kaXJ0eS5pNDsKKyAgICBpMyA9IGQtPmFyY2gucGFnaW5nLnByZWVt
cHQubG9nX2RpcnR5LmkzOworICAgIHBhZ2VzID0gZC0+YXJjaC5wYWdpbmcu
cHJlZW1wdC5sb2dfZGlydHkuZG9uZTsKIAotICAgIGZvciAoIGk0ID0gMDsK
LSAgICAgICAgICAocGFnZXMgPCBzYy0+cGFnZXMpICYmIChpNCA8IExPR0RJ
UlRZX05PREVfRU5UUklFUyk7Ci0gICAgICAgICAgaTQrKyApCisgICAgZm9y
ICggOyAocGFnZXMgPCBzYy0+cGFnZXMpICYmIChpNCA8IExPR0RJUlRZX05P
REVfRU5UUklFUyk7IGk0KyssIGkzID0gMCApCiAgICAgewogICAgICAgICBs
MyA9IChsNCAmJiBtZm5fdmFsaWQobDRbaTRdKSkgPyBtYXBfZG9tYWluX3Bh
Z2UobWZuX3gobDRbaTRdKSkgOiBOVUxMOwotICAgICAgICBmb3IgKCBpMyA9
IDA7Ci0gICAgICAgICAgICAgIChwYWdlcyA8IHNjLT5wYWdlcykgJiYgKGkz
IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTKTsKLSAgICAgICAgICAgICAgaTMr
KyApCisgICAgICAgIGZvciAoIDsgKHBhZ2VzIDwgc2MtPnBhZ2VzKSAmJiAo
aTMgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMpOyBpMysrICkKICAgICAgICAg
ewogICAgICAgICAgICAgbDIgPSAoKGwzICYmIG1mbl92YWxpZChsM1tpM10p
KSA/CiAgICAgICAgICAgICAgICAgICBtYXBfZG9tYWluX3BhZ2UobWZuX3go
bDNbaTNdKSkgOiBOVUxMKTsKQEAgLTQxMCwxOCArNDg4LDUxIEBAIGludCBw
YWdpbmdfbG9nX2RpcnR5X29wKHN0cnVjdCBkb21haW4gKmQKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGlmICggbDIgKQogICAgICAgICAgICAgICAg
IHVubWFwX2RvbWFpbl9wYWdlKGwyKTsKKworICAgICAgICAgICAgaWYgKCBp
MyA8IExPR0RJUlRZX05PREVfRU5UUklFUyAtIDEgJiYgaHlwZXJjYWxsX3By
ZWVtcHRfY2hlY2soKSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTQgPSBpNDsK
KyAgICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19k
aXJ0eS5pMyA9IGkzICsgMTsKKyAgICAgICAgICAgICAgICBydiA9IC1FQUdB
SU47CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICAgICAgaWYgKCBsMyApCiAgICAgICAgICAgICB1bm1h
cF9kb21haW5fcGFnZShsMyk7CisKKyAgICAgICAgaWYgKCAhcnYgJiYgaTQg
PCBMT0dESVJUWV9OT0RFX0VOVFJJRVMgLSAxICYmCisgICAgICAgICAgICAg
aHlwZXJjYWxsX3ByZWVtcHRfY2hlY2soKSApCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5Lmk0ID0g
aTQgKyAxOworICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5s
b2dfZGlydHkuaTMgPSAwOworICAgICAgICAgICAgcnYgPSAtRUFHQUlOOwor
ICAgICAgICB9CisgICAgICAgIGlmICggcnYgKQorICAgICAgICAgICAgYnJl
YWs7CiAgICAgfQogICAgIGlmICggbDQgKQogICAgICAgICB1bm1hcF9kb21h
aW5fcGFnZShsNCk7CiAKLSAgICBpZiAoIHBhZ2VzIDwgc2MtPnBhZ2VzICkK
LSAgICAgICAgc2MtPnBhZ2VzID0gcGFnZXM7CisgICAgaWYgKCAhcnYgKQor
ICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUgPSBOVUxMOwor
ICAgIGVsc2UKKyAgICB7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVt
cHQudmNwdSA9IGN1cnJlbnQ7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnBy
ZWVtcHQub3AgPSBzYy0+b3A7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnBy
ZWVtcHQubG9nX2RpcnR5LmRvbmUgPSBwYWdlczsKKyAgICB9CiAKICAgICBw
YWdpbmdfdW5sb2NrKGQpOwogCisgICAgaWYgKCBydiApCisgICAgeworICAg
ICAgICAvKiBOZXZlciBsZWF2ZSB0aGUgZG9tYWluIHBhdXNlZCBmb3Igb3Ro
ZXIgZXJyb3JzLiAqLworICAgICAgICBBU1NFUlQocnYgPT0gLUVBR0FJTik7
CisgICAgICAgIHJldHVybiBydjsKKyAgICB9CisKKyAgICBpZiAoIHBhZ2Vz
IDwgc2MtPnBhZ2VzICkKKyAgICAgICAgc2MtPnBhZ2VzID0gcGFnZXM7CiAg
ICAgaWYgKCBjbGVhbiApCiAgICAgewogICAgICAgICAvKiBXZSBuZWVkIHRv
IGZ1cnRoZXIgY2FsbCBjbGVhbl9kaXJ0eV9iaXRtYXAoKSBmdW5jdGlvbnMg
b2Ygc3BlY2lmaWMKQEAgLTQzMiw2ICs1NDMsNyBAQCBpbnQgcGFnaW5nX2xv
Z19kaXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpkCiAgICAgcmV0dXJuIHJ2Owog
CiAgb3V0OgorICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNwdSA9IE5V
TEw7CiAgICAgcGFnaW5nX3VubG9jayhkKTsKICAgICBkb21haW5fdW5wYXVz
ZShkKTsKIApAQCAtNDk4LDEyICs2MTAsNiBAQCB2b2lkIHBhZ2luZ19sb2df
ZGlydHlfaW5pdChzdHJ1Y3QgZG9tYWluCiAgICAgZC0+YXJjaC5wYWdpbmcu
bG9nX2RpcnR5LmNsZWFuX2RpcnR5X2JpdG1hcCA9IGNsZWFuX2RpcnR5X2Jp
dG1hcDsKIH0KIAotLyogVGhpcyBmdW5jdGlvbiBmcmVzcyBsb2cgZGlydHkg
Yml0bWFwIHJlc291cmNlcy4gKi8KLXN0YXRpYyB2b2lkIHBhZ2luZ19sb2df
ZGlydHlfdGVhcmRvd24oc3RydWN0IGRvbWFpbipkKQotewotICAgIHBhZ2lu
Z19mcmVlX2xvZ19kaXJ0eV9iaXRtYXAoZCk7Ci19Ci0KIC8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAvKiAg
ICAgICAgICAgQ09ERSBGT1IgUEFHSU5HIFNVUFBPUlQgICAgICAgICAgICAq
LwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKi8KQEAgLTU0Nyw2ICs2NTMsNyBAQCB2b2lkIHBhZ2luZ192Y3B1
X2luaXQoc3RydWN0IHZjcHUgKnYpCiBpbnQgcGFnaW5nX2RvbWN0bChzdHJ1
Y3QgZG9tYWluICpkLCB4ZW5fZG9tY3RsX3NoYWRvd19vcF90ICpzYywKICAg
ICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkg
dV9kb21jdGwpCiB7CisgICAgYm9vbF90IHJlc3VtaW5nID0gMDsKICAgICBp
bnQgcmM7CiAKICAgICBpZiAoIHVubGlrZWx5KGQgPT0gY3VycmVudC0+ZG9t
YWluKSApCkBAIC01NjksNiArNjc2LDIwIEBAIGludCBwYWdpbmdfZG9tY3Rs
KHN0cnVjdCBkb21haW4gKmQsIHhlbl8KICAgICAgICAgcmV0dXJuIC1FSU5W
QUw7CiAgICAgfQogCisgICAgaWYgKCBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0
LnZjcHUgKQorICAgIHsKKyAgICAgICAgaWYgKCBkLT5hcmNoLnBhZ2luZy5w
cmVlbXB0LnZjcHUgIT0gY3VycmVudCB8fAorICAgICAgICAgICAgIGQtPmFy
Y2gucGFnaW5nLnByZWVtcHQub3AgIT0gc2MtPm9wICkKKyAgICAgICAgewor
ICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0RFQlVHCisgICAgICAgICAg
ICAgICAgICAgImQlZDp2JWQ6IFBhZ2luZyBvcCAlI3ggb24gRG9tJXUgd2l0
aCB1bmZpbmlzaGVkIHByaW9yIG9wICUjeFxuIiwKKyAgICAgICAgICAgICAg
ICAgICBjdXJyZW50LT5kb21haW4tPmRvbWFpbl9pZCwgY3VycmVudC0+dmNw
dV9pZCwKKyAgICAgICAgICAgICAgICAgICBzYy0+b3AsIGQtPmRvbWFpbl9p
ZCwgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5vcCk7CisgICAgICAgICAgICBy
ZXR1cm4gLUVCVVNZOworICAgICAgICB9CisgICAgICAgIHJlc3VtaW5nID0g
MTsKKyAgICB9CisKICAgICByYyA9IHhzbV9zaGFkb3dfY29udHJvbChYU01f
SE9PSywgZCwgc2MtPm9wKTsKICAgICBpZiAoIHJjICkKICAgICAgICAgcmV0
dXJuIHJjOwpAQCAtNTk0LDEzICs3MTQsMTMgQEAgaW50IHBhZ2luZ19kb21j
dGwoc3RydWN0IGRvbWFpbiAqZCwgeGVuXwogCiAgICAgY2FzZSBYRU5fRE9N
Q1RMX1NIQURPV19PUF9PRkY6CiAgICAgICAgIGlmICggcGFnaW5nX21vZGVf
bG9nX2RpcnR5KGQpICkKLSAgICAgICAgICAgIGlmICggKHJjID0gcGFnaW5n
X2xvZ19kaXJ0eV9kaXNhYmxlKGQpKSAhPSAwICkKKyAgICAgICAgICAgIGlm
ICggKHJjID0gcGFnaW5nX2xvZ19kaXJ0eV9kaXNhYmxlKGQsIHJlc3VtaW5n
KSkgIT0gMCApCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJjOwogICAgICAg
ICBicmVhazsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfQ0xF
QU46CiAgICAgY2FzZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9QRUVLOgotICAg
ICAgICByZXR1cm4gcGFnaW5nX2xvZ19kaXJ0eV9vcChkLCBzYyk7CisgICAg
ICAgIHJldHVybiBwYWdpbmdfbG9nX2RpcnR5X29wKGQsIHNjLCByZXN1bWlu
Zyk7CiAgICAgfQogCiAgICAgLyogSGVyZSwgZGlzcGF0Y2ggZG9tY3RsIHRv
IHRoZSBhcHByb3ByaWF0ZSBwYWdpbmcgY29kZSAqLwpAQCAtNjExLDE4ICs3
MzEsMjQgQEAgaW50IHBhZ2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwg
eGVuXwogfQogCiAvKiBDYWxsIHdoZW4gZGVzdHJveWluZyBhIGRvbWFpbiAq
Lwotdm9pZCBwYWdpbmdfdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCkKK2lu
dCBwYWdpbmdfdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCkKIHsKKyAgICBp
bnQgcmM7CisKICAgICBpZiAoIGhhcF9lbmFibGVkKGQpICkKICAgICAgICAg
aGFwX3RlYXJkb3duKGQpOwogICAgIGVsc2UKICAgICAgICAgc2hhZG93X3Rl
YXJkb3duKGQpOwogCiAgICAgLyogY2xlYW4gdXAgbG9nIGRpcnR5IHJlc291
cmNlcy4gKi8KLSAgICBwYWdpbmdfbG9nX2RpcnR5X3RlYXJkb3duKGQpOwor
ICAgIHJjID0gcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChkLCAwKTsK
KyAgICBpZiAoIHJjID09IC1FQUdBSU4gKQorICAgICAgICByZXR1cm4gcmM7
CiAKICAgICAvKiBNb3ZlIHBvcHVsYXRlLW9uLWRlbWFuZCBjYWNoZSBiYWNr
IHRvIGRvbWFpbl9saXN0IGZvciBkZXN0cnVjdGlvbiAqLwogICAgIHAybV9w
b2RfZW1wdHlfY2FjaGUoZCk7CisKKyAgICByZXR1cm4gcmM7CiB9CiAKIC8q
IENhbGwgb25jZSBhbGwgb2YgdGhlIHJlZmVyZW5jZXMgdG8gdGhlIGRvbWFp
biBoYXZlIGdvbmUgYXdheSAqLwotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hh
ZG93L2NvbW1vbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29t
bW9uLmMKQEAgLTM3MDYsOCArMzcwNiw3IEBAIGludCBzaGFkb3dfZG9tY3Rs
KHN0cnVjdCBkb21haW4gKmQsIAogICAgICAgICBwYWdpbmdfdW5sb2NrKGQp
OwogICAgICAgICBpZiAoIHByZWVtcHRlZCApCiAgICAgICAgICAgICAvKiBO
b3QgZmluaXNoZWQuICBTZXQgdXAgdG8gcmUtcnVuIHRoZSBjYWxsLiAqLwot
ICAgICAgICAgICAgcmMgPSBoeXBlcmNhbGxfY3JlYXRlX2NvbnRpbnVhdGlv
bigKLSAgICAgICAgICAgICAgICBfX0hZUEVSVklTT1JfZG9tY3RsLCAiaCIs
IHVfZG9tY3RsKTsKKyAgICAgICAgICAgIHJjID0gLUVBR0FJTjsKICAgICAg
ICAgZWxzZSAKICAgICAgICAgICAgIC8qIEZpbmlzaGVkLiAgUmV0dXJuIHRo
ZSBuZXcgYWxsb2NhdGlvbiAqLwogICAgICAgICAgICAgc2MtPm1iID0gc2hh
ZG93X2dldF9hbGxvY2F0aW9uKGQpOwotLS0gYS94ZW4vY29tbW9uL2RvbWFp
bi5jCisrKyBiL3hlbi9jb21tb24vZG9tYWluLmMKQEAgLTUyNyw3ICs1Mjcs
NiBAQCBpbnQgZG9tYWluX2tpbGwoc3RydWN0IGRvbWFpbiAqZCkKICAgICAg
ICAgcmMgPSBkb21haW5fcmVsaW5xdWlzaF9yZXNvdXJjZXMoZCk7CiAgICAg
ICAgIGlmICggcmMgIT0gMCApCiAgICAgICAgIHsKLSAgICAgICAgICAgIEJV
R19PTihyYyAhPSAtRUFHQUlOKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CiAgICAgICAgIGlmICggc2NoZWRfbW92ZV9kb21haW4oZCwgY3B1
cG9vbDApICkKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCkBAIC0xODYsNiAr
MTg2LDIwIEBAIHN0cnVjdCBwYWdpbmdfZG9tYWluIHsKICAgICBzdHJ1Y3Qg
aGFwX2RvbWFpbiAgICAgICBoYXA7CiAgICAgLyogbG9nIGRpcnR5IHN1cHBv
cnQgKi8KICAgICBzdHJ1Y3QgbG9nX2RpcnR5X2RvbWFpbiBsb2dfZGlydHk7
CisKKyAgICAvKiBwcmVlbXB0aW9uIGhhbmRsaW5nICovCisgICAgc3RydWN0
IHsKKyAgICAgICAgc3RydWN0IHZjcHUgKnZjcHU7CisgICAgICAgIHVuc2ln
bmVkIGludCBvcDsKKyAgICAgICAgdW5pb24geworICAgICAgICAgICAgc3Ry
dWN0IHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRvbmU6UEFE
RFJfQklUUyAtIFBBR0VfU0hJRlQ7CisgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBpNDpQQUdFVEFCTEVfT1JERVI7CisgICAgICAgICAgICAgICAg
dW5zaWduZWQgbG9uZyBpMzpQQUdFVEFCTEVfT1JERVI7CisgICAgICAgICAg
ICB9IGxvZ19kaXJ0eTsKKyAgICAgICAgfTsKKyAgICB9IHByZWVtcHQ7CisK
ICAgICAvKiBhbGxvYy9mcmVlIHBhZ2VzIGZyb20gdGhlIHBvb2wgZm9yIHBh
Z2luZy1hc3Npc3RhbmNlIHN0cnVjdHVyZXMKICAgICAgKiAodXNlZCBieSBw
Mm0gYW5kIGxvZy1kaXJ0eSBjb2RlIGZvciB0aGVpciB0cmllcykgKi8KICAg
ICBzdHJ1Y3QgcGFnZV9pbmZvICogKCphbGxvY19wYWdlKShzdHJ1Y3QgZG9t
YWluICpkKTsKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2luZy5oCkBAIC0xMzMsOSAr
MTMzLDYgQEAgc3RydWN0IHBhZ2luZ19tb2RlIHsKIC8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgogICogTG9nIGRpcnR5IGNvZGUgKi8KIAot
LyogZnJlZSBsb2cgZGlydHkgYml0bWFwIHJlc291cmNlICovCi12b2lkIHBh
Z2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXAoc3RydWN0IGRvbWFpbiAqZCk7
Ci0KIC8qIGdldCB0aGUgZGlydHkgYml0bWFwIGZvciBhIHNwZWNpZmljIHJh
bmdlIG9mIHBmbnMgKi8KIHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV9yYW5nZShz
dHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGxvbmcgYmVnaW5fcGZuLApAQCAtMTQ1LDkgKzE0Miw2IEBA
IHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV9yYW5nZShzdHJ1Y3QgZG9tYWkKIC8q
IGVuYWJsZSBsb2cgZGlydHkgKi8KIGludCBwYWdpbmdfbG9nX2RpcnR5X2Vu
YWJsZShzdHJ1Y3QgZG9tYWluICpkKTsKIAotLyogZGlzYWJsZSBsb2cgZGly
dHkgKi8KLWludCBwYWdpbmdfbG9nX2RpcnR5X2Rpc2FibGUoc3RydWN0IGRv
bWFpbiAqZCk7Ci0KIC8qIGxvZyBkaXJ0eSBpbml0aWFsaXphdGlvbiAqLwog
dm9pZCBwYWdpbmdfbG9nX2RpcnR5X2luaXQoc3RydWN0IGRvbWFpbiAqZCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAgKCplbmFibGVfbG9n
X2RpcnR5KShzdHJ1Y3QgZG9tYWluICpkKSwKQEAgLTIwNiw3ICsyMDAsNyBA
QCBpbnQgcGFnaW5nX2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCB4ZW5fCiAg
ICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQp
IHVfZG9tY3RsKTsKIAogLyogQ2FsbCB3aGVuIGRlc3Ryb3lpbmcgYSBkb21h
aW4gKi8KLXZvaWQgcGFnaW5nX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQp
OworaW50IHBhZ2luZ190ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkKTsKIAog
LyogQ2FsbCBvbmNlIGFsbCBvZiB0aGUgcmVmZXJlbmNlcyB0byB0aGUgZG9t
YWluIGhhdmUgZ29uZSBhd2F5ICovCiB2b2lkIHBhZ2luZ19maW5hbF90ZWFy
ZG93bihzdHJ1Y3QgZG9tYWluICpkKTsK

--=separator
Content-Type: application/octet-stream; name="xsa97-hap-4.4.patch"
Content-Disposition: attachment; filename="xsa97-hap-4.4.patch"
Content-Transfer-Encoding: base64

eDg2L3BhZ2luZzogbWFrZSBsb2ctZGlydHkgb3BlcmF0aW9ucyBwcmVlbXB0
aWJsZQoKQm90aCB0aGUgZnJlZWluZyBhbmQgdGhlIGluc3BlY3Rpb24gb2Yg
dGhlIGJpdG1hcCBnZXQgZG9uZSBpbiAobmVzdGVkKQpsb29wcyB3aGljaCAt
IGJlc2lkZXMgaGF2aW5nIGEgcmF0aGVyIGhpZ2ggaXRlcmF0aW9uIGNvdW50
IGluIGdlbmVyYWwsCmFsYmVpdCB0aGF0IHdvdWxkIGJlIGNvdmVyZWQgYnkg
WFNBLTc3IC0gaGF2ZSB0aGUgbnVtYmVyIG9mIG5vbi10cml2aWFsCml0ZXJh
dGlvbnMgdGhleSBuZWVkIHRvIHBlcmZvcm0gKGluZGlyZWN0bHkpIGNvbnRy
b2xsYWJsZSBieSBib3RoIHRoZQpndWVzdCB0aGV5IGFyZSBmb3IgYW5kIGFu
eSBkb21haW4gY29udHJvbGxpbmcgdGhlIGd1ZXN0IChpbmNsdWRpbmcgdGhl
Cm9uZSBydW5uaW5nIHFlbXUgZm9yIGl0KS4KClRoaXMgaXMgWFNBLTk3LgoK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CgotLS0g
YS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCkBAIC0xOTE1LDcgKzE5MTUsOSBAQCBpbnQgZG9tYWluX3JlbGlu
cXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkCiAgICAgICAgIHBjaV9yZWxlYXNl
X2RldmljZXMoZCk7CiAKICAgICAgICAgLyogVGVhciBkb3duIHBhZ2luZy1h
c3Npc3RhbmNlIHN0dWZmLiAqLwotICAgICAgICBwYWdpbmdfdGVhcmRvd24o
ZCk7CisgICAgICAgIHJldCA9IHBhZ2luZ190ZWFyZG93bihkKTsKKyAgICAg
ICAgaWYgKCByZXQgKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKIAogICAg
ICAgICAvKiBEcm9wIHRoZSBpbi11c2UgcmVmZXJlbmNlcyB0byBwYWdlLXRh
YmxlIGJhc2VzLiAqLwogICAgICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiAp
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94ZW4vYXJjaC94
ODYvZG9tY3RsLmMKQEAgLTYxLDYgKzYxLDkgQEAgbG9uZyBhcmNoX2RvX2Rv
bWN0bCgKICAgICAgICAgcmV0ID0gcGFnaW5nX2RvbWN0bChkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUuc2hhZG93X29wLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0X2hhbmRsZV9jYXN0
KHVfZG9tY3RsLCB2b2lkKSk7CisgICAgICAgIGlmICggcmV0ID09IC1FQUdB
SU4gKQorICAgICAgICAgICAgcmV0dXJuIGh5cGVyY2FsbF9jcmVhdGVfY29u
dGludWF0aW9uKF9fSFlQRVJWSVNPUl9kb21jdGwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgiLCB1X2Rv
bWN0bCk7CiAgICAgICAgIGNvcHliYWNrID0gMTsKICAgICB9CiAgICAgYnJl
YWs7Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKKysrIGIveGVu
L2FyY2gveDg2L21tL2hhcC9oYXAuYwpAQCAtNTcyLDggKzU3Miw3IEBAIGlu
dCBoYXBfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHhlbl9kb20KICAgICAg
ICAgcGFnaW5nX3VubG9jayhkKTsKICAgICAgICAgaWYgKCBwcmVlbXB0ZWQg
KQogICAgICAgICAgICAgLyogTm90IGZpbmlzaGVkLiAgU2V0IHVwIHRvIHJl
LXJ1biB0aGUgY2FsbC4gKi8KLSAgICAgICAgICAgIHJjID0gaHlwZXJjYWxs
X2NyZWF0ZV9jb250aW51YXRpb24oX19IWVBFUlZJU09SX2RvbWN0bCwgImgi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1X2RvbWN0bCk7CisgICAgICAgICAgICByYyA9IC1FQUdBSU47CiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIC8qIEZpbmlzaGVkLiAgUmV0dXJu
IHRoZSBuZXcgYWxsb2NhdGlvbiAqLwogICAgICAgICAgICAgc2MtPm1iID0g
aGFwX2dldF9hbGxvY2F0aW9uKGQpOwotLS0gYS94ZW4vYXJjaC94ODYvbW0v
cGFnaW5nLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jCkBAIC0y
Niw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL3NoYWRvdy5oPgogI2luY2x1
ZGUgPGFzbS9wMm0uaD4KICNpbmNsdWRlIDxhc20vaGFwLmg+CisjaW5jbHVk
ZSA8YXNtL2V2ZW50Lmg+CiAjaW5jbHVkZSA8YXNtL2h2bS9uZXN0ZWRodm0u
aD4KICNpbmNsdWRlIDx4ZW4vbnVtYS5oPgogI2luY2x1ZGUgPHhzbS94c20u
aD4KQEAgLTExNiwyNiArMTE3LDQ2IEBAIHN0YXRpYyB2b2lkIHBhZ2luZ19m
cmVlX2xvZ19kaXJ0eV9wYWdlKHMKICAgICBkLT5hcmNoLnBhZ2luZy5mcmVl
X3BhZ2UoZCwgbWZuX3RvX3BhZ2UobWZuKSk7CiB9CiAKLXZvaWQgcGFnaW5n
X2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1Y3QgZG9tYWluICpkKQorc3Rh
dGljIGludCBwYWdpbmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKHN0cnVjdCBk
b21haW4gKmQsIGludCByYykKIHsKICAgICBtZm5fdCAqbDQsICpsMywgKmwy
OwogICAgIGludCBpNCwgaTMsIGkyOwogCisgICAgcGFnaW5nX2xvY2soZCk7
CisKICAgICBpZiAoICFtZm5fdmFsaWQoZC0+YXJjaC5wYWdpbmcubG9nX2Rp
cnR5LnRvcCkgKQotICAgICAgICByZXR1cm47CisgICAgeworICAgICAgICBw
YWdpbmdfdW5sb2NrKGQpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAK
LSAgICBwYWdpbmdfbG9jayhkKTsKKyAgICBpZiAoICFkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LnZjcHUgKQorICAgIHsKKyAgICAgICAgbWVtc2V0KCZkLT5h
cmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSwgMCwKKyAgICAgICAgICAg
ICAgIHNpemVvZihkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSkp
OworICAgICAgICBBU1NFUlQocmMgPD0gMCk7CisgICAgICAgIGQtPmFyY2gu
cGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmRvbmUgPSAtcmM7CisgICAgfQor
ICAgIGVsc2UgaWYgKCBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUgIT0g
Y3VycmVudCB8fAorICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVl
bXB0Lm9wICE9IFhFTl9ET01DVExfU0hBRE9XX09QX09GRiApCisgICAgewor
ICAgICAgICBwYWdpbmdfdW5sb2NrKGQpOworICAgICAgICByZXR1cm4gLUVC
VVNZOworICAgIH0KIAogICAgIGw0ID0gbWFwX2RvbWFpbl9wYWdlKG1mbl94
KGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS50b3ApKTsKKyAgICBpNCA9IGQt
PmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5Lmk0OworICAgIGkzID0g
ZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTM7CisgICAgcmMg
PSAwOwogCi0gICAgZm9yICggaTQgPSAwOyBpNCA8IExPR0RJUlRZX05PREVf
RU5UUklFUzsgaTQrKyApCisgICAgZm9yICggOyBpNCA8IExPR0RJUlRZX05P
REVfRU5UUklFUzsgaTQrKywgaTMgPSAwICkKICAgICB7CiAgICAgICAgIGlm
ICggIW1mbl92YWxpZChsNFtpNF0pICkKICAgICAgICAgICAgIGNvbnRpbnVl
OwogCiAgICAgICAgIGwzID0gbWFwX2RvbWFpbl9wYWdlKG1mbl94KGw0W2k0
XSkpOwogCi0gICAgICAgIGZvciAoIGkzID0gMDsgaTMgPCBMT0dESVJUWV9O
T0RFX0VOVFJJRVM7IGkzKysgKQorICAgICAgICBmb3IgKCA7IGkzIDwgTE9H
RElSVFlfTk9ERV9FTlRSSUVTOyBpMysrICkKICAgICAgICAgewogICAgICAg
ICAgICAgaWYgKCAhbWZuX3ZhbGlkKGwzW2kzXSkgKQogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwpAQCAtMTQ4LDIwICsxNjksNTQgQEAgdm9pZCBwYWdp
bmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKHN0cnVjdAogCiAgICAgICAgICAg
ICB1bm1hcF9kb21haW5fcGFnZShsMik7CiAgICAgICAgICAgICBwYWdpbmdf
ZnJlZV9sb2dfZGlydHlfcGFnZShkLCBsM1tpM10pOworICAgICAgICAgICAg
bDNbaTNdID0gX21mbihJTlZBTElEX01GTik7CisKKyAgICAgICAgICAgIGlm
ICggaTMgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMgLSAxICYmIGh5cGVyY2Fs
bF9wcmVlbXB0X2NoZWNrKCkgKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzID0g
aTMgKyAxOworICAgICAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVt
cHQubG9nX2RpcnR5Lmk0ID0gaTQ7CisgICAgICAgICAgICAgICAgcmMgPSAt
RUFHQUlOOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQogICAgICAgICB9CiAKICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDMp
OworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlfcGFnZShkLCBsNFtpNF0pOwor
ICAgICAgICBsNFtpNF0gPSBfbWZuKElOVkFMSURfTUZOKTsKKworICAgICAg
ICBpZiAoIGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0gMSAmJiBoeXBl
cmNhbGxfcHJlZW1wdF9jaGVjaygpICkKKyAgICAgICAgeworICAgICAgICAg
ICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTMgPSAwOwor
ICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHku
aTQgPSBpNCArIDE7CisgICAgICAgICAgICByYyA9IC1FQUdBSU47CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHVubWFw
X2RvbWFpbl9wYWdlKGw0KTsKLSAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlf
cGFnZShkLCBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkudG9wKTsKLSAgICBk
LT5hcmNoLnBhZ2luZy5sb2dfZGlydHkudG9wID0gX21mbihJTlZBTElEX01G
Tik7CiAKLSAgICBBU1NFUlQoZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmFs
bG9jcyA9PSAwKTsKLSAgICBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuZmFp
bGVkX2FsbG9jcyA9IDA7CisgICAgaWYgKCAhcmMgKQorICAgIHsKKyAgICAg
ICAgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X3BhZ2UoZCwgZC0+YXJjaC5wYWdp
bmcubG9nX2RpcnR5LnRvcCk7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLmxv
Z19kaXJ0eS50b3AgPSBfbWZuKElOVkFMSURfTUZOKTsKKworICAgICAgICBB
U1NFUlQoZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmFsbG9jcyA9PSAwKTsK
KyAgICAgICAgZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmZhaWxlZF9hbGxv
Y3MgPSAwOworCisgICAgICAgIHJjID0gLWQtPmFyY2gucGFnaW5nLnByZWVt
cHQubG9nX2RpcnR5LmRvbmU7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnBy
ZWVtcHQudmNwdSA9IE5VTEw7CisgICAgfQorICAgIGVsc2UKKyAgICB7Cisg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNwdSA9IGN1cnJlbnQ7
CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQub3AgPSBYRU5fRE9N
Q1RMX1NIQURPV19PUF9PRkY7CisgICAgfQogCiAgICAgcGFnaW5nX3VubG9j
ayhkKTsKKworICAgIHJldHVybiByYzsKIH0KIAogaW50IHBhZ2luZ19sb2df
ZGlydHlfZW5hYmxlKHN0cnVjdCBkb21haW4gKmQsIGJvb2xfdCBsb2dfZ2xv
YmFsKQpAQCAtMTc4LDE1ICsyMzMsMjUgQEAgaW50IHBhZ2luZ19sb2dfZGly
dHlfZW5hYmxlKHN0cnVjdCBkb21haQogICAgIHJldHVybiByZXQ7CiB9CiAK
LWludCBwYWdpbmdfbG9nX2RpcnR5X2Rpc2FibGUoc3RydWN0IGRvbWFpbiAq
ZCkKK3N0YXRpYyBpbnQgcGFnaW5nX2xvZ19kaXJ0eV9kaXNhYmxlKHN0cnVj
dCBkb21haW4gKmQsIGJvb2xfdCByZXN1bWluZykKIHsKLSAgICBpbnQgcmV0
OworICAgIGludCByZXQgPSAxOworCisgICAgaWYgKCAhcmVzdW1pbmcgKQor
ICAgIHsKKyAgICAgICAgZG9tYWluX3BhdXNlKGQpOworICAgICAgICAvKiBT
YWZlIGJlY2F1c2UgdGhlIGRvbWFpbiBpcyBwYXVzZWQuICovCisgICAgICAg
IHJldCA9IGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5kaXNhYmxlX2xvZ19k
aXJ0eShkKTsKKyAgICAgICAgQVNTRVJUKHJldCA8PSAwKTsKKyAgICB9CiAK
LSAgICBkb21haW5fcGF1c2UoZCk7Ci0gICAgLyogU2FmZSBiZWNhdXNlIHRo
ZSBkb21haW4gaXMgcGF1c2VkLiAqLwotICAgIHJldCA9IGQtPmFyY2gucGFn
aW5nLmxvZ19kaXJ0eS5kaXNhYmxlX2xvZ19kaXJ0eShkKTsKICAgICBpZiAo
ICFwYWdpbmdfbW9kZV9sb2dfZGlydHkoZCkgKQotICAgICAgICBwYWdpbmdf
ZnJlZV9sb2dfZGlydHlfYml0bWFwKGQpOworICAgIHsKKyAgICAgICAgcmV0
ID0gcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChkLCByZXQpOworICAg
ICAgICBpZiAoIHJldCA9PSAtRUFHQUlOICkKKyAgICAgICAgICAgIHJldHVy
biByZXQ7CisgICAgfQorCiAgICAgZG9tYWluX3VucGF1c2UoZCk7CiAKICAg
ICByZXR1cm4gcmV0OwpAQCAtMzI2LDcgKzM5MSw5IEBAIGludCBwYWdpbmdf
bWZuX2lzX2RpcnR5KHN0cnVjdCBkb21haW4gKmQKIAogLyogUmVhZCBhIGRv
bWFpbidzIGxvZy1kaXJ0eSBiaXRtYXAgYW5kIHN0YXRzLiAgSWYgdGhlIG9w
ZXJhdGlvbiBpcyBhIENMRUFOLAogICogY2xlYXIgdGhlIGJpdG1hcCBhbmQg
c3RhdHMgYXMgd2VsbC4gKi8KLWludCBwYWdpbmdfbG9nX2RpcnR5X29wKHN0
cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3RsX3NoYWRvd19vcCAq
c2MpCitzdGF0aWMgaW50IHBhZ2luZ19sb2dfZGlydHlfb3Aoc3RydWN0IGRv
bWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1
Y3QgeGVuX2RvbWN0bF9zaGFkb3dfb3AgKnNjLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2xfdCByZXN1bWluZykKIHsKICAgICBpbnQg
cnYgPSAwLCBjbGVhbiA9IDAsIHBlZWsgPSAxOwogICAgIHVuc2lnbmVkIGxv
bmcgcGFnZXMgPSAwOwpAQCAtMzM0LDkgKzQwMSwyMiBAQCBpbnQgcGFnaW5n
X2xvZ19kaXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpkCiAgICAgdW5zaWduZWQg
bG9uZyAqbDEgPSBOVUxMOwogICAgIGludCBpNCwgaTMsIGkyOwogCi0gICAg
ZG9tYWluX3BhdXNlKGQpOworICAgIGlmICggIXJlc3VtaW5nICkKKyAgICAg
ICAgZG9tYWluX3BhdXNlKGQpOwogICAgIHBhZ2luZ19sb2NrKGQpOwogCisg
ICAgaWYgKCAhZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ICkKKyAgICAg
ICAgbWVtc2V0KCZkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSwg
MCwKKyAgICAgICAgICAgICAgIHNpemVvZihkLT5hcmNoLnBhZ2luZy5wcmVl
bXB0LmxvZ19kaXJ0eSkpOworICAgIGVsc2UgaWYgKCBkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LnZjcHUgIT0gY3VycmVudCB8fAorICAgICAgICAgICAgICBk
LT5hcmNoLnBhZ2luZy5wcmVlbXB0Lm9wICE9IHNjLT5vcCApCisgICAgewor
ICAgICAgICBwYWdpbmdfdW5sb2NrKGQpOworICAgICAgICBBU1NFUlQoIXJl
c3VtaW5nKTsKKyAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7CisgICAgICAg
IHJldHVybiAtRUJVU1k7CisgICAgfQorCiAgICAgY2xlYW4gPSAoc2MtPm9w
ID09IFhFTl9ET01DVExfU0hBRE9XX09QX0NMRUFOKTsKIAogICAgIFBBR0lO
R19ERUJVRyhMT0dESVJUWSwgImxvZy1kaXJ0eSAlczogZG9tICV1IGZhdWx0
cz0ldSBkaXJ0eT0ldVxuIiwKQEAgLTM2NSwxNyArNDQ1LDE1IEBAIGludCBw
YWdpbmdfbG9nX2RpcnR5X29wKHN0cnVjdCBkb21haW4gKmQKICAgICAgICAg
Z290byBvdXQ7CiAgICAgfQogCi0gICAgcGFnZXMgPSAwOwogICAgIGw0ID0g
cGFnaW5nX21hcF9sb2dfZGlydHlfYml0bWFwKGQpOworICAgIGk0ID0gZC0+
YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTQ7CisgICAgaTMgPSBk
LT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5pMzsKKyAgICBwYWdl
cyA9IGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmRvbmU7CiAK
LSAgICBmb3IgKCBpNCA9IDA7Ci0gICAgICAgICAgKHBhZ2VzIDwgc2MtPnBh
Z2VzKSAmJiAoaTQgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMpOwotICAgICAg
ICAgIGk0KysgKQorICAgIGZvciAoIDsgKHBhZ2VzIDwgc2MtPnBhZ2VzKSAm
JiAoaTQgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMpOyBpNCsrLCBpMyA9IDAg
KQogICAgIHsKICAgICAgICAgbDMgPSAobDQgJiYgbWZuX3ZhbGlkKGw0W2k0
XSkpID8gbWFwX2RvbWFpbl9wYWdlKG1mbl94KGw0W2k0XSkpIDogTlVMTDsK
LSAgICAgICAgZm9yICggaTMgPSAwOwotICAgICAgICAgICAgICAocGFnZXMg
PCBzYy0+cGFnZXMpICYmIChpMyA8IExPR0RJUlRZX05PREVfRU5UUklFUyk7
Ci0gICAgICAgICAgICAgIGkzKysgKQorICAgICAgICBmb3IgKCA7IChwYWdl
cyA8IHNjLT5wYWdlcykgJiYgKGkzIDwgTE9HRElSVFlfTk9ERV9FTlRSSUVT
KTsgaTMrKyApCiAgICAgICAgIHsKICAgICAgICAgICAgIGwyID0gKChsMyAm
JiBtZm5fdmFsaWQobDNbaTNdKSkgPwogICAgICAgICAgICAgICAgICAgbWFw
X2RvbWFpbl9wYWdlKG1mbl94KGwzW2kzXSkpIDogTlVMTCk7CkBAIC00MTAs
MTggKzQ4OCw1MSBAQCBpbnQgcGFnaW5nX2xvZ19kaXJ0eV9vcChzdHJ1Y3Qg
ZG9tYWluICpkCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoIGwy
ICkKICAgICAgICAgICAgICAgICB1bm1hcF9kb21haW5fcGFnZShsMik7CisK
KyAgICAgICAgICAgIGlmICggaTMgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMg
LSAxICYmIGh5cGVyY2FsbF9wcmVlbXB0X2NoZWNrKCkgKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQu
bG9nX2RpcnR5Lmk0ID0gaTQ7CisgICAgICAgICAgICAgICAgZC0+YXJjaC5w
YWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTMgPSBpMyArIDE7CisgICAgICAg
ICAgICAgICAgcnYgPSAtRUFHQUlOOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICggbDMg
KQogICAgICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDMpOworCisgICAg
ICAgIGlmICggIXJ2ICYmIGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0g
MSAmJgorICAgICAgICAgICAgIGh5cGVyY2FsbF9wcmVlbXB0X2NoZWNrKCkg
KQorICAgICAgICB7CisgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVl
bXB0LmxvZ19kaXJ0eS5pNCA9IGk0ICsgMTsKKyAgICAgICAgICAgIGQtPmFy
Y2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzID0gMDsKKyAgICAgICAg
ICAgIHJ2ID0gLUVBR0FJTjsKKyAgICAgICAgfQorICAgICAgICBpZiAoIHJ2
ICkKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBpZiAoIGw0ICkK
ICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDQpOwogCi0gICAgaWYgKCBw
YWdlcyA8IHNjLT5wYWdlcyApCi0gICAgICAgIHNjLT5wYWdlcyA9IHBhZ2Vz
OworICAgIGlmICggIXJ2ICkKKyAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJl
ZW1wdC52Y3B1ID0gTlVMTDsKKyAgICBlbHNlCisgICAgeworICAgICAgICBk
LT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUgPSBjdXJyZW50OworICAgICAg
ICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0Lm9wID0gc2MtPm9wOworICAgICAg
ICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5kb25lID0gcGFn
ZXM7CisgICAgfQogCiAgICAgcGFnaW5nX3VubG9jayhkKTsKIAorICAgIGlm
ICggcnYgKQorICAgIHsKKyAgICAgICAgLyogTmV2ZXIgbGVhdmUgdGhlIGRv
bWFpbiBwYXVzZWQgZm9yIG90aGVyIGVycm9ycy4gKi8KKyAgICAgICAgQVNT
RVJUKHJ2ID09IC1FQUdBSU4pOworICAgICAgICByZXR1cm4gcnY7CisgICAg
fQorCisgICAgaWYgKCBwYWdlcyA8IHNjLT5wYWdlcyApCisgICAgICAgIHNj
LT5wYWdlcyA9IHBhZ2VzOwogICAgIGlmICggY2xlYW4gKQogICAgIHsKICAg
ICAgICAgLyogV2UgbmVlZCB0byBmdXJ0aGVyIGNhbGwgY2xlYW5fZGlydHlf
Yml0bWFwKCkgZnVuY3Rpb25zIG9mIHNwZWNpZmljCkBAIC00MzIsNiArNTQz
LDcgQEAgaW50IHBhZ2luZ19sb2dfZGlydHlfb3Aoc3RydWN0IGRvbWFpbiAq
ZAogICAgIHJldHVybiBydjsKIAogIG91dDoKKyAgICBkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LnZjcHUgPSBOVUxMOwogICAgIHBhZ2luZ191bmxvY2soZCk7
CiAgICAgZG9tYWluX3VucGF1c2UoZCk7CiAKQEAgLTQ5OSwxMiArNjExLDYg
QEAgdm9pZCBwYWdpbmdfbG9nX2RpcnR5X2luaXQoc3RydWN0IGRvbWFpbgog
ICAgIGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5jbGVhbl9kaXJ0eV9iaXRt
YXAgPSBjbGVhbl9kaXJ0eV9iaXRtYXA7CiB9CiAKLS8qIFRoaXMgZnVuY3Rp
b24gZnJlc3MgbG9nIGRpcnR5IGJpdG1hcCByZXNvdXJjZXMuICovCi1zdGF0
aWMgdm9pZCBwYWdpbmdfbG9nX2RpcnR5X3RlYXJkb3duKHN0cnVjdCBkb21h
aW4qZCkKLXsKLSAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKGQp
OwotfQotCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqLwogLyogICAgICAgICAgIENPREUgRk9SIFBBR0lORyBT
VVBQT1JUICAgICAgICAgICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKiovCkBAIC01NDgsNiArNjU0LDcg
QEAgdm9pZCBwYWdpbmdfdmNwdV9pbml0KHN0cnVjdCB2Y3B1ICp2KQogaW50
IHBhZ2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgeGVuX2RvbWN0bF9z
aGFkb3dfb3BfdCAqc2MsCiAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1Rf
SEFORExFX1BBUkFNKHZvaWQpIHVfZG9tY3RsKQogeworICAgIGJvb2xfdCBy
ZXN1bWluZyA9IDA7CiAgICAgaW50IHJjOwogCiAgICAgaWYgKCB1bmxpa2Vs
eShkID09IGN1cnJlbnQtPmRvbWFpbikgKQpAQCAtNTcwLDYgKzY3NywyMCBA
QCBpbnQgcGFnaW5nX2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCB4ZW5fCiAg
ICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KIAorICAgIGlmICggZC0+
YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ICkKKyAgICB7CisgICAgICAgIGlm
ICggZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ICE9IGN1cnJlbnQgfHwK
KyAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0Lm9wICE9IHNj
LT5vcCApCisgICAgICAgIHsKKyAgICAgICAgICAgIHByaW50ayhYRU5MT0df
R19ERUJVRworICAgICAgICAgICAgICAgICAgICJkJWQ6diVkOiBQYWdpbmcg
b3AgJSN4IG9uIERvbSV1IHdpdGggdW5maW5pc2hlZCBwcmlvciBvcCAlI3hc
biIsCisgICAgICAgICAgICAgICAgICAgY3VycmVudC0+ZG9tYWluLT5kb21h
aW5faWQsIGN1cnJlbnQtPnZjcHVfaWQsCisgICAgICAgICAgICAgICAgICAg
c2MtPm9wLCBkLT5kb21haW5faWQsIGQtPmFyY2gucGFnaW5nLnByZWVtcHQu
b3ApOworICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKKyAgICAgICAgfQor
ICAgICAgICByZXN1bWluZyA9IDE7CisgICAgfQorCiAgICAgcmMgPSB4c21f
c2hhZG93X2NvbnRyb2woWFNNX0hPT0ssIGQsIHNjLT5vcCk7CiAgICAgaWYg
KCByYyApCiAgICAgICAgIHJldHVybiByYzsKQEAgLTU5NSwxMyArNzE2LDEz
IEBAIGludCBwYWdpbmdfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHhlbl8K
IAogICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfT0ZGOgogICAgICAg
ICBpZiAoIHBhZ2luZ19tb2RlX2xvZ19kaXJ0eShkKSApCi0gICAgICAgICAg
ICBpZiAoIChyYyA9IHBhZ2luZ19sb2dfZGlydHlfZGlzYWJsZShkKSkgIT0g
MCApCisgICAgICAgICAgICBpZiAoIChyYyA9IHBhZ2luZ19sb2dfZGlydHlf
ZGlzYWJsZShkLCByZXN1bWluZykpICE9IDAgKQogICAgICAgICAgICAgICAg
IHJldHVybiByYzsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFhFTl9E
T01DVExfU0hBRE9XX09QX0NMRUFOOgogICAgIGNhc2UgWEVOX0RPTUNUTF9T
SEFET1dfT1BfUEVFSzoKLSAgICAgICAgcmV0dXJuIHBhZ2luZ19sb2dfZGly
dHlfb3AoZCwgc2MpOworICAgICAgICByZXR1cm4gcGFnaW5nX2xvZ19kaXJ0
eV9vcChkLCBzYywgcmVzdW1pbmcpOwogICAgIH0KIAogICAgIC8qIEhlcmUs
IGRpc3BhdGNoIGRvbWN0bCB0byB0aGUgYXBwcm9wcmlhdGUgcGFnaW5nIGNv
ZGUgKi8KQEAgLTYxMiwxOCArNzMzLDI0IEBAIGludCBwYWdpbmdfZG9tY3Rs
KHN0cnVjdCBkb21haW4gKmQsIHhlbl8KIH0KIAogLyogQ2FsbCB3aGVuIGRl
c3Ryb3lpbmcgYSBkb21haW4gKi8KLXZvaWQgcGFnaW5nX3RlYXJkb3duKHN0
cnVjdCBkb21haW4gKmQpCitpbnQgcGFnaW5nX3RlYXJkb3duKHN0cnVjdCBk
b21haW4gKmQpCiB7CisgICAgaW50IHJjOworCiAgICAgaWYgKCBoYXBfZW5h
YmxlZChkKSApCiAgICAgICAgIGhhcF90ZWFyZG93bihkKTsKICAgICBlbHNl
CiAgICAgICAgIHNoYWRvd190ZWFyZG93bihkKTsKIAogICAgIC8qIGNsZWFu
IHVwIGxvZyBkaXJ0eSByZXNvdXJjZXMuICovCi0gICAgcGFnaW5nX2xvZ19k
aXJ0eV90ZWFyZG93bihkKTsKKyAgICByYyA9IHBhZ2luZ19mcmVlX2xvZ19k
aXJ0eV9iaXRtYXAoZCwgMCk7CisgICAgaWYgKCByYyA9PSAtRUFHQUlOICkK
KyAgICAgICAgcmV0dXJuIHJjOwogCiAgICAgLyogTW92ZSBwb3B1bGF0ZS1v
bi1kZW1hbmQgY2FjaGUgYmFjayB0byBkb21haW5fbGlzdCBmb3IgZGVzdHJ1
Y3Rpb24gKi8KICAgICBwMm1fcG9kX2VtcHR5X2NhY2hlKGQpOworCisgICAg
cmV0dXJuIHJjOwogfQogCiAvKiBDYWxsIG9uY2UgYWxsIG9mIHRoZSByZWZl
cmVuY2VzIHRvIHRoZSBkb21haW4gaGF2ZSBnb25lIGF3YXkgKi8KLS0tIGEv
eGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYworKysgYi94ZW4vYXJj
aC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCkBAIC0zNzA2LDggKzM3MDYsNyBA
QCBpbnQgc2hhZG93X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCAKICAgICAg
ICAgcGFnaW5nX3VubG9jayhkKTsKICAgICAgICAgaWYgKCBwcmVlbXB0ZWQg
KQogICAgICAgICAgICAgLyogTm90IGZpbmlzaGVkLiAgU2V0IHVwIHRvIHJl
LXJ1biB0aGUgY2FsbC4gKi8KLSAgICAgICAgICAgIHJjID0gaHlwZXJjYWxs
X2NyZWF0ZV9jb250aW51YXRpb24oCi0gICAgICAgICAgICAgICAgX19IWVBF
UlZJU09SX2RvbWN0bCwgImgiLCB1X2RvbWN0bCk7CisgICAgICAgICAgICBy
YyA9IC1FQUdBSU47CiAgICAgICAgIGVsc2UgCiAgICAgICAgICAgICAvKiBG
aW5pc2hlZC4gIFJldHVybiB0aGUgbmV3IGFsbG9jYXRpb24gKi8KICAgICAg
ICAgICAgIHNjLT5tYiA9IHNoYWRvd19nZXRfYWxsb2NhdGlvbihkKTsKLS0t
IGEveGVuL2NvbW1vbi9kb21haW4uYworKysgYi94ZW4vY29tbW9uL2RvbWFp
bi5jCkBAIC01MzYsNyArNTM2LDYgQEAgaW50IGRvbWFpbl9raWxsKHN0cnVj
dCBkb21haW4gKmQpCiAgICAgICAgIHJjID0gZG9tYWluX3JlbGlucXVpc2hf
cmVzb3VyY2VzKGQpOwogICAgICAgICBpZiAoIHJjICE9IDAgKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBCVUdfT04ocmMgIT0gLUVBR0FJTik7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBpZiAoIHNjaGVk
X21vdmVfZG9tYWluKGQsIGNwdXBvb2wwKSApCi0tLSBhL3hlbi9pbmNsdWRl
L2FzbS14ODYvZG9tYWluLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9k
b21haW4uaApAQCAtMTg2LDYgKzE4NiwyMCBAQCBzdHJ1Y3QgcGFnaW5nX2Rv
bWFpbiB7CiAgICAgc3RydWN0IGhhcF9kb21haW4gICAgICAgaGFwOwogICAg
IC8qIGxvZyBkaXJ0eSBzdXBwb3J0ICovCiAgICAgc3RydWN0IGxvZ19kaXJ0
eV9kb21haW4gbG9nX2RpcnR5OworCisgICAgLyogcHJlZW1wdGlvbiBoYW5k
bGluZyAqLworICAgIHN0cnVjdCB7CisgICAgICAgIHN0cnVjdCB2Y3B1ICp2
Y3B1OworICAgICAgICB1bnNpZ25lZCBpbnQgb3A7CisgICAgICAgIHVuaW9u
IHsKKyAgICAgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICAgICAgdW5z
aWduZWQgbG9uZyBkb25lOlBBRERSX0JJVFMgLSBQQUdFX1NISUZUOworICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaTQ6UEFHRVRBQkxFX09SREVS
OworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaTM6UEFHRVRBQkxF
X09SREVSOworICAgICAgICAgICAgfSBsb2dfZGlydHk7CisgICAgICAgIH07
CisgICAgfSBwcmVlbXB0OworCiAgICAgLyogYWxsb2MvZnJlZSBwYWdlcyBm
cm9tIHRoZSBwb29sIGZvciBwYWdpbmctYXNzaXN0YW5jZSBzdHJ1Y3R1cmVz
CiAgICAgICogKHVzZWQgYnkgcDJtIGFuZCBsb2ctZGlydHkgY29kZSBmb3Ig
dGhlaXIgdHJpZXMpICovCiAgICAgc3RydWN0IHBhZ2VfaW5mbyAqICgqYWxs
b2NfcGFnZSkoc3RydWN0IGRvbWFpbiAqZCk7Ci0tLSBhL3hlbi9pbmNsdWRl
L2FzbS14ODYvcGFnaW5nLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9w
YWdpbmcuaApAQCAtMTMzLDkgKzEzMyw2IEBAIHN0cnVjdCBwYWdpbmdfbW9k
ZSB7CiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIExv
ZyBkaXJ0eSBjb2RlICovCiAKLS8qIGZyZWUgbG9nIGRpcnR5IGJpdG1hcCBy
ZXNvdXJjZSAqLwotdm9pZCBwYWdpbmdfZnJlZV9sb2dfZGlydHlfYml0bWFw
KHN0cnVjdCBkb21haW4gKmQpOwotCiAvKiBnZXQgdGhlIGRpcnR5IGJpdG1h
cCBmb3IgYSBzcGVjaWZpYyByYW5nZSBvZiBwZm5zICovCiB2b2lkIHBhZ2lu
Z19sb2dfZGlydHlfcmFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGJlZ2luX3BmbiwK
QEAgLTE0NSw5ICsxNDIsNiBAQCB2b2lkIHBhZ2luZ19sb2dfZGlydHlfcmFu
Z2Uoc3RydWN0IGRvbWFpCiAvKiBlbmFibGUgbG9nIGRpcnR5ICovCiBpbnQg
cGFnaW5nX2xvZ19kaXJ0eV9lbmFibGUoc3RydWN0IGRvbWFpbiAqZCwgYm9v
bF90IGxvZ19nbG9iYWwpOwogCi0vKiBkaXNhYmxlIGxvZyBkaXJ0eSAqLwot
aW50IHBhZ2luZ19sb2dfZGlydHlfZGlzYWJsZShzdHJ1Y3QgZG9tYWluICpk
KTsKLQogLyogbG9nIGRpcnR5IGluaXRpYWxpemF0aW9uICovCiB2b2lkIHBh
Z2luZ19sb2dfZGlydHlfaW5pdChzdHJ1Y3QgZG9tYWluICpkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50ICAoKmVuYWJsZV9sb2dfZGlydHkp
KHN0cnVjdCBkb21haW4gKmQsCkBAIC0yMDcsNyArMjAxLDcgQEAgaW50IHBh
Z2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgeGVuXwogICAgICAgICAg
ICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSB1X2RvbWN0
bCk7CiAKIC8qIENhbGwgd2hlbiBkZXN0cm95aW5nIGEgZG9tYWluICovCi12
b2lkIHBhZ2luZ190ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkKTsKK2ludCBw
YWdpbmdfdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCk7CiAKIC8qIENhbGwg
b25jZSBhbGwgb2YgdGhlIHJlZmVyZW5jZXMgdG8gdGhlIGRvbWFpbiBoYXZl
IGdvbmUgYXdheSAqLwogdm9pZCBwYWdpbmdfZmluYWxfdGVhcmRvd24oc3Ry
dWN0IGRvbWFpbiAqZCk7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa97-hap-unstable.patch"
Content-Disposition: attachment; filename="xsa97-hap-unstable.patch"
Content-Transfer-Encoding: base64

eDg2L3BhZ2luZzogbWFrZSBsb2ctZGlydHkgb3BlcmF0aW9ucyBwcmVlbXB0
aWJsZQoKQm90aCB0aGUgZnJlZWluZyBhbmQgdGhlIGluc3BlY3Rpb24gb2Yg
dGhlIGJpdG1hcCBnZXQgZG9uZSBpbiAobmVzdGVkKQpsb29wcyB3aGljaCAt
IGJlc2lkZXMgaGF2aW5nIGEgcmF0aGVyIGhpZ2ggaXRlcmF0aW9uIGNvdW50
IGluIGdlbmVyYWwsCmFsYmVpdCB0aGF0IHdvdWxkIGJlIGNvdmVyZWQgYnkg
WFNBLTc3IC0gaGF2ZSB0aGUgbnVtYmVyIG9mIG5vbi10cml2aWFsCml0ZXJh
dGlvbnMgdGhleSBuZWVkIHRvIHBlcmZvcm0gKGluZGlyZWN0bHkpIGNvbnRy
b2xsYWJsZSBieSBib3RoIHRoZQpndWVzdCB0aGV5IGFyZSBmb3IgYW5kIGFu
eSBkb21haW4gY29udHJvbGxpbmcgdGhlIGd1ZXN0IChpbmNsdWRpbmcgdGhl
Cm9uZSBydW5uaW5nIHFlbXUgZm9yIGl0KS4KClRoaXMgaXMgWFNBLTk3LgoK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CgotLS0g
YS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCkBAIC0xOTA3LDcgKzE5MDcsOSBAQCBpbnQgZG9tYWluX3JlbGlu
cXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkCiAgICAgICAgIHBjaV9yZWxlYXNl
X2RldmljZXMoZCk7CiAKICAgICAgICAgLyogVGVhciBkb3duIHBhZ2luZy1h
c3Npc3RhbmNlIHN0dWZmLiAqLwotICAgICAgICBwYWdpbmdfdGVhcmRvd24o
ZCk7CisgICAgICAgIHJldCA9IHBhZ2luZ190ZWFyZG93bihkKTsKKyAgICAg
ICAgaWYgKCByZXQgKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKIAogICAg
ICAgICAvKiBEcm9wIHRoZSBpbi11c2UgcmVmZXJlbmNlcyB0byBwYWdlLXRh
YmxlIGJhc2VzLiAqLwogICAgICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiAp
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94ZW4vYXJjaC94
ODYvZG9tY3RsLmMKQEAgLTY0LDYgKzY0LDkgQEAgbG9uZyBhcmNoX2RvX2Rv
bWN0bCgKICAgICAgICAgcmV0ID0gcGFnaW5nX2RvbWN0bChkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUuc2hhZG93X29wLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0X2hhbmRsZV9jYXN0
KHVfZG9tY3RsLCB2b2lkKSk7CisgICAgICAgIGlmICggcmV0ID09IC1FUkVT
VEFSVCApCisgICAgICAgICAgICByZXR1cm4gaHlwZXJjYWxsX2NyZWF0ZV9j
b250aW51YXRpb24oX19IWVBFUlZJU09SX2RvbWN0bCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaCIsIHVf
ZG9tY3RsKTsKICAgICAgICAgY29weWJhY2sgPSAxOwogICAgIH0KICAgICBi
cmVhazsKLS0tIGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYworKysgYi94
ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jCkBAIC01ODIsOCArNTgyLDcgQEAg
aW50IGhhcF9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgeGVuX2RvbQogICAg
ICAgICBwYWdpbmdfdW5sb2NrKGQpOwogICAgICAgICBpZiAoIHByZWVtcHRl
ZCApCiAgICAgICAgICAgICAvKiBOb3QgZmluaXNoZWQuICBTZXQgdXAgdG8g
cmUtcnVuIHRoZSBjYWxsLiAqLwotICAgICAgICAgICAgcmMgPSBoeXBlcmNh
bGxfY3JlYXRlX2NvbnRpbnVhdGlvbihfX0hZUEVSVklTT1JfZG9tY3RsLCAi
aCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVfZG9tY3RsKTsKKyAgICAgICAgICAgIHJjID0gLUVSRVNUQVJU
OwogICAgICAgICBlbHNlCiAgICAgICAgICAgICAvKiBGaW5pc2hlZC4gIFJl
dHVybiB0aGUgbmV3IGFsbG9jYXRpb24gKi8KICAgICAgICAgICAgIHNjLT5t
YiA9IGhhcF9nZXRfYWxsb2NhdGlvbihkKTsKLS0tIGEveGVuL2FyY2gveDg2
L21tL3BhZ2luZy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGFzbS9zaGFkb3cuaD4KICNp
bmNsdWRlIDxhc20vcDJtLmg+CiAjaW5jbHVkZSA8YXNtL2hhcC5oPgorI2lu
Y2x1ZGUgPGFzbS9ldmVudC5oPgogI2luY2x1ZGUgPGFzbS9odm0vbmVzdGVk
aHZtLmg+CiAjaW5jbHVkZSA8eGVuL251bWEuaD4KICNpbmNsdWRlIDx4c20v
eHNtLmg+CkBAIC0xMTYsMjYgKzExNyw0NiBAQCBzdGF0aWMgdm9pZCBwYWdp
bmdfZnJlZV9sb2dfZGlydHlfcGFnZShzCiAgICAgZC0+YXJjaC5wYWdpbmcu
ZnJlZV9wYWdlKGQsIG1mbl90b19wYWdlKG1mbikpOwogfQogCi12b2lkIHBh
Z2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXAoc3RydWN0IGRvbWFpbiAqZCkK
K3N0YXRpYyBpbnQgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1
Y3QgZG9tYWluICpkLCBpbnQgcmMpCiB7CiAgICAgbWZuX3QgKmw0LCAqbDMs
ICpsMjsKICAgICBpbnQgaTQsIGkzLCBpMjsKIAorICAgIHBhZ2luZ19sb2Nr
KGQpOworCiAgICAgaWYgKCAhbWZuX3ZhbGlkKGQtPmFyY2gucGFnaW5nLmxv
Z19kaXJ0eS50b3ApICkKLSAgICAgICAgcmV0dXJuOworICAgIHsKKyAgICAg
ICAgcGFnaW5nX3VubG9jayhkKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQogCi0gICAgcGFnaW5nX2xvY2soZCk7CisgICAgaWYgKCAhZC0+YXJjaC5w
YWdpbmcucHJlZW1wdC52Y3B1ICkKKyAgICB7CisgICAgICAgIG1lbXNldCgm
ZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHksIDAsCisgICAgICAg
ICAgICAgICBzaXplb2YoZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGly
dHkpKTsKKyAgICAgICAgQVNTRVJUKHJjIDw9IDApOworICAgICAgICBkLT5h
cmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5kb25lID0gLXJjOworICAg
IH0KKyAgICBlbHNlIGlmICggZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1
ICE9IGN1cnJlbnQgfHwKKyAgICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcu
cHJlZW1wdC5vcCAhPSBYRU5fRE9NQ1RMX1NIQURPV19PUF9PRkYgKQorICAg
IHsKKyAgICAgICAgcGFnaW5nX3VubG9jayhkKTsKKyAgICAgICAgcmV0dXJu
IC1FQlVTWTsKKyAgICB9CiAKICAgICBsNCA9IG1hcF9kb21haW5fcGFnZSht
Zm5feChkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkudG9wKSk7CisgICAgaTQg
PSBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5pNDsKKyAgICBp
MyA9IGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzOworICAg
IHJjID0gMDsKIAotICAgIGZvciAoIGk0ID0gMDsgaTQgPCBMT0dESVJUWV9O
T0RFX0VOVFJJRVM7IGk0KysgKQorICAgIGZvciAoIDsgaTQgPCBMT0dESVJU
WV9OT0RFX0VOVFJJRVM7IGk0KyssIGkzID0gMCApCiAgICAgewogICAgICAg
ICBpZiAoICFtZm5fdmFsaWQobDRbaTRdKSApCiAgICAgICAgICAgICBjb250
aW51ZTsKIAogICAgICAgICBsMyA9IG1hcF9kb21haW5fcGFnZShtZm5feChs
NFtpNF0pKTsKIAotICAgICAgICBmb3IgKCBpMyA9IDA7IGkzIDwgTE9HRElS
VFlfTk9ERV9FTlRSSUVTOyBpMysrICkKKyAgICAgICAgZm9yICggOyBpMyA8
IExPR0RJUlRZX05PREVfRU5UUklFUzsgaTMrKyApCiAgICAgICAgIHsKICAg
ICAgICAgICAgIGlmICggIW1mbl92YWxpZChsM1tpM10pICkKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKQEAgLTE0OCwyMCArMTY5LDU0IEBAIHZvaWQg
cGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1Y3QKIAogICAgICAg
ICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDIpOwogICAgICAgICAgICAgcGFn
aW5nX2ZyZWVfbG9nX2RpcnR5X3BhZ2UoZCwgbDNbaTNdKTsKKyAgICAgICAg
ICAgIGwzW2kzXSA9IF9tZm4oSU5WQUxJRF9NRk4pOworCisgICAgICAgICAg
ICBpZiAoIGkzIDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0gMSAmJiBoeXBl
cmNhbGxfcHJlZW1wdF9jaGVjaygpICkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5p
MyA9IGkzICsgMTsKKyAgICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5w
cmVlbXB0LmxvZ19kaXJ0eS5pNCA9IGk0OworICAgICAgICAgICAgICAgIHJj
ID0gLUVSRVNUQVJUOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgdW5tYXBfZG9tYWluX3Bh
Z2UobDMpOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlfcGFnZShkLCBsNFtp
NF0pOworICAgICAgICBsNFtpNF0gPSBfbWZuKElOVkFMSURfTUZOKTsKKwor
ICAgICAgICBpZiAoIGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0gMSAm
JiBoeXBlcmNhbGxfcHJlZW1wdF9jaGVjaygpICkKKyAgICAgICAgeworICAg
ICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTMg
PSAwOworICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2df
ZGlydHkuaTQgPSBpNCArIDE7CisgICAgICAgICAgICByYyA9IC1FUkVTVEFS
VDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgdW5tYXBfZG9tYWluX3BhZ2UobDQpOwotICAgIHBhZ2luZ19mcmVlX2xv
Z19kaXJ0eV9wYWdlKGQsIGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS50b3Ap
OwotICAgIGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS50b3AgPSBfbWZuKElO
VkFMSURfTUZOKTsKIAotICAgIEFTU0VSVChkLT5hcmNoLnBhZ2luZy5sb2df
ZGlydHkuYWxsb2NzID09IDApOwotICAgIGQtPmFyY2gucGFnaW5nLmxvZ19k
aXJ0eS5mYWlsZWRfYWxsb2NzID0gMDsKKyAgICBpZiAoICFyYyApCisgICAg
eworICAgICAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlfcGFnZShkLCBkLT5h
cmNoLnBhZ2luZy5sb2dfZGlydHkudG9wKTsKKyAgICAgICAgZC0+YXJjaC5w
YWdpbmcubG9nX2RpcnR5LnRvcCA9IF9tZm4oSU5WQUxJRF9NRk4pOworCisg
ICAgICAgIEFTU0VSVChkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuYWxsb2Nz
ID09IDApOworICAgICAgICBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuZmFp
bGVkX2FsbG9jcyA9IDA7CisKKyAgICAgICAgcmMgPSAtZC0+YXJjaC5wYWdp
bmcucHJlZW1wdC5sb2dfZGlydHkuZG9uZTsKKyAgICAgICAgZC0+YXJjaC5w
YWdpbmcucHJlZW1wdC52Y3B1ID0gTlVMTDsKKyAgICB9CisgICAgZWxzZQor
ICAgIHsKKyAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ID0g
Y3VycmVudDsKKyAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5vcCA9
IFhFTl9ET01DVExfU0hBRE9XX09QX09GRjsKKyAgICB9CiAKICAgICBwYWdp
bmdfdW5sb2NrKGQpOworCisgICAgcmV0dXJuIHJjOwogfQogCiBpbnQgcGFn
aW5nX2xvZ19kaXJ0eV9lbmFibGUoc3RydWN0IGRvbWFpbiAqZCwgYm9vbF90
IGxvZ19nbG9iYWwpCkBAIC0xODcsMTUgKzI0MiwyNSBAQCBpbnQgcGFnaW5n
X2xvZ19kaXJ0eV9lbmFibGUoc3RydWN0IGRvbWFpCiAgICAgcmV0dXJuIHJl
dDsKIH0KIAotaW50IHBhZ2luZ19sb2dfZGlydHlfZGlzYWJsZShzdHJ1Y3Qg
ZG9tYWluICpkKQorc3RhdGljIGludCBwYWdpbmdfbG9nX2RpcnR5X2Rpc2Fi
bGUoc3RydWN0IGRvbWFpbiAqZCwgYm9vbF90IHJlc3VtaW5nKQogewotICAg
IGludCByZXQ7CisgICAgaW50IHJldCA9IDE7CisKKyAgICBpZiAoICFyZXN1
bWluZyApCisgICAgeworICAgICAgICBkb21haW5fcGF1c2UoZCk7CisgICAg
ICAgIC8qIFNhZmUgYmVjYXVzZSB0aGUgZG9tYWluIGlzIHBhdXNlZC4gKi8K
KyAgICAgICAgcmV0ID0gZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmRpc2Fi
bGVfbG9nX2RpcnR5KGQpOworICAgICAgICBBU1NFUlQocmV0IDw9IDApOwor
ICAgIH0KIAotICAgIGRvbWFpbl9wYXVzZShkKTsKLSAgICAvKiBTYWZlIGJl
Y2F1c2UgdGhlIGRvbWFpbiBpcyBwYXVzZWQuICovCi0gICAgcmV0ID0gZC0+
YXJjaC5wYWdpbmcubG9nX2RpcnR5LmRpc2FibGVfbG9nX2RpcnR5KGQpOwog
ICAgIGlmICggIXBhZ2luZ19tb2RlX2xvZ19kaXJ0eShkKSApCi0gICAgICAg
IHBhZ2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXAoZCk7CisgICAgeworICAg
ICAgICByZXQgPSBwYWdpbmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKGQsIHJl
dCk7CisgICAgICAgIGlmICggcmV0ID09IC1FUkVTVEFSVCApCisgICAgICAg
ICAgICByZXR1cm4gcmV0OworICAgIH0KKwogICAgIGRvbWFpbl91bnBhdXNl
KGQpOwogCiAgICAgcmV0dXJuIHJldDsKQEAgLTMzNSw3ICs0MDAsOSBAQCBp
bnQgcGFnaW5nX21mbl9pc19kaXJ0eShzdHJ1Y3QgZG9tYWluICpkCiAKIC8q
IFJlYWQgYSBkb21haW4ncyBsb2ctZGlydHkgYml0bWFwIGFuZCBzdGF0cy4g
IElmIHRoZSBvcGVyYXRpb24gaXMgYSBDTEVBTiwKICAqIGNsZWFyIHRoZSBi
aXRtYXAgYW5kIHN0YXRzIGFzIHdlbGwuICovCi1pbnQgcGFnaW5nX2xvZ19k
aXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVuX2RvbWN0bF9z
aGFkb3dfb3AgKnNjKQorc3RhdGljIGludCBwYWdpbmdfbG9nX2RpcnR5X29w
KHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IHhlbl9kb21jdGxfc2hhZG93X29wICpzYywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgcmVzdW1pbmcpCiB7
CiAgICAgaW50IHJ2ID0gMCwgY2xlYW4gPSAwLCBwZWVrID0gMTsKICAgICB1
bnNpZ25lZCBsb25nIHBhZ2VzID0gMDsKQEAgLTM0Myw5ICs0MTAsMjIgQEAg
aW50IHBhZ2luZ19sb2dfZGlydHlfb3Aoc3RydWN0IGRvbWFpbiAqZAogICAg
IHVuc2lnbmVkIGxvbmcgKmwxID0gTlVMTDsKICAgICBpbnQgaTQsIGkzLCBp
MjsKIAotICAgIGRvbWFpbl9wYXVzZShkKTsKKyAgICBpZiAoICFyZXN1bWlu
ZyApCisgICAgICAgIGRvbWFpbl9wYXVzZShkKTsKICAgICBwYWdpbmdfbG9j
ayhkKTsKIAorICAgIGlmICggIWQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNw
dSApCisgICAgICAgIG1lbXNldCgmZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5s
b2dfZGlydHksIDAsCisgICAgICAgICAgICAgICBzaXplb2YoZC0+YXJjaC5w
YWdpbmcucHJlZW1wdC5sb2dfZGlydHkpKTsKKyAgICBlbHNlIGlmICggZC0+
YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ICE9IGN1cnJlbnQgfHwKKyAgICAg
ICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5vcCAhPSBzYy0+b3Ag
KQorICAgIHsKKyAgICAgICAgcGFnaW5nX3VubG9jayhkKTsKKyAgICAgICAg
QVNTRVJUKCFyZXN1bWluZyk7CisgICAgICAgIGRvbWFpbl91bnBhdXNlKGQp
OworICAgICAgICByZXR1cm4gLUVCVVNZOworICAgIH0KKwogICAgIGNsZWFu
ID0gKHNjLT5vcCA9PSBYRU5fRE9NQ1RMX1NIQURPV19PUF9DTEVBTik7CiAK
ICAgICBQQUdJTkdfREVCVUcoTE9HRElSVFksICJsb2ctZGlydHkgJXM6IGRv
bSAldSBmYXVsdHM9JXUgZGlydHk9JXVcbiIsCkBAIC0zNzQsMTcgKzQ1NCwx
NSBAQCBpbnQgcGFnaW5nX2xvZ19kaXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpk
CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAotICAgIHBhZ2VzID0gMDsK
ICAgICBsNCA9IHBhZ2luZ19tYXBfbG9nX2RpcnR5X2JpdG1hcChkKTsKKyAg
ICBpNCA9IGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5Lmk0Owor
ICAgIGkzID0gZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTM7
CisgICAgcGFnZXMgPSBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0
eS5kb25lOwogCi0gICAgZm9yICggaTQgPSAwOwotICAgICAgICAgIChwYWdl
cyA8IHNjLT5wYWdlcykgJiYgKGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVT
KTsKLSAgICAgICAgICBpNCsrICkKKyAgICBmb3IgKCA7IChwYWdlcyA8IHNj
LT5wYWdlcykgJiYgKGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTKTsgaTQr
KywgaTMgPSAwICkKICAgICB7CiAgICAgICAgIGwzID0gKGw0ICYmIG1mbl92
YWxpZChsNFtpNF0pKSA/IG1hcF9kb21haW5fcGFnZShtZm5feChsNFtpNF0p
KSA6IE5VTEw7Ci0gICAgICAgIGZvciAoIGkzID0gMDsKLSAgICAgICAgICAg
ICAgKHBhZ2VzIDwgc2MtPnBhZ2VzKSAmJiAoaTMgPCBMT0dESVJUWV9OT0RF
X0VOVFJJRVMpOwotICAgICAgICAgICAgICBpMysrICkKKyAgICAgICAgZm9y
ICggOyAocGFnZXMgPCBzYy0+cGFnZXMpICYmIChpMyA8IExPR0RJUlRZX05P
REVfRU5UUklFUyk7IGkzKysgKQogICAgICAgICB7CiAgICAgICAgICAgICBs
MiA9ICgobDMgJiYgbWZuX3ZhbGlkKGwzW2kzXSkpID8KICAgICAgICAgICAg
ICAgICAgIG1hcF9kb21haW5fcGFnZShtZm5feChsM1tpM10pKSA6IE5VTEwp
OwpAQCAtNDE5LDE4ICs0OTcsNTEgQEAgaW50IHBhZ2luZ19sb2dfZGlydHlf
b3Aoc3RydWN0IGRvbWFpbiAqZAogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgaWYgKCBsMiApCiAgICAgICAgICAgICAgICAgdW5tYXBfZG9tYWluX3Bh
Z2UobDIpOworCisgICAgICAgICAgICBpZiAoIGkzIDwgTE9HRElSVFlfTk9E
RV9FTlRSSUVTIC0gMSAmJiBoeXBlcmNhbGxfcHJlZW1wdF9jaGVjaygpICkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LmxvZ19kaXJ0eS5pNCA9IGk0OworICAgICAgICAgICAgICAg
IGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzID0gaTMgKyAx
OworICAgICAgICAgICAgICAgIHJ2ID0gLUVSRVNUQVJUOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
ICAgIGlmICggbDMgKQogICAgICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2Uo
bDMpOworCisgICAgICAgIGlmICggIXJ2ICYmIGk0IDwgTE9HRElSVFlfTk9E
RV9FTlRSSUVTIC0gMSAmJgorICAgICAgICAgICAgIGh5cGVyY2FsbF9wcmVl
bXB0X2NoZWNrKCkgKQorICAgICAgICB7CisgICAgICAgICAgICBkLT5hcmNo
LnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5pNCA9IGk0ICsgMTsKKyAgICAg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzID0g
MDsKKyAgICAgICAgICAgIHJ2ID0gLUVSRVNUQVJUOworICAgICAgICB9Cisg
ICAgICAgIGlmICggcnYgKQorICAgICAgICAgICAgYnJlYWs7CiAgICAgfQog
ICAgIGlmICggbDQgKQogICAgICAgICB1bm1hcF9kb21haW5fcGFnZShsNCk7
CiAKLSAgICBpZiAoIHBhZ2VzIDwgc2MtPnBhZ2VzICkKLSAgICAgICAgc2Mt
PnBhZ2VzID0gcGFnZXM7CisgICAgaWYgKCAhcnYgKQorICAgICAgICBkLT5h
cmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUgPSBOVUxMOworICAgIGVsc2UKKyAg
ICB7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNwdSA9IGN1
cnJlbnQ7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQub3AgPSBz
Yy0+b3A7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2Rp
cnR5LmRvbmUgPSBwYWdlczsKKyAgICB9CiAKICAgICBwYWdpbmdfdW5sb2Nr
KGQpOwogCisgICAgaWYgKCBydiApCisgICAgeworICAgICAgICAvKiBOZXZl
ciBsZWF2ZSB0aGUgZG9tYWluIHBhdXNlZCBmb3Igb3RoZXIgZXJyb3JzLiAq
LworICAgICAgICBBU1NFUlQocnYgPT0gLUVSRVNUQVJUKTsKKyAgICAgICAg
cmV0dXJuIHJ2OworICAgIH0KKworICAgIGlmICggcGFnZXMgPCBzYy0+cGFn
ZXMgKQorICAgICAgICBzYy0+cGFnZXMgPSBwYWdlczsKICAgICBpZiAoIGNs
ZWFuICkKICAgICB7CiAgICAgICAgIC8qIFdlIG5lZWQgdG8gZnVydGhlciBj
YWxsIGNsZWFuX2RpcnR5X2JpdG1hcCgpIGZ1bmN0aW9ucyBvZiBzcGVjaWZp
YwpAQCAtNDQxLDYgKzU1Miw3IEBAIGludCBwYWdpbmdfbG9nX2RpcnR5X29w
KHN0cnVjdCBkb21haW4gKmQKICAgICByZXR1cm4gcnY7CiAKICBvdXQ6Cisg
ICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ID0gTlVMTDsKICAgICBw
YWdpbmdfdW5sb2NrKGQpOwogICAgIGRvbWFpbl91bnBhdXNlKGQpOwogCkBA
IC01MDQsMTIgKzYxNiw2IEBAIHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV9pbml0
KHN0cnVjdCBkb21haW4KICAgICBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHku
Y2xlYW5fZGlydHlfYml0bWFwID0gY2xlYW5fZGlydHlfYml0bWFwOwogfQog
Ci0vKiBUaGlzIGZ1bmN0aW9uIGZyZXNzIGxvZyBkaXJ0eSBiaXRtYXAgcmVz
b3VyY2VzLiAqLwotc3RhdGljIHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV90ZWFy
ZG93bihzdHJ1Y3QgZG9tYWluKmQpCi17Ci0gICAgcGFnaW5nX2ZyZWVfbG9n
X2RpcnR5X2JpdG1hcChkKTsKLX0KLQogLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qICAgICAgICAgICBD
T0RFIEZPUiBQQUdJTkcgU1VQUE9SVCAgICAgICAgICAgICovCiAvKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpA
QCAtNTUzLDYgKzY1OSw3IEBAIHZvaWQgcGFnaW5nX3ZjcHVfaW5pdChzdHJ1
Y3QgdmNwdSAqdikKIGludCBwYWdpbmdfZG9tY3RsKHN0cnVjdCBkb21haW4g
KmQsIHhlbl9kb21jdGxfc2hhZG93X29wX3QgKnNjLAogICAgICAgICAgICAg
ICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSB1X2RvbWN0bCkK
IHsKKyAgICBib29sX3QgcmVzdW1pbmcgPSAwOwogICAgIGludCByYzsKIAog
ICAgIGlmICggdW5saWtlbHkoZCA9PSBjdXJyZW50LT5kb21haW4pICkKQEAg
LTU3NSw2ICs2ODIsMTkgQEAgaW50IHBhZ2luZ19kb21jdGwoc3RydWN0IGRv
bWFpbiAqZCwgeGVuXwogICAgICAgICByZXR1cm4gLUVJTlZBTDsKICAgICB9
CiAKKyAgICBpZiAoIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNwdSApCisg
ICAgeworICAgICAgICBpZiAoIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNw
dSAhPSBjdXJyZW50IHx8CisgICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcu
cHJlZW1wdC5vcCAhPSBzYy0+b3AgKQorICAgICAgICB7CisgICAgICAgICAg
ICBwcmludGsoWEVOTE9HX0dfREVCVUcKKyAgICAgICAgICAgICAgICAgICAi
JXB2OiBQYWdpbmcgb3AgJSN4IG9uIERvbSV1IHdpdGggdW5maW5pc2hlZCBw
cmlvciBvcCAlI3hcbiIsCisgICAgICAgICAgICAgICAgICAgY3VycmVudCwg
c2MtPm9wLCBkLT5kb21haW5faWQsIGQtPmFyY2gucGFnaW5nLnByZWVtcHQu
b3ApOworICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKKyAgICAgICAgfQor
ICAgICAgICByZXN1bWluZyA9IDE7CisgICAgfQorCiAgICAgcmMgPSB4c21f
c2hhZG93X2NvbnRyb2woWFNNX0hPT0ssIGQsIHNjLT5vcCk7CiAgICAgaWYg
KCByYyApCiAgICAgICAgIHJldHVybiByYzsKQEAgLTYwMCwxMyArNzIwLDEz
IEBAIGludCBwYWdpbmdfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHhlbl8K
IAogICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfT0ZGOgogICAgICAg
ICBpZiAoIHBhZ2luZ19tb2RlX2xvZ19kaXJ0eShkKSApCi0gICAgICAgICAg
ICBpZiAoIChyYyA9IHBhZ2luZ19sb2dfZGlydHlfZGlzYWJsZShkKSkgIT0g
MCApCisgICAgICAgICAgICBpZiAoIChyYyA9IHBhZ2luZ19sb2dfZGlydHlf
ZGlzYWJsZShkLCByZXN1bWluZykpICE9IDAgKQogICAgICAgICAgICAgICAg
IHJldHVybiByYzsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFhFTl9E
T01DVExfU0hBRE9XX09QX0NMRUFOOgogICAgIGNhc2UgWEVOX0RPTUNUTF9T
SEFET1dfT1BfUEVFSzoKLSAgICAgICAgcmV0dXJuIHBhZ2luZ19sb2dfZGly
dHlfb3AoZCwgc2MpOworICAgICAgICByZXR1cm4gcGFnaW5nX2xvZ19kaXJ0
eV9vcChkLCBzYywgcmVzdW1pbmcpOwogICAgIH0KIAogICAgIC8qIEhlcmUs
IGRpc3BhdGNoIGRvbWN0bCB0byB0aGUgYXBwcm9wcmlhdGUgcGFnaW5nIGNv
ZGUgKi8KQEAgLTYxNywxOCArNzM3LDI0IEBAIGludCBwYWdpbmdfZG9tY3Rs
KHN0cnVjdCBkb21haW4gKmQsIHhlbl8KIH0KIAogLyogQ2FsbCB3aGVuIGRl
c3Ryb3lpbmcgYSBkb21haW4gKi8KLXZvaWQgcGFnaW5nX3RlYXJkb3duKHN0
cnVjdCBkb21haW4gKmQpCitpbnQgcGFnaW5nX3RlYXJkb3duKHN0cnVjdCBk
b21haW4gKmQpCiB7CisgICAgaW50IHJjOworCiAgICAgaWYgKCBoYXBfZW5h
YmxlZChkKSApCiAgICAgICAgIGhhcF90ZWFyZG93bihkKTsKICAgICBlbHNl
CiAgICAgICAgIHNoYWRvd190ZWFyZG93bihkKTsKIAogICAgIC8qIGNsZWFu
IHVwIGxvZyBkaXJ0eSByZXNvdXJjZXMuICovCi0gICAgcGFnaW5nX2xvZ19k
aXJ0eV90ZWFyZG93bihkKTsKKyAgICByYyA9IHBhZ2luZ19mcmVlX2xvZ19k
aXJ0eV9iaXRtYXAoZCwgMCk7CisgICAgaWYgKCByYyA9PSAtRVJFU1RBUlQg
KQorICAgICAgICByZXR1cm4gcmM7CiAKICAgICAvKiBNb3ZlIHBvcHVsYXRl
LW9uLWRlbWFuZCBjYWNoZSBiYWNrIHRvIGRvbWFpbl9saXN0IGZvciBkZXN0
cnVjdGlvbiAqLwogICAgIHAybV9wb2RfZW1wdHlfY2FjaGUoZCk7CisKKyAg
ICByZXR1cm4gcmM7CiB9CiAKIC8qIENhbGwgb25jZSBhbGwgb2YgdGhlIHJl
ZmVyZW5jZXMgdG8gdGhlIGRvbWFpbiBoYXZlIGdvbmUgYXdheSAqLwotLS0g
YS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCisrKyBiL3hlbi9h
cmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKQEAgLTM3MDUsOCArMzcwNSw3
IEBAIGludCBzaGFkb3dfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIAogICAg
ICAgICBwYWdpbmdfdW5sb2NrKGQpOwogICAgICAgICBpZiAoIHByZWVtcHRl
ZCApCiAgICAgICAgICAgICAvKiBOb3QgZmluaXNoZWQuICBTZXQgdXAgdG8g
cmUtcnVuIHRoZSBjYWxsLiAqLwotICAgICAgICAgICAgcmMgPSBoeXBlcmNh
bGxfY3JlYXRlX2NvbnRpbnVhdGlvbigKLSAgICAgICAgICAgICAgICBfX0hZ
UEVSVklTT1JfZG9tY3RsLCAiaCIsIHVfZG9tY3RsKTsKKyAgICAgICAgICAg
IHJjID0gLUVSRVNUQVJUOwogICAgICAgICBlbHNlIAogICAgICAgICAgICAg
LyogRmluaXNoZWQuICBSZXR1cm4gdGhlIG5ldyBhbGxvY2F0aW9uICovCiAg
ICAgICAgICAgICBzYy0+bWIgPSBzaGFkb3dfZ2V0X2FsbG9jYXRpb24oZCk7
Ci0tLSBhL3hlbi9jb21tb24vZG9tYWluLmMKKysrIGIveGVuL2NvbW1vbi9k
b21haW4uYwpAQCAtNjExLDcgKzYxMSw2IEBAIGludCBkb21haW5fa2lsbChz
dHJ1Y3QgZG9tYWluICpkKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAo
IHJjID09IC1FUkVTVEFSVCApCiAgICAgICAgICAgICAgICAgcmMgPSAtRUFH
QUlOOwotICAgICAgICAgICAgQlVHX09OKHJjICE9IC1FQUdBSU4pOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCBzY2hl
ZF9tb3ZlX2RvbWFpbihkLCBjcHVwb29sMCkgKQotLS0gYS94ZW4vaW5jbHVk
ZS9hc20teDg2L2RvbWFpbi5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYv
ZG9tYWluLmgKQEAgLTE4Niw2ICsxODYsMjAgQEAgc3RydWN0IHBhZ2luZ19k
b21haW4gewogICAgIHN0cnVjdCBoYXBfZG9tYWluICAgICAgIGhhcDsKICAg
ICAvKiBsb2cgZGlydHkgc3VwcG9ydCAqLwogICAgIHN0cnVjdCBsb2dfZGly
dHlfZG9tYWluIGxvZ19kaXJ0eTsKKworICAgIC8qIHByZWVtcHRpb24gaGFu
ZGxpbmcgKi8KKyAgICBzdHJ1Y3QgeworICAgICAgICBzdHJ1Y3QgdmNwdSAq
dmNwdTsKKyAgICAgICAgdW5zaWduZWQgaW50IG9wOworICAgICAgICB1bmlv
biB7CisgICAgICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGxvbmcgZG9uZTpQQUREUl9CSVRTIC0gUEFHRV9TSElGVDsKKyAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGk0OlBBR0VUQUJMRV9PUkRF
UjsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGkzOlBBR0VUQUJM
RV9PUkRFUjsKKyAgICAgICAgICAgIH0gbG9nX2RpcnR5OworICAgICAgICB9
OworICAgIH0gcHJlZW1wdDsKKwogICAgIC8qIGFsbG9jL2ZyZWUgcGFnZXMg
ZnJvbSB0aGUgcG9vbCBmb3IgcGFnaW5nLWFzc2lzdGFuY2Ugc3RydWN0dXJl
cwogICAgICAqICh1c2VkIGJ5IHAybSBhbmQgbG9nLWRpcnR5IGNvZGUgZm9y
IHRoZWlyIHRyaWVzKSAqLwogICAgIHN0cnVjdCBwYWdlX2luZm8gKiAoKmFs
bG9jX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQpOwotLS0gYS94ZW4vaW5jbHVk
ZS9hc20teDg2L3BhZ2luZy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYv
cGFnaW5nLmgKQEAgLTEzMiw5ICsxMzIsNiBAQCBzdHJ1Y3QgcGFnaW5nX21v
ZGUgewogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBM
b2cgZGlydHkgY29kZSAqLwogCi0vKiBmcmVlIGxvZyBkaXJ0eSBiaXRtYXAg
cmVzb3VyY2UgKi8KLXZvaWQgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1h
cChzdHJ1Y3QgZG9tYWluICpkKTsKLQogLyogZ2V0IHRoZSBkaXJ0eSBiaXRt
YXAgZm9yIGEgc3BlY2lmaWMgcmFuZ2Ugb2YgcGZucyAqLwogdm9pZCBwYWdp
bmdfbG9nX2RpcnR5X3JhbmdlKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBiZWdpbl9wZm4s
CkBAIC0xNDQsOSArMTQxLDYgQEAgdm9pZCBwYWdpbmdfbG9nX2RpcnR5X3Jh
bmdlKHN0cnVjdCBkb21haQogLyogZW5hYmxlIGxvZyBkaXJ0eSAqLwogaW50
IHBhZ2luZ19sb2dfZGlydHlfZW5hYmxlKHN0cnVjdCBkb21haW4gKmQsIGJv
b2xfdCBsb2dfZ2xvYmFsKTsKIAotLyogZGlzYWJsZSBsb2cgZGlydHkgKi8K
LWludCBwYWdpbmdfbG9nX2RpcnR5X2Rpc2FibGUoc3RydWN0IGRvbWFpbiAq
ZCk7Ci0KIC8qIGxvZyBkaXJ0eSBpbml0aWFsaXphdGlvbiAqLwogdm9pZCBw
YWdpbmdfbG9nX2RpcnR5X2luaXQoc3RydWN0IGRvbWFpbiAqZCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCAgKCplbmFibGVfbG9nX2RpcnR5
KShzdHJ1Y3QgZG9tYWluICpkLApAQCAtMjA2LDcgKzIwMCw3IEBAIGludCBw
YWdpbmdfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHhlbl8KICAgICAgICAg
ICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgdV9kb21j
dGwpOwogCiAvKiBDYWxsIHdoZW4gZGVzdHJveWluZyBhIGRvbWFpbiAqLwot
dm9pZCBwYWdpbmdfdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCk7CitpbnQg
cGFnaW5nX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpOwogCiAvKiBDYWxs
IG9uY2UgYWxsIG9mIHRoZSByZWZlcmVuY2VzIHRvIHRoZSBkb21haW4gaGF2
ZSBnb25lIGF3YXkgKi8KIHZvaWQgcGFnaW5nX2ZpbmFsX3RlYXJkb3duKHN0
cnVjdCBkb21haW4gKmQpOwo=

--=separator
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-announce mailing list
Xen-announce@lists.xen.org
http://lists.xen.org/xen-announce
--=separator--


From xen-announce-bounces@lists.xen.org Tue Aug 12 13:04:46 2014
Return-path: <xen-announce-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 12 Aug 2014 13:04:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-announce-bounces@lists.xen.org>)
	id 1XHBjn-0002hQ-21; Tue, 12 Aug 2014 13:03:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBjk-0002h7-Rv; Tue, 12 Aug 2014 13:03:37 +0000
Received: from [85.158.143.35:37909] by server-2.bemta-4.messagelabs.com id
	38/2F-04525-7A01AE35; Tue, 12 Aug 2014 13:03:35 +0000
X-Env-Sender: iwj@xenbits.xen.org
X-Msg-Ref: server-2.tower-21.messagelabs.com!1407848613!4531815!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.12.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3540 invoked from network); 12 Aug 2014 13:03:34 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	12 Aug 2014 13:03:34 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBjb-0004G0-6c; Tue, 12 Aug 2014 13:03:27 +0000
Received: from iwj by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBja-00085c-GD; Tue, 12 Aug 2014 13:03:26 +0000
Date: Tue, 12 Aug 2014 13:03:26 +0000
Message-Id: <E1XHBja-00085c-GD@xenbits.xen.org>
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.428 (Entity 5.428)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
	xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
Cc: "Xen.org security team" <security@xen.org>
Subject: [Xen-announce] Xen Security Advisory 97 (CVE-2014-5146,
 CVE-2014-5149) - Long latency virtual-mmu operations are not
 preemptible
X-BeenThere: xen-announce@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: "Xen announcements \(low volume\)" <xen-announce.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-announce@lists.xen.org>
List-Help: <mailto:xen-announce-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=subscribe>
Sender: xen-announce-bounces@lists.xen.org
Errors-To: xen-announce-bounces@lists.xen.org


--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

      Xen Security Advisory CVE-2014-5146,CVE-2014-5149 / XSA-97
                              version 3

        Long latency virtual-mmu operations are not preemptible

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

Some MMU virtualization operations on HVM guests must process every
page assigned to a guest.  For larger guests, this can tie up a vcpu
for a significant amount of time, as the operations are not
preemptible.

For guests using Hardware Assisted Paging (HAP, see below) this is
CVE-2014-5146.  For guests not using HAP this is CVE-2014-5149.

IMPACT
======

A malicious HVM guest with a large allocation of shadow/p2m RAM
can mount a denial of service attack affecting the whole system.

VULNERABLE SYSTEMS
==================

ARM systems are not vulnerable.

All x86 Xen versions are vulnerable.

The vulnerability is only exposed to HVM guests.

In the default configuration, the vulnerability is only exposed to
large guests (guests assigned more than 128Gbytes of memory).

MITIGATION
==========

Running only PV guests, or only smaller guests will avoid this
problem.

Since the vulnerability actually depends on the guest's shadow memory,
if you are overriding the default allocation (which is about 0.5% of
guest RAM) by using the "shadow_memory=" VM configuration file option,
you should adjust your idea of a 'smaller' guest accordingly.

CREDITS
=======

This issue was discovered by Jan Beulich.

RESOLUTION
==========

For HAP-enabled guests, the attached patch resolves ths issue.

HAP (Hardware Assisted Paging, aka nested paging) is enabled by
default if the system is suitably capable.  The VM configuration file
can disable or enable HAP explicitly by setting "hap=0" or "hap=1".
HAP can also be globally disabled by specifying "hap=off" on the
hypervisor command line.

There is no resolution for guests using shadow pagetables (i.e., not
using HAP) at this time.

xsa97-hap-unstable.patch                             xen-unstable
xsa97-hap-4.4.patch                                  Xen 4.4.x
xsa97-hap-4.3.patch                                  Xen 4.3.x
xsa97-hap-4.2-prereq.patch, xsa97-hap-4.2.patch      Xen 4.2.x

$ sha256sum xsa97*.patch
c9e0e9f136db1b976ea371be10430598a7f21b4a33b4849f2081566657ff5da1  xsa97-hap-4.2.patch
c525a99263eed6f93fad685ae9dad1ae10c8930345ec52659211541640797bb5  xsa97-hap-4.2-prereq.patch
cfab6521221a5058a0dfbb6d59c3c4cd0e7f4239bb6cbee2723de22c33caafda  xsa97-hap-4.3.patch
138511f2fd8362366e09dda18443387886ec4397eecc1a2f6a7e85643bd415e8  xsa97-hap-4.4.patch
58c56daa01f20be0317700d383dfbba8de35695bd38a9860c0c0463181d76351  xsa97-hap-unstable.patch
$
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBAgAGBQJT6hBmAAoJEIP+FMlX6CvZ8sgIAIqtUEu6CS5+H3enavmmLhuh
PGLCqQOBVWn99+m6bMqk+WvZOkW9CLxiX6+78XsheJlmUFBtHc3rG53wR0voo6Vr
BXyU3XY2n4aEh1klstS3gq/J37L86fEi2a+MaAePbPZ4qdWvFh3zDhRrLTQ/TDvK
0tfze9fF6K24Ab7jAcstF2gn+NhrrS3L3pvvgD/P5T1LR8HrEsyyhTlf7c34T5cp
RnSM19CUqAVAJeyN6WI2meZ3C+nvxLiNRUEQQikf4yCKqGxevzjBLAbXlcw4ELnF
9rG7Yd1aRJh4pQkViFDIdB3x8Xb9HuT7kFsQ7kBZc3an9JkbxxTGQd82XjODM1Q=
=A/Ph
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa97-hap-4.2.patch"
Content-Disposition: attachment; filename="xsa97-hap-4.2.patch"
Content-Transfer-Encoding: base64

eDg2L3BhZ2luZzogbWFrZSBsb2ctZGlydHkgb3BlcmF0aW9ucyBwcmVlbXB0
aWJsZQoKQm90aCB0aGUgZnJlZWluZyBhbmQgdGhlIGluc3BlY3Rpb24gb2Yg
dGhlIGJpdG1hcCBnZXQgZG9uZSBpbiAobmVzdGVkKQpsb29wcyB3aGljaCAt
IGJlc2lkZXMgaGF2aW5nIGEgcmF0aGVyIGhpZ2ggaXRlcmF0aW9uIGNvdW50
IGluIGdlbmVyYWwsCmFsYmVpdCB0aGF0IHdvdWxkIGJlIGNvdmVyZWQgYnkg
WFNBLTc3IC0gaGF2ZSB0aGUgbnVtYmVyIG9mIG5vbi10cml2aWFsCml0ZXJh
dGlvbnMgdGhleSBuZWVkIHRvIHBlcmZvcm0gKGluZGlyZWN0bHkpIGNvbnRy
b2xsYWJsZSBieSBib3RoIHRoZQpndWVzdCB0aGV5IGFyZSBmb3IgYW5kIGFu
eSBkb21haW4gY29udHJvbGxpbmcgdGhlIGd1ZXN0IChpbmNsdWRpbmcgdGhl
Cm9uZSBydW5uaW5nIHFlbXUgZm9yIGl0KS4KClRoaXMgaXMgWFNBLTk3LgoK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CgotLS0g
YS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCkBAIC0yMTM2LDcgKzIxMzYsOSBAQCBpbnQgZG9tYWluX3JlbGlu
cXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkCiAgICAgICAgIHBjaV9yZWxlYXNl
X2RldmljZXMoZCk7CiAKICAgICAgICAgLyogVGVhciBkb3duIHBhZ2luZy1h
c3Npc3RhbmNlIHN0dWZmLiAqLwotICAgICAgICBwYWdpbmdfdGVhcmRvd24o
ZCk7CisgICAgICAgIHJldCA9IHBhZ2luZ190ZWFyZG93bihkKTsKKyAgICAg
ICAgaWYgKCByZXQgKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKIAogICAg
ICAgICAvKiBEcm9wIHRoZSBpbi11c2UgcmVmZXJlbmNlcyB0byBwYWdlLXRh
YmxlIGJhc2VzLiAqLwogICAgICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiAp
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94ZW4vYXJjaC94
ODYvZG9tY3RsLmMKQEAgLTY2LDYgKzY2LDkgQEAgbG9uZyBhcmNoX2RvX2Rv
bWN0bCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbWN0
bC0+dS5zaGFkb3dfb3AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGd1ZXN0X2hhbmRsZV9jYXN0KHVfZG9tY3RsLCB2b2lkKSk7CiAgICAg
ICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihkKTsKKyAgICAgICAgICAgIGlm
ICggcmV0ID09IC1FQUdBSU4gKQorICAgICAgICAgICAgICAgIHJldHVybiBo
eXBlcmNhbGxfY3JlYXRlX2NvbnRpbnVhdGlvbihfX0hZUEVSVklTT1JfZG9t
Y3RsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiaCIsIHVfZG9tY3RsKTsKICAgICAgICAgICAgIGNv
cHlfdG9fZ3Vlc3QodV9kb21jdGwsIGRvbWN0bCwgMSk7CiAgICAgICAgIH0g
CiAgICAgfQotLS0gYS94ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jCisrKyBi
L3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKQEAgLTY3OCw4ICs2NzgsNyBA
QCBpbnQgaGFwX2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCB4ZW5fZG9tCiAg
ICAgICAgIHBhZ2luZ191bmxvY2soZCk7CiAgICAgICAgIGlmICggcHJlZW1w
dGVkICkKICAgICAgICAgICAgIC8qIE5vdCBmaW5pc2hlZC4gIFNldCB1cCB0
byByZS1ydW4gdGhlIGNhbGwuICovCi0gICAgICAgICAgICByYyA9IGh5cGVy
Y2FsbF9jcmVhdGVfY29udGludWF0aW9uKF9fSFlQRVJWSVNPUl9kb21jdGws
ICJoIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdV9kb21jdGwpOworICAgICAgICAgICAgcmMgPSAtRUFHQUlO
OwogICAgICAgICBlbHNlCiAgICAgICAgICAgICAvKiBGaW5pc2hlZC4gIFJl
dHVybiB0aGUgbmV3IGFsbG9jYXRpb24gKi8KICAgICAgICAgICAgIHNjLT5t
YiA9IGhhcF9nZXRfYWxsb2NhdGlvbihkKTsKLS0tIGEveGVuL2FyY2gveDg2
L21tL3BhZ2luZy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGFzbS9zaGFkb3cuaD4KICNp
bmNsdWRlIDxhc20vcDJtLmg+CiAjaW5jbHVkZSA8YXNtL2hhcC5oPgorI2lu
Y2x1ZGUgPGFzbS9ldmVudC5oPgogI2luY2x1ZGUgPGFzbS9odm0vbmVzdGVk
aHZtLmg+CiAjaW5jbHVkZSA8eGVuL251bWEuaD4KICNpbmNsdWRlIDx4c20v
eHNtLmg+CkBAIC0xMTYsMjYgKzExNyw0NiBAQCBzdGF0aWMgdm9pZCBwYWdp
bmdfZnJlZV9sb2dfZGlydHlfcGFnZShzCiAgICAgZC0+YXJjaC5wYWdpbmcu
ZnJlZV9wYWdlKGQsIG1mbl90b19wYWdlKG1mbikpOwogfQogCi12b2lkIHBh
Z2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXAoc3RydWN0IGRvbWFpbiAqZCkK
K3N0YXRpYyBpbnQgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1
Y3QgZG9tYWluICpkLCBpbnQgcmMpCiB7CiAgICAgbWZuX3QgKmw0LCAqbDMs
ICpsMjsKICAgICBpbnQgaTQsIGkzLCBpMjsKIAorICAgIHBhZ2luZ19sb2Nr
KGQpOworCiAgICAgaWYgKCAhbWZuX3ZhbGlkKGQtPmFyY2gucGFnaW5nLmxv
Z19kaXJ0eS50b3ApICkKLSAgICAgICAgcmV0dXJuOworICAgIHsKKyAgICAg
ICAgcGFnaW5nX3VubG9jayhkKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQogCi0gICAgcGFnaW5nX2xvY2soZCk7CisgICAgaWYgKCAhZC0+YXJjaC5w
YWdpbmcucHJlZW1wdC52Y3B1ICkKKyAgICB7CisgICAgICAgIG1lbXNldCgm
ZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHksIDAsCisgICAgICAg
ICAgICAgICBzaXplb2YoZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGly
dHkpKTsKKyAgICAgICAgQVNTRVJUKHJjIDw9IDApOworICAgICAgICBkLT5h
cmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5kb25lID0gLXJjOworICAg
IH0KKyAgICBlbHNlIGlmICggZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1
ICE9IGN1cnJlbnQgfHwKKyAgICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcu
cHJlZW1wdC5vcCAhPSBYRU5fRE9NQ1RMX1NIQURPV19PUF9PRkYgKQorICAg
IHsKKyAgICAgICAgcGFnaW5nX3VubG9jayhkKTsKKyAgICAgICAgcmV0dXJu
IC1FQlVTWTsKKyAgICB9CiAKICAgICBsNCA9IG1hcF9kb21haW5fcGFnZSht
Zm5feChkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkudG9wKSk7CisgICAgaTQg
PSBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5pNDsKKyAgICBp
MyA9IGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzOworICAg
IHJjID0gMDsKIAotICAgIGZvciAoIGk0ID0gMDsgaTQgPCBMT0dESVJUWV9O
T0RFX0VOVFJJRVM7IGk0KysgKQorICAgIGZvciAoIDsgaTQgPCBMT0dESVJU
WV9OT0RFX0VOVFJJRVM7IGk0KyssIGkzID0gMCApCiAgICAgewogICAgICAg
ICBpZiAoICFtZm5fdmFsaWQobDRbaTRdKSApCiAgICAgICAgICAgICBjb250
aW51ZTsKIAogICAgICAgICBsMyA9IG1hcF9kb21haW5fcGFnZShtZm5feChs
NFtpNF0pKTsKIAotICAgICAgICBmb3IgKCBpMyA9IDA7IGkzIDwgTE9HRElS
VFlfTk9ERV9FTlRSSUVTOyBpMysrICkKKyAgICAgICAgZm9yICggOyBpMyA8
IExPR0RJUlRZX05PREVfRU5UUklFUzsgaTMrKyApCiAgICAgICAgIHsKICAg
ICAgICAgICAgIGlmICggIW1mbl92YWxpZChsM1tpM10pICkKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKQEAgLTE0OCwyMCArMTY5LDU0IEBAIHZvaWQg
cGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1Y3QKIAogICAgICAg
ICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDIpOwogICAgICAgICAgICAgcGFn
aW5nX2ZyZWVfbG9nX2RpcnR5X3BhZ2UoZCwgbDNbaTNdKTsKKyAgICAgICAg
ICAgIGwzW2kzXSA9IF9tZm4oSU5WQUxJRF9NRk4pOworCisgICAgICAgICAg
ICBpZiAoIGkzIDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0gMSAmJiBoeXBl
cmNhbGxfcHJlZW1wdF9jaGVjaygpICkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5p
MyA9IGkzICsgMTsKKyAgICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5w
cmVlbXB0LmxvZ19kaXJ0eS5pNCA9IGk0OworICAgICAgICAgICAgICAgIHJj
ID0gLUVBR0FJTjsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCiAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdl
KGwzKTsKKyAgICAgICAgaWYgKCByYyApCisgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X3BhZ2UoZCwgbDRbaTRd
KTsKKyAgICAgICAgbDRbaTRdID0gX21mbihJTlZBTElEX01GTik7CisKKyAg
ICAgICAgaWYgKCBpNCA8IExPR0RJUlRZX05PREVfRU5UUklFUyAtIDEgJiYg
aHlwZXJjYWxsX3ByZWVtcHRfY2hlY2soKSApCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzID0g
MDsKKyAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2Rp
cnR5Lmk0ID0gaTQgKyAxOworICAgICAgICAgICAgcmMgPSAtRUFHQUlOOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICB9CiAKICAgICB1
bm1hcF9kb21haW5fcGFnZShsNCk7Ci0gICAgcGFnaW5nX2ZyZWVfbG9nX2Rp
cnR5X3BhZ2UoZCwgZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LnRvcCk7Ci0g
ICAgZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LnRvcCA9IF9tZm4oSU5WQUxJ
RF9NRk4pOwogCi0gICAgQVNTRVJUKGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0
eS5hbGxvY3MgPT0gMCk7Ci0gICAgZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5
LmZhaWxlZF9hbGxvY3MgPSAwOworICAgIGlmICggIXJjICkKKyAgICB7Cisg
ICAgICAgIHBhZ2luZ19mcmVlX2xvZ19kaXJ0eV9wYWdlKGQsIGQtPmFyY2gu
cGFnaW5nLmxvZ19kaXJ0eS50b3ApOworICAgICAgICBkLT5hcmNoLnBhZ2lu
Zy5sb2dfZGlydHkudG9wID0gX21mbihJTlZBTElEX01GTik7CisKKyAgICAg
ICAgQVNTRVJUKGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5hbGxvY3MgPT0g
MCk7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5mYWlsZWRf
YWxsb2NzID0gMDsKKworICAgICAgICByYyA9IC1kLT5hcmNoLnBhZ2luZy5w
cmVlbXB0LmxvZ19kaXJ0eS5kb25lOworICAgICAgICBkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LnZjcHUgPSBOVUxMOworICAgIH0KKyAgICBlbHNlCisgICAg
eworICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUgPSBjdXJy
ZW50OworICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0Lm9wID0gWEVO
X0RPTUNUTF9TSEFET1dfT1BfT0ZGOworICAgIH0KIAogICAgIHBhZ2luZ191
bmxvY2soZCk7CisKKyAgICByZXR1cm4gcmM7CiB9CiAKIGludCBwYWdpbmdf
bG9nX2RpcnR5X2VuYWJsZShzdHJ1Y3QgZG9tYWluICpkKQpAQCAtMTc4LDE1
ICsyMzMsMjUgQEAgaW50IHBhZ2luZ19sb2dfZGlydHlfZW5hYmxlKHN0cnVj
dCBkb21haQogICAgIHJldHVybiByZXQ7CiB9CiAKLWludCBwYWdpbmdfbG9n
X2RpcnR5X2Rpc2FibGUoc3RydWN0IGRvbWFpbiAqZCkKK3N0YXRpYyBpbnQg
cGFnaW5nX2xvZ19kaXJ0eV9kaXNhYmxlKHN0cnVjdCBkb21haW4gKmQsIGJv
b2xfdCByZXN1bWluZykKIHsKLSAgICBpbnQgcmV0OworICAgIGludCByZXQg
PSAxOworCisgICAgaWYgKCAhcmVzdW1pbmcgKQorICAgIHsKKyAgICAgICAg
ZG9tYWluX3BhdXNlKGQpOworICAgICAgICAvKiBTYWZlIGJlY2F1c2UgdGhl
IGRvbWFpbiBpcyBwYXVzZWQuICovCisgICAgICAgIHJldCA9IGQtPmFyY2gu
cGFnaW5nLmxvZ19kaXJ0eS5kaXNhYmxlX2xvZ19kaXJ0eShkKTsKKyAgICAg
ICAgQVNTRVJUKHJldCA8PSAwKTsKKyAgICB9CiAKLSAgICBkb21haW5fcGF1
c2UoZCk7Ci0gICAgLyogU2FmZSBiZWNhdXNlIHRoZSBkb21haW4gaXMgcGF1
c2VkLiAqLwotICAgIHJldCA9IGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5k
aXNhYmxlX2xvZ19kaXJ0eShkKTsKICAgICBpZiAoICFwYWdpbmdfbW9kZV9s
b2dfZGlydHkoZCkgKQotICAgICAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlf
Yml0bWFwKGQpOworICAgIHsKKyAgICAgICAgcmV0ID0gcGFnaW5nX2ZyZWVf
bG9nX2RpcnR5X2JpdG1hcChkLCByZXQpOworICAgICAgICBpZiAoIHJldCA9
PSAtRUFHQUlOICkKKyAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgfQor
CiAgICAgZG9tYWluX3VucGF1c2UoZCk7CiAKICAgICByZXR1cm4gcmV0OwpA
QCAtMzI2LDcgKzM5MSw5IEBAIGludCBwYWdpbmdfbWZuX2lzX2RpcnR5KHN0
cnVjdCBkb21haW4gKmQKIAogLyogUmVhZCBhIGRvbWFpbidzIGxvZy1kaXJ0
eSBiaXRtYXAgYW5kIHN0YXRzLiAgSWYgdGhlIG9wZXJhdGlvbiBpcyBhIENM
RUFOLAogICogY2xlYXIgdGhlIGJpdG1hcCBhbmQgc3RhdHMgYXMgd2VsbC4g
Ki8KLWludCBwYWdpbmdfbG9nX2RpcnR5X29wKHN0cnVjdCBkb21haW4gKmQs
IHN0cnVjdCB4ZW5fZG9tY3RsX3NoYWRvd19vcCAqc2MpCitzdGF0aWMgaW50
IHBhZ2luZ19sb2dfZGlydHlfb3Aoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9z
aGFkb3dfb3AgKnNjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJvb2xfdCByZXN1bWluZykKIHsKICAgICBpbnQgcnYgPSAwLCBjbGVhbiA9
IDAsIHBlZWsgPSAxOwogICAgIHVuc2lnbmVkIGxvbmcgcGFnZXMgPSAwOwpA
QCAtMzM0LDkgKzQwMSwyMiBAQCBpbnQgcGFnaW5nX2xvZ19kaXJ0eV9vcChz
dHJ1Y3QgZG9tYWluICpkCiAgICAgdW5zaWduZWQgbG9uZyAqbDEgPSBOVUxM
OwogICAgIGludCBpNCwgaTMsIGkyOwogCi0gICAgZG9tYWluX3BhdXNlKGQp
OworICAgIGlmICggIXJlc3VtaW5nICkKKyAgICAgICAgZG9tYWluX3BhdXNl
KGQpOwogICAgIHBhZ2luZ19sb2NrKGQpOwogCisgICAgaWYgKCAhZC0+YXJj
aC5wYWdpbmcucHJlZW1wdC52Y3B1ICkKKyAgICAgICAgbWVtc2V0KCZkLT5h
cmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSwgMCwKKyAgICAgICAgICAg
ICAgIHNpemVvZihkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSkp
OworICAgIGVsc2UgaWYgKCBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUg
IT0gY3VycmVudCB8fAorICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5w
cmVlbXB0Lm9wICE9IHNjLT5vcCApCisgICAgeworICAgICAgICBwYWdpbmdf
dW5sb2NrKGQpOworICAgICAgICBBU1NFUlQoIXJlc3VtaW5nKTsKKyAgICAg
ICAgZG9tYWluX3VucGF1c2UoZCk7CisgICAgICAgIHJldHVybiAtRUJVU1k7
CisgICAgfQorCiAgICAgY2xlYW4gPSAoc2MtPm9wID09IFhFTl9ET01DVExf
U0hBRE9XX09QX0NMRUFOKTsKIAogICAgIFBBR0lOR19ERUJVRyhMT0dESVJU
WSwgImxvZy1kaXJ0eSAlczogZG9tICV1IGZhdWx0cz0ldSBkaXJ0eT0ldVxu
IiwKQEAgLTM2NSwxNyArNDQ1LDE1IEBAIGludCBwYWdpbmdfbG9nX2RpcnR5
X29wKHN0cnVjdCBkb21haW4gKmQKICAgICAgICAgZ290byBvdXQ7CiAgICAg
fQogCi0gICAgcGFnZXMgPSAwOwogICAgIGw0ID0gcGFnaW5nX21hcF9sb2df
ZGlydHlfYml0bWFwKGQpOworICAgIGk0ID0gZC0+YXJjaC5wYWdpbmcucHJl
ZW1wdC5sb2dfZGlydHkuaTQ7CisgICAgaTMgPSBkLT5hcmNoLnBhZ2luZy5w
cmVlbXB0LmxvZ19kaXJ0eS5pMzsKKyAgICBwYWdlcyA9IGQtPmFyY2gucGFn
aW5nLnByZWVtcHQubG9nX2RpcnR5LmRvbmU7CiAKLSAgICBmb3IgKCBpNCA9
IDA7Ci0gICAgICAgICAgKHBhZ2VzIDwgc2MtPnBhZ2VzKSAmJiAoaTQgPCBM
T0dESVJUWV9OT0RFX0VOVFJJRVMpOwotICAgICAgICAgIGk0KysgKQorICAg
IGZvciAoIDsgKHBhZ2VzIDwgc2MtPnBhZ2VzKSAmJiAoaTQgPCBMT0dESVJU
WV9OT0RFX0VOVFJJRVMpOyBpNCsrLCBpMyA9IDAgKQogICAgIHsKICAgICAg
ICAgbDMgPSAobDQgJiYgbWZuX3ZhbGlkKGw0W2k0XSkpID8gbWFwX2RvbWFp
bl9wYWdlKG1mbl94KGw0W2k0XSkpIDogTlVMTDsKLSAgICAgICAgZm9yICgg
aTMgPSAwOwotICAgICAgICAgICAgICAocGFnZXMgPCBzYy0+cGFnZXMpICYm
IChpMyA8IExPR0RJUlRZX05PREVfRU5UUklFUyk7Ci0gICAgICAgICAgICAg
IGkzKysgKQorICAgICAgICBmb3IgKCA7IChwYWdlcyA8IHNjLT5wYWdlcykg
JiYgKGkzIDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTKTsgaTMrKyApCiAgICAg
ICAgIHsKICAgICAgICAgICAgIGwyID0gKChsMyAmJiBtZm5fdmFsaWQobDNb
aTNdKSkgPwogICAgICAgICAgICAgICAgICAgbWFwX2RvbWFpbl9wYWdlKG1m
bl94KGwzW2kzXSkpIDogTlVMTCk7CkBAIC00MTAsMTggKzQ4OCw1MSBAQCBp
bnQgcGFnaW5nX2xvZ19kaXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpkCiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBpZiAoIGwyICkKICAgICAgICAgICAg
ICAgICB1bm1hcF9kb21haW5fcGFnZShsMik7CisKKyAgICAgICAgICAgIGlm
ICggaTMgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMgLSAxICYmIGh5cGVyY2Fs
bF9wcmVlbXB0X2NoZWNrKCkgKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5Lmk0ID0g
aTQ7CisgICAgICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5s
b2dfZGlydHkuaTMgPSBpMyArIDE7CisgICAgICAgICAgICAgICAgcnYgPSAt
RUFHQUlOOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQogICAgICAgICB9CiAgICAgICAgIGlmICggbDMgKQogICAgICAgICAgICAg
dW5tYXBfZG9tYWluX3BhZ2UobDMpOworCisgICAgICAgIGlmICggIXJ2ICYm
IGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0gMSAmJgorICAgICAgICAg
ICAgIGh5cGVyY2FsbF9wcmVlbXB0X2NoZWNrKCkgKQorICAgICAgICB7Cisg
ICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5p
NCA9IGk0ICsgMTsKKyAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVt
cHQubG9nX2RpcnR5LmkzID0gMDsKKyAgICAgICAgICAgIHJ2ID0gLUVBR0FJ
TjsKKyAgICAgICAgfQorICAgICAgICBpZiAoIHJ2ICkKKyAgICAgICAgICAg
IGJyZWFrOwogICAgIH0KICAgICBpZiAoIGw0ICkKICAgICAgICAgdW5tYXBf
ZG9tYWluX3BhZ2UobDQpOwogCi0gICAgaWYgKCBwYWdlcyA8IHNjLT5wYWdl
cyApCi0gICAgICAgIHNjLT5wYWdlcyA9IHBhZ2VzOworICAgIGlmICggIXJ2
ICkKKyAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ID0gTlVM
TDsKKyAgICBlbHNlCisgICAgeworICAgICAgICBkLT5hcmNoLnBhZ2luZy5w
cmVlbXB0LnZjcHUgPSBjdXJyZW50OworICAgICAgICBkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0Lm9wID0gc2MtPm9wOworICAgICAgICBkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LmxvZ19kaXJ0eS5kb25lID0gcGFnZXM7CisgICAgfQogCiAg
ICAgcGFnaW5nX3VubG9jayhkKTsKIAorICAgIGlmICggcnYgKQorICAgIHsK
KyAgICAgICAgLyogTmV2ZXIgbGVhdmUgdGhlIGRvbWFpbiBwYXVzZWQgZm9y
IG90aGVyIGVycm9ycy4gKi8KKyAgICAgICAgQVNTRVJUKHJ2ID09IC1FQUdB
SU4pOworICAgICAgICByZXR1cm4gcnY7CisgICAgfQorCisgICAgaWYgKCBw
YWdlcyA8IHNjLT5wYWdlcyApCisgICAgICAgIHNjLT5wYWdlcyA9IHBhZ2Vz
OwogICAgIGlmICggY2xlYW4gKQogICAgIHsKICAgICAgICAgLyogV2UgbmVl
ZCB0byBmdXJ0aGVyIGNhbGwgY2xlYW5fZGlydHlfYml0bWFwKCkgZnVuY3Rp
b25zIG9mIHNwZWNpZmljCkBAIC00MzIsNiArNTQzLDcgQEAgaW50IHBhZ2lu
Z19sb2dfZGlydHlfb3Aoc3RydWN0IGRvbWFpbiAqZAogICAgIHJldHVybiBy
djsKIAogIG91dDoKKyAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUg
PSBOVUxMOwogICAgIHBhZ2luZ191bmxvY2soZCk7CiAgICAgZG9tYWluX3Vu
cGF1c2UoZCk7CiAKQEAgLTQ5OCwxMiArNjEwLDYgQEAgdm9pZCBwYWdpbmdf
bG9nX2RpcnR5X2luaXQoc3RydWN0IGRvbWFpbgogICAgIGQtPmFyY2gucGFn
aW5nLmxvZ19kaXJ0eS5jbGVhbl9kaXJ0eV9iaXRtYXAgPSBjbGVhbl9kaXJ0
eV9iaXRtYXA7CiB9CiAKLS8qIFRoaXMgZnVuY3Rpb24gZnJlc3MgbG9nIGRp
cnR5IGJpdG1hcCByZXNvdXJjZXMuICovCi1zdGF0aWMgdm9pZCBwYWdpbmdf
bG9nX2RpcnR5X3RlYXJkb3duKHN0cnVjdCBkb21haW4qZCkKLXsKLSAgICBw
YWdpbmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKGQpOwotfQotCiAvKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwog
LyogICAgICAgICAgIENPREUgRk9SIFBBR0lORyBTVVBQT1JUICAgICAgICAg
ICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKiovCkBAIC01NDcsNiArNjUzLDcgQEAgdm9pZCBwYWdpbmdf
dmNwdV9pbml0KHN0cnVjdCB2Y3B1ICp2KQogaW50IHBhZ2luZ19kb21jdGwo
c3RydWN0IGRvbWFpbiAqZCwgeGVuX2RvbWN0bF9zaGFkb3dfb3BfdCAqc2Ms
CiAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFKHZvaWQpIHVf
ZG9tY3RsKQogeworICAgIGJvb2xfdCByZXN1bWluZyA9IDA7CiAgICAgaW50
IHJjOwogCiAgICAgaWYgKCB1bmxpa2VseShkID09IGN1cnJlbnQtPmRvbWFp
bikgKQpAQCAtNTY5LDYgKzY3NiwyMCBAQCBpbnQgcGFnaW5nX2RvbWN0bChz
dHJ1Y3QgZG9tYWluICpkLCB4ZW5fCiAgICAgICAgIHJldHVybiAtRUlOVkFM
OwogICAgIH0KIAorICAgIGlmICggZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52
Y3B1ICkKKyAgICB7CisgICAgICAgIGlmICggZC0+YXJjaC5wYWdpbmcucHJl
ZW1wdC52Y3B1ICE9IGN1cnJlbnQgfHwKKyAgICAgICAgICAgICBkLT5hcmNo
LnBhZ2luZy5wcmVlbXB0Lm9wICE9IHNjLT5vcCApCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHByaW50ayhYRU5MT0dfR19ERUJVRworICAgICAgICAgICAg
ICAgICAgICJkJWQ6diVkOiBQYWdpbmcgb3AgJSN4IG9uIERvbSV1IHdpdGgg
dW5maW5pc2hlZCBwcmlvciBvcCAlI3hcbiIsCisgICAgICAgICAgICAgICAg
ICAgY3VycmVudC0+ZG9tYWluLT5kb21haW5faWQsIGN1cnJlbnQtPnZjcHVf
aWQsCisgICAgICAgICAgICAgICAgICAgc2MtPm9wLCBkLT5kb21haW5faWQs
IGQtPmFyY2gucGFnaW5nLnByZWVtcHQub3ApOworICAgICAgICAgICAgcmV0
dXJuIC1FQlVTWTsKKyAgICAgICAgfQorICAgICAgICByZXN1bWluZyA9IDE7
CisgICAgfQorCiAgICAgcmMgPSB4c21fc2hhZG93X2NvbnRyb2woZCwgc2Mt
Pm9wKTsKICAgICBpZiAoIHJjICkKICAgICAgICAgcmV0dXJuIHJjOwpAQCAt
NTk0LDEzICs3MTQsMTMgQEAgaW50IHBhZ2luZ19kb21jdGwoc3RydWN0IGRv
bWFpbiAqZCwgeGVuXwogCiAgICAgY2FzZSBYRU5fRE9NQ1RMX1NIQURPV19P
UF9PRkY6CiAgICAgICAgIGlmICggcGFnaW5nX21vZGVfbG9nX2RpcnR5KGQp
ICkKLSAgICAgICAgICAgIGlmICggKHJjID0gcGFnaW5nX2xvZ19kaXJ0eV9k
aXNhYmxlKGQpKSAhPSAwICkKKyAgICAgICAgICAgIGlmICggKHJjID0gcGFn
aW5nX2xvZ19kaXJ0eV9kaXNhYmxlKGQsIHJlc3VtaW5nKSkgIT0gMCApCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHJjOwogICAgICAgICBicmVhazsKIAog
ICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfQ0xFQU46CiAgICAgY2Fz
ZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9QRUVLOgotICAgICAgICByZXR1cm4g
cGFnaW5nX2xvZ19kaXJ0eV9vcChkLCBzYyk7CisgICAgICAgIHJldHVybiBw
YWdpbmdfbG9nX2RpcnR5X29wKGQsIHNjLCByZXN1bWluZyk7CiAgICAgfQog
CiAgICAgLyogSGVyZSwgZGlzcGF0Y2ggZG9tY3RsIHRvIHRoZSBhcHByb3By
aWF0ZSBwYWdpbmcgY29kZSAqLwpAQCAtNjExLDE4ICs3MzEsMjQgQEAgaW50
IHBhZ2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgeGVuXwogfQogCiAv
KiBDYWxsIHdoZW4gZGVzdHJveWluZyBhIGRvbWFpbiAqLwotdm9pZCBwYWdp
bmdfdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCkKK2ludCBwYWdpbmdfdGVh
cmRvd24oc3RydWN0IGRvbWFpbiAqZCkKIHsKKyAgICBpbnQgcmM7CisKICAg
ICBpZiAoIGhhcF9lbmFibGVkKGQpICkKICAgICAgICAgaGFwX3RlYXJkb3du
KGQpOwogICAgIGVsc2UKICAgICAgICAgc2hhZG93X3RlYXJkb3duKGQpOwog
CiAgICAgLyogY2xlYW4gdXAgbG9nIGRpcnR5IHJlc291cmNlcy4gKi8KLSAg
ICBwYWdpbmdfbG9nX2RpcnR5X3RlYXJkb3duKGQpOworICAgIHJjID0gcGFn
aW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChkLCAwKTsKKyAgICBpZiAoIHJj
ID09IC1FQUdBSU4gKQorICAgICAgICByZXR1cm4gcmM7CiAKICAgICAvKiBN
b3ZlIHBvcHVsYXRlLW9uLWRlbWFuZCBjYWNoZSBiYWNrIHRvIGRvbWFpbl9s
aXN0IGZvciBkZXN0cnVjdGlvbiAqLwogICAgIHAybV9wb2RfZW1wdHlfY2Fj
aGUoZCk7CisKKyAgICByZXR1cm4gcmM7CiB9CiAKIC8qIENhbGwgb25jZSBh
bGwgb2YgdGhlIHJlZmVyZW5jZXMgdG8gdGhlIGRvbWFpbiBoYXZlIGdvbmUg
YXdheSAqLwotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5j
CisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKQEAgLTM4
MjksOCArMzgyOSw3IEBAIGludCBzaGFkb3dfZG9tY3RsKHN0cnVjdCBkb21h
aW4gKmQsIAogICAgICAgICBwYWdpbmdfdW5sb2NrKGQpOwogICAgICAgICBp
ZiAoIHByZWVtcHRlZCApCiAgICAgICAgICAgICAvKiBOb3QgZmluaXNoZWQu
ICBTZXQgdXAgdG8gcmUtcnVuIHRoZSBjYWxsLiAqLwotICAgICAgICAgICAg
cmMgPSBoeXBlcmNhbGxfY3JlYXRlX2NvbnRpbnVhdGlvbigKLSAgICAgICAg
ICAgICAgICBfX0hZUEVSVklTT1JfZG9tY3RsLCAiaCIsIHVfZG9tY3RsKTsK
KyAgICAgICAgICAgIHJjID0gLUVBR0FJTjsKICAgICAgICAgZWxzZSAKICAg
ICAgICAgICAgIC8qIEZpbmlzaGVkLiAgUmV0dXJuIHRoZSBuZXcgYWxsb2Nh
dGlvbiAqLwogICAgICAgICAgICAgc2MtPm1iID0gc2hhZG93X2dldF9hbGxv
Y2F0aW9uKGQpOwotLS0gYS94ZW4vY29tbW9uL2RvbWFpbi5jCisrKyBiL3hl
bi9jb21tb24vZG9tYWluLmMKQEAgLTQ3OSw3ICs0NzksNiBAQCBpbnQgZG9t
YWluX2tpbGwoc3RydWN0IGRvbWFpbiAqZCkKICAgICAgICAgcmMgPSBkb21h
aW5fcmVsaW5xdWlzaF9yZXNvdXJjZXMoZCk7CiAgICAgICAgIGlmICggcmMg
IT0gMCApCiAgICAgICAgIHsKLSAgICAgICAgICAgIEJVR19PTihyYyAhPSAt
RUFHQUlOKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAg
ICAgIGlmICggc2NoZWRfbW92ZV9kb21haW4oZCwgY3B1cG9vbDApICkKLS0t
IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAorKysgYi94ZW4vaW5j
bHVkZS9hc20teDg2L2RvbWFpbi5oCkBAIC0xOTMsNiArMTkzLDIwIEBAIHN0
cnVjdCBwYWdpbmdfZG9tYWluIHsKICAgICBzdHJ1Y3QgaGFwX2RvbWFpbiAg
ICAgICBoYXA7CiAgICAgLyogbG9nIGRpcnR5IHN1cHBvcnQgKi8KICAgICBz
dHJ1Y3QgbG9nX2RpcnR5X2RvbWFpbiBsb2dfZGlydHk7CisKKyAgICAvKiBw
cmVlbXB0aW9uIGhhbmRsaW5nICovCisgICAgc3RydWN0IHsKKyAgICAgICAg
c3RydWN0IHZjcHUgKnZjcHU7CisgICAgICAgIHVuc2lnbmVkIGludCBvcDsK
KyAgICAgICAgdW5pb24geworICAgICAgICAgICAgc3RydWN0IHsKKyAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRvbmU6UEFERFJfQklUUyAtIFBB
R0VfU0hJRlQ7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBpNDpQ
QUdFVEFCTEVfT1JERVI7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9u
ZyBpMzpQQUdFVEFCTEVfT1JERVI7CisgICAgICAgICAgICB9IGxvZ19kaXJ0
eTsKKyAgICAgICAgfTsKKyAgICB9IHByZWVtcHQ7CisKICAgICAvKiBhbGxv
Yy9mcmVlIHBhZ2VzIGZyb20gdGhlIHBvb2wgZm9yIHBhZ2luZy1hc3Npc3Rh
bmNlIHN0cnVjdHVyZXMKICAgICAgKiAodXNlZCBieSBwMm0gYW5kIGxvZy1k
aXJ0eSBjb2RlIGZvciB0aGVpciB0cmllcykgKi8KICAgICBzdHJ1Y3QgcGFn
ZV9pbmZvICogKCphbGxvY19wYWdlKShzdHJ1Y3QgZG9tYWluICpkKTsKLS0t
IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaAorKysgYi94ZW4vaW5j
bHVkZS9hc20teDg2L3BhZ2luZy5oCkBAIC0xNDEsOSArMTQxLDYgQEAgc3Ry
dWN0IHBhZ2luZ19tb2RlIHsKIC8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKgogICogTG9nIGRpcnR5IGNvZGUgKi8KIAotLyogZnJlZSBsb2cg
ZGlydHkgYml0bWFwIHJlc291cmNlICovCi12b2lkIHBhZ2luZ19mcmVlX2xv
Z19kaXJ0eV9iaXRtYXAoc3RydWN0IGRvbWFpbiAqZCk7Ci0KIC8qIGdldCB0
aGUgZGlydHkgYml0bWFwIGZvciBhIHNwZWNpZmljIHJhbmdlIG9mIHBmbnMg
Ki8KIHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV9yYW5nZShzdHJ1Y3QgZG9tYWlu
ICpkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv
bmcgYmVnaW5fcGZuLApAQCAtMTUzLDkgKzE1MCw2IEBAIHZvaWQgcGFnaW5n
X2xvZ19kaXJ0eV9yYW5nZShzdHJ1Y3QgZG9tYWkKIC8qIGVuYWJsZSBsb2cg
ZGlydHkgKi8KIGludCBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZShzdHJ1Y3Qg
ZG9tYWluICpkKTsKIAotLyogZGlzYWJsZSBsb2cgZGlydHkgKi8KLWludCBw
YWdpbmdfbG9nX2RpcnR5X2Rpc2FibGUoc3RydWN0IGRvbWFpbiAqZCk7Ci0K
IC8qIGxvZyBkaXJ0eSBpbml0aWFsaXphdGlvbiAqLwogdm9pZCBwYWdpbmdf
bG9nX2RpcnR5X2luaXQoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCAgKCplbmFibGVfbG9nX2RpcnR5KShzdHJ1
Y3QgZG9tYWluICpkKSwKQEAgLTIxOCw3ICsyMTIsNyBAQCBpbnQgcGFnaW5n
X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCB4ZW5fCiAgICAgICAgICAgICAg
ICAgICBYRU5fR1VFU1RfSEFORExFKHZvaWQpIHVfZG9tY3RsKTsKIAogLyog
Q2FsbCB3aGVuIGRlc3Ryb3lpbmcgYSBkb21haW4gKi8KLXZvaWQgcGFnaW5n
X3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpOworaW50IHBhZ2luZ190ZWFy
ZG93bihzdHJ1Y3QgZG9tYWluICpkKTsKIAogLyogQ2FsbCBvbmNlIGFsbCBv
ZiB0aGUgcmVmZXJlbmNlcyB0byB0aGUgZG9tYWluIGhhdmUgZ29uZSBhd2F5
ICovCiB2b2lkIHBhZ2luZ19maW5hbF90ZWFyZG93bihzdHJ1Y3QgZG9tYWlu
ICpkKTsK

--=separator
Content-Type: application/octet-stream; name="xsa97-hap-4.2-prereq.patch"
Content-Disposition: attachment; filename="xsa97-hap-4.2-prereq.patch"
Content-Transfer-Encoding: base64

eDg2L21tL2hhcDogQWRqdXN0IHZyYW0gdHJhY2tpbmcgdG8gcGxheSBuaWNl
bHkgd2l0aCBsb2ctZGlydHkuCgpUaGUgcHJldmlvdXMgY29kZSBhc3N1bWVk
IHRoZSBndWVzdCB3b3VsZCBiZSBpbiBvbmUgb2YgdGhyZWUgbXV0dWFsbHkg
ZXhjbHVzaXZlCm1vZGVzIGZvciBib29ra2VlcGluZyBkaXJ0eSBwYWdlczog
KDEpIHNoYWRvdywgKDIpIGhhcCB1dGlsaXppbmcgdGhlIGxvZyBkaXJ0eQpi
aXRtYXAgdG8gc3VwcG9ydCBmdW5jdGlvbmFsaXR5IHN1Y2ggYXMgbGl2ZSBt
aWdyYXRlLCAoMykgaGFwIHV0aWxpemluZyB0aGUKbG9nIGRpcnR5IGJpdG1h
cCB0byB0cmFjayBkaXJ0eSB2cmFtIHBhZ2VzLgpSYWNlcyBhcm9zZSB3aGVu
IGEgZ3Vlc3QgYXR0ZW1wdGVkIHRvIHRyYWNrIGRpcnR5IHZyYW0gd2hpbGUg
cGVyZm9ybWluZyBsaXZlCm1pZ3JhdGUuICAoVGhlIGRpc3BhdGNoIHRhYmxl
IG1hbmFnZWQgYnkgcGFnaW5nX2xvZ19kaXJ0eV9pbml0KCkgbWlnaHQgY2hh
bmdlCmluIHRoZSBtaWRkbGUgb2YgYSBsb2cgZGlydHkgb3IgYSB2cmFtIHRy
YWNraW5nIGZ1bmN0aW9uLikKClRoaXMgY2hhbmdlIGFsbG93cyBoYXAgbG9n
IGRpcnR5IGFuZCBoYXAgdnJhbSB0cmFja2luZyB0byBiZSBjb25jdXJyZW50
LgpWcmFtIHRyYWNraW5nIG5vIGxvbmdlciB1c2VzIHRoZSBsb2cgZGlydHkg
Yml0bWFwLiAgSW5zdGVhZCBpdCBkZXRlY3RzCmRpcnR5IHZyYW0gcGFnZXMg
YnkgZXhhbWluaW5nIHRoZWlyIHAybSB0eXBlLiAgVGhlIGxvZyBkaXJ0eSBi
aXRtYXAgaXMgb25seQp1c2VkIGJ5IHRoZSBsb2cgZGlydHkgY29kZS4gIEJl
Y2F1c2UgdGhlIHR3byBvcGVyYXRpb25zIHVzZSBkaWZmZXJlbnQKbWVjaGFu
aXNtcywgdGhleSBhcmUgbm8gbG9uZ2VyIG11dHVhbGx5IGV4Y2x1c2l2ZS4K
ClNpZ25lZC1PZmYtQnk6IFJvYmVydCBQaGlsbGlwcyA8cm9iZXJ0LnBoaWxs
aXBzQGNpdHJpeC5jb20+CkFja2VkLWJ5OiBUaW0gRGVlZ2FuIDx0aW1AeGVu
Lm9yZz4KCk1pbm9yIHdoaXRlc3BhY2UgY2hhbmdlcyB0byBjb25mb3JtIHdp
dGggY29kaW5nIHN0eWxlClNpZ25lZC1vZmYtYnk6IFRpbSBEZWVnYW4gPHRp
bUB4ZW4ub3JnPgoKQ29tbWl0dGVkLWJ5OiBUaW0gRGVlZ2FuIDx0aW1AeGVu
Lm9yZz4KbWFzdGVyIGNvbW1pdDogZmQ5MWEyYTY2MmJjNTk2NzdlMGYyMTc0
MjNhN2ExNTVkNTQ2NTg4NgptYXN0ZXIgZGF0ZTogMjAxMi0xMi0xMyAxMjox
MDoxNCArMDAwMAoKLS0tIGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYwor
KysgYi94ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jCkBAIC01NiwxMzIgKzU2
LDExMCBAQAogLyogICAgICAgICAgSEFQIFZSQU0gVFJBQ0tJTkcgU1VQUE9S
VCAgICAgICAgICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKiovCiAKLXN0YXRpYyBpbnQgaGFwX2VuYWJs
ZV92cmFtX3RyYWNraW5nKHN0cnVjdCBkb21haW4gKmQpCi17Ci0gICAgc3Ry
dWN0IHNoX2RpcnR5X3ZyYW0gKmRpcnR5X3ZyYW0gPSBkLT5hcmNoLmh2bV9k
b21haW4uZGlydHlfdnJhbTsKLQotICAgIGlmICggIWRpcnR5X3ZyYW0gKQot
ICAgICAgICByZXR1cm4gLUVJTlZBTDsKLQotICAgIC8qIHR1cm4gb24gUEdf
bG9nX2RpcnR5IGJpdCBpbiBwYWdpbmcgbW9kZSAqLwotICAgIHBhZ2luZ19s
b2NrKGQpOwotICAgIGQtPmFyY2gucGFnaW5nLm1vZGUgfD0gUEdfbG9nX2Rp
cnR5OwotICAgIHBhZ2luZ191bmxvY2soZCk7Ci0KLSAgICAvKiBzZXQgbDFl
IGVudHJpZXMgb2YgUDJNIHRhYmxlIHRvIGJlIHJlYWQtb25seS4gKi8KLSAg
ICBwMm1fY2hhbmdlX3R5cGVfcmFuZ2UoZCwgZGlydHlfdnJhbS0+YmVnaW5f
cGZuLCBkaXJ0eV92cmFtLT5lbmRfcGZuLCAKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgcDJtX3JhbV9ydywgcDJtX3JhbV9sb2dkaXJ0eSk7Ci0KLSAg
ICBmbHVzaF90bGJfbWFzayhkLT5kb21haW5fZGlydHlfY3B1bWFzayk7Ci0g
ICAgcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgaGFwX2Rpc2FibGVfdnJh
bV90cmFja2luZyhzdHJ1Y3QgZG9tYWluICpkKQotewotICAgIHN0cnVjdCBz
aF9kaXJ0eV92cmFtICpkaXJ0eV92cmFtID0gZC0+YXJjaC5odm1fZG9tYWlu
LmRpcnR5X3ZyYW07Ci0KLSAgICBpZiAoICFkaXJ0eV92cmFtICkKLSAgICAg
ICAgcmV0dXJuIC1FSU5WQUw7Ci0KLSAgICBwYWdpbmdfbG9jayhkKTsKLSAg
ICBkLT5hcmNoLnBhZ2luZy5tb2RlICY9IH5QR19sb2dfZGlydHk7Ci0gICAg
cGFnaW5nX3VubG9jayhkKTsKLQotICAgIC8qIHNldCBsMWUgZW50cmllcyBv
ZiBQMk0gdGFibGUgd2l0aCBub3JtYWwgbW9kZSAqLwotICAgIHAybV9jaGFu
Z2VfdHlwZV9yYW5nZShkLCBkaXJ0eV92cmFtLT5iZWdpbl9wZm4sIGRpcnR5
X3ZyYW0tPmVuZF9wZm4sIAotICAgICAgICAgICAgICAgICAgICAgICAgICBw
Mm1fcmFtX2xvZ2RpcnR5LCBwMm1fcmFtX3J3KTsKLQotICAgIGZsdXNoX3Rs
Yl9tYXNrKGQtPmRvbWFpbl9kaXJ0eV9jcHVtYXNrKTsKLSAgICByZXR1cm4g
MDsKLX0KLQotc3RhdGljIHZvaWQgaGFwX2NsZWFuX3ZyYW1fdHJhY2tpbmco
c3RydWN0IGRvbWFpbiAqZCkKLXsKLSAgICBzdHJ1Y3Qgc2hfZGlydHlfdnJh
bSAqZGlydHlfdnJhbSA9IGQtPmFyY2guaHZtX2RvbWFpbi5kaXJ0eV92cmFt
OwotCi0gICAgaWYgKCAhZGlydHlfdnJhbSApCi0gICAgICAgIHJldHVybjsK
LQotICAgIC8qIHNldCBsMWUgZW50cmllcyBvZiBQMk0gdGFibGUgdG8gYmUg
cmVhZC1vbmx5LiAqLwotICAgIHAybV9jaGFuZ2VfdHlwZV9yYW5nZShkLCBk
aXJ0eV92cmFtLT5iZWdpbl9wZm4sIGRpcnR5X3ZyYW0tPmVuZF9wZm4sIAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1fcmFtX3J3LCBwMm1fcmFt
X2xvZ2RpcnR5KTsKLQotICAgIGZsdXNoX3RsYl9tYXNrKGQtPmRvbWFpbl9k
aXJ0eV9jcHVtYXNrKTsKLX0KLQotc3RhdGljIHZvaWQgaGFwX3ZyYW1fdHJh
Y2tpbmdfaW5pdChzdHJ1Y3QgZG9tYWluICpkKQotewotICAgIHBhZ2luZ19s
b2dfZGlydHlfaW5pdChkLCBoYXBfZW5hYmxlX3ZyYW1fdHJhY2tpbmcsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGhhcF9kaXNhYmxlX3ZyYW1fdHJh
Y2tpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGhhcF9jbGVhbl92
cmFtX3RyYWNraW5nKTsKLX0KKy8qCisgKiBoYXBfdHJhY2tfZGlydHlfdnJh
bSgpCisgKiBDcmVhdGUgdGhlIGRvbWFpbidzIGR2X2RpcnR5X3ZyYW0gc3Ry
dWN0IG9uIGRlbWFuZC4KKyAqIENyZWF0ZSBhIGRpcnR5IHZyYW0gcmFuZ2Ug
b24gZGVtYW5kIHdoZW4gc29tZSBbYmVnaW5fcGZuOmJlZ2luX3Bmbitucl0g
aXMKKyAqIGZpcnN0IGVuY291bnRlcmVkLgorICogQ29sbGVjdCB0aGUgZ3Vl
c3RfZGlydHkgYml0bWFzaywgYSBiaXQgbWFzayBvZiB0aGUgZGlydHkgdnJh
bSBwYWdlcywgYnkKKyAqIGNhbGxpbmcgcGFnaW5nX2xvZ19kaXJ0eV9yYW5n
ZSgpLCB3aGljaCBpbnRlcnJvZ2F0ZXMgZWFjaCB2cmFtCisgKiBwYWdlJ3Mg
cDJtIHR5cGUgbG9va2luZyBmb3IgcGFnZXMgdGhhdCBoYXZlIGJlZW4gbWFk
ZSB3cml0YWJsZS4KKyAqLwogCiBpbnQgaGFwX3RyYWNrX2RpcnR5X3ZyYW0o
c3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBsb25nIGJlZ2luX3BmbiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIG5yLAotICAgICAgICAgICAgICAgICAgICAg
ICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQodWludDgpIGRpcnR5X2JpdG1hcCkK
KyAgICAgICAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFXzY0
KHVpbnQ4KSBndWVzdF9kaXJ0eV9iaXRtYXApCiB7CiAgICAgbG9uZyByYyA9
IDA7Ci0gICAgc3RydWN0IHNoX2RpcnR5X3ZyYW0gKmRpcnR5X3ZyYW0gPSBk
LT5hcmNoLmh2bV9kb21haW4uZGlydHlfdnJhbTsKKyAgICBzdHJ1Y3Qgc2hf
ZGlydHlfdnJhbSAqZGlydHlfdnJhbTsKKyAgICB1aW50OF90ICpkaXJ0eV9i
aXRtYXAgPSBOVUxMOwogCiAgICAgaWYgKCBuciApCiAgICAgewotICAgICAg
ICBpZiAoIHBhZ2luZ19tb2RlX2xvZ19kaXJ0eShkKSAmJiBkaXJ0eV92cmFt
ICkKKyAgICAgICAgaW50IHNpemUgPSAobnIgKyBCSVRTX1BFUl9CWVRFIC0g
MSkgLyBCSVRTX1BFUl9CWVRFOworCisgICAgICAgIGlmICggIXBhZ2luZ19t
b2RlX2xvZ19kaXJ0eShkKSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlm
ICggYmVnaW5fcGZuICE9IGRpcnR5X3ZyYW0tPmJlZ2luX3BmbiB8fAotICAg
ICAgICAgICAgICAgICBiZWdpbl9wZm4gKyBuciAhPSBkaXJ0eV92cmFtLT5l
bmRfcGZuICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwYWdp
bmdfbG9nX2RpcnR5X2Rpc2FibGUoZCk7Ci0gICAgICAgICAgICAgICAgZGly
dHlfdnJhbS0+YmVnaW5fcGZuID0gYmVnaW5fcGZuOwotICAgICAgICAgICAg
ICAgIGRpcnR5X3ZyYW0tPmVuZF9wZm4gPSBiZWdpbl9wZm4gKyBucjsKLSAg
ICAgICAgICAgICAgICByYyA9IHBhZ2luZ19sb2dfZGlydHlfZW5hYmxlKGQp
OwotICAgICAgICAgICAgICAgIGlmIChyYyAhPSAwKQotICAgICAgICAgICAg
ICAgICAgICBnb3RvIHBhcmFtX2ZhaWw7Ci0gICAgICAgICAgICB9CisgICAg
ICAgICAgICBoYXBfbG9nZGlydHlfaW5pdChkKTsKKyAgICAgICAgICAgIHJj
ID0gcGFnaW5nX2xvZ19kaXJ0eV9lbmFibGUoZCk7CisgICAgICAgICAgICBp
ZiAoIHJjICkKKyAgICAgICAgICAgICAgICBnb3RvIG91dDsKICAgICAgICAg
fQotICAgICAgICBlbHNlIGlmICggIXBhZ2luZ19tb2RlX2xvZ19kaXJ0eShk
KSAmJiAhZGlydHlfdnJhbSApCisKKyAgICAgICAgcmMgPSAtRU5PTUVNOwor
ICAgICAgICBkaXJ0eV9iaXRtYXAgPSB4emFsbG9jX2J5dGVzKHNpemUpOwor
ICAgICAgICBpZiAoICFkaXJ0eV9iaXRtYXAgKQorICAgICAgICAgICAgZ290
byBvdXQ7CisKKyAgICAgICAgcGFnaW5nX2xvY2soZCk7CisKKyAgICAgICAg
ZGlydHlfdnJhbSA9IGQtPmFyY2guaHZtX2RvbWFpbi5kaXJ0eV92cmFtOwor
ICAgICAgICBpZiAoICFkaXJ0eV92cmFtICkKICAgICAgICAgewogICAgICAg
ICAgICAgcmMgPSAtRU5PTUVNOwotICAgICAgICAgICAgaWYgKCAoZGlydHlf
dnJhbSA9IHhtYWxsb2Moc3RydWN0IHNoX2RpcnR5X3ZyYW0pKSA9PSBOVUxM
ICkKLSAgICAgICAgICAgICAgICBnb3RvIHBhcmFtX2ZhaWw7CisgICAgICAg
ICAgICBpZiAoIChkaXJ0eV92cmFtID0geHphbGxvYyhzdHJ1Y3Qgc2hfZGly
dHlfdnJhbSkpID09IE5VTEwgKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIHBhZ2luZ191bmxvY2soZCk7CisgICAgICAgICAgICAgICAgZ290
byBvdXQ7CisgICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIGQtPmFyY2gu
aHZtX2RvbWFpbi5kaXJ0eV92cmFtID0gZGlydHlfdnJhbTsKKyAgICAgICAg
fQorCisgICAgICAgIGlmICggYmVnaW5fcGZuICE9IGRpcnR5X3ZyYW0tPmJl
Z2luX3BmbiB8fAorICAgICAgICAgICAgIGJlZ2luX3BmbiArIG5yICE9IGRp
cnR5X3ZyYW0tPmVuZF9wZm4gKQorICAgICAgICB7CiAgICAgICAgICAgICBk
aXJ0eV92cmFtLT5iZWdpbl9wZm4gPSBiZWdpbl9wZm47CiAgICAgICAgICAg
ICBkaXJ0eV92cmFtLT5lbmRfcGZuID0gYmVnaW5fcGZuICsgbnI7Ci0gICAg
ICAgICAgICBkLT5hcmNoLmh2bV9kb21haW4uZGlydHlfdnJhbSA9IGRpcnR5
X3ZyYW07Ci0gICAgICAgICAgICBoYXBfdnJhbV90cmFja2luZ19pbml0KGQp
OwotICAgICAgICAgICAgcmMgPSBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZShk
KTsKLSAgICAgICAgICAgIGlmIChyYyAhPSAwKQotICAgICAgICAgICAgICAg
IGdvdG8gcGFyYW1fZmFpbDsKKworICAgICAgICAgICAgcGFnaW5nX3VubG9j
ayhkKTsKKworICAgICAgICAgICAgLyogc2V0IGwxZSBlbnRyaWVzIG9mIHJh
bmdlIHdpdGhpbiBQMk0gdGFibGUgdG8gYmUgcmVhZC1vbmx5LiAqLworICAg
ICAgICAgICAgcDJtX2NoYW5nZV90eXBlX3JhbmdlKGQsIGJlZ2luX3Bmbiwg
YmVnaW5fcGZuICsgbnIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcDJtX3JhbV9ydywgcDJtX3JhbV9sb2dkaXJ0eSk7CisKKyAgICAg
ICAgICAgIGZsdXNoX3RsYl9tYXNrKGQtPmRvbWFpbl9kaXJ0eV9jcHVtYXNr
KTsKKworICAgICAgICAgICAgbWVtc2V0KGRpcnR5X2JpdG1hcCwgMHhmZiwg
c2l6ZSk7IC8qIGNvbnNpZGVyIGFsbCBwYWdlcyBkaXJ0eSAqLwogICAgICAg
ICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgewotICAgICAgICAgICAgaWYg
KCAhcGFnaW5nX21vZGVfbG9nX2RpcnR5KGQpICYmIGRpcnR5X3ZyYW0gKQot
ICAgICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKLSAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICByYyA9IC1FTk9EQVRBOwotICAgICAgICAg
ICAgZ290byBwYXJhbV9mYWlsOworICAgICAgICAgICAgcGFnaW5nX3VubG9j
ayhkKTsKKworICAgICAgICAgICAgZG9tYWluX3BhdXNlKGQpOworCisgICAg
ICAgICAgICAvKiBnZXQgdGhlIGJpdG1hcCAqLworICAgICAgICAgICAgcGFn
aW5nX2xvZ19kaXJ0eV9yYW5nZShkLCBiZWdpbl9wZm4sIG5yLCBkaXJ0eV9i
aXRtYXApOworCisgICAgICAgICAgICBkb21haW5fdW5wYXVzZShkKTsKICAg
ICAgICAgfQotICAgICAgICAvKiBnZXQgdGhlIGJpdG1hcCAqLwotICAgICAg
ICByYyA9IHBhZ2luZ19sb2dfZGlydHlfcmFuZ2UoZCwgYmVnaW5fcGZuLCBu
ciwgZGlydHlfYml0bWFwKTsKKworICAgICAgICByYyA9IC1FRkFVTFQ7Cisg
ICAgICAgIGlmICggY29weV90b19ndWVzdChndWVzdF9kaXJ0eV9iaXRtYXAs
IGRpcnR5X2JpdG1hcCwgc2l6ZSkgPT0gMCApCisgICAgICAgICAgICByYyA9
IDA7CiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAgIGlmICggcGFn
aW5nX21vZGVfbG9nX2RpcnR5KGQpICYmIGRpcnR5X3ZyYW0gKSB7Ci0gICAg
ICAgICAgICByYyA9IHBhZ2luZ19sb2dfZGlydHlfZGlzYWJsZShkKTsKLSAg
ICAgICAgICAgIHhmcmVlKGRpcnR5X3ZyYW0pOwotICAgICAgICAgICAgZGly
dHlfdnJhbSA9IGQtPmFyY2guaHZtX2RvbWFpbi5kaXJ0eV92cmFtID0gTlVM
TDsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByYyA9IDA7Ci0gICAg
fQorICAgICAgICBwYWdpbmdfbG9jayhkKTsKIAotICAgIHJldHVybiByYzsK
KyAgICAgICAgZGlydHlfdnJhbSA9IGQtPmFyY2guaHZtX2RvbWFpbi5kaXJ0
eV92cmFtOworICAgICAgICBpZiAoIGRpcnR5X3ZyYW0gKQorICAgICAgICB7
CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogSWYgemVybyBwYWdl
cyBzcGVjaWZpZWQgd2hpbGUgdHJhY2tpbmcgZGlydHkgdnJhbQorICAgICAg
ICAgICAgICogdGhlbiBzdG9wIHRyYWNraW5nCisgICAgICAgICAgICAgKi8K
KyAgICAgICAgICAgIHhmcmVlKGRpcnR5X3ZyYW0pOworICAgICAgICAgICAg
ZC0+YXJjaC5odm1fZG9tYWluLmRpcnR5X3ZyYW0gPSBOVUxMOworICAgICAg
ICB9CiAKLXBhcmFtX2ZhaWw6Ci0gICAgaWYgKCBkaXJ0eV92cmFtICkKLSAg
ICB7Ci0gICAgICAgIHhmcmVlKGRpcnR5X3ZyYW0pOwotICAgICAgICBkaXJ0
eV92cmFtID0gZC0+YXJjaC5odm1fZG9tYWluLmRpcnR5X3ZyYW0gPSBOVUxM
OworICAgICAgICBwYWdpbmdfdW5sb2NrKGQpOwogICAgIH0KK291dDoKKyAg
ICBpZiAoIGRpcnR5X2JpdG1hcCApCisgICAgICAgIHhmcmVlKGRpcnR5X2Jp
dG1hcCk7CisKICAgICByZXR1cm4gcmM7CiB9CiAKQEAgLTIyMywxMyArMjAx
LDYgQEAgc3RhdGljIHZvaWQgaGFwX2NsZWFuX2RpcnR5X2JpdG1hcChzdHJ1
YwogCiB2b2lkIGhhcF9sb2dkaXJ0eV9pbml0KHN0cnVjdCBkb21haW4gKmQp
CiB7Ci0gICAgc3RydWN0IHNoX2RpcnR5X3ZyYW0gKmRpcnR5X3ZyYW0gPSBk
LT5hcmNoLmh2bV9kb21haW4uZGlydHlfdnJhbTsKLSAgICBpZiAoIHBhZ2lu
Z19tb2RlX2xvZ19kaXJ0eShkKSAmJiBkaXJ0eV92cmFtICkKLSAgICB7Ci0g
ICAgICAgIHBhZ2luZ19sb2dfZGlydHlfZGlzYWJsZShkKTsKLSAgICAgICAg
eGZyZWUoZGlydHlfdnJhbSk7Ci0gICAgICAgIGRpcnR5X3ZyYW0gPSBkLT5h
cmNoLmh2bV9kb21haW4uZGlydHlfdnJhbSA9IE5VTEw7Ci0gICAgfQogCiAg
ICAgLyogUmVpbml0aWFsaXplIGxvZ2RpcnR5IG1lY2hhbmlzbSAqLwogICAg
IHBhZ2luZ19sb2dfZGlydHlfaW5pdChkLCBoYXBfZW5hYmxlX2xvZ19kaXJ0
eSwKLS0tIGEveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jCisrKyBiL3hlbi9h
cmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAtNDQ3LDE1NyArNDQ3LDM4IEBAIGlu
dCBwYWdpbmdfbG9nX2RpcnR5X29wKHN0cnVjdCBkb21haW4gKmQKICAgICBy
ZXR1cm4gcnY7CiB9CiAKLWludCBwYWdpbmdfbG9nX2RpcnR5X3JhbmdlKHN0
cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgbG9uZyBiZWdpbl9wZm4sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFXzY0KHVpbnQ4KSBkaXJ0eV9i
aXRtYXApCi17Ci0gICAgaW50IHJ2ID0gMDsKLSAgICB1bnNpZ25lZCBsb25n
IHBhZ2VzID0gMDsKLSAgICBtZm5fdCAqbDQsICpsMywgKmwyOwotICAgIHVu
c2lnbmVkIGxvbmcgKmwxOwotICAgIGludCBiMSwgYjIsIGIzLCBiNDsKLSAg
ICBpbnQgaTIsIGkzLCBpNDsKLQotICAgIGQtPmFyY2gucGFnaW5nLmxvZ19k
aXJ0eS5jbGVhbl9kaXJ0eV9iaXRtYXAoZCk7Ci0gICAgcGFnaW5nX2xvY2so
ZCk7Ci0KLSAgICBQQUdJTkdfREVCVUcoTE9HRElSVFksICJsb2ctZGlydHkt
cmFuZ2U6IGRvbSAldSBmYXVsdHM9JXUgZGlydHk9JXVcbiIsCi0gICAgICAg
ICAgICAgICAgIGQtPmRvbWFpbl9pZCwKLSAgICAgICAgICAgICAgICAgZC0+
YXJjaC5wYWdpbmcubG9nX2RpcnR5LmZhdWx0X2NvdW50LAotICAgICAgICAg
ICAgICAgICBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuZGlydHlfY291bnQp
OwotCi0gICAgaWYgKCB1bmxpa2VseShkLT5hcmNoLnBhZ2luZy5sb2dfZGly
dHkuZmFpbGVkX2FsbG9jcykgKSB7Ci0gICAgICAgIHByaW50aygiJXM6ICVk
IGZhaWxlZCBwYWdlIGFsbG9jcyB3aGlsZSBsb2dnaW5nIGRpcnR5IHBhZ2Vz
XG4iLAotICAgICAgICAgICAgICAgX19GVU5DVElPTl9fLCBkLT5hcmNoLnBh
Z2luZy5sb2dfZGlydHkuZmFpbGVkX2FsbG9jcyk7Ci0gICAgICAgIHJ2ID0g
LUVOT01FTTsKLSAgICAgICAgZ290byBvdXQ7Ci0gICAgfQordm9pZCBwYWdp
bmdfbG9nX2RpcnR5X3JhbmdlKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGJlZ2luX3BmbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbnIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkaXJ0eV9i
aXRtYXApCit7CisgICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IHAybV9n
ZXRfaG9zdHAybShkKTsKKyAgICBpbnQgaTsKKyAgICB1bnNpZ25lZCBsb25n
IHBmbjsKKworICAgIC8qCisgICAgICogU2V0IGwxZSBlbnRyaWVzIG9mIFAy
TSB0YWJsZSB0byBiZSByZWFkLW9ubHkuCisgICAgICoKKyAgICAgKiBPbiBm
aXJzdCB3cml0ZSwgaXQgcGFnZSBmYXVsdHMsIGl0cyBlbnRyeSBpcyBjaGFu
Z2VkIHRvIHJlYWQtd3JpdGUsCisgICAgICogYW5kIG9uIHJldHJ5IHRoZSB3
cml0ZSBzdWNjZWVkcy4KKyAgICAgKgorICAgICAqIFdlIHBvcHVsYXRlIGRp
cnR5X2JpdG1hcCBieSBsb29raW5nIGZvciBlbnRyaWVzIHRoYXQgaGF2ZSBi
ZWVuCisgICAgICogc3dpdGNoZWQgdG8gcmVhZC13cml0ZS4KKyAgICAgKi8K
IAotICAgIGlmICggIWQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5mYXVsdF9j
b3VudCAmJgotICAgICAgICAgIWQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5k
aXJ0eV9jb3VudCApIHsKLSAgICAgICAgdW5zaWduZWQgaW50IHNpemUgPSBC
SVRTX1RPX0xPTkdTKG5yKTsKLQotICAgICAgICBpZiAoIGNsZWFyX2d1ZXN0
KGRpcnR5X2JpdG1hcCwgc2l6ZSAqIEJZVEVTX1BFUl9MT05HKSAhPSAwICkK
LSAgICAgICAgICAgIHJ2ID0gLUVGQVVMVDsKLSAgICAgICAgZ290byBvdXQ7
Ci0gICAgfQotICAgIGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5mYXVsdF9j
b3VudCA9IDA7Ci0gICAgZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmRpcnR5
X2NvdW50ID0gMDsKKyAgICBwMm1fbG9jayhwMm0pOwogCi0gICAgYjEgPSBM
MV9MT0dESVJUWV9JRFgoYmVnaW5fcGZuKTsKLSAgICBiMiA9IEwyX0xPR0RJ
UlRZX0lEWChiZWdpbl9wZm4pOwotICAgIGIzID0gTDNfTE9HRElSVFlfSURY
KGJlZ2luX3Bmbik7Ci0gICAgYjQgPSBMNF9MT0dESVJUWV9JRFgoYmVnaW5f
cGZuKTsKLSAgICBsNCA9IHBhZ2luZ19tYXBfbG9nX2RpcnR5X2JpdG1hcChk
KTsKLQotICAgIGZvciAoIGk0ID0gYjQ7Ci0gICAgICAgICAgKHBhZ2VzIDwg
bnIpICYmIChpNCA8IExPR0RJUlRZX05PREVfRU5UUklFUyk7Ci0gICAgICAg
ICAgaTQrKyApCisgICAgZm9yICggaSA9IDAsIHBmbiA9IGJlZ2luX3Bmbjsg
cGZuIDwgYmVnaW5fcGZuICsgbnI7IGkrKywgcGZuKysgKQogICAgIHsKLSAg
ICAgICAgbDMgPSAobDQgJiYgbWZuX3ZhbGlkKGw0W2k0XSkpID8gbWFwX2Rv
bWFpbl9wYWdlKG1mbl94KGw0W2k0XSkpIDogTlVMTDsKLSAgICAgICAgZm9y
ICggaTMgPSBiMzsKLSAgICAgICAgICAgICAgKHBhZ2VzIDwgbnIpICYmIChp
MyA8IExPR0RJUlRZX05PREVfRU5UUklFUyk7Ci0gICAgICAgICAgICAgIGkz
KysgKQotICAgICAgICB7Ci0gICAgICAgICAgICBsMiA9ICgobDMgJiYgbWZu
X3ZhbGlkKGwzW2kzXSkpID8KLSAgICAgICAgICAgICAgICAgIG1hcF9kb21h
aW5fcGFnZShtZm5feChsM1tpM10pKSA6IE5VTEwpOwotICAgICAgICAgICAg
Zm9yICggaTIgPSBiMjsKLSAgICAgICAgICAgICAgICAgIChwYWdlcyA8IG5y
KSAmJiAoaTIgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMpOwotICAgICAgICAg
ICAgICAgICAgaTIrKyApCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50IGJ5dGVzID0gUEFHRV9TSVpFOwotICAgICAgICAg
ICAgICAgIHVpbnQ4X3QgKnM7Ci0gICAgICAgICAgICAgICAgbDEgPSAoKGwy
ICYmIG1mbl92YWxpZChsMltpMl0pKSA/Ci0gICAgICAgICAgICAgICAgICAg
ICAgbWFwX2RvbWFpbl9wYWdlKG1mbl94KGwyW2kyXSkpIDogTlVMTCk7Ci0K
LSAgICAgICAgICAgICAgICBzID0gKCh1aW50OF90KilsMSkgKyAoYjEgPj4g
Myk7Ci0gICAgICAgICAgICAgICAgYnl0ZXMgLT0gYjEgPj4gMzsKLQotICAg
ICAgICAgICAgICAgIGlmICggbGlrZWx5KCgobnIgLSBwYWdlcyArIDcpID4+
IDMpIDwgYnl0ZXMpICkKLSAgICAgICAgICAgICAgICAgICAgYnl0ZXMgPSAo
dW5zaWduZWQgaW50KSgobnIgLSBwYWdlcyArIDcpID4+IDMpOwotCi0gICAg
ICAgICAgICAgICAgaWYgKCAhbDEgKQotICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKCBjbGVhcl9ndWVzdF9vZmZzZXQoZGly
dHlfYml0bWFwLCBwYWdlcyA+PiAzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBieXRlcykgIT0gMCApCi0gICAgICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJ2ID0g
LUVGQVVMVDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb3V0Owot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIC8qIGJlZ2luX3BmbiBpcyBub3QgMzJLIGFsaWduZWQs
IGhlbmNlIHdlIGhhdmUgdG8gYml0Ci0gICAgICAgICAgICAgICAgICogc2hp
ZnQgdGhlIGJpdG1hcCAqLwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBi
MSAmIDB4NyApCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
ICAgICBpbnQgaSwgajsKLSAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg
KmwgPSAodWludDMyX3QqKSBzOwotICAgICAgICAgICAgICAgICAgICBpbnQg
Yml0cyA9IGIxICYgMHg3OwotICAgICAgICAgICAgICAgICAgICBpbnQgYml0
bWFzayA9ICgxIDw8IGJpdHMpIC0gMTsKLSAgICAgICAgICAgICAgICAgICAg
aW50IHNpemUgPSAoYnl0ZXMgKyBCWVRFU19QRVJfTE9ORyAtIDEpIC8gQllU
RVNfUEVSX0xPTkc7Ci0gICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv
bmcgYml0bWFwW3NpemVdOwotICAgICAgICAgICAgICAgICAgICBzdGF0aWMg
dW5zaWduZWQgbG9uZyBwcmludGVkID0gMDsKLQotICAgICAgICAgICAgICAg
ICAgICBpZiAoIHByaW50ZWQgIT0gYmVnaW5fcGZuICkKLSAgICAgICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgZHByaW50ayhY
RU5MT0dfREVCVUcsICIlczogYmVnaW5fcGZuICVseCBpcyBub3QgMzJLIGFs
aWduZWQhXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBf
X0ZVTkNUSU9OX18sIGJlZ2luX3Bmbik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBwcmludGVkID0gYmVnaW5fcGZuOwotICAgICAgICAgICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgZm9yICggaSA9IDA7IGkgPCBz
aXplIC0gMTsgaSsrLCBsKysgKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBiaXRtYXBbaV0gPSAoKCpsKSA+PiBiaXRzKSB8Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKCgoKigodWludDhfdCopKGwgKyAxKSkpICYgYml0
bWFzaykgPDwgKHNpemVvZigqbCkgKiA4IC0gYml0cykpOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIHMgPSAodWludDhf
dCopIGw7Ci0gICAgICAgICAgICAgICAgICAgIHNpemUgPSBCWVRFU19QRVJf
TE9ORyAtICgoYjEgPj4gMykgJiAweDMpOwotICAgICAgICAgICAgICAgICAg
ICBiaXRtYXBbaV0gPSAwOwotICAgICAgICAgICAgICAgICAgICBmb3IgKCBq
ID0gMDsgaiA8IHNpemU7IGorKywgcysrICkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGJpdG1hcFtpXSB8PSAoKnMpIDw8IChqICogOCk7Ci0gICAgICAg
ICAgICAgICAgICAgIGJpdG1hcFtpXSA9IChiaXRtYXBbaV0gPj4gYml0cykg
fCAoYml0bWFzayA8PCAoc2l6ZSAqIDggLSBiaXRzKSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICggY29weV90b19ndWVzdF9vZmZzZXQoZGlydHlfYml0
bWFwLCAocGFnZXMgPj4gMyksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICh1aW50OF90KikgYml0bWFwLCBieXRlcykgIT0gMCApCi0gICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJ2
ID0gLUVGQVVMVDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb3V0
OwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICggY29weV90b19ndWVzdF9vZmZzZXQoZGly
dHlfYml0bWFwLCBwYWdlcyA+PiAzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHMsIGJ5dGVzKSAhPSAwICkKLSAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAg
cnYgPSAtRUZBVUxUOwotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBv
dXQ7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgICAgICBwYWdlcyArPSBieXRlcyA8PCAzOwotICAg
ICAgICAgICAgICAgIGlmICggbDEgKQotICAgICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAgICAgY2xlYXJfcGFnZShsMSk7Ci0gICAgICAgICAg
ICAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGwxKTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgYjEgPSBiMSAmIDB4NzsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGIyID0gMDsKLSAgICAgICAgICAgIGlm
ICggbDIgKQotICAgICAgICAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGwy
KTsKLSAgICAgICAgfQotICAgICAgICBiMyA9IDA7Ci0gICAgICAgIGlmICgg
bDMgKQotICAgICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDMpOworICAg
ICAgICBwMm1fdHlwZV90IHB0OworICAgICAgICBwdCA9IHAybV9jaGFuZ2Vf
dHlwZShkLCBwZm4sIHAybV9yYW1fcncsIHAybV9yYW1fbG9nZGlydHkpOwor
ICAgICAgICBpZiAoIHB0ID09IHAybV9yYW1fcncgKQorICAgICAgICAgICAg
ZGlydHlfYml0bWFwW2kgPj4gM10gfD0gKDEgPDwgKGkgJiA3KSk7CiAgICAg
fQotICAgIGlmICggbDQgKQotICAgICAgICB1bm1hcF9kb21haW5fcGFnZShs
NCk7Ci0KLSAgICBwYWdpbmdfdW5sb2NrKGQpOwogCi0gICAgcmV0dXJuIHJ2
OworICAgIHAybV91bmxvY2socDJtKTsKIAotIG91dDoKLSAgICBwYWdpbmdf
dW5sb2NrKGQpOwotICAgIHJldHVybiBydjsKKyAgICBmbHVzaF90bGJfbWFz
ayhkLT5kb21haW5fZGlydHlfY3B1bWFzayk7CiB9CiAKIC8qIE5vdGUgdGhh
dCB0aGlzIGZ1bmN0aW9uIHRha2VzIHRocmVlIGZ1bmN0aW9uIHBvaW50ZXJz
LiBDYWxsZXJzIG11c3Qgc3VwcGx5Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14
ODYvY29uZmlnLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcu
aApAQCAtMTcsNiArMTcsNyBAQAogCiAjZGVmaW5lIEJZVEVTX1BFUl9MT05H
ICgxIDw8IExPTkdfQllURU9SREVSKQogI2RlZmluZSBCSVRTX1BFUl9MT05H
IChCWVRFU19QRVJfTE9ORyA8PCAzKQorI2RlZmluZSBCSVRTX1BFUl9CWVRF
IDgKIAogI2RlZmluZSBDT05GSUdfWDg2IDEKICNkZWZpbmUgQ09ORklHX1g4
Nl9IVCAxCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcGFnaW5nLmgKKysr
IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaApAQCAtMTQ1LDEwICsx
NDUsMTAgQEAgc3RydWN0IHBhZ2luZ19tb2RlIHsKIHZvaWQgcGFnaW5nX2Zy
ZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1Y3QgZG9tYWluICpkKTsKIAogLyog
Z2V0IHRoZSBkaXJ0eSBiaXRtYXAgZm9yIGEgc3BlY2lmaWMgcmFuZ2Ugb2Yg
cGZucyAqLwotaW50IHBhZ2luZ19sb2dfZGlydHlfcmFuZ2Uoc3RydWN0IGRv
bWFpbiAqZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGxvbmcgYmVnaW5fcGZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgbG9uZyBuciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
IFhFTl9HVUVTVF9IQU5ETEVfNjQodWludDgpIGRpcnR5X2JpdG1hcCk7Cit2
b2lkIHBhZ2luZ19sb2dfZGlydHlfcmFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGJl
Z2luX3BmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBsb25nIG5yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QgKmRpcnR5X2JpdG1hcCk7CiAKIC8qIGVuYWJsZSBsb2cgZGlydHkgKi8K
IGludCBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZShzdHJ1Y3QgZG9tYWluICpk
KTsK

--=separator
Content-Type: application/octet-stream; name="xsa97-hap-4.3.patch"
Content-Disposition: attachment; filename="xsa97-hap-4.3.patch"
Content-Transfer-Encoding: base64

eDg2L3BhZ2luZzogbWFrZSBsb2ctZGlydHkgb3BlcmF0aW9ucyBwcmVlbXB0
aWJsZQoKQm90aCB0aGUgZnJlZWluZyBhbmQgdGhlIGluc3BlY3Rpb24gb2Yg
dGhlIGJpdG1hcCBnZXQgZG9uZSBpbiAobmVzdGVkKQpsb29wcyB3aGljaCAt
IGJlc2lkZXMgaGF2aW5nIGEgcmF0aGVyIGhpZ2ggaXRlcmF0aW9uIGNvdW50
IGluIGdlbmVyYWwsCmFsYmVpdCB0aGF0IHdvdWxkIGJlIGNvdmVyZWQgYnkg
WFNBLTc3IC0gaGF2ZSB0aGUgbnVtYmVyIG9mIG5vbi10cml2aWFsCml0ZXJh
dGlvbnMgdGhleSBuZWVkIHRvIHBlcmZvcm0gKGluZGlyZWN0bHkpIGNvbnRy
b2xsYWJsZSBieSBib3RoIHRoZQpndWVzdCB0aGV5IGFyZSBmb3IgYW5kIGFu
eSBkb21haW4gY29udHJvbGxpbmcgdGhlIGd1ZXN0IChpbmNsdWRpbmcgdGhl
Cm9uZSBydW5uaW5nIHFlbXUgZm9yIGl0KS4KClRoaXMgaXMgWFNBLTk3LgoK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CgotLS0g
YS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCkBAIC0xODY3LDcgKzE4NjcsOSBAQCBpbnQgZG9tYWluX3JlbGlu
cXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkCiAgICAgICAgIHBjaV9yZWxlYXNl
X2RldmljZXMoZCk7CiAKICAgICAgICAgLyogVGVhciBkb3duIHBhZ2luZy1h
c3Npc3RhbmNlIHN0dWZmLiAqLwotICAgICAgICBwYWdpbmdfdGVhcmRvd24o
ZCk7CisgICAgICAgIHJldCA9IHBhZ2luZ190ZWFyZG93bihkKTsKKyAgICAg
ICAgaWYgKCByZXQgKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKIAogICAg
ICAgICAvKiBEcm9wIHRoZSBpbi11c2UgcmVmZXJlbmNlcyB0byBwYWdlLXRh
YmxlIGJhc2VzLiAqLwogICAgICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiAp
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94ZW4vYXJjaC94
ODYvZG9tY3RsLmMKQEAgLTYxLDYgKzYxLDkgQEAgbG9uZyBhcmNoX2RvX2Rv
bWN0bCgKICAgICAgICAgcmV0ID0gcGFnaW5nX2RvbWN0bChkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUuc2hhZG93X29wLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0X2hhbmRsZV9jYXN0
KHVfZG9tY3RsLCB2b2lkKSk7CisgICAgICAgIGlmICggcmV0ID09IC1FQUdB
SU4gKQorICAgICAgICAgICAgcmV0dXJuIGh5cGVyY2FsbF9jcmVhdGVfY29u
dGludWF0aW9uKF9fSFlQRVJWSVNPUl9kb21jdGwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgiLCB1X2Rv
bWN0bCk7CiAgICAgICAgIGNvcHliYWNrID0gMTsKICAgICB9CiAgICAgYnJl
YWs7Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKKysrIGIveGVu
L2FyY2gveDg2L21tL2hhcC9oYXAuYwpAQCAtNTY1LDggKzU2NSw3IEBAIGlu
dCBoYXBfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHhlbl9kb20KICAgICAg
ICAgcGFnaW5nX3VubG9jayhkKTsKICAgICAgICAgaWYgKCBwcmVlbXB0ZWQg
KQogICAgICAgICAgICAgLyogTm90IGZpbmlzaGVkLiAgU2V0IHVwIHRvIHJl
LXJ1biB0aGUgY2FsbC4gKi8KLSAgICAgICAgICAgIHJjID0gaHlwZXJjYWxs
X2NyZWF0ZV9jb250aW51YXRpb24oX19IWVBFUlZJU09SX2RvbWN0bCwgImgi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1X2RvbWN0bCk7CisgICAgICAgICAgICByYyA9IC1FQUdBSU47CiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIC8qIEZpbmlzaGVkLiAgUmV0dXJu
IHRoZSBuZXcgYWxsb2NhdGlvbiAqLwogICAgICAgICAgICAgc2MtPm1iID0g
aGFwX2dldF9hbGxvY2F0aW9uKGQpOwotLS0gYS94ZW4vYXJjaC94ODYvbW0v
cGFnaW5nLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jCkBAIC0y
Niw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL3NoYWRvdy5oPgogI2luY2x1
ZGUgPGFzbS9wMm0uaD4KICNpbmNsdWRlIDxhc20vaGFwLmg+CisjaW5jbHVk
ZSA8YXNtL2V2ZW50Lmg+CiAjaW5jbHVkZSA8YXNtL2h2bS9uZXN0ZWRodm0u
aD4KICNpbmNsdWRlIDx4ZW4vbnVtYS5oPgogI2luY2x1ZGUgPHhzbS94c20u
aD4KQEAgLTExNiwyNiArMTE3LDQ2IEBAIHN0YXRpYyB2b2lkIHBhZ2luZ19m
cmVlX2xvZ19kaXJ0eV9wYWdlKHMKICAgICBkLT5hcmNoLnBhZ2luZy5mcmVl
X3BhZ2UoZCwgbWZuX3RvX3BhZ2UobWZuKSk7CiB9CiAKLXZvaWQgcGFnaW5n
X2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1Y3QgZG9tYWluICpkKQorc3Rh
dGljIGludCBwYWdpbmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKHN0cnVjdCBk
b21haW4gKmQsIGludCByYykKIHsKICAgICBtZm5fdCAqbDQsICpsMywgKmwy
OwogICAgIGludCBpNCwgaTMsIGkyOwogCisgICAgcGFnaW5nX2xvY2soZCk7
CisKICAgICBpZiAoICFtZm5fdmFsaWQoZC0+YXJjaC5wYWdpbmcubG9nX2Rp
cnR5LnRvcCkgKQotICAgICAgICByZXR1cm47CisgICAgeworICAgICAgICBw
YWdpbmdfdW5sb2NrKGQpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAK
LSAgICBwYWdpbmdfbG9jayhkKTsKKyAgICBpZiAoICFkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LnZjcHUgKQorICAgIHsKKyAgICAgICAgbWVtc2V0KCZkLT5h
cmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSwgMCwKKyAgICAgICAgICAg
ICAgIHNpemVvZihkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSkp
OworICAgICAgICBBU1NFUlQocmMgPD0gMCk7CisgICAgICAgIGQtPmFyY2gu
cGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmRvbmUgPSAtcmM7CisgICAgfQor
ICAgIGVsc2UgaWYgKCBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUgIT0g
Y3VycmVudCB8fAorICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVl
bXB0Lm9wICE9IFhFTl9ET01DVExfU0hBRE9XX09QX09GRiApCisgICAgewor
ICAgICAgICBwYWdpbmdfdW5sb2NrKGQpOworICAgICAgICByZXR1cm4gLUVC
VVNZOworICAgIH0KIAogICAgIGw0ID0gbWFwX2RvbWFpbl9wYWdlKG1mbl94
KGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS50b3ApKTsKKyAgICBpNCA9IGQt
PmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5Lmk0OworICAgIGkzID0g
ZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTM7CisgICAgcmMg
PSAwOwogCi0gICAgZm9yICggaTQgPSAwOyBpNCA8IExPR0RJUlRZX05PREVf
RU5UUklFUzsgaTQrKyApCisgICAgZm9yICggOyBpNCA8IExPR0RJUlRZX05P
REVfRU5UUklFUzsgaTQrKywgaTMgPSAwICkKICAgICB7CiAgICAgICAgIGlm
ICggIW1mbl92YWxpZChsNFtpNF0pICkKICAgICAgICAgICAgIGNvbnRpbnVl
OwogCiAgICAgICAgIGwzID0gbWFwX2RvbWFpbl9wYWdlKG1mbl94KGw0W2k0
XSkpOwogCi0gICAgICAgIGZvciAoIGkzID0gMDsgaTMgPCBMT0dESVJUWV9O
T0RFX0VOVFJJRVM7IGkzKysgKQorICAgICAgICBmb3IgKCA7IGkzIDwgTE9H
RElSVFlfTk9ERV9FTlRSSUVTOyBpMysrICkKICAgICAgICAgewogICAgICAg
ICAgICAgaWYgKCAhbWZuX3ZhbGlkKGwzW2kzXSkgKQogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwpAQCAtMTQ4LDIwICsxNjksNTQgQEAgdm9pZCBwYWdp
bmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKHN0cnVjdAogCiAgICAgICAgICAg
ICB1bm1hcF9kb21haW5fcGFnZShsMik7CiAgICAgICAgICAgICBwYWdpbmdf
ZnJlZV9sb2dfZGlydHlfcGFnZShkLCBsM1tpM10pOworICAgICAgICAgICAg
bDNbaTNdID0gX21mbihJTlZBTElEX01GTik7CisKKyAgICAgICAgICAgIGlm
ICggaTMgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMgLSAxICYmIGh5cGVyY2Fs
bF9wcmVlbXB0X2NoZWNrKCkgKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzID0g
aTMgKyAxOworICAgICAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVt
cHQubG9nX2RpcnR5Lmk0ID0gaTQ7CisgICAgICAgICAgICAgICAgcmMgPSAt
RUFHQUlOOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQogICAgICAgICB9CiAKICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDMp
OworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlfcGFnZShkLCBsNFtpNF0pOwor
ICAgICAgICBsNFtpNF0gPSBfbWZuKElOVkFMSURfTUZOKTsKKworICAgICAg
ICBpZiAoIGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0gMSAmJiBoeXBl
cmNhbGxfcHJlZW1wdF9jaGVjaygpICkKKyAgICAgICAgeworICAgICAgICAg
ICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTMgPSAwOwor
ICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHku
aTQgPSBpNCArIDE7CisgICAgICAgICAgICByYyA9IC1FQUdBSU47CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHVubWFw
X2RvbWFpbl9wYWdlKGw0KTsKLSAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlf
cGFnZShkLCBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkudG9wKTsKLSAgICBk
LT5hcmNoLnBhZ2luZy5sb2dfZGlydHkudG9wID0gX21mbihJTlZBTElEX01G
Tik7CiAKLSAgICBBU1NFUlQoZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmFs
bG9jcyA9PSAwKTsKLSAgICBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuZmFp
bGVkX2FsbG9jcyA9IDA7CisgICAgaWYgKCAhcmMgKQorICAgIHsKKyAgICAg
ICAgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X3BhZ2UoZCwgZC0+YXJjaC5wYWdp
bmcubG9nX2RpcnR5LnRvcCk7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLmxv
Z19kaXJ0eS50b3AgPSBfbWZuKElOVkFMSURfTUZOKTsKKworICAgICAgICBB
U1NFUlQoZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmFsbG9jcyA9PSAwKTsK
KyAgICAgICAgZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmZhaWxlZF9hbGxv
Y3MgPSAwOworCisgICAgICAgIHJjID0gLWQtPmFyY2gucGFnaW5nLnByZWVt
cHQubG9nX2RpcnR5LmRvbmU7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnBy
ZWVtcHQudmNwdSA9IE5VTEw7CisgICAgfQorICAgIGVsc2UKKyAgICB7Cisg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNwdSA9IGN1cnJlbnQ7
CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQub3AgPSBYRU5fRE9N
Q1RMX1NIQURPV19PUF9PRkY7CisgICAgfQogCiAgICAgcGFnaW5nX3VubG9j
ayhkKTsKKworICAgIHJldHVybiByYzsKIH0KIAogaW50IHBhZ2luZ19sb2df
ZGlydHlfZW5hYmxlKHN0cnVjdCBkb21haW4gKmQpCkBAIC0xNzgsMTUgKzIz
MywyNSBAQCBpbnQgcGFnaW5nX2xvZ19kaXJ0eV9lbmFibGUoc3RydWN0IGRv
bWFpCiAgICAgcmV0dXJuIHJldDsKIH0KIAotaW50IHBhZ2luZ19sb2dfZGly
dHlfZGlzYWJsZShzdHJ1Y3QgZG9tYWluICpkKQorc3RhdGljIGludCBwYWdp
bmdfbG9nX2RpcnR5X2Rpc2FibGUoc3RydWN0IGRvbWFpbiAqZCwgYm9vbF90
IHJlc3VtaW5nKQogewotICAgIGludCByZXQ7CisgICAgaW50IHJldCA9IDE7
CisKKyAgICBpZiAoICFyZXN1bWluZyApCisgICAgeworICAgICAgICBkb21h
aW5fcGF1c2UoZCk7CisgICAgICAgIC8qIFNhZmUgYmVjYXVzZSB0aGUgZG9t
YWluIGlzIHBhdXNlZC4gKi8KKyAgICAgICAgcmV0ID0gZC0+YXJjaC5wYWdp
bmcubG9nX2RpcnR5LmRpc2FibGVfbG9nX2RpcnR5KGQpOworICAgICAgICBB
U1NFUlQocmV0IDw9IDApOworICAgIH0KIAotICAgIGRvbWFpbl9wYXVzZShk
KTsKLSAgICAvKiBTYWZlIGJlY2F1c2UgdGhlIGRvbWFpbiBpcyBwYXVzZWQu
ICovCi0gICAgcmV0ID0gZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmRpc2Fi
bGVfbG9nX2RpcnR5KGQpOwogICAgIGlmICggIXBhZ2luZ19tb2RlX2xvZ19k
aXJ0eShkKSApCi0gICAgICAgIHBhZ2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRt
YXAoZCk7CisgICAgeworICAgICAgICByZXQgPSBwYWdpbmdfZnJlZV9sb2df
ZGlydHlfYml0bWFwKGQsIHJldCk7CisgICAgICAgIGlmICggcmV0ID09IC1F
QUdBSU4gKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKICAg
ICBkb21haW5fdW5wYXVzZShkKTsKIAogICAgIHJldHVybiByZXQ7CkBAIC0z
MjYsNyArMzkxLDkgQEAgaW50IHBhZ2luZ19tZm5faXNfZGlydHkoc3RydWN0
IGRvbWFpbiAqZAogCiAvKiBSZWFkIGEgZG9tYWluJ3MgbG9nLWRpcnR5IGJp
dG1hcCBhbmQgc3RhdHMuICBJZiB0aGUgb3BlcmF0aW9uIGlzIGEgQ0xFQU4s
CiAgKiBjbGVhciB0aGUgYml0bWFwIGFuZCBzdGF0cyBhcyB3ZWxsLiAqLwot
aW50IHBhZ2luZ19sb2dfZGlydHlfb3Aoc3RydWN0IGRvbWFpbiAqZCwgc3Ry
dWN0IHhlbl9kb21jdGxfc2hhZG93X29wICpzYykKK3N0YXRpYyBpbnQgcGFn
aW5nX2xvZ19kaXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX3NoYWRv
d19vcCAqc2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v
bF90IHJlc3VtaW5nKQogewogICAgIGludCBydiA9IDAsIGNsZWFuID0gMCwg
cGVlayA9IDE7CiAgICAgdW5zaWduZWQgbG9uZyBwYWdlcyA9IDA7CkBAIC0z
MzQsOSArNDAxLDIyIEBAIGludCBwYWdpbmdfbG9nX2RpcnR5X29wKHN0cnVj
dCBkb21haW4gKmQKICAgICB1bnNpZ25lZCBsb25nICpsMSA9IE5VTEw7CiAg
ICAgaW50IGk0LCBpMywgaTI7CiAKLSAgICBkb21haW5fcGF1c2UoZCk7Cisg
ICAgaWYgKCAhcmVzdW1pbmcgKQorICAgICAgICBkb21haW5fcGF1c2UoZCk7
CiAgICAgcGFnaW5nX2xvY2soZCk7CiAKKyAgICBpZiAoICFkLT5hcmNoLnBh
Z2luZy5wcmVlbXB0LnZjcHUgKQorICAgICAgICBtZW1zZXQoJmQtPmFyY2gu
cGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LCAwLAorICAgICAgICAgICAgICAg
c2l6ZW9mKGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5KSk7Cisg
ICAgZWxzZSBpZiAoIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNwdSAhPSBj
dXJyZW50IHx8CisgICAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVt
cHQub3AgIT0gc2MtPm9wICkKKyAgICB7CisgICAgICAgIHBhZ2luZ191bmxv
Y2soZCk7CisgICAgICAgIEFTU0VSVCghcmVzdW1pbmcpOworICAgICAgICBk
b21haW5fdW5wYXVzZShkKTsKKyAgICAgICAgcmV0dXJuIC1FQlVTWTsKKyAg
ICB9CisKICAgICBjbGVhbiA9IChzYy0+b3AgPT0gWEVOX0RPTUNUTF9TSEFE
T1dfT1BfQ0xFQU4pOwogCiAgICAgUEFHSU5HX0RFQlVHKExPR0RJUlRZLCAi
bG9nLWRpcnR5ICVzOiBkb20gJXUgZmF1bHRzPSV1IGRpcnR5PSV1XG4iLApA
QCAtMzY1LDE3ICs0NDUsMTUgQEAgaW50IHBhZ2luZ19sb2dfZGlydHlfb3Ao
c3RydWN0IGRvbWFpbiAqZAogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAK
LSAgICBwYWdlcyA9IDA7CiAgICAgbDQgPSBwYWdpbmdfbWFwX2xvZ19kaXJ0
eV9iaXRtYXAoZCk7CisgICAgaTQgPSBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0
LmxvZ19kaXJ0eS5pNDsKKyAgICBpMyA9IGQtPmFyY2gucGFnaW5nLnByZWVt
cHQubG9nX2RpcnR5LmkzOworICAgIHBhZ2VzID0gZC0+YXJjaC5wYWdpbmcu
cHJlZW1wdC5sb2dfZGlydHkuZG9uZTsKIAotICAgIGZvciAoIGk0ID0gMDsK
LSAgICAgICAgICAocGFnZXMgPCBzYy0+cGFnZXMpICYmIChpNCA8IExPR0RJ
UlRZX05PREVfRU5UUklFUyk7Ci0gICAgICAgICAgaTQrKyApCisgICAgZm9y
ICggOyAocGFnZXMgPCBzYy0+cGFnZXMpICYmIChpNCA8IExPR0RJUlRZX05P
REVfRU5UUklFUyk7IGk0KyssIGkzID0gMCApCiAgICAgewogICAgICAgICBs
MyA9IChsNCAmJiBtZm5fdmFsaWQobDRbaTRdKSkgPyBtYXBfZG9tYWluX3Bh
Z2UobWZuX3gobDRbaTRdKSkgOiBOVUxMOwotICAgICAgICBmb3IgKCBpMyA9
IDA7Ci0gICAgICAgICAgICAgIChwYWdlcyA8IHNjLT5wYWdlcykgJiYgKGkz
IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTKTsKLSAgICAgICAgICAgICAgaTMr
KyApCisgICAgICAgIGZvciAoIDsgKHBhZ2VzIDwgc2MtPnBhZ2VzKSAmJiAo
aTMgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMpOyBpMysrICkKICAgICAgICAg
ewogICAgICAgICAgICAgbDIgPSAoKGwzICYmIG1mbl92YWxpZChsM1tpM10p
KSA/CiAgICAgICAgICAgICAgICAgICBtYXBfZG9tYWluX3BhZ2UobWZuX3go
bDNbaTNdKSkgOiBOVUxMKTsKQEAgLTQxMCwxOCArNDg4LDUxIEBAIGludCBw
YWdpbmdfbG9nX2RpcnR5X29wKHN0cnVjdCBkb21haW4gKmQKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGlmICggbDIgKQogICAgICAgICAgICAgICAg
IHVubWFwX2RvbWFpbl9wYWdlKGwyKTsKKworICAgICAgICAgICAgaWYgKCBp
MyA8IExPR0RJUlRZX05PREVfRU5UUklFUyAtIDEgJiYgaHlwZXJjYWxsX3By
ZWVtcHRfY2hlY2soKSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTQgPSBpNDsK
KyAgICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19k
aXJ0eS5pMyA9IGkzICsgMTsKKyAgICAgICAgICAgICAgICBydiA9IC1FQUdB
SU47CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICAgICAgaWYgKCBsMyApCiAgICAgICAgICAgICB1bm1h
cF9kb21haW5fcGFnZShsMyk7CisKKyAgICAgICAgaWYgKCAhcnYgJiYgaTQg
PCBMT0dESVJUWV9OT0RFX0VOVFJJRVMgLSAxICYmCisgICAgICAgICAgICAg
aHlwZXJjYWxsX3ByZWVtcHRfY2hlY2soKSApCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5Lmk0ID0g
aTQgKyAxOworICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5s
b2dfZGlydHkuaTMgPSAwOworICAgICAgICAgICAgcnYgPSAtRUFHQUlOOwor
ICAgICAgICB9CisgICAgICAgIGlmICggcnYgKQorICAgICAgICAgICAgYnJl
YWs7CiAgICAgfQogICAgIGlmICggbDQgKQogICAgICAgICB1bm1hcF9kb21h
aW5fcGFnZShsNCk7CiAKLSAgICBpZiAoIHBhZ2VzIDwgc2MtPnBhZ2VzICkK
LSAgICAgICAgc2MtPnBhZ2VzID0gcGFnZXM7CisgICAgaWYgKCAhcnYgKQor
ICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUgPSBOVUxMOwor
ICAgIGVsc2UKKyAgICB7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVt
cHQudmNwdSA9IGN1cnJlbnQ7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnBy
ZWVtcHQub3AgPSBzYy0+b3A7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnBy
ZWVtcHQubG9nX2RpcnR5LmRvbmUgPSBwYWdlczsKKyAgICB9CiAKICAgICBw
YWdpbmdfdW5sb2NrKGQpOwogCisgICAgaWYgKCBydiApCisgICAgeworICAg
ICAgICAvKiBOZXZlciBsZWF2ZSB0aGUgZG9tYWluIHBhdXNlZCBmb3Igb3Ro
ZXIgZXJyb3JzLiAqLworICAgICAgICBBU1NFUlQocnYgPT0gLUVBR0FJTik7
CisgICAgICAgIHJldHVybiBydjsKKyAgICB9CisKKyAgICBpZiAoIHBhZ2Vz
IDwgc2MtPnBhZ2VzICkKKyAgICAgICAgc2MtPnBhZ2VzID0gcGFnZXM7CiAg
ICAgaWYgKCBjbGVhbiApCiAgICAgewogICAgICAgICAvKiBXZSBuZWVkIHRv
IGZ1cnRoZXIgY2FsbCBjbGVhbl9kaXJ0eV9iaXRtYXAoKSBmdW5jdGlvbnMg
b2Ygc3BlY2lmaWMKQEAgLTQzMiw2ICs1NDMsNyBAQCBpbnQgcGFnaW5nX2xv
Z19kaXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpkCiAgICAgcmV0dXJuIHJ2Owog
CiAgb3V0OgorICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNwdSA9IE5V
TEw7CiAgICAgcGFnaW5nX3VubG9jayhkKTsKICAgICBkb21haW5fdW5wYXVz
ZShkKTsKIApAQCAtNDk4LDEyICs2MTAsNiBAQCB2b2lkIHBhZ2luZ19sb2df
ZGlydHlfaW5pdChzdHJ1Y3QgZG9tYWluCiAgICAgZC0+YXJjaC5wYWdpbmcu
bG9nX2RpcnR5LmNsZWFuX2RpcnR5X2JpdG1hcCA9IGNsZWFuX2RpcnR5X2Jp
dG1hcDsKIH0KIAotLyogVGhpcyBmdW5jdGlvbiBmcmVzcyBsb2cgZGlydHkg
Yml0bWFwIHJlc291cmNlcy4gKi8KLXN0YXRpYyB2b2lkIHBhZ2luZ19sb2df
ZGlydHlfdGVhcmRvd24oc3RydWN0IGRvbWFpbipkKQotewotICAgIHBhZ2lu
Z19mcmVlX2xvZ19kaXJ0eV9iaXRtYXAoZCk7Ci19Ci0KIC8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAvKiAg
ICAgICAgICAgQ09ERSBGT1IgUEFHSU5HIFNVUFBPUlQgICAgICAgICAgICAq
LwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKi8KQEAgLTU0Nyw2ICs2NTMsNyBAQCB2b2lkIHBhZ2luZ192Y3B1
X2luaXQoc3RydWN0IHZjcHUgKnYpCiBpbnQgcGFnaW5nX2RvbWN0bChzdHJ1
Y3QgZG9tYWluICpkLCB4ZW5fZG9tY3RsX3NoYWRvd19vcF90ICpzYywKICAg
ICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkg
dV9kb21jdGwpCiB7CisgICAgYm9vbF90IHJlc3VtaW5nID0gMDsKICAgICBp
bnQgcmM7CiAKICAgICBpZiAoIHVubGlrZWx5KGQgPT0gY3VycmVudC0+ZG9t
YWluKSApCkBAIC01NjksNiArNjc2LDIwIEBAIGludCBwYWdpbmdfZG9tY3Rs
KHN0cnVjdCBkb21haW4gKmQsIHhlbl8KICAgICAgICAgcmV0dXJuIC1FSU5W
QUw7CiAgICAgfQogCisgICAgaWYgKCBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0
LnZjcHUgKQorICAgIHsKKyAgICAgICAgaWYgKCBkLT5hcmNoLnBhZ2luZy5w
cmVlbXB0LnZjcHUgIT0gY3VycmVudCB8fAorICAgICAgICAgICAgIGQtPmFy
Y2gucGFnaW5nLnByZWVtcHQub3AgIT0gc2MtPm9wICkKKyAgICAgICAgewor
ICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0RFQlVHCisgICAgICAgICAg
ICAgICAgICAgImQlZDp2JWQ6IFBhZ2luZyBvcCAlI3ggb24gRG9tJXUgd2l0
aCB1bmZpbmlzaGVkIHByaW9yIG9wICUjeFxuIiwKKyAgICAgICAgICAgICAg
ICAgICBjdXJyZW50LT5kb21haW4tPmRvbWFpbl9pZCwgY3VycmVudC0+dmNw
dV9pZCwKKyAgICAgICAgICAgICAgICAgICBzYy0+b3AsIGQtPmRvbWFpbl9p
ZCwgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5vcCk7CisgICAgICAgICAgICBy
ZXR1cm4gLUVCVVNZOworICAgICAgICB9CisgICAgICAgIHJlc3VtaW5nID0g
MTsKKyAgICB9CisKICAgICByYyA9IHhzbV9zaGFkb3dfY29udHJvbChYU01f
SE9PSywgZCwgc2MtPm9wKTsKICAgICBpZiAoIHJjICkKICAgICAgICAgcmV0
dXJuIHJjOwpAQCAtNTk0LDEzICs3MTQsMTMgQEAgaW50IHBhZ2luZ19kb21j
dGwoc3RydWN0IGRvbWFpbiAqZCwgeGVuXwogCiAgICAgY2FzZSBYRU5fRE9N
Q1RMX1NIQURPV19PUF9PRkY6CiAgICAgICAgIGlmICggcGFnaW5nX21vZGVf
bG9nX2RpcnR5KGQpICkKLSAgICAgICAgICAgIGlmICggKHJjID0gcGFnaW5n
X2xvZ19kaXJ0eV9kaXNhYmxlKGQpKSAhPSAwICkKKyAgICAgICAgICAgIGlm
ICggKHJjID0gcGFnaW5nX2xvZ19kaXJ0eV9kaXNhYmxlKGQsIHJlc3VtaW5n
KSkgIT0gMCApCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJjOwogICAgICAg
ICBicmVhazsKIAogICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfQ0xF
QU46CiAgICAgY2FzZSBYRU5fRE9NQ1RMX1NIQURPV19PUF9QRUVLOgotICAg
ICAgICByZXR1cm4gcGFnaW5nX2xvZ19kaXJ0eV9vcChkLCBzYyk7CisgICAg
ICAgIHJldHVybiBwYWdpbmdfbG9nX2RpcnR5X29wKGQsIHNjLCByZXN1bWlu
Zyk7CiAgICAgfQogCiAgICAgLyogSGVyZSwgZGlzcGF0Y2ggZG9tY3RsIHRv
IHRoZSBhcHByb3ByaWF0ZSBwYWdpbmcgY29kZSAqLwpAQCAtNjExLDE4ICs3
MzEsMjQgQEAgaW50IHBhZ2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwg
eGVuXwogfQogCiAvKiBDYWxsIHdoZW4gZGVzdHJveWluZyBhIGRvbWFpbiAq
Lwotdm9pZCBwYWdpbmdfdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCkKK2lu
dCBwYWdpbmdfdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCkKIHsKKyAgICBp
bnQgcmM7CisKICAgICBpZiAoIGhhcF9lbmFibGVkKGQpICkKICAgICAgICAg
aGFwX3RlYXJkb3duKGQpOwogICAgIGVsc2UKICAgICAgICAgc2hhZG93X3Rl
YXJkb3duKGQpOwogCiAgICAgLyogY2xlYW4gdXAgbG9nIGRpcnR5IHJlc291
cmNlcy4gKi8KLSAgICBwYWdpbmdfbG9nX2RpcnR5X3RlYXJkb3duKGQpOwor
ICAgIHJjID0gcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChkLCAwKTsK
KyAgICBpZiAoIHJjID09IC1FQUdBSU4gKQorICAgICAgICByZXR1cm4gcmM7
CiAKICAgICAvKiBNb3ZlIHBvcHVsYXRlLW9uLWRlbWFuZCBjYWNoZSBiYWNr
IHRvIGRvbWFpbl9saXN0IGZvciBkZXN0cnVjdGlvbiAqLwogICAgIHAybV9w
b2RfZW1wdHlfY2FjaGUoZCk7CisKKyAgICByZXR1cm4gcmM7CiB9CiAKIC8q
IENhbGwgb25jZSBhbGwgb2YgdGhlIHJlZmVyZW5jZXMgdG8gdGhlIGRvbWFp
biBoYXZlIGdvbmUgYXdheSAqLwotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hh
ZG93L2NvbW1vbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29t
bW9uLmMKQEAgLTM3MDYsOCArMzcwNiw3IEBAIGludCBzaGFkb3dfZG9tY3Rs
KHN0cnVjdCBkb21haW4gKmQsIAogICAgICAgICBwYWdpbmdfdW5sb2NrKGQp
OwogICAgICAgICBpZiAoIHByZWVtcHRlZCApCiAgICAgICAgICAgICAvKiBO
b3QgZmluaXNoZWQuICBTZXQgdXAgdG8gcmUtcnVuIHRoZSBjYWxsLiAqLwot
ICAgICAgICAgICAgcmMgPSBoeXBlcmNhbGxfY3JlYXRlX2NvbnRpbnVhdGlv
bigKLSAgICAgICAgICAgICAgICBfX0hZUEVSVklTT1JfZG9tY3RsLCAiaCIs
IHVfZG9tY3RsKTsKKyAgICAgICAgICAgIHJjID0gLUVBR0FJTjsKICAgICAg
ICAgZWxzZSAKICAgICAgICAgICAgIC8qIEZpbmlzaGVkLiAgUmV0dXJuIHRo
ZSBuZXcgYWxsb2NhdGlvbiAqLwogICAgICAgICAgICAgc2MtPm1iID0gc2hh
ZG93X2dldF9hbGxvY2F0aW9uKGQpOwotLS0gYS94ZW4vY29tbW9uL2RvbWFp
bi5jCisrKyBiL3hlbi9jb21tb24vZG9tYWluLmMKQEAgLTUyNyw3ICs1Mjcs
NiBAQCBpbnQgZG9tYWluX2tpbGwoc3RydWN0IGRvbWFpbiAqZCkKICAgICAg
ICAgcmMgPSBkb21haW5fcmVsaW5xdWlzaF9yZXNvdXJjZXMoZCk7CiAgICAg
ICAgIGlmICggcmMgIT0gMCApCiAgICAgICAgIHsKLSAgICAgICAgICAgIEJV
R19PTihyYyAhPSAtRUFHQUlOKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CiAgICAgICAgIGlmICggc2NoZWRfbW92ZV9kb21haW4oZCwgY3B1
cG9vbDApICkKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCkBAIC0xODYsNiAr
MTg2LDIwIEBAIHN0cnVjdCBwYWdpbmdfZG9tYWluIHsKICAgICBzdHJ1Y3Qg
aGFwX2RvbWFpbiAgICAgICBoYXA7CiAgICAgLyogbG9nIGRpcnR5IHN1cHBv
cnQgKi8KICAgICBzdHJ1Y3QgbG9nX2RpcnR5X2RvbWFpbiBsb2dfZGlydHk7
CisKKyAgICAvKiBwcmVlbXB0aW9uIGhhbmRsaW5nICovCisgICAgc3RydWN0
IHsKKyAgICAgICAgc3RydWN0IHZjcHUgKnZjcHU7CisgICAgICAgIHVuc2ln
bmVkIGludCBvcDsKKyAgICAgICAgdW5pb24geworICAgICAgICAgICAgc3Ry
dWN0IHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRvbmU6UEFE
RFJfQklUUyAtIFBBR0VfU0hJRlQ7CisgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBpNDpQQUdFVEFCTEVfT1JERVI7CisgICAgICAgICAgICAgICAg
dW5zaWduZWQgbG9uZyBpMzpQQUdFVEFCTEVfT1JERVI7CisgICAgICAgICAg
ICB9IGxvZ19kaXJ0eTsKKyAgICAgICAgfTsKKyAgICB9IHByZWVtcHQ7CisK
ICAgICAvKiBhbGxvYy9mcmVlIHBhZ2VzIGZyb20gdGhlIHBvb2wgZm9yIHBh
Z2luZy1hc3Npc3RhbmNlIHN0cnVjdHVyZXMKICAgICAgKiAodXNlZCBieSBw
Mm0gYW5kIGxvZy1kaXJ0eSBjb2RlIGZvciB0aGVpciB0cmllcykgKi8KICAg
ICBzdHJ1Y3QgcGFnZV9pbmZvICogKCphbGxvY19wYWdlKShzdHJ1Y3QgZG9t
YWluICpkKTsKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2luZy5oCkBAIC0xMzMsOSAr
MTMzLDYgQEAgc3RydWN0IHBhZ2luZ19tb2RlIHsKIC8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgogICogTG9nIGRpcnR5IGNvZGUgKi8KIAot
LyogZnJlZSBsb2cgZGlydHkgYml0bWFwIHJlc291cmNlICovCi12b2lkIHBh
Z2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXAoc3RydWN0IGRvbWFpbiAqZCk7
Ci0KIC8qIGdldCB0aGUgZGlydHkgYml0bWFwIGZvciBhIHNwZWNpZmljIHJh
bmdlIG9mIHBmbnMgKi8KIHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV9yYW5nZShz
dHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGxvbmcgYmVnaW5fcGZuLApAQCAtMTQ1LDkgKzE0Miw2IEBA
IHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV9yYW5nZShzdHJ1Y3QgZG9tYWkKIC8q
IGVuYWJsZSBsb2cgZGlydHkgKi8KIGludCBwYWdpbmdfbG9nX2RpcnR5X2Vu
YWJsZShzdHJ1Y3QgZG9tYWluICpkKTsKIAotLyogZGlzYWJsZSBsb2cgZGly
dHkgKi8KLWludCBwYWdpbmdfbG9nX2RpcnR5X2Rpc2FibGUoc3RydWN0IGRv
bWFpbiAqZCk7Ci0KIC8qIGxvZyBkaXJ0eSBpbml0aWFsaXphdGlvbiAqLwog
dm9pZCBwYWdpbmdfbG9nX2RpcnR5X2luaXQoc3RydWN0IGRvbWFpbiAqZCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAgKCplbmFibGVfbG9n
X2RpcnR5KShzdHJ1Y3QgZG9tYWluICpkKSwKQEAgLTIwNiw3ICsyMDAsNyBA
QCBpbnQgcGFnaW5nX2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCB4ZW5fCiAg
ICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQp
IHVfZG9tY3RsKTsKIAogLyogQ2FsbCB3aGVuIGRlc3Ryb3lpbmcgYSBkb21h
aW4gKi8KLXZvaWQgcGFnaW5nX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQp
OworaW50IHBhZ2luZ190ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkKTsKIAog
LyogQ2FsbCBvbmNlIGFsbCBvZiB0aGUgcmVmZXJlbmNlcyB0byB0aGUgZG9t
YWluIGhhdmUgZ29uZSBhd2F5ICovCiB2b2lkIHBhZ2luZ19maW5hbF90ZWFy
ZG93bihzdHJ1Y3QgZG9tYWluICpkKTsK

--=separator
Content-Type: application/octet-stream; name="xsa97-hap-4.4.patch"
Content-Disposition: attachment; filename="xsa97-hap-4.4.patch"
Content-Transfer-Encoding: base64

eDg2L3BhZ2luZzogbWFrZSBsb2ctZGlydHkgb3BlcmF0aW9ucyBwcmVlbXB0
aWJsZQoKQm90aCB0aGUgZnJlZWluZyBhbmQgdGhlIGluc3BlY3Rpb24gb2Yg
dGhlIGJpdG1hcCBnZXQgZG9uZSBpbiAobmVzdGVkKQpsb29wcyB3aGljaCAt
IGJlc2lkZXMgaGF2aW5nIGEgcmF0aGVyIGhpZ2ggaXRlcmF0aW9uIGNvdW50
IGluIGdlbmVyYWwsCmFsYmVpdCB0aGF0IHdvdWxkIGJlIGNvdmVyZWQgYnkg
WFNBLTc3IC0gaGF2ZSB0aGUgbnVtYmVyIG9mIG5vbi10cml2aWFsCml0ZXJh
dGlvbnMgdGhleSBuZWVkIHRvIHBlcmZvcm0gKGluZGlyZWN0bHkpIGNvbnRy
b2xsYWJsZSBieSBib3RoIHRoZQpndWVzdCB0aGV5IGFyZSBmb3IgYW5kIGFu
eSBkb21haW4gY29udHJvbGxpbmcgdGhlIGd1ZXN0IChpbmNsdWRpbmcgdGhl
Cm9uZSBydW5uaW5nIHFlbXUgZm9yIGl0KS4KClRoaXMgaXMgWFNBLTk3LgoK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CgotLS0g
YS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCkBAIC0xOTE1LDcgKzE5MTUsOSBAQCBpbnQgZG9tYWluX3JlbGlu
cXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkCiAgICAgICAgIHBjaV9yZWxlYXNl
X2RldmljZXMoZCk7CiAKICAgICAgICAgLyogVGVhciBkb3duIHBhZ2luZy1h
c3Npc3RhbmNlIHN0dWZmLiAqLwotICAgICAgICBwYWdpbmdfdGVhcmRvd24o
ZCk7CisgICAgICAgIHJldCA9IHBhZ2luZ190ZWFyZG93bihkKTsKKyAgICAg
ICAgaWYgKCByZXQgKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKIAogICAg
ICAgICAvKiBEcm9wIHRoZSBpbi11c2UgcmVmZXJlbmNlcyB0byBwYWdlLXRh
YmxlIGJhc2VzLiAqLwogICAgICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiAp
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94ZW4vYXJjaC94
ODYvZG9tY3RsLmMKQEAgLTYxLDYgKzYxLDkgQEAgbG9uZyBhcmNoX2RvX2Rv
bWN0bCgKICAgICAgICAgcmV0ID0gcGFnaW5nX2RvbWN0bChkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUuc2hhZG93X29wLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0X2hhbmRsZV9jYXN0
KHVfZG9tY3RsLCB2b2lkKSk7CisgICAgICAgIGlmICggcmV0ID09IC1FQUdB
SU4gKQorICAgICAgICAgICAgcmV0dXJuIGh5cGVyY2FsbF9jcmVhdGVfY29u
dGludWF0aW9uKF9fSFlQRVJWSVNPUl9kb21jdGwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgiLCB1X2Rv
bWN0bCk7CiAgICAgICAgIGNvcHliYWNrID0gMTsKICAgICB9CiAgICAgYnJl
YWs7Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKKysrIGIveGVu
L2FyY2gveDg2L21tL2hhcC9oYXAuYwpAQCAtNTcyLDggKzU3Miw3IEBAIGlu
dCBoYXBfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHhlbl9kb20KICAgICAg
ICAgcGFnaW5nX3VubG9jayhkKTsKICAgICAgICAgaWYgKCBwcmVlbXB0ZWQg
KQogICAgICAgICAgICAgLyogTm90IGZpbmlzaGVkLiAgU2V0IHVwIHRvIHJl
LXJ1biB0aGUgY2FsbC4gKi8KLSAgICAgICAgICAgIHJjID0gaHlwZXJjYWxs
X2NyZWF0ZV9jb250aW51YXRpb24oX19IWVBFUlZJU09SX2RvbWN0bCwgImgi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1X2RvbWN0bCk7CisgICAgICAgICAgICByYyA9IC1FQUdBSU47CiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIC8qIEZpbmlzaGVkLiAgUmV0dXJu
IHRoZSBuZXcgYWxsb2NhdGlvbiAqLwogICAgICAgICAgICAgc2MtPm1iID0g
aGFwX2dldF9hbGxvY2F0aW9uKGQpOwotLS0gYS94ZW4vYXJjaC94ODYvbW0v
cGFnaW5nLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jCkBAIC0y
Niw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL3NoYWRvdy5oPgogI2luY2x1
ZGUgPGFzbS9wMm0uaD4KICNpbmNsdWRlIDxhc20vaGFwLmg+CisjaW5jbHVk
ZSA8YXNtL2V2ZW50Lmg+CiAjaW5jbHVkZSA8YXNtL2h2bS9uZXN0ZWRodm0u
aD4KICNpbmNsdWRlIDx4ZW4vbnVtYS5oPgogI2luY2x1ZGUgPHhzbS94c20u
aD4KQEAgLTExNiwyNiArMTE3LDQ2IEBAIHN0YXRpYyB2b2lkIHBhZ2luZ19m
cmVlX2xvZ19kaXJ0eV9wYWdlKHMKICAgICBkLT5hcmNoLnBhZ2luZy5mcmVl
X3BhZ2UoZCwgbWZuX3RvX3BhZ2UobWZuKSk7CiB9CiAKLXZvaWQgcGFnaW5n
X2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1Y3QgZG9tYWluICpkKQorc3Rh
dGljIGludCBwYWdpbmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKHN0cnVjdCBk
b21haW4gKmQsIGludCByYykKIHsKICAgICBtZm5fdCAqbDQsICpsMywgKmwy
OwogICAgIGludCBpNCwgaTMsIGkyOwogCisgICAgcGFnaW5nX2xvY2soZCk7
CisKICAgICBpZiAoICFtZm5fdmFsaWQoZC0+YXJjaC5wYWdpbmcubG9nX2Rp
cnR5LnRvcCkgKQotICAgICAgICByZXR1cm47CisgICAgeworICAgICAgICBw
YWdpbmdfdW5sb2NrKGQpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAK
LSAgICBwYWdpbmdfbG9jayhkKTsKKyAgICBpZiAoICFkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LnZjcHUgKQorICAgIHsKKyAgICAgICAgbWVtc2V0KCZkLT5h
cmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSwgMCwKKyAgICAgICAgICAg
ICAgIHNpemVvZihkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSkp
OworICAgICAgICBBU1NFUlQocmMgPD0gMCk7CisgICAgICAgIGQtPmFyY2gu
cGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmRvbmUgPSAtcmM7CisgICAgfQor
ICAgIGVsc2UgaWYgKCBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUgIT0g
Y3VycmVudCB8fAorICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVl
bXB0Lm9wICE9IFhFTl9ET01DVExfU0hBRE9XX09QX09GRiApCisgICAgewor
ICAgICAgICBwYWdpbmdfdW5sb2NrKGQpOworICAgICAgICByZXR1cm4gLUVC
VVNZOworICAgIH0KIAogICAgIGw0ID0gbWFwX2RvbWFpbl9wYWdlKG1mbl94
KGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS50b3ApKTsKKyAgICBpNCA9IGQt
PmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5Lmk0OworICAgIGkzID0g
ZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTM7CisgICAgcmMg
PSAwOwogCi0gICAgZm9yICggaTQgPSAwOyBpNCA8IExPR0RJUlRZX05PREVf
RU5UUklFUzsgaTQrKyApCisgICAgZm9yICggOyBpNCA8IExPR0RJUlRZX05P
REVfRU5UUklFUzsgaTQrKywgaTMgPSAwICkKICAgICB7CiAgICAgICAgIGlm
ICggIW1mbl92YWxpZChsNFtpNF0pICkKICAgICAgICAgICAgIGNvbnRpbnVl
OwogCiAgICAgICAgIGwzID0gbWFwX2RvbWFpbl9wYWdlKG1mbl94KGw0W2k0
XSkpOwogCi0gICAgICAgIGZvciAoIGkzID0gMDsgaTMgPCBMT0dESVJUWV9O
T0RFX0VOVFJJRVM7IGkzKysgKQorICAgICAgICBmb3IgKCA7IGkzIDwgTE9H
RElSVFlfTk9ERV9FTlRSSUVTOyBpMysrICkKICAgICAgICAgewogICAgICAg
ICAgICAgaWYgKCAhbWZuX3ZhbGlkKGwzW2kzXSkgKQogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwpAQCAtMTQ4LDIwICsxNjksNTQgQEAgdm9pZCBwYWdp
bmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKHN0cnVjdAogCiAgICAgICAgICAg
ICB1bm1hcF9kb21haW5fcGFnZShsMik7CiAgICAgICAgICAgICBwYWdpbmdf
ZnJlZV9sb2dfZGlydHlfcGFnZShkLCBsM1tpM10pOworICAgICAgICAgICAg
bDNbaTNdID0gX21mbihJTlZBTElEX01GTik7CisKKyAgICAgICAgICAgIGlm
ICggaTMgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMgLSAxICYmIGh5cGVyY2Fs
bF9wcmVlbXB0X2NoZWNrKCkgKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzID0g
aTMgKyAxOworICAgICAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVt
cHQubG9nX2RpcnR5Lmk0ID0gaTQ7CisgICAgICAgICAgICAgICAgcmMgPSAt
RUFHQUlOOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQogICAgICAgICB9CiAKICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDMp
OworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlfcGFnZShkLCBsNFtpNF0pOwor
ICAgICAgICBsNFtpNF0gPSBfbWZuKElOVkFMSURfTUZOKTsKKworICAgICAg
ICBpZiAoIGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0gMSAmJiBoeXBl
cmNhbGxfcHJlZW1wdF9jaGVjaygpICkKKyAgICAgICAgeworICAgICAgICAg
ICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTMgPSAwOwor
ICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHku
aTQgPSBpNCArIDE7CisgICAgICAgICAgICByYyA9IC1FQUdBSU47CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHVubWFw
X2RvbWFpbl9wYWdlKGw0KTsKLSAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlf
cGFnZShkLCBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkudG9wKTsKLSAgICBk
LT5hcmNoLnBhZ2luZy5sb2dfZGlydHkudG9wID0gX21mbihJTlZBTElEX01G
Tik7CiAKLSAgICBBU1NFUlQoZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmFs
bG9jcyA9PSAwKTsKLSAgICBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuZmFp
bGVkX2FsbG9jcyA9IDA7CisgICAgaWYgKCAhcmMgKQorICAgIHsKKyAgICAg
ICAgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X3BhZ2UoZCwgZC0+YXJjaC5wYWdp
bmcubG9nX2RpcnR5LnRvcCk7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLmxv
Z19kaXJ0eS50b3AgPSBfbWZuKElOVkFMSURfTUZOKTsKKworICAgICAgICBB
U1NFUlQoZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmFsbG9jcyA9PSAwKTsK
KyAgICAgICAgZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmZhaWxlZF9hbGxv
Y3MgPSAwOworCisgICAgICAgIHJjID0gLWQtPmFyY2gucGFnaW5nLnByZWVt
cHQubG9nX2RpcnR5LmRvbmU7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnBy
ZWVtcHQudmNwdSA9IE5VTEw7CisgICAgfQorICAgIGVsc2UKKyAgICB7Cisg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNwdSA9IGN1cnJlbnQ7
CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQub3AgPSBYRU5fRE9N
Q1RMX1NIQURPV19PUF9PRkY7CisgICAgfQogCiAgICAgcGFnaW5nX3VubG9j
ayhkKTsKKworICAgIHJldHVybiByYzsKIH0KIAogaW50IHBhZ2luZ19sb2df
ZGlydHlfZW5hYmxlKHN0cnVjdCBkb21haW4gKmQsIGJvb2xfdCBsb2dfZ2xv
YmFsKQpAQCAtMTc4LDE1ICsyMzMsMjUgQEAgaW50IHBhZ2luZ19sb2dfZGly
dHlfZW5hYmxlKHN0cnVjdCBkb21haQogICAgIHJldHVybiByZXQ7CiB9CiAK
LWludCBwYWdpbmdfbG9nX2RpcnR5X2Rpc2FibGUoc3RydWN0IGRvbWFpbiAq
ZCkKK3N0YXRpYyBpbnQgcGFnaW5nX2xvZ19kaXJ0eV9kaXNhYmxlKHN0cnVj
dCBkb21haW4gKmQsIGJvb2xfdCByZXN1bWluZykKIHsKLSAgICBpbnQgcmV0
OworICAgIGludCByZXQgPSAxOworCisgICAgaWYgKCAhcmVzdW1pbmcgKQor
ICAgIHsKKyAgICAgICAgZG9tYWluX3BhdXNlKGQpOworICAgICAgICAvKiBT
YWZlIGJlY2F1c2UgdGhlIGRvbWFpbiBpcyBwYXVzZWQuICovCisgICAgICAg
IHJldCA9IGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5kaXNhYmxlX2xvZ19k
aXJ0eShkKTsKKyAgICAgICAgQVNTRVJUKHJldCA8PSAwKTsKKyAgICB9CiAK
LSAgICBkb21haW5fcGF1c2UoZCk7Ci0gICAgLyogU2FmZSBiZWNhdXNlIHRo
ZSBkb21haW4gaXMgcGF1c2VkLiAqLwotICAgIHJldCA9IGQtPmFyY2gucGFn
aW5nLmxvZ19kaXJ0eS5kaXNhYmxlX2xvZ19kaXJ0eShkKTsKICAgICBpZiAo
ICFwYWdpbmdfbW9kZV9sb2dfZGlydHkoZCkgKQotICAgICAgICBwYWdpbmdf
ZnJlZV9sb2dfZGlydHlfYml0bWFwKGQpOworICAgIHsKKyAgICAgICAgcmV0
ID0gcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChkLCByZXQpOworICAg
ICAgICBpZiAoIHJldCA9PSAtRUFHQUlOICkKKyAgICAgICAgICAgIHJldHVy
biByZXQ7CisgICAgfQorCiAgICAgZG9tYWluX3VucGF1c2UoZCk7CiAKICAg
ICByZXR1cm4gcmV0OwpAQCAtMzI2LDcgKzM5MSw5IEBAIGludCBwYWdpbmdf
bWZuX2lzX2RpcnR5KHN0cnVjdCBkb21haW4gKmQKIAogLyogUmVhZCBhIGRv
bWFpbidzIGxvZy1kaXJ0eSBiaXRtYXAgYW5kIHN0YXRzLiAgSWYgdGhlIG9w
ZXJhdGlvbiBpcyBhIENMRUFOLAogICogY2xlYXIgdGhlIGJpdG1hcCBhbmQg
c3RhdHMgYXMgd2VsbC4gKi8KLWludCBwYWdpbmdfbG9nX2RpcnR5X29wKHN0
cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3RsX3NoYWRvd19vcCAq
c2MpCitzdGF0aWMgaW50IHBhZ2luZ19sb2dfZGlydHlfb3Aoc3RydWN0IGRv
bWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1
Y3QgeGVuX2RvbWN0bF9zaGFkb3dfb3AgKnNjLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2xfdCByZXN1bWluZykKIHsKICAgICBpbnQg
cnYgPSAwLCBjbGVhbiA9IDAsIHBlZWsgPSAxOwogICAgIHVuc2lnbmVkIGxv
bmcgcGFnZXMgPSAwOwpAQCAtMzM0LDkgKzQwMSwyMiBAQCBpbnQgcGFnaW5n
X2xvZ19kaXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpkCiAgICAgdW5zaWduZWQg
bG9uZyAqbDEgPSBOVUxMOwogICAgIGludCBpNCwgaTMsIGkyOwogCi0gICAg
ZG9tYWluX3BhdXNlKGQpOworICAgIGlmICggIXJlc3VtaW5nICkKKyAgICAg
ICAgZG9tYWluX3BhdXNlKGQpOwogICAgIHBhZ2luZ19sb2NrKGQpOwogCisg
ICAgaWYgKCAhZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ICkKKyAgICAg
ICAgbWVtc2V0KCZkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eSwg
MCwKKyAgICAgICAgICAgICAgIHNpemVvZihkLT5hcmNoLnBhZ2luZy5wcmVl
bXB0LmxvZ19kaXJ0eSkpOworICAgIGVsc2UgaWYgKCBkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LnZjcHUgIT0gY3VycmVudCB8fAorICAgICAgICAgICAgICBk
LT5hcmNoLnBhZ2luZy5wcmVlbXB0Lm9wICE9IHNjLT5vcCApCisgICAgewor
ICAgICAgICBwYWdpbmdfdW5sb2NrKGQpOworICAgICAgICBBU1NFUlQoIXJl
c3VtaW5nKTsKKyAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7CisgICAgICAg
IHJldHVybiAtRUJVU1k7CisgICAgfQorCiAgICAgY2xlYW4gPSAoc2MtPm9w
ID09IFhFTl9ET01DVExfU0hBRE9XX09QX0NMRUFOKTsKIAogICAgIFBBR0lO
R19ERUJVRyhMT0dESVJUWSwgImxvZy1kaXJ0eSAlczogZG9tICV1IGZhdWx0
cz0ldSBkaXJ0eT0ldVxuIiwKQEAgLTM2NSwxNyArNDQ1LDE1IEBAIGludCBw
YWdpbmdfbG9nX2RpcnR5X29wKHN0cnVjdCBkb21haW4gKmQKICAgICAgICAg
Z290byBvdXQ7CiAgICAgfQogCi0gICAgcGFnZXMgPSAwOwogICAgIGw0ID0g
cGFnaW5nX21hcF9sb2dfZGlydHlfYml0bWFwKGQpOworICAgIGk0ID0gZC0+
YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTQ7CisgICAgaTMgPSBk
LT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5pMzsKKyAgICBwYWdl
cyA9IGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmRvbmU7CiAK
LSAgICBmb3IgKCBpNCA9IDA7Ci0gICAgICAgICAgKHBhZ2VzIDwgc2MtPnBh
Z2VzKSAmJiAoaTQgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMpOwotICAgICAg
ICAgIGk0KysgKQorICAgIGZvciAoIDsgKHBhZ2VzIDwgc2MtPnBhZ2VzKSAm
JiAoaTQgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMpOyBpNCsrLCBpMyA9IDAg
KQogICAgIHsKICAgICAgICAgbDMgPSAobDQgJiYgbWZuX3ZhbGlkKGw0W2k0
XSkpID8gbWFwX2RvbWFpbl9wYWdlKG1mbl94KGw0W2k0XSkpIDogTlVMTDsK
LSAgICAgICAgZm9yICggaTMgPSAwOwotICAgICAgICAgICAgICAocGFnZXMg
PCBzYy0+cGFnZXMpICYmIChpMyA8IExPR0RJUlRZX05PREVfRU5UUklFUyk7
Ci0gICAgICAgICAgICAgIGkzKysgKQorICAgICAgICBmb3IgKCA7IChwYWdl
cyA8IHNjLT5wYWdlcykgJiYgKGkzIDwgTE9HRElSVFlfTk9ERV9FTlRSSUVT
KTsgaTMrKyApCiAgICAgICAgIHsKICAgICAgICAgICAgIGwyID0gKChsMyAm
JiBtZm5fdmFsaWQobDNbaTNdKSkgPwogICAgICAgICAgICAgICAgICAgbWFw
X2RvbWFpbl9wYWdlKG1mbl94KGwzW2kzXSkpIDogTlVMTCk7CkBAIC00MTAs
MTggKzQ4OCw1MSBAQCBpbnQgcGFnaW5nX2xvZ19kaXJ0eV9vcChzdHJ1Y3Qg
ZG9tYWluICpkCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoIGwy
ICkKICAgICAgICAgICAgICAgICB1bm1hcF9kb21haW5fcGFnZShsMik7CisK
KyAgICAgICAgICAgIGlmICggaTMgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMg
LSAxICYmIGh5cGVyY2FsbF9wcmVlbXB0X2NoZWNrKCkgKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQu
bG9nX2RpcnR5Lmk0ID0gaTQ7CisgICAgICAgICAgICAgICAgZC0+YXJjaC5w
YWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTMgPSBpMyArIDE7CisgICAgICAg
ICAgICAgICAgcnYgPSAtRUFHQUlOOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICggbDMg
KQogICAgICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDMpOworCisgICAg
ICAgIGlmICggIXJ2ICYmIGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0g
MSAmJgorICAgICAgICAgICAgIGh5cGVyY2FsbF9wcmVlbXB0X2NoZWNrKCkg
KQorICAgICAgICB7CisgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVl
bXB0LmxvZ19kaXJ0eS5pNCA9IGk0ICsgMTsKKyAgICAgICAgICAgIGQtPmFy
Y2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzID0gMDsKKyAgICAgICAg
ICAgIHJ2ID0gLUVBR0FJTjsKKyAgICAgICAgfQorICAgICAgICBpZiAoIHJ2
ICkKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBpZiAoIGw0ICkK
ICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDQpOwogCi0gICAgaWYgKCBw
YWdlcyA8IHNjLT5wYWdlcyApCi0gICAgICAgIHNjLT5wYWdlcyA9IHBhZ2Vz
OworICAgIGlmICggIXJ2ICkKKyAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJl
ZW1wdC52Y3B1ID0gTlVMTDsKKyAgICBlbHNlCisgICAgeworICAgICAgICBk
LT5hcmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUgPSBjdXJyZW50OworICAgICAg
ICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0Lm9wID0gc2MtPm9wOworICAgICAg
ICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5kb25lID0gcGFn
ZXM7CisgICAgfQogCiAgICAgcGFnaW5nX3VubG9jayhkKTsKIAorICAgIGlm
ICggcnYgKQorICAgIHsKKyAgICAgICAgLyogTmV2ZXIgbGVhdmUgdGhlIGRv
bWFpbiBwYXVzZWQgZm9yIG90aGVyIGVycm9ycy4gKi8KKyAgICAgICAgQVNT
RVJUKHJ2ID09IC1FQUdBSU4pOworICAgICAgICByZXR1cm4gcnY7CisgICAg
fQorCisgICAgaWYgKCBwYWdlcyA8IHNjLT5wYWdlcyApCisgICAgICAgIHNj
LT5wYWdlcyA9IHBhZ2VzOwogICAgIGlmICggY2xlYW4gKQogICAgIHsKICAg
ICAgICAgLyogV2UgbmVlZCB0byBmdXJ0aGVyIGNhbGwgY2xlYW5fZGlydHlf
Yml0bWFwKCkgZnVuY3Rpb25zIG9mIHNwZWNpZmljCkBAIC00MzIsNiArNTQz
LDcgQEAgaW50IHBhZ2luZ19sb2dfZGlydHlfb3Aoc3RydWN0IGRvbWFpbiAq
ZAogICAgIHJldHVybiBydjsKIAogIG91dDoKKyAgICBkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LnZjcHUgPSBOVUxMOwogICAgIHBhZ2luZ191bmxvY2soZCk7
CiAgICAgZG9tYWluX3VucGF1c2UoZCk7CiAKQEAgLTQ5OSwxMiArNjExLDYg
QEAgdm9pZCBwYWdpbmdfbG9nX2RpcnR5X2luaXQoc3RydWN0IGRvbWFpbgog
ICAgIGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS5jbGVhbl9kaXJ0eV9iaXRt
YXAgPSBjbGVhbl9kaXJ0eV9iaXRtYXA7CiB9CiAKLS8qIFRoaXMgZnVuY3Rp
b24gZnJlc3MgbG9nIGRpcnR5IGJpdG1hcCByZXNvdXJjZXMuICovCi1zdGF0
aWMgdm9pZCBwYWdpbmdfbG9nX2RpcnR5X3RlYXJkb3duKHN0cnVjdCBkb21h
aW4qZCkKLXsKLSAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKGQp
OwotfQotCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqLwogLyogICAgICAgICAgIENPREUgRk9SIFBBR0lORyBT
VVBQT1JUICAgICAgICAgICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKiovCkBAIC01NDgsNiArNjU0LDcg
QEAgdm9pZCBwYWdpbmdfdmNwdV9pbml0KHN0cnVjdCB2Y3B1ICp2KQogaW50
IHBhZ2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgeGVuX2RvbWN0bF9z
aGFkb3dfb3BfdCAqc2MsCiAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1Rf
SEFORExFX1BBUkFNKHZvaWQpIHVfZG9tY3RsKQogeworICAgIGJvb2xfdCBy
ZXN1bWluZyA9IDA7CiAgICAgaW50IHJjOwogCiAgICAgaWYgKCB1bmxpa2Vs
eShkID09IGN1cnJlbnQtPmRvbWFpbikgKQpAQCAtNTcwLDYgKzY3NywyMCBA
QCBpbnQgcGFnaW5nX2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCB4ZW5fCiAg
ICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KIAorICAgIGlmICggZC0+
YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ICkKKyAgICB7CisgICAgICAgIGlm
ICggZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ICE9IGN1cnJlbnQgfHwK
KyAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0Lm9wICE9IHNj
LT5vcCApCisgICAgICAgIHsKKyAgICAgICAgICAgIHByaW50ayhYRU5MT0df
R19ERUJVRworICAgICAgICAgICAgICAgICAgICJkJWQ6diVkOiBQYWdpbmcg
b3AgJSN4IG9uIERvbSV1IHdpdGggdW5maW5pc2hlZCBwcmlvciBvcCAlI3hc
biIsCisgICAgICAgICAgICAgICAgICAgY3VycmVudC0+ZG9tYWluLT5kb21h
aW5faWQsIGN1cnJlbnQtPnZjcHVfaWQsCisgICAgICAgICAgICAgICAgICAg
c2MtPm9wLCBkLT5kb21haW5faWQsIGQtPmFyY2gucGFnaW5nLnByZWVtcHQu
b3ApOworICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKKyAgICAgICAgfQor
ICAgICAgICByZXN1bWluZyA9IDE7CisgICAgfQorCiAgICAgcmMgPSB4c21f
c2hhZG93X2NvbnRyb2woWFNNX0hPT0ssIGQsIHNjLT5vcCk7CiAgICAgaWYg
KCByYyApCiAgICAgICAgIHJldHVybiByYzsKQEAgLTU5NSwxMyArNzE2LDEz
IEBAIGludCBwYWdpbmdfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHhlbl8K
IAogICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfT0ZGOgogICAgICAg
ICBpZiAoIHBhZ2luZ19tb2RlX2xvZ19kaXJ0eShkKSApCi0gICAgICAgICAg
ICBpZiAoIChyYyA9IHBhZ2luZ19sb2dfZGlydHlfZGlzYWJsZShkKSkgIT0g
MCApCisgICAgICAgICAgICBpZiAoIChyYyA9IHBhZ2luZ19sb2dfZGlydHlf
ZGlzYWJsZShkLCByZXN1bWluZykpICE9IDAgKQogICAgICAgICAgICAgICAg
IHJldHVybiByYzsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFhFTl9E
T01DVExfU0hBRE9XX09QX0NMRUFOOgogICAgIGNhc2UgWEVOX0RPTUNUTF9T
SEFET1dfT1BfUEVFSzoKLSAgICAgICAgcmV0dXJuIHBhZ2luZ19sb2dfZGly
dHlfb3AoZCwgc2MpOworICAgICAgICByZXR1cm4gcGFnaW5nX2xvZ19kaXJ0
eV9vcChkLCBzYywgcmVzdW1pbmcpOwogICAgIH0KIAogICAgIC8qIEhlcmUs
IGRpc3BhdGNoIGRvbWN0bCB0byB0aGUgYXBwcm9wcmlhdGUgcGFnaW5nIGNv
ZGUgKi8KQEAgLTYxMiwxOCArNzMzLDI0IEBAIGludCBwYWdpbmdfZG9tY3Rs
KHN0cnVjdCBkb21haW4gKmQsIHhlbl8KIH0KIAogLyogQ2FsbCB3aGVuIGRl
c3Ryb3lpbmcgYSBkb21haW4gKi8KLXZvaWQgcGFnaW5nX3RlYXJkb3duKHN0
cnVjdCBkb21haW4gKmQpCitpbnQgcGFnaW5nX3RlYXJkb3duKHN0cnVjdCBk
b21haW4gKmQpCiB7CisgICAgaW50IHJjOworCiAgICAgaWYgKCBoYXBfZW5h
YmxlZChkKSApCiAgICAgICAgIGhhcF90ZWFyZG93bihkKTsKICAgICBlbHNl
CiAgICAgICAgIHNoYWRvd190ZWFyZG93bihkKTsKIAogICAgIC8qIGNsZWFu
IHVwIGxvZyBkaXJ0eSByZXNvdXJjZXMuICovCi0gICAgcGFnaW5nX2xvZ19k
aXJ0eV90ZWFyZG93bihkKTsKKyAgICByYyA9IHBhZ2luZ19mcmVlX2xvZ19k
aXJ0eV9iaXRtYXAoZCwgMCk7CisgICAgaWYgKCByYyA9PSAtRUFHQUlOICkK
KyAgICAgICAgcmV0dXJuIHJjOwogCiAgICAgLyogTW92ZSBwb3B1bGF0ZS1v
bi1kZW1hbmQgY2FjaGUgYmFjayB0byBkb21haW5fbGlzdCBmb3IgZGVzdHJ1
Y3Rpb24gKi8KICAgICBwMm1fcG9kX2VtcHR5X2NhY2hlKGQpOworCisgICAg
cmV0dXJuIHJjOwogfQogCiAvKiBDYWxsIG9uY2UgYWxsIG9mIHRoZSByZWZl
cmVuY2VzIHRvIHRoZSBkb21haW4gaGF2ZSBnb25lIGF3YXkgKi8KLS0tIGEv
eGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYworKysgYi94ZW4vYXJj
aC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCkBAIC0zNzA2LDggKzM3MDYsNyBA
QCBpbnQgc2hhZG93X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLCAKICAgICAg
ICAgcGFnaW5nX3VubG9jayhkKTsKICAgICAgICAgaWYgKCBwcmVlbXB0ZWQg
KQogICAgICAgICAgICAgLyogTm90IGZpbmlzaGVkLiAgU2V0IHVwIHRvIHJl
LXJ1biB0aGUgY2FsbC4gKi8KLSAgICAgICAgICAgIHJjID0gaHlwZXJjYWxs
X2NyZWF0ZV9jb250aW51YXRpb24oCi0gICAgICAgICAgICAgICAgX19IWVBF
UlZJU09SX2RvbWN0bCwgImgiLCB1X2RvbWN0bCk7CisgICAgICAgICAgICBy
YyA9IC1FQUdBSU47CiAgICAgICAgIGVsc2UgCiAgICAgICAgICAgICAvKiBG
aW5pc2hlZC4gIFJldHVybiB0aGUgbmV3IGFsbG9jYXRpb24gKi8KICAgICAg
ICAgICAgIHNjLT5tYiA9IHNoYWRvd19nZXRfYWxsb2NhdGlvbihkKTsKLS0t
IGEveGVuL2NvbW1vbi9kb21haW4uYworKysgYi94ZW4vY29tbW9uL2RvbWFp
bi5jCkBAIC01MzYsNyArNTM2LDYgQEAgaW50IGRvbWFpbl9raWxsKHN0cnVj
dCBkb21haW4gKmQpCiAgICAgICAgIHJjID0gZG9tYWluX3JlbGlucXVpc2hf
cmVzb3VyY2VzKGQpOwogICAgICAgICBpZiAoIHJjICE9IDAgKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBCVUdfT04ocmMgIT0gLUVBR0FJTik7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBpZiAoIHNjaGVk
X21vdmVfZG9tYWluKGQsIGNwdXBvb2wwKSApCi0tLSBhL3hlbi9pbmNsdWRl
L2FzbS14ODYvZG9tYWluLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9k
b21haW4uaApAQCAtMTg2LDYgKzE4NiwyMCBAQCBzdHJ1Y3QgcGFnaW5nX2Rv
bWFpbiB7CiAgICAgc3RydWN0IGhhcF9kb21haW4gICAgICAgaGFwOwogICAg
IC8qIGxvZyBkaXJ0eSBzdXBwb3J0ICovCiAgICAgc3RydWN0IGxvZ19kaXJ0
eV9kb21haW4gbG9nX2RpcnR5OworCisgICAgLyogcHJlZW1wdGlvbiBoYW5k
bGluZyAqLworICAgIHN0cnVjdCB7CisgICAgICAgIHN0cnVjdCB2Y3B1ICp2
Y3B1OworICAgICAgICB1bnNpZ25lZCBpbnQgb3A7CisgICAgICAgIHVuaW9u
IHsKKyAgICAgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICAgICAgdW5z
aWduZWQgbG9uZyBkb25lOlBBRERSX0JJVFMgLSBQQUdFX1NISUZUOworICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaTQ6UEFHRVRBQkxFX09SREVS
OworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaTM6UEFHRVRBQkxF
X09SREVSOworICAgICAgICAgICAgfSBsb2dfZGlydHk7CisgICAgICAgIH07
CisgICAgfSBwcmVlbXB0OworCiAgICAgLyogYWxsb2MvZnJlZSBwYWdlcyBm
cm9tIHRoZSBwb29sIGZvciBwYWdpbmctYXNzaXN0YW5jZSBzdHJ1Y3R1cmVz
CiAgICAgICogKHVzZWQgYnkgcDJtIGFuZCBsb2ctZGlydHkgY29kZSBmb3Ig
dGhlaXIgdHJpZXMpICovCiAgICAgc3RydWN0IHBhZ2VfaW5mbyAqICgqYWxs
b2NfcGFnZSkoc3RydWN0IGRvbWFpbiAqZCk7Ci0tLSBhL3hlbi9pbmNsdWRl
L2FzbS14ODYvcGFnaW5nLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9w
YWdpbmcuaApAQCAtMTMzLDkgKzEzMyw2IEBAIHN0cnVjdCBwYWdpbmdfbW9k
ZSB7CiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIExv
ZyBkaXJ0eSBjb2RlICovCiAKLS8qIGZyZWUgbG9nIGRpcnR5IGJpdG1hcCBy
ZXNvdXJjZSAqLwotdm9pZCBwYWdpbmdfZnJlZV9sb2dfZGlydHlfYml0bWFw
KHN0cnVjdCBkb21haW4gKmQpOwotCiAvKiBnZXQgdGhlIGRpcnR5IGJpdG1h
cCBmb3IgYSBzcGVjaWZpYyByYW5nZSBvZiBwZm5zICovCiB2b2lkIHBhZ2lu
Z19sb2dfZGlydHlfcmFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGJlZ2luX3BmbiwK
QEAgLTE0NSw5ICsxNDIsNiBAQCB2b2lkIHBhZ2luZ19sb2dfZGlydHlfcmFu
Z2Uoc3RydWN0IGRvbWFpCiAvKiBlbmFibGUgbG9nIGRpcnR5ICovCiBpbnQg
cGFnaW5nX2xvZ19kaXJ0eV9lbmFibGUoc3RydWN0IGRvbWFpbiAqZCwgYm9v
bF90IGxvZ19nbG9iYWwpOwogCi0vKiBkaXNhYmxlIGxvZyBkaXJ0eSAqLwot
aW50IHBhZ2luZ19sb2dfZGlydHlfZGlzYWJsZShzdHJ1Y3QgZG9tYWluICpk
KTsKLQogLyogbG9nIGRpcnR5IGluaXRpYWxpemF0aW9uICovCiB2b2lkIHBh
Z2luZ19sb2dfZGlydHlfaW5pdChzdHJ1Y3QgZG9tYWluICpkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50ICAoKmVuYWJsZV9sb2dfZGlydHkp
KHN0cnVjdCBkb21haW4gKmQsCkBAIC0yMDcsNyArMjAxLDcgQEAgaW50IHBh
Z2luZ19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgeGVuXwogICAgICAgICAg
ICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSB1X2RvbWN0
bCk7CiAKIC8qIENhbGwgd2hlbiBkZXN0cm95aW5nIGEgZG9tYWluICovCi12
b2lkIHBhZ2luZ190ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkKTsKK2ludCBw
YWdpbmdfdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCk7CiAKIC8qIENhbGwg
b25jZSBhbGwgb2YgdGhlIHJlZmVyZW5jZXMgdG8gdGhlIGRvbWFpbiBoYXZl
IGdvbmUgYXdheSAqLwogdm9pZCBwYWdpbmdfZmluYWxfdGVhcmRvd24oc3Ry
dWN0IGRvbWFpbiAqZCk7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa97-hap-unstable.patch"
Content-Disposition: attachment; filename="xsa97-hap-unstable.patch"
Content-Transfer-Encoding: base64

eDg2L3BhZ2luZzogbWFrZSBsb2ctZGlydHkgb3BlcmF0aW9ucyBwcmVlbXB0
aWJsZQoKQm90aCB0aGUgZnJlZWluZyBhbmQgdGhlIGluc3BlY3Rpb24gb2Yg
dGhlIGJpdG1hcCBnZXQgZG9uZSBpbiAobmVzdGVkKQpsb29wcyB3aGljaCAt
IGJlc2lkZXMgaGF2aW5nIGEgcmF0aGVyIGhpZ2ggaXRlcmF0aW9uIGNvdW50
IGluIGdlbmVyYWwsCmFsYmVpdCB0aGF0IHdvdWxkIGJlIGNvdmVyZWQgYnkg
WFNBLTc3IC0gaGF2ZSB0aGUgbnVtYmVyIG9mIG5vbi10cml2aWFsCml0ZXJh
dGlvbnMgdGhleSBuZWVkIHRvIHBlcmZvcm0gKGluZGlyZWN0bHkpIGNvbnRy
b2xsYWJsZSBieSBib3RoIHRoZQpndWVzdCB0aGV5IGFyZSBmb3IgYW5kIGFu
eSBkb21haW4gY29udHJvbGxpbmcgdGhlIGd1ZXN0IChpbmNsdWRpbmcgdGhl
Cm9uZSBydW5uaW5nIHFlbXUgZm9yIGl0KS4KClRoaXMgaXMgWFNBLTk3LgoK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CgotLS0g
YS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2Rv
bWFpbi5jCkBAIC0xOTA3LDcgKzE5MDcsOSBAQCBpbnQgZG9tYWluX3JlbGlu
cXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkCiAgICAgICAgIHBjaV9yZWxlYXNl
X2RldmljZXMoZCk7CiAKICAgICAgICAgLyogVGVhciBkb3duIHBhZ2luZy1h
c3Npc3RhbmNlIHN0dWZmLiAqLwotICAgICAgICBwYWdpbmdfdGVhcmRvd24o
ZCk7CisgICAgICAgIHJldCA9IHBhZ2luZ190ZWFyZG93bihkKTsKKyAgICAg
ICAgaWYgKCByZXQgKQorICAgICAgICAgICAgcmV0dXJuIHJldDsKIAogICAg
ICAgICAvKiBEcm9wIHRoZSBpbi11c2UgcmVmZXJlbmNlcyB0byBwYWdlLXRh
YmxlIGJhc2VzLiAqLwogICAgICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiAp
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94ZW4vYXJjaC94
ODYvZG9tY3RsLmMKQEAgLTY0LDYgKzY0LDkgQEAgbG9uZyBhcmNoX2RvX2Rv
bWN0bCgKICAgICAgICAgcmV0ID0gcGFnaW5nX2RvbWN0bChkLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUuc2hhZG93X29wLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0X2hhbmRsZV9jYXN0
KHVfZG9tY3RsLCB2b2lkKSk7CisgICAgICAgIGlmICggcmV0ID09IC1FUkVT
VEFSVCApCisgICAgICAgICAgICByZXR1cm4gaHlwZXJjYWxsX2NyZWF0ZV9j
b250aW51YXRpb24oX19IWVBFUlZJU09SX2RvbWN0bCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaCIsIHVf
ZG9tY3RsKTsKICAgICAgICAgY29weWJhY2sgPSAxOwogICAgIH0KICAgICBi
cmVhazsKLS0tIGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYworKysgYi94
ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jCkBAIC01ODIsOCArNTgyLDcgQEAg
aW50IGhhcF9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgeGVuX2RvbQogICAg
ICAgICBwYWdpbmdfdW5sb2NrKGQpOwogICAgICAgICBpZiAoIHByZWVtcHRl
ZCApCiAgICAgICAgICAgICAvKiBOb3QgZmluaXNoZWQuICBTZXQgdXAgdG8g
cmUtcnVuIHRoZSBjYWxsLiAqLwotICAgICAgICAgICAgcmMgPSBoeXBlcmNh
bGxfY3JlYXRlX2NvbnRpbnVhdGlvbihfX0hZUEVSVklTT1JfZG9tY3RsLCAi
aCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVfZG9tY3RsKTsKKyAgICAgICAgICAgIHJjID0gLUVSRVNUQVJU
OwogICAgICAgICBlbHNlCiAgICAgICAgICAgICAvKiBGaW5pc2hlZC4gIFJl
dHVybiB0aGUgbmV3IGFsbG9jYXRpb24gKi8KICAgICAgICAgICAgIHNjLT5t
YiA9IGhhcF9nZXRfYWxsb2NhdGlvbihkKTsKLS0tIGEveGVuL2FyY2gveDg2
L21tL3BhZ2luZy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpA
QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGFzbS9zaGFkb3cuaD4KICNp
bmNsdWRlIDxhc20vcDJtLmg+CiAjaW5jbHVkZSA8YXNtL2hhcC5oPgorI2lu
Y2x1ZGUgPGFzbS9ldmVudC5oPgogI2luY2x1ZGUgPGFzbS9odm0vbmVzdGVk
aHZtLmg+CiAjaW5jbHVkZSA8eGVuL251bWEuaD4KICNpbmNsdWRlIDx4c20v
eHNtLmg+CkBAIC0xMTYsMjYgKzExNyw0NiBAQCBzdGF0aWMgdm9pZCBwYWdp
bmdfZnJlZV9sb2dfZGlydHlfcGFnZShzCiAgICAgZC0+YXJjaC5wYWdpbmcu
ZnJlZV9wYWdlKGQsIG1mbl90b19wYWdlKG1mbikpOwogfQogCi12b2lkIHBh
Z2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXAoc3RydWN0IGRvbWFpbiAqZCkK
K3N0YXRpYyBpbnQgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1
Y3QgZG9tYWluICpkLCBpbnQgcmMpCiB7CiAgICAgbWZuX3QgKmw0LCAqbDMs
ICpsMjsKICAgICBpbnQgaTQsIGkzLCBpMjsKIAorICAgIHBhZ2luZ19sb2Nr
KGQpOworCiAgICAgaWYgKCAhbWZuX3ZhbGlkKGQtPmFyY2gucGFnaW5nLmxv
Z19kaXJ0eS50b3ApICkKLSAgICAgICAgcmV0dXJuOworICAgIHsKKyAgICAg
ICAgcGFnaW5nX3VubG9jayhkKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQogCi0gICAgcGFnaW5nX2xvY2soZCk7CisgICAgaWYgKCAhZC0+YXJjaC5w
YWdpbmcucHJlZW1wdC52Y3B1ICkKKyAgICB7CisgICAgICAgIG1lbXNldCgm
ZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHksIDAsCisgICAgICAg
ICAgICAgICBzaXplb2YoZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGly
dHkpKTsKKyAgICAgICAgQVNTRVJUKHJjIDw9IDApOworICAgICAgICBkLT5h
cmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5kb25lID0gLXJjOworICAg
IH0KKyAgICBlbHNlIGlmICggZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1
ICE9IGN1cnJlbnQgfHwKKyAgICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcu
cHJlZW1wdC5vcCAhPSBYRU5fRE9NQ1RMX1NIQURPV19PUF9PRkYgKQorICAg
IHsKKyAgICAgICAgcGFnaW5nX3VubG9jayhkKTsKKyAgICAgICAgcmV0dXJu
IC1FQlVTWTsKKyAgICB9CiAKICAgICBsNCA9IG1hcF9kb21haW5fcGFnZSht
Zm5feChkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkudG9wKSk7CisgICAgaTQg
PSBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5pNDsKKyAgICBp
MyA9IGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzOworICAg
IHJjID0gMDsKIAotICAgIGZvciAoIGk0ID0gMDsgaTQgPCBMT0dESVJUWV9O
T0RFX0VOVFJJRVM7IGk0KysgKQorICAgIGZvciAoIDsgaTQgPCBMT0dESVJU
WV9OT0RFX0VOVFJJRVM7IGk0KyssIGkzID0gMCApCiAgICAgewogICAgICAg
ICBpZiAoICFtZm5fdmFsaWQobDRbaTRdKSApCiAgICAgICAgICAgICBjb250
aW51ZTsKIAogICAgICAgICBsMyA9IG1hcF9kb21haW5fcGFnZShtZm5feChs
NFtpNF0pKTsKIAotICAgICAgICBmb3IgKCBpMyA9IDA7IGkzIDwgTE9HRElS
VFlfTk9ERV9FTlRSSUVTOyBpMysrICkKKyAgICAgICAgZm9yICggOyBpMyA8
IExPR0RJUlRZX05PREVfRU5UUklFUzsgaTMrKyApCiAgICAgICAgIHsKICAg
ICAgICAgICAgIGlmICggIW1mbl92YWxpZChsM1tpM10pICkKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKQEAgLTE0OCwyMCArMTY5LDU0IEBAIHZvaWQg
cGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1Y3QKIAogICAgICAg
ICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDIpOwogICAgICAgICAgICAgcGFn
aW5nX2ZyZWVfbG9nX2RpcnR5X3BhZ2UoZCwgbDNbaTNdKTsKKyAgICAgICAg
ICAgIGwzW2kzXSA9IF9tZm4oSU5WQUxJRF9NRk4pOworCisgICAgICAgICAg
ICBpZiAoIGkzIDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0gMSAmJiBoeXBl
cmNhbGxfcHJlZW1wdF9jaGVjaygpICkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5p
MyA9IGkzICsgMTsKKyAgICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5w
cmVlbXB0LmxvZ19kaXJ0eS5pNCA9IGk0OworICAgICAgICAgICAgICAgIHJj
ID0gLUVSRVNUQVJUOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgdW5tYXBfZG9tYWluX3Bh
Z2UobDMpOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlfcGFnZShkLCBsNFtp
NF0pOworICAgICAgICBsNFtpNF0gPSBfbWZuKElOVkFMSURfTUZOKTsKKwor
ICAgICAgICBpZiAoIGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTIC0gMSAm
JiBoeXBlcmNhbGxfcHJlZW1wdF9jaGVjaygpICkKKyAgICAgICAgeworICAg
ICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTMg
PSAwOworICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2df
ZGlydHkuaTQgPSBpNCArIDE7CisgICAgICAgICAgICByYyA9IC1FUkVTVEFS
VDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgdW5tYXBfZG9tYWluX3BhZ2UobDQpOwotICAgIHBhZ2luZ19mcmVlX2xv
Z19kaXJ0eV9wYWdlKGQsIGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS50b3Ap
OwotICAgIGQtPmFyY2gucGFnaW5nLmxvZ19kaXJ0eS50b3AgPSBfbWZuKElO
VkFMSURfTUZOKTsKIAotICAgIEFTU0VSVChkLT5hcmNoLnBhZ2luZy5sb2df
ZGlydHkuYWxsb2NzID09IDApOwotICAgIGQtPmFyY2gucGFnaW5nLmxvZ19k
aXJ0eS5mYWlsZWRfYWxsb2NzID0gMDsKKyAgICBpZiAoICFyYyApCisgICAg
eworICAgICAgICBwYWdpbmdfZnJlZV9sb2dfZGlydHlfcGFnZShkLCBkLT5h
cmNoLnBhZ2luZy5sb2dfZGlydHkudG9wKTsKKyAgICAgICAgZC0+YXJjaC5w
YWdpbmcubG9nX2RpcnR5LnRvcCA9IF9tZm4oSU5WQUxJRF9NRk4pOworCisg
ICAgICAgIEFTU0VSVChkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuYWxsb2Nz
ID09IDApOworICAgICAgICBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuZmFp
bGVkX2FsbG9jcyA9IDA7CisKKyAgICAgICAgcmMgPSAtZC0+YXJjaC5wYWdp
bmcucHJlZW1wdC5sb2dfZGlydHkuZG9uZTsKKyAgICAgICAgZC0+YXJjaC5w
YWdpbmcucHJlZW1wdC52Y3B1ID0gTlVMTDsKKyAgICB9CisgICAgZWxzZQor
ICAgIHsKKyAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ID0g
Y3VycmVudDsKKyAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5vcCA9
IFhFTl9ET01DVExfU0hBRE9XX09QX09GRjsKKyAgICB9CiAKICAgICBwYWdp
bmdfdW5sb2NrKGQpOworCisgICAgcmV0dXJuIHJjOwogfQogCiBpbnQgcGFn
aW5nX2xvZ19kaXJ0eV9lbmFibGUoc3RydWN0IGRvbWFpbiAqZCwgYm9vbF90
IGxvZ19nbG9iYWwpCkBAIC0xODcsMTUgKzI0MiwyNSBAQCBpbnQgcGFnaW5n
X2xvZ19kaXJ0eV9lbmFibGUoc3RydWN0IGRvbWFpCiAgICAgcmV0dXJuIHJl
dDsKIH0KIAotaW50IHBhZ2luZ19sb2dfZGlydHlfZGlzYWJsZShzdHJ1Y3Qg
ZG9tYWluICpkKQorc3RhdGljIGludCBwYWdpbmdfbG9nX2RpcnR5X2Rpc2Fi
bGUoc3RydWN0IGRvbWFpbiAqZCwgYm9vbF90IHJlc3VtaW5nKQogewotICAg
IGludCByZXQ7CisgICAgaW50IHJldCA9IDE7CisKKyAgICBpZiAoICFyZXN1
bWluZyApCisgICAgeworICAgICAgICBkb21haW5fcGF1c2UoZCk7CisgICAg
ICAgIC8qIFNhZmUgYmVjYXVzZSB0aGUgZG9tYWluIGlzIHBhdXNlZC4gKi8K
KyAgICAgICAgcmV0ID0gZC0+YXJjaC5wYWdpbmcubG9nX2RpcnR5LmRpc2Fi
bGVfbG9nX2RpcnR5KGQpOworICAgICAgICBBU1NFUlQocmV0IDw9IDApOwor
ICAgIH0KIAotICAgIGRvbWFpbl9wYXVzZShkKTsKLSAgICAvKiBTYWZlIGJl
Y2F1c2UgdGhlIGRvbWFpbiBpcyBwYXVzZWQuICovCi0gICAgcmV0ID0gZC0+
YXJjaC5wYWdpbmcubG9nX2RpcnR5LmRpc2FibGVfbG9nX2RpcnR5KGQpOwog
ICAgIGlmICggIXBhZ2luZ19tb2RlX2xvZ19kaXJ0eShkKSApCi0gICAgICAg
IHBhZ2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXAoZCk7CisgICAgeworICAg
ICAgICByZXQgPSBwYWdpbmdfZnJlZV9sb2dfZGlydHlfYml0bWFwKGQsIHJl
dCk7CisgICAgICAgIGlmICggcmV0ID09IC1FUkVTVEFSVCApCisgICAgICAg
ICAgICByZXR1cm4gcmV0OworICAgIH0KKwogICAgIGRvbWFpbl91bnBhdXNl
KGQpOwogCiAgICAgcmV0dXJuIHJldDsKQEAgLTMzNSw3ICs0MDAsOSBAQCBp
bnQgcGFnaW5nX21mbl9pc19kaXJ0eShzdHJ1Y3QgZG9tYWluICpkCiAKIC8q
IFJlYWQgYSBkb21haW4ncyBsb2ctZGlydHkgYml0bWFwIGFuZCBzdGF0cy4g
IElmIHRoZSBvcGVyYXRpb24gaXMgYSBDTEVBTiwKICAqIGNsZWFyIHRoZSBi
aXRtYXAgYW5kIHN0YXRzIGFzIHdlbGwuICovCi1pbnQgcGFnaW5nX2xvZ19k
aXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVuX2RvbWN0bF9z
aGFkb3dfb3AgKnNjKQorc3RhdGljIGludCBwYWdpbmdfbG9nX2RpcnR5X29w
KHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IHhlbl9kb21jdGxfc2hhZG93X29wICpzYywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgcmVzdW1pbmcpCiB7
CiAgICAgaW50IHJ2ID0gMCwgY2xlYW4gPSAwLCBwZWVrID0gMTsKICAgICB1
bnNpZ25lZCBsb25nIHBhZ2VzID0gMDsKQEAgLTM0Myw5ICs0MTAsMjIgQEAg
aW50IHBhZ2luZ19sb2dfZGlydHlfb3Aoc3RydWN0IGRvbWFpbiAqZAogICAg
IHVuc2lnbmVkIGxvbmcgKmwxID0gTlVMTDsKICAgICBpbnQgaTQsIGkzLCBp
MjsKIAotICAgIGRvbWFpbl9wYXVzZShkKTsKKyAgICBpZiAoICFyZXN1bWlu
ZyApCisgICAgICAgIGRvbWFpbl9wYXVzZShkKTsKICAgICBwYWdpbmdfbG9j
ayhkKTsKIAorICAgIGlmICggIWQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNw
dSApCisgICAgICAgIG1lbXNldCgmZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5s
b2dfZGlydHksIDAsCisgICAgICAgICAgICAgICBzaXplb2YoZC0+YXJjaC5w
YWdpbmcucHJlZW1wdC5sb2dfZGlydHkpKTsKKyAgICBlbHNlIGlmICggZC0+
YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ICE9IGN1cnJlbnQgfHwKKyAgICAg
ICAgICAgICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5vcCAhPSBzYy0+b3Ag
KQorICAgIHsKKyAgICAgICAgcGFnaW5nX3VubG9jayhkKTsKKyAgICAgICAg
QVNTRVJUKCFyZXN1bWluZyk7CisgICAgICAgIGRvbWFpbl91bnBhdXNlKGQp
OworICAgICAgICByZXR1cm4gLUVCVVNZOworICAgIH0KKwogICAgIGNsZWFu
ID0gKHNjLT5vcCA9PSBYRU5fRE9NQ1RMX1NIQURPV19PUF9DTEVBTik7CiAK
ICAgICBQQUdJTkdfREVCVUcoTE9HRElSVFksICJsb2ctZGlydHkgJXM6IGRv
bSAldSBmYXVsdHM9JXUgZGlydHk9JXVcbiIsCkBAIC0zNzQsMTcgKzQ1NCwx
NSBAQCBpbnQgcGFnaW5nX2xvZ19kaXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpk
CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAotICAgIHBhZ2VzID0gMDsK
ICAgICBsNCA9IHBhZ2luZ19tYXBfbG9nX2RpcnR5X2JpdG1hcChkKTsKKyAg
ICBpNCA9IGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5Lmk0Owor
ICAgIGkzID0gZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTM7
CisgICAgcGFnZXMgPSBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0
eS5kb25lOwogCi0gICAgZm9yICggaTQgPSAwOwotICAgICAgICAgIChwYWdl
cyA8IHNjLT5wYWdlcykgJiYgKGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVT
KTsKLSAgICAgICAgICBpNCsrICkKKyAgICBmb3IgKCA7IChwYWdlcyA8IHNj
LT5wYWdlcykgJiYgKGk0IDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTKTsgaTQr
KywgaTMgPSAwICkKICAgICB7CiAgICAgICAgIGwzID0gKGw0ICYmIG1mbl92
YWxpZChsNFtpNF0pKSA/IG1hcF9kb21haW5fcGFnZShtZm5feChsNFtpNF0p
KSA6IE5VTEw7Ci0gICAgICAgIGZvciAoIGkzID0gMDsKLSAgICAgICAgICAg
ICAgKHBhZ2VzIDwgc2MtPnBhZ2VzKSAmJiAoaTMgPCBMT0dESVJUWV9OT0RF
X0VOVFJJRVMpOwotICAgICAgICAgICAgICBpMysrICkKKyAgICAgICAgZm9y
ICggOyAocGFnZXMgPCBzYy0+cGFnZXMpICYmIChpMyA8IExPR0RJUlRZX05P
REVfRU5UUklFUyk7IGkzKysgKQogICAgICAgICB7CiAgICAgICAgICAgICBs
MiA9ICgobDMgJiYgbWZuX3ZhbGlkKGwzW2kzXSkpID8KICAgICAgICAgICAg
ICAgICAgIG1hcF9kb21haW5fcGFnZShtZm5feChsM1tpM10pKSA6IE5VTEwp
OwpAQCAtNDE5LDE4ICs0OTcsNTEgQEAgaW50IHBhZ2luZ19sb2dfZGlydHlf
b3Aoc3RydWN0IGRvbWFpbiAqZAogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgaWYgKCBsMiApCiAgICAgICAgICAgICAgICAgdW5tYXBfZG9tYWluX3Bh
Z2UobDIpOworCisgICAgICAgICAgICBpZiAoIGkzIDwgTE9HRElSVFlfTk9E
RV9FTlRSSUVTIC0gMSAmJiBoeXBlcmNhbGxfcHJlZW1wdF9jaGVjaygpICkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2lu
Zy5wcmVlbXB0LmxvZ19kaXJ0eS5pNCA9IGk0OworICAgICAgICAgICAgICAg
IGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzID0gaTMgKyAx
OworICAgICAgICAgICAgICAgIHJ2ID0gLUVSRVNUQVJUOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
ICAgIGlmICggbDMgKQogICAgICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2Uo
bDMpOworCisgICAgICAgIGlmICggIXJ2ICYmIGk0IDwgTE9HRElSVFlfTk9E
RV9FTlRSSUVTIC0gMSAmJgorICAgICAgICAgICAgIGh5cGVyY2FsbF9wcmVl
bXB0X2NoZWNrKCkgKQorICAgICAgICB7CisgICAgICAgICAgICBkLT5hcmNo
LnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5pNCA9IGk0ICsgMTsKKyAgICAg
ICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmkzID0g
MDsKKyAgICAgICAgICAgIHJ2ID0gLUVSRVNUQVJUOworICAgICAgICB9Cisg
ICAgICAgIGlmICggcnYgKQorICAgICAgICAgICAgYnJlYWs7CiAgICAgfQog
ICAgIGlmICggbDQgKQogICAgICAgICB1bm1hcF9kb21haW5fcGFnZShsNCk7
CiAKLSAgICBpZiAoIHBhZ2VzIDwgc2MtPnBhZ2VzICkKLSAgICAgICAgc2Mt
PnBhZ2VzID0gcGFnZXM7CisgICAgaWYgKCAhcnYgKQorICAgICAgICBkLT5h
cmNoLnBhZ2luZy5wcmVlbXB0LnZjcHUgPSBOVUxMOworICAgIGVsc2UKKyAg
ICB7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNwdSA9IGN1
cnJlbnQ7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQub3AgPSBz
Yy0+b3A7CisgICAgICAgIGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2Rp
cnR5LmRvbmUgPSBwYWdlczsKKyAgICB9CiAKICAgICBwYWdpbmdfdW5sb2Nr
KGQpOwogCisgICAgaWYgKCBydiApCisgICAgeworICAgICAgICAvKiBOZXZl
ciBsZWF2ZSB0aGUgZG9tYWluIHBhdXNlZCBmb3Igb3RoZXIgZXJyb3JzLiAq
LworICAgICAgICBBU1NFUlQocnYgPT0gLUVSRVNUQVJUKTsKKyAgICAgICAg
cmV0dXJuIHJ2OworICAgIH0KKworICAgIGlmICggcGFnZXMgPCBzYy0+cGFn
ZXMgKQorICAgICAgICBzYy0+cGFnZXMgPSBwYWdlczsKICAgICBpZiAoIGNs
ZWFuICkKICAgICB7CiAgICAgICAgIC8qIFdlIG5lZWQgdG8gZnVydGhlciBj
YWxsIGNsZWFuX2RpcnR5X2JpdG1hcCgpIGZ1bmN0aW9ucyBvZiBzcGVjaWZp
YwpAQCAtNDQxLDYgKzU1Miw3IEBAIGludCBwYWdpbmdfbG9nX2RpcnR5X29w
KHN0cnVjdCBkb21haW4gKmQKICAgICByZXR1cm4gcnY7CiAKICBvdXQ6Cisg
ICAgZC0+YXJjaC5wYWdpbmcucHJlZW1wdC52Y3B1ID0gTlVMTDsKICAgICBw
YWdpbmdfdW5sb2NrKGQpOwogICAgIGRvbWFpbl91bnBhdXNlKGQpOwogCkBA
IC01MDQsMTIgKzYxNiw2IEBAIHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV9pbml0
KHN0cnVjdCBkb21haW4KICAgICBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHku
Y2xlYW5fZGlydHlfYml0bWFwID0gY2xlYW5fZGlydHlfYml0bWFwOwogfQog
Ci0vKiBUaGlzIGZ1bmN0aW9uIGZyZXNzIGxvZyBkaXJ0eSBiaXRtYXAgcmVz
b3VyY2VzLiAqLwotc3RhdGljIHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV90ZWFy
ZG93bihzdHJ1Y3QgZG9tYWluKmQpCi17Ci0gICAgcGFnaW5nX2ZyZWVfbG9n
X2RpcnR5X2JpdG1hcChkKTsKLX0KLQogLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qICAgICAgICAgICBD
T0RFIEZPUiBQQUdJTkcgU1VQUE9SVCAgICAgICAgICAgICovCiAvKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpA
QCAtNTUzLDYgKzY1OSw3IEBAIHZvaWQgcGFnaW5nX3ZjcHVfaW5pdChzdHJ1
Y3QgdmNwdSAqdikKIGludCBwYWdpbmdfZG9tY3RsKHN0cnVjdCBkb21haW4g
KmQsIHhlbl9kb21jdGxfc2hhZG93X29wX3QgKnNjLAogICAgICAgICAgICAg
ICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSB1X2RvbWN0bCkK
IHsKKyAgICBib29sX3QgcmVzdW1pbmcgPSAwOwogICAgIGludCByYzsKIAog
ICAgIGlmICggdW5saWtlbHkoZCA9PSBjdXJyZW50LT5kb21haW4pICkKQEAg
LTU3NSw2ICs2ODIsMTkgQEAgaW50IHBhZ2luZ19kb21jdGwoc3RydWN0IGRv
bWFpbiAqZCwgeGVuXwogICAgICAgICByZXR1cm4gLUVJTlZBTDsKICAgICB9
CiAKKyAgICBpZiAoIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNwdSApCisg
ICAgeworICAgICAgICBpZiAoIGQtPmFyY2gucGFnaW5nLnByZWVtcHQudmNw
dSAhPSBjdXJyZW50IHx8CisgICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcu
cHJlZW1wdC5vcCAhPSBzYy0+b3AgKQorICAgICAgICB7CisgICAgICAgICAg
ICBwcmludGsoWEVOTE9HX0dfREVCVUcKKyAgICAgICAgICAgICAgICAgICAi
JXB2OiBQYWdpbmcgb3AgJSN4IG9uIERvbSV1IHdpdGggdW5maW5pc2hlZCBw
cmlvciBvcCAlI3hcbiIsCisgICAgICAgICAgICAgICAgICAgY3VycmVudCwg
c2MtPm9wLCBkLT5kb21haW5faWQsIGQtPmFyY2gucGFnaW5nLnByZWVtcHQu
b3ApOworICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKKyAgICAgICAgfQor
ICAgICAgICByZXN1bWluZyA9IDE7CisgICAgfQorCiAgICAgcmMgPSB4c21f
c2hhZG93X2NvbnRyb2woWFNNX0hPT0ssIGQsIHNjLT5vcCk7CiAgICAgaWYg
KCByYyApCiAgICAgICAgIHJldHVybiByYzsKQEAgLTYwMCwxMyArNzIwLDEz
IEBAIGludCBwYWdpbmdfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHhlbl8K
IAogICAgIGNhc2UgWEVOX0RPTUNUTF9TSEFET1dfT1BfT0ZGOgogICAgICAg
ICBpZiAoIHBhZ2luZ19tb2RlX2xvZ19kaXJ0eShkKSApCi0gICAgICAgICAg
ICBpZiAoIChyYyA9IHBhZ2luZ19sb2dfZGlydHlfZGlzYWJsZShkKSkgIT0g
MCApCisgICAgICAgICAgICBpZiAoIChyYyA9IHBhZ2luZ19sb2dfZGlydHlf
ZGlzYWJsZShkLCByZXN1bWluZykpICE9IDAgKQogICAgICAgICAgICAgICAg
IHJldHVybiByYzsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFhFTl9E
T01DVExfU0hBRE9XX09QX0NMRUFOOgogICAgIGNhc2UgWEVOX0RPTUNUTF9T
SEFET1dfT1BfUEVFSzoKLSAgICAgICAgcmV0dXJuIHBhZ2luZ19sb2dfZGly
dHlfb3AoZCwgc2MpOworICAgICAgICByZXR1cm4gcGFnaW5nX2xvZ19kaXJ0
eV9vcChkLCBzYywgcmVzdW1pbmcpOwogICAgIH0KIAogICAgIC8qIEhlcmUs
IGRpc3BhdGNoIGRvbWN0bCB0byB0aGUgYXBwcm9wcmlhdGUgcGFnaW5nIGNv
ZGUgKi8KQEAgLTYxNywxOCArNzM3LDI0IEBAIGludCBwYWdpbmdfZG9tY3Rs
KHN0cnVjdCBkb21haW4gKmQsIHhlbl8KIH0KIAogLyogQ2FsbCB3aGVuIGRl
c3Ryb3lpbmcgYSBkb21haW4gKi8KLXZvaWQgcGFnaW5nX3RlYXJkb3duKHN0
cnVjdCBkb21haW4gKmQpCitpbnQgcGFnaW5nX3RlYXJkb3duKHN0cnVjdCBk
b21haW4gKmQpCiB7CisgICAgaW50IHJjOworCiAgICAgaWYgKCBoYXBfZW5h
YmxlZChkKSApCiAgICAgICAgIGhhcF90ZWFyZG93bihkKTsKICAgICBlbHNl
CiAgICAgICAgIHNoYWRvd190ZWFyZG93bihkKTsKIAogICAgIC8qIGNsZWFu
IHVwIGxvZyBkaXJ0eSByZXNvdXJjZXMuICovCi0gICAgcGFnaW5nX2xvZ19k
aXJ0eV90ZWFyZG93bihkKTsKKyAgICByYyA9IHBhZ2luZ19mcmVlX2xvZ19k
aXJ0eV9iaXRtYXAoZCwgMCk7CisgICAgaWYgKCByYyA9PSAtRVJFU1RBUlQg
KQorICAgICAgICByZXR1cm4gcmM7CiAKICAgICAvKiBNb3ZlIHBvcHVsYXRl
LW9uLWRlbWFuZCBjYWNoZSBiYWNrIHRvIGRvbWFpbl9saXN0IGZvciBkZXN0
cnVjdGlvbiAqLwogICAgIHAybV9wb2RfZW1wdHlfY2FjaGUoZCk7CisKKyAg
ICByZXR1cm4gcmM7CiB9CiAKIC8qIENhbGwgb25jZSBhbGwgb2YgdGhlIHJl
ZmVyZW5jZXMgdG8gdGhlIGRvbWFpbiBoYXZlIGdvbmUgYXdheSAqLwotLS0g
YS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCisrKyBiL3hlbi9h
cmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKQEAgLTM3MDUsOCArMzcwNSw3
IEBAIGludCBzaGFkb3dfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIAogICAg
ICAgICBwYWdpbmdfdW5sb2NrKGQpOwogICAgICAgICBpZiAoIHByZWVtcHRl
ZCApCiAgICAgICAgICAgICAvKiBOb3QgZmluaXNoZWQuICBTZXQgdXAgdG8g
cmUtcnVuIHRoZSBjYWxsLiAqLwotICAgICAgICAgICAgcmMgPSBoeXBlcmNh
bGxfY3JlYXRlX2NvbnRpbnVhdGlvbigKLSAgICAgICAgICAgICAgICBfX0hZ
UEVSVklTT1JfZG9tY3RsLCAiaCIsIHVfZG9tY3RsKTsKKyAgICAgICAgICAg
IHJjID0gLUVSRVNUQVJUOwogICAgICAgICBlbHNlIAogICAgICAgICAgICAg
LyogRmluaXNoZWQuICBSZXR1cm4gdGhlIG5ldyBhbGxvY2F0aW9uICovCiAg
ICAgICAgICAgICBzYy0+bWIgPSBzaGFkb3dfZ2V0X2FsbG9jYXRpb24oZCk7
Ci0tLSBhL3hlbi9jb21tb24vZG9tYWluLmMKKysrIGIveGVuL2NvbW1vbi9k
b21haW4uYwpAQCAtNjExLDcgKzYxMSw2IEBAIGludCBkb21haW5fa2lsbChz
dHJ1Y3QgZG9tYWluICpkKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAo
IHJjID09IC1FUkVTVEFSVCApCiAgICAgICAgICAgICAgICAgcmMgPSAtRUFH
QUlOOwotICAgICAgICAgICAgQlVHX09OKHJjICE9IC1FQUdBSU4pOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCBzY2hl
ZF9tb3ZlX2RvbWFpbihkLCBjcHVwb29sMCkgKQotLS0gYS94ZW4vaW5jbHVk
ZS9hc20teDg2L2RvbWFpbi5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYv
ZG9tYWluLmgKQEAgLTE4Niw2ICsxODYsMjAgQEAgc3RydWN0IHBhZ2luZ19k
b21haW4gewogICAgIHN0cnVjdCBoYXBfZG9tYWluICAgICAgIGhhcDsKICAg
ICAvKiBsb2cgZGlydHkgc3VwcG9ydCAqLwogICAgIHN0cnVjdCBsb2dfZGly
dHlfZG9tYWluIGxvZ19kaXJ0eTsKKworICAgIC8qIHByZWVtcHRpb24gaGFu
ZGxpbmcgKi8KKyAgICBzdHJ1Y3QgeworICAgICAgICBzdHJ1Y3QgdmNwdSAq
dmNwdTsKKyAgICAgICAgdW5zaWduZWQgaW50IG9wOworICAgICAgICB1bmlv
biB7CisgICAgICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGxvbmcgZG9uZTpQQUREUl9CSVRTIC0gUEFHRV9TSElGVDsKKyAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGk0OlBBR0VUQUJMRV9PUkRF
UjsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGkzOlBBR0VUQUJM
RV9PUkRFUjsKKyAgICAgICAgICAgIH0gbG9nX2RpcnR5OworICAgICAgICB9
OworICAgIH0gcHJlZW1wdDsKKwogICAgIC8qIGFsbG9jL2ZyZWUgcGFnZXMg
ZnJvbSB0aGUgcG9vbCBmb3IgcGFnaW5nLWFzc2lzdGFuY2Ugc3RydWN0dXJl
cwogICAgICAqICh1c2VkIGJ5IHAybSBhbmQgbG9nLWRpcnR5IGNvZGUgZm9y
IHRoZWlyIHRyaWVzKSAqLwogICAgIHN0cnVjdCBwYWdlX2luZm8gKiAoKmFs
bG9jX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQpOwotLS0gYS94ZW4vaW5jbHVk
ZS9hc20teDg2L3BhZ2luZy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYv
cGFnaW5nLmgKQEAgLTEzMiw5ICsxMzIsNiBAQCBzdHJ1Y3QgcGFnaW5nX21v
ZGUgewogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBM
b2cgZGlydHkgY29kZSAqLwogCi0vKiBmcmVlIGxvZyBkaXJ0eSBiaXRtYXAg
cmVzb3VyY2UgKi8KLXZvaWQgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1h
cChzdHJ1Y3QgZG9tYWluICpkKTsKLQogLyogZ2V0IHRoZSBkaXJ0eSBiaXRt
YXAgZm9yIGEgc3BlY2lmaWMgcmFuZ2Ugb2YgcGZucyAqLwogdm9pZCBwYWdp
bmdfbG9nX2RpcnR5X3JhbmdlKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBiZWdpbl9wZm4s
CkBAIC0xNDQsOSArMTQxLDYgQEAgdm9pZCBwYWdpbmdfbG9nX2RpcnR5X3Jh
bmdlKHN0cnVjdCBkb21haQogLyogZW5hYmxlIGxvZyBkaXJ0eSAqLwogaW50
IHBhZ2luZ19sb2dfZGlydHlfZW5hYmxlKHN0cnVjdCBkb21haW4gKmQsIGJv
b2xfdCBsb2dfZ2xvYmFsKTsKIAotLyogZGlzYWJsZSBsb2cgZGlydHkgKi8K
LWludCBwYWdpbmdfbG9nX2RpcnR5X2Rpc2FibGUoc3RydWN0IGRvbWFpbiAq
ZCk7Ci0KIC8qIGxvZyBkaXJ0eSBpbml0aWFsaXphdGlvbiAqLwogdm9pZCBw
YWdpbmdfbG9nX2RpcnR5X2luaXQoc3RydWN0IGRvbWFpbiAqZCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCAgKCplbmFibGVfbG9nX2RpcnR5
KShzdHJ1Y3QgZG9tYWluICpkLApAQCAtMjA2LDcgKzIwMCw3IEBAIGludCBw
YWdpbmdfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHhlbl8KICAgICAgICAg
ICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgdV9kb21j
dGwpOwogCiAvKiBDYWxsIHdoZW4gZGVzdHJveWluZyBhIGRvbWFpbiAqLwot
dm9pZCBwYWdpbmdfdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCk7CitpbnQg
cGFnaW5nX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpOwogCiAvKiBDYWxs
IG9uY2UgYWxsIG9mIHRoZSByZWZlcmVuY2VzIHRvIHRoZSBkb21haW4gaGF2
ZSBnb25lIGF3YXkgKi8KIHZvaWQgcGFnaW5nX2ZpbmFsX3RlYXJkb3duKHN0
cnVjdCBkb21haW4gKmQpOwo=

--=separator
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-announce mailing list
Xen-announce@lists.xen.org
http://lists.xen.org/xen-announce
--=separator--


From xen-announce-bounces@lists.xen.org Tue Aug 12 13:04:46 2014
Return-path: <xen-announce-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 12 Aug 2014 13:04:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-announce-bounces@lists.xen.org>)
	id 1XHBjs-0002jD-1p; Tue, 12 Aug 2014 13:03:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBjm-0002hK-Ij; Tue, 12 Aug 2014 13:03:38 +0000
Received: from [85.158.139.211:24658] by server-6.bemta-5.messagelabs.com id
	ED/D3-06284-9A01AE35; Tue, 12 Aug 2014 13:03:37 +0000
X-Env-Sender: iwj@xenbits.xen.org
X-Msg-Ref: server-6.tower-206.messagelabs.com!1407848615!10884061!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.12.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5226 invoked from network); 12 Aug 2014 13:03:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	12 Aug 2014 13:03:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBje-0004GD-I1; Tue, 12 Aug 2014 13:03:30 +0000
Received: from iwj by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <iwj@xenbits.xen.org>)
	id 1XHBje-00086k-FW; Tue, 12 Aug 2014 13:03:30 +0000
Date: Tue, 12 Aug 2014 13:03:30 +0000
Message-Id: <E1XHBje-00086k-FW@xenbits.xen.org>
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.428 (Entity 5.428)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
	xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
Cc: "Xen.org security team" <security@xen.org>
Subject: [Xen-announce] Xen Security Advisory 102 (CVE-2014-5147) - Flaws in
 handling traps from 32-bit userspace on 64-bit ARM
X-BeenThere: xen-announce@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: "Xen announcements \(low volume\)" <xen-announce.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-announce@lists.xen.org>
List-Help: <mailto:xen-announce-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=subscribe>
Sender: xen-announce-bounces@lists.xen.org
Errors-To: xen-announce-bounces@lists.xen.org


--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

              Xen Security Advisory CVE-2014-5147 / XSA-102
                              version 3

       Flaws in handling traps from 32-bit userspace on 64-bit ARM

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

When handling a trap from guest mode on ARM, Xen asserts that the
current guest mode must match the domain address width.  This
assertion is false when a guest takes a trap from a 32-bit userspace
running on a 64-bit kernel in a 64-bit domain.

IMPACT
======

Any user in a guest which is running a 64-bit kernel who is able to
spawn a 32-bit process can crash the host.  I.e. an unprivileged guest
user can cause host-wide denial of service.

VULNERABLE SYSTEMS
==================

32-bit ARM systems and and X86 systems are not vulnerable.

64-bit ARM systems which support 32-bit userspace are vulnerable.

Not all 64-bit ARM CPUs support 32-bit userspace in the actual CPU
hardware.  Systems without that hardware support are not vulnerable.

Also, not all 64-bit ARM guest kernels have support for 32-bit
userspace.  Systems without that kernel support are vulnerable to a
malicious guest administrator, but not to an unprivileged guest user.

MITIGATION
==========

On systems where the guest kernel is controlled by the host rather than
guest administrator, running only 32-bit kernels.

On systems where the guest kernel is controlled by the host rather than
guest administrator, running 64-bit kernels with support for 32-bit
userspace disabled (e.g CONFIG_COMPAT=n under Linux) will prevent untrusted
guest users from exploting this issue. However untrusted guest
administrators can still trigger it unless further steps are taken to
prevent them from loading code into the kernel (e.g. by disabling loadable
modules etc) or from using other mechanisms which allow them to run code at
kernel privilege.

CREDITS
=======

This issue was reported as a bug by Riku Voipio, discovered via
Linaro's LAVA testing and was diagnosed as a security issue by Ian
Campbell.

RESOLUTION
==========

Applying the appropriate attached patches resolves these security
issues.

xsa102-unstable-*.patch        xen-unstable
xsa102-4.4-*.patch             Xen 4.4.x

$ sha256sum xsa102*.patch
a5beb5c552e5bffe3e115905c478d6699c35df1d8721f8d6681099c38a974091  xsa102-4.4-01.patch
9f04ecda4dd9e31360daa27d87588d6017d866a97b84566241097def0af86a63  xsa102-4.4-02.patch
a9860803ed5ed57bdc3ac94cdc924618b19e805b7f6a87bf9c1a9ea4b627281a  xsa102-4.4-03.patch
7d0b5e05e5915c6c2d83590ba9acab0acfd1eba986a65a20ba69cf2c3394e062  xsa102-unstable-01.patch
7d5cf339a3f8c98b3e06852f845a2305df3f8ce195d243ee22d6783bb6904d60  xsa102-unstable-02.patch
3ca7b0632af36cc72ba59ed1822bcaebf2363f150435348265d1ade25e21bf90  xsa102-unstable-03.patch
$
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBAgAGBQJT6hBqAAoJEIP+FMlX6CvZDi0H/jFJPRxBIglzATvMDaho19fw
Ao1OHP99dZn3XkKf/qfw4v90KttCEp5+3uQo34hhXNTLkvbm5KCsZDjOdL812d3G
JjvEBWnU7480Av0QkvsYVoH+yjks0PIu6xEI+kQqKAAG4vbVxTi5ORg7HMkeOKAY
5Uyj5xjWi5JRn+V8pYcUr9wZZlvhEAuDbVATeg9dH6+FyH/4V9viNWWHBePi3Ocn
HWPt7U/Cv55wLIxfjmw27C5Te3b/xNjxy9hk+1XrGMafiO7FU1ntgHmqswqN+lBR
beORG0dRNl0fU6QY8dakssYzjwA0jgV9HKoonbUGlp+fPxRl2pNuoe7Mvn/y1nU=
=Iuvx
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa102-4.4-01.patch"
Content-Disposition: attachment; filename="xsa102-4.4-01.patch"
Content-Transfer-Encoding: base64

RnJvbSA5ZjczYzVkMTIyYjdmYTA3ODVlODIzY2IyMDNlYzc3M2NhZWM3NjQw
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBGcmksIDE4IEp1bCAy
MDE0IDE0OjEzOjE0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxLzNdIHhlbjog
YXJtOiBoYW5kbGUgQUFyY2gzMiB1c2Vyc3BhY2Ugd2hlbiBkdW1waW5nIDY0
LWJpdAogZ3Vlc3Qgc3RhdGUuCgpBIDY0LWJpdCBndWVzdCBjYW4gc3RpbGwg
YmUgaW4gMzItYml0IG1vZGUgd2hlbiBydW5uaW5nIHVzZXJzcGFjZSwKaGFu
ZGxlIHRoaXMgY2FzZSBieSBkdW1waW5nIHRoZSBjb3JyZWN0IDMyLWJpdCBz
dGF0ZS4KCk5vdGUgdGhhdCBvbiBBUk0gaXQgaXMgbm90IHBvc3NpYmxlIHRv
IGNoYW5nZSBtb2RlIHdpdGhvdXQgdGhlIGhlbHAKb2YgdGhlIG5leHQgZXhj
ZXB0aW9uIGxldmVsLCBoZW5jZSB0aGVyZSBpcyBubyB3YXkgYSA2NC1iaXQg
Z3Vlc3QgY2FuCmJlIHJ1bm5pbmcgaW4gMzItYml0IGtlcm5lbCBtb2Rlcy4K
ClRoaXMgaXMgcGFydCBvZiBYU0EtMTAyLgoKU2lnbmVkLW9mZi1ieTogSWFu
IENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KQWNrZWQtYnk6
IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGxpbmFyby5vcmc+Ci0tLQog
eGVuL2FyY2gvYXJtL3RyYXBzLmMgfCAgIDEyICsrKysrKysrKysrLQogMSBm
aWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNo
L2FybS90cmFwcy5jCmluZGV4IGUyZTJkYjMuLjczNjczOTkgMTAwNjQ0Ci0t
LSBhL3hlbi9hcmNoL2FybS90cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90
cmFwcy5jCkBAIC02OTcsNyArNjk3LDE3IEBAIHN0YXRpYyB2b2lkIF9zaG93
X3JlZ2lzdGVycyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAg
ICAgICAgIHNob3dfcmVnaXN0ZXJzXzMyKHJlZ3MsIGN0eHQsIGd1ZXN0X21v
ZGUsIHYpOwogI2lmZGVmIENPTkZJR19BUk1fNjQKICAgICAgICAgZWxzZSBp
ZiAoIGlzX3B2NjRfZG9tYWluKHYtPmRvbWFpbikgKQotICAgICAgICAgICAg
c2hvd19yZWdpc3RlcnNfNjQocmVncywgY3R4dCwgZ3Vlc3RfbW9kZSwgdik7
CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggcHNyX21vZGVfaXNfMzJi
aXQocmVncy0+Y3BzcikgKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIEJVR19PTighdXNyX21vZGUocmVncykpOworICAgICAgICAgICAgICAg
IHNob3dfcmVnaXN0ZXJzXzMyKHJlZ3MsIGN0eHQsIGd1ZXN0X21vZGUsIHYp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHNob3dfcmVnaXN0ZXJzXzY0KHJlZ3Ms
IGN0eHQsIGd1ZXN0X21vZGUsIHYpOworICAgICAgICAgICAgfQorICAgICAg
ICB9CiAjZW5kaWYKICAgICB9CiAgICAgZWxzZQotLSAKMS43LjEwLjQKCg==

--=separator
Content-Type: application/octet-stream; name="xsa102-4.4-02.patch"
Content-Disposition: attachment; filename="xsa102-4.4-02.patch"
Content-Transfer-Encoding: base64

RnJvbSA2NGQ2OGZjNTlmMTM0MWUzNmM1OTVkZjIxNTEyYzViMmE1Y2NkZTZm
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBUdWUsIDIyIEp1bCAy
MDE0IDExOjMxOjU0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyLzNdIHhlbjog
YXJtOiBDb3JyZWN0bHkgaGFuZGxlIGV4Y2VwdGlvbiBpbmplY3Rpb24gZnJv
bQogdXNlcnNwYWNlIG9uIDY0LWJpdC4KCkZpcnN0bHkgd2UgbXVzdCBiZSBw
cmVwYXJlZCB0byBwcm9wYWdhdGUgdHJhcHMgZnJvbSAzMi1iaXQgdXNlcnNw
YWNlIGV2ZW4gZm9yCjY0LWJpdCBndWVzdHMsIHNvIHdyYXAgdGhlIGV4aXN0
aW5nIGluamVjdF91bmRlZj8/X2V4Y2VwdGlvbiBpbnRvCmluamVjdF91bmRl
Zl9leGNlcHRpb24gYW5kIHVzZSB0aGF0IHdoZW4gaW5qZWN0aW5nIGFuIHVu
ZGVmIGV4Y2VwdGlvbi4gVGhlCnZhcmlvdXMgb3RoZXIgZXhjZXB0aW9uIGNh
c2VzIChhYm9ydHMgZXRjKSBhbHJlYWR5IGRvIHRoaXMuCgpTZWNvbmRseSB3
aGVuIGluamVjdGluZyB0aGUgdHJhcCB3ZSBtdXN0IHBpY2sgdGhlIGNvcnJl
Y3QgZXhjZXB0aW9uIHZlY3RvcgpkZXBlbmRpbmcgb24gd2hldGhlciB0aGUg
c291cmNlIG9mIHRoZSB0cmFwIHdhcyAzMi1iaXQgRUwwLCA2NC1iaXQgRUww
IG9yIEVMMS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMTAyLgoKU2lnbmVkLW9m
Zi1ieTogSWFuIENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4K
QWNrZWQtYnk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGxpbmFyby5v
cmc+Ci0tLQogeGVuL2FyY2gvYXJtL3RyYXBzLmMgICAgICAgICAgICB8ICAg
NTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiB4
ZW4vaW5jbHVkZS9hc20tYXJtL3Byb2Nlc3Nvci5oIHwgICAxOCArKysrKysr
LS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDE5
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90cmFw
cy5jIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKaW5kZXggNzM2NzM5OS4uNjUz
NjIwOSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3RyYXBzLmMKKysrIGIv
eGVuL2FyY2gvYXJtL3RyYXBzLmMKQEAgLTI4Niw3ICsyODYsNyBAQCBzdGF0
aWMgdm9pZCBjcHNyX3N3aXRjaF9tb2RlKHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICpyZWdzLCBpbnQgbW9kZSkKICAgICAgICAgcmVncy0+Y3BzciB8PSBQU1Jf
QklHX0VORElBTjsKIH0KIAotc3RhdGljIHZhZGRyX3QgZXhjZXB0aW9uX2hh
bmRsZXIodmFkZHJfdCBvZmZzZXQpCitzdGF0aWMgdmFkZHJfdCBleGNlcHRp
b25faGFuZGxlcjMyKHZhZGRyX3Qgb2Zmc2V0KQogewogICAgIHVpbnQzMl90
IHNjdGxyID0gUkVBRF9TWVNSRUczMihTQ1RMUl9FTDEpOwogCkBAIC0zMTgs
NyArMzE4LDcgQEAgc3RhdGljIHZvaWQgaW5qZWN0X3VuZGVmMzJfZXhjZXB0
aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIHJlZ3MtPmxy
X3VuZCA9IHJlZ3MtPnBjMzIgKyByZXR1cm5fb2Zmc2V0OwogCiAgICAgLyog
QnJhbmNoIHRvIGV4Y2VwdGlvbiB2ZWN0b3IgKi8KLSAgICByZWdzLT5wYzMy
ID0gZXhjZXB0aW9uX2hhbmRsZXIoVkVDVE9SMzJfVU5EKTsKKyAgICByZWdz
LT5wYzMyID0gZXhjZXB0aW9uX2hhbmRsZXIzMihWRUNUT1IzMl9VTkQpOwog
fQogCiAvKiBJbmplY3RzIGFuIEFib3J0IGV4Y2VwdGlvbiBpbnRvIHRoZSBj
dXJyZW50IHZjcHUsIFBDIGlzIHRoZSBleGFjdApAQCAtMzQ0LDcgKzM0NCw3
IEBAIHN0YXRpYyB2b2lkIGluamVjdF9hYnQzMl9leGNlcHRpb24oc3RydWN0
IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAgcmVncy0+c3Bzcl9hYnQgPSBz
cHNyOwogICAgIHJlZ3MtPmxyX2FidCA9IHJlZ3MtPnBjMzIgKyByZXR1cm5f
b2Zmc2V0OwogCi0gICAgcmVncy0+cGMzMiA9IGV4Y2VwdGlvbl9oYW5kbGVy
KHByZWZldGNoID8gVkVDVE9SMzJfUEFCVCA6IFZFQ1RPUjMyX0RBQlQpOwor
ICAgIHJlZ3MtPnBjMzIgPSBleGNlcHRpb25faGFuZGxlcjMyKHByZWZldGNo
ID8gVkVDVE9SMzJfUEFCVCA6IFZFQ1RPUjMyX0RBQlQpOwogCiAgICAgLyog
SW5qZWN0IGEgZGVidWcgZmF1bHQsIGJlc3Qgd2UgY2FuIGRvIHJpZ2h0IG5v
dyAqLwogICAgIGlmICggUkVBRF9TWVNSRUcoVENSX0VMMSkgJiBUVEJDUl9F
QUUgKQpAQCAtMzk3LDkgKzM5NywyOCBAQCBzdGF0aWMgdm9pZCBpbmplY3Rf
cGFidDMyX2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywK
IH0KIAogI2lmZGVmIENPTkZJR19BUk1fNjQKKy8qCisgKiBUYWtlIGNhcmUg
dG8gY2FsbCB0aGlzIHdoaWxlIHJlZ3MgY29udGFpbnMgdGhlIG9yaWdpbmFs
IGZhdWx0aW5nCisgKiBzdGF0ZSBhbmQgbm90IHRoZSAocGFydGlhbGx5IGNv
bnN0cnVjdGVkKSBleGNlcHRpb24gc3RhdGUuCisgKi8KK3N0YXRpYyB2YWRk
cl90IGV4Y2VwdGlvbl9oYW5kbGVyNjQoc3RydWN0IGNwdV91c2VyX3JlZ3Mg
KnJlZ3MsIHZhZGRyX3Qgb2Zmc2V0KQoreworICAgIHZhZGRyX3QgYmFzZSA9
IFJFQURfU1lTUkVHKFZCQVJfRUwxKTsKKworICAgIGlmICggdXNyX21vZGUo
cmVncykgKQorICAgICAgICBiYXNlICs9IFZFQ1RPUjY0X0xPV0VSMzJfQkFT
RTsKKyAgICBlbHNlIGlmICggcHNyX21vZGUocmVncy0+Y3BzcixQU1JfTU9E
RV9FTDB0KSApCisgICAgICAgIGJhc2UgKz0gVkVDVE9SNjRfTE9XRVI2NF9C
QVNFOworICAgIGVsc2UgLyogT3RoZXJ3aXNlIG11c3QgYmUgZnJvbSBrZXJu
ZWwgbW9kZSAqLworICAgICAgICBiYXNlICs9IFZFQ1RPUjY0X0NVUlJFTlRf
U1B4X0JBU0U7CisKKyAgICByZXR1cm4gYmFzZSArIG9mZnNldDsKK30KKwog
LyogSW5qZWN0IGFuIHVuZGVmaW5lZCBleGNlcHRpb24gaW50byBhIDY0IGJp
dCBndWVzdCAqLwogc3RhdGljIHZvaWQgaW5qZWN0X3VuZGVmNjRfZXhjZXB0
aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCBpbnQgaW5zdHJfbGVu
KQogeworICAgIHZhZGRyX3QgaGFuZGxlcjsKICAgICB1bmlvbiBoc3IgZXNy
ID0gewogICAgICAgICAuaXNzID0gMCwKICAgICAgICAgLmxlbiA9IGluc3Ry
X2xlbiwKQEAgLTQwOCwxMiArNDI3LDE0IEBAIHN0YXRpYyB2b2lkIGluamVj
dF91bmRlZjY0X2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn
cywgaW50IGluc3RyX2xlbikKIAogICAgIEJVR19PTiggaXNfcHYzMl9kb21h
aW4oY3VycmVudC0+ZG9tYWluKSApOwogCisgICAgaGFuZGxlciA9IGV4Y2Vw
dGlvbl9oYW5kbGVyNjQocmVncywgVkVDVE9SNjRfU1lOQ19PRkZTRVQpOwor
CiAgICAgcmVncy0+c3Bzcl9lbDEgPSByZWdzLT5jcHNyOwogICAgIHJlZ3Mt
PmVscl9lbDEgPSByZWdzLT5wYzsKIAogICAgIHJlZ3MtPmNwc3IgPSBQU1Jf
TU9ERV9FTDFoIHwgUFNSX0FCVF9NQVNLIHwgUFNSX0ZJUV9NQVNLIHwgXAog
ICAgICAgICBQU1JfSVJRX01BU0sgfCBQU1JfREJHX01BU0s7Ci0gICAgcmVn
cy0+cGMgPSBSRUFEX1NZU1JFRyhWQkFSX0VMMSkgKyBWRUNUT1I2NF9DVVJS
RU5UX1NQeF9TWU5DOworICAgIHJlZ3MtPnBjID0gaGFuZGxlcjsKIAogICAg
IFdSSVRFX1NZU1JFRzMyKGVzci5iaXRzLCBFU1JfRUwxKTsKIH0KQEAgLTQy
NCw2ICs0NDUsNyBAQCBzdGF0aWMgdm9pZCBpbmplY3RfYWJ0NjRfZXhjZXB0
aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcl90IGFkZHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbnN0cl9sZW4p
CiB7CisgICAgdmFkZHJfdCBoYW5kbGVyOwogICAgIHVuaW9uIGhzciBlc3Ig
PSB7CiAgICAgICAgIC5pc3MgPSAwLAogICAgICAgICAubGVuID0gaW5zdHJf
bGVuLApAQCAtNDQ1LDEyICs0NjcsMTQgQEAgc3RhdGljIHZvaWQgaW5qZWN0
X2FidDY0X2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywK
IAogICAgIEJVR19PTiggaXNfcHYzMl9kb21haW4oY3VycmVudC0+ZG9tYWlu
KSApOwogCisgICAgaGFuZGxlciA9IGV4Y2VwdGlvbl9oYW5kbGVyNjQocmVn
cywgVkVDVE9SNjRfU1lOQ19PRkZTRVQpOworCiAgICAgcmVncy0+c3Bzcl9l
bDEgPSByZWdzLT5jcHNyOwogICAgIHJlZ3MtPmVscl9lbDEgPSByZWdzLT5w
YzsKIAogICAgIHJlZ3MtPmNwc3IgPSBQU1JfTU9ERV9FTDFoIHwgUFNSX0FC
VF9NQVNLIHwgUFNSX0ZJUV9NQVNLIHwgXAogICAgICAgICBQU1JfSVJRX01B
U0sgfCBQU1JfREJHX01BU0s7Ci0gICAgcmVncy0+cGMgPSBSRUFEX1NZU1JF
RyhWQkFSX0VMMSkgKyBWRUNUT1I2NF9DVVJSRU5UX1NQeF9TWU5DOworICAg
IHJlZ3MtPnBjID0gaGFuZGxlcjsKIAogICAgIFdSSVRFX1NZU1JFRyhhZGRy
LCBGQVJfRUwxKTsKICAgICBXUklURV9TWVNSRUczMihlc3IuYml0cywgRVNS
X0VMMSk7CkBAIC00NzIsNiArNDk2LDE3IEBAIHN0YXRpYyB2b2lkIGluamVj
dF9pYWJ0NjRfZXhjZXB0aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdz
LAogCiAjZW5kaWYKIAorc3RhdGljIHZvaWQgaW5qZWN0X3VuZGVmX2V4Y2Vw
dGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluc3RyX2xlbikKK3sKKyAg
ICAgICAgaWYgKCBpc19wdjMyX2RvbWFpbihjdXJyZW50LT5kb21haW4pICkK
KyAgICAgICAgICAgIGluamVjdF91bmRlZjMyX2V4Y2VwdGlvbihyZWdzKTsK
KyNpZmRlZiBDT05GSUdfQVJNXzY0CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGluamVjdF91bmRlZjY0X2V4Y2VwdGlvbihyZWdzLCBpbnN0cl9sZW4p
OworI2VuZGlmCit9CisKIHN0YXRpYyB2b2lkIGluamVjdF9pYWJ0X2V4Y2Vw
dGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcl90IGFkZHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluc3RyX2xlbikK
QEAgLTE0NDAsNyArMTQ3NSw3IEBAIHN0YXRpYyB2b2lkIGRvX2NwMTVfMzIo
c3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAgICAgIGdkcHJpbnRr
KFhFTkxPR19FUlIsICJ1bmhhbmRsZWQgMzItYml0IENQMTUgYWNjZXNzICUj
eFxuIiwKICAgICAgICAgICAgICAgICAgaHNyLmJpdHMgJiBIU1JfQ1AzMl9S
RUdTX01BU0spOwogI2VuZGlmCi0gICAgICAgIGluamVjdF91bmRlZjMyX2V4
Y2VwdGlvbihyZWdzKTsKKyAgICAgICAgaW5qZWN0X3VuZGVmX2V4Y2VwdGlv
bihyZWdzLCBoc3IubGVuKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAg
ICBhZHZhbmNlX3BjKHJlZ3MsIGhzcik7CkBAIC0xNDc3LDcgKzE1MTIsNyBA
QCBzdGF0aWMgdm9pZCBkb19jcDE1XzY0KHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICpyZWdzLAogICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0VSUiwgInVu
aGFuZGxlZCA2NC1iaXQgQ1AxNSBhY2Nlc3MgJSN4XG4iLAogICAgICAgICAg
ICAgICAgICAgICAgaHNyLmJpdHMgJiBIU1JfQ1A2NF9SRUdTX01BU0spOwog
I2VuZGlmCi0gICAgICAgICAgICBpbmplY3RfdW5kZWYzMl9leGNlcHRpb24o
cmVncyk7CisgICAgICAgICAgICBpbmplY3RfdW5kZWZfZXhjZXB0aW9uKHJl
Z3MsIGhzci5sZW4pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAgICAgfQpAQCAtMTU0Niw3ICsxNTgxLDcgQEAgYmFkX2NwOgogICAgICAg
ICBnZHByaW50ayhYRU5MT0dfRVJSLCAidW5oYW5kbGVkIDMyLWJpdCBjcDE0
IGFjY2VzcyAlI3hcbiIsCiAgICAgICAgICAgICAgICAgIGhzci5iaXRzICYg
SFNSX0NQMzJfUkVHU19NQVNLKTsKICNlbmRpZgotICAgICAgICBpbmplY3Rf
dW5kZWYzMl9leGNlcHRpb24ocmVncyk7CisgICAgICAgIGluamVjdF91bmRl
Zl9leGNlcHRpb24ocmVncywgaHNyLmxlbik7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTE1NjEsNyArMTU5Niw3IEBAIHN0YXRpYyB2b2lkIGRv
X2NwMTRfZGJnKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCB1bmlvbiBo
c3IgaHNyKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaW5qZWN0
X3VuZGVmMzJfZXhjZXB0aW9uKHJlZ3MpOworICAgIGluamVjdF91bmRlZl9l
eGNlcHRpb24ocmVncywgaHNyLmxlbik7CiB9CiAKIHN0YXRpYyB2b2lkIGRv
X2NwKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCB1bmlvbiBoc3IgaHNy
KQpAQCAtMTU3Miw3ICsxNjA3LDcgQEAgc3RhdGljIHZvaWQgZG9fY3Aoc3Ry
dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuaW9uIGhzciBoc3IpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpbmplY3RfdW5kZWYzMl9leGNl
cHRpb24ocmVncyk7CisgICAgaW5qZWN0X3VuZGVmX2V4Y2VwdGlvbihyZWdz
LCBoc3IubGVuKTsKIH0KIAogI2lmZGVmIENPTkZJR19BUk1fNjQKQEAgLTE2
NDcsNyArMTY4Miw3IEBAIHN0YXRpYyB2b2lkIGRvX3N5c3JlZyhzdHJ1Y3Qg
Y3B1X3VzZXJfcmVncyAqcmVncywKICAgICAgICAgICAgIGdkcHJpbnRrKFhF
TkxPR19FUlIsICJ1bmhhbmRsZWQgNjQtYml0IHN5c3JlZyBhY2Nlc3MgJSN4
XG4iLAogICAgICAgICAgICAgICAgICAgICAgaHNyLmJpdHMgJiBIU1JfU1lT
UkVHX1JFR1NfTUFTSyk7CiAjZW5kaWYKLSAgICAgICAgICAgIGluamVjdF91
bmRlZjY0X2V4Y2VwdGlvbihyZWdzLCBzeXNyZWcubGVuKTsKKyAgICAgICAg
ICAgIGluamVjdF91bmRlZl9leGNlcHRpb24ocmVncywgc3lzcmVnLmxlbik7
CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl
L2FzbS1hcm0vcHJvY2Vzc29yLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3By
b2Nlc3Nvci5oCmluZGV4IDkyNjdjMWIuLjFmMTU4Y2UgMTAwNjQ0Ci0tLSBh
L3hlbi9pbmNsdWRlL2FzbS1hcm0vcHJvY2Vzc29yLmgKKysrIGIveGVuL2lu
Y2x1ZGUvYXNtLWFybS9wcm9jZXNzb3IuaApAQCAtNDMyLDE0ICs0MzIsMTYg
QEAgdW5pb24gaHNyIHsKICNkZWZpbmUgVkVDVE9SMzJfUEFCVCAxMgogI2Rl
ZmluZSBWRUNUT1IzMl9EQUJUIDE2CiAvKiAuLi4gQVJNNjQgKi8KLSNkZWZp
bmUgVkVDVE9SNjRfQ1VSUkVOVF9TUDBfU1lOQyAgMHgwMDAKLSNkZWZpbmUg
VkVDVE9SNjRfQ1VSUkVOVF9TUDBfSVJRICAgMHgwODAKLSNkZWZpbmUgVkVD
VE9SNjRfQ1VSUkVOVF9TUDBfRklRICAgMHgxMDAKLSNkZWZpbmUgVkVDVE9S
NjRfQ1VSUkVOVF9TUDBfRVJST1IgMHgxODAKLSNkZWZpbmUgVkVDVE9SNjRf
Q1VSUkVOVF9TUHhfU1lOQyAgMHgyMDAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VS
UkVOVF9TUHhfSVJRICAgMHgyODAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVO
VF9TUHhfRklRICAgMHgzMDAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9T
UHhfRVJST1IgMHgzODAKKyNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUDBf
QkFTRSAgMHgwMDAKKyNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUHhfQkFT
RSAgMHgyMDAKKyNkZWZpbmUgVkVDVE9SNjRfTE9XRVI2NF9CQVNFICAgICAg
MHg0MDAKKyNkZWZpbmUgVkVDVE9SNjRfTE9XRVIzMl9CQVNFICAgICAgMHg2
MDAKKworI2RlZmluZSBWRUNUT1I2NF9TWU5DX09GRlNFVCAgICAgICAweDAw
MAorI2RlZmluZSBWRUNUT1I2NF9JUlFfT0ZGU0VUICAgICAgICAweDA4MAor
I2RlZmluZSBWRUNUT1I2NF9GSVFfT0ZGU0VUICAgICAgICAweDEwMAorI2Rl
ZmluZSBWRUNUT1I2NF9FUlJPUl9PRkZTRVQgICAgICAweDE4MAorCiAKICNp
ZiBkZWZpbmVkKENPTkZJR19BUk1fMzIpCiAjIGluY2x1ZGUgPGFzbS9hcm0z
Mi9wcm9jZXNzb3IuaD4KLS0gCjEuNy4xMC40Cgo=

--=separator
Content-Type: application/octet-stream; name="xsa102-4.4-03.patch"
Content-Disposition: attachment; filename="xsa102-4.4-03.patch"
Content-Transfer-Encoding: base64

RnJvbSAwOGE2ODk1YWY4NTM1Yjg1MmZmNDM2OGMzMGEwYzk2OGE2OWFiMWFk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBUaHUsIDI0IEp1bCAy
MDE0IDEyOjI4OjIyICswMTAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIHhlbjog
YXJtOiBIYW5kbGUgdHJhcHMgZnJvbSAzMi1iaXQgdXNlcnNwYWNlIG9uIDY0
LWJpdAoga2VybmVsIGFzIHVuZGVmCgpXZSBhcmUgbm90IHNldHVwIHRvIGhh
bmRsZSB0aGVzZSBwcm9wZXJseS4gVGhpcyB0dXJucyBhIGhvc3QgY3Jhc2gK
aW50byBhIHRyYXAgdG8gdGhlIGd1ZXN0IGtlcm5lbCB3aGljaCB3aWxsIGxp
a2VseSByZXN1bHQgaW4ga2lsbGluZwp0aGUgb2ZmZW5kaW5nIHByb2Nlc3Mu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTEwMi4KClNpZ25lZC1vZmYtYnk6IElh
biBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNpdHJpeC5jb20+CkFja2VkLWJ5
OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBsaW5hcm8ub3JnPgotLS0K
IHhlbi9hcmNoL2FybS90cmFwcy5jIHwgICAxMSArKysrKysrKysrKwogMSBm
aWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCmlu
ZGV4IDY1MzYyMDkuLmU3NjNmMTIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2Fy
bS90cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCkBAIC0xODEy
LDYgKzE4MTIsMTcgQEAgYXNtbGlua2FnZSB2b2lkIGRvX3RyYXBfaHlwZXJ2
aXNvcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsKICAgICB1bmlv
biBoc3IgaHNyID0geyAuYml0cyA9IFJFQURfU1lTUkVHMzIoRVNSX0VMMikg
fTsKIAorICAgIC8qCisgICAgICogV2UgY3VycmVudGx5IGRvIG5vdCBoYW5k
bGUgMzItYml0IHVzZXJzcGFjZSBvbiA2NC1iaXQga2VybmVscworICAgICAq
IGNvcnJlY3RseSAoU2VlIFhTQS0xMDIpLiBVbnRpbCB0aGF0IGlzIHJlc29s
dmVkIHdlIHRyZWF0IGFueQorICAgICAqIHRyYXAgZnJvbSAzMi1iaXQgdXNl
cnNwYWNlIG9uIDY0LWJpdCBrZXJuZWwgYXMgdW5kZWZpbmVkLgorICAgICAq
LworICAgIGlmICggaXNfcHY2NF9kb21haW4oY3VycmVudC0+ZG9tYWluKSAm
JiBwc3JfbW9kZV9pc18zMmJpdChyZWdzLT5jcHNyKSApCisgICAgeworICAg
ICAgICBpbmplY3RfdW5kZWZfZXhjZXB0aW9uKHJlZ3MsIGhzci5sZW4pOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgc3dpdGNoIChoc3IuZWMp
IHsKICAgICBjYXNlIEhTUl9FQ19XRklfV0ZFOgogICAgICAgICBpZiAoICFj
aGVja19jb25kaXRpb25hbF9pbnN0cihyZWdzLCBoc3IpICkKLS0gCjEuNy4x
MC40Cgo=

--=separator
Content-Type: application/octet-stream; name="xsa102-unstable-01.patch"
Content-Disposition: attachment; filename="xsa102-unstable-01.patch"
Content-Transfer-Encoding: base64

RnJvbSBiMGVlNjhjYTk4MWQ5ZmUxZjVlOWZlN2MxNDc2OTIxZDhmOGJkYWY3
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBGcmksIDE4IEp1bCAy
MDE0IDE0OjEzOjE0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxLzNdIHhlbjog
YXJtOiBoYW5kbGUgQUFyY2gzMiB1c2Vyc3BhY2Ugd2hlbiBkdW1waW5nIDY0
LWJpdAogZ3Vlc3Qgc3RhdGUuCgpBIDY0LWJpdCBndWVzdCBjYW4gc3RpbGwg
YmUgaW4gMzItYml0IG1vZGUgd2hlbiBydW5uaW5nIHVzZXJzcGFjZSwKaGFu
ZGxlIHRoaXMgY2FzZSBieSBkdW1waW5nIHRoZSBjb3JyZWN0IDMyLWJpdCBz
dGF0ZS4KCk5vdGUgdGhhdCBvbiBBUk0gaXQgaXMgbm90IHBvc3NpYmxlIHRv
IGNoYW5nZSBtb2RlIHdpdGhvdXQgdGhlIGhlbHAKb2YgdGhlIG5leHQgZXhj
ZXB0aW9uIGxldmVsLCBoZW5jZSB0aGVyZSBpcyBubyB3YXkgYSA2NC1iaXQg
Z3Vlc3QgY2FuCmJlIHJ1bm5pbmcgaW4gMzItYml0IGtlcm5lbCBtb2Rlcy4K
ClRoaXMgaXMgcGFydCBvZiBYU0EtMTAyLgoKU2lnbmVkLW9mZi1ieTogSWFu
IENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KQWNrZWQtYnk6
IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGxpbmFyby5vcmc+Ci0tLQog
eGVuL2FyY2gvYXJtL3RyYXBzLmMgfCAgIDEyICsrKysrKysrKysrLQogMSBm
aWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNo
L2FybS90cmFwcy5jCmluZGV4IDNkZmFiZDAuLmUxMDQ1MDkgMTAwNjQ0Ci0t
LSBhL3hlbi9hcmNoL2FybS90cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90
cmFwcy5jCkBAIC02OTcsNyArNjk3LDE3IEBAIHN0YXRpYyB2b2lkIF9zaG93
X3JlZ2lzdGVycyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAg
ICAgICAgIHNob3dfcmVnaXN0ZXJzXzMyKHJlZ3MsIGN0eHQsIGd1ZXN0X21v
ZGUsIHYpOwogI2lmZGVmIENPTkZJR19BUk1fNjQKICAgICAgICAgZWxzZSBp
ZiAoIGlzXzY0Yml0X2RvbWFpbih2LT5kb21haW4pICkKLSAgICAgICAgICAg
IHNob3dfcmVnaXN0ZXJzXzY0KHJlZ3MsIGN0eHQsIGd1ZXN0X21vZGUsIHYp
OworICAgICAgICB7CisgICAgICAgICAgICBpZiAoIHBzcl9tb2RlX2lzXzMy
Yml0KHJlZ3MtPmNwc3IpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBCVUdfT04oIXVzcl9tb2RlKHJlZ3MpKTsKKyAgICAgICAgICAgICAg
ICBzaG93X3JlZ2lzdGVyc18zMihyZWdzLCBjdHh0LCBndWVzdF9tb2RlLCB2
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBzaG93X3JlZ2lzdGVyc182NChyZWdz
LCBjdHh0LCBndWVzdF9tb2RlLCB2KTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQogI2VuZGlmCiAgICAgfQogICAgIGVsc2UKLS0gCjEuNy4xMC40Cgo=

--=separator
Content-Type: application/octet-stream; name="xsa102-unstable-02.patch"
Content-Disposition: attachment; filename="xsa102-unstable-02.patch"
Content-Transfer-Encoding: base64

RnJvbSAyYzI1ODdlZDc0ZjZiMTE2ZDI4MzlkOWQ1MWJhODg2NzdkNjQxNGVm
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBUdWUsIDIyIEp1bCAy
MDE0IDExOjMxOjU0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyLzNdIHhlbjog
YXJtOiBDb3JyZWN0bHkgaGFuZGxlIGV4Y2VwdGlvbiBpbmplY3Rpb24gZnJv
bQogdXNlcnNwYWNlIG9uIDY0LWJpdC4KCkZpcnN0bHkgd2UgbXVzdCBiZSBw
cmVwYXJlZCB0byBwcm9wYWdhdGUgdHJhcHMgZnJvbSAzMi1iaXQgdXNlcnNw
YWNlIGV2ZW4gZm9yCjY0LWJpdCBndWVzdHMsIHNvIHdyYXAgdGhlIGV4aXN0
aW5nIGluamVjdF91bmRlZj8/X2V4Y2VwdGlvbiBpbnRvCmluamVjdF91bmRl
Zl9leGNlcHRpb24gYW5kIHVzZSB0aGF0IHdoZW4gaW5qZWN0aW5nIGFuIHVu
ZGVmIGV4Y2VwdGlvbi4gVGhlCnZhcmlvdXMgb3RoZXIgZXhjZXB0aW9uIGNh
c2VzIChhYm9ydHMgZXRjKSBhbHJlYWR5IGRvIHRoaXMuCgpTZWNvbmRseSB3
aGVuIGluamVjdGluZyB0aGUgdHJhcCB3ZSBtdXN0IHBpY2sgdGhlIGNvcnJl
Y3QgZXhjZXB0aW9uIHZlY3RvcgpkZXBlbmRpbmcgb24gd2hldGhlciB0aGUg
c291cmNlIG9mIHRoZSB0cmFwIHdhcyAzMi1iaXQgRUwwLCA2NC1iaXQgRUww
IG9yIEVMMS4KClRoaXMgaXMgcGFydCBvZiBYU0EtMTAyLgoKU2lnbmVkLW9m
Zi1ieTogSWFuIENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4K
QWNrZWQtYnk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGxpbmFyby5v
cmc+Ci0tLQogeGVuL2FyY2gvYXJtL3RyYXBzLmMgICAgICAgICAgICB8ICAg
NTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiB4
ZW4vaW5jbHVkZS9hc20tYXJtL3Byb2Nlc3Nvci5oIHwgICAxOCArKysrKysr
LS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDE5
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90cmFw
cy5jIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKaW5kZXggZTEwNDUwOS4uYWJh
ZWU2MiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3RyYXBzLmMKKysrIGIv
eGVuL2FyY2gvYXJtL3RyYXBzLmMKQEAgLTI4Niw3ICsyODYsNyBAQCBzdGF0
aWMgdm9pZCBjcHNyX3N3aXRjaF9tb2RlKHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICpyZWdzLCBpbnQgbW9kZSkKICAgICAgICAgcmVncy0+Y3BzciB8PSBQU1Jf
QklHX0VORElBTjsKIH0KIAotc3RhdGljIHZhZGRyX3QgZXhjZXB0aW9uX2hh
bmRsZXIodmFkZHJfdCBvZmZzZXQpCitzdGF0aWMgdmFkZHJfdCBleGNlcHRp
b25faGFuZGxlcjMyKHZhZGRyX3Qgb2Zmc2V0KQogewogICAgIHVpbnQzMl90
IHNjdGxyID0gUkVBRF9TWVNSRUczMihTQ1RMUl9FTDEpOwogCkBAIC0zMTgs
NyArMzE4LDcgQEAgc3RhdGljIHZvaWQgaW5qZWN0X3VuZGVmMzJfZXhjZXB0
aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIHJlZ3MtPmxy
X3VuZCA9IHJlZ3MtPnBjMzIgKyByZXR1cm5fb2Zmc2V0OwogCiAgICAgLyog
QnJhbmNoIHRvIGV4Y2VwdGlvbiB2ZWN0b3IgKi8KLSAgICByZWdzLT5wYzMy
ID0gZXhjZXB0aW9uX2hhbmRsZXIoVkVDVE9SMzJfVU5EKTsKKyAgICByZWdz
LT5wYzMyID0gZXhjZXB0aW9uX2hhbmRsZXIzMihWRUNUT1IzMl9VTkQpOwog
fQogCiAvKiBJbmplY3RzIGFuIEFib3J0IGV4Y2VwdGlvbiBpbnRvIHRoZSBj
dXJyZW50IHZjcHUsIFBDIGlzIHRoZSBleGFjdApAQCAtMzQ0LDcgKzM0NCw3
IEBAIHN0YXRpYyB2b2lkIGluamVjdF9hYnQzMl9leGNlcHRpb24oc3RydWN0
IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAgcmVncy0+c3Bzcl9hYnQgPSBz
cHNyOwogICAgIHJlZ3MtPmxyX2FidCA9IHJlZ3MtPnBjMzIgKyByZXR1cm5f
b2Zmc2V0OwogCi0gICAgcmVncy0+cGMzMiA9IGV4Y2VwdGlvbl9oYW5kbGVy
KHByZWZldGNoID8gVkVDVE9SMzJfUEFCVCA6IFZFQ1RPUjMyX0RBQlQpOwor
ICAgIHJlZ3MtPnBjMzIgPSBleGNlcHRpb25faGFuZGxlcjMyKHByZWZldGNo
ID8gVkVDVE9SMzJfUEFCVCA6IFZFQ1RPUjMyX0RBQlQpOwogCiAgICAgLyog
SW5qZWN0IGEgZGVidWcgZmF1bHQsIGJlc3Qgd2UgY2FuIGRvIHJpZ2h0IG5v
dyAqLwogICAgIGlmICggUkVBRF9TWVNSRUcoVENSX0VMMSkgJiBUVEJDUl9F
QUUgKQpAQCAtMzk3LDkgKzM5NywyOCBAQCBzdGF0aWMgdm9pZCBpbmplY3Rf
cGFidDMyX2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywK
IH0KIAogI2lmZGVmIENPTkZJR19BUk1fNjQKKy8qCisgKiBUYWtlIGNhcmUg
dG8gY2FsbCB0aGlzIHdoaWxlIHJlZ3MgY29udGFpbnMgdGhlIG9yaWdpbmFs
IGZhdWx0aW5nCisgKiBzdGF0ZSBhbmQgbm90IHRoZSAocGFydGlhbGx5IGNv
bnN0cnVjdGVkKSBleGNlcHRpb24gc3RhdGUuCisgKi8KK3N0YXRpYyB2YWRk
cl90IGV4Y2VwdGlvbl9oYW5kbGVyNjQoc3RydWN0IGNwdV91c2VyX3JlZ3Mg
KnJlZ3MsIHZhZGRyX3Qgb2Zmc2V0KQoreworICAgIHZhZGRyX3QgYmFzZSA9
IFJFQURfU1lTUkVHKFZCQVJfRUwxKTsKKworICAgIGlmICggdXNyX21vZGUo
cmVncykgKQorICAgICAgICBiYXNlICs9IFZFQ1RPUjY0X0xPV0VSMzJfQkFT
RTsKKyAgICBlbHNlIGlmICggcHNyX21vZGUocmVncy0+Y3BzcixQU1JfTU9E
RV9FTDB0KSApCisgICAgICAgIGJhc2UgKz0gVkVDVE9SNjRfTE9XRVI2NF9C
QVNFOworICAgIGVsc2UgLyogT3RoZXJ3aXNlIG11c3QgYmUgZnJvbSBrZXJu
ZWwgbW9kZSAqLworICAgICAgICBiYXNlICs9IFZFQ1RPUjY0X0NVUlJFTlRf
U1B4X0JBU0U7CisKKyAgICByZXR1cm4gYmFzZSArIG9mZnNldDsKK30KKwog
LyogSW5qZWN0IGFuIHVuZGVmaW5lZCBleGNlcHRpb24gaW50byBhIDY0IGJp
dCBndWVzdCAqLwogc3RhdGljIHZvaWQgaW5qZWN0X3VuZGVmNjRfZXhjZXB0
aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCBpbnQgaW5zdHJfbGVu
KQogeworICAgIHZhZGRyX3QgaGFuZGxlcjsKICAgICB1bmlvbiBoc3IgZXNy
ID0gewogICAgICAgICAuaXNzID0gMCwKICAgICAgICAgLmxlbiA9IGluc3Ry
X2xlbiwKQEAgLTQwOCwxMiArNDI3LDE0IEBAIHN0YXRpYyB2b2lkIGluamVj
dF91bmRlZjY0X2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn
cywgaW50IGluc3RyX2xlbikKIAogICAgIEJVR19PTiggaXNfMzJiaXRfZG9t
YWluKGN1cnJlbnQtPmRvbWFpbikgKTsKIAorICAgIGhhbmRsZXIgPSBleGNl
cHRpb25faGFuZGxlcjY0KHJlZ3MsIFZFQ1RPUjY0X1NZTkNfT0ZGU0VUKTsK
KwogICAgIHJlZ3MtPnNwc3JfZWwxID0gcmVncy0+Y3BzcjsKICAgICByZWdz
LT5lbHJfZWwxID0gcmVncy0+cGM7CiAKICAgICByZWdzLT5jcHNyID0gUFNS
X01PREVfRUwxaCB8IFBTUl9BQlRfTUFTSyB8IFBTUl9GSVFfTUFTSyB8IFwK
ICAgICAgICAgUFNSX0lSUV9NQVNLIHwgUFNSX0RCR19NQVNLOwotICAgIHJl
Z3MtPnBjID0gUkVBRF9TWVNSRUcoVkJBUl9FTDEpICsgVkVDVE9SNjRfQ1VS
UkVOVF9TUHhfU1lOQzsKKyAgICByZWdzLT5wYyA9IGhhbmRsZXI7CiAKICAg
ICBXUklURV9TWVNSRUczMihlc3IuYml0cywgRVNSX0VMMSk7CiB9CkBAIC00
MjQsNiArNDQ1LDcgQEAgc3RhdGljIHZvaWQgaW5qZWN0X2FidDY0X2V4Y2Vw
dGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJfdCBhZGRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5zdHJfbGVu
KQogeworICAgIHZhZGRyX3QgaGFuZGxlcjsKICAgICB1bmlvbiBoc3IgZXNy
ID0gewogICAgICAgICAuaXNzID0gMCwKICAgICAgICAgLmxlbiA9IGluc3Ry
X2xlbiwKQEAgLTQ0NSwxMiArNDY3LDE0IEBAIHN0YXRpYyB2b2lkIGluamVj
dF9hYnQ2NF9leGNlcHRpb24oc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3Ms
CiAKICAgICBCVUdfT04oIGlzXzMyYml0X2RvbWFpbihjdXJyZW50LT5kb21h
aW4pICk7CiAKKyAgICBoYW5kbGVyID0gZXhjZXB0aW9uX2hhbmRsZXI2NChy
ZWdzLCBWRUNUT1I2NF9TWU5DX09GRlNFVCk7CisKICAgICByZWdzLT5zcHNy
X2VsMSA9IHJlZ3MtPmNwc3I7CiAgICAgcmVncy0+ZWxyX2VsMSA9IHJlZ3Mt
PnBjOwogCiAgICAgcmVncy0+Y3BzciA9IFBTUl9NT0RFX0VMMWggfCBQU1Jf
QUJUX01BU0sgfCBQU1JfRklRX01BU0sgfCBcCiAgICAgICAgIFBTUl9JUlFf
TUFTSyB8IFBTUl9EQkdfTUFTSzsKLSAgICByZWdzLT5wYyA9IFJFQURfU1lT
UkVHKFZCQVJfRUwxKSArIFZFQ1RPUjY0X0NVUlJFTlRfU1B4X1NZTkM7Cisg
ICAgcmVncy0+cGMgPSBoYW5kbGVyOwogCiAgICAgV1JJVEVfU1lTUkVHKGFk
ZHIsIEZBUl9FTDEpOwogICAgIFdSSVRFX1NZU1JFRzMyKGVzci5iaXRzLCBF
U1JfRUwxKTsKQEAgLTQ3Miw2ICs0OTYsMTcgQEAgc3RhdGljIHZvaWQgaW5q
ZWN0X2lhYnQ2NF9leGNlcHRpb24oc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl
Z3MsCiAKICNlbmRpZgogCitzdGF0aWMgdm9pZCBpbmplY3RfdW5kZWZfZXhj
ZXB0aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5zdHJfbGVuKQorewor
ICAgICAgICBpZiAoIGlzXzMyYml0X2RvbWFpbihjdXJyZW50LT5kb21haW4p
ICkKKyAgICAgICAgICAgIGluamVjdF91bmRlZjMyX2V4Y2VwdGlvbihyZWdz
KTsKKyNpZmRlZiBDT05GSUdfQVJNXzY0CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIGluamVjdF91bmRlZjY0X2V4Y2VwdGlvbihyZWdzLCBpbnN0cl9s
ZW4pOworI2VuZGlmCit9CisKIHN0YXRpYyB2b2lkIGluamVjdF9pYWJ0X2V4
Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcl90IGFkZHIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluc3RyX2xl
bikKQEAgLTE0NDEsNyArMTQ3Niw3IEBAIHN0YXRpYyB2b2lkIGRvX2NwMTVf
MzIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAgICAgIGdkcHJp
bnRrKFhFTkxPR19FUlIsICJ1bmhhbmRsZWQgMzItYml0IENQMTUgYWNjZXNz
ICUjeFxuIiwKICAgICAgICAgICAgICAgICAgaHNyLmJpdHMgJiBIU1JfQ1Az
Ml9SRUdTX01BU0spOwogI2VuZGlmCi0gICAgICAgIGluamVjdF91bmRlZjMy
X2V4Y2VwdGlvbihyZWdzKTsKKyAgICAgICAgaW5qZWN0X3VuZGVmX2V4Y2Vw
dGlvbihyZWdzLCBoc3IubGVuKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICAgICBhZHZhbmNlX3BjKHJlZ3MsIGhzcik7CkBAIC0xNDc4LDcgKzE1MTMs
NyBAQCBzdGF0aWMgdm9pZCBkb19jcDE1XzY0KHN0cnVjdCBjcHVfdXNlcl9y
ZWdzICpyZWdzLAogICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0VSUiwg
InVuaGFuZGxlZCA2NC1iaXQgQ1AxNSBhY2Nlc3MgJSN4XG4iLAogICAgICAg
ICAgICAgICAgICAgICAgaHNyLmJpdHMgJiBIU1JfQ1A2NF9SRUdTX01BU0sp
OwogI2VuZGlmCi0gICAgICAgICAgICBpbmplY3RfdW5kZWYzMl9leGNlcHRp
b24ocmVncyk7CisgICAgICAgICAgICBpbmplY3RfdW5kZWZfZXhjZXB0aW9u
KHJlZ3MsIGhzci5sZW4pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAgICAgfQpAQCAtMTU0Nyw3ICsxNTgyLDcgQEAgYmFkX2NwOgogICAg
ICAgICBnZHByaW50ayhYRU5MT0dfRVJSLCAidW5oYW5kbGVkIDMyLWJpdCBj
cDE0IGFjY2VzcyAlI3hcbiIsCiAgICAgICAgICAgICAgICAgIGhzci5iaXRz
ICYgSFNSX0NQMzJfUkVHU19NQVNLKTsKICNlbmRpZgotICAgICAgICBpbmpl
Y3RfdW5kZWYzMl9leGNlcHRpb24ocmVncyk7CisgICAgICAgIGluamVjdF91
bmRlZl9leGNlcHRpb24ocmVncywgaHNyLmxlbik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKQEAgLTE1NzQsNyArMTYwOSw3IEBAIHN0YXRpYyB2b2lk
IGRvX2NwMTRfZGJnKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCB1bmlv
biBoc3IgaHNyKQogICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsICJ1bmhhbmRs
ZWQgNjQtYml0IENQMTQgYWNjZXNzICUjeFxuIiwKICAgICAgICAgICAgICBo
c3IuYml0cyAmIEhTUl9DUDY0X1JFR1NfTUFTSyk7CiAjZW5kaWYKLSAgICBp
bmplY3RfdW5kZWYzMl9leGNlcHRpb24ocmVncyk7CisgICAgaW5qZWN0X3Vu
ZGVmX2V4Y2VwdGlvbihyZWdzLCBoc3IubGVuKTsKIH0KIAogc3RhdGljIHZv
aWQgZG9fY3Aoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuaW9uIGhz
ciBoc3IpCkBAIC0xNTkzLDcgKzE2MjgsNyBAQCBzdGF0aWMgdm9pZCBkb19j
cChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgdW5pb24gaHNyIGhzcikK
ICAgICBBU1NFUlQoIWNwLnRhcyk7IC8qIFdlIGRvbid0IHRyYXAgU0lNRCBp
bnN0cnVjdGlvbiAqLwogICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsICJ1bmhh
bmRsZWQgQ1AlZCBhY2Nlc3NcbiIsIGNwLmNvcHJvYyk7CiAjZW5kaWYKLSAg
ICBpbmplY3RfdW5kZWYzMl9leGNlcHRpb24ocmVncyk7CisgICAgaW5qZWN0
X3VuZGVmX2V4Y2VwdGlvbihyZWdzLCBoc3IubGVuKTsKIH0KIAogI2lmZGVm
IENPTkZJR19BUk1fNjQKQEAgLTE2NjgsNyArMTcwMyw3IEBAIHN0YXRpYyB2
b2lkIGRvX3N5c3JlZyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAg
ICAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsICJ1bmhhbmRsZWQgNjQt
Yml0IHN5c3JlZyBhY2Nlc3MgJSN4XG4iLAogICAgICAgICAgICAgICAgICAg
ICAgaHNyLmJpdHMgJiBIU1JfU1lTUkVHX1JFR1NfTUFTSyk7CiAjZW5kaWYK
LSAgICAgICAgICAgIGluamVjdF91bmRlZjY0X2V4Y2VwdGlvbihyZWdzLCBz
eXNyZWcubGVuKTsKKyAgICAgICAgICAgIGluamVjdF91bmRlZl9leGNlcHRp
b24ocmVncywgc3lzcmVnLmxlbik7CiAgICAgICAgIH0KICAgICB9CiAKZGlm
ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vcHJvY2Vzc29yLmggYi94
ZW4vaW5jbHVkZS9hc20tYXJtL3Byb2Nlc3Nvci5oCmluZGV4IDlkMjMwZjMu
LmJmN2M5NGMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vcHJv
Y2Vzc29yLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9wcm9jZXNzb3Iu
aApAQCAtNDYwLDE0ICs0NjAsMTYgQEAgdW5pb24gaHNyIHsKICNkZWZpbmUg
VkVDVE9SMzJfUEFCVCAxMgogI2RlZmluZSBWRUNUT1IzMl9EQUJUIDE2CiAv
KiAuLi4gQVJNNjQgKi8KLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUDBf
U1lOQyAgMHgwMDAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUDBfSVJR
ICAgMHgwODAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUDBfRklRICAg
MHgxMDAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUDBfRVJST1IgMHgx
ODAKLSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUHhfU1lOQyAgMHgyMDAK
LSNkZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUHhfSVJRICAgMHgyODAKLSNk
ZWZpbmUgVkVDVE9SNjRfQ1VSUkVOVF9TUHhfRklRICAgMHgzMDAKLSNkZWZp
bmUgVkVDVE9SNjRfQ1VSUkVOVF9TUHhfRVJST1IgMHgzODAKKyNkZWZpbmUg
VkVDVE9SNjRfQ1VSUkVOVF9TUDBfQkFTRSAgMHgwMDAKKyNkZWZpbmUgVkVD
VE9SNjRfQ1VSUkVOVF9TUHhfQkFTRSAgMHgyMDAKKyNkZWZpbmUgVkVDVE9S
NjRfTE9XRVI2NF9CQVNFICAgICAgMHg0MDAKKyNkZWZpbmUgVkVDVE9SNjRf
TE9XRVIzMl9CQVNFICAgICAgMHg2MDAKKworI2RlZmluZSBWRUNUT1I2NF9T
WU5DX09GRlNFVCAgICAgICAweDAwMAorI2RlZmluZSBWRUNUT1I2NF9JUlFf
T0ZGU0VUICAgICAgICAweDA4MAorI2RlZmluZSBWRUNUT1I2NF9GSVFfT0ZG
U0VUICAgICAgICAweDEwMAorI2RlZmluZSBWRUNUT1I2NF9FUlJPUl9PRkZT
RVQgICAgICAweDE4MAorCiAKICNpZiBkZWZpbmVkKENPTkZJR19BUk1fMzIp
CiAjIGluY2x1ZGUgPGFzbS9hcm0zMi9wcm9jZXNzb3IuaD4KLS0gCjEuNy4x
MC40Cgo=

--=separator
Content-Type: application/octet-stream; name="xsa102-unstable-03.patch"
Content-Disposition: attachment; filename="xsa102-unstable-03.patch"
Content-Transfer-Encoding: base64

RnJvbSBkYjdhMzExNjYxNTFkZjEzNDhmOTU4YTEwYmQ5YjE1MzQyNThhZjk3
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBJYW4gQ2FtcGJlbGwg
PGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgpEYXRlOiBUaHUsIDI0IEp1bCAy
MDE0IDEyOjI4OjIyICswMTAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIHhlbjog
YXJtOiBIYW5kbGUgdHJhcHMgZnJvbSAzMi1iaXQgdXNlcnNwYWNlIG9uIDY0
LWJpdAoga2VybmVsIGFzIHVuZGVmCgpXZSBhcmUgbm90IHNldHVwIHRvIGhh
bmRsZSB0aGVzZSBwcm9wZXJseS4gVGhpcyB0dXJucyBhIGhvc3QgY3Jhc2gK
aW50byBhIHRyYXAgdG8gdGhlIGd1ZXN0IGtlcm5lbCB3aGljaCB3aWxsIGxp
a2VseSByZXN1bHQgaW4ga2lsbGluZwp0aGUgb2ZmZW5kaW5nIHByb2Nlc3Mu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTEwMi4KClNpZ25lZC1vZmYtYnk6IElh
biBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNpdHJpeC5jb20+CkFja2VkLWJ5
OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBsaW5hcm8ub3JnPgotLS0K
IHhlbi9hcmNoL2FybS90cmFwcy5jIHwgICAxMSArKysrKysrKysrKwogMSBm
aWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCmlu
ZGV4IGFiYWVlNjIuLmM4OTQyMWIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2Fy
bS90cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCkBAIC0xODQx
LDYgKzE4NDEsMTcgQEAgYXNtbGlua2FnZSB2b2lkIGRvX3RyYXBfaHlwZXJ2
aXNvcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIAogICAgIGVudGVy
X2h5cGVydmlzb3JfaGVhZChyZWdzKTsKIAorICAgIC8qCisgICAgICogV2Ug
Y3VycmVudGx5IGRvIG5vdCBoYW5kbGUgMzItYml0IHVzZXJzcGFjZSBvbiA2
NC1iaXQga2VybmVscworICAgICAqIGNvcnJlY3RseSAoU2VlIFhTQS0xMDIp
LiBVbnRpbCB0aGF0IGlzIHJlc29sdmVkIHdlIHRyZWF0IGFueQorICAgICAq
IHRyYXAgZnJvbSAzMi1iaXQgdXNlcnNwYWNlIG9uIDY0LWJpdCBrZXJuZWwg
YXMgdW5kZWZpbmVkLgorICAgICAqLworICAgIGlmICggaXNfNjRiaXRfZG9t
YWluKGN1cnJlbnQtPmRvbWFpbikgJiYgcHNyX21vZGVfaXNfMzJiaXQocmVn
cy0+Y3BzcikgKQorICAgIHsKKyAgICAgICAgaW5qZWN0X3VuZGVmX2V4Y2Vw
dGlvbihyZWdzLCBoc3IubGVuKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KwogICAgIHN3aXRjaCAoaHNyLmVjKSB7CiAgICAgY2FzZSBIU1JfRUNfV0ZJ
X1dGRToKICAgICAgICAgaWYgKCAhY2hlY2tfY29uZGl0aW9uYWxfaW5zdHIo
cmVncywgaHNyKSApCi0tIAoxLjcuMTAuNAoK

--=separator
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-announce mailing list
Xen-announce@lists.xen.org
http://lists.xen.org/xen-announce
--=separator--


