From xen-users-bounces@lists.xenproject.org Fri Apr 01 22:04:49 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 01 Apr 2022 22:04:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.297610.507047 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1naPNG-0004bV-An; Fri, 01 Apr 2022 22:04:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 297610.507047; Fri, 01 Apr 2022 22:04:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1naPNG-0004bN-76; Fri, 01 Apr 2022 22:04:06 +0000
Received: by outflank-mailman (input) for mailman id 297610;
 Fri, 01 Apr 2022 22:04:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yp80=UL=gmail.com=thebearak@srs-se1.protection.inumbo.net>)
 id 1naPNE-0004bD-R5
 for xen-users@lists.xenproject.org; Fri, 01 Apr 2022 22:04:04 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a36b4669-b207-11ec-8fbc-03012f2f19d4;
 Sat, 02 Apr 2022 00:04:04 +0200 (CEST)
Received: by mail-pl1-x62f.google.com with SMTP id u12so1387822plg.10
 for <xen-users@lists.xenproject.org>; Fri, 01 Apr 2022 15:04:02 -0700 (PDT)
Received: from [192.168.66.66] (29-121-237-24.static.gci.net. [24.237.121.29])
 by smtp.gmail.com with ESMTPSA id
 d21-20020a056a0010d500b004fd9ee64134sm3992678pfu.74.2022.04.01.15.03.58
 for <xen-users@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 01 Apr 2022 15:03:59 -0700 (PDT)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: a36b4669-b207-11ec-8fbc-03012f2f19d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:references:from:organization:in-reply-to
         :content-transfer-encoding;
        bh=VMIaLAHslKIL79WAfSTYBnimMudCx6IVcUJv31UXKXo=;
        b=NuqSHyNfOv+zpjY/wwkoXFJz9zvpLoW/QllU4tlDQ4zKmULrBohXDzvySfyTjzOrNi
         Ms+EncILWpgvCo4p4vuppN9Z58KVV6/G2hrBGFe5pbrZVL1CCdEW7uykGkzfASvViztK
         /vgDoCyk8OG76dcrAThVVt6Df62bvrm/ZHB7G4PGpzb57+8gkjjL1Do9v7bxBsIh4Xwb
         8BQeKUaCoBnyomlRdVGPWQ7H5HiUfMsVYrj3imVwxLN7tNQsbqiBoGClCMUCXbyUS4xR
         BbJlH8ISvWRRrCl3bHytSm7LfHmrufM0MUQWeG6Zz5vgOf8w3GebqwsJNA10hrCi4eIe
         gkyA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:references:from:organization
         :in-reply-to:content-transfer-encoding;
        bh=VMIaLAHslKIL79WAfSTYBnimMudCx6IVcUJv31UXKXo=;
        b=WG7eiu0RfSrfkFPOFPbNCJI+yyvgI9fDxJuDVkuFqvEO1K7c2qLkNKWFYJezcLqEra
         JUsm89UFSzqArwGuaPjNZpyWsov6Kb4n/jP00u3vY3nA6jxpC2uOuizuCnWGfXmm4vB3
         Yc7u01SWpi65p6q2yzPHGUmirVRvSYM1A/N58oe/MxgOBfRg8F3xOb6FzRHhPleaJm6b
         bOicfC7z1UxD9VHlaQ6YYzDNbIP4KIXBa9o10MJaaF5lNlG55JHmeyqVc+n42mVGwdMd
         +18VfoVNKQpxrVIwdHq14He68y2Kr+kRHiJVHQ/YGRYHf4QI200k7lzDn9ppx8wD4C2g
         Ra8Q==
X-Gm-Message-State: AOAM530dqLCTVwUjlP7CwXw6f3elhs9XkNJQXXji0w8IktexL9RFfAY5
	H+BFq+8/8Nf64p7R+TXUbsp71tGUemnZ7g==
X-Google-Smtp-Source: ABdhPJy6zMY9urdd6JmqHUMY2ZbtvJTEdixYX4u9VEM0Yj0/ipdB3srioaXha4RvIH2rUBWaEMIEtw==
X-Received: by 2002:a17:903:283:b0:153:ad21:21d3 with SMTP id j3-20020a170903028300b00153ad2121d3mr12475200plr.163.1648850640799;
        Fri, 01 Apr 2022 15:04:00 -0700 (PDT)
Message-ID: <ff2646dc-9df9-59d4-789e-633b5b20a980@gmail.com>
Date: Fri, 1 Apr 2022 14:03:53 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.7.0
Reply-To: mattb@summittelephonecompany.com
Subject: Free Memory
Content-Language: en-US
To: xen-users@lists.xenproject.org
References: <YioTs7JBULDVp6Nf@lightning.iz.norgie.net>
 <20220312095752.fpapdbsekgci5cxj@bitfolk.com>
 <CAFLBxZZFUzFY+pr99+WaXzU3STLGhCjwt0hMSud4GCECniRW0w@mail.gmail.com>
From: TheBearAK <thebearak@gmail.com>
Organization: Summit Telephone Company
In-Reply-To: <CAFLBxZZFUzFY+pr99+WaXzU3STLGhCjwt0hMSud4GCECniRW0w@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Normally when you type 'free' you get an output that shows:


               total        used        free      shared buff/cache   
available
Mem:     9.3Gi       226Mi       5.5Gi       9.0Mi 3.6Gi       8.9Gi
Swap:     15Gi          0B        15Gi


Where total is the total amount of RAM actually installed in the 
machine.   In this case, this is only showing that 9.3Gi.

Checking with cat /proc/meminfo shows the same 9.3Gb of RAM as the Total.


However, checking with "xl info" it shows:

total_memory           : 16356


Yesterday the 'free' command was showing that it only had 4 GB of RAM.   
I rebooted the entire server and brought the 4 VMs back online and it 
showed the total to be 16GB again.

Is this normal?   Seems like a big memory leak.    But I'm wondering if 
it could be that I have some bad memory and it keeps mapping it out on 
the fly.


I do notice that the VMs get slower and slower over time.  Just 
rebooting everything will clear it up, but it slows down over about 2-3 
months time to the point where ssh to them takes 10-15 seconds to connect.



From xen-users-bounces@lists.xenproject.org Sat Apr 02 03:44:18 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 02 Apr 2022 03:44:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.297702.507204 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1naUfo-0004YY-D6; Sat, 02 Apr 2022 03:43:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 297702.507204; Sat, 02 Apr 2022 03:43:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1naUfo-0004Y5-6H; Sat, 02 Apr 2022 03:43:36 +0000
Received: by outflank-mailman (input) for mailman id 297702;
 Sat, 02 Apr 2022 03:43:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JBny=UM=gmail.com=jacobcstill@srs-se1.protection.inumbo.net>)
 id 1naUfn-0004Xz-Ji
 for xen-users@lists.xenproject.org; Sat, 02 Apr 2022 03:43:35 +0000
Received: from mail-io1-xd2b.google.com (mail-io1-xd2b.google.com
 [2607:f8b0:4864:20::d2b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 11550cf6-b237-11ec-a405-831a346695d4;
 Sat, 02 Apr 2022 05:43:33 +0200 (CEST)
Received: by mail-io1-xd2b.google.com with SMTP id h63so5285758iof.12
 for <xen-users@lists.xenproject.org>; Fri, 01 Apr 2022 20:43:33 -0700 (PDT)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 11550cf6-b237-11ec-a405-831a346695d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
        bh=LxHWU6+6kdWGjpIimCGSuY1P02HyMhswNfUdd/iSm14=;
        b=aUzBl4WdIX7AIXOJ3sHT4uhFxiF0LlavT+j09YmYXzWFKikKYCStSNTkEJfs+Jk14L
         MQcPulinQ/KiD9woLB4TkyVVBC6CFnatuVMCCkyjaBuyZFAiHf+U2Ka+1CGUYkELNQck
         uZLTw8qIELeH6lkS14AhwgZQZ/gH7llUs0uSGZfOxxipnWaoxF5pS8jJYFbaJgbn7s3c
         p80gSyzHcTlTS0L5pgTBYcRJny3kDCkEFepbz0N0TdxZZ14gnA3xk53uRhXqFZC8g+yd
         mmSzT2TTuziAyDNzDm+U1SXv3rMDBZ8P3Ng2o4qOhAUNcDbpybo8yfA2X2u0dNFRg9o6
         f/2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to;
        bh=LxHWU6+6kdWGjpIimCGSuY1P02HyMhswNfUdd/iSm14=;
        b=a6YMHNYwC016ONNCcH1KPi96+4uRyc8URcgGIGxOCJBiCqSXdhlNED2FInN2gHFi2E
         xM0udGeDpWm74iZari135uqRzfOCHXcaFOhbKr70SteVexAuKeKYIgPJGzSpMWkI+DEC
         1/52B8Zqg2qn1xLZxzqGyVKbKbygcqP5DDhmxNlK5hkQL3Q4Fyc7z/D1QoNr+NbBUsRh
         HqJM202UpvZX5KQL6JUcehYaVYUaml65vQBDxI7lY6oyZIds5ka8XAcH4cuJIQIrOJ4q
         xERLCDN2JCg6on5jLBokErugxQRHeHG3GoH0+lqN+m0COHT+S4/D0NUQxfAoxU51ullq
         d8iA==
X-Gm-Message-State: AOAM533GT+rPxqtSlatMiVzW4djt8b2ysTHBLIFc1L37fTP1aW+AxU0k
	OLb63PyLA3f10mbnGsHX6uJ2qMddiaI5JXV73o6xs37uH7c=
X-Google-Smtp-Source: ABdhPJxbVmjUZsn8ahrOEoPy0iPqsKA8YeA5a+3F/hMeX6cPpdI2qx3H9Wg3qfGLd1CN3BE8YorlRSF5l12iDCCKUkw=
X-Received: by 2002:a05:6638:388e:b0:321:57c3:f86 with SMTP id
 b14-20020a056638388e00b0032157c30f86mr6845869jav.255.1648871011921; Fri, 01
 Apr 2022 20:43:31 -0700 (PDT)
MIME-Version: 1.0
References: <YioTs7JBULDVp6Nf@lightning.iz.norgie.net> <20220312095752.fpapdbsekgci5cxj@bitfolk.com>
 <CAFLBxZZFUzFY+pr99+WaXzU3STLGhCjwt0hMSud4GCECniRW0w@mail.gmail.com> <ff2646dc-9df9-59d4-789e-633b5b20a980@gmail.com>
In-Reply-To: <ff2646dc-9df9-59d4-789e-633b5b20a980@gmail.com>
From: Jacob Still <jacobcstill@gmail.com>
Date: Fri, 1 Apr 2022 20:43:21 -0700
Message-ID: <CANd33mNwyHB1h8hwzhC-GNmcipD=pVETZbJDpZNUYeEc2LYfbw@mail.gmail.com>
Subject: Re: Free Memory
To: xen-users@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

On Fri, Apr 1, 2022 at 3:04 PM TheBearAK <thebearak@gmail.com> wrote:
>
> Normally when you type 'free' you get an output that shows:
>
>
>                total        used        free      shared buff/cache
> available
> Mem:     9.3Gi       226Mi       5.5Gi       9.0Mi 3.6Gi       8.9Gi
> Swap:     15Gi          0B        15Gi
>
>
> Where total is the total amount of RAM actually installed in the
> machine.   In this case, this is only showing that 9.3Gi.
>
> Checking with cat /proc/meminfo shows the same 9.3Gb of RAM as the Total.
>
>
> However, checking with "xl info" it shows:
>
> total_memory           : 16356
>
>
> Yesterday the 'free' command was showing that it only had 4 GB of RAM.
> I rebooted the entire server and brought the 4 VMs back online and it
> showed the total to be 16GB again.
>
> Is this normal?   Seems like a big memory leak.    But I'm wondering if
> it could be that I have some bad memory and it keeps mapping it out on
> the fly.
>
>
> I do notice that the VMs get slower and slower over time.  Just
> rebooting everything will clear it up, but it slows down over about 2-3
> months time to the point where ssh to them takes 10-15 seconds to connect.
>
>

You most likely have autobalooning enabled. Try setting autobaloon to
"off" and give
your dom0 a static amount of memory at boot.

See:
https://wiki.xenproject.org/wiki/Xen_Project_Best_Practices#Xen_Project_dom0_dedicated_memory_and_preventing_dom0_memory_ballooning


From xen-users-bounces@lists.xenproject.org Sat Apr 02 19:28:38 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 02 Apr 2022 19:28:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.297886.507502 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1najPX-0002d3-Hq; Sat, 02 Apr 2022 19:27:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 297886.507502; Sat, 02 Apr 2022 19:27:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1najPX-0002cv-Dl; Sat, 02 Apr 2022 19:27:47 +0000
Received: by outflank-mailman (input) for mailman id 297886;
 Sat, 02 Apr 2022 19:27:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sCMP=UM=thehobsons.co.uk=simon@srs-se1.protection.inumbo.net>)
 id 1najPV-0002bM-Lz
 for xen-users@lists.xen.org; Sat, 02 Apr 2022 19:27:45 +0000
Received: from patsy.thehobsons.co.uk (patsy.thehobsons.co.uk [80.229.10.150])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f72a9844-b2ba-11ec-a405-831a346695d4;
 Sat, 02 Apr 2022 21:27:43 +0200 (CEST)
Received: from smtpclient.apple (MacBook-Pro.thehobsons.co.uk
 [192.168.137.121])
 by patsy.thehobsons.co.uk (Postfix) with ESMTPSA id E695C110001
 for <xen-users@lists.xen.org>; Sat,  2 Apr 2022 19:11:13 +0000 (UTC)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: f72a9844-b2ba-11ec-a405-831a346695d4
X-Virus-Scanned: Debian amavisd-new at patsy.thehobsons.co.uk
From: Simon Hobson <simon@thehobsons.co.uk>
Content-Type: text/plain;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\))
Subject: Effect in guest of a hard read error from the host's storage ?
Message-Id: <74C3CB5E-BFF2-43F2-B8A3-43D7CDE25926@thehobsons.co.uk>
Date: Sat, 2 Apr 2022 20:11:13 +0100
To: xen-users@lists.xen.org
X-Mailer: Apple Mail (2.3654.120.0.1.13)

Not having experienced it on any of my Xen systems I=E2=80=99ve managed =
in the past, I just wanted to check what happens when the host=E2=80=99s =
storage encounters an unrecoverable read error ?
My expectation would be that the error would be passed up the chain =
(host=E2=80=99s OS, virtual disk emulator, guest OS disk driver, guest =
OS filesystem, guest OS program), appear as an unrecoverable error to =
the guest, and hence passed up to the program attempting to read the =
file - so really nothing different to the same error on bare metal.

Has anyone encountered this, and can confirm if that=E2=80=99s how =
Xen+Linux handles it ?

The reason for asking is that I also use Parallels on a Mac and have =
this situation. Cloning the host=E2=80=99s drive (Carbon Copy Cloner) =
=E2=80=9Cdoes the right thing=E2=80=9D - CCC copies the files it can and =
reports the ones it can=E2=80=99t. A couple of the ones it can=E2=80=99t =
are virtual disk files for Parallels guests.
When I try to recover what I can (and any unreadable files might not be =
important anyway but I don=E2=80=99t know which they are) using the same =
technique in the guest, Parallels doesn=E2=80=99t behave like that. It =
pops up a dialog to say a critical error has occurred, with two options =
- retry (which of course doesn=E2=80=99t do anything useful), or to stop =
the guest. So the guest OS never gets to see the error, it just gets =
killed. Thus meaningful recovery is impossible as the guest gets stopped =
without being able to tell me what file(s) is affected.
I=E2=80=99ve been =E2=80=9Cdiscussing=E2=80=9D this with Parallels =
support and at the moment I=E2=80=99ve reached the point where they=E2=80=99=
re telling me that this is normal when things are virtualised - which is =
setting off the BS detector for me.

Simon



From xen-users-bounces@lists.xenproject.org Tue Apr 05 12:01:18 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 05 Apr 2022 12:01:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.298780.509145 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nbhrg-00086G-BW; Tue, 05 Apr 2022 12:00:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 298780.509145; Tue, 05 Apr 2022 12:00:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nbhrf-00080G-SN; Tue, 05 Apr 2022 12:00:51 +0000
Received: by outflank-mailman (input) for mailman id 298780;
 Tue, 05 Apr 2022 12:00:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c4fh=UP=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1nbhrd-0006xb-Er
 for xen-users@lists.xen.org; Tue, 05 Apr 2022 12:00:49 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03ff18e3-b4d8-11ec-a405-831a346695d4;
 Tue, 05 Apr 2022 14:00:44 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nbhrE-00089F-Kf; Tue, 05 Apr 2022 12:00:24 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nbhrE-0003M1-JC; Tue, 05 Apr 2022 12:00:24 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 03ff18e3-b4d8-11ec-a405-831a346695d4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=DcM+cNwwuhmEECAxkkt/2fSZTOfORjsP7OIOvhD43Oc=; b=c818RN9FSjmzpoAbgDU62B/+Sg
	oY1xtmTrtAsDjuFdCoVf+htRPxYg0xPJPSeEkTWZI4RzbOzX+P4otcMF8clJCnEGpRkuzSPYuwTgL
	iyuMh/zxlQqDIZqC4IJ6rxwToKHWkKVbXWZZqPYt0JsXdAzeEr32BziXyitJoF7irl9M=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
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-team-members@xen.org>
Subject: Xen Security Advisory 397 v2 (CVE-2022-26356) - Racy interactions
 between dirty vram tracking and paging log dirty hypercalls
Message-Id: <E1nbhrE-0003M1-JC@xenbits.xenproject.org>
Date: Tue, 05 Apr 2022 12:00:24 +0000

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2022-26356 / XSA-397
                               version 2

 Racy interactions between dirty vram tracking and paging log dirty hypercalls

UPDATES IN VERSION 2
====================

Public release.

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

Activation of log dirty mode done by XEN_DMOP_track_dirty_vram (was named
HVMOP_track_dirty_vram before Xen 4.9) is racy with ongoing log dirty
hypercalls.  A suitably timed call to XEN_DMOP_track_dirty_vram can enable
log dirty while another CPU is still in the process of tearing down the
structures related to a previously enabled log dirty mode
(XEN_DOMCTL_SHADOW_OP_OFF).  This is due to lack of mutually exclusive locking
between both operations and can lead to entries being added in already freed
slots, resulting in a memory leak.

IMPACT
======

An attacker can cause Xen to leak memory, eventually leading to a Denial of
Service (DoS) affecting the entire host.

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

All Xen versions from at least 4.0 onwards are vulnerable.

Only x86 systems are vulnerable.  Arm systems are not vulnerable.

Only domains controlling an x86 HVM guest using Hardware Assisted Paging (HAP)
can leverage the vulnerability.  On common deployments this is limited to
domains that run device models on behalf of guests.

MITIGATION
==========

Using only PV or PVH guests and/or running HVM guests in shadow mode will avoid
the vulnerability.

CREDITS
=======

This issue was discovered by Roger Pau Monné of Citrix.

RESOLUTION
==========

Applying the appropriate attached patch resolves this issue.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa397.patch           xen-unstable
xsa397-4.16.patch      Xen 4.16.x - Xen 4.15.x
xsa397-4.14.patch      Xen 4.14.x - Xen 4.13.x
xsa397-4.12.patch      Xen 4.12.x

$ sha256sum xsa397*
49c663e2bb9131dbc2488e12487f79bdf0dafd51a32413cbf3964e39d8779cae  xsa397.patch
24f95f47b79739c9cb5b9110137c802989356c82d0aa27963b5ac7e33f667285  xsa397-4.12.patch
9af14f90ba10d074425eb6072a6c648082c92c1cf8b6f881f57ed2fc13d6e49d  xsa397-4.14.patch
ff5dd3b7a8dbf349c3b832b7916322c0296fa59c7f9cd2ba30858989add5f65c  xsa397-4.16.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches described above (or others which are substantially
similar) is permitted during the embargo, even on public-facing systems with
untrusted guest users and administrators.

But: Distribution of updated software (except to other members of the
predisclosure list) or deployment of mitigations is prohibited.

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.


(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmJMJDEMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZOUMH/RRZ8aMaoywqTV38SeTFne2tFT5jnWPPXR1ZGCvh
825hmSqzcYUaILbWFruUfT2PdpGoU9Eprz3xWXBDwgsUEGvKt7ZhGoWvxzXASlDh
cPRh/XwQVEEYsB1cRSk/GoLxLCQEV8oGNpmAcjEM4K1dG0VbVaRD0W2thNCmyPcv
d7aTkAdD2IE8NU4hX8YGN6v+UCkjrgzL0AF/hff9CMj7Sn/wBRrdStLT0LDZU20c
G/5+9nsOAVM7EwrzImI5Lx9KELyHwl37XUPffbftyTLUofdHJ5PK40J1tNIRS/RW
YYvs2alF7ng7LlwB/Go8gtn4XRx6xZidceYrUk22oB4JBqo=
=Fje3
-----END PGP SIGNATURE-----

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

RnJvbSA1NWE5YWNlZjg1N2NjMGFiYmEyOTk2Y2FhNGZjYjRjOGQ1ZGNmNTgw
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBXZWQsIDIzIEZlYiAy
MDIyIDA5OjQwOjQwICswMTAwClN1YmplY3Q6IFtQQVRDSF0geDg2L2hhcDog
ZG8gbm90IHN3aXRjaCBvbiBsb2cgZGlydHkgZm9yIFZSQU0gdHJhY2tpbmcK
ClhFTl9ETU9QX3RyYWNrX2RpcnR5X3ZyYW0gcG9zc2libHkgY2FsbHMgaW50
byBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZQp3aGVuIHVzaW5nIEhBUCBtb2Rl
LCBhbmQgaXQgY2FuIGludGVyYWN0IGJhZGx5IHdpdGggb3RoZXIgb25nb2lu
ZwpwYWdpbmcgZG9tY3RscywgYXMgWEVOX0RNT1BfdHJhY2tfZGlydHlfdnJh
bSBpcyBub3QgaG9sZGluZyB0aGUgZG9tY3RsCmxvY2suCgpUaGlzIHdhcyBk
ZXRlY3RlZCBhcyBhIHJlc3VsdCBvZiB0aGUgZm9sbG93aW5nIGFzc2VydCB0
cmlnZ2VyaW5nIHdoZW4KZG9pbmcgcmVwZWF0ZWQgbWlncmF0aW9ucyBvZiBh
IEhBUCBIVk0gZG9tYWluIHdpdGggYSBzdHViZG9tOgoKQXNzZXJ0aW9uICdk
LT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuYWxsb2NzID09IDAnIGZhaWxlZCBh
dCBwYWdpbmcuYzoxOTgKLS0tLVsgWGVuLTQuMTctdW5zdGFibGUgIHg4Nl82
NCAgZGVidWc9eSAgTm90IHRhaW50ZWQgXS0tLS0KQ1BVOiAgICAzNApSSVA6
ICAgIGUwMDg6WzxmZmZmODJkMDQwMzE0YjNiPl0gYXJjaC94ODYvbW0vcGFn
aW5nLmMjcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcCsweDYwNi8weDYK
UkZMQUdTOiAwMDAwMDAwMDAwMDEwMjA2ICAgQ09OVEVYVDogaHlwZXJ2aXNv
ciAoZDB2MjMpClsuLi5dClhlbiBjYWxsIHRyYWNlOgogICBbPGZmZmY4MmQw
NDAzMTRiM2I+XSBSIGFyY2gveDg2L21tL3BhZ2luZy5jI3BhZ2luZ19mcmVl
X2xvZ19kaXJ0eV9iaXRtYXArMHg2MDYvMHg2M2EKICAgWzxmZmZmODJkMDQw
Mjc5Zjk2Pl0gUyB4c20vZmxhc2svaG9va3MuYyNkb21haW5faGFzX3Blcm0r
MHg1YS8weDY3CiAgIFs8ZmZmZjgyZDA0MDMxNTc3Zj5dIEYgcGFnaW5nX2Rv
bWN0bCsweDI1MS8weGQ0MQogICBbPGZmZmY4MmQwNDAzMTY0MGM+XSBGIHBh
Z2luZ19kb21jdGxfY29udGludWF0aW9uKzB4MTlkLzB4MjAyCiAgIFs8ZmZm
ZjgyZDA0MDMyMDJmYT5dIEYgcHZfaHlwZXJjYWxsKzB4MTUwLzB4MmE3CiAg
IFs8ZmZmZjgyZDA0MDNhNzI5ZD5dIEYgbHN0YXJfZW50ZXIrMHgxMmQvMHgx
NDAKClN1Y2ggYXNzZXJ0IHRyaWdnZXJlZCBiZWNhdXNlIHRoZSBzdHViZG9t
IHVzZWQKWEVOX0RNT1BfdHJhY2tfZGlydHlfdnJhbSB3aGlsZSBkb20wIHdh
cyBpbiB0aGUgbWlkZGxlIG9mIGV4ZWN1dGluZwpYRU5fRE9NQ1RMX1NIQURP
V19PUF9PRkYsIGFuZCBzbyBsb2cgZGlydHkgYmVjb21lIGVuYWJsZWQgd2hp
bGUKcmV0aXJpbmcgdGhlIG9sZCBzdHJ1Y3R1cmVzLCB0aHVzIGxlYWRpbmcg
dG8gbmV3IGVudHJpZXMgYmVpbmcKcG9wdWxhdGVkIGluIGFscmVhZHkgY2xl
YXIgc2xvdHMuCgpGaXggdGhpcyBieSBub3QgZW5hYmxpbmcgbG9nIGRpcnR5
IGZvciBWUkFNIHRyYWNraW5nLCBzaW1pbGFyIHRvIHdoYXQKaXMgZG9uZSB3
aGVuIHVzaW5nIHNoYWRvdyBpbnN0ZWFkIG9mIEhBUC4gQ2FsbApwMm1fZW5h
YmxlX2hhcmR3YXJlX2xvZ19kaXJ0eSB3aGVuIGVuYWJsaW5nIFZSQU0gdHJh
Y2tpbmcgaW4gb3JkZXIgdG8KZ2V0IHNvbWUgaGFyZHdhcmUgYXNzaXN0YW5j
ZSBpZiBhdmFpbGFibGUuIEFzIGEgc2lkZSBlZmZlY3QgdGhlIG1lbW9yeQpw
cmVzc3VyZSBvbiB0aGUgcDJtIHBvb2wgc2hvdWxkIGdvIGRvd24gaWYgb25s
eSBWUkFNIHRyYWNraW5nIGlzCmVuYWJsZWQsIGFzIHRoZSBkaXJ0eSBiaXRt
YXAgaXMgbm8gbG9uZ2VyIGFsbG9jYXRlZC4KCk5vdGUgdGhhdCBwYWdpbmdf
bG9nX2RpcnR5X3JhbmdlICh1c2VkIHRvIGdldCB0aGUgZGlydHkgYml0bWFw
IGZvcgpWUkFNIHRyYWNraW5nKSBkb2Vzbid0IHVzZSB0aGUgbG9nIGRpcnR5
IGJpdG1hcCwgYW5kIGluc3RlYWQgcmVsaWVzIG9uCmNoZWNraW5nIHdoZXRo
ZXIgZWFjaCBnZm4gb24gdGhlIHJhbmdlIGhhcyBiZWVuIHN3aXRjaGVkIGZy
b20KcDJtX3JhbV9sb2dkaXJ0eSB0byBwMm1fcmFtX3J3IGluIG9yZGVyIHRv
IGFjY291bnQgZm9yIGRpcnR5IHBhZ2VzLgoKVGhpcyBpcyBDVkUtMjAyMi0y
NjM1NiAvIFhTQS0zOTcuCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9u
bsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBC
ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYv
aW5jbHVkZS9hc20vcGFnaW5nLmggfCAgMyAtLS0KIHhlbi9hcmNoL3g4Ni9t
bS9oYXAvaGFwLmMgICAgICAgICB8IDExICsrKystLS0tLS0tCiB4ZW4vYXJj
aC94ODYvbW0vcGFnaW5nLmMgICAgICAgICAgfCAgMiArLQogMyBmaWxlcyBj
aGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYWdpbmcuaCBi
L3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYWdpbmcuaAppbmRleCAyZGRj
ZmIwMjJjLi5lMjBhNWY5MTY2IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv
aW5jbHVkZS9hc20vcGFnaW5nLmgKKysrIGIveGVuL2FyY2gveDg2L2luY2x1
ZGUvYXNtL3BhZ2luZy5oCkBAIC0xNjAsOSArMTYwLDYgQEAgdm9pZCBwYWdp
bmdfbG9nX2RpcnR5X3JhbmdlKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBuciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpkaXJ0eV9iaXRtYXAp
OwogCi0vKiBlbmFibGUgbG9nIGRpcnR5ICovCi1pbnQgcGFnaW5nX2xvZ19k
aXJ0eV9lbmFibGUoc3RydWN0IGRvbWFpbiAqZCwgYm9vbCBsb2dfZ2xvYmFs
KTsKLQogLyogbG9nIGRpcnR5IGluaXRpYWxpemF0aW9uICovCiB2b2lkIHBh
Z2luZ19sb2dfZGlydHlfaW5pdChzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBz
dHJ1Y3QgbG9nX2RpcnR5X29wcyAqb3BzKTsKIApkaWZmIC0tZ2l0IGEveGVu
L2FyY2gveDg2L21tL2hhcC9oYXAuYyBiL3hlbi9hcmNoL3g4Ni9tbS9oYXAv
aGFwLmMKaW5kZXggZGU0YjEzNTY1YS4uMDQzNDE4NWE4YSAxMDA2NDQKLS0t
IGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYworKysgYi94ZW4vYXJjaC94
ODYvbW0vaGFwL2hhcC5jCkBAIC02OSwxMyArNjksNiBAQCBpbnQgaGFwX3Ry
YWNrX2RpcnR5X3ZyYW0oc3RydWN0IGRvbWFpbiAqZCwKICAgICB7CiAgICAg
ICAgIHVuc2lnbmVkIGludCBzaXplID0gRElWX1JPVU5EX1VQKG5yX2ZyYW1l
cywgQklUU19QRVJfQllURSk7CiAKLSAgICAgICAgaWYgKCAhcGFnaW5nX21v
ZGVfbG9nX2RpcnR5KGQpICkKLSAgICAgICAgewotICAgICAgICAgICAgcmMg
PSBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZShkLCBmYWxzZSk7Ci0gICAgICAg
ICAgICBpZiAoIHJjICkKLSAgICAgICAgICAgICAgICBnb3RvIG91dDsKLSAg
ICAgICAgfQotCiAgICAgICAgIHJjID0gLUVOT01FTTsKICAgICAgICAgZGly
dHlfYml0bWFwID0gdnphbGxvYyhzaXplKTsKICAgICAgICAgaWYgKCAhZGly
dHlfYml0bWFwICkKQEAgLTEwNyw2ICsxMDAsMTAgQEAgaW50IGhhcF90cmFj
a19kaXJ0eV92cmFtKHN0cnVjdCBkb21haW4gKmQsCiAKICAgICAgICAgICAg
IHBhZ2luZ191bmxvY2soZCk7CiAKKyAgICAgICAgICAgIGRvbWFpbl9wYXVz
ZShkKTsKKyAgICAgICAgICAgIHAybV9lbmFibGVfaGFyZHdhcmVfbG9nX2Rp
cnR5KGQpOworICAgICAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7CisKICAg
ICAgICAgICAgIGlmICggb2VuZCA+IG9zdGFydCApCiAgICAgICAgICAgICAg
ICAgcDJtX2NoYW5nZV90eXBlX3JhbmdlKGQsIG9zdGFydCwgb2VuZCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX3JhbV9s
b2dkaXJ0eSwgcDJtX3JhbV9ydyk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94
ODYvbW0vcGFnaW5nLmMgYi94ZW4vYXJjaC94ODYvbW0vcGFnaW5nLmMKaW5k
ZXggZGMzYTRhMGI0Yi4uODc2NGVhNjc1MCAxMDA2NDQKLS0tIGEveGVuL2Fy
Y2gveDg2L21tL3BhZ2luZy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdp
bmcuYwpAQCAtMjEyLDcgKzIxMiw3IEBAIHN0YXRpYyBpbnQgcGFnaW5nX2Zy
ZWVfbG9nX2RpcnR5X2JpdG1hcChzdHJ1Y3QgZG9tYWluICpkLCBpbnQgcmMp
CiAgICAgcmV0dXJuIHJjOwogfQogCi1pbnQgcGFnaW5nX2xvZ19kaXJ0eV9l
bmFibGUoc3RydWN0IGRvbWFpbiAqZCwgYm9vbCBsb2dfZ2xvYmFsKQorc3Rh
dGljIGludCBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZShzdHJ1Y3QgZG9tYWlu
ICpkLCBib29sIGxvZ19nbG9iYWwpCiB7CiAgICAgaW50IHJldDsKIAotLSAK
Mi4zNC4xCgo=

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

RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
U3ViamVjdDogeDg2L2hhcDogZG8gbm90IHN3aXRjaCBvbiBsb2cgZGlydHkg
Zm9yIFZSQU0gdHJhY2tpbmcKClhFTl9ETU9QX3RyYWNrX2RpcnR5X3ZyYW0g
cG9zc2libHkgY2FsbHMgaW50byBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZQp3
aGVuIHVzaW5nIEhBUCBtb2RlLCBhbmQgaXQgY2FuIGludGVyYWN0IGJhZGx5
IHdpdGggb3RoZXIgb25nb2luZwpwYWdpbmcgZG9tY3RscywgYXMgWEVOX0RN
T1BfdHJhY2tfZGlydHlfdnJhbSBpcyBub3QgaG9sZGluZyB0aGUgZG9tY3Rs
CmxvY2suCgpUaGlzIHdhcyBkZXRlY3RlZCBhcyBhIHJlc3VsdCBvZiB0aGUg
Zm9sbG93aW5nIGFzc2VydCB0cmlnZ2VyaW5nIHdoZW4KZG9pbmcgcmVwZWF0
ZWQgbWlncmF0aW9ucyBvZiBhIEhBUCBIVk0gZG9tYWluIHdpdGggYSBzdHVi
ZG9tOgoKQXNzZXJ0aW9uICdkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuYWxs
b2NzID09IDAnIGZhaWxlZCBhdCBwYWdpbmcuYzoxOTgKLS0tLVsgWGVuLTQu
MTctdW5zdGFibGUgIHg4Nl82NCAgZGVidWc9eSAgTm90IHRhaW50ZWQgXS0t
LS0KQ1BVOiAgICAzNApSSVA6ICAgIGUwMDg6WzxmZmZmODJkMDQwMzE0YjNi
Pl0gYXJjaC94ODYvbW0vcGFnaW5nLmMjcGFnaW5nX2ZyZWVfbG9nX2RpcnR5
X2JpdG1hcCsweDYwNi8weDYKUkZMQUdTOiAwMDAwMDAwMDAwMDEwMjA2ICAg
Q09OVEVYVDogaHlwZXJ2aXNvciAoZDB2MjMpClsuLi5dClhlbiBjYWxsIHRy
YWNlOgogICBbPGZmZmY4MmQwNDAzMTRiM2I+XSBSIGFyY2gveDg2L21tL3Bh
Z2luZy5jI3BhZ2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXArMHg2MDYvMHg2
M2EKICAgWzxmZmZmODJkMDQwMjc5Zjk2Pl0gUyB4c20vZmxhc2svaG9va3Mu
YyNkb21haW5faGFzX3Blcm0rMHg1YS8weDY3CiAgIFs8ZmZmZjgyZDA0MDMx
NTc3Zj5dIEYgcGFnaW5nX2RvbWN0bCsweDI1MS8weGQ0MQogICBbPGZmZmY4
MmQwNDAzMTY0MGM+XSBGIHBhZ2luZ19kb21jdGxfY29udGludWF0aW9uKzB4
MTlkLzB4MjAyCiAgIFs8ZmZmZjgyZDA0MDMyMDJmYT5dIEYgcHZfaHlwZXJj
YWxsKzB4MTUwLzB4MmE3CiAgIFs8ZmZmZjgyZDA0MDNhNzI5ZD5dIEYgbHN0
YXJfZW50ZXIrMHgxMmQvMHgxNDAKClN1Y2ggYXNzZXJ0IHRyaWdnZXJlZCBi
ZWNhdXNlIHRoZSBzdHViZG9tIHVzZWQKWEVOX0RNT1BfdHJhY2tfZGlydHlf
dnJhbSB3aGlsZSBkb20wIHdhcyBpbiB0aGUgbWlkZGxlIG9mIGV4ZWN1dGlu
ZwpYRU5fRE9NQ1RMX1NIQURPV19PUF9PRkYsIGFuZCBzbyBsb2cgZGlydHkg
YmVjb21lIGVuYWJsZWQgd2hpbGUKcmV0aXJpbmcgdGhlIG9sZCBzdHJ1Y3R1
cmVzLCB0aHVzIGxlYWRpbmcgdG8gbmV3IGVudHJpZXMgYmVpbmcKcG9wdWxh
dGVkIGluIGFscmVhZHkgY2xlYXIgc2xvdHMuCgpGaXggdGhpcyBieSBub3Qg
ZW5hYmxpbmcgbG9nIGRpcnR5IGZvciBWUkFNIHRyYWNraW5nLCBzaW1pbGFy
IHRvIHdoYXQKaXMgZG9uZSB3aGVuIHVzaW5nIHNoYWRvdyBpbnN0ZWFkIG9m
IEhBUC4gQ2FsbApwMm1fZW5hYmxlX2hhcmR3YXJlX2xvZ19kaXJ0eSB3aGVu
IGVuYWJsaW5nIFZSQU0gdHJhY2tpbmcgaW4gb3JkZXIgdG8KZ2V0IHNvbWUg
aGFyZHdhcmUgYXNzaXN0YW5jZSBpZiBhdmFpbGFibGUuIEFzIGEgc2lkZSBl
ZmZlY3QgdGhlIG1lbW9yeQpwcmVzc3VyZSBvbiB0aGUgcDJtIHBvb2wgc2hv
dWxkIGdvIGRvd24gaWYgb25seSBWUkFNIHRyYWNraW5nIGlzCmVuYWJsZWQs
IGFzIHRoZSBkaXJ0eSBiaXRtYXAgaXMgbm8gbG9uZ2VyIGFsbG9jYXRlZC4K
Ck5vdGUgdGhhdCBwYWdpbmdfbG9nX2RpcnR5X3JhbmdlICh1c2VkIHRvIGdl
dCB0aGUgZGlydHkgYml0bWFwIGZvcgpWUkFNIHRyYWNraW5nKSBkb2Vzbid0
IHVzZSB0aGUgbG9nIGRpcnR5IGJpdG1hcCwgYW5kIGluc3RlYWQgcmVsaWVz
IG9uCmNoZWNraW5nIHdoZXRoZXIgZWFjaCBnZm4gb24gdGhlIHJhbmdlIGhh
cyBiZWVuIHN3aXRjaGVkIGZyb20KcDJtX3JhbV9sb2dkaXJ0eSB0byBwMm1f
cmFtX3J3IGluIG9yZGVyIHRvIGFjY291bnQgZm9yIGRpcnR5IHBhZ2VzLgoK
VGhpcyBpcyBDVkUtMjAyMi0yNjM1NiAvIFhTQS0zOTcuCgpTaWduZWQtb2Zm
LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcGFnaW5nLmgKKysrIGIveGVu
L2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaApAQCAtMTQ0LDkgKzE0NCw2IEBA
IHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV9yYW5nZShzdHJ1Y3QgZG9tYWkKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRpcnR5X2Jp
dG1hcCk7CiAKLS8qIGVuYWJsZSBsb2cgZGlydHkgKi8KLWludCBwYWdpbmdf
bG9nX2RpcnR5X2VuYWJsZShzdHJ1Y3QgZG9tYWluICpkLCBib29sX3QgbG9n
X2dsb2JhbCk7Ci0KIC8qIGxvZyBkaXJ0eSBpbml0aWFsaXphdGlvbiAqLwog
dm9pZCBwYWdpbmdfbG9nX2RpcnR5X2luaXQoc3RydWN0IGRvbWFpbiAqZCwg
Y29uc3Qgc3RydWN0IGxvZ19kaXJ0eV9vcHMgKm9wcyk7CiAKLS0tIGEveGVu
L2FyY2gveDg2L21tL2hhcC9oYXAuYworKysgYi94ZW4vYXJjaC94ODYvbW0v
aGFwL2hhcC5jCkBAIC02OSwxMyArNjksNiBAQCBpbnQgaGFwX3RyYWNrX2Rp
cnR5X3ZyYW0oc3RydWN0IGRvbWFpbiAqCiAgICAgewogICAgICAgICBpbnQg
c2l6ZSA9IChuciArIEJJVFNfUEVSX0JZVEUgLSAxKSAvIEJJVFNfUEVSX0JZ
VEU7CiAKLSAgICAgICAgaWYgKCAhcGFnaW5nX21vZGVfbG9nX2RpcnR5KGQp
ICkKLSAgICAgICAgewotICAgICAgICAgICAgcmMgPSBwYWdpbmdfbG9nX2Rp
cnR5X2VuYWJsZShkLCAwKTsKLSAgICAgICAgICAgIGlmICggcmMgKQotICAg
ICAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICB9Ci0KICAgICAgICAg
cmMgPSAtRU5PTUVNOwogICAgICAgICBkaXJ0eV9iaXRtYXAgPSB2emFsbG9j
KHNpemUpOwogICAgICAgICBpZiAoICFkaXJ0eV9iaXRtYXAgKQpAQCAtMTA3
LDYgKzEwMCwxMCBAQCBpbnQgaGFwX3RyYWNrX2RpcnR5X3ZyYW0oc3RydWN0
IGRvbWFpbiAqCiAKICAgICAgICAgICAgIHBhZ2luZ191bmxvY2soZCk7CiAK
KyAgICAgICAgICAgIGRvbWFpbl9wYXVzZShkKTsKKyAgICAgICAgICAgIHAy
bV9lbmFibGVfaGFyZHdhcmVfbG9nX2RpcnR5KGQpOworICAgICAgICAgICAg
ZG9tYWluX3VucGF1c2UoZCk7CisKICAgICAgICAgICAgIGlmICggb2VuZCA+
IG9zdGFydCApCiAgICAgICAgICAgICAgICAgcDJtX2NoYW5nZV90eXBlX3Jh
bmdlKGQsIG9zdGFydCwgb2VuZCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcDJtX3JhbV9sb2dkaXJ0eSwgcDJtX3JhbV9ydyk7
Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYworKysgYi94ZW4vYXJj
aC94ODYvbW0vcGFnaW5nLmMKQEAgLTIwOSw3ICsyMDksNyBAQCBzdGF0aWMg
aW50IHBhZ2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXAoCiAgICAgcmV0dXJu
IHJjOwogfQogCi1pbnQgcGFnaW5nX2xvZ19kaXJ0eV9lbmFibGUoc3RydWN0
IGRvbWFpbiAqZCwgYm9vbF90IGxvZ19nbG9iYWwpCitzdGF0aWMgaW50IHBh
Z2luZ19sb2dfZGlydHlfZW5hYmxlKHN0cnVjdCBkb21haW4gKmQsIGJvb2xf
dCBsb2dfZ2xvYmFsKQogewogICAgIGludCByZXQ7CiAK

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

RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
U3ViamVjdDogeDg2L2hhcDogZG8gbm90IHN3aXRjaCBvbiBsb2cgZGlydHkg
Zm9yIFZSQU0gdHJhY2tpbmcKClhFTl9ETU9QX3RyYWNrX2RpcnR5X3ZyYW0g
cG9zc2libHkgY2FsbHMgaW50byBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZQp3
aGVuIHVzaW5nIEhBUCBtb2RlLCBhbmQgaXQgY2FuIGludGVyYWN0IGJhZGx5
IHdpdGggb3RoZXIgb25nb2luZwpwYWdpbmcgZG9tY3RscywgYXMgWEVOX0RN
T1BfdHJhY2tfZGlydHlfdnJhbSBpcyBub3QgaG9sZGluZyB0aGUgZG9tY3Rs
CmxvY2suCgpUaGlzIHdhcyBkZXRlY3RlZCBhcyBhIHJlc3VsdCBvZiB0aGUg
Zm9sbG93aW5nIGFzc2VydCB0cmlnZ2VyaW5nIHdoZW4KZG9pbmcgcmVwZWF0
ZWQgbWlncmF0aW9ucyBvZiBhIEhBUCBIVk0gZG9tYWluIHdpdGggYSBzdHVi
ZG9tOgoKQXNzZXJ0aW9uICdkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuYWxs
b2NzID09IDAnIGZhaWxlZCBhdCBwYWdpbmcuYzoxOTgKLS0tLVsgWGVuLTQu
MTctdW5zdGFibGUgIHg4Nl82NCAgZGVidWc9eSAgTm90IHRhaW50ZWQgXS0t
LS0KQ1BVOiAgICAzNApSSVA6ICAgIGUwMDg6WzxmZmZmODJkMDQwMzE0YjNi
Pl0gYXJjaC94ODYvbW0vcGFnaW5nLmMjcGFnaW5nX2ZyZWVfbG9nX2RpcnR5
X2JpdG1hcCsweDYwNi8weDYKUkZMQUdTOiAwMDAwMDAwMDAwMDEwMjA2ICAg
Q09OVEVYVDogaHlwZXJ2aXNvciAoZDB2MjMpClsuLi5dClhlbiBjYWxsIHRy
YWNlOgogICBbPGZmZmY4MmQwNDAzMTRiM2I+XSBSIGFyY2gveDg2L21tL3Bh
Z2luZy5jI3BhZ2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXArMHg2MDYvMHg2
M2EKICAgWzxmZmZmODJkMDQwMjc5Zjk2Pl0gUyB4c20vZmxhc2svaG9va3Mu
YyNkb21haW5faGFzX3Blcm0rMHg1YS8weDY3CiAgIFs8ZmZmZjgyZDA0MDMx
NTc3Zj5dIEYgcGFnaW5nX2RvbWN0bCsweDI1MS8weGQ0MQogICBbPGZmZmY4
MmQwNDAzMTY0MGM+XSBGIHBhZ2luZ19kb21jdGxfY29udGludWF0aW9uKzB4
MTlkLzB4MjAyCiAgIFs8ZmZmZjgyZDA0MDMyMDJmYT5dIEYgcHZfaHlwZXJj
YWxsKzB4MTUwLzB4MmE3CiAgIFs8ZmZmZjgyZDA0MDNhNzI5ZD5dIEYgbHN0
YXJfZW50ZXIrMHgxMmQvMHgxNDAKClN1Y2ggYXNzZXJ0IHRyaWdnZXJlZCBi
ZWNhdXNlIHRoZSBzdHViZG9tIHVzZWQKWEVOX0RNT1BfdHJhY2tfZGlydHlf
dnJhbSB3aGlsZSBkb20wIHdhcyBpbiB0aGUgbWlkZGxlIG9mIGV4ZWN1dGlu
ZwpYRU5fRE9NQ1RMX1NIQURPV19PUF9PRkYsIGFuZCBzbyBsb2cgZGlydHkg
YmVjb21lIGVuYWJsZWQgd2hpbGUKcmV0aXJpbmcgdGhlIG9sZCBzdHJ1Y3R1
cmVzLCB0aHVzIGxlYWRpbmcgdG8gbmV3IGVudHJpZXMgYmVpbmcKcG9wdWxh
dGVkIGluIGFscmVhZHkgY2xlYXIgc2xvdHMuCgpGaXggdGhpcyBieSBub3Qg
ZW5hYmxpbmcgbG9nIGRpcnR5IGZvciBWUkFNIHRyYWNraW5nLCBzaW1pbGFy
IHRvIHdoYXQKaXMgZG9uZSB3aGVuIHVzaW5nIHNoYWRvdyBpbnN0ZWFkIG9m
IEhBUC4gQ2FsbApwMm1fZW5hYmxlX2hhcmR3YXJlX2xvZ19kaXJ0eSB3aGVu
IGVuYWJsaW5nIFZSQU0gdHJhY2tpbmcgaW4gb3JkZXIgdG8KZ2V0IHNvbWUg
aGFyZHdhcmUgYXNzaXN0YW5jZSBpZiBhdmFpbGFibGUuIEFzIGEgc2lkZSBl
ZmZlY3QgdGhlIG1lbW9yeQpwcmVzc3VyZSBvbiB0aGUgcDJtIHBvb2wgc2hv
dWxkIGdvIGRvd24gaWYgb25seSBWUkFNIHRyYWNraW5nIGlzCmVuYWJsZWQs
IGFzIHRoZSBkaXJ0eSBiaXRtYXAgaXMgbm8gbG9uZ2VyIGFsbG9jYXRlZC4K
Ck5vdGUgdGhhdCBwYWdpbmdfbG9nX2RpcnR5X3JhbmdlICh1c2VkIHRvIGdl
dCB0aGUgZGlydHkgYml0bWFwIGZvcgpWUkFNIHRyYWNraW5nKSBkb2Vzbid0
IHVzZSB0aGUgbG9nIGRpcnR5IGJpdG1hcCwgYW5kIGluc3RlYWQgcmVsaWVz
IG9uCmNoZWNraW5nIHdoZXRoZXIgZWFjaCBnZm4gb24gdGhlIHJhbmdlIGhh
cyBiZWVuIHN3aXRjaGVkIGZyb20KcDJtX3JhbV9sb2dkaXJ0eSB0byBwMm1f
cmFtX3J3IGluIG9yZGVyIHRvIGFjY291bnQgZm9yIGRpcnR5IHBhZ2VzLgoK
VGhpcyBpcyBDVkUtMjAyMi0yNjM1NiAvIFhTQS0zOTcuCgpTaWduZWQtb2Zm
LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcGFnaW5nLmgKKysrIGIveGVu
L2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaApAQCAtMTYwLDkgKzE2MCw2IEBA
IHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV9yYW5nZShzdHJ1Y3QgZG9tYWkKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRpcnR5X2Jp
dG1hcCk7CiAKLS8qIGVuYWJsZSBsb2cgZGlydHkgKi8KLWludCBwYWdpbmdf
bG9nX2RpcnR5X2VuYWJsZShzdHJ1Y3QgZG9tYWluICpkLCBib29sIGxvZ19n
bG9iYWwpOwotCiAvKiBsb2cgZGlydHkgaW5pdGlhbGl6YXRpb24gKi8KIHZv
aWQgcGFnaW5nX2xvZ19kaXJ0eV9pbml0KHN0cnVjdCBkb21haW4gKmQsIGNv
bnN0IHN0cnVjdCBsb2dfZGlydHlfb3BzICpvcHMpOwogCi0tLSBhL3hlbi9h
cmNoL3g4Ni9tbS9oYXAvaGFwLmMKKysrIGIveGVuL2FyY2gveDg2L21tL2hh
cC9oYXAuYwpAQCAtNjksMTMgKzY5LDYgQEAgaW50IGhhcF90cmFja19kaXJ0
eV92cmFtKHN0cnVjdCBkb21haW4gKgogICAgIHsKICAgICAgICAgaW50IHNp
emUgPSAobnIgKyBCSVRTX1BFUl9CWVRFIC0gMSkgLyBCSVRTX1BFUl9CWVRF
OwogCi0gICAgICAgIGlmICggIXBhZ2luZ19tb2RlX2xvZ19kaXJ0eShkKSAp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHJjID0gcGFnaW5nX2xvZ19kaXJ0
eV9lbmFibGUoZCwgZmFsc2UpOwotICAgICAgICAgICAgaWYgKCByYyApCi0g
ICAgICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAgIH0KLQogICAgICAg
ICByYyA9IC1FTk9NRU07CiAgICAgICAgIGRpcnR5X2JpdG1hcCA9IHZ6YWxs
b2Moc2l6ZSk7CiAgICAgICAgIGlmICggIWRpcnR5X2JpdG1hcCApCkBAIC0x
MDcsNiArMTAwLDEwIEBAIGludCBoYXBfdHJhY2tfZGlydHlfdnJhbShzdHJ1
Y3QgZG9tYWluICoKIAogICAgICAgICAgICAgcGFnaW5nX3VubG9jayhkKTsK
IAorICAgICAgICAgICAgZG9tYWluX3BhdXNlKGQpOworICAgICAgICAgICAg
cDJtX2VuYWJsZV9oYXJkd2FyZV9sb2dfZGlydHkoZCk7CisgICAgICAgICAg
ICBkb21haW5fdW5wYXVzZShkKTsKKwogICAgICAgICAgICAgaWYgKCBvZW5k
ID4gb3N0YXJ0ICkKICAgICAgICAgICAgICAgICBwMm1fY2hhbmdlX3R5cGVf
cmFuZ2UoZCwgb3N0YXJ0LCBvZW5kLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwMm1fcmFtX2xvZ2RpcnR5LCBwMm1fcmFtX3J3
KTsKLS0tIGEveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jCisrKyBiL3hlbi9h
cmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAtMjA5LDcgKzIwOSw3IEBAIHN0YXRp
YyBpbnQgcGFnaW5nX2ZyZWVfbG9nX2RpcnR5X2JpdG1hcCgKICAgICByZXR1
cm4gcmM7CiB9CiAKLWludCBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZShzdHJ1
Y3QgZG9tYWluICpkLCBib29sIGxvZ19nbG9iYWwpCitzdGF0aWMgaW50IHBh
Z2luZ19sb2dfZGlydHlfZW5hYmxlKHN0cnVjdCBkb21haW4gKmQsIGJvb2wg
bG9nX2dsb2JhbCkKIHsKICAgICBpbnQgcmV0OwogCg==

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

RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
U3ViamVjdDogeDg2L2hhcDogZG8gbm90IHN3aXRjaCBvbiBsb2cgZGlydHkg
Zm9yIFZSQU0gdHJhY2tpbmcKClhFTl9ETU9QX3RyYWNrX2RpcnR5X3ZyYW0g
cG9zc2libHkgY2FsbHMgaW50byBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZQp3
aGVuIHVzaW5nIEhBUCBtb2RlLCBhbmQgaXQgY2FuIGludGVyYWN0IGJhZGx5
IHdpdGggb3RoZXIgb25nb2luZwpwYWdpbmcgZG9tY3RscywgYXMgWEVOX0RN
T1BfdHJhY2tfZGlydHlfdnJhbSBpcyBub3QgaG9sZGluZyB0aGUgZG9tY3Rs
CmxvY2suCgpUaGlzIHdhcyBkZXRlY3RlZCBhcyBhIHJlc3VsdCBvZiB0aGUg
Zm9sbG93aW5nIGFzc2VydCB0cmlnZ2VyaW5nIHdoZW4KZG9pbmcgcmVwZWF0
ZWQgbWlncmF0aW9ucyBvZiBhIEhBUCBIVk0gZG9tYWluIHdpdGggYSBzdHVi
ZG9tOgoKQXNzZXJ0aW9uICdkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuYWxs
b2NzID09IDAnIGZhaWxlZCBhdCBwYWdpbmcuYzoxOTgKLS0tLVsgWGVuLTQu
MTctdW5zdGFibGUgIHg4Nl82NCAgZGVidWc9eSAgTm90IHRhaW50ZWQgXS0t
LS0KQ1BVOiAgICAzNApSSVA6ICAgIGUwMDg6WzxmZmZmODJkMDQwMzE0YjNi
Pl0gYXJjaC94ODYvbW0vcGFnaW5nLmMjcGFnaW5nX2ZyZWVfbG9nX2RpcnR5
X2JpdG1hcCsweDYwNi8weDYKUkZMQUdTOiAwMDAwMDAwMDAwMDEwMjA2ICAg
Q09OVEVYVDogaHlwZXJ2aXNvciAoZDB2MjMpClsuLi5dClhlbiBjYWxsIHRy
YWNlOgogICBbPGZmZmY4MmQwNDAzMTRiM2I+XSBSIGFyY2gveDg2L21tL3Bh
Z2luZy5jI3BhZ2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXArMHg2MDYvMHg2
M2EKICAgWzxmZmZmODJkMDQwMjc5Zjk2Pl0gUyB4c20vZmxhc2svaG9va3Mu
YyNkb21haW5faGFzX3Blcm0rMHg1YS8weDY3CiAgIFs8ZmZmZjgyZDA0MDMx
NTc3Zj5dIEYgcGFnaW5nX2RvbWN0bCsweDI1MS8weGQ0MQogICBbPGZmZmY4
MmQwNDAzMTY0MGM+XSBGIHBhZ2luZ19kb21jdGxfY29udGludWF0aW9uKzB4
MTlkLzB4MjAyCiAgIFs8ZmZmZjgyZDA0MDMyMDJmYT5dIEYgcHZfaHlwZXJj
YWxsKzB4MTUwLzB4MmE3CiAgIFs8ZmZmZjgyZDA0MDNhNzI5ZD5dIEYgbHN0
YXJfZW50ZXIrMHgxMmQvMHgxNDAKClN1Y2ggYXNzZXJ0IHRyaWdnZXJlZCBi
ZWNhdXNlIHRoZSBzdHViZG9tIHVzZWQKWEVOX0RNT1BfdHJhY2tfZGlydHlf
dnJhbSB3aGlsZSBkb20wIHdhcyBpbiB0aGUgbWlkZGxlIG9mIGV4ZWN1dGlu
ZwpYRU5fRE9NQ1RMX1NIQURPV19PUF9PRkYsIGFuZCBzbyBsb2cgZGlydHkg
YmVjb21lIGVuYWJsZWQgd2hpbGUKcmV0aXJpbmcgdGhlIG9sZCBzdHJ1Y3R1
cmVzLCB0aHVzIGxlYWRpbmcgdG8gbmV3IGVudHJpZXMgYmVpbmcKcG9wdWxh
dGVkIGluIGFscmVhZHkgY2xlYXIgc2xvdHMuCgpGaXggdGhpcyBieSBub3Qg
ZW5hYmxpbmcgbG9nIGRpcnR5IGZvciBWUkFNIHRyYWNraW5nLCBzaW1pbGFy
IHRvIHdoYXQKaXMgZG9uZSB3aGVuIHVzaW5nIHNoYWRvdyBpbnN0ZWFkIG9m
IEhBUC4gQ2FsbApwMm1fZW5hYmxlX2hhcmR3YXJlX2xvZ19kaXJ0eSB3aGVu
IGVuYWJsaW5nIFZSQU0gdHJhY2tpbmcgaW4gb3JkZXIgdG8KZ2V0IHNvbWUg
aGFyZHdhcmUgYXNzaXN0YW5jZSBpZiBhdmFpbGFibGUuIEFzIGEgc2lkZSBl
ZmZlY3QgdGhlIG1lbW9yeQpwcmVzc3VyZSBvbiB0aGUgcDJtIHBvb2wgc2hv
dWxkIGdvIGRvd24gaWYgb25seSBWUkFNIHRyYWNraW5nIGlzCmVuYWJsZWQs
IGFzIHRoZSBkaXJ0eSBiaXRtYXAgaXMgbm8gbG9uZ2VyIGFsbG9jYXRlZC4K
Ck5vdGUgdGhhdCBwYWdpbmdfbG9nX2RpcnR5X3JhbmdlICh1c2VkIHRvIGdl
dCB0aGUgZGlydHkgYml0bWFwIGZvcgpWUkFNIHRyYWNraW5nKSBkb2Vzbid0
IHVzZSB0aGUgbG9nIGRpcnR5IGJpdG1hcCwgYW5kIGluc3RlYWQgcmVsaWVz
IG9uCmNoZWNraW5nIHdoZXRoZXIgZWFjaCBnZm4gb24gdGhlIHJhbmdlIGhh
cyBiZWVuIHN3aXRjaGVkIGZyb20KcDJtX3JhbV9sb2dkaXJ0eSB0byBwMm1f
cmFtX3J3IGluIG9yZGVyIHRvIGFjY291bnQgZm9yIGRpcnR5IHBhZ2VzLgoK
VGhpcyBpcyBDVkUtMjAyMi0yNjM1NiAvIFhTQS0zOTcuCgpTaWduZWQtb2Zm
LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcGFnaW5nLmgKKysrIGIveGVu
L2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaApAQCAtMTYyLDkgKzE2Miw2IEBA
IHZvaWQgcGFnaW5nX2xvZ19kaXJ0eV9yYW5nZShzdHJ1Y3QgZG9tYWkKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG5yLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRpcnR5X2Jp
dG1hcCk7CiAKLS8qIGVuYWJsZSBsb2cgZGlydHkgKi8KLWludCBwYWdpbmdf
bG9nX2RpcnR5X2VuYWJsZShzdHJ1Y3QgZG9tYWluICpkLCBib29sIGxvZ19n
bG9iYWwpOwotCiAvKiBsb2cgZGlydHkgaW5pdGlhbGl6YXRpb24gKi8KIHZv
aWQgcGFnaW5nX2xvZ19kaXJ0eV9pbml0KHN0cnVjdCBkb21haW4gKmQsIGNv
bnN0IHN0cnVjdCBsb2dfZGlydHlfb3BzICpvcHMpOwogCi0tLSBhL3hlbi9h
cmNoL3g4Ni9tbS9oYXAvaGFwLmMKKysrIGIveGVuL2FyY2gveDg2L21tL2hh
cC9oYXAuYwpAQCAtNjksMTMgKzY5LDYgQEAgaW50IGhhcF90cmFja19kaXJ0
eV92cmFtKHN0cnVjdCBkb21haW4gKgogICAgIHsKICAgICAgICAgdW5zaWdu
ZWQgaW50IHNpemUgPSBESVZfUk9VTkRfVVAobnJfZnJhbWVzLCBCSVRTX1BF
Ul9CWVRFKTsKIAotICAgICAgICBpZiAoICFwYWdpbmdfbW9kZV9sb2dfZGly
dHkoZCkgKQotICAgICAgICB7Ci0gICAgICAgICAgICByYyA9IHBhZ2luZ19s
b2dfZGlydHlfZW5hYmxlKGQsIGZhbHNlKTsKLSAgICAgICAgICAgIGlmICgg
cmMgKQotICAgICAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICB9Ci0K
ICAgICAgICAgcmMgPSAtRU5PTUVNOwogICAgICAgICBkaXJ0eV9iaXRtYXAg
PSB2emFsbG9jKHNpemUpOwogICAgICAgICBpZiAoICFkaXJ0eV9iaXRtYXAg
KQpAQCAtMTA3LDYgKzEwMCwxMCBAQCBpbnQgaGFwX3RyYWNrX2RpcnR5X3Zy
YW0oc3RydWN0IGRvbWFpbiAqCiAKICAgICAgICAgICAgIHBhZ2luZ191bmxv
Y2soZCk7CiAKKyAgICAgICAgICAgIGRvbWFpbl9wYXVzZShkKTsKKyAgICAg
ICAgICAgIHAybV9lbmFibGVfaGFyZHdhcmVfbG9nX2RpcnR5KGQpOworICAg
ICAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7CisKICAgICAgICAgICAgIGlm
ICggb2VuZCA+IG9zdGFydCApCiAgICAgICAgICAgICAgICAgcDJtX2NoYW5n
ZV90eXBlX3JhbmdlKGQsIG9zdGFydCwgb2VuZCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcDJtX3JhbV9sb2dkaXJ0eSwgcDJt
X3JhbV9ydyk7Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYworKysg
Yi94ZW4vYXJjaC94ODYvbW0vcGFnaW5nLmMKQEAgLTIxMSw3ICsyMTEsNyBA
QCBzdGF0aWMgaW50IHBhZ2luZ19mcmVlX2xvZ19kaXJ0eV9iaXRtYXAoCiAg
ICAgcmV0dXJuIHJjOwogfQogCi1pbnQgcGFnaW5nX2xvZ19kaXJ0eV9lbmFi
bGUoc3RydWN0IGRvbWFpbiAqZCwgYm9vbCBsb2dfZ2xvYmFsKQorc3RhdGlj
IGludCBwYWdpbmdfbG9nX2RpcnR5X2VuYWJsZShzdHJ1Y3QgZG9tYWluICpk
LCBib29sIGxvZ19nbG9iYWwpCiB7CiAgICAgaW50IHJldDsKIAo=

--=separator--


From xen-users-bounces@lists.xenproject.org Tue Apr 05 12:01:18 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 05 Apr 2022 12:01:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.298779.509131 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nbhrf-0007pE-Gs; Tue, 05 Apr 2022 12:00:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 298779.509131; Tue, 05 Apr 2022 12:00:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nbhrf-0007mg-9L; Tue, 05 Apr 2022 12:00:51 +0000
Received: by outflank-mailman (input) for mailman id 298779;
 Tue, 05 Apr 2022 12:00:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c4fh=UP=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1nbhrd-0006zD-9V
 for xen-users@lists.xen.org; Tue, 05 Apr 2022 12:00:49 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 052222c9-b4d8-11ec-8fbc-03012f2f19d4;
 Tue, 05 Apr 2022 14:00:45 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nbhrJ-00089f-9D; Tue, 05 Apr 2022 12:00:29 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nbhrJ-0003ND-7u; Tue, 05 Apr 2022 12:00:29 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 052222c9-b4d8-11ec-8fbc-03012f2f19d4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=uAa4rt+WlrdIm7/s7V4hHRZWj/juwIshO15Nn5O7OWY=; b=1tM9nLL9+P4paAyk2PLIOjeHPv
	pcgVik8axwq3MfUtphe4MyFkd3vBGjkrAeZR/Gzrz729lXhJcQjo3Lk5wD8Atjt2sgNjlj0e2LbMW
	eIVv9XJ9PwPzcUYFxsh4YJ12HG+YnjCXvF3Pj8DkHU1qq+3eIRivrzSXhhCetaqix9c0=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
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-team-members@xen.org>
Subject: Xen Security Advisory 399 v2 (CVE-2022-26357) - race in VT-d
 domain ID cleanup
Message-Id: <E1nbhrJ-0003ND-7u@xenbits.xenproject.org>
Date: Tue, 05 Apr 2022 12:00:29 +0000

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2022-26357 / XSA-399
                               version 2

                    race in VT-d domain ID cleanup

UPDATES IN VERSION 2
====================

Public release.

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

Xen domain IDs are up to 15 bits wide.  VT-d hardware may allow for only
less than 15 bits to hold a domain ID associating a physical device with
a particular domain.  Therefore internally Xen domain IDs are mapped to
the smaller value range.  The cleaning up of the housekeeping structures
has a race, allowing for VT-d domain IDs to be leaked and flushes to be
bypassed.

IMPACT
======

The precise impact is system specific, but would typically be a Denial
of Service (DoS) affecting the entire host.  Privilege escalation and
information leaks cannot be ruled out.

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

Xen versions 4.11 through 4.16 are vulnerable.  Xen versions 4.10 and
earlier are not vulnerable.

Only x86 systems with VT-d IOMMU hardware are vulnerable.  Arm systems
as well as x86 systems without VT-d hardware or without any IOMMUs in
use are not vulnerable.

Only x86 guests which have physical devices passed through to them can
leverage the vulnerability.

MITIGATION
==========

Not passing through physical devices to untrusted guests will avoid
the vulnerability.

CREDITS
=======

This issue was discovered by Jan Beulich of SUSE.

RESOLUTION
==========

Applying the appropriate attached patch resolves this issue.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa399.patch           xen-unstable
xsa399-4.16.patch      Xen 4.16.x - Xen 4.13.x
xsa399-4.12.patch      Xen 4.12.x

$ sha256sum xsa399*
53b9745564eb21f70dbb7bd7194ff3518f29cd9715c68e9dd7eff25812968019  xsa399.patch
16c3327a60d8ab6c3524f10f57d63efaf2e3e54b807bc285a749cd1a94392a30  xsa399-4.12.patch
79d0f5a0442dec0a806d77a722a1d2c04793572fe0b564bf86dcd1c6d992a679  xsa399-4.16.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches described above (or others which are
substantially similar) is permitted during the embargo, even on
public-facing systems with untrusted guest users and administrators.

HOWEVER, deployment of the mitigation is NOT permitted (except where
all the affected systems and VMs are administered and used only by
organisations which are members of the Xen Project Security Issues
Predisclosure List).  Specifically, deployment on public cloud systems
is NOT permitted.

This is because removal of pass-through devices or their replacement by
emulated devices is a guest visible configuration change, which may lead
to re-discovery of the issue.

Deployment of this mitigation is permitted only AFTER the embargo ends.

AND: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.

(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmJMJDcMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZpo8H/AqiAS0l5WJWl00bTQ4Q69REzd83m9Y3+UnUqRaf
JUFWo4R1m4V2zJlq0E3TR/2ZS1RkXFJxlmXQyzueFmDEvMV2oKB0ids5ta1oUO2E
eiQxdSFbTLrLnhI+4IxbTHHy+ovSHT/SKPeo1Zd1tXHfZ35g1OgGTYHHqj7RKJHp
SyZT4iuAKjIr61M4NBKJcycpfRidlXEDvAotDX3jBQ06t3vgs/12nwe5LzzeV2V4
sIDjpeDGNKzgT2NgLP2b+XMEUg1259iWb19tS3PPNJaLKSvQqTBOFjK+sqh7ACXV
v6ph2Yy0Q/ZP+N9DvCeBCPEU9A9RhmPYzobU+Lc/T85SrQ4=
=sp/Q
-----END PGP SIGNATURE-----

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBjb3JyZWN0IG9yZGVyaW5nIG9mIG9wZXJhdGlvbnMgaW4gY2xl
YW51cF9kb21pZF9tYXAoKQoKVGhlIGZ1bmN0aW9uIG1heSBiZSBjYWxsZWQg
d2l0aG91dCBhbnkgbG9ja3MgaGVsZCAobGVhdmluZyBhc2lkZSB0aGUKZG9t
Y3RsIG9uZSwgd2hpY2ggd2Ugc3VyZWx5IGRvbid0IHdhbnQgdG8gZGVwZW5k
IG9uIGhlcmUpLCBzbyBuZWVkcyB0bwpwbGF5IHNhZmUgd3J0IG90aGVyIGFj
Y2Vzc2VzIHRvIGRvbWlkX21hcFtdIGFuZCBkb21pZF9iaXRtYXBbXS4gVGhp
cyBpcwp0byBhdm9pZCBjb250ZXh0X3NldF9kb21haW5faWQoKSdzIHdyaXRp
bmcgb2YgZG9taWRfbWFwW10gdG8gYmUgcmVzZXQgdG8KemVybyByaWdodCBh
d2F5IGluIHRoZSBjYXNlIG9mIGl0IHJhY2luZyB0aGUgZnJlZWluZyBvZiBh
IERJRC4KCkZvciB0aGUgaW50ZXJhY3Rpb24gd2l0aCBjb250ZXh0X3NldF9k
b21haW5faWQoKSBhbmQgZGlkX3RvX2RvbWFpbl9pZCgpCnNlZSB0aGUgY29k
ZSBjb21tZW50LgoKe2NoZWNrXyx9Y2xlYW51cF9kb21pZF9tYXAoKSBhcmUg
Y2FsbGVkIHdpdGggcGNpZGV2c19sb2NrIGhlbGQgb3IgZHVyaW5nCmRvbWFp
biBjbGVhbnVwIG9ubHkgKGFuZCBwY2lkZXZzX2xvY2sgaXMgYWxzbyBoZWxk
IGFyb3VuZApjb250ZXh0X3NldF9kb21haW5faWQoKSksIGkuZS4gcmFjaW5n
IGNhbGxzIHdpdGggdGhlIHNhbWUgKGRvbSwgaW9tbXUpCnR1cGxlIGNhbm5v
dCBvY2N1ci4KCmRvbWFpbl9pb21tdV9kb21pZCgpLCBiZXNpZGVzIGl0cyB1
c2UgYnkgY2xlYW51cF9kb21pZF9tYXAoKSwgaGFzIGl0cwpyZXN1bHQgdXNl
ZCBvbmx5IHRvIGNvbnRyb2wgZmx1c2hpbmcsIGFuZCBoZW5jZSBhIHN0YWxl
IHJlc3VsdCB3b3VsZApvbmx5IGxlYWQgdG8gYSBzdHJheSBleHRyYSBmbHVz
aC4KClRoaXMgaXMgQ1ZFLTIwMjItMjYzNTcgLyBYU0EtMzk5LgoKRml4ZXM6
IGI5YzIwYzc4Nzg5ZiAoIlZULWQ6IHBlci1pb21tdSBkb21haW4taWQiKQpT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9p
b21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21t
dS5jCkBAIC0xNzUsOCArMTc1LDE0IEBAIHN0YXRpYyB2b2lkIGNsZWFudXBf
ZG9taWRfbWFwKHN0cnVjdCBkb20KIAogICAgIGlmICggaW9tbXVfZG9taWQg
Pj0gMCApCiAgICAgeworICAgICAgICAvKgorICAgICAgICAgKiBVcGRhdGUg
ZG9taWRfbWFwW10gL2JlZm9yZS8gZG9taWRfYml0bWFwW10gdG8gYXZvaWQg
YSByYWNlIHdpdGgKKyAgICAgICAgICogY29udGV4dF9zZXRfZG9tYWluX2lk
KCksIHNldHRpbmcgdGhlIHNsb3QgdG8gRE9NSURfSU5WQUxJRCBmb3IKKyAg
ICAgICAgICogZGlkX3RvX2RvbWFpbl9pZCgpIHRvIHJldHVybiBhIHN1aXRh
YmxlIHZhbHVlIHdoaWxlIHRoZSBiaXQgaXMKKyAgICAgICAgICogc3RpbGwg
c2V0LgorICAgICAgICAgKi8KKyAgICAgICAgaW9tbXUtPmRvbWlkX21hcFtp
b21tdV9kb21pZF0gPSBET01JRF9JTlZBTElEOwogICAgICAgICBjbGVhcl9i
aXQoaW9tbXVfZG9taWQsIGlvbW11LT5kb21pZF9iaXRtYXApOwotICAgICAg
ICBpb21tdS0+ZG9taWRfbWFwW2lvbW11X2RvbWlkXSA9IDA7CiAgICAgfQog
fQogCg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBjb3JyZWN0IG9yZGVyaW5nIG9mIG9wZXJhdGlvbnMgaW4gY2xl
YW51cF9kb21pZF9tYXAoKQoKVGhlIGZ1bmN0aW9uIG1heSBiZSBjYWxsZWQg
d2l0aG91dCBhbnkgbG9ja3MgaGVsZCAobGVhdmluZyBhc2lkZSB0aGUKZG9t
Y3RsIG9uZSwgd2hpY2ggd2Ugc3VyZWx5IGRvbid0IHdhbnQgdG8gZGVwZW5k
IG9uIGhlcmUpLCBzbyBuZWVkcyB0bwpwbGF5IHNhZmUgd3J0IG90aGVyIGFj
Y2Vzc2VzIHRvIGRvbWlkX21hcFtdIGFuZCBkb21pZF9iaXRtYXBbXS4gVGhp
cyBpcwp0byBhdm9pZCBjb250ZXh0X3NldF9kb21haW5faWQoKSdzIHdyaXRp
bmcgb2YgZG9taWRfbWFwW10gdG8gYmUgcmVzZXQgdG8KemVybyByaWdodCBh
d2F5IGluIHRoZSBjYXNlIG9mIGl0IHJhY2luZyB0aGUgZnJlZWluZyBvZiBh
IERJRC4KCkZvciB0aGUgaW50ZXJhY3Rpb24gd2l0aCBjb250ZXh0X3NldF9k
b21haW5faWQoKSBhbmQgLT5kb21pZF9tYXBbXSByZWFkcwpzZWUgdGhlIGNv
ZGUgY29tbWVudC4KCntjaGVja18sfWNsZWFudXBfZG9taWRfbWFwKCkgYXJl
IGNhbGxlZCB3aXRoIHBjaWRldnNfbG9jayBoZWxkIG9yIGR1cmluZwpkb21h
aW4gY2xlYW51cCBvbmx5IChhbmQgcGNpZGV2c19sb2NrIGlzIGFsc28gaGVs
ZCBhcm91bmQKY29udGV4dF9zZXRfZG9tYWluX2lkKCkpLCBpLmUuIHJhY2lu
ZyBjYWxscyB3aXRoIHRoZSBzYW1lIChkb20sIGlvbW11KQp0dXBsZSBjYW5u
b3Qgb2NjdXIuCgpkb21haW5faW9tbXVfZG9taWQoKSwgYmVzaWRlcyBpdHMg
dXNlIGJ5IGNsZWFudXBfZG9taWRfbWFwKCksIGhhcyBpdHMKcmVzdWx0IHVz
ZWQgb25seSB0byBjb250cm9sIGZsdXNoaW5nLCBhbmQgaGVuY2UgYSBzdGFs
ZSByZXN1bHQgd291bGQKb25seSBsZWFkIHRvIGEgc3RyYXkgZXh0cmEgZmx1
c2guCgpUaGlzIGlzIENWRS0yMDIyLTI2MzU3IC8gWFNBLTM5OS4KCkZpeGVz
OiBiOWMyMGM3ODc4OWYgKCJWVC1kOiBwZXItaW9tbXUgZG9tYWluLWlkIikK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp
dHJpeC5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
aW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t
bXUuYwpAQCAtMTc3MCw4ICsxNzcwLDE0IEBAIHN0YXRpYyBpbnQgZG9tYWlu
X2NvbnRleHRfdW5tYXAoc3RydWN0IGQKICAgICAgICAgICAgIGdvdG8gb3V0
OwogICAgICAgICB9CiAKKyAgICAgICAgLyoKKyAgICAgICAgICogVXBkYXRl
IGRvbWlkX21hcFtdIC9iZWZvcmUvIGRvbWlkX2JpdG1hcFtdIHRvIGF2b2lk
IGEgcmFjZSB3aXRoCisgICAgICAgICAqIGNvbnRleHRfc2V0X2RvbWFpbl9p
ZCgpLCBzZXR0aW5nIHRoZSBzbG90IHRvIERPTUlEX0lOVkFMSUQgZm9yCisg
ICAgICAgICAqIC0+ZG9taWRfbWFwW10gcmVhZHMgdG8gcHJvZHVjZSBhIHN1
aXRhYmxlIHZhbHVlIHdoaWxlIHRoZSBiaXQgaXMKKyAgICAgICAgICogc3Rp
bGwgc2V0LgorICAgICAgICAgKi8KKyAgICAgICAgaW9tbXUtPmRvbWlkX21h
cFtpb21tdV9kb21pZF0gPSBET01JRF9JTlZBTElEOwogICAgICAgICBjbGVh
cl9iaXQoaW9tbXVfZG9taWQsIGlvbW11LT5kb21pZF9iaXRtYXApOwotICAg
ICAgICBpb21tdS0+ZG9taWRfbWFwW2lvbW11X2RvbWlkXSA9IDA7CiAgICAg
fQogCiBvdXQ6Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBjb3JyZWN0IG9yZGVyaW5nIG9mIG9wZXJhdGlvbnMgaW4gY2xl
YW51cF9kb21pZF9tYXAoKQoKVGhlIGZ1bmN0aW9uIG1heSBiZSBjYWxsZWQg
d2l0aG91dCBhbnkgbG9ja3MgaGVsZCAobGVhdmluZyBhc2lkZSB0aGUKZG9t
Y3RsIG9uZSwgd2hpY2ggd2Ugc3VyZWx5IGRvbid0IHdhbnQgdG8gZGVwZW5k
IG9uIGhlcmUpLCBzbyBuZWVkcyB0bwpwbGF5IHNhZmUgd3J0IG90aGVyIGFj
Y2Vzc2VzIHRvIGRvbWlkX21hcFtdIGFuZCBkb21pZF9iaXRtYXBbXS4gVGhp
cyBpcwp0byBhdm9pZCBjb250ZXh0X3NldF9kb21haW5faWQoKSdzIHdyaXRp
bmcgb2YgZG9taWRfbWFwW10gdG8gYmUgcmVzZXQgdG8KemVybyByaWdodCBh
d2F5IGluIHRoZSBjYXNlIG9mIGl0IHJhY2luZyB0aGUgZnJlZWluZyBvZiBh
IERJRC4KCkZvciB0aGUgaW50ZXJhY3Rpb24gd2l0aCBjb250ZXh0X3NldF9k
b21haW5faWQoKSBhbmQgLT5kb21pZF9tYXBbXSByZWFkcwpzZWUgdGhlIGNv
ZGUgY29tbWVudC4KCntjaGVja18sfWNsZWFudXBfZG9taWRfbWFwKCkgYXJl
IGNhbGxlZCB3aXRoIHBjaWRldnNfbG9jayBoZWxkIG9yIGR1cmluZwpkb21h
aW4gY2xlYW51cCBvbmx5IChhbmQgcGNpZGV2c19sb2NrIGlzIGFsc28gaGVs
ZCBhcm91bmQKY29udGV4dF9zZXRfZG9tYWluX2lkKCkpLCBpLmUuIHJhY2lu
ZyBjYWxscyB3aXRoIHRoZSBzYW1lIChkb20sIGlvbW11KQp0dXBsZSBjYW5u
b3Qgb2NjdXIuCgpkb21haW5faW9tbXVfZG9taWQoKSwgYmVzaWRlcyBpdHMg
dXNlIGJ5IGNsZWFudXBfZG9taWRfbWFwKCksIGhhcyBpdHMKcmVzdWx0IHVz
ZWQgb25seSB0byBjb250cm9sIGZsdXNoaW5nLCBhbmQgaGVuY2UgYSBzdGFs
ZSByZXN1bHQgd291bGQKb25seSBsZWFkIHRvIGEgc3RyYXkgZXh0cmEgZmx1
c2guCgpUaGlzIGlzIENWRS0yMDIyLTI2MzU3IC8gWFNBLTM5OS4KCkZpeGVz
OiBiOWMyMGM3ODc4OWYgKCJWVC1kOiBwZXItaW9tbXUgZG9tYWluLWlkIikK
U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
PgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp
dHJpeC5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
aW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t
bXUuYwpAQCAtMTUyLDggKzE1MiwxNCBAQCBzdGF0aWMgdm9pZCBjbGVhbnVw
X2RvbWlkX21hcChzdHJ1Y3QgZG9tCiAKICAgICBpZiAoIGlvbW11X2RvbWlk
ID49IDAgKQogICAgIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogVXBkYXRl
IGRvbWlkX21hcFtdIC9iZWZvcmUvIGRvbWlkX2JpdG1hcFtdIHRvIGF2b2lk
IGEgcmFjZSB3aXRoCisgICAgICAgICAqIGNvbnRleHRfc2V0X2RvbWFpbl9p
ZCgpLCBzZXR0aW5nIHRoZSBzbG90IHRvIERPTUlEX0lOVkFMSUQgZm9yCisg
ICAgICAgICAqIC0+ZG9taWRfbWFwW10gcmVhZHMgdG8gcHJvZHVjZSBhIHN1
aXRhYmxlIHZhbHVlIHdoaWxlIHRoZSBiaXQgaXMKKyAgICAgICAgICogc3Rp
bGwgc2V0LgorICAgICAgICAgKi8KKyAgICAgICAgaW9tbXUtPmRvbWlkX21h
cFtpb21tdV9kb21pZF0gPSBET01JRF9JTlZBTElEOwogICAgICAgICBjbGVh
cl9iaXQoaW9tbXVfZG9taWQsIGlvbW11LT5kb21pZF9iaXRtYXApOwotICAg
ICAgICBpb21tdS0+ZG9taWRfbWFwW2lvbW11X2RvbWlkXSA9IDA7CiAgICAg
fQogfQogCg==

--=separator--


From xen-users-bounces@lists.xenproject.org Tue Apr 05 14:31:05 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 05 Apr 2022 14:31:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.298943.509637 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nbkCH-0003ix-MB; Tue, 05 Apr 2022 14:30:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 298943.509637; Tue, 05 Apr 2022 14:30:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nbkCH-0003iq-H3; Tue, 05 Apr 2022 14:30:17 +0000
Received: by outflank-mailman (input) for mailman id 298943;
 Tue, 05 Apr 2022 12:13:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pCZx=UP=computest.nl=sbijlsma@srs-se1.protection.inumbo.net>)
 id 1nbi3X-0005zg-6u
 for xen-users@lists.xen.org; Tue, 05 Apr 2022 12:13:07 +0000
Received: from EUR03-AM5-obe.outbound.protection.outlook.com
 (mail-am5eur03on0730.outbound.protection.outlook.com
 [2a01:111:f400:fe08::730])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bdc4630e-b4d9-11ec-8fbc-03012f2f19d4;
 Tue, 05 Apr 2022 14:13:03 +0200 (CEST)
Received: from AM8PR05MB7939.eurprd05.prod.outlook.com (2603:10a6:20b:360::20)
 by PAXPR05MB8430.eurprd05.prod.outlook.com (2603:10a6:102:1a9::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31; Tue, 5 Apr
 2022 12:12:56 +0000
Received: from AM8PR05MB7939.eurprd05.prod.outlook.com
 ([fe80::40d3:7751:112d:8002]) by AM8PR05MB7939.eurprd05.prod.outlook.com
 ([fe80::40d3:7751:112d:8002%5]) with mapi id 15.20.5123.031; Tue, 5 Apr 2022
 12:12:55 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: bdc4630e-b4d9-11ec-8fbc-03012f2f19d4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BBQH+wbwDAFCa+ppGxJ4C204CK1PnyE810PvuJ5OYKjQqp9Gc4ugKAfFjvoJZGUnUXdNroOadHecYG15B3qxndPhA31/OuL1DWa5COd7qwT6+z7JAxOoQGZ4ePTY++Tn1Tl7E7vbWlQpDujSXOVB5o7ZnO7ADShq2sRY7micMZZ6AfewQtMpwvBtE3xmbIAcpr3p0hBVWTVWXKSUhmyFIIXeqFFbPsUNZGZ4Z3qAVmUFE/hEeq6FjWmfOH6s7qNmXKMLOp+yy3P9NlfCInisTA7gjo4Pw2yhE+cJNidD3XbGvDaus6dIiW5mPWBpsC4mROVjKJ4Xo51tJfmVGWx/vw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Grx8btV1y/8wbr0LzK39lSk/5KuKgI5JX0h1uu0Ic3o=;
 b=lDz2znkY0yEUb3pGu2UP11Eylm+X2sJjLz3DLgay8yL/UmQprve105GIF+w4IDi9SXBVTo0rUPKdA2sAYwxMDTIqJIUpcwE5Jf4gKqAybfLa1QPlyVIVC2nJFyD886zDZNmoA0yBeNc/T+0leba5SmExv5TUFipHeY38x8m9TOYXiYs8f+QQMKv/O3hRdG7F4TYa1M284yFmlF9ZRC+7W6Ee5HkTFvB6Su5cpJfvq+cgtz3MmpxMsxDUwyUtoYwJZ0LynTvtroa2yN5lkzm2z9ngK45rqCCOkScOFNsPBJjRpC7YUyQow2mXYa7pVw0ELl+qEcx93/FWn1ctSf4ZYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=computest.nl; dmarc=pass action=none header.from=computest.nl;
 dkim=pass header.d=computest.nl; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=computest.nl;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Grx8btV1y/8wbr0LzK39lSk/5KuKgI5JX0h1uu0Ic3o=;
 b=TuVpbg5xJXfYF3/COk515CD62pu55hDUvK1O+5POr+qcnvEvDCpWeAhTYglX0Tqhks6hkvGWmg6kX2mOQibokSF6UntnT0RXuMOu5Nkzeyd+bGKw66Ui8aONTj/nx8aVY3Vf19XrCp/WV9h0VTVdsJ/BmqyoIW++b71XdlGG0NI=
From: Siebren Bijlsma <sbijlsma@computest.nl>
To: Xen.org security team <security@xen.org>, "xen-announce@lists.xen.org"
	<xen-announce@lists.xen.org>, "xen-devel@lists.xen.org"
	<xen-devel@lists.xen.org>, "xen-users@lists.xen.org"
	<xen-users@lists.xen.org>, "oss-security@lists.openwall.com"
	<oss-security@lists.openwall.com>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Re: Xen Security Advisory 399 v2 (CVE-2022-26357) - race in VT-d
 domain ID cleanup
Thread-Topic: Xen Security Advisory 399 v2 (CVE-2022-26357) - race in VT-d
 domain ID cleanup
Thread-Index: AQHYSOUiAH5tCLhftkykjt0FzsluCKzhOxyC
Date: Tue, 5 Apr 2022 12:12:55 +0000
Message-ID:
 <AM8PR05MB79392A1310CCB14F09029BD3A5E49@AM8PR05MB7939.eurprd05.prod.outlook.com>
References: <E1nbhrJ-0003ND-7u@xenbits.xenproject.org>
In-Reply-To: <E1nbhrJ-0003ND-7u@xenbits.xenproject.org>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=computest.nl;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f1a2a467-2663-4d6a-3ac4-08da16fd9dec
x-ms-traffictypediagnostic: PAXPR05MB8430:EE_
x-microsoft-antispam-prvs:
 <PAXPR05MB8430488CF262D78F09C678F6A5E49@PAXPR05MB8430.eurprd05.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 tjVeBPikbNUFnKRqWiPaK6BorbRRJ92KA81SYUnCAhZZ1L8fYulDigm20T9fmvbiHHDgs/FvsIeO7IZeDvcaX01TAAIWxw6kLKZ1+hYNM3JMlkQIWhw6bbVFYYRuthUkekfrXJ+ZJ6NGhcAkIwGZR61R2Z6R3Dakglw06ww+UVxIq7gcK1L6kmwmVb0BI3eqApz53sAK6A4Mlz8l30OYV6qeRxMUCuINj5DfZKUy8OaPn8/TDhJ5R2ikt8nR2FosIo5WwWCQvfgGLP9S2W7q0Opx40+8scBqYQ8QhP5aq1tBshAo99dirKV47ulmFTXqQj+jYEvf14WbITzt+XciWYRxP8A20bM0PQhg3JbAVSAi0gyCS6NTO3MMd8Jn/fDjWB0ph/F8UQ0jz2hfPhrbRw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM8PR05MB7939.eurprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(376002)(346002)(366004)(396003)(136003)(39840400004)(52536014)(71200400001)(33656002)(316002)(186003)(26005)(55016003)(64756008)(9686003)(38070700005)(8936002)(55236004)(38100700002)(73894004)(7696005)(122000001)(621065003)(2906002)(4270600006)(66476007)(66946007)(66446008)(76116006)(66556008)(8676002)(508600001)(6506007)(86362001)(110136005)(4326008)(99936003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?7QpR/YAmU0YtS/PJSTYWWlZydb2E1wYUkaDfTDa9fiS38jAUPsRHlzfm5TWc?=
 =?us-ascii?Q?ViDsspmN/fXn1sanxb1AD8g3V/d8v+TcslXc1QLpu/3yjmY0j1V2vosWwPPq?=
 =?us-ascii?Q?iQFoYK9OpQMTyIMXrL+hq5UyB4GCB6zIWy6H2ifcwCd9LPtOeA9Ef3FCSdwj?=
 =?us-ascii?Q?f45i/r5z1CwH2IDzLKnzfDDv+gGJlZqZKo+PccGviYkzk93mi+kw+YvDWzbp?=
 =?us-ascii?Q?BmeOxfHje4CAxtTtN7E+9FKKuAHPlhOfECb0Qa+LmHbRfZaE6+NwFUI4cyS0?=
 =?us-ascii?Q?GzQOU8uRY045dmUbifrPiCk4siOFBmyQhmA0fmpnEhuJ2JFKsqi13NlrtfV0?=
 =?us-ascii?Q?/GrO2m3sffDZWdPeW4YAlR6KKcgsg727mVFlg1OJ4KWr0202+oxEJU3UN+Lv?=
 =?us-ascii?Q?K6IaswHDOQVb7FrMEdsCX1i4o4NIPYzyvFiOaEigjTJ30nIuyq7fSv4JQKUA?=
 =?us-ascii?Q?rSVp7MxIwid/VA+nus5GYawG3NaihBOU6DZdz7n4xf9xCRWuBruG5GEy0/i7?=
 =?us-ascii?Q?SYr7jW5szEb3rKcFpnAIkMYXjjU8YyGdDs6MMy66MAAjTsacOkOFjOcSsNpJ?=
 =?us-ascii?Q?wgcULTOPxG7Bwm+g8vVVYGj9/6NxXNaUYEEwAYo1RhXYvgIXQBnnag0AheGe?=
 =?us-ascii?Q?Ycg6lesOHwRVzSvkZZXEWtGKg83IVwJ5v53lDhoF0Q0i6niDwQXooDVGWlg0?=
 =?us-ascii?Q?R2DWf3IUjX92jp3OchcOVfFhJztCx60nGl0/H0eg34dBtm0/zzsyCh60rD2s?=
 =?us-ascii?Q?gH3XDAEqXPhX/E2D5S+1xHjk4oLDhuxDNOS6ZnHZ6BuK0OK0H+3iSoiH51T0?=
 =?us-ascii?Q?fXtqtmhrGXl7F/lComC0sZpS1Uo+Funth6UEZVAW0b9o7Jw4EpVX5r4//d1H?=
 =?us-ascii?Q?GF0jX3YynuyDNyjtY4UNbfkvvW80Jtl52G+vlYB1Vf/MpumjxqLs1nV4jom1?=
 =?us-ascii?Q?TRTAMkXBEWZsFoswwTcyBnlw/CG+SFzOOO1LQ0OBlGkuZMlO9+LkSDMGnBmV?=
 =?us-ascii?Q?j/+AvsPnNKF2B670nzmm3DHZNM0k4BQnSDclurCG0OhJFx69FAh+GwoRGvfX?=
 =?us-ascii?Q?+Drszig/6rh6Rt+OBUIl3oHxhwddvxplW/ocNQ9taLjDsE0fSAUD/MZGiPWX?=
 =?us-ascii?Q?PR/ATd/TGafAFaRTvmKofR8yyof2sXuYc0ifOMCtRpu2LLpq8xGNB0Ww6L08?=
 =?us-ascii?Q?ZO1RwBbHx4IeEJhaKvHoZkjCgX26hyn28obSF8GRiNhCEfnjaWRoaS405ZxX?=
 =?us-ascii?Q?ZkyW8DOrnVxZmFqoXPiatOnv4odjI1wy3jftDyMLvJYeuJyaFlRFOChGZJv6?=
 =?us-ascii?Q?UVU8GwqmsbNDY8Pb2VGk6H3rX1G5LagiwOQTJiYIuv0y4w0AHMEjB/g/JXfG?=
 =?us-ascii?Q?gxGS+XUF1VoesDUp3Q++yXLUg4O5evLwdw+siy2DVsfCeQxN40DRl3LEE3eK?=
 =?us-ascii?Q?cNWeVnca5pe120HiAGJzS4PkARQSwGsMLH6+fbymjrjosezVfL2+mtwUBoTz?=
 =?us-ascii?Q?be+HyBR6ZUputgqS14yYkaYAjH93QRT0finWLdTGNmpDpTzrHZ4xkbWfRICf?=
 =?us-ascii?Q?bVqOkzyhBaQeEcPbnXFJJzyML108gymOG7cGarIsrles/z4IV8rjlcldJ6/i?=
 =?us-ascii?Q?iXI13EE/cHkgqO4nEcDeUn3cCet/oyx83Cx3GBcABraN+YEuH8jZZ2hbform?=
 =?us-ascii?Q?ZVEonDWK7qMIXo54PYPS+tvEoCaBavsTwWmCk30suCKsSR4lMupxjbIEnHJC?=
 =?us-ascii?Q?qVZeyIfickS04GrKcu9kobEVS0JeIuc=3D?=
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha256";
 boundary="_A0113A1B-5856-FB44-A834-3ADE8AC2CA5B_"
MIME-Version: 1.0
X-OriginatorOrg: computest.nl
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM8PR05MB7939.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1a2a467-2663-4d6a-3ac4-08da16fd9dec
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Apr 2022 12:12:55.6343
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 66c32ca0-5de6-4a25-acd9-b157ccb6cf0d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: le9B+aHegjh1PncKOVfipAGCas5/ChQUxPcvYs3AFh8TKBeH0GZs9sWB3EJD6ALGZnOBJ4U6BYBnwa7tv1IpEw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR05MB8430

--_A0113A1B-5856-FB44-A834-3ADE8AC2CA5B_
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="utf-8"

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta ht=
tp-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8"><meta name=
=3DGenerator content=3D"Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:10.0pt;
	font-family:"Calibri",sans-serif;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style></head><body lang=3Den-NL link=3Dblue vlink=3Dpurple style=3D'wo=
rd-wrap:break-word'><div class=3DWordSection1><div><p class=3DMsoNormal><sp=
an lang=3DEN-US style=3D'font-size:11.0pt'>unsubscribe</span><span lang=3DE=
N-US style=3D'font-size:11.0pt'><o:p></o:p></span></p></div></div></body></=
html>=

--_A0113A1B-5856-FB44-A834-3ADE8AC2CA5B_
Content-type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCHjsw
ggXeMIIDxqADAgECAhAB/W0w/KPKUagbvGQONQMtMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xMDAyMDEwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIASZRc2DsPbCLPQ
rFcNdu3NJ9NMrVCDYeKqIE0JLWQJ3M6Jn8w9qez2z8Hc8dOx1ns3KBErR9o5xrw6GbRfpr19naNj
QrZ28qk7K5H44m/Q7BYgkAk+4uh0yRi0kdRiZNt/owbxiBhqkCI8vP4T8IcUe/bkH47U5FHGEWdG
CFHLhhRUP7wz/n5snP8WnRi9UY41pqdmyHJn2yFmsdSbeAPAUDrozPDcvJ5M/q8FljUfV1q3/875
PbcstvZU3cjnEjpNrkyKt1yatLcgPcp/IjSufjtoZgFE5wFORlObM2D3lL5TN5BzQ/Myw1Pv26r+
dE5px2uMYJPexMcM3+EyrsyTO1F4lWeL7j1W/gzQaQ8bD/MlJmszbfduR/pzQ+V+DqVmsSl8MoRj
VYnEDcGTVDAZE6zTfTen6106bDVc20HXEtqpSQvf2ICKCZNijrVmzyWIzYS4sT+kOQ/ZAp7rEkyV
fPNrBaleFoPMuGfi6BOdzFuC00yz7Vv/3uVzrCM7LQC/NVV0CUnYSVgaf5I25lGSDvMmfRxNF7zJ
7EMm0L9BX0CpRET0medXh55QH1dUqD79dGMvsVBlCeZYQi5DGky08CVHWfoEHpPUJkZKUIGy3r54
t/xnFeHJV4QeD2PW6WK61l9VLupcxigIBCU5uA4rqfJMlxwHPw1S9e3vL4IPAgMBAAGjQjBAMB0G
A1UdDgQWBBRTeb9aqitKz1SA4dibwJ3ysgNmyzAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
AwEB/zANBgkqhkiG9w0BAQwFAAOCAgEAXNR8Dc/3AX1BmWUMc8VSn8v4z5kGfxvaQxWfngJVV5YU
8VI8J4eUKO0fOgE3onb8U1DAhJvGa066jCFPoo5VYpHzaRXYvIjjxKoL/e+o6UtVKgYgbVV4KRnu
XzBcSyQRVf8kmm5eKivuC02ff/cBOJQUlUMHCftgqe4cqxKMoJpep5hqWW2LPwj7yNFFrxgVZJAS
D3MoLsXiJE78WOzw9EX+IrPrL47S2UVhBcGXb6h2co+LjDavvw0FznGN5qZvH2ymcWLF2NCDcgzx
ZxGJDJwTTHI037zVcd+qcd3huWyMPBJdZdq9VxK2Q2v/5d5NZhFRz5mu7Be26HGRjN5J/t01caIV
J5Qcz2HjJrtvo2clIV3m3R0LLmgbO4Kv7INnhdSYUXSxuZmAif9/eBlceUpgLpJArkw3KizJx2LI
Dl33NlvK4CUlAbTdGgecdwA/0NzV7D3U+rs/zIXWb3+pLd+5Avf1l5q1NdrDZ7CHSqkoniOO/1wn
a+GwT/MH7gAu1FmHy1JBler0R9fuZEFVfI1ZApXdYp3Cue5aKHSEpZu3kMcMB9/1iTZ0MtYowbCw
C+CcTMMc1vzjabVHRoEvooKr02NEcMSN/y0zuq2Pe7VwiK4+Gc9AKNj8yJC7XZki9VLmWMUfiDFD
7ogd18aOPENqHacY3n09FvFi+cqQqP0wggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0G
CSqGSIb3DQEBDAUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UE
BxMLSmVyc2V5IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMl
VVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0z
MDEyMzEyMzU5NTlaMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjAN
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+Jhwp
KirSzZxQgT9tlC7zl6hn1fXjSo5MqXUfItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX
2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeWQcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabP
i2503nn/ITX5e8WfPnGw4VuZ79Khj1YBrf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5
h36bBJMxqdHLpdwIUkTqT8se3ed0PewDch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwID
AQABo4IBZDCCAWAwHwYDVR0jBBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA
8vwL2pTbX/4r36iZQs/J4K0AMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkw
RzBFoEOgQYY/aHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRp
b25BdXRob3JpdHkuY3JsMHYGCCsGAQUFBwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51
c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRw
Oi8vb2NzcC51c2VydHJ1c3QuY29tMA0GCSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFo
jADdF9d6HBA4kMjjsb0XMZHztuOCtKF+xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou7
4TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx
4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA
6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiX
u09sMAviM11Q0DuMZ5760CdO2VnpsXP4KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dk
iPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90
SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQOZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6
JzPFf9pLkAFFWs1QNyN++niFhsM47qodx/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ
0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i5ZgtwCLXgAIe5W8mybM2JzCCBhMwggT7oAMCAQICEAmi
SL5tkM0tZReEPrFu2CwwDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJH
cmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGlt
aXRlZDE+MDwGA1UEAxM1U2VjdGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1
cmUgRW1haWwgQ0EwHhcNMjAwNTIwMDAwMDAwWhcNMjMwNTIwMjM1OTU5WjCCASAxCzAJBgNVBAYT
Ak5MMRAwDgYDVQQREwcyNzE4IFNIMRUwEwYDVQQIEwxadWlkLUhvbGxhbmQxEzARBgNVBAcTClpv
ZXRlcm1lZXIxFzAVBgNVBAkTDlNpZ25hYWxyb29kIDI1MR0wGwYDVQQKExRDb21wdXRlc3QgR3Jv
dXAgQi5WLjE6MDgGA1UECxMxSXNzdWVkIHRocm91Z2ggQ29tcHV0ZXN0IEdyb3VwIEIuVi4gRS1Q
S0kgTWFuYWdlcjEfMB0GA1UECxMWQ29ycG9yYXRlIFNlY3VyZSBFbWFpbDEYMBYGA1UEAxMPU2ll
YnJlbiBCaWpsc21hMSQwIgYJKoZIhvcNAQkBFhVzYmlqbHNtYUBjb21wdXRlc3QubmwwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDbe7+YaGlfihiGPEoDpryv0etajkvAwHelpDdxCkuJ
DREuQL6kTyTy9dDEwGc57aP6XLb3Y7oO/PE2N5Fcut9t4v9qOh4QC447krmnvxtX+c6cs47uWvnq
jOQU0VEEkqI32QrNN5eseNggqalt3ICKk+FIVme4fRl+pXLM9bnPboUDPj/cnmHnmSBlmImd2q+Z
RDqZYIVvjivPZSENOdNd+dNEjIhs2DxPa5ZdQV6Rfi5y9UkLxDG/d5sBJwgrrTW+FfMGAdTeqjOp
nJf/vwo8NYVbArOC20k+/FD4517WD6Uyl0uaOmMkRASNTSCynac0aDnZIGpNl1QE14PKJi8XAgMB
AAGjggHOMIIByjAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUznUs
tAkzZV+glVWW9iEKhMKqJxIwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wIAYDVR0RBBkwF4EVc2JpamxzbWFA
Y29tcHV0ZXN0Lm5sMA0GCSqGSIb3DQEBCwUAA4IBAQA2zlsnJ8DgWjQrpLfTcmn3ukc8NhDiyJd0
pu30zm2pEEuq/nLReFPesSssG4/KfdkZqqrSAfjTpsfzfjCBgliKg/buaRn6EkA1i6XdQKHIXQdk
AC/0Hcfx57AnkxTaqdHA9uUTMEpk54mijBAZh4WnJThbO4ZUFEgwSPy6Z0WWICnOjSr8jZDihJ+b
MTf08yLZaLalqOC+sdy89kVot14hfTrZT9j2Qx6q1icFZ7Q5yhu2PhFUk0pQgvJ/Giu6/MHLWcV8
qpT5T0UGP9YH0Xdf0c3lWphh6oBLcCEqQiEhm4f+m8mQfhOsjVxD5DehsrjOpXk1dXswid4IwghS
bgA7MIIGEzCCBPugAwIBAgIQCaJIvm2QzS1lF4Q+sW7YLDANBgkqhkiG9w0BAQsFADCBljELMAkG
A1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEY
MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0
aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTAeFw0yMDA1MjAwMDAwMDBaFw0yMzA1MjAy
MzU5NTlaMIIBIDELMAkGA1UEBhMCTkwxEDAOBgNVBBETBzI3MTggU0gxFTATBgNVBAgTDFp1aWQt
SG9sbGFuZDETMBEGA1UEBxMKWm9ldGVybWVlcjEXMBUGA1UECRMOU2lnbmFhbHJvb2QgMjUxHTAb
BgNVBAoTFENvbXB1dGVzdCBHcm91cCBCLlYuMTowOAYDVQQLEzFJc3N1ZWQgdGhyb3VnaCBDb21w
dXRlc3QgR3JvdXAgQi5WLiBFLVBLSSBNYW5hZ2VyMR8wHQYDVQQLExZDb3Jwb3JhdGUgU2VjdXJl
IEVtYWlsMRgwFgYDVQQDEw9TaWVicmVuIEJpamxzbWExJDAiBgkqhkiG9w0BCQEWFXNiaWpsc21h
QGNvbXB1dGVzdC5ubDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANt7v5hoaV+KGIY8
SgOmvK/R61qOS8DAd6WkN3EKS4kNES5AvqRPJPL10MTAZznto/pctvdjug788TY3kVy6323i/2o6
HhALjjuSuae/G1f5zpyzju5a+eqM5BTRUQSSojfZCs03l6x42CCpqW3cgIqT4UhWZ7h9GX6lcsz1
uc9uhQM+P9yeYeeZIGWYiZ3ar5lEOplghW+OK89lIQ05013500SMiGzYPE9rll1BXpF+LnL1SQvE
Mb93mwEnCCutNb4V8wYB1N6qM6mcl/+/Cjw1hVsCs4LbST78UPjnXtYPpTKXS5o6YyREBI1NILKd
pzRoOdkgak2XVATXg8omLxcCAwEAAaOCAc4wggHKMB8GA1UdIwQYMBaAFAnA8vwL2pTbX/4r36iZ
Qs/J4K0AMB0GA1UdDgQWBBTOdSy0CTNlX6CVVZb2IQqEwqonEjAOBgNVHQ8BAf8EBAMCBaAwDAYD
VR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDBAYIKwYBBQUHAwIwQAYDVR0gBDkwNzA1Bgwr
BgEEAbIxAQIBAQEwJTAjBggrBgEFBQcCARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwWgYDVR0f
BFMwUTBPoE2gS4ZJaHR0cDovL2NybC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVu
dGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNybDCBigYIKwYBBQUHAQEEfjB8MFUGCCsGAQUFBzAC
hklodHRwOi8vY3J0LnNlY3RpZ28uY29tL1NlY3RpZ29SU0FDbGllbnRBdXRoZW50aWNhdGlvbmFu
ZFNlY3VyZUVtYWlsQ0EuY3J0MCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTAg
BgNVHREEGTAXgRVzYmlqbHNtYUBjb21wdXRlc3QubmwwDQYJKoZIhvcNAQELBQADggEBADbOWycn
wOBaNCukt9Nyafe6Rzw2EOLIl3Sm7fTObakQS6r+ctF4U96xKywbj8p92RmqqtIB+NOmx/N+MIGC
WIqD9u5pGfoSQDWLpd1AochdB2QAL/Qdx/HnsCeTFNqp0cD25RMwSmTniaKMEBmHhaclOFs7hlQU
SDBI/LpnRZYgKc6NKvyNkOKEn5sxN/TzItlotqWo4L6x3Lz2RWi3XiF9OtlP2PZDHqrWJwVntDnK
G7Y+EVSTSlCC8n8aK7r8wctZxXyqlPlPRQY/1gfRd1/RzeVamGHqgEtwISpCISGbh/6byZB+E6yN
XEPkN6GyuM6leTV1ezCJ3gjCCFJuADswggYTMIIE+6ADAgECAhAJoki+bZDNLWUXhD6xbtgsMA0G
CSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIw
MDUyMDAwMDAwMFoXDTIzMDUyMDIzNTk1OVowggEgMQswCQYDVQQGEwJOTDEQMA4GA1UEERMHMjcx
OCBTSDEVMBMGA1UECBMMWnVpZC1Ib2xsYW5kMRMwEQYDVQQHEwpab2V0ZXJtZWVyMRcwFQYDVQQJ
Ew5TaWduYWFscm9vZCAyNTEdMBsGA1UEChMUQ29tcHV0ZXN0IEdyb3VwIEIuVi4xOjA4BgNVBAsT
MUlzc3VlZCB0aHJvdWdoIENvbXB1dGVzdCBHcm91cCBCLlYuIEUtUEtJIE1hbmFnZXIxHzAdBgNV
BAsTFkNvcnBvcmF0ZSBTZWN1cmUgRW1haWwxGDAWBgNVBAMTD1NpZWJyZW4gQmlqbHNtYTEkMCIG
CSqGSIb3DQEJARYVc2JpamxzbWFAY29tcHV0ZXN0Lm5sMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEA23u/mGhpX4oYhjxKA6a8r9HrWo5LwMB3paQ3cQpLiQ0RLkC+pE8k8vXQxMBnOe2j
+ly292O6DvzxNjeRXLrfbeL/ajoeEAuOO5K5p78bV/nOnLOO7lr56ozkFNFRBJKiN9kKzTeXrHjY
IKmpbdyAipPhSFZnuH0ZfqVyzPW5z26FAz4/3J5h55kgZZiJndqvmUQ6mWCFb44rz2UhDTnTXfnT
RIyIbNg8T2uWXUFekX4ucvVJC8Qxv3ebAScIK601vhXzBgHU3qozqZyX/78KPDWFWwKzgttJPvxQ
+Ode1g+lMpdLmjpjJEQEjU0gsp2nNGg52SBqTZdUBNeDyiYvFwIDAQABo4IBzjCCAcowHwYDVR0j
BBgwFoAUCcDy/AvalNtf/ivfqJlCz8ngrQAwHQYDVR0OBBYEFM51LLQJM2VfoJVVlvYhCoTCqicS
MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEF
BQcDAjBABgNVHSAEOTA3MDUGDCsGAQQBsjEBAgEBATAlMCMGCCsGAQUFBwIBFhdodHRwczovL3Nl
Y3RpZ28uY29tL0NQUzBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLnNlY3RpZ28uY29tL1Nl
Y3RpZ29SU0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWlsQ0EuY3JsMIGKBggrBgEF
BQcBAQR+MHwwVQYIKwYBBQUHMAKGSWh0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNs
aWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6
Ly9vY3NwLnNlY3RpZ28uY29tMCAGA1UdEQQZMBeBFXNiaWpsc21hQGNvbXB1dGVzdC5ubDANBgkq
hkiG9w0BAQsFAAOCAQEANs5bJyfA4Fo0K6S303Jp97pHPDYQ4siXdKbt9M5tqRBLqv5y0XhT3rEr
LBuPyn3ZGaqq0gH406bH834wgYJYioP27mkZ+hJANYul3UChyF0HZAAv9B3H8eewJ5MU2qnRwPbl
EzBKZOeJoowQGYeFpyU4WzuGVBRIMEj8umdFliApzo0q/I2Q4oSfmzE39PMi2Wi2pajgvrHcvPZF
aLdeIX062U/Y9kMeqtYnBWe0Ocobtj4RVJNKUILyfxoruvzBy1nFfKqU+U9FBj/WB9F3X9HN5VqY
YeqAS3AhKkIhIZuH/pvJkH4TrI1cQ+Q3obK4zqV5NXV7MIneCMIIUm4AOzGCAwUwggMBAgEBMIGr
MIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdT
YWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENs
aWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhAJoki+bZDNLWUXhD6xbtgs
MA0GCWCGSAFlAwQCAQUAoIIBKjAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJ
BTEPFw0yMjA0MDUxMjEyNTNaMC8GCSqGSIb3DQEJBDEiBCBezvAS/r8GoETcPXBtU0AQnEFpCIqZ
poUOOlXeeFDlJTCBvgYLKoZIhvcNAQkQAgsxga6ggaswgZYxCzAJBgNVBAYTAkdCMRswGQYDVQQI
ExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28g
TGltaXRlZDE+MDwGA1UEAxM1U2VjdGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBT
ZWN1cmUgRW1haWwgQ0ECEAmiSL5tkM0tZReEPrFu2CwwDQYJKoZIhvcNAQEBBQAEggEAuVv9QHbx
G/MgiLIRxLeZlXKgGEFCSanHTvlLI2jKqyxSCHaTJhK+gpF0z16U+g66VhtyS4NPGlYFBUxYL1+I
iuAq2jWPRCnGxBNHLEEYd5l/wgV22jbT9l4C5awEKM8z7sSQ73pYPn0NatkneSIn5T6YIXFXzmpw
2ugfJskKCCyDXoTit74UzzY1LcruruhYM9vc4CfUu8sj5oXbqPmBDfmiQSQUnQ/oXMkMruOS+ekh
Dgr2PuTgiEX5Qw87M3Eh6LVVzPz36IN3R8HI5vNDKcGK0obA1EZAYn18CLftGmwaBsZW/MlvnzFj
sAh0oBNqCEW1wAHsrH3o0nB5BNt+aQAAAAAAAA==

--_A0113A1B-5856-FB44-A834-3ADE8AC2CA5B_--


From xen-users-bounces@lists.xenproject.org Tue Apr 05 14:31:21 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 05 Apr 2022 14:31:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.298851.509654 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nbkDH-0004Vj-9G; Tue, 05 Apr 2022 14:31:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 298851.509654; Tue, 05 Apr 2022 14:31:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nbkDH-0004Vc-3g; Tue, 05 Apr 2022 14:31:19 +0000
Received: by outflank-mailman (input) for mailman id 298851;
 Tue, 05 Apr 2022 12:07:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c4fh=UP=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1nbhuV-0006xb-59
 for xen-users@lists.xen.org; Tue, 05 Apr 2022 12:03:48 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ec7e771-b4d8-11ec-a405-831a346695d4;
 Tue, 05 Apr 2022 14:03:41 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nbhu2-0008EH-C2; Tue, 05 Apr 2022 12:03:18 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1nbhu2-0005jJ-9A; Tue, 05 Apr 2022 12:03:18 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ec7e771-b4d8-11ec-a405-831a346695d4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=iUnWHaeaBZp6aTAy0V9EIUSiF4hl+ZXBR73MEyRTvSg=; b=HKSbbTsW9QpqRBC2guAk8uPhqK
	2Znrqb55SQawBvu7QyW9e+B4aRTW6mMN3mVqTrfsxn33b1xf29cenUGb/0fzc5fz4MTvHOQvYClFc
	6JaAe5KRjtLRpfY7+olhEfNxiMNjPRXNCbLenzSrBTD//77iwsw6ylK7rfMriRbUfC6g=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
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-team-members@xen.org>
Subject: Xen Security Advisory 400 v2 (CVE-2022-26358,CVE-2022-26359,CVE-2022-26360,CVE-2022-26361)
 - IOMMU: RMRR (VT-d) and unity map (AMD-Vi) handling issues
Message-Id: <E1nbhu2-0005jJ-9A@xenbits.xenproject.org>
Date: Tue, 05 Apr 2022 12:03:18 +0000

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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

 Xen Security Advisory CVE-2022-26358,CVE-2022-26359,CVE-2022-26360,CVE-2022-26361 / XSA-400
                                          version 2

       IOMMU: RMRR (VT-d) and unity map (AMD-Vi) handling issues

UPDATES IN VERSION 2
====================

Public release.

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

Certain PCI devices in a system might be assigned Reserved Memory
Regions (specified via Reserved Memory Region Reporting, "RMRR") for
Intel VT-d or Unity Mapping ranges for AMD-Vi.  These are typically used
for platform tasks such as legacy USB emulation.

Since the precise purpose of these regions is unknown, once a device
associated with such a region is active, the mappings of these regions
need to remain continuouly accessible by the device.  This requirement
has been violated.

Subsequent DMA or interrupts from the device may have unpredictable
behaviour, ranging from IOMMU faults to memory corruption.

IMPACT
======

The precise impact is system specific, but would likely be a Denial of
Service (DoS) affecting the entire host.  Privilege escalation and
information leaks cannot be ruled out.

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

All Xen versions supporting PCI passthrough are affected.

Only x86 systems with IOMMU hardware are vulnerable.  Arm systems
as well as x86 systems without IOMMU hardware or without any IOMMUs in
use are not vulnerable.

Only x86 guests which have physical devices passed through to them,
and only when any such device has an associated RMRR or unity map, can
leverage the vulnerability. (Whether a device is associated with an RMRR
or unity map is not easy to discern.)

MITIGATION
==========

Not passing through physical devices to untrusted guests when the
devices have assoicated RMRRs / unity maps will avoid the vulnerability.

CREDITS
=======

Aspects of this issue were discovered by Jan Beulich of SUSE and
Roger Pau Monné of Citrix.

RESOLUTION
==========

Applying the appropriate set of attached patches resolves this issue.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa400/xsa400-??.patch          xen-unstable
xsa400/xsa400-4.16-*.patch      Xen 4.16.x
xsa400/xsa400-4.15-*.patch      Xen 4.15.x
xsa400/xsa400-4.14-*.patch      Xen 4.14.x
xsa400/xsa400-4.13-*.patch      Xen 4.13.x
xsa400/xsa400-4.12-*.patch      Xen 4.12.x

$ sha256sum xsa400*/*
108544235a011e96e8717e9e744190fd8128e99cca8141f682667bd7b8533f45  xsa400/xsa400-01.patch
1648ef0213dd6beeaa782a18926416a00aa51ad89136aa1565debd5312bf58aa  xsa400/xsa400-02.patch
39e02738ce3d3a65c02355dd45cb844ecca8be9715b7887dedcdaada02c4bda1  xsa400/xsa400-03.patch
2d5e7f4090418d817df002b7cd7a9a40246ff9900faf53fc2b2f685ac77b2a0e  xsa400/xsa400-4.12-00.patch
a4291033d1960f8095a11e765072f60cf9e5be07d4cd0cbfed1896f9c66a4576  xsa400/xsa400-4.12-01.patch
2f5b2ce22ae6cba8a5380ccf63ae2dcf6e7ce8f29a33c87c0630abc6c1d24793  xsa400/xsa400-4.12-02.patch
86ee30d46957f63e4516ea47f14470579d0906fd536b39e31645e2cd471c1b49  xsa400/xsa400-4.12-03.patch
546430f61df3eb92a55e32047cce8557d85a8e860f67d558c35fea44e7c56b18  xsa400/xsa400-4.12-04.patch
178463bf81b138668c2f036b11a0b9406a6f5bb98c0643741787ccdf276495d9  xsa400/xsa400-4.12-05.patch
b19c599eb5eb17f8e0e17879174a4235fdc3f2172bc77bffdee60074ef2d7c90  xsa400/xsa400-4.12-06.patch
02eae481f2b06763dd913b46a65837791147b7916bbd0ed50e5d972784b310aa  xsa400/xsa400-4.12-07.patch
298339cc343d9803158abd0c36030f36e7dc8360ccfed320f34ff01813c47434  xsa400/xsa400-4.12-08.patch
9253d7120db39a1e3c14fc6b8735577f3d215837996eed057511146c0ba199d6  xsa400/xsa400-4.12-09.patch
762bbe418c028449812b4441c4e369230477eeea4d863c05a2efd9c7e5e19bc3  xsa400/xsa400-4.12-10.patch
7172957a27cdf02327c28b5cfedf35b12e76cb17237cbb9c318442961f503fe6  xsa400/xsa400-4.12-11.patch
c685d9ee2453728f509a78506930f756118ff443fbe6d5307873e90455b5e131  xsa400/xsa400-4.13-00.patch
0b0a80a249c9c58726f913df24163976cfaadabc685d3d274dd7b972fe4cbffc  xsa400/xsa400-4.13-01.patch
eabee7d9cabe00748e78fda0363818ca6085ac395804658a11f94394236d2734  xsa400/xsa400-4.13-02.patch
66cd2a0ee8a002668e04e2bb7192ac2f774012434765988bdea0a7e79621f58c  xsa400/xsa400-4.13-03.patch
4457c142c1fdc67e0dc77a57bc57159ee63dc1946e432ae1225937c7ed3a3e82  xsa400/xsa400-4.13-04.patch
2feabcbcf160d8c1130b2c86efd98dd9fee0332489520f3a10aa8bb37d6a5a20  xsa400/xsa400-4.13-05.patch
903099123d37806b7fe684d75ab0fb6a28b4609d7370cce65a9ba5ab4db43ddd  xsa400/xsa400-4.13-06.patch
e8a39d36f629b7f79634d09d22ace97f1c23ee10ee9fef6afd68ec2204c55d81  xsa400/xsa400-4.13-07.patch
d85c63917542d2d2b47dd6322b4c32364719be4707acf616290aacd536c57805  xsa400/xsa400-4.13-08.patch
5496ca04a2789603069ca8e8d3bf6d301c19c799ccff813bf17865b46f687757  xsa400/xsa400-4.13-09.patch
8b343f3616c0283caac334b4f0cc42b1523f2dc9de3463f2edadbf1a11c17a22  xsa400/xsa400-4.13-10.patch
577d20d2ed5da8a89f32eae717a140f9ec3900e31fc9e10ee23e37ae5dc19d4a  xsa400/xsa400-4.13-11.patch
bfa82c6beae9ec8ab88e042296442eed3ca162b42124c982785c7c0d95440480  xsa400/xsa400-4.14-01.patch
f8f7da8d0cc3d149874956e9aefe666a2e33275dba66ed0d55f0b559d078f01f  xsa400/xsa400-4.14-02.patch
49acd3d795aa091f8fa1c72b5064b5a71966e77c9785f5d0f8226d99daba3ead  xsa400/xsa400-4.14-03.patch
0ce4435a8c7fd6f4186ea31d29932094b1a902d9d0c5dafa3fcb1c15c5eca88c  xsa400/xsa400-4.14-04.patch
aeae4cef4bf31ecd854ad820239fe793f36ed81c0ad28ce3935ab3f83c3ee58c  xsa400/xsa400-4.14-05.patch
f8d93e2ab3f891f70abd17ddba9aae8237605f1f680754ff9df646e5ddb9d419  xsa400/xsa400-4.14-06.patch
afb9f731ba7a53930626e322ebb39db19f817b5c60710fc934c395fcdea4c7f4  xsa400/xsa400-4.14-07.patch
c236bb7b5c692cf30e7b84e6668f87b248bcf80c6df1dd74c655b91b955eb271  xsa400/xsa400-4.14-08.patch
6c4d44983eae92212be6bda7663198260bdeb0506c5b622c38ddbcedf9360d69  xsa400/xsa400-4.14-09.patch
5393c6681c675c666396f6725c2ac2e48293465e97bc228dcfc410ee84d8ba7c  xsa400/xsa400-4.14-10.patch
8d1dcdeb4d9420840a6753bb56f35bf199af63a6c477f2352e47222df5337c1a  xsa400/xsa400-4.14-11.patch
f52a70fd92c4819658630c9d478ae03a9801352b024240059877d0ee2002e31e  xsa400/xsa400-4.15-01.patch
243a0b20b20c78b41f833004c82ce26b1249285671f150bdfe4a2314860df316  xsa400/xsa400-4.15-02.patch
175f2472f80dacffcee578543f4fc4521f5533de46199ce86b072bfd0ede9ae3  xsa400/xsa400-4.15-03.patch
dee6fbe9e3c03d695bae1f81cebca80ca54ecf02a51db64ae5f3d313837eed8c  xsa400/xsa400-4.15-04.patch
55a35033b8ba45b1c9c556e0c2866733e518137299f2f3f4d41046766898aeb5  xsa400/xsa400-4.15-05.patch
94ec5289a3a632fed8d220478847ef3b780d7db345f30ee9d6b186905de61048  xsa400/xsa400-4.15-06.patch
50cbb08b931cd1cc8ec3e2aa17b537db80dcd03a6de0994331fc3818f53cbfe4  xsa400/xsa400-4.15-07.patch
e4c77fac42b8b0b50cdc9de30f406176c44de75d647e36b4bbd6360dd70c8aa6  xsa400/xsa400-4.15-08.patch
652cd8700b830b3520db325cfd90eab6c08bd423debb21c05caa7edfef9ee671  xsa400/xsa400-4.15-09.patch
50e58d663690475ce35a0a65eda88a2c2da319ddc02eb15b5a7d568a8f0a0366  xsa400/xsa400-4.15-10.patch
37a18da6ad1f529bfdc4156225f18c17c10a45302b7d6045ee38c934656589da  xsa400/xsa400-4.15-11.patch
ff069d123df2aba7a4f3185f21f7ca36b34fc026dcdd279224c86698f84c0975  xsa400/xsa400-4.15-12.patch
76497919563cdf2804f5071325c032acd04cf8df75c0dcb4b207a93b9ae80927  xsa400/xsa400-4.16-01.patch
150f2a7621ec17d6369a6ebbc2c08c502f3524acb89855a86a25d7b4fa3e3270  xsa400/xsa400-4.16-02.patch
cd59bca0fcab4bda1d0ea839501543a59b53aef61e96a0d949675bc5550a6fcb  xsa400/xsa400-4.16-03.patch
098edab3ed8915a3598badaa1d452f7c8ab2d8e72879dd9bf941b2093e6df9d1  xsa400/xsa400-4.16-04.patch
a85640291e1bc1cdb757172eb6d2036834ad2eb7b84252cc64d29db3feeff331  xsa400/xsa400-4.16-05.patch
99d43caf1ce60f421d940c2774e2a59d65d1f0dcccd941f13066117a19222b22  xsa400/xsa400-4.16-06.patch
fbe5ec58da594dffd3e63c18406280f27d976609350d7c7083acbf2f2e6538cd  xsa400/xsa400-4.16-07.patch
e6b0d400beda8ff0e9bdbfd033bc23935069b41dbd5dddf863dbd70de44d908f  xsa400/xsa400-4.16-08.patch
965f96bdb33a872942de42597c7cc32012020f37b25a84015ecc55387d6b07dd  xsa400/xsa400-4.16-09.patch
7996b1462374168ddc9cbc01c990d5cb40140d7a100096f284f6b74fb4ad7ec4  xsa400/xsa400-4.16-10.patch
23e325be799b299e9621e76eeff646b81518a4124474fb766d3bf6f0cc925083  xsa400/xsa400-4.16-11.patch
6fa43e1a8f53184724cd4a7b5c13f0fd699c998af968bafaefda570432b5a7d8  xsa400/xsa400-4.16-12.patch
82306d680ef445bee04969028184f65b5e106c89c308fbb876b858f77fea9506  xsa400/xsa400-04.patch
ccf3ff62b427d3d2ea46d4da96beeef2cb64674bc0d247352233c4b84a21f205  xsa400/xsa400-05.patch
8b3f767ca659e8bbf4983927999bdb92d9fa42e3a88973e22facda0e23f29a84  xsa400/xsa400-06.patch
bb570b89a2d4b535831d9211bf08cc0c62c060dc7808911afd8186082b884cf8  xsa400/xsa400-07.patch
8382fd5336b5b4b3388dee099da00b1e728dea77d96825c6088991d7e50f333b  xsa400/xsa400-08.patch
6909363863932ca77c9b7384516965bc1697fab9b4814294a1675fb6ce8e166e  xsa400/xsa400-09.patch
c37fee4dd9ab2bf64ebb8b9c553f793bfcef9a7cf1972b0000fe6ce28b9e8e60  xsa400/xsa400-10.patch
70f11f64457c9703f09c3121d08d5ff4676af20bd42eb1262c433a5e0f79ea41  xsa400/xsa400-11.patch
724e34d262939162ecab713c070cc07b8f7baeca50ee8b62bb59460ec4f7fbdb  xsa400/xsa400-12.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches described above (or others which are
substantially similar) is permitted during the embargo, even on
public-facing systems with untrusted guest users and administrators.

HOWEVER, deployment of the mitigation is NOT permitted (except where
all the affected systems and VMs are administered and used only by
organisations which are members of the Xen Project Security Issues
Predisclosure List).  Specifically, deployment on public cloud systems
is NOT permitted.

This is because removal of pass-through devices or their replacement by
emulated devices is a guest visible configuration change, which may lead
to re-discovery of the issue.

Deployment of this mitigation is permitted only AFTER the embargo ends.

AND: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmJML+0MHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZQl8IALuh2RTTSiQBYeybKZPr3QEOfy+L3VFzNbRZeGBc
jpN12lXjzkFvVuTXDu6Cgw1g6yhRrcRnhGWhx3T8RpGeYhHq1GeKSw7+c4NTsiDL
21P9F3mEban6tOUa82V2PTkYfAMMpbn5apOcsMvdlPoEgXdgLPh5HoVIvXQQO6Ni
3MkCN7foV3M07jAiB4ehqrsPLhzGSCCRJfiD9PA1/RnnzCBrspyyWepF7mwzh2cx
1kENmG8mSwA3Eg0fNUMDBi6W+drNmIx4gooYo3LBnCyMgzUrv7+bzkvjpcU8+dAq
H5i2Morbx4j0F/TcQ8+23KjzNvJHbiqKVrIFCoa1z54dGC8=
=tz+l
-----END PGP SIGNATURE-----

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBmaXggKGRlKWFzc2lnbiBvcmRlcmluZyB3aGVuIFJNUlJzIGFy
ZSBpbiB1c2UKCkluIHRoZSBldmVudCB0aGF0IHRoZSBSTVJSIG1hcHBpbmdz
IGFyZSBlc3NlbnRpYWwgZm9yIGRldmljZSBvcGVyYXRpb24sCnRoZXkgc2hv
dWxkIGJlIGVzdGFibGlzaGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgZGV2aWNl
J3MgY29udGV4dCBlbnRyeSwKd2hpbGUgdGhleSBzaG91bGQgYmUgdG9ybiBk
b3duIG9ubHkgYWZ0ZXIgdGhlIGRldmljZSdzIGNvbnRleHQgZW50cnkgd2Fz
CnN1Y2Nlc3NmdWxseSB1cGRhdGVkLgoKQWxzbyBhZGp1c3QgYSByZWxhdGVk
IGxvZyBtZXNzYWdlLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM1OCAvIHBhcnQg
b2YgWFNBLTQwMC4KCkZpeGVzOiA4Yjk5ZjQ0MDBiNjkgKCJWVC1kOiBmaXgg
Uk1SUiByZWxhdGVkIGVycm9yIGhhbmRsaW5nIikKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+ClJldmll
d2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KUmV2aWV3ZWQt
Ynk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgotLS0KdjI6
IERvbid0IHVubWFwIFJNUlJzIGZvciBEb20wLgoKLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTI0MTQsNiArMjQxNCwxMCBA
QCBzdGF0aWMgaW50IGNmX2NoZWNrIHJlYXNzaWduX2RldmljZV9vd25lCiB7
CiAgICAgaW50IHJldDsKIAorICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3Vu
bWFwKHNvdXJjZSwgZGV2Zm4sIHBkZXYpOworICAgIGlmICggcmV0ICkKKyAg
ICAgICAgcmV0dXJuIHJldDsKKwogICAgIC8qCiAgICAgICogSWYgdGhlIGRl
dmljZSBiZWxvbmdzIHRvIHRoZSBoYXJkd2FyZSBkb21haW4sIGFuZCBpdCBo
YXMgUk1SUiwgZG9uJ3QKICAgICAgKiByZW1vdmUgaXQgZnJvbSB0aGUgaGFy
ZHdhcmUgZG9tYWluLCBiZWNhdXNlIEJJT1MgbWF5IHVzZSBSTVJSIGF0CkBA
IC0yNDQyLDEwICsyNDQ2LDYgQEAgc3RhdGljIGludCBjZl9jaGVjayByZWFz
c2lnbl9kZXZpY2Vfb3duZQogICAgICAgICAgICAgfQogICAgIH0KIAotICAg
IHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwKHNvdXJjZSwgZGV2Zm4sIHBk
ZXYpOwotICAgIGlmICggcmV0ICkKLSAgICAgICAgcmV0dXJuIHJldDsKLQog
ICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+ZG9tYWlu
ICE9IGRvbV9pbyApCiAgICAgewogICAgICAgICBsaXN0X21vdmUoJnBkZXYt
PmRvbWFpbl9saXN0LCAmZG9tX2lvLT5wZGV2X2xpc3QpOwpAQCAtMjUzMCw5
ICsyNTMwLDggQEAgc3RhdGljIGludCBjZl9jaGVjayBpbnRlbF9pb21tdV9h
c3NpZ25fZAogICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0ID0gcmVhc3Np
Z25fZGV2aWNlX293bmVyc2hpcChzLCBkLCBkZXZmbiwgcGRldik7Ci0gICAg
aWYgKCByZXQgfHwgZCA9PSBkb21faW8gKQotICAgICAgICByZXR1cm4gcmV0
OworICAgIGlmICggZCA9PSBkb21faW8gKQorICAgICAgICByZXR1cm4gcmVh
c3NpZ25fZGV2aWNlX293bmVyc2hpcChzLCBkLCBkZXZmbiwgcGRldik7CiAK
ICAgICAvKiBTZXR1cCBybXJyIGlkZW50aXR5IG1hcHBpbmcgKi8KICAgICBm
b3JfZWFjaF9ybXJyX2RldmljZSggcm1yciwgYmRmLCBpICkKQEAgLTI1NDUs
MjAgKzI1NDQsMzcgQEAgc3RhdGljIGludCBjZl9jaGVjayBpbnRlbF9pb21t
dV9hc3NpZ25fZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgZmxhZyk7CiAgICAgICAgICAg
ICBpZiAoIHJldCApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
aW50IHJjOwotCi0gICAgICAgICAgICAgICAgcmMgPSByZWFzc2lnbl9kZXZp
Y2Vfb3duZXJzaGlwKGQsIHMsIGRldmZuLCBwZGV2KTsKICAgICAgICAgICAg
ICAgICBwcmludGsoWEVOTE9HX0dfRVJSIFZURFBSRUZJWAotICAgICAgICAg
ICAgICAgICAgICAgICAiIGNhbm5vdCBtYXAgcmVzZXJ2ZWQgcmVnaW9uICgl
IlBSSXg2NCIsJSJQUkl4NjQiXSBmb3IgRG9tJWQgKCVkKVxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgcm1yci0+YmFzZV9hZGRyZXNzLCBybXJyLT5l
bmRfYWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWlu
X2lkLCByZXQpOwotICAgICAgICAgICAgICAgIGlmICggcmMgKQotICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxP
R19FUlIgVlREUFJFRklYCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAi
IGZhaWxlZCB0byByZWNsYWltICVwcCBmcm9tICVwZCAoJWQpXG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJlBDSV9TQkRGMyhzZWcsIGJ1cywg
ZGV2Zm4pLCBkLCByYyk7Ci0gICAgICAgICAgICAgICAgICAgIGRvbWFpbl9j
cmFzaChkKTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgICAgICIlcGQ6IGNhbm5vdCBtYXAgcmVzZXJ2ZWQgcmVnaW9uIFslIlBS
SXg2NCIsJSJQUkl4NjQiXTogJWRcbiIsCisgICAgICAgICAgICAgICAgICAg
ICAgIGQsIHJtcnItPmJhc2VfYWRkcmVzcywgcm1yci0+ZW5kX2FkZHJlc3Ms
IHJldCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoICFyZXQgKQorICAgICAg
ICByZXQgPSByZWFzc2lnbl9kZXZpY2Vfb3duZXJzaGlwKHMsIGQsIGRldmZu
LCBwZGV2KTsKKworICAgIC8qIFNlZSByZWFzc2lnbl9kZXZpY2Vfb3duZXJz
aGlwKCkgZm9yIHRoZSBod2RvbSBhc3BlY3QuICovCisgICAgaWYgKCAhcmV0
IHx8IGlzX2hhcmR3YXJlX2RvbWFpbihkKSApCisgICAgICAgIHJldHVybiBy
ZXQ7CisKKyAgICBmb3JfZWFjaF9ybXJyX2RldmljZSggcm1yciwgYmRmLCBp
ICkKKyAgICB7CisgICAgICAgIGlmICggcm1yci0+c2VnbWVudCA9PSBzZWcg
JiYKKyAgICAgICAgICAgICBQQ0lfQlVTKGJkZikgPT0gYnVzICYmCisgICAg
ICAgICAgICAgUENJX0RFVkZOMihiZGYpID09IGRldmZuICkKKyAgICAgICAg
eworICAgICAgICAgICAgaW50IHJjID0gaW9tbXVfaWRlbnRpdHlfbWFwcGlu
ZyhkLCBwMm1fYWNjZXNzX3gsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJtcnItPmJhc2VfYWRkcmVzcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1yci0+
ZW5kX2FkZHJlc3MsIDApOworCisgICAgICAgICAgICBpZiAoIHJjICYmIHJj
ICE9IC1FTk9FTlQgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IHByaW50ayhYRU5MT0dfRVJSIFZURFBSRUZJWAorICAgICAgICAgICAgICAg
ICAgICAgICAiJXBkOiBjYW5ub3QgdW5tYXAgcmVzZXJ2ZWQgcmVnaW9uIFsl
IlBSSXg2NCIsJSJQUkl4NjQiXTogJWRcbiIsCisgICAgICAgICAgICAgICAg
ICAgICAgIGQsIHJtcnItPmJhc2VfYWRkcmVzcywgcm1yci0+ZW5kX2FkZHJl
c3MsIHJjKTsKKyAgICAgICAgICAgICAgICBkb21haW5fY3Jhc2goZCk7CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0K

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBmaXggYWRkL3JlbW92ZSBvcmRlcmluZyB3aGVuIFJNUlJzIGFy
ZSBpbiB1c2UKCkluIHRoZSBldmVudCB0aGF0IHRoZSBSTVJSIG1hcHBpbmdz
IGFyZSBlc3NlbnRpYWwgZm9yIGRldmljZSBvcGVyYXRpb24sCnRoZXkgc2hv
dWxkIGJlIGVzdGFibGlzaGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgZGV2aWNl
J3MgY29udGV4dCBlbnRyeSwKd2hpbGUgdGhleSBzaG91bGQgYmUgdG9ybiBk
b3duIG9ubHkgYWZ0ZXIgdGhlIGRldmljZSdzIGNvbnRleHQgZW50cnkgd2Fz
CnN1Y2Nlc3NmdWxseSBjbGVhcmVkLgoKQWxzbyBzd2l0Y2ggdG8gJXBkIGlu
IHJlbGF0ZWQgbG9nIG1lc3NhZ2VzLgoKRml4ZXM6IGZhODhjZmFkZjkxOCAo
InZ0LWQ6IE1hcCBSTVJSIGluIGludGVsX2lvbW11X2FkZF9kZXZpY2UoKSBp
ZiB0aGUgZGV2aWNlIGhhcyBSTVJSIikKRml4ZXM6IDhiOTlmNDQwMGI2OSAo
IlZULWQ6IGZpeCBSTVJSIHJlbGF0ZWQgZXJyb3IgaGFuZGxpbmciKQpTaWdu
ZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJl
dmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4
LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50
ZWwuY29tPgotLS0Kdjc6IFJlLWJhc2UuCnYyOiBOZXcuCgotLS0gYS94ZW4v
ZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYworKysgYi94ZW4vZHJp
dmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpAQCAtMTk5MiwxNCArMTk5
Miw2IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgaW50ZWxfaW9tbXVfYWRkX2Rl
dmkKICAgICBpZiAoICFwZGV2LT5kb21haW4gKQogICAgICAgICByZXR1cm4g
LUVJTlZBTDsKIAotICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmco
cGRldi0+ZG9tYWluLCBkZXZmbiwgcGRldik7Ci0gICAgaWYgKCByZXQgKQot
ICAgIHsKLSAgICAgICAgZHByaW50ayhYRU5MT0dfRVJSIFZURFBSRUZJWCwg
ImQlZDogY29udGV4dCBtYXBwaW5nIGZhaWxlZFxuIiwKLSAgICAgICAgICAg
ICAgICBwZGV2LT5kb21haW4tPmRvbWFpbl9pZCk7Ci0gICAgICAgIHJldHVy
biByZXQ7Ci0gICAgfQotCiAgICAgZm9yX2VhY2hfcm1ycl9kZXZpY2UgKCBy
bXJyLCBiZGYsIGkgKQogICAgIHsKICAgICAgICAgaWYgKCBybXJyLT5zZWdt
ZW50ID09IHBkZXYtPnNlZyAmJgpAQCAtMjAxNiwxMiArMjAwOCwxNyBAQCBz
dGF0aWMgaW50IGNmX2NoZWNrIGludGVsX2lvbW11X2FkZF9kZXZpCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJtcnItPmJh
c2VfYWRkcmVzcywgcm1yci0+ZW5kX2FkZHJlc3MsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApOwogICAgICAgICAgICAg
aWYgKCByZXQgKQotICAgICAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0VS
UiBWVERQUkVGSVgsICJkJWQ6IFJNUlIgbWFwcGluZyBmYWlsZWRcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBwZGV2LT5kb21haW4tPmRvbWFpbl9p
ZCk7CisgICAgICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfRVJSIFZURFBS
RUZJWCwgIiVwZDogUk1SUiBtYXBwaW5nIGZhaWxlZFxuIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHBkZXYtPmRvbWFpbik7CiAgICAgICAgIH0KICAg
ICB9CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXQgPSBkb21haW5fY29udGV4
dF9tYXBwaW5nKHBkZXYtPmRvbWFpbiwgZGV2Zm4sIHBkZXYpOworICAgIGlm
ICggcmV0ICkKKyAgICAgICAgZHByaW50ayhYRU5MT0dfRVJSIFZURFBSRUZJ
WCwgIiVwZDogY29udGV4dCBtYXBwaW5nIGZhaWxlZFxuIiwKKyAgICAgICAg
ICAgICAgICBwZGV2LT5kb21haW4pOworCisgICAgcmV0dXJuIHJldDsKIH0K
IAogc3RhdGljIGludCBjZl9jaGVjayBpbnRlbF9pb21tdV9lbmFibGVfZGV2
aWNlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQpAQCAtMjA0MywxMSArMjA0MCwx
NSBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIGludGVsX2lvbW11X3JlbW92ZV9k
CiB7CiAgICAgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJyOwogICAgIHUx
NiBiZGY7Ci0gICAgaW50IGk7CisgICAgaW50IHJldCwgaTsKIAogICAgIGlm
ICggIXBkZXYtPmRvbWFpbiApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwog
CisgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXAocGRldi0+ZG9tYWlu
LCBkZXZmbiwgcGRldik7CisgICAgaWYgKCByZXQgKQorICAgICAgICByZXR1
cm4gcmV0OworCiAgICAgZm9yX2VhY2hfcm1ycl9kZXZpY2UgKCBybXJyLCBi
ZGYsIGkgKQogICAgIHsKICAgICAgICAgaWYgKCBybXJyLT5zZWdtZW50ICE9
IHBkZXYtPnNlZyB8fApAQCAtMjA2Myw3ICsyMDY0LDcgQEAgc3RhdGljIGlu
dCBjZl9jaGVjayBpbnRlbF9pb21tdV9yZW1vdmVfZAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJtcnItPmVuZF9hZGRyZXNzLCAwKTsKICAg
ICB9CiAKLSAgICByZXR1cm4gZG9tYWluX2NvbnRleHRfdW5tYXAocGRldi0+
ZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAgcmV0dXJuIDA7CiB9CiAKIHN0
YXRpYyBpbnQgX19od2RvbV9pbml0IGNmX2NoZWNrIHNldHVwX2h3ZG9tX2Rl
dmljZSgK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IHRpZ2h0ZW4gaW9tbXVfYWxsb2NfcGd0YWJsZSgpJ3Mg
cGFyYW1ldGVyCgpUaGlzIGlzIHRvIG1ha2UgbW9yZSBvYnZpb3VzIHRoYXQg
bm90aGluZyBvdXRzaWRlIG9mIGRvbWFpbl9pb21tdShkKQphY3R1YWxseSBj
aGFuZ2VzIG9yIGlzIG90aGVyd2lzZSBuZWVkZWQgYnkgdGhlIGZ1bmN0aW9u
LgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQuCgpTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJldmlld2Vk
LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpSZXZp
ZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+Ci0t
LQp2MzogUmUtYmFzZS4KdjI6IE5ldy4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9p
bmNsdWRlL2FzbS9pb21tdS5oCisrKyBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRl
L2FzbS9pb21tdS5oCkBAIC0xNDIsNyArMTQyLDggQEAgc3RhdGljIGlubGlu
ZSB2b2lkIGlvbW11X3N5bmNfY2FjaGUoY29ucwogfQogCiBpbnQgX19tdXN0
X2NoZWNrIGlvbW11X2ZyZWVfcGd0YWJsZXMoc3RydWN0IGRvbWFpbiAqZCk7
Ci1zdHJ1Y3QgcGFnZV9pbmZvICpfX211c3RfY2hlY2sgaW9tbXVfYWxsb2Nf
cGd0YWJsZShzdHJ1Y3QgZG9tYWluICpkKTsKK3N0cnVjdCBkb21haW5faW9t
bXU7CitzdHJ1Y3QgcGFnZV9pbmZvICpfX211c3RfY2hlY2sgaW9tbXVfYWxs
b2NfcGd0YWJsZShzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCk7CiAKICNlbmRp
ZiAvKiAhX19BUkNIX1g4Nl9JT01NVV9IX18gKi8KIC8qCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYworKysgYi94ZW4v
ZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMKQEAgLTE4NCw3
ICsxODQsNyBAQCBzdGF0aWMgaW50IGlvbW11X3BkZV9mcm9tX2RmbihzdHJ1
Y3QgZG9tCiAgICAgdW5zaWduZWQgbG9uZyAgbmV4dF90YWJsZV9tZm47CiAg
ICAgdW5zaWduZWQgaW50IGxldmVsOwogICAgIHN0cnVjdCBwYWdlX2luZm8g
KnRhYmxlOwotICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0g
ZG9tX2lvbW11KGQpOworICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0g
ZG9tX2lvbW11KGQpOwogCiAgICAgdGFibGUgPSBoZC0+YXJjaC5hbWQucm9v
dF90YWJsZTsKICAgICBsZXZlbCA9IGhkLT5hcmNoLmFtZC5wYWdpbmdfbW9k
ZTsKQEAgLTIxOSw3ICsyMTksNyBAQCBzdGF0aWMgaW50IGlvbW11X3BkZV9m
cm9tX2RmbihzdHJ1Y3QgZG9tCiAgICAgICAgICAgICBtZm4gPSBuZXh0X3Rh
YmxlX21mbjsKIAogICAgICAgICAgICAgLyogYWxsb2NhdGUgbG93ZXIgbGV2
ZWwgcGFnZSB0YWJsZSAqLwotICAgICAgICAgICAgdGFibGUgPSBpb21tdV9h
bGxvY19wZ3RhYmxlKGQpOworICAgICAgICAgICAgdGFibGUgPSBpb21tdV9h
bGxvY19wZ3RhYmxlKGhkKTsKICAgICAgICAgICAgIGlmICggdGFibGUgPT0g
TlVMTCApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgQU1EX0lP
TU1VX0VSUk9SKCJjYW5ub3QgYWxsb2NhdGUgSS9PIHBhZ2UgdGFibGVcbiIp
OwpAQCAtMjQ5LDcgKzI0OSw3IEBAIHN0YXRpYyBpbnQgaW9tbXVfcGRlX2Zy
b21fZGZuKHN0cnVjdCBkb20KIAogICAgICAgICAgICAgaWYgKCBuZXh0X3Rh
YmxlX21mbiA9PSAwICkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICB0YWJsZSA9IGlvbW11X2FsbG9jX3BndGFibGUoZCk7CisgICAgICAgICAg
ICAgICAgdGFibGUgPSBpb21tdV9hbGxvY19wZ3RhYmxlKGhkKTsKICAgICAg
ICAgICAgICAgICBpZiAoIHRhYmxlID09IE5VTEwgKQogICAgICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICAgICAgQU1EX0lPTU1VX0VSUk9SKCJj
YW5ub3QgYWxsb2NhdGUgSS9PIHBhZ2UgdGFibGVcbiIpOwpAQCAtNTU1LDcg
KzU1NSw3IEBAIGludCBfX2luaXQgY2ZfY2hlY2sgYW1kX2lvbW11X3F1YXJh
bnRpbmUKIAogICAgIHNwaW5fbG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2Nr
KTsKIAotICAgIGhkLT5hcmNoLmFtZC5yb290X3RhYmxlID0gaW9tbXVfYWxs
b2NfcGd0YWJsZShkKTsKKyAgICBoZC0+YXJjaC5hbWQucm9vdF90YWJsZSA9
IGlvbW11X2FsbG9jX3BndGFibGUoaGQpOwogICAgIGlmICggIWhkLT5hcmNo
LmFtZC5yb290X3RhYmxlICkKICAgICAgICAgZ290byBvdXQ7CiAKQEAgLTU3
MCw3ICs1NzAsNyBAQCBpbnQgX19pbml0IGNmX2NoZWNrIGFtZF9pb21tdV9x
dWFyYW50aW5lCiAgICAgICAgICAqIHBhZ2UgdGFibGUgcGFnZXMsIGFuZCB0
aGUgcmVzdWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdheXMKICAgICAgICAg
ICogemVyb2VkLgogICAgICAgICAgKi8KLSAgICAgICAgcGcgPSBpb21tdV9h
bGxvY19wZ3RhYmxlKGQpOworICAgICAgICBwZyA9IGlvbW11X2FsbG9jX3Bn
dGFibGUoaGQpOwogICAgICAgICBpZiAoICFwZyApCiAgICAgICAgICAgICBi
cmVhazsKIAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNp
X2FtZF9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9wY2lfYW1kX2lvbW11LmMKQEAgLTI0Miw3ICsyNDIsNyBAQCBpbnQgYW1k
X2lvbW11X2FsbG9jX3Jvb3Qoc3RydWN0IGRvbWFpbiAqCiAKICAgICBpZiAo
IHVubGlrZWx5KCFoZC0+YXJjaC5hbWQucm9vdF90YWJsZSkgKQogICAgIHsK
LSAgICAgICAgaGQtPmFyY2guYW1kLnJvb3RfdGFibGUgPSBpb21tdV9hbGxv
Y19wZ3RhYmxlKGQpOworICAgICAgICBoZC0+YXJjaC5hbWQucm9vdF90YWJs
ZSA9IGlvbW11X2FsbG9jX3BndGFibGUoaGQpOwogICAgICAgICBpZiAoICFo
ZC0+YXJjaC5hbWQucm9vdF90YWJsZSApCiAgICAgICAgICAgICByZXR1cm4g
LUVOT01FTTsKICAgICB9Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0
ZC9pb21tdS5jCkBAIC0zMTgsNyArMzE4LDcgQEAgc3RhdGljIHU2NCBhZGRy
X3RvX2RtYV9wYWdlX21hZGRyKHN0cnVjdAogICAgIHsKICAgICAgICAgc3Ry
dWN0IHBhZ2VfaW5mbyAqcGc7CiAKLSAgICAgICAgaWYgKCAhYWxsb2MgfHwg
IShwZyA9IGlvbW11X2FsbG9jX3BndGFibGUoZG9tYWluKSkgKQorICAgICAg
ICBpZiAoICFhbGxvYyB8fCAhKHBnID0gaW9tbXVfYWxsb2NfcGd0YWJsZSho
ZCkpICkKICAgICAgICAgICAgIGdvdG8gb3V0OwogCiAgICAgICAgIGhkLT5h
cmNoLnZ0ZC5wZ2RfbWFkZHIgPSBwYWdlX3RvX21hZGRyKHBnKTsKQEAgLTMz
OCw3ICszMzgsNyBAQCBzdGF0aWMgdTY0IGFkZHJfdG9fZG1hX3BhZ2VfbWFk
ZHIoc3RydWN0CiAgICAgICAgICAgICBpZiAoICFhbGxvYyApCiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgICAgIHBnID0gaW9tbXVfYWxs
b2NfcGd0YWJsZShkb21haW4pOworICAgICAgICAgICAgcGcgPSBpb21tdV9h
bGxvY19wZ3RhYmxlKGhkKTsKICAgICAgICAgICAgIGlmICggIXBnICkKICAg
ICAgICAgICAgICAgICBicmVhazsKIApAQCAtMjc2Myw3ICsyNzYzLDcgQEAg
c3RhdGljIGludCBfX2luaXQgY2ZfY2hlY2sgaW50ZWxfaW9tbXVfcQogICAg
ICAgICBnb3RvIG91dDsKICAgICB9CiAKLSAgICBwZyA9IGlvbW11X2FsbG9j
X3BndGFibGUoZCk7CisgICAgcGcgPSBpb21tdV9hbGxvY19wZ3RhYmxlKGhk
KTsKIAogICAgIHJjID0gLUVOT01FTTsKICAgICBpZiAoICFwZyApCkBAIC0y
NzgyLDcgKzI3ODIsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBjZl9jaGVjayBp
bnRlbF9pb21tdV9xCiAgICAgICAgICAqIHBhZ2UgdGFibGUgcGFnZXMsIGFu
ZCB0aGUgcmVzdWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdheXMKICAgICAg
ICAgICogemVyb2VkLgogICAgICAgICAgKi8KLSAgICAgICAgcGcgPSBpb21t
dV9hbGxvY19wZ3RhYmxlKGQpOworICAgICAgICBwZyA9IGlvbW11X2FsbG9j
X3BndGFibGUoaGQpOwogCiAgICAgICAgIGlmICggIXBnICkKICAgICAgICAg
ICAgIGdvdG8gb3V0OwotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94
ODYvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYv
aW9tbXUuYwpAQCAtNDIwLDkgKzQyMCw4IEBAIGludCBpb21tdV9mcmVlX3Bn
dGFibGVzKHN0cnVjdCBkb21haW4gKmQKICAgICByZXR1cm4gMDsKIH0KIAot
c3RydWN0IHBhZ2VfaW5mbyAqaW9tbXVfYWxsb2NfcGd0YWJsZShzdHJ1Y3Qg
ZG9tYWluICpkKQorc3RydWN0IHBhZ2VfaW5mbyAqaW9tbXVfYWxsb2NfcGd0
YWJsZShzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCkKIHsKLSAgICBzdHJ1Y3Qg
ZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKICAgICB1bnNpZ25l
ZCBpbnQgbWVtZmxhZ3MgPSAwOwogICAgIHN0cnVjdCBwYWdlX2luZm8gKnBn
OwogICAgIHZvaWQgKnA7Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBzcGxpdCBkb21pZCBtYXAgY2xlYW51cCBjaGVjayBpbnRvIGEg
ZnVuY3Rpb24KClRoaXMgbG9naWMgd2lsbCB3YW50IGludm9raW5nIGZyb20g
ZWxzZXdoZXJlLgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQuCgpT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5A
aW50ZWwuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKQEAgLTE1Miw2ICsxNTIsNjggQEAgc3RhdGljIHZvaWQgX19pbml0
IGZyZWVfaW50ZWxfaW9tbXUoc3RydQogICAgIHhmcmVlKGludGVsKTsKIH0K
IAorc3RhdGljIHZvaWQgY2xlYW51cF9kb21pZF9tYXAoc3RydWN0IGRvbWFp
biAqZG9tYWluLCBzdHJ1Y3QgaW9tbXUgKmlvbW11KQoreworICAgIGludCBp
b21tdV9kb21pZCA9IGRvbWFpbl9pb21tdV9kb21pZChkb21haW4sIGlvbW11
KTsKKworICAgIGlmICggaW9tbXVfZG9taWQgPj0gMCApCisgICAgeworICAg
ICAgICAvKgorICAgICAgICAgKiBVcGRhdGUgZG9taWRfbWFwW10gL2JlZm9y
ZS8gZG9taWRfYml0bWFwW10gdG8gYXZvaWQgYSByYWNlIHdpdGgKKyAgICAg
ICAgICogY29udGV4dF9zZXRfZG9tYWluX2lkKCksIHNldHRpbmcgdGhlIHNs
b3QgdG8gRE9NSURfSU5WQUxJRCBmb3IKKyAgICAgICAgICogLT5kb21pZF9t
YXBbXSByZWFkcyB0byBwcm9kdWNlIGEgc3VpdGFibGUgdmFsdWUgd2hpbGUg
dGhlIGJpdCBpcworICAgICAgICAgKiBzdGlsbCBzZXQuCisgICAgICAgICAq
LworICAgICAgICBpb21tdS0+ZG9taWRfbWFwW2lvbW11X2RvbWlkXSA9IERP
TUlEX0lOVkFMSUQ7CisgICAgICAgIGNsZWFyX2JpdChpb21tdV9kb21pZCwg
aW9tbXUtPmRvbWlkX2JpdG1hcCk7CisgICAgfQorfQorCitzdGF0aWMgYm9v
bCBhbnlfcGRldl9iZWhpbmRfaW9tbXUoY29uc3Qgc3RydWN0IGRvbWFpbiAq
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgcGNpX2RldiAqZXhjbHVkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgaW9tbXUgKmlvbW11KQorewor
ICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2OworCisgICAgZm9yX2Vh
Y2hfcGRldiAoIGQsIHBkZXYgKQorICAgIHsKKyAgICAgICAgY29uc3Qgc3Ry
dWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOworCisgICAgICAgIGlmICggcGRl
diA9PSBleGNsdWRlICkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg
ICAgIGRyaGQgPSBhY3BpX2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7
CisgICAgICAgIGlmICggZHJoZCAmJiBkcmhkLT5pb21tdSA9PSBpb21tdSAp
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKKy8qCisgKiBJZiBubyBvdGhlciBkZXZpY2VzIHVu
ZGVyIHRoZSBzYW1lIGlvbW11IG93bmVkIGJ5IHRoaXMgZG9tYWluLAorICog
Y2xlYXIgaW9tbXUgaW4gaW9tbXVfYml0bWFwIGFuZCBjbGVhciBkb21haW5f
aWQgaW4gZG9taWRfYml0bWFwLgorICovCitzdGF0aWMgdm9pZCBjaGVja19j
bGVhbnVwX2RvbWlkX21hcChzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHBjaV9k
ZXYgKmV4Y2x1ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzdHJ1Y3QgaW9tbXUgKmlvbW11KQoreworICAgIGJvb2wgZm91bmQg
PSBhbnlfcGRldl9iZWhpbmRfaW9tbXUoZCwgZXhjbHVkZSwgaW9tbXUpOwor
CisgICAgLyoKKyAgICAgKiBIaWRkZW4gZGV2aWNlcyBhcmUgYXNzb2NpYXRl
ZCB3aXRoIERvbVhFTiBidXQgdXNhYmxlIGJ5IHRoZSBoYXJkd2FyZQorICAg
ICAqIGRvbWFpbi4gSGVuY2UgdGhleSBuZWVkIGNvbnNpZGVyaW5nIGhlcmUg
YXMgd2VsbC4KKyAgICAgKi8KKyAgICBpZiAoICFmb3VuZCAmJiBpc19oYXJk
d2FyZV9kb21haW4oZCkgKQorICAgICAgICBmb3VuZCA9IGFueV9wZGV2X2Jl
aGluZF9pb21tdShkb21feGVuLCBleGNsdWRlLCBpb21tdSk7CisKKyAgICBp
ZiAoICFmb3VuZCApCisgICAgeworICAgICAgICBjbGVhcl9iaXQoaW9tbXUt
PmluZGV4LCAmZG9tX2lvbW11KGQpLT5hcmNoLmlvbW11X2JpdG1hcCk7Cisg
ICAgICAgIGNsZWFudXBfZG9taWRfbWFwKGQsIGlvbW11KTsKKyAgICB9Cit9
CisKIHN0YXRpYyBpbnQgaW9tbXVzX2luY29oZXJlbnQ7CiAKIHN0YXRpYyB2
b2lkIHN5bmNfY2FjaGUoY29uc3Qgdm9pZCAqYWRkciwgdW5zaWduZWQgaW50
IHNpemUpCkBAIC0xNjcxLDcgKzE3MzMsNiBAQCBzdGF0aWMgaW50IGRvbWFp
bl9jb250ZXh0X3VubWFwKHN0cnVjdCBkCiAgICAgc3RydWN0IGlvbW11ICpp
b21tdTsKICAgICBpbnQgcmV0ID0gMDsKICAgICB1OCBzZWcgPSBwZGV2LT5z
ZWcsIGJ1cyA9IHBkZXYtPmJ1cywgdG1wX2J1cywgdG1wX2RldmZuLCBzZWNi
dXM7Ci0gICAgaW50IGZvdW5kID0gMDsKIAogICAgIGRyaGQgPSBhY3BpX2Zp
bmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7CiAgICAgaWYgKCAhZHJoZCAp
CkBAIC0xNzQwLDQ1ICsxODAxLDggQEAgc3RhdGljIGludCBkb21haW5fY29u
dGV4dF91bm1hcChzdHJ1Y3QgZAogICAgICAgICBnb3RvIG91dDsKICAgICB9
CiAKLSAgICAvKgotICAgICAqIGlmIG5vIG90aGVyIGRldmljZXMgdW5kZXIg
dGhlIHNhbWUgaW9tbXUgb3duZWQgYnkgdGhpcyBkb21haW4sCi0gICAgICog
Y2xlYXIgaW9tbXUgaW4gaW9tbXVfYml0bWFwIGFuZCBjbGVhciBkb21haW5f
aWQgaW4gZG9taWRfYml0bXAKLSAgICAgKi8KLSAgICBmb3JfZWFjaF9wZGV2
ICggZG9tYWluLCBwZGV2ICkKLSAgICB7Ci0gICAgICAgIGlmICggcGRldi0+
c2VnID09IHNlZyAmJiBwZGV2LT5idXMgPT0gYnVzICYmIHBkZXYtPmRldmZu
ID09IGRldmZuICkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAg
IGRyaGQgPSBhY3BpX2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7Ci0g
ICAgICAgIGlmICggZHJoZCAmJiBkcmhkLT5pb21tdSA9PSBpb21tdSApCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIGZvdW5kID0gMTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKCBmb3VuZCA9
PSAwICkKLSAgICB7Ci0gICAgICAgIGludCBpb21tdV9kb21pZDsKLQotICAg
ICAgICBjbGVhcl9iaXQoaW9tbXUtPmluZGV4LCAmZG9tX2lvbW11KGRvbWFp
biktPmFyY2guaW9tbXVfYml0bWFwKTsKLQotICAgICAgICBpb21tdV9kb21p
ZCA9IGRvbWFpbl9pb21tdV9kb21pZChkb21haW4sIGlvbW11KTsKLSAgICAg
ICAgaWYgKCBpb21tdV9kb21pZCA9PSAtMSApCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHJldCA9IC1FSU5WQUw7Ci0gICAgICAgICAgICBnb3RvIG91dDsK
LSAgICAgICAgfQotCi0gICAgICAgIC8qCi0gICAgICAgICAqIFVwZGF0ZSBk
b21pZF9tYXBbXSAvYmVmb3JlLyBkb21pZF9iaXRtYXBbXSB0byBhdm9pZCBh
IHJhY2Ugd2l0aAotICAgICAgICAgKiBjb250ZXh0X3NldF9kb21haW5faWQo
KSwgc2V0dGluZyB0aGUgc2xvdCB0byBET01JRF9JTlZBTElEIGZvcgotICAg
ICAgICAgKiAtPmRvbWlkX21hcFtdIHJlYWRzIHRvIHByb2R1Y2UgYSBzdWl0
YWJsZSB2YWx1ZSB3aGlsZSB0aGUgYml0IGlzCi0gICAgICAgICAqIHN0aWxs
IHNldC4KLSAgICAgICAgICovCi0gICAgICAgIGlvbW11LT5kb21pZF9tYXBb
aW9tbXVfZG9taWRdID0gRE9NSURfSU5WQUxJRDsKLSAgICAgICAgY2xlYXJf
Yml0KGlvbW11X2RvbWlkLCBpb21tdS0+ZG9taWRfYml0bWFwKTsKLSAgICB9
CisgICAgaWYgKCAhcmV0ICkKKyAgICAgICAgY2hlY2tfY2xlYW51cF9kb21p
ZF9tYXAoZG9tYWluLCBwZGV2LCBpb21tdSk7CiAKIG91dDoKICAgICByZXR1
cm4gcmV0Owo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBmaXggKGRlKWFzc2lnbiBvcmRlcmluZyB3aGVuIFJNUlJzIGFy
ZSBpbiB1c2UKCkluIHRoZSBldmVudCB0aGF0IHRoZSBSTVJSIG1hcHBpbmdz
IGFyZSBlc3NlbnRpYWwgZm9yIGRldmljZSBvcGVyYXRpb24sCnRoZXkgc2hv
dWxkIGJlIGVzdGFibGlzaGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgZGV2aWNl
J3MgY29udGV4dCBlbnRyeSwKd2hpbGUgdGhleSBzaG91bGQgYmUgdG9ybiBk
b3duIG9ubHkgYWZ0ZXIgdGhlIGRldmljZSdzIGNvbnRleHQgZW50cnkgd2Fz
CnN1Y2Nlc3NmdWxseSB1cGRhdGVkLgoKQWxzbyBhZGp1c3QgYSByZWxhdGVk
IGxvZyBtZXNzYWdlLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM1OCAvIHBhcnQg
b2YgWFNBLTQwMC4KCkZpeGVzOiA4Yjk5ZjQ0MDBiNjkgKCJWVC1kOiBmaXgg
Uk1SUiByZWxhdGVkIGVycm9yIGhhbmRsaW5nIikKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+ClJldmll
d2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KUmV2aWV3ZWQt
Ynk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgoKLS0tIGEv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTIzNTIsNiAr
MjM1MiwxMCBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2RldmljZV9vd25lcnNo
aXAoCiB7CiAgICAgaW50IHJldDsKIAorICAgIHJldCA9IGRvbWFpbl9jb250
ZXh0X3VubWFwKHNvdXJjZSwgZGV2Zm4sIHBkZXYpOworICAgIGlmICggcmV0
ICkKKyAgICAgICAgcmV0dXJuIHJldDsKKwogICAgIC8qCiAgICAgICogRGV2
aWNlcyBhc3NpZ25lZCB0byB1bnRydXN0ZWQgZG9tYWlucyAoaGVyZSBhc3N1
bWVkIHRvIGJlIGFueSBkb21VKQogICAgICAqIGNhbiBhdHRlbXB0IHRvIHNl
bmQgYXJiaXRyYXJ5IExBUElDL01TSSBtZXNzYWdlcy4gV2UgYXJlIHVucHJv
dGVjdGVkCkBAIC0yMzg4LDEwICsyMzkyLDYgQEAgc3RhdGljIGludCByZWFz
c2lnbl9kZXZpY2Vfb3duZXJzaGlwKAogICAgICAgICAgICAgfQogICAgIH0K
IAotICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwKHNvdXJjZSwgZGV2
Zm4sIHBkZXYpOwotICAgIGlmICggcmV0ICkKLSAgICAgICAgcmV0dXJuIHJl
dDsKLQogICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+
ZG9tYWluICE9IGRvbV9pbyApCiAgICAgewogICAgICAgICBsaXN0X21vdmUo
JnBkZXYtPmRvbWFpbl9saXN0LCAmZG9tX2lvLT5hcmNoLnBkZXZfbGlzdCk7
CkBAIC0yNDY4LDkgKzI0NjgsOCBAQCBzdGF0aWMgaW50IGludGVsX2lvbW11
X2Fzc2lnbl9kZXZpY2UoCiAgICAgICAgIH0KICAgICB9CiAKLSAgICByZXQg
PSByZWFzc2lnbl9kZXZpY2Vfb3duZXJzaGlwKHMsIGQsIGRldmZuLCBwZGV2
KTsKLSAgICBpZiAoIHJldCB8fCBkID09IGRvbV9pbyApCi0gICAgICAgIHJl
dHVybiByZXQ7CisgICAgaWYgKCBkID09IGRvbV9pbyApCisgICAgICAgIHJl
dHVybiByZWFzc2lnbl9kZXZpY2Vfb3duZXJzaGlwKHMsIGQsIGRldmZuLCBw
ZGV2KTsKIAogICAgIC8qIFNldHVwIHJtcnIgaWRlbnRpdHkgbWFwcGluZyAq
LwogICAgIGZvcl9lYWNoX3JtcnJfZGV2aWNlKCBybXJyLCBiZGYsIGkgKQpA
QCAtMjQ4MywyMCArMjQ4MiwzNyBAQCBzdGF0aWMgaW50IGludGVsX2lvbW11
X2Fzc2lnbl9kZXZpY2UoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJtcnItPmVuZF9hZGRyZXNzLCBmbGFnKTsKICAgICAg
ICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBpbnQgcmM7Ci0KLSAgICAgICAgICAgICAgICByYyA9IHJlYXNzaWdu
X2RldmljZV9vd25lcnNoaXAoZCwgcywgZGV2Zm4sIHBkZXYpOwogICAgICAg
ICAgICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIgVlREUFJFRklYCi0gICAg
ICAgICAgICAgICAgICAgICAgICIgY2Fubm90IG1hcCByZXNlcnZlZCByZWdp
b24gKCUiUFJJeDY0IiwlIlBSSXg2NCJdIGZvciBEb20lZCAoJWQpXG4iLAot
ICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5iYXNlX2FkZHJlc3MsIHJt
cnItPmVuZF9hZGRyZXNzLAotICAgICAgICAgICAgICAgICAgICAgICBkLT5k
b21haW5faWQsIHJldCk7Ci0gICAgICAgICAgICAgICAgaWYgKCByYyApCi0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBwcmludGso
WEVOTE9HX0VSUiBWVERQUkVGSVgKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICIgZmFpbGVkIHRvIHJlY2xhaW0gJTA0eDolMDJ4OiUwMnguJXUgZnJv
bSAlcGQgKCVkKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
ZywgYnVzLCBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSwgZCwg
cmMpOwotICAgICAgICAgICAgICAgICAgICBkb21haW5fY3Jhc2goZCk7Ci0g
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAiJXBk
OiBjYW5ub3QgbWFwIHJlc2VydmVkIHJlZ2lvbiBbJSJQUkl4NjQiLCUiUFJJ
eDY0Il06ICVkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICBkLCBybXJy
LT5iYXNlX2FkZHJlc3MsIHJtcnItPmVuZF9hZGRyZXNzLCByZXQpOworICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQorCisgICAgaWYgKCAhcmV0ICkKKyAgICAgICAgcmV0ID0gcmVh
c3NpZ25fZGV2aWNlX293bmVyc2hpcChzLCBkLCBkZXZmbiwgcGRldik7CisK
KyAgICAvKiBTZWUgcmVhc3NpZ25fZGV2aWNlX293bmVyc2hpcCgpIGZvciB0
aGUgaHdkb20gYXNwZWN0LiAqLworICAgIGlmICggIXJldCB8fCBpc19oYXJk
d2FyZV9kb21haW4oZCkgKQorICAgICAgICByZXR1cm4gcmV0OworCisgICAg
Zm9yX2VhY2hfcm1ycl9kZXZpY2UoIHJtcnIsIGJkZiwgaSApCisgICAgewor
ICAgICAgICBpZiAoIHJtcnItPnNlZ21lbnQgPT0gc2VnICYmCisgICAgICAg
ICAgICAgUENJX0JVUyhiZGYpID09IGJ1cyAmJgorICAgICAgICAgICAgIFBD
SV9ERVZGTjIoYmRmKSA9PSBkZXZmbiApCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGludCByYyA9IGlvbW11X2lkZW50aXR5X21hcHBpbmcoZCwgcDJtX2Fj
Y2Vzc194LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBybXJyLT5iYXNlX2FkZHJlc3MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJtcnItPmVuZF9hZGRyZXNz
LCAwKTsKKworICAgICAgICAgICAgaWYgKCByYyAmJiByYyAhPSAtRU5PRU5U
ICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwcmludGsoWEVO
TE9HX0VSUiBWVERQUkVGSVgKKyAgICAgICAgICAgICAgICAgICAgICAgIiVw
ZDogY2Fubm90IHVubWFwIHJlc2VydmVkIHJlZ2lvbiBbJSJQUkl4NjQiLCUi
UFJJeDY0Il06ICVkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICBkLCBy
bXJyLT5iYXNlX2FkZHJlc3MsIHJtcnItPmVuZF9hZGRyZXNzLCByYyk7Cisg
ICAgICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwogICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBmaXggYWRkL3JlbW92ZSBvcmRlcmluZyB3aGVuIFJNUlJzIGFy
ZSBpbiB1c2UKCkluIHRoZSBldmVudCB0aGF0IHRoZSBSTVJSIG1hcHBpbmdz
IGFyZSBlc3NlbnRpYWwgZm9yIGRldmljZSBvcGVyYXRpb24sCnRoZXkgc2hv
dWxkIGJlIGVzdGFibGlzaGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgZGV2aWNl
J3MgY29udGV4dCBlbnRyeSwKd2hpbGUgdGhleSBzaG91bGQgYmUgdG9ybiBk
b3duIG9ubHkgYWZ0ZXIgdGhlIGRldmljZSdzIGNvbnRleHQgZW50cnkgd2Fz
CnN1Y2Nlc3NmdWxseSBjbGVhcmVkLgoKQWxzbyBzd2l0Y2ggdG8gJXBkIGlu
IHJlbGF0ZWQgbG9nIG1lc3NhZ2VzLgoKRml4ZXM6IGZhODhjZmFkZjkxOCAo
InZ0LWQ6IE1hcCBSTVJSIGluIGludGVsX2lvbW11X2FkZF9kZXZpY2UoKSBp
ZiB0aGUgZGV2aWNlIGhhcyBSTVJSIikKRml4ZXM6IDhiOTlmNDQwMGI2OSAo
IlZULWQ6IGZpeCBSTVJSIHJlbGF0ZWQgZXJyb3IgaGFuZGxpbmciKQpTaWdu
ZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJl
dmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4
LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50
ZWwuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmMKQEAgLTE5ODUsMTQgKzE5ODUsNiBAQCBzdGF0aWMgaW50IGludGVsX2lv
bW11X2FkZF9kZXZpY2UodTggZGV2CiAgICAgaWYgKCAhcGRldi0+ZG9tYWlu
ICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKLSAgICByZXQgPSBkb21h
aW5fY29udGV4dF9tYXBwaW5nKHBkZXYtPmRvbWFpbiwgZGV2Zm4sIHBkZXYp
OwotICAgIGlmICggcmV0ICkKLSAgICB7Ci0gICAgICAgIGRwcmludGsoWEVO
TE9HX0VSUiBWVERQUkVGSVgsICJkJWQ6IGNvbnRleHQgbWFwcGluZyBmYWls
ZWRcbiIsCi0gICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluLT5kb21haW5f
aWQpOwotICAgICAgICByZXR1cm4gcmV0OwotICAgIH0KLQogICAgIGZvcl9l
YWNoX3JtcnJfZGV2aWNlICggcm1yciwgYmRmLCBpICkKICAgICB7CiAgICAg
ICAgIGlmICggcm1yci0+c2VnbWVudCA9PSBwZGV2LT5zZWcgJiYKQEAgLTIw
MDksMTIgKzIwMDEsMTcgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hZGRf
ZGV2aWNlKHU4IGRldgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBybXJyLT5iYXNlX2FkZHJlc3MsIHJtcnItPmVuZF9hZGRy
ZXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAwKTsKICAgICAgICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAgICAg
ICBkcHJpbnRrKFhFTkxPR19FUlIgVlREUFJFRklYLCAiZCVkOiBSTVJSIG1h
cHBpbmcgZmFpbGVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgcGRl
di0+ZG9tYWluLT5kb21haW5faWQpOworICAgICAgICAgICAgICAgIGRwcmlu
dGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsICIlcGQ6IFJNUlIgbWFwcGluZyBm
YWlsZWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICBwZGV2LT5kb21h
aW4pOwogICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0dXJuIDA7CisgICAg
cmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZyhwZGV2LT5kb21haW4sIGRl
dmZuLCBwZGV2KTsKKyAgICBpZiAoIHJldCApCisgICAgICAgIGRwcmludGso
WEVOTE9HX0VSUiBWVERQUkVGSVgsICIlcGQ6IGNvbnRleHQgbWFwcGluZyBm
YWlsZWRcbiIsCisgICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluKTsKKwor
ICAgIHJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVf
ZW5hYmxlX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGRldikKQEAgLTIwMzYs
MTEgKzIwMzMsMTUgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVf
ZGV2aWNlKHU4CiB7CiAgICAgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJy
OwogICAgIHUxNiBiZGY7Ci0gICAgaW50IGk7CisgICAgaW50IHJldCwgaTsK
IAogICAgIGlmICggIXBkZXYtPmRvbWFpbiApCiAgICAgICAgIHJldHVybiAt
RUlOVkFMOwogCisgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXAocGRl
di0+ZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAgaWYgKCByZXQgKQorICAg
ICAgICByZXR1cm4gcmV0OworCiAgICAgZm9yX2VhY2hfcm1ycl9kZXZpY2Ug
KCBybXJyLCBiZGYsIGkgKQogICAgIHsKICAgICAgICAgaWYgKCBybXJyLT5z
ZWdtZW50ICE9IHBkZXYtPnNlZyB8fApAQCAtMjA1Niw3ICsyMDU3LDcgQEAg
c3RhdGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVfZGV2aWNlKHU4CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1yci0+ZW5kX2FkZHJlc3Ms
IDApOwogICAgIH0KIAotICAgIHJldHVybiBkb21haW5fY29udGV4dF91bm1h
cChwZGV2LT5kb21haW4sIGRldmZuLCBwZGV2KTsKKyAgICByZXR1cm4gMDsK
IH0KIAogc3RhdGljIGludCBfX2h3ZG9tX2luaXQgc2V0dXBfaHdkb21fZGV2
aWNlKHU4IGRldmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBkcm9wIG93bmVyc2hpcCBjaGVja2luZyBmcm9tIGRvbWFpbl9j
b250ZXh0X21hcHBpbmdfb25lKCkKCkRlc3BpdGUgcHV0dGluZyBpbiBxdWl0
ZSBhIGJpdCBvZiBlZmZvcnQgaXQgd2FzIG5vdCBwb3NzaWJsZSB0bwplc3Rh
Ymxpc2ggd2h5IGV4YWN0bHkgdGhpcyBjb2RlIGV4aXN0cyAoYmV5b25kIHBv
c3NpYmx5IHNhbml0eQpjaGVja2luZykuIEluc3RlYWQgb2YgYSBzdWJzZXF1
ZW50IGNoYW5nZSBmdXJ0aGVyIGNvbXBsaWNhdGluZyB0aGlzCmxvZ2ljLCBz
aW1wbHkgZ2V0IHJpZCBvZiBpdC4KClRha2UgdGhlIG9wcG9ydHVuaXR5IGFu
ZCBtb3ZlIHRoZSByZXNwZWN0aXZlIHVubWFwX3Z0ZF9kb21haW5fcGFnZSgp
IG91dApvZiB0aGUgbG9ja2VkIHJlZ2lvbi4KClNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJv
Z2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpSZXZpZXdl
ZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+ClJldmlld2VkLWJ5
OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KCi0tLSBhL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC0xMTIsMjggKzEx
Miw2IEBAIHN0YXRpYyBpbnQgY29udGV4dF9zZXRfZG9tYWluX2lkKHN0cnVj
dAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNvbnRleHRfZ2V0
X2RvbWFpbl9pZChzdHJ1Y3QgY29udGV4dF9lbnRyeSAqY29udGV4dCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpb21tdSAq
aW9tbXUpCi17Ci0gICAgdW5zaWduZWQgbG9uZyBkb21faW5kZXgsIG5yX2Rv
bTsKLSAgICBpbnQgZG9taWQgPSAtMTsKLQotICAgIGlmIChpb21tdSAmJiBj
b250ZXh0KQotICAgIHsKLSAgICAgICAgbnJfZG9tID0gY2FwX25kb21zKGlv
bW11LT5jYXApOwotCi0gICAgICAgIGRvbV9pbmRleCA9IGNvbnRleHRfZG9t
YWluX2lkKCpjb250ZXh0KTsKLQotICAgICAgICBpZiAoIGRvbV9pbmRleCA8
IG5yX2RvbSAmJiBpb21tdS0+ZG9taWRfbWFwICkKLSAgICAgICAgICAgIGRv
bWlkID0gaW9tbXUtPmRvbWlkX21hcFtkb21faW5kZXhdOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19ERUJVRyBWVERQUkVG
SVgsCi0gICAgICAgICAgICAgICAgICAgICJkb21faW5kZXggJWx1IGV4Y2Vl
ZHMgbnJfZG9tICVsdSBvciBpb21tdSBoYXMgbm8gZG9taWRfbWFwXG4iLAot
ICAgICAgICAgICAgICAgICAgICBkb21faW5kZXgsIG5yX2RvbSk7Ci0gICAg
fQotICAgIHJldHVybiBkb21pZDsKLX0KLQogc3RhdGljIHN0cnVjdCBpbnRl
bF9pb21tdSAqX19pbml0IGFsbG9jX2ludGVsX2lvbW11KHZvaWQpCiB7CiAg
ICAgc3RydWN0IGludGVsX2lvbW11ICppbnRlbDsKQEAgLTE0MzMsNDkgKzE0
MTEsOSBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAKICAg
ICBpZiAoIGNvbnRleHRfcHJlc2VudCgqY29udGV4dCkgKQogICAgIHsKLSAg
ICAgICAgaW50IHJlcyA9IDA7Ci0KLSAgICAgICAgLyogVHJ5IHRvIGdldCBk
b21haW4gb3duZXJzaGlwIGZyb20gZGV2aWNlIHN0cnVjdHVyZS4gIElmIHRo
YXQncwotICAgICAgICAgKiBub3QgYXZhaWxhYmxlLCB0cnkgdG8gcmVhZCBp
dCBmcm9tIHRoZSBjb250ZXh0IGl0c2VsZi4gKi8KLSAgICAgICAgaWYgKCBw
ZGV2ICkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKCBwZGV2LT5kb21h
aW4gIT0gZG9tYWluICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICBwcmludGsoWEVOTE9HX0dfSU5GTyBWVERQUkVGSVgKLSAgICAgICAgICAg
ICAgICAgICAgICAgImQlZDogJTA0eDolMDJ4OiUwMnguJXUgb3duZWQgYnkg
ZCVkISIsCi0gICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWlu
X2lkLAotICAgICAgICAgICAgICAgICAgICAgICBzZWcsIGJ1cywgUENJX1NM
T1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbiksCi0gICAgICAgICAgICAgICAg
ICAgICAgIHBkZXYtPmRvbWFpbiA/IHBkZXYtPmRvbWFpbi0+ZG9tYWluX2lk
IDogLTEpOwotICAgICAgICAgICAgICAgIHJlcyA9IC1FSU5WQUw7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZQotICAgICAgICB7
Ci0gICAgICAgICAgICBpbnQgY2RvbWFpbjsKLSAgICAgICAgICAgIGNkb21h
aW4gPSBjb250ZXh0X2dldF9kb21haW5faWQoY29udGV4dCwgaW9tbXUpOwot
ICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIGNkb21haW4gPCAwICkK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9H
X0dfV0FSTklORyBWVERQUkVGSVgKLSAgICAgICAgICAgICAgICAgICAgICAg
ImQlZDogJTA0eDolMDJ4OiUwMnguJXUgbWFwcGVkLCBidXQgY2FuJ3QgZmlu
ZCBvd25lciFcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+
ZG9tYWluX2lkLAotICAgICAgICAgICAgICAgICAgICAgICBzZWcsIGJ1cywg
UENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbikpOwotICAgICAgICAg
ICAgICAgIHJlcyA9IC1FSU5WQUw7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBlbHNlIGlmICggY2RvbWFpbiAhPSBkb21haW4tPmRvbWFpbl9pZCAp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxP
R19HX0lORk8gVlREUFJFRklYCi0gICAgICAgICAgICAgICAgICAgICAgICJk
JWQ6ICUwNHg6JTAyeDolMDJ4LiV1IGFscmVhZHkgbWFwcGVkIHRvIGQlZCEi
LAotICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgc2VnLCBidXMsIFBDSV9TTE9UKGRl
dmZuKSwgUENJX0ZVTkMoZGV2Zm4pLAotICAgICAgICAgICAgICAgICAgICAg
ICBjZG9tYWluKTsKLSAgICAgICAgICAgICAgICByZXMgPSAtRUlOVkFMOwot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgdW5tYXBfdnRk
X2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7CiAgICAgICAgIHNwaW5f
dW5sb2NrKCZpb21tdS0+bG9jayk7Ci0gICAgICAgIHJldHVybiByZXM7Cisg
ICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShjb250ZXh0X2VudHJpZXMp
OworICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKICAgICBpZiAoIGlvbW11
X2h3ZG9tX3Bhc3N0aHJvdWdoICYmIGlzX2hhcmR3YXJlX2RvbWFpbihkb21h
aW4pICkK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiByZS1hc3NpZ24gZGV2aWNlcyBkaXJlY3RseQoKRGV2aWNlcyB3
aXRoIFJNUlJzLCBkdWUgdG8gaXQgYmVpbmcgdW5zcGVjaWZpZWQgaG93L3do
ZW4gdGhlIHNwZWNpZmllZAptZW1vcnkgcmVnaW9ucyBtYXkgZ2V0IGFjY2Vz
c2VkLCBtYXkgbm90IGJlIGxlZnQgZGlzY29ubmVjdGVkIGZyb20gdGhlaXIK
cmVzcGVjdGl2ZSBtYXBwaW5ncyAoYXMgbG9uZyBhcyBpdCdzIG5vdCBjZXJ0
YWluIHRoYXQgdGhlIGRldmljZSBoYXMKYmVlbiBmdWxseSBxdWllc2NlZCku
IEhlbmNlIHJhdGhlciB0aGFuIHVubWFwcGluZyB0aGUgb2xkIGNvbnRleHQg
YW5kCnRoZW4gbWFwcGluZyB0aGUgbmV3IG9uZSwgcmUtYXNzaWdubWVudCBu
ZWVkcyB0byBiZSBkb25lIGluIGEgc2luZ2xlCnN0ZXAuCgpUaGlzIGlzIENW
RS0yMDIyLTI2MzU5IC8gcGFydCBvZiBYU0EtNDAwLgoKUmVwb3J0ZWQtYnk6
IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKU2lt
aWxhcmx5IHF1YXJhbnRpbmluZyBzY3JhdGNoLXBhZ2UgbW9kZSByZWxpZXMg
b24gcGFnZSB0YWJsZXMgdG8gYmUKY29udGludW91c2x5IHdpcmVkIHVwLgoK
VG8gYXZvaWQgY29tcGxpY2F0aW5nIHRoaW5ncyBtb3JlIHRoYW4gbmVjZXNz
YXJ5LCB0cmVhdCBhbGwgZGV2aWNlcwptb3N0bHkgZXF1YWxseSwgaS5lLiBy
ZWdhcmRsZXNzIG9mIHRoZWlyIGFzc29jaWF0aW9uIHdpdGggYW55IFJNUlJz
LiBUaGUKbWFpbiBkaWZmZXJlbmNlIGlzIHdoZW4gaXQgY29tZXMgdG8gdXBk
YXRpbmcgY29udGV4dCBlbnRyaWVzLCB3aGljaCBuZWVkCnRvIGJlIGF0b21p
YyB3aGVuIHRoZXJlIGFyZSBSTVJScy4gWWV0IGF0b21pY2l0eSBjYW4gb25s
eSBiZSBhY2hpZXZlZAp3aXRoIENNUFhDSEcxNkIsIGF2YWlsYWJpbGl0eSBv
ZiB3aGljaCB3ZSBjYW4ndCB0YWtlIGZvciBnaXZlbi4KClRoZSBzZWVtaW5n
bHkgY29tcGxpY2F0ZWQgY2hvaWNlIG9mIG5vbi1uZWdhdGl2ZSByZXR1cm4g
dmFsdWVzIGZvcgpkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgpIGlzIHRv
IGxpbWl0IGNvZGUgY2h1cm46IFRoaXMgd2F5IGNhbGxlcnMKcGFzc2luZyBO
VUxMIGZvciBwZGV2IGRvbid0IG5lZWQgZmlkZGxpbmcgd2l0aC4KClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpS
ZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJp
eC5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0
ZXJuLmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2V4dGVy
bi5oCkBAIC03MSw3ICs3MSw4IEBAIHZvaWQgZnJlZV9wZ3RhYmxlX21hZGRy
KHU2NCBtYWRkcik7CiB2b2lkICptYXBfdnRkX2RvbWFpbl9wYWdlKHU2NCBt
YWRkcik7CiB2b2lkIHVubWFwX3Z0ZF9kb21haW5fcGFnZSh2b2lkICp2YSk7
CiBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoc3RydWN0IGRvbWFp
biAqZG9tYWluLCBzdHJ1Y3QgaW9tbXUgKmlvbW11LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHU4IGJ1cywgdTggZGV2Zm4sIGNvbnN0IHN0
cnVjdCBwY2lfZGV2ICopOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQ4X3QgYnVzLCB1aW50OF90IGRldmZuLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2
LCB1bnNpZ25lZCBpbnQgbW9kZSk7CiBpbnQgZG9tYWluX2NvbnRleHRfdW5t
YXBfb25lKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgc3RydWN0IGlvbW11ICpp
b21tdSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggYnVzLCB1
OCBkZXZmbik7CiBpbnQgaW50ZWxfaW9tbXVfZ2V0X3Jlc2VydmVkX2Rldmlj
ZV9tZW1vcnkoaW9tbXVfZ3JkbV90ICpmdW5jLCB2b2lkICpjdHh0KTsKQEAg
LTkxLDggKzkyLDggQEAgaW50IGlzX2lnZF92dF9lbmFibGVkX3F1aXJrKHZv
aWQpOwogdm9pZCBwbGF0Zm9ybV9xdWlya3NfaW5pdCh2b2lkKTsKIHZvaWQg
dnRkX29wc19wcmVhbWJsZV9xdWlyayhzdHJ1Y3QgaW9tbXUqIGlvbW11KTsK
IHZvaWQgdnRkX29wc19wb3N0YW1ibGVfcXVpcmsoc3RydWN0IGlvbW11KiBp
b21tdSk7Ci1pbnQgX19tdXN0X2NoZWNrIG1lX3dpZmlfcXVpcmsoc3RydWN0
IGRvbWFpbiAqZG9tYWluLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHU4IGJ1cywgdTggZGV2Zm4sIGludCBtYXApOworaW50IF9fbXVzdF9j
aGVjayBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdWlu
dDhfdCBidXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCBkZXZmbiwgdW5zaWduZWQgaW50IG1vZGUpOwogdm9pZCBwY2lfdnRk
X3F1aXJrKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICopOwogdm9pZCBxdWlya19p
b21tdV9jYXBzKHN0cnVjdCBpb21tdSAqaW9tbXUpOwogCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2
ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC0xMDgsNiArMTA4LDcg
QEAgc3RhdGljIGludCBjb250ZXh0X3NldF9kb21haW5faWQoc3RydWN0CiAg
ICAgfQogCiAgICAgc2V0X2JpdChpLCBpb21tdS0+ZG9taWRfYml0bWFwKTsK
KyAgICBjb250ZXh0LT5oaSAmPSB+KCgoMSA8PCBESURfRklFTERfV0lEVEgp
IC0gMSkgPDwgRElEX0hJR0hfT0ZGU0VUKTsKICAgICBjb250ZXh0LT5oaSB8
PSAoaSAmICgoMSA8PCBESURfRklFTERfV0lEVEgpIC0gMSkpIDw8IERJRF9I
SUdIX09GRlNFVDsKICAgICByZXR1cm4gMDsKIH0KQEAgLTEzOTEsMTUgKzEz
OTIsMjcgQEAgc3RhdGljIHZvaWQgX19od2RvbV9pbml0IGludGVsX2lvbW11
X2h3ZAogICAgIH0KIH0KIAorLyoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJu
cworICogLSBhIG5lZ2F0aXZlIGVycm5vIHZhbHVlIHVwb24gZXJyb3IsCisg
KiAtIHplcm8gdXBvbiBzdWNjZXNzIHdoZW4gcHJldmlvdXNseSB0aGUgZW50
cnkgd2FzIG5vbi1wcmVzZW50LCBvciB0aGlzIGlzbid0CisgKiAgIHRoZSAi
bWFpbiIgcmVxdWVzdCBmb3IgYSBkZXZpY2UgKHBkZXYgPT0gTlVMTCksIG9y
IGZvciBuby1vcCBxdWFyYW50aW5pbmcKKyAqICAgYXNzaWdubWVudHMsCisg
KiAtIHBvc2l0aXZlIChvbmUpIHVwb24gc3VjY2VzcyB3aGVuIHByZXZpb3Vz
bHkgdGhlIGVudHJ5IHdhcyBwcmVzZW50IGFuZCB0aGlzCisgKiAgIGlzIHRo
ZSAibWFpbiIgcmVxdWVzdCBmb3IgYSBkZXZpY2UgKHBkZXYgIT0gTlVMTCku
CisgKi8KIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAgICBz
dHJ1Y3QgZG9tYWluICpkb21haW4sCiAgICAgc3RydWN0IGlvbW11ICppb21t
dSwKLSAgICB1OCBidXMsIHU4IGRldmZuLCBjb25zdCBzdHJ1Y3QgcGNpX2Rl
diAqcGRldikKKyAgICB1aW50OF90IGJ1cywgdWludDhfdCBkZXZmbiwgY29u
c3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsCisgICAgdW5zaWduZWQgaW50IG1v
ZGUpCiB7CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9t
bXUoZG9tYWluKTsKLSAgICBzdHJ1Y3QgY29udGV4dF9lbnRyeSAqY29udGV4
dCwgKmNvbnRleHRfZW50cmllczsKKyAgICBzdHJ1Y3QgY29udGV4dF9lbnRy
eSAqY29udGV4dCwgKmNvbnRleHRfZW50cmllcywgbGN0eHQ7CisgICAgX191
aW50MTI4X3Qgb2xkOwogICAgIHU2NCBtYWRkciwgcGdkX21hZGRyOwotICAg
IHUxNiBzZWcgPSBpb21tdS0+aW50ZWwtPmRyaGQtPnNlZ21lbnQ7CisgICAg
dWludDE2X3Qgc2VnID0gaW9tbXUtPmludGVsLT5kcmhkLT5zZWdtZW50LCBw
cmV2X2RpZCA9IDA7CisgICAgc3RydWN0IGRvbWFpbiAqcHJldl9kb20gPSBO
VUxMOwogICAgIGludCBhZ2F3LCByYywgcmV0OwogICAgIGJvb2xfdCBmbHVz
aF9kZXZfaW90bGI7CiAKQEAgLTE0MDgsMTcgKzE0MjEsMzIgQEAgaW50IGRv
bWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIG1hZGRyID0gYnVzX3Rv
X2NvbnRleHRfbWFkZHIoaW9tbXUsIGJ1cyk7CiAgICAgY29udGV4dF9lbnRy
aWVzID0gKHN0cnVjdCBjb250ZXh0X2VudHJ5ICopbWFwX3Z0ZF9kb21haW5f
cGFnZShtYWRkcik7CiAgICAgY29udGV4dCA9ICZjb250ZXh0X2VudHJpZXNb
ZGV2Zm5dOworICAgIG9sZCA9IChsY3R4dCA9ICpjb250ZXh0KS5mdWxsOwog
Ci0gICAgaWYgKCBjb250ZXh0X3ByZXNlbnQoKmNvbnRleHQpICkKKyAgICBp
ZiAoIGNvbnRleHRfcHJlc2VudChsY3R4dCkgKQogICAgIHsKLSAgICAgICAg
c3Bpbl91bmxvY2soJmlvbW11LT5sb2NrKTsKLSAgICAgICAgdW5tYXBfdnRk
X2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7Ci0gICAgICAgIHJldHVy
biAwOworICAgICAgICBkb21pZF90IGRvbWlkOworCisgICAgICAgIHByZXZf
ZGlkID0gY29udGV4dF9kb21haW5faWQobGN0eHQpOworICAgICAgICBkb21p
ZCA9IGlvbW11LT5kb21pZF9tYXBbcHJldl9kaWRdOworICAgICAgICBpZiAo
IGRvbWlkIDwgRE9NSURfRklSU1RfUkVTRVJWRUQgKQorICAgICAgICAgICAg
cHJldl9kb20gPSByY3VfbG9ja19kb21haW5fYnlfaWQoZG9taWQpOworICAg
ICAgICBlbHNlIGlmICggZG9taWQgPT0gRE9NSURfSU8gKQorICAgICAgICAg
ICAgcHJldl9kb20gPSByY3VfbG9ja19kb21haW4oZG9tX2lvKTsKKyAgICAg
ICAgaWYgKCAhcHJldl9kb20gKQorICAgICAgICB7CisgICAgICAgICAgICBz
cGluX3VubG9jaygmaW9tbXUtPmxvY2spOworICAgICAgICAgICAgdW5tYXBf
dnRkX2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7CisgICAgICAgICAg
ICBkcHJpbnRrKFhFTkxPR19ERUJVRyBWVERQUkVGSVgsCisgICAgICAgICAg
ICAgICAgICAgICJubyBkb21haW4gZm9yIGRpZCAldSAobnJfZG9tICV1KVxu
IiwKKyAgICAgICAgICAgICAgICAgICAgcHJldl9kaWQsIGNhcF9uZG9tcyhp
b21tdS0+Y2FwKSk7CisgICAgICAgICAgICByZXR1cm4gLUVTUkNIOworICAg
ICAgICB9CiAgICAgfQogCiAgICAgaWYgKCBpb21tdV9od2RvbV9wYXNzdGhy
b3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZG9tYWluKSApCiAgICAgewot
ICAgICAgICBjb250ZXh0X3NldF90cmFuc2xhdGlvbl90eXBlKCpjb250ZXh0
LCBDT05URVhUX1RUX1BBU1NfVEhSVSk7CisgICAgICAgIGNvbnRleHRfc2V0
X3RyYW5zbGF0aW9uX3R5cGUobGN0eHQsIENPTlRFWFRfVFRfUEFTU19USFJV
KTsKICAgICAgICAgYWdhdyA9IGxldmVsX3RvX2FnYXcoaW9tbXUtPm5yX3B0
X2xldmVscyk7CiAgICAgfQogICAgIGVsc2UKQEAgLTE0MzUsNiArMTQ2Myw4
IEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAgICAgICAg
ICAgICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsK
ICAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmaW9tbXUtPmxvY2spOwog
ICAgICAgICAgICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShjb250ZXh0
X2VudHJpZXMpOworICAgICAgICAgICAgICAgIGlmICggcHJldl9kb20gKQor
ICAgICAgICAgICAgICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihwcmV2X2Rv
bSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KQEAgLTE0NTIsMzMgKzE0ODIsMTAyIEBAIGlu
dCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAgICAgICAgICAgICAg
ICBnb3RvIG5vbWVtOwogICAgICAgICB9CiAKLSAgICAgICAgY29udGV4dF9z
ZXRfYWRkcmVzc19yb290KCpjb250ZXh0LCBwZ2RfbWFkZHIpOworICAgICAg
ICBjb250ZXh0X3NldF9hZGRyZXNzX3Jvb3QobGN0eHQsIHBnZF9tYWRkcik7
CiAgICAgICAgIGlmICggYXRzX2VuYWJsZWQgJiYgZWNhcF9kZXZfaW90bGIo
aW9tbXUtPmVjYXApICkKLSAgICAgICAgICAgIGNvbnRleHRfc2V0X3RyYW5z
bGF0aW9uX3R5cGUoKmNvbnRleHQsIENPTlRFWFRfVFRfREVWX0lPVExCKTsK
KyAgICAgICAgICAgIGNvbnRleHRfc2V0X3RyYW5zbGF0aW9uX3R5cGUobGN0
eHQsIENPTlRFWFRfVFRfREVWX0lPVExCKTsKICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgY29udGV4dF9zZXRfdHJhbnNsYXRpb25fdHlwZSgqY29udGV4
dCwgQ09OVEVYVF9UVF9NVUxUSV9MRVZFTCk7CisgICAgICAgICAgICBjb250
ZXh0X3NldF90cmFuc2xhdGlvbl90eXBlKGxjdHh0LCBDT05URVhUX1RUX01V
TFRJX0xFVkVMKTsKIAogICAgICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gu
bWFwcGluZ19sb2NrKTsKICAgICB9CiAKLSAgICBpZiAoIGNvbnRleHRfc2V0
X2RvbWFpbl9pZChjb250ZXh0LCBkb21haW4sIGlvbW11KSApCisgICAgcmMg
PSBjb250ZXh0X3NldF9kb21haW5faWQoJmxjdHh0LCBkb21haW4sIGlvbW11
KTsKKyAgICBpZiAoIHJjICkKICAgICB7CisgICAgdW5sb2NrOgogICAgICAg
ICBzcGluX3VubG9jaygmaW9tbXUtPmxvY2spOwogICAgICAgICB1bm1hcF92
dGRfZG9tYWluX3BhZ2UoY29udGV4dF9lbnRyaWVzKTsKLSAgICAgICAgcmV0
dXJuIC1FRkFVTFQ7CisgICAgICAgIGlmICggcHJldl9kb20gKQorICAgICAg
ICAgICAgcmN1X3VubG9ja19kb21haW4ocHJldl9kb20pOworICAgICAgICBy
ZXR1cm4gcmM7CisgICAgfQorCisgICAgaWYgKCAhcHJldl9kb20gKQorICAg
IHsKKyAgICAgICAgY29udGV4dF9zZXRfYWRkcmVzc193aWR0aChsY3R4dCwg
YWdhdyk7CisgICAgICAgIGNvbnRleHRfc2V0X2ZhdWx0X2VuYWJsZShsY3R4
dCk7CisgICAgICAgIGNvbnRleHRfc2V0X3ByZXNlbnQobGN0eHQpOworICAg
IH0KKyAgICBlbHNlIGlmICggcHJldl9kb20gPT0gZG9tYWluICkKKyAgICB7
CisgICAgICAgIEFTU0VSVChsY3R4dC5mdWxsID09IGNvbnRleHQtPmZ1bGwp
OworICAgICAgICByYyA9ICEhcGRldjsKKyAgICAgICAgZ290byB1bmxvY2s7
CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIEFTU0VSVChjb250
ZXh0X2FkZHJlc3Nfd2lkdGgobGN0eHQpID09IGFnYXcpOworICAgICAgICBB
U1NFUlQoIWNvbnRleHRfZmF1bHRfZGlzYWJsZShsY3R4dCkpOworICAgIH0K
KworICAgIGlmICggY3B1X2hhc19jeDE2ICkKKyAgICB7CisgICAgICAgIF9f
dWludDEyOF90IHJlcyA9IGNtcHhjaGcxNmIoY29udGV4dCwgJm9sZCwgJmxj
dHh0LmZ1bGwpOworCisgICAgICAgIC8qCisgICAgICAgICAqIEhhcmR3YXJl
IGRvZXMgbm90IHVwZGF0ZSB0aGUgY29udGV4dCBlbnRyeSBiZWhpbmQgb3Vy
IGJhY2tzLAorICAgICAgICAgKiBzbyB0aGUgcmV0dXJuIHZhbHVlIHNob3Vs
ZCBtYXRjaCAib2xkIi4KKyAgICAgICAgICovCisgICAgICAgIGlmICggcmVz
ICE9IG9sZCApCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggcGRldiAp
CisgICAgICAgICAgICAgICAgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAoZG9t
YWluLCBwZGV2LCBpb21tdSk7CisgICAgICAgICAgICBwcmludGsoWEVOTE9H
X0VSUgorICAgICAgICAgICAgICAgICAgICIlMDR4OiUwMng6JTAyeC4ldTog
dW5leHBlY3RlZCBjb250ZXh0IGVudHJ5ICUwMTZseF8lMDE2bHggKGV4cGVj
dGVkICUwMTZseF8lMDE2bHgpXG4iLAorICAgICAgICAgICAgICAgICAgIHBk
ZXYtPnNlZywgcGRldi0+YnVzLCBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5D
KGRldmZuKSwKKyAgICAgICAgICAgICAgICAgICAodWludDY0X3QpKHJlcyA+
PiA2NCksICh1aW50NjRfdClyZXMsCisgICAgICAgICAgICAgICAgICAgKHVp
bnQ2NF90KShvbGQgPj4gNjQpLCAodWludDY0X3Qpb2xkKTsKKyAgICAgICAg
ICAgIHJjID0gLUVJTFNFUTsKKyAgICAgICAgICAgIGdvdG8gdW5sb2NrOwor
ICAgICAgICB9CisgICAgfQorICAgIGVsc2UgaWYgKCAhcHJldl9kb20gfHwg
IShtb2RlICYgTUFQX1dJVEhfUk1SUikgKQorICAgIHsKKyAgICAgICAgY29u
dGV4dF9jbGVhcl9wcmVzZW50KCpjb250ZXh0KTsKKyAgICAgICAgaW9tbXVf
c3luY19jYWNoZShjb250ZXh0LCBzaXplb2YoKmNvbnRleHQpKTsKKworICAg
ICAgICB3cml0ZV9hdG9taWMoJmNvbnRleHQtPmhpLCBsY3R4dC5oaSk7Cisg
ICAgICAgIC8qIE5vIGJhcnJpZXIgc2hvdWxkIGJlIG5lZWRlZCBiZXR3ZWVu
IHRoZXNlIHR3by4gKi8KKyAgICAgICAgd3JpdGVfYXRvbWljKCZjb250ZXh0
LT5sbywgbGN0eHQubG8pOworICAgIH0KKyAgICBlbHNlIC8qIEJlc3QgZWZm
b3J0LCB1cGRhdGluZyBESUQgbGFzdC4gKi8KKyAgICB7CisgICAgICAgICAv
KgorICAgICAgICAgICogQnkgbm9uLWF0b21pY2FsbHkgdXBkYXRpbmcgdGhl
IGNvbnRleHQgZW50cnkncyBESUQgZmllbGQgbGFzdCwKKyAgICAgICAgICAq
IGR1cmluZyBhIHNob3J0IHdpbmRvdyBpbiB0aW1lIFRMQiBlbnRyaWVzIHdp
dGggdGhlIG9sZCBkb21haW4gSUQKKyAgICAgICAgICAqIGJ1dCB0aGUgbmV3
IHBhZ2UgdGFibGVzIG1heSBiZSBpbnNlcnRlZC4gIFRoaXMgY291bGQgYWZm
ZWN0IEkvTworICAgICAgICAgICogb2Ygb3RoZXIgZGV2aWNlcyB1c2luZyB0
aGlzIHNhbWUgKG9sZCkgZG9tYWluIElELiAgU3VjaCB1cGRhdGluZworICAg
ICAgICAgICogdGhlcmVmb3JlIGlzIG5vdCBhIHByb2JsZW0gaWYgdGhpcyB3
YXMgdGhlIG9ubHkgZGV2aWNlIGFzc29jaWF0ZWQKKyAgICAgICAgICAqIHdp
dGggdGhlIG9sZCBkb21haW4gSUQuICBEaXZlcnRpbmcgSS9PIG9mIGFueSBv
ZiBhIGR5aW5nIGRvbWFpbidzCisgICAgICAgICAgKiBkZXZpY2VzIHRvIHRo
ZSBxdWFyYW50aW5lIHBhZ2UgdGFibGVzIGlzIGludGVuZGVkIGFueXdheS4K
KyAgICAgICAgICAqLworICAgICAgICBpZiAoICEobW9kZSAmIChNQVBfT1dO
RVJfRFlJTkcgfCBNQVBfU0lOR0xFX0RFVklDRSkpICkKKyAgICAgICAgICAg
IHByaW50ayhYRU5MT0dfV0FSTklORyBWVERQUkVGSVgKKyAgICAgICAgICAg
ICAgICAgICAiICUwNHg6JTAyeDolMDJ4LiV1OiByZWFzc2lnbm1lbnQgbWF5
IGNhdXNlICVwZCBkYXRhIGNvcnJ1cHRpb25cbiIsCisgICAgICAgICAgICAg
ICAgICAgc2VnLCBidXMsIFBDSV9TTE9UKGRldmZuKSwgUENJX0ZVTkMoZGV2
Zm4pLCBwcmV2X2RvbSk7CisKKyAgICAgICAgd3JpdGVfYXRvbWljKCZjb250
ZXh0LT5sbywgbGN0eHQubG8pOworICAgICAgICAvKiBObyBiYXJyaWVyIHNo
b3VsZCBiZSBuZWVkZWQgYmV0d2VlbiB0aGVzZSB0d28uICovCisgICAgICAg
IHdyaXRlX2F0b21pYygmY29udGV4dC0+aGksIGxjdHh0LmhpKTsKICAgICB9
CiAKLSAgICBjb250ZXh0X3NldF9hZGRyZXNzX3dpZHRoKCpjb250ZXh0LCBh
Z2F3KTsKLSAgICBjb250ZXh0X3NldF9mYXVsdF9lbmFibGUoKmNvbnRleHQp
OwotICAgIGNvbnRleHRfc2V0X3ByZXNlbnQoKmNvbnRleHQpOwogICAgIGlv
bW11X3N5bmNfY2FjaGUoY29udGV4dCwgc2l6ZW9mKHN0cnVjdCBjb250ZXh0
X2VudHJ5KSk7CiAgICAgc3Bpbl91bmxvY2soJmlvbW11LT5sb2NrKTsKIAot
ICAgIC8qIENvbnRleHQgZW50cnkgd2FzIHByZXZpb3VzbHkgbm9uLXByZXNl
bnQgKHdpdGggZG9taWQgMCkuICovCi0gICAgcmMgPSBpb21tdV9mbHVzaF9j
b250ZXh0X2RldmljZShpb21tdSwgMCwgUENJX0JERjIoYnVzLCBkZXZmbiks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NN
RF9NQVNLX05PQklULCAxKTsKKyAgICByYyA9IGlvbW11X2ZsdXNoX2NvbnRl
eHRfZGV2aWNlKGlvbW11LCBwcmV2X2RpZCwgUENJX0JERjIoYnVzLCBkZXZm
biksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUFf
Q0NNRF9NQVNLX05PQklULCAhcHJldl9kb20pOwogICAgIGZsdXNoX2Rldl9p
b3RsYiA9ICEhZmluZF9hdHNfZGV2X2RyaGQoaW9tbXUpOwotICAgIHJldCA9
IGlvbW11X2ZsdXNoX2lvdGxiX2RzaShpb21tdSwgMCwgMSwgZmx1c2hfZGV2
X2lvdGxiKTsKKyAgICByZXQgPSBpb21tdV9mbHVzaF9pb3RsYl9kc2koaW9t
bXUsIHByZXZfZGlkLCAhcHJldl9kb20sIGZsdXNoX2Rldl9pb3RsYik7CiAK
ICAgICAvKgogICAgICAqIFRoZSBjdXJyZW50IGxvZ2ljIGZvciByZXR1cm5z
OgpAQCAtMTQ5OSwxNyArMTU5OCwzNSBAQCBpbnQgZG9tYWluX2NvbnRleHRf
bWFwcGluZ19vbmUoCiAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRl
eHRfZW50cmllcyk7CiAKICAgICBpZiAoICFzZWcgJiYgIXJjICkKLSAgICAg
ICAgcmMgPSBtZV93aWZpX3F1aXJrKGRvbWFpbiwgYnVzLCBkZXZmbiwgTUFQ
X01FX1BIQU5UT01fRlVOQyk7CisgICAgICAgIHJjID0gbWVfd2lmaV9xdWly
ayhkb21haW4sIGJ1cywgZGV2Zm4sIG1vZGUpOwogCi0gICAgcmV0dXJuIHJj
OworICAgIGlmICggcmMgKQorICAgIHsKKyAgICAgICAgaWYgKCAhcHJldl9k
b20gKQorICAgICAgICAgICAgZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRv
bWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4pOworICAgICAgICBlbHNlIGlmICgg
cHJldl9kb20gIT0gZG9tYWluICkgLyogQXZvaWQgaW5maW5pdGUgcmVjdXJz
aW9uLiAqLworICAgICAgICAgICAgZG9tYWluX2NvbnRleHRfbWFwcGluZ19v
bmUocHJldl9kb20sIGlvbW11LCBidXMsIGRldmZuLCBwZGV2LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSAmIE1BUF9X
SVRIX1JNUlIpOworICAgIH0KKworICAgIGlmICggcHJldl9kb20gKQorICAg
ICAgICByY3VfdW5sb2NrX2RvbWFpbihwcmV2X2RvbSk7CisKKyAgICByZXR1
cm4gcmMgPzogcGRldiAmJiBwcmV2X2RvbTsKIH0KIAorc3RhdGljIGludCBk
b21haW5fY29udGV4dF91bm1hcChzdHJ1Y3QgZG9tYWluICpkLCB1aW50OF90
IGRldmZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1
Y3QgcGNpX2RldiAqcGRldik7CisKIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRl
eHRfbWFwcGluZyhzdHJ1Y3QgZG9tYWluICpkb21haW4sIHU4IGRldmZuLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwY2lf
ZGV2ICpwZGV2KQogewogICAgIHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJo
ZDsKKyAgICBjb25zdCBzdHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnI7CiAg
ICAgaW50IHJldCA9IDA7Ci0gICAgdTggc2VnID0gcGRldi0+c2VnLCBidXMg
PSBwZGV2LT5idXMsIHNlY2J1czsKKyAgICB1bnNpZ25lZCBpbnQgaSwgbW9k
ZSA9IDA7CisgICAgdWludDE2X3Qgc2VnID0gcGRldi0+c2VnLCBiZGY7Cisg
ICAgdWludDhfdCBidXMgPSBwZGV2LT5idXMsIHNlY2J1czsKIAogICAgIGRy
aGQgPSBhY3BpX2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7CiAgICAg
aWYgKCAhZHJoZCApCkBAIC0xNTE3LDggKzE2MzQsMzAgQEAgc3RhdGljIGlu
dCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogCiAgICAgQVNTRVJU
KHBjaWRldnNfbG9ja2VkKCkpOwogCisgICAgZm9yX2VhY2hfcm1ycl9kZXZp
Y2UoIHJtcnIsIGJkZiwgaSApCisgICAgeworICAgICAgICBpZiAoIHJtcnIt
PnNlZ21lbnQgIT0gcGRldi0+c2VnIHx8CisgICAgICAgICAgICAgYmRmICE9
IFBDSV9CREYyKHBkZXYtPmJ1cywgcGRldi0+ZGV2Zm4pICkKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworCisgICAgICAgIG1vZGUgfD0gTUFQX1dJVEhfUk1S
UjsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYgKCBkb21haW4g
IT0gcGRldi0+ZG9tYWluICkKKyAgICB7CisgICAgICAgIGlmICggcGRldi0+
ZG9tYWluLT5pc19keWluZyApCisgICAgICAgICAgICBtb2RlIHw9IE1BUF9P
V05FUl9EWUlORzsKKyAgICAgICAgZWxzZSBpZiAoIGRyaGQgJiYKKyAgICAg
ICAgICAgICAgICAgICFhbnlfcGRldl9iZWhpbmRfaW9tbXUocGRldi0+ZG9t
YWluLCBwZGV2LCBkcmhkLT5pb21tdSkgJiYKKyAgICAgICAgICAgICAgICAg
ICFwZGV2LT5waGFudG9tX3N0cmlkZSApCisgICAgICAgICAgICBtb2RlIHw9
IE1BUF9TSU5HTEVfREVWSUNFOworICAgIH0KKwogICAgIHN3aXRjaCAoIHBk
ZXYtPnR5cGUgKQogICAgIHsKKyAgICAgICAgYm9vbCBwcmV2X3ByZXNlbnQ7
CisKICAgICBjYXNlIERFVl9UWVBFX1BDSV9IT1NUX0JSSURHRToKICAgICAg
ICAgaWYgKCBpb21tdV9kZWJ1ZyApCiAgICAgICAgICAgICBwcmludGsoVlRE
UFJFRklYICJkJWQ6SG9zdGJyaWRnZTogc2tpcCAlMDR4OiUwMng6JTAyeC4l
dSBtYXBcbiIsCkBAIC0xNTM5LDcgKzE2NzgsOSBAQCBzdGF0aWMgaW50IGRv
bWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgICAgICAgICAg
ICAgZG9tYWluLT5kb21haW5faWQsIHNlZywgYnVzLAogICAgICAgICAgICAg
ICAgICAgIFBDSV9TTE9UKGRldmZuKSwgUENJX0ZVTkMoZGV2Zm4pKTsKICAg
ICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWlu
LCBkcmhkLT5pb21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGRldik7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYsIG1vZGUpOworICAg
ICAgICBpZiAoIHJldCA+IDAgKQorICAgICAgICAgICAgcmV0ID0gMDsKICAg
ICAgICAgaWYgKCAhcmV0ICYmIGRldmZuID09IHBkZXYtPmRldmZuICYmIGF0
c19kZXZpY2UocGRldiwgZHJoZCkgPiAwICkKICAgICAgICAgICAgIGVuYWJs
ZV9hdHNfZGV2aWNlKHBkZXYsICZkcmhkLT5pb21tdS0+YXRzX2RldmljZXMp
OwogCkBAIC0xNTUyLDIwICsxNjkzLDMzIEBAIHN0YXRpYyBpbnQgZG9tYWlu
X2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICAgICAgICAgICBQ
Q0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSk7CiAKICAgICAgICAg
cmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhk
LT5pb21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGRldik7Ci0gICAgICAgIGlmICggcmV0ICkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRl
diwgbW9kZSk7CisgICAgICAgIGlmICggcmV0IDwgMCApCiAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgcHJldl9wcmVzZW50ID0gcmV0OworICAgICAg
ICByZXQgPSAwOwogCiAgICAgICAgIGlmICggZmluZF91cHN0cmVhbV9icmlk
Z2Uoc2VnLCAmYnVzLCAmZGV2Zm4sICZzZWNidXMpIDwgMSApCiAgICAgICAg
ICAgICBicmVhazsKIAogICAgICAgICAvKgorICAgICAgICAgKiBTdHJpY3Rs
eSBzcGVha2luZyBpZiB0aGUgZGV2aWNlIGlzIHRoZSBvbmx5IG9uZSBiZWhp
bmQgdGhpcyBicmlkZ2UKKyAgICAgICAgICogYW5kIHRoZSBvbmx5IG9uZSB3
aXRoIHRoaXMgKHNlY2J1cywwLDApIHR1cGxlLCBpdCBjb3VsZCBiZSBhbGxv
d2VkCisgICAgICAgICAqIHRvIGJlIHJlLWFzc2lnbmVkIHJlZ2FyZGxlc3Mg
b2YgUk1SUiBwcmVzZW5jZS4gIEJ1dCBsZXQncyBkZWFsIHdpdGgKKyAgICAg
ICAgICogdGhhdCBjYXNlIG9ubHkgaWYgaXQgaXMgYWN0dWFsbHkgZm91bmQg
aW4gdGhlIHdpbGQuCisgICAgICAgICAqLworICAgICAgICBpZiAoIHByZXZf
cHJlc2VudCAmJiAobW9kZSAmIE1BUF9XSVRIX1JNUlIpICYmCisgICAgICAg
ICAgICAgZG9tYWluICE9IHBkZXYtPmRvbWFpbiApCisgICAgICAgICAgICBy
ZXQgPSAtRU9QTk9UU1VQUDsKKworICAgICAgICAvKgogICAgICAgICAgKiBN
YXBwaW5nIGEgYnJpZGdlIHNob3VsZCwgaWYgYW55dGhpbmcsIHBhc3MgdGhl
IHN0cnVjdCBwY2lfZGV2IG9mCiAgICAgICAgICAqIHRoYXQgYnJpZGdlLiBT
aW5jZSBicmlkZ2VzIGRvbid0IG5vcm1hbGx5IGdldCBhc3NpZ25lZCB0byBn
dWVzdHMsCiAgICAgICAgICAqIHRoZWlyIG93bmVyIHdvdWxkIGJlIHRoZSB3
cm9uZyBvbmUuIFBhc3MgTlVMTCBpbnN0ZWFkLgogICAgICAgICAgKi8KLSAg
ICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWlu
LCBkcmhkLT5pb21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgIGlmICgg
cmV0ID49IDAgKQorICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRf
bWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgYnVzLCBkZXZmbiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5VTEwsIG1vZGUpOwogCiAgICAgICAgIC8qCiAgICAgICAgICAqIERldmlj
ZXMgYmVoaW5kIFBDSWUtdG8tUENJL1BDSXggYnJpZGdlIG1heSBnZW5lcmF0
ZSBkaWZmZXJlbnQKQEAgLTE1ODAsNyArMTczNCwxNSBAQCBzdGF0aWMgaW50
IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgIGlmICgg
IXJldCAmJiBwZGV2X3R5cGUoc2VnLCBidXMsIGRldmZuKSA9PSBERVZfVFlQ
RV9QQ0llMlBDSV9CUklER0UgJiYKICAgICAgICAgICAgICAoc2VjYnVzICE9
IHBkZXYtPmJ1cyB8fCBwZGV2LT5kZXZmbiAhPSAwKSApCiAgICAgICAgICAg
ICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21haW4sIGRy
aGQtPmlvbW11LCBzZWNidXMsIDAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIG1vZGUpOwor
CisgICAgICAgIGlmICggcmV0ICkKKyAgICAgICAgeworICAgICAgICAgICAg
aWYgKCAhcHJldl9wcmVzZW50ICkKKyAgICAgICAgICAgICAgICBkb21haW5f
Y29udGV4dF91bm1hcChkb21haW4sIGRldmZuLCBwZGV2KTsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKCBwZGV2LT5kb21haW4gIT0gZG9tYWluICkgLyogQXZv
aWQgaW5maW5pdGUgcmVjdXJzaW9uLiAqLworICAgICAgICAgICAgICAgIGRv
bWFpbl9jb250ZXh0X21hcHBpbmcocGRldi0+ZG9tYWluLCBkZXZmbiwgcGRl
dik7CisgICAgICAgIH0KIAogICAgICAgICBicmVhazsKIApAQCAtMjI5MSw5
ICsyNDUzLDggQEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Vfb3duZXJz
aGlwKAogewogICAgIGludCByZXQ7CiAKLSAgICByZXQgPSBkb21haW5fY29u
dGV4dF91bm1hcChzb3VyY2UsIGRldmZuLCBwZGV2KTsKLSAgICBpZiAoIHJl
dCApCi0gICAgICAgIHJldHVybiByZXQ7CisgICAgaWYgKCAhaGFzX2FyY2hf
cGRldnModGFyZ2V0KSApCisgICAgICAgIHZteF9waV9ob29rc19hc3NpZ24o
dGFyZ2V0KTsKIAogICAgIC8qCiAgICAgICogRGV2aWNlcyBhc3NpZ25lZCB0
byB1bnRydXN0ZWQgZG9tYWlucyAoaGVyZSBhc3N1bWVkIHRvIGJlIGFueSBk
b21VKQpAQCAtMjMwMyw2ICsyNDY0LDMxIEBAIHN0YXRpYyBpbnQgcmVhc3Np
Z25fZGV2aWNlX293bmVyc2hpcCgKICAgICBpZiAoICh0YXJnZXQgIT0gaGFy
ZHdhcmVfZG9tYWluKSAmJiAhaW9tbXVfaW50cmVtYXAgKQogICAgICAgICB1
bnRydXN0ZWRfbXNpID0gdHJ1ZTsKIAorICAgIHJldCA9IGRvbWFpbl9jb250
ZXh0X21hcHBpbmcodGFyZ2V0LCBkZXZmbiwgcGRldik7CisgICAgaWYgKCBy
ZXQgKQorICAgIHsKKyAgICAgICAgaWYgKCAhaGFzX2FyY2hfcGRldnModGFy
Z2V0KSApCisgICAgICAgICAgICB2bXhfcGlfaG9va3NfZGVhc3NpZ24odGFy
Z2V0KTsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKKyAgICBpZiAo
IHBkZXYtPmRldmZuID09IGRldmZuICkKKyAgICB7CisgICAgICAgIGNvbnN0
IHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZCA9IGFjcGlfZmluZF9tYXRj
aGVkX2RyaGRfdW5pdChwZGV2KTsKKworICAgICAgICBpZiAoIGRyaGQgKQor
ICAgICAgICAgICAgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAoc291cmNlLCBw
ZGV2LCBkcmhkLT5pb21tdSk7CisgICAgfQorCisgICAgaWYgKCBkZXZmbiA9
PSBwZGV2LT5kZXZmbiAmJiBwZGV2LT5kb21haW4gIT0gdGFyZ2V0ICkKKyAg
ICB7CisgICAgICAgIGxpc3RfbW92ZSgmcGRldi0+ZG9tYWluX2xpc3QsICZ0
YXJnZXQtPmFyY2gucGRldl9saXN0KTsKKyAgICAgICAgcGRldi0+ZG9tYWlu
ID0gdGFyZ2V0OworICAgIH0KKworICAgIGlmICggIWhhc19hcmNoX3BkZXZz
KHNvdXJjZSkgKQorICAgICAgICB2bXhfcGlfaG9va3NfZGVhc3NpZ24oc291
cmNlKTsKKwogICAgIC8qCiAgICAgICogSWYgdGhlIGRldmljZSBiZWxvbmdz
IHRvIHRoZSBoYXJkd2FyZSBkb21haW4sIGFuZCBpdCBoYXMgUk1SUiwgZG9u
J3QKICAgICAgKiByZW1vdmUgaXQgZnJvbSB0aGUgaGFyZHdhcmUgZG9tYWlu
LCBiZWNhdXNlIEJJT1MgbWF5IHVzZSBSTVJSIGF0CkBAIC0yMzMxLDM0ICsy
NTE3LDcgQEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Vfb3duZXJzaGlw
KAogICAgICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICggZGV2Zm4gPT0g
cGRldi0+ZGV2Zm4gJiYgcGRldi0+ZG9tYWluICE9IGRvbV9pbyApCi0gICAg
ewotICAgICAgICBsaXN0X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0LCAmZG9t
X2lvLT5hcmNoLnBkZXZfbGlzdCk7Ci0gICAgICAgIHBkZXYtPmRvbWFpbiA9
IGRvbV9pbzsKLSAgICB9Ci0KLSAgICBpZiAoICFoYXNfYXJjaF9wZGV2cyhz
b3VyY2UpICkKLSAgICAgICAgdm14X3BpX2hvb2tzX2RlYXNzaWduKHNvdXJj
ZSk7Ci0KLSAgICBpZiAoICFoYXNfYXJjaF9wZGV2cyh0YXJnZXQpICkKLSAg
ICAgICAgdm14X3BpX2hvb2tzX2Fzc2lnbih0YXJnZXQpOwotCi0gICAgcmV0
ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZyh0YXJnZXQsIGRldmZuLCBwZGV2
KTsKLSAgICBpZiAoIHJldCApCi0gICAgewotICAgICAgICBpZiAoICFoYXNf
YXJjaF9wZGV2cyh0YXJnZXQpICkKLSAgICAgICAgICAgIHZteF9waV9ob29r
c19kZWFzc2lnbih0YXJnZXQpOwotCi0gICAgICAgIHJldHVybiByZXQ7Ci0g
ICAgfQotCi0gICAgaWYgKCBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBwZGV2
LT5kb21haW4gIT0gdGFyZ2V0ICkKLSAgICB7Ci0gICAgICAgIGxpc3RfbW92
ZSgmcGRldi0+ZG9tYWluX2xpc3QsICZ0YXJnZXQtPmFyY2gucGRldl9saXN0
KTsKLSAgICAgICAgcGRldi0+ZG9tYWluID0gdGFyZ2V0OwotICAgIH0KLQot
ICAgIHJldHVybiByZXQ7CisgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBp
bnQgaW50ZWxfaW9tbXVfYXNzaWduX2RldmljZSgKLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmgKKysrIGIveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvdnRkL2lvbW11LmgKQEAgLTIwMSw4ICsyMDEsMTIgQEAg
c3RydWN0IHJvb3RfZW50cnkgewogICAgIGRvIHsocm9vdCkudmFsIHw9ICgo
dmFsdWUpICYgUEFHRV9NQVNLXzRLKTt9IHdoaWxlKDApCiAKIHN0cnVjdCBj
b250ZXh0X2VudHJ5IHsKLSAgICB1NjQgbG87Ci0gICAgdTY0IGhpOworICAg
IHVuaW9uIHsKKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIHVpbnQ2
NF90IGxvLCBoaTsKKyAgICAgICAgfTsKKyAgICAgICAgX191aW50MTI4X3Qg
ZnVsbDsKKyAgICB9OwogfTsKICNkZWZpbmUgUk9PVF9FTlRSWV9OUiAoUEFH
RV9TSVpFXzRLL3NpemVvZihzdHJ1Y3Qgcm9vdF9lbnRyeSkpCiAjZGVmaW5l
IGNvbnRleHRfcHJlc2VudChjKSAoKGMpLmxvICYgMSkKLS0tIGEveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvdnRkL3F1aXJrcy5jCisrKyBiL3hlbi9kcml2
ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xdWlya3MuYwpAQCAtMzMwLDcgKzMzMCw4
IEBAIHZvaWQgX19pbml0IHBsYXRmb3JtX3F1aXJrc19pbml0KHZvaWQpCiAg
Ki8KIAogc3RhdGljIGludCBfX211c3RfY2hlY2sgbWFwX21lX3BoYW50b21f
ZnVuY3Rpb24oc3RydWN0IGRvbWFpbiAqZG9tYWluLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTMyIGRldiwg
aW50IG1hcCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBkZXYsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQgbW9kZSkKIHsKICAgICBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQ7
CiAgICAgc3RydWN0IHBjaV9kZXYgKnBkZXY7CkBAIC0zNDEsOSArMzQyLDkg
QEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgbWFwX21lX3BoYW50b21fZgog
ICAgIGRyaGQgPSBhY3BpX2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7
CiAKICAgICAvKiBtYXAgb3IgdW5tYXAgTUUgcGhhbnRvbSBmdW5jdGlvbiAq
LwotICAgIGlmICggbWFwICkKKyAgICBpZiAoICEobW9kZSAmIFVOTUFQX01F
X1BIQU5UT01fRlVOQykgKQogICAgICAgICByYyA9IGRvbWFpbl9jb250ZXh0
X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIDAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJX0RFVkZOKGRl
diwgNyksIE5VTEwpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFBDSV9ERVZGTihkZXYsIDcpLCBOVUxMLCBtb2RlKTsKICAg
ICBlbHNlCiAgICAgICAgIHJjID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25l
KGRvbWFpbiwgZHJoZC0+aW9tbXUsIDAsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFBDSV9ERVZGTihkZXYsIDcpKTsKQEAgLTM1
MSw3ICszNTIsOCBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBtYXBfbWVf
cGhhbnRvbV9mCiAgICAgcmV0dXJuIHJjOwogfQogCi1pbnQgbWVfd2lmaV9x
dWlyayhzdHJ1Y3QgZG9tYWluICpkb21haW4sIHU4IGJ1cywgdTggZGV2Zm4s
IGludCBtYXApCitpbnQgbWVfd2lmaV9xdWlyayhzdHJ1Y3QgZG9tYWluICpk
b21haW4sIHVpbnQ4X3QgYnVzLCB1aW50OF90IGRldmZuLAorICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAgICAgdTMyIGlkOwog
ICAgIGludCByYyA9IDA7CkBAIC0zNzUsNyArMzc3LDcgQEAgaW50IG1lX3dp
ZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLAogICAgICAgICAgICAg
Y2FzZSAweDQyM2I4MDg2OgogICAgICAgICAgICAgY2FzZSAweDQyM2M4MDg2
OgogICAgICAgICAgICAgY2FzZSAweDQyM2Q4MDg2OgotICAgICAgICAgICAg
ICAgIHJjID0gbWFwX21lX3BoYW50b21fZnVuY3Rpb24oZG9tYWluLCAzLCBt
YXApOworICAgICAgICAgICAgICAgIHJjID0gbWFwX21lX3BoYW50b21fZnVu
Y3Rpb24oZG9tYWluLCAzLCBtb2RlKTsKICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgYnJl
YWs7CkBAIC00MDEsNyArNDAzLDcgQEAgaW50IG1lX3dpZmlfcXVpcmsoc3Ry
dWN0IGRvbWFpbiAqZG9tYWluLAogICAgICAgICAgICAgY2FzZSAweDQyMzg4
MDg2OiAgICAgICAgLyogUHVtYSBQZWFrICovCiAgICAgICAgICAgICBjYXNl
IDB4NDIyYjgwODY6CiAgICAgICAgICAgICBjYXNlIDB4NDIyYzgwODY6Ci0g
ICAgICAgICAgICAgICAgcmMgPSBtYXBfbWVfcGhhbnRvbV9mdW5jdGlvbihk
b21haW4sIDIyLCBtYXApOworICAgICAgICAgICAgICAgIHJjID0gbWFwX21l
X3BoYW50b21fZnVuY3Rpb24oZG9tYWluLCAyMiwgbW9kZSk7CiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAg
ICAgICAgICAgIGJyZWFrOwotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC92dGQvdnRkLmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L3Z0ZC5oCkBAIC0yMiw4ICsyMiwxNCBAQAogCiAjaW5jbHVkZSA8eGVuL2lv
bW11Lmg+CiAKLSNkZWZpbmUgTUFQX01FX1BIQU5UT01fRlVOQyAgICAgIDEK
LSNkZWZpbmUgVU5NQVBfTUVfUEhBTlRPTV9GVU5DICAgIDAKKy8qCisgKiBW
YWx1ZXMgZm9yIGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKCkncyBhbmQg
bWVfd2lmaV9xdWlyaygpJ3MgIm1vZGUiCisgKiBwYXJhbWV0ZXJzLgorICov
CisjZGVmaW5lIE1BUF9XSVRIX1JNUlIgICAgICAgICAoMXUgPDwgMCkKKyNk
ZWZpbmUgTUFQX09XTkVSX0RZSU5HICAgICAgICgxdSA8PCAxKQorI2RlZmlu
ZSBNQVBfU0lOR0xFX0RFVklDRSAgICAgKDF1IDw8IDIpCisjZGVmaW5lIFVO
TUFQX01FX1BIQU5UT01fRlVOQyAoMXUgPDwgMykKIAogLyogQWxsb3cgZm9y
IGJvdGggSU9BUElDIGFuZCBJT1NBUElDLiAqLwogI2RlZmluZSBJT194QVBJ
Q19yb3V0ZV9lbnRyeSBJT19BUElDX3JvdXRlX2VudHJ5Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFzc2lnbiBkZXZpY2VzIGRpcmVjdGx5CgpEZXZp
Y2VzIHdpdGggdW5pdHkgbWFwIHJhbmdlcywgZHVlIHRvIGl0IGJlaW5nIHVu
c3BlY2lmaWVkIGhvdy93aGVuCnRoZXNlIG1lbW9yeSByYW5nZXMgbWF5IGdl
dCBhY2Nlc3NlZCwgbWF5IG5vdCBiZSBsZWZ0IGRpc2Nvbm5lY3RlZCBmcm9t
CnRoZWlyIHVuaXR5IG1hcHBpbmdzIChhcyBsb25nIGFzIGl0J3Mgbm90IGNl
cnRhaW4gdGhhdCB0aGUgZGV2aWNlIGhhcwpiZWVuIGZ1bGx5IHF1aWVzY2Vk
KS4gSGVuY2UgcmF0aGVyIHRoYW4gdGVhcmluZyBkb3duIHRoZSBvbGQgcm9v
dCBwYWdlCnRhYmxlIHBvaW50ZXIgYW5kIHRoZW4gZXN0YWJsaXNoaW5nIHRo
ZSBuZXcgb25lLCByZS1hc3NpZ25tZW50IG5lZWRzIHRvCmJlIGRvbmUgaW4g
YSBzaW5nbGUgc3RlcC4KClRoaXMgaXMgQ1ZFLTIwMjItMjYzNjAgLyBwYXJ0
IG9mIFhTQS00MDAuCgpSZXBvcnRlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgpTaW1pbGFybHkgcXVhcmFudGluaW5n
IHNjcmF0Y2gtcGFnZSBtb2RlIHJlbGllcyBvbiBwYWdlIHRhYmxlcyB0byBi
ZQpjb250aW51b3VzbHkgd2lyZWQgdXAuCgpUbyBhdm9pZCBjb21wbGljYXRp
bmcgdGhpbmdzIG1vcmUgdGhhbiBuZWNlc3NhcnksIHRyZWF0IGFsbCBkZXZp
Y2VzCm1vc3RseSBlcXVhbGx5LCBpLmUuIHJlZ2FyZGxlc3Mgb2YgdGhlaXIg
YXNzb2NpYXRpb24gd2l0aCBhbnkgdW5pdHkgbWFwCnJhbmdlcy4gIFRoZSBt
YWluIGRpZmZlcmVuY2UgaXMgd2hlbiBpdCBjb21lcyB0byB1cGRhdGluZyBE
VEVzLCB3aGljaCBuZWVkCnRvIGJlIGF0b21pYyB3aGVuIHRoZXJlIGFyZSB1
bml0eSBtYXBwaW5ncy4gWWV0IGF0b21pY2l0eSBjYW4gb25seSBiZQphY2hp
ZXZlZCB3aXRoIENNUFhDSEcxNkIsIGF2YWlsYWJpbGl0eSBvZiB3aGljaCB3
ZSBjYW4ndCB0YWtlIGZvciBnaXZlbi4KClNpZ25lZC1vZmYtYnk6IEphbiBC
ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwg
RHVycmFudCA8cGF1bEB4ZW4ub3JnPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1
IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vaW5j
bHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKKysrIGIv
eGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5o
CkBAIC03OCw4ICs3OCwxMiBAQCB2b2lkIGFtZF9pb21tdV9zaGFyZV9wMm0o
c3RydWN0IGRvbWFpbiAqCiBpbnQgZ2V0X2RtYV9yZXF1ZXN0b3JfaWQodTE2
IHNlZywgdTE2IGJkZik7CiB2b2lkIGFtZF9pb21tdV9zZXRfaW50cmVtYXBf
dGFibGUoCiAgICAgdTMyICpkdGUsIHU2NCBpbnRyZW1hcF9wdHIsIHU4IGlu
dF92YWxpZCk7Ci12b2lkIGFtZF9pb21tdV9zZXRfcm9vdF9wYWdlX3RhYmxl
KAotICAgIHUzMiAqZHRlLCB1NjQgcm9vdF9wdHIsIHUxNiBkb21haW5faWQs
IHU4IHBhZ2luZ19tb2RlLCB1OCB2YWxpZCk7CisjZGVmaW5lIFNFVF9ST09U
X1ZBTElEICAgICAgICAgICgxdSA8PCAwKQorI2RlZmluZSBTRVRfUk9PVF9X
SVRIX1VOSVRZX01BUCAoMXUgPDwgMSkKK2ludCBfX211c3RfY2hlY2sgYW1k
X2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUoCisgICAgdWludDMyX3QgKmR0
ZSwgdWludDY0X3Qgcm9vdF9wdHIsIHVpbnQxNl90IGRvbWFpbl9pZCwgdWlu
dDhfdCBwYWdpbmdfbW9kZSwKKyAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpOwor
cGFkZHJfdCBhbWRfaW9tbXVfZ2V0X3Jvb3RfcGFnZV90YWJsZShjb25zdCB1
aW50MzJfdCAqZHRlKTsKIHZvaWQgaW9tbXVfZHRlX3NldF9pb3RsYih1MzIg
KmR0ZSwgdTggaSk7CiB2b2lkIGlvbW11X2R0ZV9hZGRfZGV2aWNlX2VudHJ5
KHUzMiAqZHRlLCBzdHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19kZXYpOwog
dm9pZCBpb21tdV9kdGVfc2V0X2d1ZXN0X2NyMyh1MzIgKmR0ZSwgdTE2IGRv
bV9pZCwgdTY0IGdjcjMsCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L2FtZC9pb21tdV9tYXAuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC9hbWQvaW9tbXVfbWFwLmMKQEAgLTE1OCwxMiArMTU4LDEwNSBAQCBzdGF0
aWMgdW5zaWduZWQgaW50IHNldF9pb21tdV9wdGVfcHJlc2VuCiAgICAgcmV0
dXJuIGZsdXNoX2ZsYWdzOwogfQogCi12b2lkIGFtZF9pb21tdV9zZXRfcm9v
dF9wYWdlX3RhYmxlKHVpbnQzMl90ICpkdGUsIHVpbnQ2NF90IHJvb3RfcHRy
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZf
dCBkb21haW5faWQsIHVpbnQ4X3QgcGFnaW5nX21vZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgdmFsaWQpCisvKgor
ICogVGhpcyBmdW5jdGlvbiByZXR1cm5zCisgKiAtIC1lcnJubyBmb3IgZXJy
b3JzLAorICogLSAwIGZvciBhIHN1Y2Nlc3NmdWwgdXBkYXRlLCBhdG9taWMg
d2hlbiBuZWNlc3NhcnkKKyAqIC0gMSBmb3IgYSBzdWNjZXNzZnVsIGJ1dCBu
b24tYXRvbWljIHVwZGF0ZSwgd2hpY2ggbWF5IG5lZWQgdG8gYmUgd2FybmVk
CisgKiAgIGFib3V0IGJ5IHRoZSBjYWxsZXIuCisgKi8KK2ludCBhbWRfaW9t
bXVfc2V0X3Jvb3RfcGFnZV90YWJsZSh1aW50MzJfdCAqZHRlLCB1aW50NjRf
dCByb290X3B0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MTZfdCBkb21haW5faWQsIHVpbnQ4X3QgcGFnaW5nX21vZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50
IGZsYWdzKQogeworICAgIGJvb2wgdmFsaWQgPSBmbGFncyAmIFNFVF9ST09U
X1ZBTElEOwogICAgIHVpbnQzMl90IGFkZHJfaGksIGFkZHJfbG8sIGVudHJ5
LCBkdGUwID0gZHRlWzBdOwogCisgICAgYWRkcl9sbyA9IHJvb3RfcHRyICYg
RE1BXzMyQklUX01BU0s7CisgICAgYWRkcl9oaSA9IHJvb3RfcHRyID4+IDMy
OworCisgICAgaWYgKCBnZXRfZmllbGRfZnJvbV9yZWdfdTMyKGR0ZTAsIElP
TU1VX0RFVl9UQUJMRV9WQUxJRF9NQVNLLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBJT01NVV9ERVZfVEFCTEVfVkFMSURfU0hJRlQpICYm
CisgICAgICAgICBnZXRfZmllbGRfZnJvbV9yZWdfdTMyKGR0ZTAsIElPTU1V
X0RFVl9UQUJMRV9UUkFOU0xBVElPTl9WQUxJRF9NQVNLLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9ERVZfVEFCTEVfVFJBTlNM
QVRJT05fVkFMSURfU0hJRlQpICYmCisgICAgICAgICAoY3B1X2hhc19jeDE2
IHx8IChmbGFncyAmIFNFVF9ST09UX1dJVEhfVU5JVFlfTUFQKSkgKQorICAg
IHsKKyAgICAgICAgdW5pb24geworICAgICAgICAgICAgdWludDMyX3QgZHRl
WzRdOworICAgICAgICAgICAgdWludDY0X3QgcmF3NjRbMl07CisgICAgICAg
ICAgICBfX3VpbnQxMjhfdCByYXcxMjg7CisgICAgICAgIH0gbGR0ZTsKKyAg
ICAgICAgX191aW50MTI4X3Qgb2xkOworICAgICAgICBpbnQgcmV0ID0gMDsK
KworICAgICAgICBtZW1jcHkobGR0ZS5kdGUsIGR0ZSwgc2l6ZW9mKGxkdGUp
KTsKKyAgICAgICAgb2xkID0gbGR0ZS5yYXcxMjg7CisKKyAgICAgICAgc2V0
X2ZpZWxkX2luX3JlZ191MzIoZG9tYWluX2lkLCBsZHRlLmR0ZVsyXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVfREVWX1RBQkxFX0RP
TUFJTl9JRF9NQVNLLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ
T01NVV9ERVZfVEFCTEVfRE9NQUlOX0lEX1NISUZULCAmbGR0ZS5kdGVbMl0p
OworCisgICAgICAgIHNldF9maWVsZF9pbl9yZWdfdTMyKGFkZHJfaGksIGxk
dGUuZHRlWzFdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01N
VV9ERVZfVEFCTEVfUEFHRV9UQUJMRV9QVFJfSElHSF9NQVNLLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9ERVZfVEFCTEVfUEFHRV9U
QUJMRV9QVFJfSElHSF9TSElGVCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJmxkdGUuZHRlWzFdKTsKKyAgICAgICAgc2V0X2ZpZWxkX2luX3Jl
Z191MzIoSU9NTVVfQ09OVFJPTF9FTkFCTEVELCBsZHRlLmR0ZVsxXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVfREVWX1RBQkxFX0lP
X1dSSVRFX1BFUk1JU1NJT05fTUFTSywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgSU9NTVVfREVWX1RBQkxFX0lPX1dSSVRFX1BFUk1JU1NJT05f
U0hJRlQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsZHRlLmR0
ZVsxXSk7CisgICAgICAgIHNldF9maWVsZF9pbl9yZWdfdTMyKElPTU1VX0NP
TlRST0xfRU5BQkxFRCwgbGR0ZS5kdGVbMV0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIElPTU1VX0RFVl9UQUJMRV9JT19SRUFEX1BFUk1JU1NJ
T05fTUFTSywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVf
REVWX1RBQkxFX0lPX1JFQURfUEVSTUlTU0lPTl9TSElGVCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJmxkdGUuZHRlWzFdKTsKKworICAgICAg
ICBzZXRfZmllbGRfaW5fcmVnX3UzMihhZGRyX2xvID4+IFBBR0VfU0hJRlQs
IGxkdGUuZHRlWzBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ
T01NVV9ERVZfVEFCTEVfUEFHRV9UQUJMRV9QVFJfTE9XX01BU0ssCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0RFVl9UQUJMRV9QQUdF
X1RBQkxFX1BUUl9MT1dfU0hJRlQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZsZHRlLmR0ZVswXSk7CisgICAgICAgIHNldF9maWVsZF9pbl9y
ZWdfdTMyKHBhZ2luZ19tb2RlLCBsZHRlLmR0ZVswXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgSU9NTVVfREVWX1RBQkxFX1BBR0lOR19NT0RF
X01BU0ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0RF
Vl9UQUJMRV9QQUdJTkdfTU9ERV9TSElGVCwgJmxkdGUuZHRlWzBdKTsKKyAg
ICAgICAgc2V0X2ZpZWxkX2luX3JlZ191MzIoSU9NTVVfQ09OVFJPTF9FTkFC
TEVELCBsZHRlLmR0ZVswXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgSU9NTVVfREVWX1RBQkxFX1RSQU5TTEFUSU9OX1ZBTElEX01BU0ssCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0RFVl9UQUJMRV9U
UkFOU0xBVElPTl9WQUxJRF9TSElGVCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJmxkdGUuZHRlWzBdKTsKKyAgICAgICAgc2V0X2ZpZWxkX2lu
X3JlZ191MzIodmFsaWQgPyBJT01NVV9DT05UUk9MX0VOQUJMRUQKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBJT01NVV9DT05UUk9M
X0RJU0FCTEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZHRl
LmR0ZVswXSwgSU9NTVVfREVWX1RBQkxFX1ZBTElEX01BU0ssCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0RFVl9UQUJMRV9WQUxJRF9T
SElGVCwgJmxkdGUuZHRlWzBdKTsKKworICAgICAgICBpZiAoIGNwdV9oYXNf
Y3gxNiApCisgICAgICAgIHsKKyAgICAgICAgICAgIF9fdWludDEyOF90IHJl
cyA9IGNtcHhjaGcxNmIoZHRlLCAmb2xkLCAmbGR0ZS5yYXcxMjgpOworCisg
ICAgICAgICAgICAvKgorICAgICAgICAgICAgICogSGFyZHdhcmUgZG9lcyBu
b3QgdXBkYXRlIHRoZSBEVEUgYmVoaW5kIG91ciBiYWNrcywgc28gdGhlCisg
ICAgICAgICAgICAgKiByZXR1cm4gdmFsdWUgc2hvdWxkIG1hdGNoICJvbGQi
LgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoIHJlcyAhPSBv
bGQgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHByaW50ayhY
RU5MT0dfRVJSCisgICAgICAgICAgICAgICAgICAgICAgICJEb20lZDogdW5l
eHBlY3RlZCBEVEUgJTAxNmx4XyUwMTZseCAoZXhwZWN0ZWQgJTAxNmx4XyUw
MTZseClcbiIsCisgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbl9pZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQ2NF90KShyZXMgPj4gNjQp
LCAodWludDY0X3QpcmVzLAorICAgICAgICAgICAgICAgICAgICAgICAodWlu
dDY0X3QpKG9sZCA+PiA2NCksICh1aW50NjRfdClvbGQpOworICAgICAgICAg
ICAgICAgIHJldCA9IC1FSUxTRVE7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgZWxzZSAvKiBCZXN0IGVmZm9ydCwgdXBkYXRpbmcgZG9t
YWluX2lkIGxhc3QuICovCisgICAgICAgIHsKKyAgICAgICAgICAgIHVpbnQ2
NF90ICpwdHIgPSAodm9pZCAqKWR0ZTsKKworICAgICAgICAgICAgd3JpdGVf
YXRvbWljKHB0ciArIDAsIGxkdGUucmF3NjRbMF0pOworICAgICAgICAgICAg
LyogTm8gYmFycmllciBzaG91bGQgYmUgbmVlZGVkIGJldHdlZW4gdGhlc2Ug
dHdvLiAqLworICAgICAgICAgICAgd3JpdGVfYXRvbWljKHB0ciArIDEsIGxk
dGUucmF3NjRbMV0pOworCisgICAgICAgICAgICByZXQgPSAxOworICAgICAg
ICB9CisKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKICAgICBpZiAo
IHZhbGlkIHx8CiAgICAgICAgICBnZXRfZmllbGRfZnJvbV9yZWdfdTMyKGR0
ZTAsIElPTU1VX0RFVl9UQUJMRV9WQUxJRF9NQVNLLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBJT01NVV9ERVZfVEFCTEVfVkFMSURfU0hJ
RlQpICkKQEAgLTE4Myw5ICsyNzYsNiBAQCB2b2lkIGFtZF9pb21tdV9zZXRf
cm9vdF9wYWdlX3RhYmxlKHVpbnQzCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgSU9NTVVfREVWX1RBQkxFX0RPTUFJTl9JRF9TSElGVCwgJmVudHJ5KTsK
ICAgICBkdGVbMl0gPSBlbnRyeTsKIAotICAgIGFkZHJfbG8gPSByb290X3B0
ciAmIERNQV8zMkJJVF9NQVNLOwotICAgIGFkZHJfaGkgPSByb290X3B0ciA+
PiAzMjsKLQogICAgIHNldF9maWVsZF9pbl9yZWdfdTMyKGFkZHJfaGksIDAs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVfREVWX1RBQkxFX1BB
R0VfVEFCTEVfUFRSX0hJR0hfTUFTSywKICAgICAgICAgICAgICAgICAgICAg
ICAgICBJT01NVV9ERVZfVEFCTEVfUEFHRV9UQUJMRV9QVFJfSElHSF9TSElG
VCwgJmVudHJ5KTsKQEAgLTIxMiw2ICszMDIsMjAgQEAgdm9pZCBhbWRfaW9t
bXVfc2V0X3Jvb3RfcGFnZV90YWJsZSh1aW50MwogICAgICAgICAgICAgICAg
ICAgICAgICAgIElPTU1VX0RFVl9UQUJMRV9WQUxJRF9NQVNLLAogICAgICAg
ICAgICAgICAgICAgICAgICAgIElPTU1VX0RFVl9UQUJMRV9WQUxJRF9TSElG
VCwgJmVudHJ5KTsKICAgICB3cml0ZV9hdG9taWMoJmR0ZVswXSwgZW50cnkp
OworCisgICAgcmV0dXJuIDA7Cit9CisKK3BhZGRyX3QgYW1kX2lvbW11X2dl
dF9yb290X3BhZ2VfdGFibGUoY29uc3QgdWludDMyX3QgKmR0ZSkKK3sKKyAg
ICB1aW50MzJfdCBsbyA9IGdldF9maWVsZF9mcm9tX3JlZ191MzIoCisgICAg
ICAgICAgICAgICAgICAgICAgZHRlWzBdLCBJT01NVV9ERVZfVEFCTEVfUEFH
RV9UQUJMRV9QVFJfTE9XX01BU0ssCisgICAgICAgICAgICAgICAgICAgICAg
SU9NTVVfREVWX1RBQkxFX1BBR0VfVEFCTEVfUFRSX0xPV19TSElGVCk7Cisg
ICAgdWludDMyX3QgaGkgPSBnZXRfZmllbGRfZnJvbV9yZWdfdTMyKAorICAg
ICAgICAgICAgICAgICAgICAgIGR0ZVsxXSwgSU9NTVVfREVWX1RBQkxFX1BB
R0VfVEFCTEVfUFRSX0hJR0hfTUFTSywKKyAgICAgICAgICAgICAgICAgICAg
ICBJT01NVV9ERVZfVEFCTEVfUEFHRV9UQUJMRV9QVFJfSElHSF9TSElGVCk7
CisKKyAgICByZXR1cm4gKChwYWRkcl90KWhpIDw8IDMyKSB8IChsbyA8PCBQ
QUdFX1NISUZUKTsKIH0KIAogdm9pZCBpb21tdV9kdGVfc2V0X2lvdGxiKHVp
bnQzMl90ICpkdGUsIHVpbnQ4X3QgaSkKLS0tIGEveGVuL2RyaXZlcnMvcGFz
c3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC0xMDksMjIg
KzEwOSw2MCBAQCBzdGF0aWMgdm9pZCBkaXNhYmxlX3RyYW5zbGF0aW9uKHUz
MiAqZHRlCiAgICAgZHRlWzBdID0gZW50cnk7CiB9CiAKLXN0YXRpYyB2b2lk
IGFtZF9pb21tdV9zZXR1cF9kb21haW5fZGV2aWNlKAorc3RhdGljIGludCBf
X211c3RfY2hlY2sgYWxsb2NhdGVfZG9tYWluX3Jlc291cmNlcyhzdHJ1Y3Qg
ZG9tYWluX2lvbW11ICpoZCkKK3sKKyAgICBpbnQgcmM7CisKKyAgICBzcGlu
X2xvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CisgICAgcmMgPSBhbWRf
aW9tbXVfYWxsb2Nfcm9vdChoZCk7CisgICAgc3Bpbl91bmxvY2soJmhkLT5h
cmNoLm1hcHBpbmdfbG9jayk7CisKKyAgICByZXR1cm4gcmM7Cit9CisKK3N0
YXRpYyBib29sIGFueV9wZGV2X2JlaGluZF9pb21tdShjb25zdCBzdHJ1Y3Qg
ZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpleGNsdWRlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBhbWRfaW9tbXUg
KmlvbW11KQoreworICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2Owor
CisgICAgZm9yX2VhY2hfcGRldiAoIGQsIHBkZXYgKQorICAgIHsKKyAgICAg
ICAgaWYgKCBwZGV2ID09IGV4Y2x1ZGUgKQorICAgICAgICAgICAgY29udGlu
dWU7CisKKyAgICAgICAgaWYgKCBmaW5kX2lvbW11X2Zvcl9kZXZpY2UocGRl
di0+c2VnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ
Q0lfQkRGMihwZGV2LT5idXMsIHBkZXYtPmRldmZuKSkgPT0gaW9tbXUgKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJu
IGZhbHNlOworfQorCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBhbWRfaW9t
bXVfc2V0dXBfZG9tYWluX2RldmljZSgKICAgICBzdHJ1Y3QgZG9tYWluICpk
b21haW4sIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAogICAgIHU4IGRldmZu
LCBzdHJ1Y3QgcGNpX2RldiAqcGRldikKIHsKLSAgICB2b2lkICpkdGU7Cisg
ICAgdWludDMyX3QgKmR0ZTsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwot
ICAgIGludCByZXFfaWQsIHZhbGlkID0gMTsKLSAgICBpbnQgZHRlX2kgPSAw
OworICAgIHVuc2lnbmVkIGludCByZXFfaWQsIHNyX2ZsYWdzOworICAgIGlu
dCBkdGVfaSA9IDAsIHJjOwogICAgIHU4IGJ1cyA9IHBkZXYtPmJ1czsKLSAg
ICBjb25zdCBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShk
b21haW4pOworICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lv
bW11KGRvbWFpbik7CisgICAgY29uc3Qgc3RydWN0IGl2cnNfbWFwcGluZ3Mg
Kml2cnNfZGV2OworCisgICAgQlVHX09OKCFoZC0+YXJjaC5wYWdpbmdfbW9k
ZSB8fCAhaW9tbXUtPmRldl90YWJsZS5idWZmZXIpOwogCi0gICAgQlVHX09O
KCAhaGQtPmFyY2gucm9vdF90YWJsZSB8fCAhaGQtPmFyY2gucGFnaW5nX21v
ZGUgfHwKLSAgICAgICAgICAgICFpb21tdS0+ZGV2X3RhYmxlLmJ1ZmZlciAp
OworICAgIHJjID0gYWxsb2NhdGVfZG9tYWluX3Jlc291cmNlcyhoZCk7Cisg
ICAgaWYgKCByYyApCisgICAgICAgIHJldHVybiByYzsKIAotICAgIGlmICgg
aW9tbXVfaHdkb21fcGFzc3Rocm91Z2ggJiYgaXNfaGFyZHdhcmVfZG9tYWlu
KGRvbWFpbikgKQotICAgICAgICB2YWxpZCA9IDA7CisgICAgcmVxX2lkID0g
Z2V0X2RtYV9yZXF1ZXN0b3JfaWQoaW9tbXUtPnNlZywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBQQ0lfQkRGMihwZGV2LT5idXMsIHBk
ZXYtPmRldmZuKSk7CisgICAgaXZyc19kZXYgPSAmZ2V0X2l2cnNfbWFwcGlu
Z3MoaW9tbXUtPnNlZylbcmVxX2lkXTsKKyAgICBzcl9mbGFncyA9IChpb21t
dV9od2RvbV9wYXNzdGhyb3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZG9t
YWluKQorICAgICAgICAgICAgICAgID8gMCA6IFNFVF9ST09UX1ZBTElEKQor
ICAgICAgICAgICAgICAgfCAoaXZyc19kZXYtPnVuaXR5X21hcCA/IFNFVF9S
T09UX1dJVEhfVU5JVFlfTUFQIDogMCk7CiAKICAgICBpZiAoIGF0c19lbmFi
bGVkICkKICAgICAgICAgZHRlX2kgPSAxOwpAQCAtMTMyLDMyICsxNzAsODcg
QEAgc3RhdGljIHZvaWQgYW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZpYwog
ICAgIC8qIGdldCBkZXZpY2UtdGFibGUgZW50cnkgKi8KICAgICByZXFfaWQg
PSBnZXRfZG1hX3JlcXVlc3Rvcl9pZChpb21tdS0+c2VnLCBQQ0lfQkRGMihi
dXMsIGRldmZuKSk7CiAgICAgZHRlID0gaW9tbXUtPmRldl90YWJsZS5idWZm
ZXIgKyAocmVxX2lkICogSU9NTVVfREVWX1RBQkxFX0VOVFJZX1NJWkUpOwor
ICAgIGl2cnNfZGV2ID0gJmdldF9pdnJzX21hcHBpbmdzKGlvbW11LT5zZWcp
W3JlcV9pZF07CiAKICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmaW9tbXUtPmxv
Y2ssIGZsYWdzKTsKIAogICAgIGlmICggIWlzX3RyYW5zbGF0aW9uX3ZhbGlk
KCh1MzIgKilkdGUpICkKICAgICB7CiAgICAgICAgIC8qIGJpbmQgRFRFIHRv
IGRvbWFpbiBwYWdlLXRhYmxlcyAqLwotICAgICAgICBhbWRfaW9tbXVfc2V0
X3Jvb3RfcGFnZV90YWJsZSgKLSAgICAgICAgICAgICh1MzIgKilkdGUsIHBh
Z2VfdG9fbWFkZHIoaGQtPmFyY2gucm9vdF90YWJsZSksIGRvbWFpbi0+ZG9t
YWluX2lkLAotICAgICAgICAgICAgaGQtPmFyY2gucGFnaW5nX21vZGUsIHZh
bGlkKTsKKyAgICAgICAgcmMgPSBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90
YWJsZSgKKyAgICAgICAgICAgICAgICAgZHRlLCBwYWdlX3RvX21hZGRyKGhk
LT5hcmNoLnJvb3RfdGFibGUpLAorICAgICAgICAgICAgICAgICBkb21haW4t
PmRvbWFpbl9pZCwgaGQtPmFyY2gucGFnaW5nX21vZGUsIHNyX2ZsYWdzKTsK
KyAgICAgICAgaWYgKCByYyApCisgICAgICAgIHsKKyAgICAgICAgICAgIEFT
U0VSVChyYyA8IDApOworICAgICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVz
dG9yZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsKKyAgICAgICAgICAgIHJldHVy
biByYzsKKyAgICAgICAgfQogCiAgICAgICAgIGlmICggcGNpX2F0c19kZXZp
Y2UoaW9tbXUtPnNlZywgYnVzLCBwZGV2LT5kZXZmbikgJiYKICAgICAgICAg
ICAgICBpb21tdV9oYXNfY2FwKGlvbW11LCBQQ0lfQ0FQX0lPVExCX1NISUZU
KSApCiAgICAgICAgICAgICBpb21tdV9kdGVfc2V0X2lvdGxiKCh1MzIgKilk
dGUsIGR0ZV9pKTsKIAogICAgICAgICBhbWRfaW9tbXVfZmx1c2hfZGV2aWNl
KGlvbW11LCByZXFfaWQpOworICAgIH0KKyAgICBlbHNlIGlmICggYW1kX2lv
bW11X2dldF9yb290X3BhZ2VfdGFibGUoZHRlKSAhPQorICAgICAgICAgICAg
ICBwYWdlX3RvX21hZGRyKGhkLT5hcmNoLnJvb3RfdGFibGUpICkKKyAgICB7
CisgICAgICAgIC8qCisgICAgICAgICAqIFN0cmljdGx5IHNwZWFraW5nIGlm
IHRoZSBkZXZpY2UgaXMgdGhlIG9ubHkgb25lIHdpdGggdGhpcyByZXF1ZXN0
b3IKKyAgICAgICAgICogSUQsIGl0IGNvdWxkIGJlIGFsbG93ZWQgdG8gYmUg
cmUtYXNzaWduZWQgcmVnYXJkbGVzcyBvZiB1bml0eSBtYXAKKyAgICAgICAg
ICogcHJlc2VuY2UuICBCdXQgbGV0J3MgZGVhbCB3aXRoIHRoYXQgY2FzZSBv
bmx5IGlmIGl0IGlzIGFjdHVhbGx5CisgICAgICAgICAqIGZvdW5kIGluIHRo
ZSB3aWxkLgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCByZXFfaWQgIT0g
UENJX0JERjIoYnVzLCBkZXZmbikgJiYKKyAgICAgICAgICAgICAoc3JfZmxh
Z3MgJiBTRVRfUk9PVF9XSVRIX1VOSVRZX01BUCkgKQorICAgICAgICAgICAg
cmMgPSAtRU9QTk9UU1VQUDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
cmMgPSBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJsZSgKKyAgICAgICAg
ICAgICAgICAgICAgIGR0ZSwgcGFnZV90b19tYWRkcihoZC0+YXJjaC5yb290
X3RhYmxlKSwKKyAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWlu
X2lkLCBoZC0+YXJjaC5wYWdpbmdfbW9kZSwgc3JfZmxhZ3MpOworICAgICAg
ICBpZiAoIHJjIDwgMCApCisgICAgICAgIHsKKyAgICAgICAgICAgIHNwaW5f
dW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5sb2NrLCBmbGFncyk7CisgICAg
ICAgICAgICByZXR1cm4gcmM7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCBy
YyAmJgorICAgICAgICAgICAgIGRvbWFpbiAhPSBwZGV2LT5kb21haW4gJiYK
KyAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAqIEJ5IG5vbi1hdG9t
aWNhbGx5IHVwZGF0aW5nIHRoZSBEVEUncyBkb21haW4gSUQgZmllbGQgbGFz
dCwKKyAgICAgICAgICAgICAgKiBkdXJpbmcgYSBzaG9ydCB3aW5kb3cgaW4g
dGltZSBUTEIgZW50cmllcyB3aXRoIHRoZSBvbGQgZG9tYWluCisgICAgICAg
ICAgICAgICogSUQgYnV0IHRoZSBuZXcgcGFnZSB0YWJsZXMgbWF5IGhhdmUg
YmVlbiBpbnNlcnRlZC4gIFRoaXMgY291bGQKKyAgICAgICAgICAgICAgKiBh
ZmZlY3QgSS9PIG9mIG90aGVyIGRldmljZXMgdXNpbmcgdGhpcyBzYW1lIChv
bGQpIGRvbWFpbiBJRC4KKyAgICAgICAgICAgICAgKiBTdWNoIHVwZGF0aW5n
IHRoZXJlZm9yZSBpcyBub3QgYSBwcm9ibGVtIGlmIHRoaXMgd2FzIHRoZSBv
bmx5CisgICAgICAgICAgICAgICogZGV2aWNlIGFzc29jaWF0ZWQgd2l0aCB0
aGUgb2xkIGRvbWFpbiBJRC4gIERpdmVydGluZyBJL08gb2YgYW55CisgICAg
ICAgICAgICAgICogb2YgYSBkeWluZyBkb21haW4ncyBkZXZpY2VzIHRvIHRo
ZSBxdWFyYW50aW5lIHBhZ2UgdGFibGVzIGlzCisgICAgICAgICAgICAgICog
aW50ZW5kZWQgYW55d2F5LgorICAgICAgICAgICAgICAqLworICAgICAgICAg
ICAgICFwZGV2LT5kb21haW4tPmlzX2R5aW5nICYmCisgICAgICAgICAgICAg
KGFueV9wZGV2X2JlaGluZF9pb21tdShwZGV2LT5kb21haW4sIHBkZXYsIGlv
bW11KSB8fAorICAgICAgICAgICAgICBwZGV2LT5waGFudG9tX3N0cmlkZSkg
KQorICAgICAgICAgICAgcHJpbnRrKCIgJTA0eDolMDJ4OiUwMnguJXU6IHJl
YXNzaWdubWVudCBtYXkgY2F1c2UgJXBkIGRhdGEgY29ycnVwdGlvblxuIiwK
KyAgICAgICAgICAgICAgICAgICBwZGV2LT5zZWcsIGJ1cywgUENJX1NMT1Qo
ZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbiksCisgICAgICAgICAgICAgICAgICAg
cGRldi0+ZG9tYWluKTsKIAotICAgICAgICBBTURfSU9NTVVfREVCVUcoIlNl
dHVwIEkvTyBwYWdlIHRhYmxlOiBkZXZpY2UgaWQgPSAlI3gsIHR5cGUgPSAl
I3gsICIKLSAgICAgICAgICAgICAgICAgICAgICAgICJyb290IHRhYmxlID0g
JSMiUFJJeDY0IiwgIgotICAgICAgICAgICAgICAgICAgICAgICAgImRvbWFp
biA9ICVkLCBwYWdpbmcgbW9kZSA9ICVkXG4iLAotICAgICAgICAgICAgICAg
ICAgICAgICAgcmVxX2lkLCBwZGV2LT50eXBlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgcGFnZV90b19tYWRkcihoZC0+YXJjaC5yb290X3RhYmxlKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkLCBo
ZC0+YXJjaC5wYWdpbmdfbW9kZSk7CisgICAgICAgIGlmICggcGNpX2F0c19k
ZXZpY2UoaW9tbXUtPnNlZywgYnVzLCBwZGV2LT5kZXZmbikgJiYKKyAgICAg
ICAgICAgICBpb21tdV9oYXNfY2FwKGlvbW11LCBQQ0lfQ0FQX0lPVExCX1NI
SUZUKSApCisgICAgICAgICAgICBBU1NFUlQoZ2V0X2ZpZWxkX2Zyb21fcmVn
X3UzMigKKyAgICAgICAgICAgICAgICAgICAgICAgZHRlWzNdLCBJT01NVV9E
RVZfVEFCTEVfSU9UTEJfU1VQUE9SVF9NQVNLLAorICAgICAgICAgICAgICAg
ICAgICAgICBJT01NVV9ERVZfVEFCTEVfSU9UTEJfU1VQUE9SVF9TSElGVCkg
PT0gZHRlX2kpOworCisgICAgICAgIGFtZF9pb21tdV9mbHVzaF9kZXZpY2Uo
aW9tbXUsIHJlcV9pZCk7CiAgICAgfQogCiAgICAgc3Bpbl91bmxvY2tfaXJx
cmVzdG9yZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsKIAorICAgIEFNRF9JT01N
VV9ERUJVRygiU2V0dXAgSS9PIHBhZ2UgdGFibGU6IGRldmljZSBpZCA9ICUj
eCwgdHlwZSA9ICUjeCwgIgorICAgICAgICAgICAgICAgICAgICAicm9vdCB0
YWJsZSA9ICUjIlBSSXg2NCIsICIKKyAgICAgICAgICAgICAgICAgICAgImRv
bWFpbiA9ICVkLCBwYWdpbmcgbW9kZSA9ICVkXG4iLAorICAgICAgICAgICAg
ICAgICAgICByZXFfaWQsIHBkZXYtPnR5cGUsCisgICAgICAgICAgICAgICAg
ICAgIHBhZ2VfdG9fbWFkZHIoaGQtPmFyY2gucm9vdF90YWJsZSksCisgICAg
ICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkLCBoZC0+YXJjaC5w
YWdpbmdfbW9kZSk7CisKICAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7
CiAKICAgICBpZiAoIHBjaV9hdHNfZGV2aWNlKGlvbW11LT5zZWcsIGJ1cywg
cGRldi0+ZGV2Zm4pICYmCkBAIC0xNjgsNiArMjYxLDggQEAgc3RhdGljIHZv
aWQgYW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZpYwogCiAgICAgICAgIGFt
ZF9pb21tdV9mbHVzaF9pb3RsYihkZXZmbiwgcGRldiwgSU5WX0lPTU1VX0FM
TF9QQUdFU19BRERSRVNTLCAwKTsKICAgICB9CisKKyAgICByZXR1cm4gMDsK
IH0KIAogaW50IF9faW5pdCBhbWRfaW92X2RldGVjdCh2b2lkKQpAQCAtMjEx
LDE3ICszMDYsNiBAQCBpbnQgYW1kX2lvbW11X2FsbG9jX3Jvb3Qoc3RydWN0
IGRvbWFpbl9pCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgX19t
dXN0X2NoZWNrIGFsbG9jYXRlX2RvbWFpbl9yZXNvdXJjZXMoc3RydWN0IGRv
bWFpbl9pb21tdSAqaGQpCi17Ci0gICAgaW50IHJjOwotCi0gICAgc3Bpbl9s
b2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwotICAgIHJjID0gYW1kX2lv
bW11X2FsbG9jX3Jvb3QoaGQpOwotICAgIHNwaW5fdW5sb2NrKCZoZC0+YXJj
aC5tYXBwaW5nX2xvY2spOwotCi0gICAgcmV0dXJuIHJjOwotfQotCiBpbnQg
X19yZWFkX21vc3RseSBhbWRfaW9tbXVfbWluX3BhZ2luZ19tb2RlID0gMTsK
IAogc3RhdGljIGludCBhbWRfaW9tbXVfZG9tYWluX2luaXQoc3RydWN0IGRv
bWFpbiAqZCkKQEAgLTMxMCw3ICszOTQsNiBAQCBzdGF0aWMgaW50IHJlYXNz
aWduX2RldmljZShzdHJ1Y3QgZG9tYWluCiB7CiAgICAgc3RydWN0IGFtZF9p
b21tdSAqaW9tbXU7CiAgICAgaW50IGJkZiwgcmM7Ci0gICAgc3RydWN0IGRv
bWFpbl9pb21tdSAqdCA9IGRvbV9pb21tdSh0YXJnZXQpOwogICAgIGNvbnN0
IHN0cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX21hcHBpbmdzID0gZ2V0X2l2
cnNfbWFwcGluZ3MocGRldi0+c2VnKTsKIAogICAgIGJkZiA9IFBDSV9CREYy
KHBkZXYtPmJ1cywgcGRldi0+ZGV2Zm4pOwpAQCAtMzI0LDcgKzQwNywxNSBA
QCBzdGF0aWMgaW50IHJlYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluCiAg
ICAgICAgIHJldHVybiAtRU5PREVWOwogICAgIH0KIAotICAgIGFtZF9pb21t
dV9kaXNhYmxlX2RvbWFpbl9kZXZpY2Uoc291cmNlLCBpb21tdSwgZGV2Zm4s
IHBkZXYpOworICAgIHJjID0gYW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZp
Y2UodGFyZ2V0LCBpb21tdSwgZGV2Zm4sIHBkZXYpOworICAgIGlmICggcmMg
KQorICAgICAgICByZXR1cm4gcmM7CisKKyAgICBpZiAoIGRldmZuID09IHBk
ZXYtPmRldmZuICYmIHBkZXYtPmRvbWFpbiAhPSB0YXJnZXQgKQorICAgIHsK
KyAgICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5fbGlzdCwgJnRhcmdl
dC0+YXJjaC5wZGV2X2xpc3QpOworICAgICAgICBwZGV2LT5kb21haW4gPSB0
YXJnZXQ7CisgICAgfQogCiAgICAgLyoKICAgICAgKiBJZiB0aGUgZGV2aWNl
IGJlbG9uZ3MgdG8gdGhlIGhhcmR3YXJlIGRvbWFpbiwgYW5kIGl0IGhhcyBh
IHVuaXR5IG1hcHBpbmcsCkBAIC0zNDAsMjcgKzQzMSwxMCBAQCBzdGF0aWMg
aW50IHJlYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluCiAgICAgICAgICAg
ICByZXR1cm4gcmM7CiAgICAgfQogCi0gICAgaWYgKCBkZXZmbiA9PSBwZGV2
LT5kZXZmbiAmJiBwZGV2LT5kb21haW4gIT0gZG9tX2lvICkKLSAgICB7Ci0g
ICAgICAgIGxpc3RfbW92ZSgmcGRldi0+ZG9tYWluX2xpc3QsICZkb21faW8t
PmFyY2gucGRldl9saXN0KTsKLSAgICAgICAgcGRldi0+ZG9tYWluID0gZG9t
X2lvOwotICAgIH0KLQotICAgIHJjID0gYWxsb2NhdGVfZG9tYWluX3Jlc291
cmNlcyh0KTsKLSAgICBpZiAoIHJjICkKLSAgICAgICAgcmV0dXJuIHJjOwot
Ci0gICAgYW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZpY2UodGFyZ2V0LCBp
b21tdSwgZGV2Zm4sIHBkZXYpOwogICAgIEFNRF9JT01NVV9ERUJVRygiUmUt
YXNzaWduICUwNHg6JTAyeDolMDJ4LiV1IGZyb20gZG9tJWQgdG8gZG9tJWRc
biIsCiAgICAgICAgICAgICAgICAgICAgIHBkZXYtPnNlZywgcGRldi0+YnVz
LCBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSwKICAgICAgICAg
ICAgICAgICAgICAgc291cmNlLT5kb21haW5faWQsIHRhcmdldC0+ZG9tYWlu
X2lkKTsKIAotICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRl
di0+ZG9tYWluICE9IHRhcmdldCApCi0gICAgewotICAgICAgICBsaXN0X21v
dmUoJnBkZXYtPmRvbWFpbl9saXN0LCAmdGFyZ2V0LT5hcmNoLnBkZXZfbGlz
dCk7Ci0gICAgICAgIHBkZXYtPmRvbWFpbiA9IHRhcmdldDsKLSAgICB9Ci0K
ICAgICByZXR1cm4gMDsKIH0KIApAQCAtNDkxLDggKzU2NSw3IEBAIHN0YXRp
YyBpbnQgYW1kX2lvbW11X2FkZF9kZXZpY2UodTggZGV2Zm4KICAgICAgICAg
cmV0dXJuIC1FTk9ERVY7CiAgICAgfQogCi0gICAgYW1kX2lvbW11X3NldHVw
X2RvbWFpbl9kZXZpY2UocGRldi0+ZG9tYWluLCBpb21tdSwgZGV2Zm4sIHBk
ZXYpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBhbWRfaW9tbXVfc2V0
dXBfZG9tYWluX2RldmljZShwZGV2LT5kb21haW4sIGlvbW11LCBkZXZmbiwg
cGRldik7CiB9CiAKIHN0YXRpYyBpbnQgYW1kX2lvbW11X3JlbW92ZV9kZXZp
Y2UodTggZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICpwZGV2KQo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBwcmVwYXJlIGZvciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFn
ZSB0YWJsZXMgKHBhcnQgSSkKCkFycmFuZ2UgZm9yIGRvbWFpbiBJRCBhbmQg
cGFnZSB0YWJsZSByb290IHRvIGJlIHBhc3NlZCBhcm91bmQsIHRoZSBsYXR0
ZXIgaW4KcGFydGljdWxhciB0byBkb21haW5fcGdkX21hZGRyKCkgc3VjaCB0
aGF0IHRha2luZyBpdCBmcm9tIHRoZSBwZXItZG9tYWluCmZpZWxkcyBjYW4g
YmUgb3ZlcnJpZGRlbi4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVk
LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5A
aW50ZWwuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2V4dGVybi5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9l
eHRlcm4uaApAQCAtNzIsOSArNzIsMTAgQEAgdm9pZCAqbWFwX3Z0ZF9kb21h
aW5fcGFnZSh1NjQgbWFkZHIpOwogdm9pZCB1bm1hcF92dGRfZG9tYWluX3Bh
Z2Uodm9pZCAqdmEpOwogaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25l
KHN0cnVjdCBkb21haW4gKmRvbWFpbiwgc3RydWN0IGlvbW11ICppb21tdSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGJ1cywg
dWludDhfdCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwgdW5zaWduZWQgaW50IG1v
ZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBwY2lfZGV2ICpwZGV2LCBkb21pZF90IGRvbWlkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3QgcGdkX21hZGRyLCB1bnNp
Z25lZCBpbnQgbW9kZSk7CiBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXBfb25l
KHN0cnVjdCBkb21haW4gKmRvbWFpbiwgc3RydWN0IGlvbW11ICppb21tdSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggYnVzLCB1OCBkZXZm
bik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgYnVz
LCB1aW50OF90IGRldmZuLCBkb21pZF90IGRvbWlkKTsKIGludCBpbnRlbF9p
b21tdV9nZXRfcmVzZXJ2ZWRfZGV2aWNlX21lbW9yeShpb21tdV9ncmRtX3Qg
KmZ1bmMsIHZvaWQgKmN0eHQpOwogCiB1bnNpZ25lZCBpbnQgaW9fYXBpY19y
ZWFkX3JlbWFwX3J0ZSh1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50
IHJlZyk7CkBAIC05Myw3ICs5NCw4IEBAIHZvaWQgcGxhdGZvcm1fcXVpcmtz
X2luaXQodm9pZCk7CiB2b2lkIHZ0ZF9vcHNfcHJlYW1ibGVfcXVpcmsoc3Ry
dWN0IGlvbW11KiBpb21tdSk7CiB2b2lkIHZ0ZF9vcHNfcG9zdGFtYmxlX3F1
aXJrKHN0cnVjdCBpb21tdSogaW9tbXUpOwogaW50IF9fbXVzdF9jaGVjayBt
ZV93aWZpX3F1aXJrKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdWludDhfdCBi
dXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBk
ZXZmbiwgdW5zaWduZWQgaW50IG1vZGUpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQ4X3QgZGV2Zm4sIGRvbWlkX3QgZG9taWQsIHBh
ZGRyX3QgcGdkX21hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGludCBtb2RlKTsKIHZvaWQgcGNpX3Z0ZF9xdWlyayhj
b25zdCBzdHJ1Y3QgcGNpX2RldiAqKTsKIHZvaWQgcXVpcmtfaW9tbXVfY2Fw
cyhzdHJ1Y3QgaW9tbXUgKmlvbW11KTsKIAotLS0gYS94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC92dGQvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNz
dGhyb3VnaC92dGQvaW9tbXUuYwpAQCAtMTQwNSwxMiArMTQwNSwxMiBAQCBp
bnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgc3RydWN0IGRv
bWFpbiAqZG9tYWluLAogICAgIHN0cnVjdCBpb21tdSAqaW9tbXUsCiAgICAg
dWludDhfdCBidXMsIHVpbnQ4X3QgZGV2Zm4sIGNvbnN0IHN0cnVjdCBwY2lf
ZGV2ICpwZGV2LAotICAgIHVuc2lnbmVkIGludCBtb2RlKQorICAgIGRvbWlk
X3QgZG9taWQsIHBhZGRyX3QgcGdkX21hZGRyLCB1bnNpZ25lZCBpbnQgbW9k
ZSkKIHsKICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21t
dShkb21haW4pOwogICAgIHN0cnVjdCBjb250ZXh0X2VudHJ5ICpjb250ZXh0
LCAqY29udGV4dF9lbnRyaWVzLCBsY3R4dDsKICAgICBfX3VpbnQxMjhfdCBv
bGQ7Ci0gICAgdTY0IG1hZGRyLCBwZ2RfbWFkZHI7CisgICAgdWludDY0X3Qg
bWFkZHI7CiAgICAgdWludDE2X3Qgc2VnID0gaW9tbXUtPmludGVsLT5kcmhk
LT5zZWdtZW50LCBwcmV2X2RpZCA9IDA7CiAgICAgc3RydWN0IGRvbWFpbiAq
cHJldl9kb20gPSBOVUxMOwogICAgIGludCBhZ2F3LCByYywgcmV0OwpAQCAt
MTQ1MSwxMCArMTQ1MSwxMiBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGlu
Z19vbmUoCiAgICAgfQogICAgIGVsc2UKICAgICB7CisgICAgICAgIHBhZGRy
X3Qgcm9vdCA9IHBnZF9tYWRkcjsKKwogICAgICAgICBzcGluX2xvY2soJmhk
LT5hcmNoLm1hcHBpbmdfbG9jayk7CiAKICAgICAgICAgLyogRW5zdXJlIHdl
IGhhdmUgcGFnZXRhYmxlcyBhbGxvY2F0ZWQgZG93biB0byBsZWFmIFBURS4g
Ki8KLSAgICAgICAgaWYgKCBoZC0+YXJjaC5wZ2RfbWFkZHIgPT0gMCApCisg
ICAgICAgIGlmICggIXJvb3QgKQogICAgICAgICB7CiAgICAgICAgICAgICBh
ZGRyX3RvX2RtYV9wYWdlX21hZGRyKGRvbWFpbiwgMCwgMSk7CiAgICAgICAg
ICAgICBpZiAoIGhkLT5hcmNoLnBnZF9tYWRkciA9PSAwICkKQEAgLTE0Njcs
MjIgKzE0NjksMjQgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25l
KAogICAgICAgICAgICAgICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihwcmV2
X2RvbSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIHJvb3QgPSBoZC0+YXJjaC5wZ2Rf
bWFkZHI7CiAgICAgICAgIH0KIAogICAgICAgICAvKiBTa2lwIHRvcCBsZXZl
bHMgb2YgcGFnZSB0YWJsZXMgZm9yIDItIGFuZCAzLWxldmVsIERSSERzLiAq
LwotICAgICAgICBwZ2RfbWFkZHIgPSBoZC0+YXJjaC5wZ2RfbWFkZHI7CiAg
ICAgICAgIGZvciAoIGFnYXcgPSBsZXZlbF90b19hZ2F3KDQpOwogICAgICAg
ICAgICAgICBhZ2F3ICE9IGxldmVsX3RvX2FnYXcoaW9tbXUtPm5yX3B0X2xl
dmVscyk7CiAgICAgICAgICAgICAgIGFnYXctLSApCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIHN0cnVjdCBkbWFfcHRlICpwID0gbWFwX3Z0ZF9kb21haW5f
cGFnZShwZ2RfbWFkZHIpOwotICAgICAgICAgICAgcGdkX21hZGRyID0gZG1h
X3B0ZV9hZGRyKCpwKTsKKyAgICAgICAgICAgIHN0cnVjdCBkbWFfcHRlICpw
ID0gbWFwX3Z0ZF9kb21haW5fcGFnZShyb290KTsKKworICAgICAgICAgICAg
cm9vdCA9IGRtYV9wdGVfYWRkcigqcCk7CiAgICAgICAgICAgICB1bm1hcF92
dGRfZG9tYWluX3BhZ2UocCk7Ci0gICAgICAgICAgICBpZiAoIHBnZF9tYWRk
ciA9PSAwICkKKyAgICAgICAgICAgIGlmICggIXJvb3QgKQogICAgICAgICAg
ICAgICAgIGdvdG8gbm9tZW07CiAgICAgICAgIH0KIAotICAgICAgICBjb250
ZXh0X3NldF9hZGRyZXNzX3Jvb3QobGN0eHQsIHBnZF9tYWRkcik7CisgICAg
ICAgIGNvbnRleHRfc2V0X2FkZHJlc3Nfcm9vdChsY3R4dCwgcm9vdCk7CiAg
ICAgICAgIGlmICggYXRzX2VuYWJsZWQgJiYgZWNhcF9kZXZfaW90bGIoaW9t
bXUtPmVjYXApICkKICAgICAgICAgICAgIGNvbnRleHRfc2V0X3RyYW5zbGF0
aW9uX3R5cGUobGN0eHQsIENPTlRFWFRfVFRfREVWX0lPVExCKTsKICAgICAg
ICAgZWxzZQpAQCAtMTU5OCwxNSArMTYwMiwyMSBAQCBpbnQgZG9tYWluX2Nv
bnRleHRfbWFwcGluZ19vbmUoCiAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdl
KGNvbnRleHRfZW50cmllcyk7CiAKICAgICBpZiAoICFzZWcgJiYgIXJjICkK
LSAgICAgICAgcmMgPSBtZV93aWZpX3F1aXJrKGRvbWFpbiwgYnVzLCBkZXZm
biwgbW9kZSk7CisgICAgICAgIHJjID0gbWVfd2lmaV9xdWlyayhkb21haW4s
IGJ1cywgZGV2Zm4sIGRvbWlkLCBwZ2RfbWFkZHIsIG1vZGUpOwogCiAgICAg
aWYgKCByYyApCiAgICAgewogICAgICAgICBpZiAoICFwcmV2X2RvbSApCi0g
ICAgICAgICAgICBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBp
b21tdSwgYnVzLCBkZXZmbik7CisgICAgICAgICAgICBkb21haW5fY29udGV4
dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgYnVzLCBkZXZmbiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFp
bl9pZCk7CiAgICAgICAgIGVsc2UgaWYgKCBwcmV2X2RvbSAhPSBkb21haW4g
KSAvKiBBdm9pZCBpbmZpbml0ZSByZWN1cnNpb24uICovCisgICAgICAgIHsK
KyAgICAgICAgICAgIGhkID0gZG9tX2lvbW11KHByZXZfZG9tKTsKICAgICAg
ICAgICAgIGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKHByZXZfZG9tLCBp
b21tdSwgYnVzLCBkZXZmbiwgcGRldiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGQtPmFyY2gucGdk
X21hZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbW9kZSAmIE1BUF9XSVRIX1JNUlIpOworICAgICAgICB9CiAgICAgfQog
CiAgICAgaWYgKCBwcmV2X2RvbSApCkBAIC0xNjIzLDYgKzE2MzMsNyBAQCBz
dGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiB7CiAg
ICAgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwogICAgIGNvbnN0IHN0
cnVjdCBhY3BpX3JtcnJfdW5pdCAqcm1ycjsKKyAgICBwYWRkcl90IHBnZF9t
YWRkciA9IGRvbV9pb21tdShkb21haW4pLT5hcmNoLnBnZF9tYWRkcjsKICAg
ICBpbnQgcmV0ID0gMDsKICAgICB1bnNpZ25lZCBpbnQgaSwgbW9kZSA9IDA7
CiAgICAgdWludDE2X3Qgc2VnID0gcGRldi0+c2VnLCBiZGY7CkBAIC0xNjc4
LDcgKzE2ODksOCBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBp
bmcoc3RydWN0CiAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5f
aWQsIHNlZywgYnVzLAogICAgICAgICAgICAgICAgICAgIFBDSV9TTE9UKGRl
dmZuKSwgUENJX0ZVTkMoZGV2Zm4pKTsKICAgICAgICAgcmV0ID0gZG9tYWlu
X2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgYnVz
LCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGRldiwgbW9kZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBkZXYsIGRvbWFpbi0+ZG9tYWluX2lkLCBwZ2Rf
bWFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1vZGUpOwogICAgICAgICBpZiAoIHJldCA+IDAgKQogICAgICAgICAg
ICAgcmV0ID0gMDsKICAgICAgICAgaWYgKCAhcmV0ICYmIGRldmZuID09IHBk
ZXYtPmRldmZuICYmIGF0c19kZXZpY2UocGRldiwgZHJoZCkgPiAwICkKQEAg
LTE2OTMsNyArMTcwNSw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRf
bWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICAgICAgICAgICBQQ0lfU0xPVChk
ZXZmbiksIFBDSV9GVU5DKGRldmZuKSk7CiAKICAgICAgICAgcmV0ID0gZG9t
YWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwg
YnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGRldiwgbW9kZSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBkZXYsIGRvbWFpbi0+ZG9tYWluX2lkLCBw
Z2RfbWFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1vZGUpOwogICAgICAgICBpZiAoIHJldCA8IDAgKQogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIHByZXZfcHJlc2VudCA9IHJldDsKQEAg
LTE3MTksNyArMTczMiw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRf
bWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICovCiAgICAgICAgIGlmICggcmV0
ID49IDAgKQogICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFw
cGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgYnVzLCBkZXZmbiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5V
TEwsIG1vZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTlVMTCwgZG9tYWluLT5kb21haW5faWQsIHBnZF9tYWRk
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1vZGUpOwogCiAgICAgICAgIC8qCiAgICAgICAgICAqIERldmljZXMg
YmVoaW5kIFBDSWUtdG8tUENJL1BDSXggYnJpZGdlIG1heSBnZW5lcmF0ZSBk
aWZmZXJlbnQKQEAgLTE3MzQsNyArMTc0OCw4IEBAIHN0YXRpYyBpbnQgZG9t
YWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgaWYgKCAhcmV0
ICYmIHBkZXZfdHlwZShzZWcsIGJ1cywgZGV2Zm4pID09IERFVl9UWVBFX1BD
SWUyUENJX0JSSURHRSAmJgogICAgICAgICAgICAgIChzZWNidXMgIT0gcGRl
di0+YnVzIHx8IHBkZXYtPmRldmZuICE9IDApICkKICAgICAgICAgICAgIHJl
dCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+
aW9tbXUsIHNlY2J1cywgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwsIG1vZGUpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgZG9tYWlu
LT5kb21haW5faWQsIHBnZF9tYWRkciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUpOwogCiAgICAgICAgIGlm
ICggcmV0ICkKICAgICAgICAgewpAQCAtMTc2Myw3ICsxNzc4LDcgQEAgc3Rh
dGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogaW50IGRv
bWFpbl9jb250ZXh0X3VubWFwX29uZSgKICAgICBzdHJ1Y3QgZG9tYWluICpk
b21haW4sCiAgICAgc3RydWN0IGlvbW11ICppb21tdSwKLSAgICB1OCBidXMs
IHU4IGRldmZuKQorICAgIHVpbnQ4X3QgYnVzLCB1aW50OF90IGRldmZuLCBk
b21pZF90IGRvbWlkKQogewogICAgIHN0cnVjdCBjb250ZXh0X2VudHJ5ICpj
b250ZXh0LCAqY29udGV4dF9lbnRyaWVzOwogICAgIHU2NCBtYWRkcjsKQEAg
LTE4MjEsNyArMTgzNiw3IEBAIGludCBkb21haW5fY29udGV4dF91bm1hcF9v
bmUoCiAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmll
cyk7CiAKICAgICBpZiAoICFpb21tdS0+aW50ZWwtPmRyaGQtPnNlZ21lbnQg
JiYgIXJjICkKLSAgICAgICAgcmMgPSBtZV93aWZpX3F1aXJrKGRvbWFpbiwg
YnVzLCBkZXZmbiwgVU5NQVBfTUVfUEhBTlRPTV9GVU5DKTsKKyAgICAgICAg
cmMgPSBtZV93aWZpX3F1aXJrKGRvbWFpbiwgYnVzLCBkZXZmbiwgZG9taWQs
IDAsIFVOTUFQX01FX1BIQU5UT01fRlVOQyk7CiAKICAgICByZXR1cm4gcmM7
CiB9CkBAIC0xODYwLDcgKzE4NzUsOCBAQCBzdGF0aWMgaW50IGRvbWFpbl9j
b250ZXh0X3VubWFwKHN0cnVjdCBkCiAgICAgICAgICAgICBwcmludGsoVlRE
UFJFRklYICJkJWQ6UENJZTogdW5tYXAgJTA0eDolMDJ4OiUwMnguJXVcbiIs
CiAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQsIHNlZywg
YnVzLAogICAgICAgICAgICAgICAgICAgIFBDSV9TTE9UKGRldmZuKSwgUENJ
X0ZVTkMoZGV2Zm4pKTsKLSAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRf
dW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4pOworICAgICAg
ICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21t
dSwgYnVzLCBkZXZmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKICAgICAgICAgaWYgKCAh
cmV0ICYmIGRldmZuID09IHBkZXYtPmRldmZuICYmIGF0c19kZXZpY2UocGRl
diwgZHJoZCkgPiAwICkKICAgICAgICAgICAgIGRpc2FibGVfYXRzX2Rldmlj
ZShwZGV2KTsKIApAQCAtMTg3MCw3ICsxODg2LDggQEAgc3RhdGljIGludCBk
b21haW5fY29udGV4dF91bm1hcChzdHJ1Y3QgZAogICAgICAgICBpZiAoIGlv
bW11X2RlYnVnICkKICAgICAgICAgICAgIHByaW50ayhWVERQUkVGSVggImQl
ZDpQQ0k6IHVubWFwICUwNHg6JTAyeDolMDJ4LiV1XG4iLAogICAgICAgICAg
ICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkLCBzZWcsIGJ1cywgUENJX1NM
T1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbikpOwotICAgICAgICByZXQgPSBk
b21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgYnVzLCBk
ZXZmbik7CisgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29u
ZShkb21haW4sIGlvbW11LCBidXMsIGRldmZuLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOwog
ICAgICAgICBpZiAoIHJldCApCiAgICAgICAgICAgICBicmVhazsKIApAQCAt
MTg4MiwxNCArMTg5OSwxNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0
X3VubWFwKHN0cnVjdCBkCiAgICAgICAgIC8qIFBDSWUgdG8gUENJL1BDSXgg
YnJpZGdlICovCiAgICAgICAgIGlmICggcGRldl90eXBlKHNlZywgdG1wX2J1
cywgdG1wX2RldmZuKSA9PSBERVZfVFlQRV9QQ0llMlBDSV9CUklER0UgKQog
ICAgICAgICB7Ci0gICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF91
bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgdG1wX2J1cywgdG1wX2RldmZuKTsK
KyAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShk
b21haW4sIGlvbW11LCB0bXBfYnVzLCB0bXBfZGV2Zm4sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21h
aW5faWQpOwogICAgICAgICAgICAgaWYgKCByZXQgKQogICAgICAgICAgICAg
ICAgIHJldHVybiByZXQ7CiAKLSAgICAgICAgICAgIHJldCA9IGRvbWFpbl9j
b250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCBzZWNidXMsIDApOwor
ICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRv
bWFpbiwgaW9tbXUsIHNlY2J1cywgMCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCk7CiAg
ICAgICAgIH0KICAgICAgICAgZWxzZSAvKiBMZWdhY3kgUENJIGJyaWRnZSAq
LwotICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25l
KGRvbWFpbiwgaW9tbXUsIHRtcF9idXMsIHRtcF9kZXZmbik7CisgICAgICAg
ICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBp
b21tdSwgdG1wX2J1cywgdG1wX2RldmZuLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsK
IAogICAgICAgICBicmVhazsKIAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC92dGQvcXVpcmtzLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvdnRkL3F1aXJrcy5jCkBAIC0zMzEsNiArMzMxLDggQEAgdm9pZCBfX2lu
aXQgcGxhdGZvcm1fcXVpcmtzX2luaXQodm9pZCkKIAogc3RhdGljIGludCBf
X211c3RfY2hlY2sgbWFwX21lX3BoYW50b21fZnVuY3Rpb24oc3RydWN0IGRv
bWFpbiAqZG9tYWluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGRldiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlk
X3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwYWRkcl90IHBnZF9tYWRkciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCBtb2RlKQogewogICAgIHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJo
ZDsKQEAgLTM0NCwxNiArMzQ2LDE3IEBAIHN0YXRpYyBpbnQgX19tdXN0X2No
ZWNrIG1hcF9tZV9waGFudG9tX2YKICAgICAvKiBtYXAgb3IgdW5tYXAgTUUg
cGhhbnRvbSBmdW5jdGlvbiAqLwogICAgIGlmICggIShtb2RlICYgVU5NQVBf
TUVfUEhBTlRPTV9GVU5DKSApCiAgICAgICAgIHJjID0gZG9tYWluX2NvbnRl
eHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgMCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfREVWRk4o
ZGV2LCA3KSwgTlVMTCwgbW9kZSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUENJX0RFVkZOKGRldiwgNyksIE5VTEwsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9taWQs
IHBnZF9tYWRkciwgbW9kZSk7CiAgICAgZWxzZQogICAgICAgICByYyA9IGRv
bWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGRyaGQtPmlvbW11LCAw
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lf
REVWRk4oZGV2LCA3KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFBDSV9ERVZGTihkZXYsIDcpLCBkb21pZCk7CiAKICAgICBy
ZXR1cm4gcmM7CiB9CiAKIGludCBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21h
aW4gKmRvbWFpbiwgdWludDhfdCBidXMsIHVpbnQ4X3QgZGV2Zm4sCi0gICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbW9kZSkKKyAgICAgICAgICAg
ICAgICAgIGRvbWlkX3QgZG9taWQsIHBhZGRyX3QgcGdkX21hZGRyLCB1bnNp
Z25lZCBpbnQgbW9kZSkKIHsKICAgICB1MzIgaWQ7CiAgICAgaW50IHJjID0g
MDsKQEAgLTM3Nyw3ICszODAsNyBAQCBpbnQgbWVfd2lmaV9xdWlyayhzdHJ1
Y3QgZG9tYWluICpkb21haW4sCiAgICAgICAgICAgICBjYXNlIDB4NDIzYjgw
ODY6CiAgICAgICAgICAgICBjYXNlIDB4NDIzYzgwODY6CiAgICAgICAgICAg
ICBjYXNlIDB4NDIzZDgwODY6Ci0gICAgICAgICAgICAgICAgcmMgPSBtYXBf
bWVfcGhhbnRvbV9mdW5jdGlvbihkb21haW4sIDMsIG1vZGUpOworICAgICAg
ICAgICAgICAgIHJjID0gbWFwX21lX3BoYW50b21fZnVuY3Rpb24oZG9tYWlu
LCAzLCBkb21pZCwgcGdkX21hZGRyLCBtb2RlKTsKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CkBAIC00MDMsNyArNDA2LDcgQEAgaW50IG1lX3dpZmlfcXVp
cmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLAogICAgICAgICAgICAgY2FzZSAw
eDQyMzg4MDg2OiAgICAgICAgLyogUHVtYSBQZWFrICovCiAgICAgICAgICAg
ICBjYXNlIDB4NDIyYjgwODY6CiAgICAgICAgICAgICBjYXNlIDB4NDIyYzgw
ODY6Ci0gICAgICAgICAgICAgICAgcmMgPSBtYXBfbWVfcGhhbnRvbV9mdW5j
dGlvbihkb21haW4sIDIyLCBtb2RlKTsKKyAgICAgICAgICAgICAgICByYyA9
IG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKGRvbWFpbiwgMjIsIGRvbWlkLCBw
Z2RfbWFkZHIsIG1vZGUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBicmVhazsK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBwcmVwYXJlIGZvciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFn
ZSB0YWJsZXMgKHBhcnQgSUkpCgpSZXBsYWNlIHRoZSBwYXNzaW5nIG9mIHN0
cnVjdCBkb21haW4gKiBieSBkb21pZF90IGluIHByZXBhcmF0aW9uIG9mCnBl
ci1kZXZpY2UgcXVhcmFudGluZSBwYWdlIHRhYmxlcyBhbHNvIHJlcXVpcmlu
ZyBwZXItZGV2aWNlIHBzZXVkbwpkb21haW4gSURzLCB3aGljaCBhcmVuJ3Qg
Z29pbmcgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGFueSBzdHJ1Y3QgZG9tYWlu
Cmluc3RhbmNlcy4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkIChl
eGNlcHQgZm9yIHNsaWdodGx5IGFkanVzdGVkIGxvZyBtZXNzYWdlCnRleHQp
LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+
ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNv
bT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKQEAgLTUyLDggKzUyLDggQEAgc3RhdGljIHN0cnVjdCB0YXNrbGV0
IHZ0ZF9mYXVsdF90YXNrbGV0Owogc3RhdGljIGludCBzZXR1cF9od2RvbV9k
ZXZpY2UodTggZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICopOwogc3RhdGljIHZv
aWQgc2V0dXBfaHdkb21fcm1ycihzdHJ1Y3QgZG9tYWluICpkKTsKIAotc3Rh
dGljIGludCBkb21haW5faW9tbXVfZG9taWQoc3RydWN0IGRvbWFpbiAqZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpb21tdSAq
aW9tbXUpCitzdGF0aWMgaW50IGdldF9pb21tdV9kaWQoZG9taWRfdCBkb21p
ZCwgY29uc3Qgc3RydWN0IGlvbW11ICppb21tdSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICBib29sIHdhcm4pCiB7CiAgICAgdW5zaWduZWQgbG9uZyBu
cl9kb20sIGk7CiAKQEAgLTYxLDIzICs2MSwyNCBAQCBzdGF0aWMgaW50IGRv
bWFpbl9pb21tdV9kb21pZChzdHJ1Y3QgZG9tCiAgICAgaSA9IGZpbmRfZmly
c3RfYml0KGlvbW11LT5kb21pZF9iaXRtYXAsIG5yX2RvbSk7CiAgICAgd2hp
bGUgKCBpIDwgbnJfZG9tICkKICAgICB7Ci0gICAgICAgIGlmICggaW9tbXUt
PmRvbWlkX21hcFtpXSA9PSBkLT5kb21haW5faWQgKQorICAgICAgICBpZiAo
IGlvbW11LT5kb21pZF9tYXBbaV0gPT0gZG9taWQgKQogICAgICAgICAgICAg
cmV0dXJuIGk7CiAKICAgICAgICAgaSA9IGZpbmRfbmV4dF9iaXQoaW9tbXUt
PmRvbWlkX2JpdG1hcCwgbnJfZG9tLCBpKzEpOwogICAgIH0KIAotICAgIGRw
cmludGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsCi0gICAgICAgICAgICAiQ2Fu
bm90IGdldCB2YWxpZCBpb21tdSBkb21pZDogZG9taWQ9JWQgaW9tbXUtPmlu
ZGV4PSVkXG4iLAotICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBpb21tdS0+
aW5kZXgpOworICAgIGlmICggd2FybiApCisgICAgICAgIGRwcmludGsoWEVO
TE9HX0VSUiBWVERQUkVGSVgsCisgICAgICAgICAgICAgICAgIk5vIHZhbGlk
IGlvbW11ICV1IGRvbWlkIGZvciBEb20lZFxuIiwKKyAgICAgICAgICAgICAg
ICBpb21tdS0+aW5kZXgsIGRvbWlkKTsKKwogICAgIHJldHVybiAtMTsKIH0K
IAogI2RlZmluZSBESURfRklFTERfV0lEVEggMTYKICNkZWZpbmUgRElEX0hJ
R0hfT0ZGU0VUIDgKIHN0YXRpYyBpbnQgY29udGV4dF9zZXRfZG9tYWluX2lk
KHN0cnVjdCBjb250ZXh0X2VudHJ5ICpjb250ZXh0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRvbWFpbiAqZCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpb21tdSAqaW9t
bXUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21pZF90
IGRvbWlkLCBzdHJ1Y3QgaW9tbXUgKmlvbW11KQogewogICAgIHVuc2lnbmVk
IGxvbmcgbnJfZG9tLCBpOwogICAgIGludCBmb3VuZCA9IDA7CkBAIC04OCw3
ICs4OSw3IEBAIHN0YXRpYyBpbnQgY29udGV4dF9zZXRfZG9tYWluX2lkKHN0
cnVjdAogICAgIGkgPSBmaW5kX2ZpcnN0X2JpdChpb21tdS0+ZG9taWRfYml0
bWFwLCBucl9kb20pOwogICAgIHdoaWxlICggaSA8IG5yX2RvbSApCiAgICAg
ewotICAgICAgICBpZiAoIGlvbW11LT5kb21pZF9tYXBbaV0gPT0gZC0+ZG9t
YWluX2lkICkKKyAgICAgICAgaWYgKCBpb21tdS0+ZG9taWRfbWFwW2ldID09
IGRvbWlkICkKICAgICAgICAgewogICAgICAgICAgICAgZm91bmQgPSAxOwog
ICAgICAgICAgICAgYnJlYWs7CkBAIC0xMDQsNyArMTA1LDcgQEAgc3RhdGlj
IGludCBjb250ZXh0X3NldF9kb21haW5faWQoc3RydWN0CiAgICAgICAgICAg
ICBkcHJpbnRrKFhFTkxPR19FUlIgVlREUFJFRklYLCAiSU9NTVU6IG5vIGZy
ZWUgZG9tYWluIGlkc1xuIik7CiAgICAgICAgICAgICByZXR1cm4gLUVGQVVM
VDsKICAgICAgICAgfQotICAgICAgICBpb21tdS0+ZG9taWRfbWFwW2ldID0g
ZC0+ZG9tYWluX2lkOworICAgICAgICBpb21tdS0+ZG9taWRfbWFwW2ldID0g
ZG9taWQ7CiAgICAgfQogCiAgICAgc2V0X2JpdChpLCBpb21tdS0+ZG9taWRf
Yml0bWFwKTsKQEAgLTEzMSw5ICsxMzIsOSBAQCBzdGF0aWMgdm9pZCBfX2lu
aXQgZnJlZV9pbnRlbF9pb21tdShzdHJ1CiAgICAgeGZyZWUoaW50ZWwpOwog
fQogCi1zdGF0aWMgdm9pZCBjbGVhbnVwX2RvbWlkX21hcChzdHJ1Y3QgZG9t
YWluICpkb21haW4sIHN0cnVjdCBpb21tdSAqaW9tbXUpCitzdGF0aWMgdm9p
ZCBjbGVhbnVwX2RvbWlkX21hcChkb21pZF90IGRvbWlkLCBzdHJ1Y3QgaW9t
bXUgKmlvbW11KQogewotICAgIGludCBpb21tdV9kb21pZCA9IGRvbWFpbl9p
b21tdV9kb21pZChkb21haW4sIGlvbW11KTsKKyAgICBpbnQgaW9tbXVfZG9t
aWQgPSBnZXRfaW9tbXVfZGlkKGRvbWlkLCBpb21tdSwgZmFsc2UpOwogCiAg
ICAgaWYgKCBpb21tdV9kb21pZCA+PSAwICkKICAgICB7CkBAIC0xODksNyAr
MTkwLDcgQEAgc3RhdGljIHZvaWQgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAo
c3RydQogICAgIGlmICggIWZvdW5kICkKICAgICB7CiAgICAgICAgIGNsZWFy
X2JpdChpb21tdS0+aW5kZXgsICZkb21faW9tbXUoZCktPmFyY2guaW9tbXVf
Yml0bWFwKTsKLSAgICAgICAgY2xlYW51cF9kb21pZF9tYXAoZCwgaW9tbXUp
OworICAgICAgICBjbGVhbnVwX2RvbWlkX21hcChkLT5kb21haW5faWQsIGlv
bW11KTsKICAgICB9CiB9CiAKQEAgLTY3MCw3ICs2NzEsNyBAQCBzdGF0aWMg
aW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9pb3RsCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAogICAgICAgICBmbHVzaF9kZXZfaW90bGIgPSAhIWZp
bmRfYXRzX2Rldl9kcmhkKGlvbW11KTsKLSAgICAgICAgaW9tbXVfZG9taWQ9
IGRvbWFpbl9pb21tdV9kb21pZChkLCBpb21tdSk7CisgICAgICAgIGlvbW11
X2RvbWlkID0gZ2V0X2lvbW11X2RpZChkLT5kb21haW5faWQsIGlvbW11LCAh
ZC0+aXNfZHlpbmcpOwogICAgICAgICBpZiAoIGlvbW11X2RvbWlkID09IC0x
ICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCkBAIC0xNDk1LDcgKzE0OTYs
NyBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgICAg
IHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogICAgIH0K
IAotICAgIHJjID0gY29udGV4dF9zZXRfZG9tYWluX2lkKCZsY3R4dCwgZG9t
YWluLCBpb21tdSk7CisgICAgcmMgPSBjb250ZXh0X3NldF9kb21haW5faWQo
JmxjdHh0LCBkb21pZCwgaW9tbXUpOwogICAgIGlmICggcmMgKQogICAgIHsK
ICAgICB1bmxvY2s6CkBAIC0xODAzLDcgKzE4MDQsNyBAQCBpbnQgZG9tYWlu
X2NvbnRleHRfdW5tYXBfb25lKAogICAgIGNvbnRleHRfY2xlYXJfZW50cnko
KmNvbnRleHQpOwogICAgIGlvbW11X3N5bmNfY2FjaGUoY29udGV4dCwgc2l6
ZW9mKHN0cnVjdCBjb250ZXh0X2VudHJ5KSk7CiAKLSAgICBpb21tdV9kb21p
ZD0gZG9tYWluX2lvbW11X2RvbWlkKGRvbWFpbiwgaW9tbXUpOworICAgIGlv
bW11X2RvbWlkID0gZ2V0X2lvbW11X2RpZChkb21pZCwgaW9tbXUsICFkb21h
aW4tPmlzX2R5aW5nKTsKICAgICBpZiAoIGlvbW11X2RvbWlkID09IC0xICkK
ICAgICB7CiAgICAgICAgIHNwaW5fdW5sb2NrKCZpb21tdS0+bG9jayk7Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IG1haW50YWluIGEgcGVyLWRldmljZSBwc2V1ZG8gZG9t
YWluIElECgpJbiBvcmRlciB0byBzdWJzZXF1ZW50bHkgZW5hYmxlIHBlci1k
ZXZpY2UgcXVhcmFudGluZSBwYWdlIHRhYmxlcywgd2UnbGwKbmVlZCBkb21h
aW4tSUQtbGlrZSBpZGVudGlmaWVycyB0byBiZSBpbnNlcnRlZCBpbiB0aGUg
cmVzcGVjdGl2ZSBkZXZpY2UKKEFNRCkgb3IgY29udGV4dCAoSW50ZWwpIHRh
YmxlIGVudHJpZXMgYWxvbmdzaWRlIHRoZSBwZXItZGV2aWNlIHBhZ2UKdGFi
bGUgcm9vdCBhZGRyZXNzZXMuCgpNYWtlIHVzZSBvZiAicmVhbCIgZG9tYWlu
IElEcyBvY2N1cHlpbmcgb25seSBoYWxmIG9mIHRoZSB2YWx1ZSByYW5nZQpj
b3ZlcmFibGUgYnkgZG9taWRfdC4KCk5vdGUgdGhhdCBpbiBWVC1kJ3MgaW9t
bXVfYWxsb2MoKSBJIGRpZG4ndCB3YW50IHRvIGludHJvZHVjZSBuZXcgbWVt
b3J5CmxlYWtzIGluIGNhc2Ugb2YgZXJyb3IsIGJ1dCBleGlzdGluZyBvbmVz
IGRvbid0IGdldCBwbHVnZ2VkIC0gdGhhdCdsbCBiZQp0aGUgc3ViamVjdCBv
ZiBhIGxhdGVyIGNoYW5nZS4KClRoZSBWVC1kIGNoYW5nZXMgYXJlIHNsaWdo
dGx5IGFzeW1tZXRyaWMsIGJ1dCB0aGlzIHdheSB3ZSBjYW4gYXZvaWQKYXNz
aWduaW5nIHBzZXVkbyBkb21haW4gSURzIHRvIGRldmljZXMgd2hpY2ggd291
bGQgbmV2ZXIgYmUgbWFwcGVkIHdoaWxlCnN0aWxsIGF2b2lkaW5nIHRvIGFk
ZCBhIG5ldyBwYXJhbWV0ZXIgdG8gZG9tYWluX2NvbnRleHRfdW5tYXAoKS4K
ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpS
ZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKQEAgLTExMiw2ICsx
MTIsMTAgQEAgaW50IHBpX3VwZGF0ZV9pcnRlKGNvbnN0IHN0cnVjdCBwaV9k
ZXNjCiAgICAgICAgIG9wcy0+c3luY19jYWNoZShhZGRyLCBzaXplKTsgICAg
ICAgICAgICAgICAgICAgIFwKIH0pCiAKK3Vuc2lnbmVkIGxvbmcgKmlvbW11
X2luaXRfZG9taWQodm9pZCk7Citkb21pZF90IGlvbW11X2FsbG9jX2RvbWlk
KHVuc2lnbmVkIGxvbmcgKm1hcCk7Cit2b2lkIGlvbW11X2ZyZWVfZG9taWQo
ZG9taWRfdCBkb21pZCwgdW5zaWduZWQgbG9uZyAqbWFwKTsKKwogI2VuZGlm
IC8qICFfX0FSQ0hfWDg2X0lPTU1VX0hfXyAqLwogLyoKICAqIExvY2FsIHZh
cmlhYmxlczoKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wY2kuaAorKysg
Yi94ZW4vaW5jbHVkZS9hc20teDg2L3BjaS5oCkBAIC0xNSw2ICsxNSwxMiBA
QAogCiBzdHJ1Y3QgYXJjaF9wY2lfZGV2IHsKICAgICB2bWFza190IHVzZWRf
dmVjdG9yczsKKyAgICAvKgorICAgICAqIFRoZXNlIGZpZWxkcyBhcmUgKGRl
KWluaXRpYWxpemVkIHVuZGVyIHBjaWRldnMtbG9jay4gT3RoZXIgdXNlcyBv
ZgorICAgICAqIHRoZW0gZG9uJ3QgcmFjZSAoZGUpaW5pdGlhbGl6YXRpb24g
YW5kIGhlbmNlIGRvbid0IHN0cmljdGx5IG5lZWQgYW55CisgICAgICogbG9j
a2luZy4KKyAgICAgKi8KKyAgICBkb21pZF90IHBzZXVkb19kb21pZDsKIH07
CiAKIGludCBwY2lfY29uZl93cml0ZV9pbnRlcmNlcHQodW5zaWduZWQgaW50
IHNlZywgdW5zaWduZWQgaW50IGJkZiwKLS0tIGEveGVuL2luY2x1ZGUvYXNt
LXg4Ni9hbWQtaW9tbXUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2Ft
ZC1pb21tdS5oCkBAIC05Nyw2ICs5Nyw3IEBAIHN0cnVjdCBhbWRfaW9tbXUg
ewogICAgIHN0cnVjdCByaW5nX2J1ZmZlciBjbWRfYnVmZmVyOwogICAgIHN0
cnVjdCByaW5nX2J1ZmZlciBldmVudF9sb2c7CiAgICAgc3RydWN0IHJpbmdf
YnVmZmVyIHBwcl9sb2c7CisgICAgdW5zaWduZWQgbG9uZyAqZG9taWRfbWFw
OwogCiAgICAgaW50IGV4Y2x1c2lvbl9lbmFibGU7CiAgICAgaW50IGV4Y2x1
c2lvbl9hbGxvd19hbGw7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L2FtZC9pb21tdV9kZXRlY3QuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hbWQvaW9tbXVfZGV0ZWN0LmMKQEAgLTE1MCw2ICsxNTAsMTEgQEAg
aW50IF9faW5pdCBhbWRfaW9tbXVfZGV0ZWN0X29uZV9hY3BpKAogICAgIGlm
ICggcnQgKQogICAgICAgICBnb3RvIG91dDsKIAorICAgIGlvbW11LT5kb21p
ZF9tYXAgPSBpb21tdV9pbml0X2RvbWlkKCk7CisgICAgcnQgPSAtRU5PTUVN
OworICAgIGlmICggIWlvbW11LT5kb21pZF9tYXAgKQorICAgICAgICBnb3Rv
IG91dDsKKwogICAgIHJ0ID0gcGNpX3JvX2RldmljZShpb21tdS0+c2VnLCBi
dXMsIFBDSV9ERVZGTihkZXYsIGZ1bmMpKTsKICAgICBpZiAoIHJ0ICkKICAg
ICAgICAgcHJpbnRrKFhFTkxPR19FUlIKQEAgLTE2MSw3ICsxNjYsMTAgQEAg
aW50IF9faW5pdCBhbWRfaW9tbXVfZGV0ZWN0X29uZV9hY3BpKAogCiAgb3V0
OgogICAgIGlmICggcnQgKQorICAgIHsKKyAgICAgICAgeGZyZWUoaW9tbXUt
PmRvbWlkX21hcCk7CiAgICAgICAgIHhmcmVlKGlvbW11KTsKKyAgICB9CiAK
ICAgICByZXR1cm4gcnQ7CiB9Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL2FtZC9wY2lfYW1kX2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFz
c3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYwpAQCAtNTQxLDYgKzU0MSw4
IEBAIHN0YXRpYyBpbnQgYW1kX2lvbW11X2FkZF9kZXZpY2UodTggZGV2Zm4K
IHsKICAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKICAgICB1MTYgYmRm
OworICAgIGJvb2wgZnJlc2hfZG9taWQgPSBmYWxzZTsKKyAgICBpbnQgcmV0
OwogCiAgICAgaWYgKCAhcGRldi0+ZG9tYWluICkKICAgICAgICAgcmV0dXJu
IC1FSU5WQUw7CkBAIC01NjUsNyArNTY3LDIyIEBAIHN0YXRpYyBpbnQgYW1k
X2lvbW11X2FkZF9kZXZpY2UodTggZGV2Zm4KICAgICAgICAgcmV0dXJuIC1F
Tk9ERVY7CiAgICAgfQogCi0gICAgcmV0dXJuIGFtZF9pb21tdV9zZXR1cF9k
b21haW5fZGV2aWNlKHBkZXYtPmRvbWFpbiwgaW9tbXUsIGRldmZuLCBwZGV2
KTsKKyAgICBpZiAoIGlvbW11X3F1YXJhbnRpbmUgJiYgcGRldi0+YXJjaC5w
c2V1ZG9fZG9taWQgPT0gRE9NSURfSU5WQUxJRCApCisgICAgeworICAgICAg
ICBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9IGlvbW11X2FsbG9jX2RvbWlk
KGlvbW11LT5kb21pZF9tYXApOworICAgICAgICBpZiAoIHBkZXYtPmFyY2gu
cHNldWRvX2RvbWlkID09IERPTUlEX0lOVkFMSUQgKQorICAgICAgICAgICAg
cmV0dXJuIC1FTk9TUEM7CisgICAgICAgIGZyZXNoX2RvbWlkID0gdHJ1ZTsK
KyAgICB9CisKKyAgICByZXQgPSBhbWRfaW9tbXVfc2V0dXBfZG9tYWluX2Rl
dmljZShwZGV2LT5kb21haW4sIGlvbW11LCBkZXZmbiwgcGRldik7CisgICAg
aWYgKCByZXQgJiYgZnJlc2hfZG9taWQgKQorICAgIHsKKyAgICAgICAgaW9t
bXVfZnJlZV9kb21pZChwZGV2LT5hcmNoLnBzZXVkb19kb21pZCwgaW9tbXUt
PmRvbWlkX21hcCk7CisgICAgICAgIHBkZXYtPmFyY2gucHNldWRvX2RvbWlk
ID0gRE9NSURfSU5WQUxJRDsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0Owog
fQogCiBzdGF0aWMgaW50IGFtZF9pb21tdV9yZW1vdmVfZGV2aWNlKHU4IGRl
dmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikKQEAgLTU4Nyw2ICs2MDQsMTAg
QEAgc3RhdGljIGludCBhbWRfaW9tbXVfcmVtb3ZlX2RldmljZSh1OCBkZQog
ICAgIH0KIAogICAgIGFtZF9pb21tdV9kaXNhYmxlX2RvbWFpbl9kZXZpY2Uo
cGRldi0+ZG9tYWluLCBpb21tdSwgZGV2Zm4sIHBkZXYpOworCisgICAgaW9t
bXVfZnJlZV9kb21pZChwZGV2LT5hcmNoLnBzZXVkb19kb21pZCwgaW9tbXUt
PmRvbWlkX21hcCk7CisgICAgcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPSBE
T01JRF9JTlZBTElEOworCiAgICAgcmV0dXJuIDA7CiB9CiAKLS0tIGEveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMKKysrIGIveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvcGNpLmMKQEAgLTM0Myw2ICszNDMsNyBAQCBzdGF0aWMg
c3RydWN0IHBjaV9kZXYgKmFsbG9jX3BkZXYoc3RydWN0CiAgICAgKigodTgq
KSAmcGRldi0+YnVzKSA9IGJ1czsKICAgICAqKCh1OCopICZwZGV2LT5kZXZm
bikgPSBkZXZmbjsKICAgICBwZGV2LT5kb21haW4gPSBOVUxMOworICAgIHBk
ZXYtPmFyY2gucHNldWRvX2RvbWlkID0gRE9NSURfSU5WQUxJRDsKICAgICBJ
TklUX0xJU1RfSEVBRCgmcGRldi0+bXNpX2xpc3QpOwogCiAgICAgaWYgKCBw
Y2lfZmluZF9jYXBfb2Zmc2V0KHBzZWctPm5yLCBidXMsIFBDSV9TTE9UKGRl
dmZuKSwgUENJX0ZVTkMoZGV2Zm4pLApAQCAtMTMxMSwxMCArMTMxMiwxMyBA
QCBzdGF0aWMgaW50IF9kdW1wX3BjaV9kZXZpY2VzKHN0cnVjdCBwY2lfCiAK
ICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5ICggcGRldiwgJnBzZWctPmFsbGRl
dnNfbGlzdCwgYWxsZGV2c19saXN0ICkKICAgICB7Ci0gICAgICAgIHByaW50
aygiJTA0eDolMDJ4OiUwMnguJXUgLSBkb20gJS0zZCAtIG5vZGUgJS0zZCAt
IE1TSXMgPCAiLAotICAgICAgICAgICAgICAgcHNlZy0+bnIsIHBkZXYtPmJ1
cywKLSAgICAgICAgICAgICAgIFBDSV9TTE9UKHBkZXYtPmRldmZuKSwgUENJ
X0ZVTkMocGRldi0+ZGV2Zm4pLAotICAgICAgICAgICAgICAgcGRldi0+ZG9t
YWluID8gcGRldi0+ZG9tYWluLT5kb21haW5faWQgOiAtMSwKKyAgICAgICAg
cHJpbnRrKCIlMDR4OiUwMng6JTAyeC4ldSAtICIsIHBzZWctPm5yLCBwZGV2
LT5idXMsCisgICAgICAgICAgICAgICBQQ0lfU0xPVChwZGV2LT5kZXZmbiks
IFBDSV9GVU5DKHBkZXYtPmRldmZuKSk7CisgICAgICAgIGlmICggcGRldi0+
ZG9tYWluID09IGRvbV9pbyApCisgICAgICAgICAgICBwcmludGsoIkRvbUlP
OiV4IiwgcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQpOworICAgICAgICBlbHNl
IGlmICggcGRldi0+ZG9tYWluICkKKyAgICAgICAgICAgIHByaW50aygiRG9t
JWQiLCBwZGV2LT5kb21haW4tPmRvbWFpbl9pZCk7CisgICAgICAgIHByaW50
aygiIC0gbm9kZSAlLTNkIC0gTVNJcyA8ICIsCiAgICAgICAgICAgICAgICAo
cGRldi0+bm9kZSAhPSBOVU1BX05PX05PREUpID8gcGRldi0+bm9kZSA6IC0x
KTsKICAgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSAoIG1zaSwgJnBkZXYt
Pm1zaV9saXN0LCBsaXN0ICkKICAgICAgICAgICAgICAgIHByaW50aygiJWQg
IiwgbXNpLT5pcnEpOwotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92
dGQvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
aW9tbXUuYwpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgPHhlbi9zY2hl
ZC5oPgogI2luY2x1ZGUgPHhlbi94bWFsbG9jLmg+CiAjaW5jbHVkZSA8eGVu
L2RvbWFpbl9wYWdlLmg+CisjaW5jbHVkZSA8eGVuL2Vyci5oPgogI2luY2x1
ZGUgPHhlbi9pb2NhcC5oPgogI2luY2x1ZGUgPHhlbi9pb21tdS5oPgogI2lu
Y2x1ZGUgPHhlbi9udW1hLmg+CkBAIC0xMjM0LDcgKzEyMzUsNyBAQCBpbnQg
X19pbml0IGlvbW11X2FsbG9jKHN0cnVjdCBhY3BpX2RyaGRfCiB7CiAgICAg
c3RydWN0IGlvbW11ICppb21tdTsKICAgICB1bnNpZ25lZCBsb25nIHNhZ2F3
LCBucl9kb207Ci0gICAgaW50IGFnYXc7CisgICAgaW50IGFnYXcsIHJjOwog
CiAgICAgaWYgKCBucl9pb21tdXMgPiBNQVhfSU9NTVVTICkKICAgICB7CkBA
IC0xMzI0LDEwICsxMzI1LDE5IEBAIGludCBfX2luaXQgaW9tbXVfYWxsb2Mo
c3RydWN0IGFjcGlfZHJoZF8KICAgICBpZiAoICFpb21tdS0+ZG9taWRfbWFw
ICkKICAgICAgICAgcmV0dXJuIC1FTk9NRU0gOwogCisgICAgaW9tbXUtPnBz
ZXVkb19kb21pZF9tYXAgPSBpb21tdV9pbml0X2RvbWlkKCk7CisgICAgcmMg
PSAtRU5PTUVNOworICAgIGlmICggIWlvbW11LT5wc2V1ZG9fZG9taWRfbWFw
ICkKKyAgICAgICAgZ290byBmcmVlOworCiAgICAgc3Bpbl9sb2NrX2luaXQo
JmlvbW11LT5sb2NrKTsKICAgICBzcGluX2xvY2tfaW5pdCgmaW9tbXUtPnJl
Z2lzdGVyX2xvY2spOwogCiAgICAgcmV0dXJuIDA7CisKKyBmcmVlOgorICAg
IGlvbW11X2ZyZWUoZHJoZCk7CisgICAgcmV0dXJuIHJjOwogfQogCiB2b2lk
IF9faW5pdCBpb21tdV9mcmVlKHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJo
ZCkKQEAgLTEzNTAsNiArMTM2MCw3IEBAIHZvaWQgX19pbml0IGlvbW11X2Zy
ZWUoc3RydWN0IGFjcGlfZHJoZF8KIAogICAgIHhmcmVlKGlvbW11LT5kb21p
ZF9iaXRtYXApOwogICAgIHhmcmVlKGlvbW11LT5kb21pZF9tYXApOworICAg
IHhmcmVlKGlvbW11LT5wc2V1ZG9fZG9taWRfbWFwKTsKIAogICAgIGZyZWVf
aW50ZWxfaW9tbXUoaW9tbXUtPmludGVsKTsKICAgICBpZiAoIGlvbW11LT5t
c2kuaXJxID49IDAgKQpAQCAtMTYyNiw4ICsxNjM3LDggQEAgaW50IGRvbWFp
bl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIHJldHVybiByYyA/OiBwZGV2
ICYmIHByZXZfZG9tOwogfQogCi1zdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0
X3VubWFwKHN0cnVjdCBkb21haW4gKmQsIHVpbnQ4X3QgZGV2Zm4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwY2lfZGV2ICpw
ZGV2KTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRv
bWFpbl9jb250ZXh0X3VubWFwKAorICAgIHN0cnVjdCBkb21haW4gKmQsIHVp
bnQ4X3QgZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKIAogc3RhdGlj
IGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdCBkb21haW4gKmRv
bWFpbiwgdTggZGV2Zm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IHBjaV9kZXYgKnBkZXYpCkBAIC0xNjM1LDYgKzE2NDYs
NyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0
CiAgICAgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwogICAgIGNvbnN0
IHN0cnVjdCBhY3BpX3JtcnJfdW5pdCAqcm1ycjsKICAgICBwYWRkcl90IHBn
ZF9tYWRkciA9IGRvbV9pb21tdShkb21haW4pLT5hcmNoLnBnZF9tYWRkcjsK
KyAgICBkb21pZF90IG9yaWdfZG9taWQgPSBwZGV2LT5hcmNoLnBzZXVkb19k
b21pZDsKICAgICBpbnQgcmV0ID0gMDsKICAgICB1bnNpZ25lZCBpbnQgaSwg
bW9kZSA9IDA7CiAgICAgdWludDE2X3Qgc2VnID0gcGRldi0+c2VnLCBiZGY7
CkBAIC0xNjg1LDYgKzE2OTcsMTQgQEAgc3RhdGljIGludCBkb21haW5fY29u
dGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICBicmVhazsKIAogICAgIGNh
c2UgREVWX1RZUEVfUENJZV9FTkRQT0lOVDoKKyAgICAgICAgaWYgKCBpb21t
dV9xdWFyYW50aW5lICYmIG9yaWdfZG9taWQgPT0gRE9NSURfSU5WQUxJRCAp
CisgICAgICAgIHsKKyAgICAgICAgICAgIHBkZXYtPmFyY2gucHNldWRvX2Rv
bWlkID0KKyAgICAgICAgICAgICAgICBpb21tdV9hbGxvY19kb21pZChkcmhk
LT5pb21tdS0+cHNldWRvX2RvbWlkX21hcCk7CisgICAgICAgICAgICBpZiAo
IHBkZXYtPmFyY2gucHNldWRvX2RvbWlkID09IERPTUlEX0lOVkFMSUQgKQor
ICAgICAgICAgICAgICAgIHJldHVybiAtRU5PU1BDOworICAgICAgICB9CisK
ICAgICAgICAgaWYgKCBpb21tdV9kZWJ1ZyApCiAgICAgICAgICAgICBwcmlu
dGsoVlREUFJFRklYICJkJWQ6UENJZTogbWFwICUwNHg6JTAyeDolMDJ4LiV1
XG4iLAogICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkLCBz
ZWcsIGJ1cywKQEAgLTE3MDAsNiArMTcyMCwxNCBAQCBzdGF0aWMgaW50IGRv
bWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgIGJyZWFrOwog
CiAgICAgY2FzZSBERVZfVFlQRV9QQ0k6CisgICAgICAgIGlmICggaW9tbXVf
cXVhcmFudGluZSAmJiBvcmlnX2RvbWlkID09IERPTUlEX0lOVkFMSUQgKQor
ICAgICAgICB7CisgICAgICAgICAgICBwZGV2LT5hcmNoLnBzZXVkb19kb21p
ZCA9CisgICAgICAgICAgICAgICAgaW9tbXVfYWxsb2NfZG9taWQoZHJoZC0+
aW9tbXUtPnBzZXVkb19kb21pZF9tYXApOworICAgICAgICAgICAgaWYgKCBw
ZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9PSBET01JRF9JTlZBTElEICkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gLUVOT1NQQzsKKyAgICAgICAgfQorCiAg
ICAgICAgIGlmICggaW9tbXVfZGVidWcgKQogICAgICAgICAgICAgcHJpbnRr
KFZURFBSRUZJWCAiZCVkOlBDSTogbWFwICUwNHg6JTAyeDolMDJ4LiV1XG4i
LAogICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkLCBzZWcs
IGJ1cywKQEAgLTE3NzMsNiArMTgwMSwxMyBAQCBzdGF0aWMgaW50IGRvbWFp
bl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgaWYgKCAhcmV0ICYmIGRl
dmZuID09IHBkZXYtPmRldmZuICkKICAgICAgICAgcGNpX3Z0ZF9xdWlyayhw
ZGV2KTsKIAorICAgIGlmICggcmV0ICYmIGRyaGQgJiYgb3JpZ19kb21pZCA9
PSBET01JRF9JTlZBTElEICkKKyAgICB7CisgICAgICAgIGlvbW11X2ZyZWVf
ZG9taWQocGRldi0+YXJjaC5wc2V1ZG9fZG9taWQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgZHJoZC0+aW9tbXUtPnBzZXVkb19kb21pZF9tYXApOwor
ICAgICAgICBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9IERPTUlEX0lOVkFM
SUQ7CisgICAgfQorCiAgICAgcmV0dXJuIHJldDsKIH0KIApAQCAtMTg0Miw4
ICsxODc3LDEwIEBAIGludCBkb21haW5fY29udGV4dF91bm1hcF9vbmUoCiAg
ICAgcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0
X3VubWFwKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdTggZGV2Zm4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwY2lfZGV2ICpw
ZGV2KQorc3RhdGljIGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZG9t
YWluX2NvbnRleHRfdW5tYXAoCisgICAgc3RydWN0IGRvbWFpbiAqZG9tYWlu
LAorICAgIHVpbnQ4X3QgZGV2Zm4sCisgICAgc3RydWN0IHBjaV9kZXYgKnBk
ZXYpCiB7CiAgICAgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwogICAg
IHN0cnVjdCBpb21tdSAqaW9tbXU7CkBAIC0xODUyLDcgKzE4ODksNyBAQCBz
dGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X3VubWFwKHN0cnVjdCBkCiAKICAg
ICBkcmhkID0gYWNwaV9maW5kX21hdGNoZWRfZHJoZF91bml0KHBkZXYpOwog
ICAgIGlmICggIWRyaGQgKQotICAgICAgICByZXR1cm4gLUVOT0RFVjsKKyAg
ICAgICAgcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7CiAgICAgaW9tbXUgPSBk
cmhkLT5pb21tdTsKIAogICAgIHN3aXRjaCAoIHBkZXYtPnR5cGUgKQpAQCAt
MTg2Myw3ICsxOTAwLDcgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF91
bm1hcChzdHJ1Y3QgZAogICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9t
YWluX2lkLCBzZWcsIGJ1cywKICAgICAgICAgICAgICAgICAgICBQQ0lfU0xP
VChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSk7CiAgICAgICAgIGlmICggIWlz
X2hhcmR3YXJlX2RvbWFpbihkb21haW4pICkKLSAgICAgICAgICAgIHJldHVy
biAtRVBFUk07CisgICAgICAgICAgICByZXR1cm4gRVJSX1BUUigtRVBFUk0p
OwogICAgICAgICBnb3RvIG91dDsKIAogICAgIGNhc2UgREVWX1RZUEVfUENJ
ZV9CUklER0U6CkBAIC0xOTAyLDExICsxOTM5LDkgQEAgc3RhdGljIGludCBk
b21haW5fY29udGV4dF91bm1hcChzdHJ1Y3QgZAogICAgICAgICB7CiAgICAg
ICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWlu
LCBpb21tdSwgdG1wX2J1cywgdG1wX2RldmZuLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lk
KTsKLSAgICAgICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gcmV0OwotCi0gICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4
dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgc2VjYnVzLCAwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+
ZG9tYWluX2lkKTsKKyAgICAgICAgICAgIGlmICggIXJldCApCisgICAgICAg
ICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFp
biwgaW9tbXUsIHNlY2J1cywgMCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOwog
ICAgICAgICB9CiAgICAgICAgIGVsc2UgLyogTGVnYWN5IFBDSSBicmlkZ2Ug
Ki8KICAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29u
ZShkb21haW4sIGlvbW11LCB0bXBfYnVzLCB0bXBfZGV2Zm4sCkBAIC0xOTI2
LDcgKzE5NjEsNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X3VubWFw
KHN0cnVjdCBkCiAgICAgICAgIGNoZWNrX2NsZWFudXBfZG9taWRfbWFwKGRv
bWFpbiwgcGRldiwgaW9tbXUpOwogCiBvdXQ6Ci0gICAgcmV0dXJuIHJldDsK
KyAgICByZXR1cm4gcmV0ID8gRVJSX1BUUihyZXQpIDogZHJoZDsKIH0KIAog
c3RhdGljIHZvaWQgaW9tbXVfZG9tYWluX3RlYXJkb3duKHN0cnVjdCBkb21h
aW4gKmQpCkBAIC0yMTUyLDE2ICsyMTg3LDE3IEBAIHN0YXRpYyBpbnQgaW50
ZWxfaW9tbXVfZW5hYmxlX2RldmljZShzdHIKIAogc3RhdGljIGludCBpbnRl
bF9pb21tdV9yZW1vdmVfZGV2aWNlKHU4IGRldmZuLCBzdHJ1Y3QgcGNpX2Rl
diAqcGRldikKIHsKKyAgICBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQg
KmRyaGQ7CiAgICAgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJyOwogICAg
IHUxNiBiZGY7Ci0gICAgaW50IHJldCwgaTsKKyAgICB1bnNpZ25lZCBpbnQg
aTsKIAogICAgIGlmICggIXBkZXYtPmRvbWFpbiApCiAgICAgICAgIHJldHVy
biAtRUlOVkFMOwogCi0gICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXAo
cGRldi0+ZG9tYWluLCBkZXZmbiwgcGRldik7Ci0gICAgaWYgKCByZXQgKQot
ICAgICAgICByZXR1cm4gcmV0OworICAgIGRyaGQgPSBkb21haW5fY29udGV4
dF91bm1hcChwZGV2LT5kb21haW4sIGRldmZuLCBwZGV2KTsKKyAgICBpZiAo
IElTX0VSUihkcmhkKSApCisgICAgICAgIHJldHVybiBQVFJfRVJSKGRyaGQp
OwogCiAgICAgZm9yX2VhY2hfcm1ycl9kZXZpY2UgKCBybXJyLCBiZGYsIGkg
KQogICAgIHsKQEAgLTIxNzgsNiArMjIxNCwxMyBAQCBzdGF0aWMgaW50IGlu
dGVsX2lvbW11X3JlbW92ZV9kZXZpY2UodTgKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgMCk7CiAgICAgfQog
CisgICAgaWYgKCBkcmhkICkKKyAgICB7CisgICAgICAgIGlvbW11X2ZyZWVf
ZG9taWQocGRldi0+YXJjaC5wc2V1ZG9fZG9taWQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgZHJoZC0+aW9tbXUtPnBzZXVkb19kb21pZF9tYXApOwor
ICAgICAgICBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9IERPTUlEX0lOVkFM
SUQ7CisgICAgfQorCiAgICAgcmV0dXJuIDA7CiB9CiAKLS0tIGEveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmgKKysrIGIveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmgKQEAgLTU0MSw2ICs1NDEsNyBA
QCBzdHJ1Y3QgaW9tbXUgewogICAgIHN0cnVjdCBtc2lfZGVzYyBtc2k7CiAg
ICAgc3RydWN0IGludGVsX2lvbW11ICppbnRlbDsKICAgICBzdHJ1Y3QgbGlz
dF9oZWFkIGF0c19kZXZpY2VzOworICAgIHVuc2lnbmVkIGxvbmcgKnBzZXVk
b19kb21pZF9tYXA7IC8qICJwc2V1ZG8iIGRvbWFpbiBpZCBiaXRtYXAgKi8K
ICAgICB1bnNpZ25lZCBsb25nICpkb21pZF9iaXRtYXA7ICAvKiBkb21haW4g
aWQgYml0bWFwICovCiAgICAgdTE2ICpkb21pZF9tYXA7ICAgICAgICAgICAg
ICAgLyogZG9tYWluIGlkIG1hcHBpbmcgYXJyYXkgKi8KIH07Ci0tLSBhL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCisrKyBiL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCkBAIC0zNzMsNiArMzcz
LDUzIEBAIHZvaWQgX19od2RvbV9pbml0IGFyY2hfaW9tbXVfaHdkb21faW5p
dCgKICAgICAgICAgcmV0dXJuOwogfQogCit1bnNpZ25lZCBsb25nICpfX2lu
aXQgaW9tbXVfaW5pdF9kb21pZCh2b2lkKQoreworICAgIGlmICggIWlvbW11
X3F1YXJhbnRpbmUgKQorICAgICAgICByZXR1cm4gWkVST19CTE9DS19QVFI7
CisKKyAgICBCVUlMRF9CVUdfT04oRE9NSURfTUFTSyAqIDJVID49IFVJTlQx
Nl9NQVgpOworCisgICAgcmV0dXJuIHh6YWxsb2NfYXJyYXkodW5zaWduZWQg
bG9uZywKKyAgICAgICAgICAgICAgICAgICAgICAgICBCSVRTX1RPX0xPTkdT
KFVJTlQxNl9NQVggLSBET01JRF9NQVNLKSk7Cit9CisKK2RvbWlkX3QgaW9t
bXVfYWxsb2NfZG9taWQodW5zaWduZWQgbG9uZyAqbWFwKQoreworICAgIC8q
CisgICAgICogVGhpcyBpcyB1c2VkIHVuaWZvcm1seSBhY3Jvc3MgYWxsIElP
TU1Vcywgc3VjaCB0aGF0IG9uIHR5cGljYWwKKyAgICAgKiBzeXN0ZW1zIHdl
IHdvdWxkbid0IHJlLXVzZSB0aGUgc2FtZSBJRCB2ZXJ5IHF1aWNrbHkgKHBl
cmhhcHMgbmV2ZXIpLgorICAgICAqLworICAgIHN0YXRpYyB1bnNpZ25lZCBp
bnQgc3RhcnQ7CisgICAgdW5zaWduZWQgaW50IGlkeCA9IGZpbmRfbmV4dF96
ZXJvX2JpdChtYXAsIFVJTlQxNl9NQVggLSBET01JRF9NQVNLLCBzdGFydCk7
CisKKyAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7CisKKyAgICBpZiAo
IGlkeCA+PSBVSU5UMTZfTUFYIC0gRE9NSURfTUFTSyApCisgICAgICAgIGlk
eCA9IGZpbmRfZmlyc3RfemVyb19iaXQobWFwLCBVSU5UMTZfTUFYIC0gRE9N
SURfTUFTSyk7CisgICAgaWYgKCBpZHggPj0gVUlOVDE2X01BWCAtIERPTUlE
X01BU0sgKQorICAgICAgICByZXR1cm4gRE9NSURfSU5WQUxJRDsKKworICAg
IF9fc2V0X2JpdChpZHgsIG1hcCk7CisKKyAgICBzdGFydCA9IGlkeCArIDE7
CisKKyAgICByZXR1cm4gaWR4IHwgKERPTUlEX01BU0sgKyAxKTsKK30KKwor
dm9pZCBpb21tdV9mcmVlX2RvbWlkKGRvbWlkX3QgZG9taWQsIHVuc2lnbmVk
IGxvbmcgKm1hcCkKK3sKKyAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7
CisKKyAgICBpZiAoIGRvbWlkID09IERPTUlEX0lOVkFMSUQgKQorICAgICAg
ICByZXR1cm47CisKKyAgICBBU1NFUlQoZG9taWQgPiBET01JRF9NQVNLKTsK
KworICAgIGlmICggIV9fdGVzdF9hbmRfY2xlYXJfYml0KGRvbWlkICYgRE9N
SURfTUFTSywgbWFwKSApCisgICAgICAgIEJVRygpOworfQorCiAvKgogICog
TG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwotLS0gYS94ZW4vaW5jbHVk
ZS9wdWJsaWMveGVuLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL3hlbi5o
CkBAIC01ODQsNiArNTg0LDkgQEAgREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUo
bW11ZXh0X29wX3QpOwogLyogSWRsZSBkb21haW4uICovCiAjZGVmaW5lIERP
TUlEX0lETEUgICAgICAgICAgIHhlbl9ta191aW50KDB4N0ZGRikKIAorLyog
TWFzayBmb3IgdmFsaWQgZG9tYWluIGlkIHZhbHVlcyAqLworI2RlZmluZSBE
T01JRF9NQVNLICAgICAgICAgICB4ZW5fbWtfdWludCgweDdGRkYpCisKICNp
Zm5kZWYgX19BU1NFTUJMWV9fCiAKIHR5cGVkZWYgdWludDE2X3QgZG9taWRf
dDsK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IGRyb3AgVExCIGZsdXNoZXMgZnJvbSBxdWFyYW50aW5l
X2luaXQoKSBob29rcwoKVGhlIHBhZ2UgdGFibGVzIGp1c3QgY3JlYXRlZCBh
cmVuJ3QgaG9va2VkIHVwIHlldCBhbnl3aGVyZSwgc28gdGhlcmUncwpub3Ro
aW5nIHRoYXQgY291bGQgYmUgcHJlc2VudCBpbiBhbnkgVExCLCBhbmQgaGVu
Y2Ugbm90aGluZyB0byBmbHVzaC4KRHJvcHBpbmcgdGhpcyBmbHVzaCBpcywg
YXQgbGVhc3Qgb24gdGhlIFZULWQgc2lkZSwgYSBwcmVyZXEgdG8gcGVyLQpk
ZXZpY2UgZG9tYWluIElEIHVzZSB3aGVuIHF1YXJhbnRpbmluZyBkZXZpY2Vz
LCBhcyBkb21faW8gaXNuJ3QgZ29pbmcKdG8gYmUgYXNzaWduZWQgYSBESUQg
YW55bW9yZTogVGhlIHdhcm5pbmcgaW4gZ2V0X2lvbW11X2RpZCgpIHdvdWxk
CnRyaWdnZXIuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxp
Y2hAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxA
eGVuLm9yZz4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2
aW4udGlhbkBpbnRlbC5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvYW1kL2lvbW11X21hcC5jCkBAIC04NDAsOCArODQwLDYgQEAgaW50
IF9faW5pdCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cgogIG91dDoK
ICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKIAot
ICAgIGFtZF9pb21tdV9mbHVzaF9hbGxfcGFnZXMoZCk7Ci0KICAgICAvKiBQ
YWdlcyBsZWFrZWQgaW4gZmFpbHVyZSBjYXNlICovCiAgICAgcmV0dXJuIGxl
dmVsID8gLUVOT01FTSA6IDA7CiB9Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL3Z0ZC9pb21tdS5jCkBAIC0yODU4LDcgKzI4NTgsNiBAQCBzdGF0aWMg
aW50IF9faW5pdCBpbnRlbF9pb21tdV9xdWFyYW50aW5lCiAgICAgc3RydWN0
IGRtYV9wdGUgKnBhcmVudDsKICAgICB1bnNpZ25lZCBpbnQgYWdhdyA9IHdp
ZHRoX3RvX2FnYXcoREVGQVVMVF9ET01BSU5fQUREUkVTU19XSURUSCk7CiAg
ICAgdW5zaWduZWQgaW50IGxldmVsID0gYWdhd190b19sZXZlbChhZ2F3KTsK
LSAgICBpbnQgcmM7CiAKICAgICBpZiAoIGhkLT5hcmNoLnBnZF9tYWRkciAp
CiAgICAgewpAQCAtMjkwNSwxMCArMjkwNCw4IEBAIHN0YXRpYyBpbnQgX19p
bml0IGludGVsX2lvbW11X3F1YXJhbnRpbmUKICBvdXQ6CiAgICAgc3Bpbl91
bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CiAKLSAgICByYyA9IGlv
bW11X2ZsdXNoX2lvdGxiX2FsbChkKTsKLQogICAgIC8qIFBhZ2VzIGxlYWtl
ZCBpbiBmYWlsdXJlIGNhc2UgKi8KLSAgICByZXR1cm4gbGV2ZWwgPyAtRU5P
TUVNIDogcmM7CisgICAgcmV0dXJuIGxldmVsID8gLUVOT01FTSA6IDA7CiB9
CiAKIGNvbnN0IHN0cnVjdCBpb21tdV9vcHMgX19pbml0Y29uc3RyZWwgaW50
ZWxfaW9tbXVfb3BzID0gewo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGFic3RyYWN0IG1heGltdW0gbnVtYmVyIG9mIHBhZ2Ug
dGFibGUgbGV2ZWxzCgpXZSB3aWxsIHdhbnQgdG8gdXNlIHRoZSBjb25zdGFu
dCBlbHNld2hlcmUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBh
dWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2
bS9hbWQtaW9tbXUtcHJvdG8uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2
L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKQEAgLTE4NSw3ICsxODUsNyBA
QCBzdGF0aWMgaW5saW5lIGludCBhbWRfaW9tbXVfZ2V0X3BhZ2luZ19tCiAg
ICAgd2hpbGUgKCBtYXhfZnJhbWVzID4gUFRFX1BFUl9UQUJMRV9TSVpFICkK
ICAgICB7CiAgICAgICAgIG1heF9mcmFtZXMgPSBQVEVfUEVSX1RBQkxFX0FM
SUdOKG1heF9mcmFtZXMpID4+IFBURV9QRVJfVEFCTEVfU0hJRlQ7Ci0gICAg
ICAgIGlmICggKytsZXZlbCA+IDYgKQorICAgICAgICBpZiAoICsrbGV2ZWwg
PiBJT01NVV9NQVhfUFRfTEVWRUxTICkKICAgICAgICAgICAgIHJldHVybiAt
RU5PTUVNOwogICAgIH0KIAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2
bS9zdm0vYW1kLWlvbW11LWRlZnMuaAorKysgYi94ZW4vaW5jbHVkZS9hc20t
eDg2L2h2bS9zdm0vYW1kLWlvbW11LWRlZnMuaApAQCAtMTE0LDYgKzExNCw4
IEBACiAjZGVmaW5lIElPTU1VX0RFVl9UQUJMRV9QQUdFX1RBQkxFX1BUUl9M
T1dfTUFTSwkJMHhGRkZGRjAwMAogI2RlZmluZSBJT01NVV9ERVZfVEFCTEVf
UEFHRV9UQUJMRV9QVFJfTE9XX1NISUZUCTEyCiAKKyNkZWZpbmUgSU9NTVVf
TUFYX1BUX0xFVkVMUyA2CisKIC8qIERldmljZVRhYmxlIEVudHJ5WzYzOjMy
XSAqLwogI2RlZmluZSBJT01NVV9ERVZfVEFCTEVfR1ZfU0hJRlQgICAgICAg
ICAgICAgICAgICAgIDIzCiAjZGVmaW5lIElPTU1VX0RFVl9UQUJMRV9HVl9N
QVNLICAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAKLS0tIGEveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5jCisrKyBiL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYwpAQCAtNDc3LDcg
KzQ3Nyw3IEBAIHN0YXRpYyBpbnQgaW9tbXVfcGRlX2Zyb21fZGZuKHN0cnVj
dCBkb20KICAgICB0YWJsZSA9IGhkLT5hcmNoLnJvb3RfdGFibGU7CiAgICAg
bGV2ZWwgPSBoZC0+YXJjaC5wYWdpbmdfbW9kZTsKIAotICAgIEJVR19PTigg
dGFibGUgPT0gTlVMTCB8fCBsZXZlbCA8IDEgfHwgbGV2ZWwgPiA2ICk7Cisg
ICAgQlVHX09OKCB0YWJsZSA9PSBOVUxMIHx8IGxldmVsIDwgMSB8fCBsZXZl
bCA+IElPTU1VX01BWF9QVF9MRVZFTFMgKTsKIAogICAgIC8qCiAgICAgICog
QSBmcmFtZSBudW1iZXIgcGFzdCB3aGF0IHRoZSBjdXJyZW50IHBhZ2UgdGFi
bGVzIGNhbiByZXByZXNlbnQgY2FuJ3QK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IHVzZSBwZXItZGV2aWNlIHBhZ2UgdGFibGVzIGZvciBx
dWFyYW50aW5pbmcKCkRldmljZXMgd2l0aCBSTVJScyAvIHVuaXR5IG1hcHBl
ZCByZWdpb25zLCBkdWUgdG8gaXQgYmVpbmcgdW5zcGVjaWZpZWQKaG93L3do
ZW4gdGhlc2UgbWVtb3J5IHJlZ2lvbnMgbWF5IGJlIGFjY2Vzc2VkLCBtYXkg
bm90IGJlIGxlZnQKZGlzY29ubmVjdGVkIGZyb20gdGhlIG1hcHBpbmdzIG9m
IHRoZXNlIHJlZ2lvbnMgKGFzIGxvbmcgYXMgaXQncyBub3QKY2VydGFpbiB0
aGF0IHRoZSBkZXZpY2UgaGFzIGJlZW4gZnVsbHkgcXVpZXNjZWQpLiBIZW5j
ZSBldmVuIHRoZSBwYWdlCnRhYmxlcyB1c2VkIHdoZW4gcXVhcmFudGluaW5n
IHN1Y2ggZGV2aWNlcyBuZWVkIHRvIGhhdmUgbWFwcGluZ3Mgb2YKdGhvc2Ug
cmVnaW9ucy4gVGhpcyBpbXBsaWVzIGluc3RhbGxpbmcgcGFnZSB0YWJsZXMg
aW4gdGhlIGZpcnN0IHBsYWNlCmV2ZW4gd2hlbiBub3QgaW4gc2NyYXRjaC1w
YWdlIHF1YXJhbnRpbmluZyBtb2RlLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM2
MSAvIHBhcnQgb2YgWFNBLTQwMC4KCldoaWxlIGZvciB0aGUgcHVycG9zZSBo
ZXJlIGl0IHdvdWxkIGJlIHN1ZmZpY2llbnQgdG8gaGF2ZSBkZXZpY2VzIHdp
dGgKUk1SUnMgLyB1bml0eSBtYXBwZWQgcmVnaW9ucyB1c2UgcGVyLWRldmlj
ZSBwYWdlIHRhYmxlcywgZXh0ZW5kIHRoaXMgdG8KYWxsIGRldmljZXMgKGlu
IHNjcmF0Y2gtcGFnZSBxdWFyYW50aW5pbmcgbW9kZSkuIFRoaXMgYWxsb3dz
IHRoZSBsZWFmCnBhZ2VzIHRvIGJlIG1hcHBlZCByL3csIHRodXMgY292ZXJp
bmcgYWxzbyBtZW1vcnkgd3JpdGVzIChyYXRoZXIgdGhhbgpqdXN0IHJlYWRz
KSBpc3N1ZWQgYnkgbm9uLXF1aWVzY2VudCBkZXZpY2VzLgoKU2V0IHVwIHF1
YXJhbnRpbmUgcGFnZSB0YWJsZXMgYXMgbGF0ZSBhcyBwb3NzaWJsZSwgeWV0
IGVhcmx5IGVub3VnaCB0bwpub3QgZW5jb3VudGVyIGZhaWx1cmUgZHVyaW5n
IGRlLWFzc2lnbi4gVGhpcyBtZWFucyBzZXR1cCBnZW5lcmFsbHkKaGFwcGVu
cyBpbiBhc3NpZ25fZGV2aWNlKCksIHdoaWxlIChmb3Igbm93KSB0aGUgb25l
IGluIGRlYXNzaWduX2RldmljZSgpCmlzIHRoZXJlIG1haW5seSB0byBiZSBv
biB0aGUgc2FmZSBzaWRlLgoKSW4gVlQtZCdzIERJRCBhbGxvY2F0aW9uIGZ1
bmN0aW9uIGRvbid0IHJlcXVpcmUgdGhlIElPTU1VIGxvY2sgdG8gYmUKaGVs
ZCBhbnltb3JlOiBBbGwgaW52b2x2ZWQgY29kZSBwYXRocyBob2xkIHBjaWRl
dnNfbG9jaywgc28gdGhpcyB3YXkgd2UKYXZvaWQgdGhlIG5lZWQgdG8gYWNx
dWlyZSB0aGUgSU9NTVUgbG9jayBhcm91bmQgdGhlIG5ldyBjYWxsIHRvCmNv
bnRleHRfc2V0X2RvbWFpbl9pZCgpLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBE
dXJyYW50IDxwYXVsQHhlbi5vcmc+ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFu
IDxrZXZpbi50aWFuQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBh
dSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKLS0tIGEveGVuL2Fy
Y2gveDg2L21tL3AybS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpA
QCAtMTQyNCw3ICsxNDI0LDcgQEAgaW50IHNldF9pZGVudGl0eV9wMm1fZW50
cnkoc3RydWN0IGRvbWFpbgogICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0g
PSBwMm1fZ2V0X2hvc3RwMm0oZCk7CiAgICAgaW50IHJldDsKIAotICAgIGlm
ICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShwMm0tPmRvbWFpbikgKQorICAg
IGlmICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShkKSApCiAgICAgewogICAg
ICAgICBpZiAoICFoYXNfaW9tbXVfcHQoZCkgKQogICAgICAgICAgICAgcmV0
dXJuIDA7Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcGNpLmgKKysrIGIv
eGVuL2luY2x1ZGUvYXNtLXg4Ni9wY2kuaApAQCAtMSw2ICsxLDggQEAKICNp
Zm5kZWYgX19YODZfUENJX0hfXwogI2RlZmluZSBfX1g4Nl9QQ0lfSF9fCiAK
KyNpbmNsdWRlIDx4ZW4vbW0uaD4KKwogI2RlZmluZSBDRjhfQkRGKGNmOCkg
ICAgICggICgoY2Y4KSAmIDB4MDBmZmZmMDApID4+IDgpCiAjZGVmaW5lIENG
OF9BRERSX0xPKGNmOCkgKCAgIChjZjgpICYgMHgwMDAwMDBmYykKICNkZWZp
bmUgQ0Y4X0FERFJfSEkoY2Y4KSAoICAoKGNmOCkgJiAweDBmMDAwMDAwKSA+
PiAxNikKQEAgLTIwLDcgKzIyLDE4IEBAIHN0cnVjdCBhcmNoX3BjaV9kZXYg
ewogICAgICAqIHRoZW0gZG9uJ3QgcmFjZSAoZGUpaW5pdGlhbGl6YXRpb24g
YW5kIGhlbmNlIGRvbid0IHN0cmljdGx5IG5lZWQgYW55CiAgICAgICogbG9j
a2luZy4KICAgICAgKi8KKyAgICB1bmlvbiB7CisgICAgICAgIC8qIFN1YnNl
dCBvZiBzdHJ1Y3QgYXJjaF9pb21tdSdzIGZpZWxkcywgdG8gYmUgdXNlZCBp
biBkb21faW8uICovCisgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICB1
aW50NjRfdCBwZ2RfbWFkZHI7CisgICAgICAgIH0gdnRkOworICAgICAgICBz
dHJ1Y3QgeworICAgICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcm9vdF90
YWJsZTsKKyAgICAgICAgfSBhbWQ7CisgICAgfTsKICAgICBkb21pZF90IHBz
ZXVkb19kb21pZDsKKyAgICBtZm5fdCBsZWFmX21mbjsKKyAgICBzdHJ1Y3Qg
cGFnZV9saXN0X2hlYWQgcGd0YWJsZXNfbGlzdDsKIH07CiAKIGludCBwY2lf
Y29uZl93cml0ZV9pbnRlcmNlcHQodW5zaWduZWQgaW50IHNlZywgdW5zaWdu
ZWQgaW50IGJkZiwKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3Zt
L2FtZC1pb21tdS1wcm90by5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYv
aHZtL3N2bS9hbWQtaW9tbXUtcHJvdG8uaApAQCAtNTEsNyArNTEsOCBAQCB2
b2lkIGdldF9pb21tdV9mZWF0dXJlcyhzdHJ1Y3QgYW1kX2lvbW11CiBpbnQg
YW1kX2lvbW11X2luaXQodm9pZCk7CiBpbnQgYW1kX2lvbW11X3VwZGF0ZV9p
dnJzX21hcHBpbmdfYWNwaSh2b2lkKTsKIAotaW50IGFtZF9pb21tdV9xdWFy
YW50aW5lX2luaXQoc3RydWN0IGRvbWFpbiAqZCk7CitpbnQgYW1kX2lvbW11
X3F1YXJhbnRpbmVfaW5pdChzdHJ1Y3QgcGNpX2RldiAqcGRldik7Cit2b2lk
IGFtZF9pb21tdV9xdWFyYW50aW5lX3RlYXJkb3duKHN0cnVjdCBwY2lfZGV2
ICpwZGV2KTsKIAogLyogbWFwcGluZyBmdW5jdGlvbnMgKi8KIGludCBfX211
c3RfY2hlY2sgYW1kX2lvbW11X21hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQs
IGRmbl90IGRmbiwKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1k
L2lvbW11X21hcC5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9pb21tdV9tYXAuYwpAQCAtNzg0LDY0ICs3ODQsMTUwIEBAIHZvaWQgYW1k
X2lvbW11X3NoYXJlX3AybShzdHJ1Y3QgZG9tYWluICoKICAgICB9CiB9CiAK
LWludCBfX2luaXQgYW1kX2lvbW11X3F1YXJhbnRpbmVfaW5pdChzdHJ1Y3Qg
ZG9tYWluICpkKQorc3RhdGljIGludCBmaWxsX3FwdCh1aW50NjRfdCAqdGhp
cywgdW5zaWduZWQgaW50IGxldmVsLAorICAgICAgICAgICAgICAgICAgICBz
dHJ1Y3QgcGFnZV9pbmZvICpwZ3NbSU9NTVVfTUFYX1BUX0xFVkVMU10sCisg
ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogewot
ICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwor
ICAgIHVuc2lnbmVkIGludCBpOworICAgIGludCByYyA9IDA7CisKKyAgICBm
b3IgKCBpID0gMDsgIXJjICYmIGkgPCBQVEVfUEVSX1RBQkxFX1NJWkU7ICsr
aSApCisgICAgeworICAgICAgICB1aW50MzJfdCAqcHRlID0gKHVpbnQzMl90
ICopJnRoaXNbaV07CisgICAgICAgIHVpbnQ2NF90ICpuZXh0OworCisgICAg
ICAgIGlmICggIWdldF9maWVsZF9mcm9tX3JlZ191MzIocHRlWzBdLCBJT01N
VV9QVEVfUFJFU0VOVF9NQVNLLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIElPTU1VX1BURV9QUkVTRU5UX1NISUZUKSApCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGlmICggIXBnc1tsZXZlbF0gKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAg
ICogVGhlIHBndGFibGUgYWxsb2NhdG9yIGlzIGZpbmUgZm9yIHRoZSBsZWFm
IHBhZ2UsIGFzIHdlbGwgYXMKKyAgICAgICAgICAgICAgICAgKiBwYWdlIHRh
YmxlIHBhZ2VzLCBhbmQgdGhlIHJlc3VsdGluZyBhbGxvY2F0aW9ucyBhcmUg
YWx3YXlzCisgICAgICAgICAgICAgICAgICogemVyb2VkLgorICAgICAgICAg
ICAgICAgICAqLworICAgICAgICAgICAgICAgIHBnc1tsZXZlbF0gPSBhbGxv
Y19hbWRfaW9tbXVfcGd0YWJsZSgpOworICAgICAgICAgICAgICAgIGlmICgg
IXBnc1tsZXZlbF0gKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgcmMgPSAtRU5PTUVNOworICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBw
YWdlX2xpc3RfYWRkKHBnc1tsZXZlbF0sICZwZGV2LT5hcmNoLnBndGFibGVz
X2xpc3QpOworCisgICAgICAgICAgICAgICAgaWYgKCBsZXZlbCApCisgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBuZXh0ID0gX19t
YXBfZG9tYWluX3BhZ2UocGdzW2xldmVsXSk7CisgICAgICAgICAgICAgICAg
ICAgIHJjID0gZmlsbF9xcHQobmV4dCwgbGV2ZWwgLSAxLCBwZ3MsIHBkZXYp
OworICAgICAgICAgICAgICAgICAgICB1bm1hcF9kb21haW5fcGFnZShuZXh0
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIC8qCisgICAgICAgICAgICAgKiBQREVzIGFyZSBlc3NlbnRpYWxs
eSBhIHN1YnNldCBvZiBQVEVzLCBzbyB0aGlzIGZ1bmN0aW9uCisgICAgICAg
ICAgICAgKiBpcyBmaW5lIHRvIHVzZSBldmVuIGF0IHRoZSBsZWFmLgorICAg
ICAgICAgICAgICovCisgICAgICAgICAgICBzZXRfaW9tbXVfcGRlX3ByZXNl
bnQocHRlLCBtZm5feChwYWdlX3RvX21mbihwZ3NbbGV2ZWxdKSksIGxldmVs
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUsIHRy
dWUpOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKCBsZXZlbCAmJgor
ICAgICAgICAgICAgICAgICAgZ2V0X2ZpZWxkX2Zyb21fcmVnX3UzMihwdGVb
MF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IElPTU1VX1BERV9ORVhUX0xFVkVMX01BU0ssCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX1BERV9ORVhUX0xFVkVM
X1NISUZUKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHBhZGRyX3QgYWRk
cl9oaSA9IGdldF9maWVsZF9mcm9tX3JlZ191MzIocHRlWzFdLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBJT01NVV9QVEVfQUREUl9ISUdIX01BU0ssCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX1BU
RV9BRERSX0hJR0hfU0hJRlQpOworICAgICAgICAgICAgcGFkZHJfdCBhZGRy
X2xvID0gZ2V0X2ZpZWxkX2Zyb21fcmVnX3UzMihwdGVbMF0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IElPTU1VX1BURV9BRERSX0xPV19NQVNLLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9QVEVf
QUREUl9MT1dfU0hJRlQpOworICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBt
Zm4gPSAoYWRkcl9oaSA8PCAoMzIgLSBQQUdFX1NISUZUKSkgfCBhZGRyX2xv
OworCisgICAgICAgICAgICBwYWdlX2xpc3RfYWRkKG1mbl90b19wYWdlKF9t
Zm4obWZuKSksICZwZGV2LT5hcmNoLnBndGFibGVzX2xpc3QpOworICAgICAg
ICAgICAgbmV4dCA9IG1hcF9kb21haW5fcGFnZShfbWZuKG1mbikpOworICAg
ICAgICAgICAgcmMgPSBmaWxsX3FwdChuZXh0LCBsZXZlbCAtIDEsIHBncywg
cGRldik7CisgICAgICAgICAgICB1bm1hcF9kb21haW5fcGFnZShuZXh0KTsK
KyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiByYzsKK30KKworaW50
IGFtZF9pb21tdV9xdWFyYW50aW5lX2luaXQoc3RydWN0IHBjaV9kZXYgKnBk
ZXYpCit7CisgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9t
bXUoZG9tX2lvKTsKICAgICB1bnNpZ25lZCBsb25nIGVuZF9nZm4gPQogICAg
ICAgICAxdWwgPDwgKERFRkFVTFRfRE9NQUlOX0FERFJFU1NfV0lEVEggLSBQ
QUdFX1NISUZUKTsKICAgICB1bnNpZ25lZCBpbnQgbGV2ZWwgPSBhbWRfaW9t
bXVfZ2V0X3BhZ2luZ19tb2RlKGVuZF9nZm4pOwotICAgIHVpbnQ2NF90ICp0
YWJsZTsKKyAgICB1bnNpZ25lZCBpbnQgcmVxX2lkID0gZ2V0X2RtYV9yZXF1
ZXN0b3JfaWQocGRldi0+c2VnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBQQ0lfQkRGMihwZGV2LT5idXMsIHBk
ZXYtPmRldmZuKSk7CisgICAgY29uc3Qgc3RydWN0IGl2cnNfbWFwcGluZ3Mg
Kml2cnNfbWFwcGluZ3MgPSBnZXRfaXZyc19tYXBwaW5ncyhwZGV2LT5zZWcp
OworICAgIGludCByYzsKIAotICAgIGlmICggaGQtPmFyY2gucm9vdF90YWJs
ZSApCisgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOworICAgIEFTU0VS
VCghaGQtPmFyY2gucm9vdF90YWJsZSk7CisKKyAgICBBU1NFUlQocGRldi0+
YXJjaC5wc2V1ZG9fZG9taWQgIT0gRE9NSURfSU5WQUxJRCk7CisKKyAgICBp
ZiAoIHBkZXYtPmFyY2guYW1kLnJvb3RfdGFibGUgKQogICAgIHsKLSAgICAg
ICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CisgICAgICAgIGNsZWFyX2RvbWFp
bl9wYWdlKHBkZXYtPmFyY2gubGVhZl9tZm4pOwogICAgICAgICByZXR1cm4g
MDsKICAgICB9CiAKLSAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdf
bG9jayk7Ci0KLSAgICBoZC0+YXJjaC5yb290X3RhYmxlID0gYWxsb2NfYW1k
X2lvbW11X3BndGFibGUoKTsKLSAgICBpZiAoICFoZC0+YXJjaC5yb290X3Rh
YmxlICkKLSAgICAgICAgZ290byBvdXQ7Ci0KLSAgICB0YWJsZSA9IF9fbWFw
X2RvbWFpbl9wYWdlKGhkLT5hcmNoLnJvb3RfdGFibGUpOwotICAgIHdoaWxl
ICggbGV2ZWwgKQorICAgIHBkZXYtPmFyY2guYW1kLnJvb3RfdGFibGUgPSBh
bGxvY19hbWRfaW9tbXVfcGd0YWJsZSgpOworICAgIGlmICggIXBkZXYtPmFy
Y2guYW1kLnJvb3RfdGFibGUgKQorICAgICAgICByZXR1cm4gLUVOT01FTTsK
KworICAgIC8qIFRyYW5zaWVudGx5IGluc3RhbGwgdGhlIHJvb3QgaW50byBE
b21JTywgZm9yIGlvbW11X2lkZW50aXR5X21hcHBpbmcoKS4gKi8KKyAgICBo
ZC0+YXJjaC5yb290X3RhYmxlID0gcGRldi0+YXJjaC5hbWQucm9vdF90YWJs
ZTsKKworICAgIHJjID0gYW1kX2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5
X21hcChkb21faW8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGl2cnNfbWFwcGluZ3NbcmVxX2lkXS51bml0eV9tYXAs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDApOworCisgICAgaW9tbXVfaWRlbnRpdHlfbWFwX3RlYXJkb3duKGRvbV9p
byk7CisgICAgaGQtPmFyY2gucm9vdF90YWJsZSA9IE5VTEw7CisKKyAgICBp
ZiAoIHJjICkKKyAgICAgICAgcHJpbnRrKCIlMDR4OiUwMng6JTAyeC4ldTog
cXVhcmFudGluZSB1bml0eSBtYXBwaW5nIGZhaWxlZFxuIiwKKyAgICAgICAg
ICAgICAgIHBkZXYtPnNlZywgcGRldi0+YnVzLAorICAgICAgICAgICAgICAg
UENJX1NMT1QocGRldi0+ZGV2Zm4pLCBQQ0lfRlVOQyhwZGV2LT5kZXZmbikp
OworICAgIGVsc2UKICAgICB7Ci0gICAgICAgIHN0cnVjdCBwYWdlX2luZm8g
KnBnOwotICAgICAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICAgICAgdWludDY0
X3QgKnJvb3Q7CisgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnc1tJT01N
VV9NQVhfUFRfTEVWRUxTXSA9IHt9OwogCi0gICAgICAgIC8qCi0gICAgICAg
ICAqIFRoZSBwZ3RhYmxlIGFsbG9jYXRvciBpcyBmaW5lIGZvciB0aGUgbGVh
ZiBwYWdlLCBhcyB3ZWxsIGFzCi0gICAgICAgICAqIHBhZ2UgdGFibGUgcGFn
ZXMsIGFuZCB0aGUgcmVzdWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdheXMK
LSAgICAgICAgICogemVyb2VkLgotICAgICAgICAgKi8KLSAgICAgICAgcGcg
PSBhbGxvY19hbWRfaW9tbXVfcGd0YWJsZSgpOwotICAgICAgICBpZiAoICFw
ZyApCi0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgc3Bpbl9sb2NrKCZo
ZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogCi0gICAgICAgIGZvciAoIGkgPSAw
OyBpIDwgUFRFX1BFUl9UQUJMRV9TSVpFOyBpKysgKQotICAgICAgICB7Ci0g
ICAgICAgICAgICB1aW50MzJfdCAqcGRlID0gKHVpbnQzMl90ICopJnRhYmxl
W2ldOworICAgICAgICByb290ID0gX19tYXBfZG9tYWluX3BhZ2UocGRldi0+
YXJjaC5hbWQucm9vdF90YWJsZSk7CisgICAgICAgIHJjID0gZmlsbF9xcHQo
cm9vdCwgbGV2ZWwgLSAxLCBwZ3MsIHBkZXYpOworICAgICAgICB1bm1hcF9k
b21haW5fcGFnZShyb290KTsKIAotICAgICAgICAgICAgLyoKLSAgICAgICAg
ICAgICAqIFBERXMgYXJlIGVzc2VudGlhbGx5IGEgc3Vic2V0IG9mIFBURXMs
IHNvIHRoaXMgZnVuY3Rpb24KLSAgICAgICAgICAgICAqIGlzIGZpbmUgdG8g
dXNlIGV2ZW4gYXQgdGhlIGxlYWYuCi0gICAgICAgICAgICAgKi8KLSAgICAg
ICAgICAgIHNldF9pb21tdV9wZGVfcHJlc2VudChwZGUsIG1mbl94KHBhZ2Vf
dG9fbWZuKHBnKSksIGxldmVsIC0gMSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmYWxzZSwgdHJ1ZSk7Ci0gICAgICAgIH0KKyAgICAg
ICAgcGRldi0+YXJjaC5sZWFmX21mbiA9IHBhZ2VfdG9fbWZuKHBnc1swXSk7
CiAKLSAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UodGFibGUpOwotICAgICAg
ICB0YWJsZSA9IF9fbWFwX2RvbWFpbl9wYWdlKHBnKTsKLSAgICAgICAgbGV2
ZWwtLTsKKyAgICAgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdf
bG9jayk7CiAgICAgfQotICAgIHVubWFwX2RvbWFpbl9wYWdlKHRhYmxlKTsK
IAotIG91dDoKLSAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19s
b2NrKTsKKyAgICBpZiAoIHJjICkKKyAgICAgICAgYW1kX2lvbW11X3F1YXJh
bnRpbmVfdGVhcmRvd24ocGRldik7CisKKyAgICByZXR1cm4gcmM7Cit9CisK
K3ZvaWQgYW1kX2lvbW11X3F1YXJhbnRpbmVfdGVhcmRvd24oc3RydWN0IHBj
aV9kZXYgKnBkZXYpCit7CisgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGc7CisK
KyAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7CisKKyAgICBpZiAoICFw
ZGV2LT5hcmNoLmFtZC5yb290X3RhYmxlICkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgd2hpbGUgKCAocGcgPSBwYWdlX2xpc3RfcmVtb3ZlX2hlYWQoJnBk
ZXYtPmFyY2gucGd0YWJsZXNfbGlzdCkpICkKKyAgICAgICAgZnJlZV9hbWRf
aW9tbXVfcGd0YWJsZShwZyk7CiAKLSAgICAvKiBQYWdlcyBsZWFrZWQgaW4g
ZmFpbHVyZSBjYXNlICovCi0gICAgcmV0dXJuIGxldmVsID8gLUVOT01FTSA6
IDA7CisgICAgcGRldi0+YXJjaC5hbWQucm9vdF90YWJsZSA9IE5VTEw7CiB9
CiAKIC8qCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9wY2lf
YW1kX2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1k
L3BjaV9hbWRfaW9tbXUuYwpAQCAtMTUwLDYgKzE1MCw4IEBAIHN0YXRpYyBp
bnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAgICB1OCBidXMg
PSBwZGV2LT5idXM7CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBk
b21faW9tbXUoZG9tYWluKTsKICAgICBjb25zdCBzdHJ1Y3QgaXZyc19tYXBw
aW5ncyAqaXZyc19kZXY7CisgICAgY29uc3Qgc3RydWN0IHBhZ2VfaW5mbyAq
cm9vdF9wZzsKKyAgICBkb21pZF90IGRvbWlkOwogCiAgICAgQlVHX09OKCFo
ZC0+YXJjaC5wYWdpbmdfbW9kZSB8fCAhaW9tbXUtPmRldl90YWJsZS5idWZm
ZXIpOwogCkBAIC0xNzIsMTQgKzE3NCwyNSBAQCBzdGF0aWMgaW50IF9fbXVz
dF9jaGVjayBhbWRfaW9tbXVfc2V0dXBfCiAgICAgZHRlID0gaW9tbXUtPmRl
dl90YWJsZS5idWZmZXIgKyAocmVxX2lkICogSU9NTVVfREVWX1RBQkxFX0VO
VFJZX1NJWkUpOwogICAgIGl2cnNfZGV2ID0gJmdldF9pdnJzX21hcHBpbmdz
KGlvbW11LT5zZWcpW3JlcV9pZF07CiAKKyAgICBpZiAoIGRvbWFpbiAhPSBk
b21faW8gKQorICAgIHsKKyAgICAgICAgcm9vdF9wZyA9IGhkLT5hcmNoLnJv
b3RfdGFibGU7CisgICAgICAgIGRvbWlkID0gZG9tYWluLT5kb21haW5faWQ7
CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHJvb3RfcGcgPSBw
ZGV2LT5hcmNoLmFtZC5yb290X3RhYmxlOworICAgICAgICBkb21pZCA9IHBk
ZXYtPmFyY2gucHNldWRvX2RvbWlkOworICAgIH0KKwogICAgIHNwaW5fbG9j
a19pcnFzYXZlKCZpb21tdS0+bG9jaywgZmxhZ3MpOwogCiAgICAgaWYgKCAh
aXNfdHJhbnNsYXRpb25fdmFsaWQoKHUzMiAqKWR0ZSkgKQogICAgIHsKICAg
ICAgICAgLyogYmluZCBEVEUgdG8gZG9tYWluIHBhZ2UtdGFibGVzICovCiAg
ICAgICAgIHJjID0gYW1kX2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUoCi0g
ICAgICAgICAgICAgICAgIGR0ZSwgcGFnZV90b19tYWRkcihoZC0+YXJjaC5y
b290X3RhYmxlKSwKLSAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5f
aWQsIGhkLT5hcmNoLnBhZ2luZ19tb2RlLCBzcl9mbGFncyk7CisgICAgICAg
ICAgICAgICAgIGR0ZSwgcGFnZV90b19tYWRkcihyb290X3BnKSwgZG9taWQs
CisgICAgICAgICAgICAgICAgIGhkLT5hcmNoLnBhZ2luZ19tb2RlLCBzcl9m
bGFncyk7CiAgICAgICAgIGlmICggcmMgKQogICAgICAgICB7CiAgICAgICAg
ICAgICBBU1NFUlQocmMgPCAwKTsKQEAgLTE5Myw4ICsyMDYsNyBAQCBzdGF0
aWMgaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfc2V0dXBfCiAKICAgICAg
ICAgYW1kX2lvbW11X2ZsdXNoX2RldmljZShpb21tdSwgcmVxX2lkKTsKICAg
ICB9Ci0gICAgZWxzZSBpZiAoIGFtZF9pb21tdV9nZXRfcm9vdF9wYWdlX3Rh
YmxlKGR0ZSkgIT0KLSAgICAgICAgICAgICAgcGFnZV90b19tYWRkcihoZC0+
YXJjaC5yb290X3RhYmxlKSApCisgICAgZWxzZSBpZiAoIGFtZF9pb21tdV9n
ZXRfcm9vdF9wYWdlX3RhYmxlKGR0ZSkgIT0gcGFnZV90b19tYWRkcihyb290
X3BnKSApCiAgICAgewogICAgICAgICAvKgogICAgICAgICAgKiBTdHJpY3Rs
eSBzcGVha2luZyBpZiB0aGUgZGV2aWNlIGlzIHRoZSBvbmx5IG9uZSB3aXRo
IHRoaXMgcmVxdWVzdG9yCkBAIC0yMDcsOCArMjE5LDggQEAgc3RhdGljIGlu
dCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldHVwXwogICAgICAgICAgICAg
cmMgPSAtRU9QTk9UU1VQUDsKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
cmMgPSBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJsZSgKLSAgICAgICAg
ICAgICAgICAgICAgIGR0ZSwgcGFnZV90b19tYWRkcihoZC0+YXJjaC5yb290
X3RhYmxlKSwKLSAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWlu
X2lkLCBoZC0+YXJjaC5wYWdpbmdfbW9kZSwgc3JfZmxhZ3MpOworICAgICAg
ICAgICAgICAgICAgICAgZHRlLCBwYWdlX3RvX21hZGRyKHJvb3RfcGcpLCBk
b21pZCwKKyAgICAgICAgICAgICAgICAgICAgIGhkLT5hcmNoLnBhZ2luZ19t
b2RlLCBzcl9mbGFncyk7CiAgICAgICAgIGlmICggcmMgPCAwICkKICAgICAg
ICAgewogICAgICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9t
bXUtPmxvY2ssIGZsYWdzKTsKQEAgLTIyNyw2ICsyMzksNyBAQCBzdGF0aWMg
aW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfc2V0dXBfCiAgICAgICAgICAg
ICAgICogaW50ZW5kZWQgYW55d2F5LgogICAgICAgICAgICAgICAqLwogICAg
ICAgICAgICAgICFwZGV2LT5kb21haW4tPmlzX2R5aW5nICYmCisgICAgICAg
ICAgICAgcGRldi0+ZG9tYWluICE9IGRvbV9pbyAmJgogICAgICAgICAgICAg
IChhbnlfcGRldl9iZWhpbmRfaW9tbXUocGRldi0+ZG9tYWluLCBwZGV2LCBp
b21tdSkgfHwKICAgICAgICAgICAgICAgcGRldi0+cGhhbnRvbV9zdHJpZGUp
ICkKICAgICAgICAgICAgIHByaW50aygiICUwNHg6JTAyeDolMDJ4LiV1OiBy
ZWFzc2lnbm1lbnQgbWF5IGNhdXNlICVwZCBkYXRhIGNvcnJ1cHRpb25cbiIs
CkBAIC0yNDcsOSArMjYwLDggQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sg
YW1kX2lvbW11X3NldHVwXwogICAgIEFNRF9JT01NVV9ERUJVRygiU2V0dXAg
SS9PIHBhZ2UgdGFibGU6IGRldmljZSBpZCA9ICUjeCwgdHlwZSA9ICUjeCwg
IgogICAgICAgICAgICAgICAgICAgICAicm9vdCB0YWJsZSA9ICUjIlBSSXg2
NCIsICIKICAgICAgICAgICAgICAgICAgICAgImRvbWFpbiA9ICVkLCBwYWdp
bmcgbW9kZSA9ICVkXG4iLAotICAgICAgICAgICAgICAgICAgICByZXFfaWQs
IHBkZXYtPnR5cGUsCi0gICAgICAgICAgICAgICAgICAgIHBhZ2VfdG9fbWFk
ZHIoaGQtPmFyY2gucm9vdF90YWJsZSksCi0gICAgICAgICAgICAgICAgICAg
IGRvbWFpbi0+ZG9tYWluX2lkLCBoZC0+YXJjaC5wYWdpbmdfbW9kZSk7Cisg
ICAgICAgICAgICAgICAgICAgIHJlcV9pZCwgcGRldi0+dHlwZSwgcGFnZV90
b19tYWRkcihyb290X3BnKSwKKyAgICAgICAgICAgICAgICAgICAgZG9taWQs
IGhkLT5hcmNoLnBhZ2luZ19tb2RlKTsKIAogICAgIEFTU0VSVChwY2lkZXZz
X2xvY2tlZCgpKTsKIApAQCAtMjk2LDcgKzMwOCw3IEBAIGludCBfX2luaXQg
YW1kX2lvdl9kZXRlY3Qodm9pZCkKIAogaW50IGFtZF9pb21tdV9hbGxvY19y
b290KHN0cnVjdCBkb21haW5faW9tbXUgKmhkKQogewotICAgIGlmICggdW5s
aWtlbHkoIWhkLT5hcmNoLnJvb3RfdGFibGUpICkKKyAgICBpZiAoIHVubGlr
ZWx5KCFoZC0+YXJjaC5yb290X3RhYmxlKSAmJiBoZCAhPSBkb21faW9tbXUo
ZG9tX2lvKSApCiAgICAgewogICAgICAgICBoZC0+YXJjaC5yb290X3RhYmxl
ID0gYWxsb2NfYW1kX2lvbW11X3BndGFibGUoKTsKICAgICAgICAgaWYgKCAh
aGQtPmFyY2gucm9vdF90YWJsZSApCkBAIC0zNzYsNyArMzg4LDEwIEBAIHZv
aWQgYW1kX2lvbW11X2Rpc2FibGVfZG9tYWluX2RldmljZShzdHIKIAogICAg
ICAgICBBTURfSU9NTVVfREVCVUcoIkRpc2FibGU6IGRldmljZSBpZCA9ICUj
eCwgIgogICAgICAgICAgICAgICAgICAgICAgICAgImRvbWFpbiA9ICVkLCBw
YWdpbmcgbW9kZSA9ICVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAg
cmVxX2lkLCAgZG9tYWluLT5kb21haW5faWQsCisgICAgICAgICAgICAgICAg
ICAgICAgICByZXFfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICBnZXRf
ZmllbGRfZnJvbV9yZWdfdTMyKCgodWludDMyX3QgKilkdGUpWzJdLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ
T01NVV9ERVZfVEFCTEVfRE9NQUlOX0lEX01BU0ssCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0RFVl9U
QUJMRV9ET01BSU5fSURfU0hJRlQpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgZG9tX2lvbW11KGRvbWFpbiktPmFyY2gucGFnaW5nX21vZGUpOwogICAg
IH0KICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb21tdS0+bG9jaywg
ZmxhZ3MpOwpAQCAtNjA1LDYgKzYyMCw4IEBAIHN0YXRpYyBpbnQgYW1kX2lv
bW11X3JlbW92ZV9kZXZpY2UodTggZGUKIAogICAgIGFtZF9pb21tdV9kaXNh
YmxlX2RvbWFpbl9kZXZpY2UocGRldi0+ZG9tYWluLCBpb21tdSwgZGV2Zm4s
IHBkZXYpOwogCisgICAgYW1kX2lvbW11X3F1YXJhbnRpbmVfdGVhcmRvd24o
cGRldik7CisKICAgICBpb21tdV9mcmVlX2RvbWlkKHBkZXYtPmFyY2gucHNl
dWRvX2RvbWlkLCBpb21tdS0+ZG9taWRfbWFwKTsKICAgICBwZGV2LT5hcmNo
LnBzZXVkb19kb21pZCA9IERPTUlEX0lOVkFMSUQ7CiAKLS0tIGEveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC9pb21tdS5jCkBAIC00OTcsMTkgKzQ5NywxOSBAQCBpbnQg
aW9tbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVjdCBkb21haW4KICAgICByZXR1
cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IGlvbW11X3F1YXJhbnRp
bmVfaW5pdCh2b2lkKQoraW50IGlvbW11X3F1YXJhbnRpbmVfZGV2X2luaXQo
ZGV2aWNlX3QgKmRldikKIHsKICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluX2lv
bW11ICpoZCA9IGRvbV9pb21tdShkb21faW8pOwotICAgIGludCByYzsKLQot
ICAgIHJjID0gaW9tbXVfZG9tYWluX2luaXQoZG9tX2lvKTsKLSAgICBpZiAo
IHJjICkKLSAgICAgICAgcmV0dXJuIHJjOwogCi0gICAgaWYgKCAhaGQtPnBs
YXRmb3JtX29wcy0+cXVhcmFudGluZV9pbml0ICkKKyAgICBpZiAoICFpb21t
dV9xdWFyYW50aW5lIHx8ICFoZC0+cGxhdGZvcm1fb3BzLT5xdWFyYW50aW5l
X2luaXQgKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBoZC0+
cGxhdGZvcm1fb3BzLT5xdWFyYW50aW5lX2luaXQoZG9tX2lvKTsKKyAgICBy
ZXR1cm4gaGQtPnBsYXRmb3JtX29wcy0+cXVhcmFudGluZV9pbml0KGRldik7
Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGlvbW11X3F1YXJhbnRpbmVfaW5p
dCh2b2lkKQoreworICAgIHJldHVybiBpb21tdV9kb21haW5faW5pdChkb21f
aW8pOwogfQogCiBpbnQgX19pbml0IGlvbW11X3NldHVwKHZvaWQpCi0tLSBh
L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9kcml2
ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCkBAIC0xNTEyLDYgKzE1MTIsMTMgQEAg
c3RhdGljIGludCBhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4gKgogICAg
ICAgICBtc2l4dGJsX2luaXQoZCk7CiAgICAgfQogCisgICAgaWYgKCBwZGV2
LT5kb21haW4gIT0gZG9tX2lvICkKKyAgICB7CisgICAgICAgIHJjID0gaW9t
bXVfcXVhcmFudGluZV9kZXZfaW5pdChwY2lfdG9fZGV2KHBkZXYpKTsKKyAg
ICAgICAgaWYgKCByYyApCisgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAg
fQorCiAgICAgcGRldi0+ZmF1bHQuY291bnQgPSAwOwogCiAgICAgaWYgKCAo
cmMgPSBoZC0+cGxhdGZvcm1fb3BzLT5hc3NpZ25fZGV2aWNlKGQsIGRldmZu
LCBwY2lfdG9fZGV2KHBkZXYpLCBmbGFnKSkgKQpAQCAtMTU1OCw5ICsxNTY1
LDE2IEBAIGludCBkZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGRvbWFpbiAqZCwg
dTEKICAgICAgICAgcmV0dXJuIC1FTk9ERVY7CiAKICAgICAvKiBEZS1hc3Np
Z25tZW50IGZyb20gZG9tX2lvIHNob3VsZCBkZS1xdWFyYW50aW5lIHRoZSBk
ZXZpY2UgKi8KLSAgICB0YXJnZXQgPSAoKHBkZXYtPnF1YXJhbnRpbmUgfHwg
aW9tbXVfcXVhcmFudGluZSkgJiYKLSAgICAgICAgICAgICAgcGRldi0+ZG9t
YWluICE9IGRvbV9pbykgPwotICAgICAgICBkb21faW8gOiBoYXJkd2FyZV9k
b21haW47CisgICAgaWYgKCAocGRldi0+cXVhcmFudGluZSB8fCBpb21tdV9x
dWFyYW50aW5lKSAmJiBwZGV2LT5kb21haW4gIT0gZG9tX2lvICkKKyAgICB7
CisgICAgICAgIHJldCA9IGlvbW11X3F1YXJhbnRpbmVfZGV2X2luaXQocGNp
X3RvX2RldihwZGV2KSk7CisgICAgICAgIGlmICggcmV0ICkKKyAgICAgICAg
ICAgcmV0dXJuIHJldDsKKworICAgICAgICB0YXJnZXQgPSBkb21faW87Cisg
ICAgfQorICAgIGVsc2UKKyAgICAgICAgdGFyZ2V0ID0gaGFyZHdhcmVfZG9t
YWluOwogCiAgICAgd2hpbGUgKCBwZGV2LT5waGFudG9tX3N0cmlkZSApCiAg
ICAgewotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUu
YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpA
QCAtNDMsNiArNDMsMTIgQEAKICNpbmNsdWRlICJ2dGQuaCIKICNpbmNsdWRl
ICIuLi9hdHMuaCIKIAorI2RlZmluZSBERVZJQ0VfRE9NSUQoZCwgcGRldikg
KChkKSAhPSBkb21faW8gPyAoZCktPmRvbWFpbl9pZCBcCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IChwZGV2KS0+
YXJjaC5wc2V1ZG9fZG9taWQpCisjZGVmaW5lIERFVklDRV9QR1RBQkxFKGQs
IHBkZXYpICgoZCkgIT0gZG9tX2lvIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID8gZG9tX2lvbW11KGQpLT5hcmNoLnBnZF9tYWRkciBc
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IChwZGV2KS0+
YXJjaC52dGQucGdkX21hZGRyKQorCiAvKiBQb3NzaWJsZSB1bmZpbHRlcmVk
IExBUElDL01TSSBtZXNzYWdlcyBmcm9tIHVudHJ1c3RlZCBzb3VyY2VzPyAq
LwogYm9vbCBfX3JlYWRfbW9zdGx5IHVudHJ1c3RlZF9tc2k7CiAKQEAgLTc4
LDEzICs4NCwxOCBAQCBzdGF0aWMgaW50IGdldF9pb21tdV9kaWQoZG9taWRf
dCBkb21pZCwKIAogI2RlZmluZSBESURfRklFTERfV0lEVEggMTYKICNkZWZp
bmUgRElEX0hJR0hfT0ZGU0VUIDgKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24g
bWF5IGhhdmUgImNvbnRleHQiIHBhc3NlZCBhcyBOVUxMLCB0byBtZXJlbHkg
b2J0YWluIGEgRElECisgKiBmb3IgImRvbWlkIi4KKyAqLwogc3RhdGljIGlu
dCBjb250ZXh0X3NldF9kb21haW5faWQoc3RydWN0IGNvbnRleHRfZW50cnkg
KmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
b21pZF90IGRvbWlkLCBzdHJ1Y3QgaW9tbXUgKmlvbW11KQogewogICAgIHVu
c2lnbmVkIGxvbmcgbnJfZG9tLCBpOwogICAgIGludCBmb3VuZCA9IDA7CiAK
LSAgICBBU1NFUlQoc3Bpbl9pc19sb2NrZWQoJmlvbW11LT5sb2NrKSk7Cisg
ICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOwogCiAgICAgbnJfZG9tID0g
Y2FwX25kb21zKGlvbW11LT5jYXApOwogICAgIGkgPSBmaW5kX2ZpcnN0X2Jp
dChpb21tdS0+ZG9taWRfYml0bWFwLCBucl9kb20pOwpAQCAtMTEwLDggKzEy
MSwxMyBAQCBzdGF0aWMgaW50IGNvbnRleHRfc2V0X2RvbWFpbl9pZChzdHJ1
Y3QKICAgICB9CiAKICAgICBzZXRfYml0KGksIGlvbW11LT5kb21pZF9iaXRt
YXApOwotICAgIGNvbnRleHQtPmhpICY9IH4oKCgxIDw8IERJRF9GSUVMRF9X
SURUSCkgLSAxKSA8PCBESURfSElHSF9PRkZTRVQpOwotICAgIGNvbnRleHQt
PmhpIHw9IChpICYgKCgxIDw8IERJRF9GSUVMRF9XSURUSCkgLSAxKSkgPDwg
RElEX0hJR0hfT0ZGU0VUOworCisgICAgaWYgKCBjb250ZXh0ICkKKyAgICB7
CisgICAgICAgIGNvbnRleHQtPmhpICY9IH4oKCgxIDw8IERJRF9GSUVMRF9X
SURUSCkgLSAxKSA8PCBESURfSElHSF9PRkZTRVQpOworICAgICAgICBjb250
ZXh0LT5oaSB8PSAoaSAmICgoMSA8PCBESURfRklFTERfV0lEVEgpIC0gMSkp
IDw8IERJRF9ISUdIX09GRlNFVDsKKyAgICB9CisKICAgICByZXR1cm4gMDsK
IH0KIApAQCAtMTc5LDggKzE5NSwxMiBAQCBzdGF0aWMgdm9pZCBjaGVja19j
bGVhbnVwX2RvbWlkX21hcChzdHJ1CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqZXhjbHVkZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBp
b21tdSAqaW9tbXUpCiB7Ci0gICAgYm9vbCBmb3VuZCA9IGFueV9wZGV2X2Jl
aGluZF9pb21tdShkLCBleGNsdWRlLCBpb21tdSk7CisgICAgYm9vbCBmb3Vu
ZDsKIAorICAgIGlmICggZCA9PSBkb21faW8gKQorICAgICAgICByZXR1cm47
CisKKyAgICBmb3VuZCA9IGFueV9wZGV2X2JlaGluZF9pb21tdShkLCBleGNs
dWRlLCBpb21tdSk7CiAgICAgLyoKICAgICAgKiBIaWRkZW4gZGV2aWNlcyBh
cmUgYXNzb2NpYXRlZCB3aXRoIERvbVhFTiBidXQgdXNhYmxlIGJ5IHRoZSBo
YXJkd2FyZQogICAgICAqIGRvbWFpbi4gSGVuY2UgdGhleSBuZWVkIGNvbnNp
ZGVyaW5nIGhlcmUgYXMgd2VsbC4KQEAgLTE0NDMsNyArMTQ2Myw3IEBAIGlu
dCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAgICAgICAgZG9taWQg
PSBpb21tdS0+ZG9taWRfbWFwW3ByZXZfZGlkXTsKICAgICAgICAgaWYgKCBk
b21pZCA8IERPTUlEX0ZJUlNUX1JFU0VSVkVEICkKICAgICAgICAgICAgIHBy
ZXZfZG9tID0gcmN1X2xvY2tfZG9tYWluX2J5X2lkKGRvbWlkKTsKLSAgICAg
ICAgZWxzZSBpZiAoIGRvbWlkID09IERPTUlEX0lPICkKKyAgICAgICAgZWxz
ZSBpZiAoIHBkZXYgPyBkb21pZCA9PSBwZGV2LT5hcmNoLnBzZXVkb19kb21p
ZCA6IGRvbWlkID4gRE9NSURfTUFTSyApCiAgICAgICAgICAgICBwcmV2X2Rv
bSA9IHJjdV9sb2NrX2RvbWFpbihkb21faW8pOwogICAgICAgICBpZiAoICFw
cmV2X2RvbSApCiAgICAgICAgIHsKQEAgLTE2MjAsMTUgKzE2NDAsMTIgQEAg
aW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIHsKICAgICAg
ICAgaWYgKCAhcHJldl9kb20gKQogICAgICAgICAgICAgZG9tYWluX2NvbnRl
eHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21h
aW5faWQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IERFVklDRV9ET01JRChkb21haW4sIHBkZXYpKTsKICAgICAgICAgZWxzZSBp
ZiAoIHByZXZfZG9tICE9IGRvbWFpbiApIC8qIEF2b2lkIGluZmluaXRlIHJl
Y3Vyc2lvbi4gKi8KLSAgICAgICAgewotICAgICAgICAgICAgaGQgPSBkb21f
aW9tbXUocHJldl9kb20pOwogICAgICAgICAgICAgZG9tYWluX2NvbnRleHRf
bWFwcGluZ19vbmUocHJldl9kb20sIGlvbW11LCBidXMsIGRldmZuLCBwZGV2
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9t
YWluLT5kb21haW5faWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBoZC0+YXJjaC5wZ2RfbWFkZHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBERVZJQ0VfRE9NSUQocHJldl9k
b20sIHBkZXYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgREVWSUNFX1BHVEFCTEUocHJldl9kb20sIHBkZXYpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSAmIE1BUF9X
SVRIX1JNUlIpOwotICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKCBwcmV2
X2RvbSApCkBAIC0xNjQ1LDcgKzE2NjIsNyBAQCBzdGF0aWMgaW50IGRvbWFp
bl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiB7CiAgICAgc3RydWN0IGFjcGlf
ZHJoZF91bml0ICpkcmhkOwogICAgIGNvbnN0IHN0cnVjdCBhY3BpX3JtcnJf
dW5pdCAqcm1ycjsKLSAgICBwYWRkcl90IHBnZF9tYWRkciA9IGRvbV9pb21t
dShkb21haW4pLT5hcmNoLnBnZF9tYWRkcjsKKyAgICBwYWRkcl90IHBnZF9t
YWRkciA9IERFVklDRV9QR1RBQkxFKGRvbWFpbiwgcGRldik7CiAgICAgZG9t
aWRfdCBvcmlnX2RvbWlkID0gcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQ7CiAg
ICAgaW50IHJldCA9IDA7CiAgICAgdW5zaWduZWQgaW50IGksIG1vZGUgPSAw
OwpAQCAtMTY2OCw3ICsxNjg1LDcgQEAgc3RhdGljIGludCBkb21haW5fY29u
dGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICBicmVhazsKICAgICB9CiAK
LSAgICBpZiAoIGRvbWFpbiAhPSBwZGV2LT5kb21haW4gKQorICAgIGlmICgg
ZG9tYWluICE9IHBkZXYtPmRvbWFpbiAmJiBwZGV2LT5kb21haW4gIT0gZG9t
X2lvICkKICAgICB7CiAgICAgICAgIGlmICggcGRldi0+ZG9tYWluLT5pc19k
eWluZyApCiAgICAgICAgICAgICBtb2RlIHw9IE1BUF9PV05FUl9EWUlORzsK
QEAgLTE3MDksOCArMTcyNiw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRl
eHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICAgIHByaW50ayhWVERQUkVG
SVggImQlZDpQQ0llOiBtYXAgJTA0eDolMDJ4OiUwMnguJXVcbiIsCiAgICAg
ICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQsIHNlZywgYnVzLAog
ICAgICAgICAgICAgICAgICAgIFBDSV9TTE9UKGRldmZuKSwgUENJX0ZVTkMo
ZGV2Zm4pKTsKLSAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGlu
Z19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgYnVzLCBkZXZmbiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRldiwgZG9t
YWluLT5kb21haW5faWQsIHBnZF9tYWRkciwKKyAgICAgICAgcmV0ID0gZG9t
YWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwg
YnVzLCBkZXZmbiwgcGRldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgREVWSUNFX0RPTUlEKGRvbWFpbiwgcGRldiksIHBn
ZF9tYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbW9kZSk7CiAgICAgICAgIGlmICggcmV0ID4gMCApCiAgICAgICAg
ICAgICByZXQgPSAwOwpAQCAtMTczNCw4ICsxNzUxLDggQEAgc3RhdGljIGlu
dCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICAgICAg
ICAgICAgIFBDSV9TTE9UKGRldmZuKSwgUENJX0ZVTkMoZGV2Zm4pKTsKIAog
ICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21h
aW4sIGRyaGQtPmlvbW11LCBidXMsIGRldmZuLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwZGV2LCBkb21haW4tPmRvbWFp
bl9pZCwgcGdkX21hZGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGRldiwgREVWSUNFX0RPTUlEKGRvbWFpbiwg
cGRldiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBnZF9tYWRkciwgbW9kZSk7CiAgICAgICAgIGlmICggcmV0IDwgMCAp
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgcHJldl9wcmVzZW50ID0g
cmV0OwpAQCAtMTc2MSw4ICsxNzc4LDggQEAgc3RhdGljIGludCBkb21haW5f
Y29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICAgKi8KICAgICAgICAg
aWYgKCByZXQgPj0gMCApCiAgICAgICAgICAgICByZXQgPSBkb21haW5fY29u
dGV4dF9tYXBwaW5nX29uZShkb21haW4sIGRyaGQtPmlvbW11LCBidXMsIGRl
dmZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCwgZG9tYWluLT5kb21haW5faWQsIHBnZF9tYWRkciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1v
ZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTlVMTCwgREVWSUNFX0RPTUlEKGRvbWFpbiwgcGRldiksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZ2Rf
bWFkZHIsIG1vZGUpOwogCiAgICAgICAgIC8qCiAgICAgICAgICAqIERldmlj
ZXMgYmVoaW5kIFBDSWUtdG8tUENJL1BDSXggYnJpZGdlIG1heSBnZW5lcmF0
ZSBkaWZmZXJlbnQKQEAgLTE3NzcsOCArMTc5NCw4IEBAIHN0YXRpYyBpbnQg
ZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgaWYgKCAh
cmV0ICYmIHBkZXZfdHlwZShzZWcsIGJ1cywgZGV2Zm4pID09IERFVl9UWVBF
X1BDSWUyUENJX0JSSURHRSAmJgogICAgICAgICAgICAgIChzZWNidXMgIT0g
cGRldi0+YnVzIHx8IHBkZXYtPmRldmZuICE9IDApICkKICAgICAgICAgICAg
IHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJo
ZC0+aW9tbXUsIHNlY2J1cywgMCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGRvbWFpbi0+ZG9tYWluX2lk
LCBwZ2RfbWFkZHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIERFVklDRV9ET01JRChkb21h
aW4sIHBkZXYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGdkX21hZGRyLCBtb2RlKTsKIAogICAgICAgICBpZiAo
IHJldCApCiAgICAgICAgIHsKQEAgLTE5MTQsNyArMTkzMSw3IEBAIHN0YXRp
YyBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRvbWEKICAgICAgICAg
ICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwgc2VnLCBidXMsCiAgICAg
ICAgICAgICAgICAgICAgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZm
bikpOwogICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUo
ZG9tYWluLCBpb21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFVklDRV9E
T01JRChkb21haW4sIHBkZXYpKTsKICAgICAgICAgaWYgKCAhcmV0ICYmIGRl
dmZuID09IHBkZXYtPmRldmZuICYmIGF0c19kZXZpY2UocGRldiwgZHJoZCkg
PiAwICkKICAgICAgICAgICAgIGRpc2FibGVfYXRzX2RldmljZShwZGV2KTsK
IApAQCAtMTkyNSw3ICsxOTQyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBh
Y3BpX2RyaGRfdW5pdCAqZG9tYQogICAgICAgICAgICAgcHJpbnRrKFZURFBS
RUZJWCAiZCVkOlBDSTogdW5tYXAgJTA0eDolMDJ4OiUwMnguJXVcbiIsCiAg
ICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQsIHNlZywgYnVz
LCBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSk7CiAgICAgICAg
IHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11
LCBidXMsIGRldmZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX0RPTUlEKGRvbWFpbiwg
cGRldikpOwogICAgICAgICBpZiAoIHJldCApCiAgICAgICAgICAgICBicmVh
azsKIApAQCAtMTkzNCwxOCArMTk1MSwxMiBAQCBzdGF0aWMgY29uc3Qgc3Ry
dWN0IGFjcGlfZHJoZF91bml0ICpkb21hCiAgICAgICAgIGlmICggZmluZF91
cHN0cmVhbV9icmlkZ2Uoc2VnLCAmdG1wX2J1cywgJnRtcF9kZXZmbiwgJnNl
Y2J1cykgPCAxICkKICAgICAgICAgICAgIGJyZWFrOwogCisgICAgICAgIHJl
dCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCB0
bXBfYnVzLCB0bXBfZGV2Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSk7CiAg
ICAgICAgIC8qIFBDSWUgdG8gUENJL1BDSXggYnJpZGdlICovCi0gICAgICAg
IGlmICggcGRldl90eXBlKHNlZywgdG1wX2J1cywgdG1wX2RldmZuKSA9PSBE
RVZfVFlQRV9QQ0llMlBDSV9CUklER0UgKQotICAgICAgICB7Ci0gICAgICAg
ICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBp
b21tdSwgdG1wX2J1cywgdG1wX2RldmZuLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsK
LSAgICAgICAgICAgIGlmICggIXJldCApCi0gICAgICAgICAgICAgICAgcmV0
ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIHNl
Y2J1cywgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOwotICAgICAgICB9Ci0g
ICAgICAgIGVsc2UgLyogTGVnYWN5IFBDSSBicmlkZ2UgKi8KLSAgICAgICAg
ICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlv
bW11LCB0bXBfYnVzLCB0bXBfZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOwor
ICAgICAgICBpZiAoICFyZXQgJiYgcGRldl90eXBlKHNlZywgdG1wX2J1cywg
dG1wX2RldmZuKSA9PSBERVZfVFlQRV9QQ0llMlBDSV9CUklER0UgKQorICAg
ICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFp
biwgaW9tbXUsIHNlY2J1cywgMCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2
KSk7CiAKICAgICAgICAgYnJlYWs7CiAKQEAgLTE5OTIsNiArMjAwMywyNSBA
QCBzdGF0aWMgdm9pZCBpb21tdV9kb21haW5fdGVhcmRvd24oc3RydWN0CiAg
ICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CiB9CiAK
K3N0YXRpYyB2b2lkIHF1YXJhbnRpbmVfdGVhcmRvd24oc3RydWN0IHBjaV9k
ZXYgKnBkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZCkKK3sKKyAgICBzdHJ1
Y3QgcGFnZV9pbmZvICpwZzsKKworICAgIEFTU0VSVChwY2lkZXZzX2xvY2tl
ZCgpKTsKKworICAgIGlmICggIXBkZXYtPmFyY2gudnRkLnBnZF9tYWRkciAp
CisgICAgICAgIHJldHVybjsKKworICAgIHdoaWxlICggKHBnID0gcGFnZV9s
aXN0X3JlbW92ZV9oZWFkKCZwZGV2LT5hcmNoLnBndGFibGVzX2xpc3QpKSAp
CisgICAgICAgIGZyZWVfZG9taGVhcF9wYWdlKHBnKTsKKworICAgIHBkZXYt
PmFyY2gudnRkLnBnZF9tYWRkciA9IDA7CisKKyAgICBpZiAoIGRyaGQgKQor
ICAgICAgICBjbGVhbnVwX2RvbWlkX21hcChwZGV2LT5hcmNoLnBzZXVkb19k
b21pZCwgZHJoZC0+aW9tbXUpOworfQorCiBzdGF0aWMgaW50IF9fbXVzdF9j
aGVjayBpbnRlbF9pb21tdV9tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBk
Zm5fdCBkZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBtZm5fdCBtZm4sIHVuc2lnbmVkIGludCBmbGFncywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCAqZmx1c2hfZmxhZ3MpCkBAIC0yMjE0LDYgKzIyNDQsOCBA
QCBzdGF0aWMgaW50IGludGVsX2lvbW11X3JlbW92ZV9kZXZpY2UodTgKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5lbmRfYWRkcmVz
cywgMCk7CiAgICAgfQogCisgICAgcXVhcmFudGluZV90ZWFyZG93bihwZGV2
LCBkcmhkKTsKKwogICAgIGlmICggZHJoZCApCiAgICAgewogICAgICAgICBp
b21tdV9mcmVlX2RvbWlkKHBkZXYtPmFyY2gucHNldWRvX2RvbWlkLApAQCAt
Mjg1Miw2MCArMjg4NCwxMzkgQEAgc3RhdGljIHZvaWQgdnRkX2R1bXBfcDJt
X3RhYmxlKHN0cnVjdCBkbwogICAgIHZ0ZF9kdW1wX3AybV90YWJsZV9sZXZl
bChoZC0+YXJjaC5wZ2RfbWFkZHIsIGFnYXdfdG9fbGV2ZWwoaGQtPmFyY2gu
YWdhdyksIDAsIDApOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBpbnRlbF9p
b21tdV9xdWFyYW50aW5lX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKK3N0YXRp
YyBpbnQgZmlsbF9xcHQoc3RydWN0IGRtYV9wdGUgKnRoaXMsIHVuc2lnbmVk
IGludCBsZXZlbCwKKyAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBtYWRk
cnNbNl0sIHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogewotICAgIHN0cnVjdCBk
b21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwotICAgIHN0cnVjdCBk
bWFfcHRlICpwYXJlbnQ7CisgICAgdW5zaWduZWQgaW50IGk7CisgICAgaW50
IHJjID0gMDsKKworICAgIGZvciAoIGkgPSAwOyAhcmMgJiYgaSA8IFBURV9O
VU07ICsraSApCisgICAgeworICAgICAgICBzdHJ1Y3QgZG1hX3B0ZSAqcHRl
ID0gJnRoaXNbaV0sICpuZXh0OworCisgICAgICAgIGlmICggIWRtYV9wdGVf
cHJlc2VudCgqcHRlKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgg
IW1hZGRyc1tsZXZlbF0gKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIC8qCisgICAgICAgICAgICAgICAgICogVGhlIHBndGFibGUgYWxsb2Nh
dG9yIGlzIGZpbmUgZm9yIHRoZSBsZWFmIHBhZ2UsIGFzIHdlbGwgYXMKKyAg
ICAgICAgICAgICAgICAgKiBwYWdlIHRhYmxlIHBhZ2VzLCBhbmQgdGhlIHJl
c3VsdGluZyBhbGxvY2F0aW9ucyBhcmUgYWx3YXlzCisgICAgICAgICAgICAg
ICAgICogemVyb2VkLgorICAgICAgICAgICAgICAgICAqLworICAgICAgICAg
ICAgICAgIG1hZGRyc1tsZXZlbF0gPSBhbGxvY19wZ3RhYmxlX21hZGRyKE5V
TEwsIDEpOworICAgICAgICAgICAgICAgIGlmICggIW1hZGRyc1tsZXZlbF0g
KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmMg
PSAtRU5PTUVNOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBwYWdlX2xpc3RfYWRk
KG1hZGRyX3RvX3BhZ2UobWFkZHJzW2xldmVsXSksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmcGRldi0+YXJjaC5wZ3RhYmxlc19saXN0KTsK
KworICAgICAgICAgICAgICAgIGlmICggbGV2ZWwgKQorICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgbmV4dCA9IG1hcF92dGRfZG9t
YWluX3BhZ2UobWFkZHJzW2xldmVsXSk7CisgICAgICAgICAgICAgICAgICAg
IHJjID0gZmlsbF9xcHQobmV4dCwgbGV2ZWwgLSAxLCBtYWRkcnMsIHBkZXYp
OworICAgICAgICAgICAgICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2Uo
bmV4dCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBkbWFfc2V0X3B0ZV9hZGRyKCpwdGUsIG1hZGRyc1tsZXZl
bF0pOworICAgICAgICAgICAgZG1hX3NldF9wdGVfcmVhZGFibGUoKnB0ZSk7
CisgICAgICAgICAgICBkbWFfc2V0X3B0ZV93cml0YWJsZSgqcHRlKTsKKyAg
ICAgICAgfQorICAgICAgICBlbHNlIGlmICggbGV2ZWwgJiYgIWRtYV9wdGVf
c3VwZXJwYWdlKCpwdGUpICkKKyAgICAgICAgeworICAgICAgICAgICAgcGFn
ZV9saXN0X2FkZChtYWRkcl90b19wYWdlKGRtYV9wdGVfYWRkcigqcHRlKSks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICZwZGV2LT5hcmNoLnBndGFi
bGVzX2xpc3QpOworICAgICAgICAgICAgbmV4dCA9IG1hcF92dGRfZG9tYWlu
X3BhZ2UoZG1hX3B0ZV9hZGRyKCpwdGUpKTsKKyAgICAgICAgICAgIHJjID0g
ZmlsbF9xcHQobmV4dCwgbGV2ZWwgLSAxLCBtYWRkcnMsIHBkZXYpOworICAg
ICAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKG5leHQpOworICAgICAg
ICB9CisgICAgfQorCisgICAgcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50
IGludGVsX2lvbW11X3F1YXJhbnRpbmVfaW5pdChzdHJ1Y3QgcGNpX2RldiAq
cGRldikKK3sKKyAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9p
b21tdShkb21faW8pOworICAgIHBhZGRyX3QgbWFkZHI7CiAgICAgdW5zaWdu
ZWQgaW50IGFnYXcgPSB3aWR0aF90b19hZ2F3KERFRkFVTFRfRE9NQUlOX0FE
RFJFU1NfV0lEVEgpOwogICAgIHVuc2lnbmVkIGludCBsZXZlbCA9IGFnYXdf
dG9fbGV2ZWwoYWdhdyk7CisgICAgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91
bml0ICpkcmhkOworICAgIGNvbnN0IHN0cnVjdCBhY3BpX3JtcnJfdW5pdCAq
cm1ycjsKKyAgICB1bnNpZ25lZCBpbnQgaSwgYmRmOworICAgIGJvb2wgcm1y
cl9mb3VuZCA9IGZhbHNlOworICAgIGludCByYzsKIAotICAgIGlmICggaGQt
PmFyY2gucGdkX21hZGRyICkKKyAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQo
KSk7CisgICAgQVNTRVJUKCFoZC0+YXJjaC5wZ2RfbWFkZHIpOworCisgICAg
aWYgKCBwZGV2LT5hcmNoLnZ0ZC5wZ2RfbWFkZHIgKQogICAgIHsKLSAgICAg
ICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CisgICAgICAgIGNsZWFyX2RvbWFp
bl9wYWdlKHBkZXYtPmFyY2gubGVhZl9tZm4pOwogICAgICAgICByZXR1cm4g
MDsKICAgICB9CiAKLSAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdf
bG9jayk7CisgICAgZHJoZCA9IGFjcGlfZmluZF9tYXRjaGVkX2RyaGRfdW5p
dChwZGV2KTsKKyAgICBpZiAoICFkcmhkICkKKyAgICAgICAgcmV0dXJuIC1F
Tk9ERVY7CiAKLSAgICBoZC0+YXJjaC5wZ2RfbWFkZHIgPSBhbGxvY19wZ3Rh
YmxlX21hZGRyKE5VTEwsIDEpOwotICAgIGlmICggIWhkLT5hcmNoLnBnZF9t
YWRkciApCi0gICAgICAgIGdvdG8gb3V0OworICAgIG1hZGRyID0gYWxsb2Nf
cGd0YWJsZV9tYWRkcihOVUxMLCAxKTsKKyAgICBpZiAoICFtYWRkciApCisg
ICAgICAgIHJldHVybiAtRU5PTUVNOwogCi0gICAgcGFyZW50ID0gbWFwX3Z0
ZF9kb21haW5fcGFnZShoZC0+YXJjaC5wZ2RfbWFkZHIpOwotICAgIHdoaWxl
ICggbGV2ZWwgKQotICAgIHsKLSAgICAgICAgdWludDY0X3QgbWFkZHI7Ci0g
ICAgICAgIHVuc2lnbmVkIGludCBvZmZzZXQ7CisgICAgcmMgPSBjb250ZXh0
X3NldF9kb21haW5faWQoTlVMTCwgcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQs
IGRyaGQtPmlvbW11KTsKIAotICAgICAgICAvKgotICAgICAgICAgKiBUaGUg
cGd0YWJsZSBhbGxvY2F0b3IgaXMgZmluZSBmb3IgdGhlIGxlYWYgcGFnZSwg
YXMgd2VsbCBhcwotICAgICAgICAgKiBwYWdlIHRhYmxlIHBhZ2VzLCBhbmQg
dGhlIHJlc3VsdGluZyBhbGxvY2F0aW9ucyBhcmUgYWx3YXlzCi0gICAgICAg
ICAqIHplcm9lZC4KLSAgICAgICAgICovCi0gICAgICAgIG1hZGRyID0gYWxs
b2NfcGd0YWJsZV9tYWRkcihOVUxMLCAxKTsKLSAgICAgICAgaWYgKCAhbWFk
ZHIgKQorICAgIC8qIFRyYW5zaWVudGx5IGluc3RhbGwgdGhlIHJvb3QgaW50
byBEb21JTywgZm9yIGlvbW11X2lkZW50aXR5X21hcHBpbmcoKS4gKi8KKyAg
ICBoZC0+YXJjaC5wZ2RfbWFkZHIgPSBtYWRkcjsKKworICAgIGZvcl9lYWNo
X3JtcnJfZGV2aWNlICggcm1yciwgYmRmLCBpICkKKyAgICB7CisgICAgICAg
IGlmICggcmMgKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgZm9y
ICggb2Zmc2V0ID0gMDsgb2Zmc2V0IDwgUFRFX05VTTsgb2Zmc2V0KysgKQor
ICAgICAgICBpZiAoIHJtcnItPnNlZ21lbnQgPT0gcGRldi0+c2VnICYmCisg
ICAgICAgICAgICAgYmRmID09IFBDSV9CREYyKHBkZXYtPmJ1cywgcGRldi0+
ZGV2Zm4pICkKICAgICAgICAgewotICAgICAgICAgICAgc3RydWN0IGRtYV9w
dGUgKnB0ZSA9ICZwYXJlbnRbb2Zmc2V0XTsKKyAgICAgICAgICAgIHJtcnJf
Zm91bmQgPSB0cnVlOwogCi0gICAgICAgICAgICBkbWFfc2V0X3B0ZV9hZGRy
KCpwdGUsIG1hZGRyKTsKLSAgICAgICAgICAgIGRtYV9zZXRfcHRlX3JlYWRh
YmxlKCpwdGUpOworICAgICAgICAgICAgcmMgPSBpb21tdV9pZGVudGl0eV9t
YXBwaW5nKGRvbV9pbywgcDJtX2FjY2Vzc19ydywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5iYXNlX2FkZHJlc3Ms
IHJtcnItPmVuZF9hZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDApOworICAgICAgICAgICAgaWYgKCByYyApCisg
ICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgVlREUFJFRklYCisg
ICAgICAgICAgICAgICAgICAgICAgICIlMDR4OiUwMng6JTAyeC4ldTogUk1S
UiBxdWFyYW50aW5lIG1hcHBpbmcgZmFpbGVkXG4iLAorICAgICAgICAgICAg
ICAgICAgICAgICBwZGV2LT5zZWcsIHBkZXYtPmJ1cywKKyAgICAgICAgICAg
ICAgICAgICAgICAgUENJX1NMT1QocGRldi0+ZGV2Zm4pLCBQQ0lfRlVOQyhw
ZGV2LT5kZXZmbikpOwogICAgICAgICB9Ci0gICAgICAgIGlvbW11X3N5bmNf
Y2FjaGUocGFyZW50LCBQQUdFX1NJWkUpOworICAgIH0KIAotICAgICAgICB1
bm1hcF92dGRfZG9tYWluX3BhZ2UocGFyZW50KTsKLSAgICAgICAgcGFyZW50
ID0gbWFwX3Z0ZF9kb21haW5fcGFnZShtYWRkcik7Ci0gICAgICAgIGxldmVs
LS07CisgICAgaW9tbXVfaWRlbnRpdHlfbWFwX3RlYXJkb3duKGRvbV9pbyk7
CisgICAgaGQtPmFyY2gucGdkX21hZGRyID0gMDsKKyAgICBwZGV2LT5hcmNo
LnZ0ZC5wZ2RfbWFkZHIgPSBtYWRkcjsKKworICAgIGlmICggIXJjICkKKyAg
ICB7CisgICAgICAgIHN0cnVjdCBkbWFfcHRlICpyb290OworICAgICAgICBw
YWRkcl90IG1hZGRyc1s2XSA9IHt9OworCisgICAgICAgIHNwaW5fbG9jaygm
aGQtPmFyY2gubWFwcGluZ19sb2NrKTsKKworICAgICAgICByb290ID0gbWFw
X3Z0ZF9kb21haW5fcGFnZShtYWRkcik7CisgICAgICAgIHJjID0gZmlsbF9x
cHQocm9vdCwgbGV2ZWwgLSAxLCBtYWRkcnMsIHBkZXYpOworICAgICAgICB1
bm1hcF92dGRfZG9tYWluX3BhZ2Uocm9vdCk7CisKKyAgICAgICAgcGRldi0+
YXJjaC5sZWFmX21mbiA9IG1hZGRyX3RvX21mbihtYWRkcnNbMF0pOworCisg
ICAgICAgIHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwog
ICAgIH0KLSAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UocGFyZW50KTsKIAot
IG91dDoKLSAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2Nr
KTsKKyAgICBpZiAoIHJjICkKKyAgICAgICAgcXVhcmFudGluZV90ZWFyZG93
bihwZGV2LCBkcmhkKTsKIAotICAgIC8qIFBhZ2VzIGxlYWtlZCBpbiBmYWls
dXJlIGNhc2UgKi8KLSAgICByZXR1cm4gbGV2ZWwgPyAtRU5PTUVNIDogMDsK
KyAgICByZXR1cm4gcmM7CiB9CiAKIGNvbnN0IHN0cnVjdCBpb21tdV9vcHMg
X19pbml0Y29uc3RyZWwgaW50ZWxfaW9tbXVfb3BzID0gewotLS0gYS94ZW4v
ZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaAorKysgYi94ZW4vZHJp
dmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaApAQCAtNTM1LDcgKzUzNSw3
IEBAIHN0cnVjdCBpb21tdSB7CiAgICAgdTMyIG5yX3B0X2xldmVsczsKICAg
ICB1NjQJY2FwOwogICAgIHU2NAllY2FwOwotICAgIHNwaW5sb2NrX3QgbG9j
azsgLyogcHJvdGVjdCBjb250ZXh0LCBkb21haW4gaWRzICovCisgICAgc3Bp
bmxvY2tfdCBsb2NrOyAvKiBwcm90ZWN0IGNvbnRleHQgKi8KICAgICBzcGlu
bG9ja190IHJlZ2lzdGVyX2xvY2s7IC8qIHByb3RlY3QgaW9tbXUgcmVnaXN0
ZXIgaGFuZGxpbmcgKi8KICAgICB1NjQgcm9vdF9tYWRkcjsgLyogcm9vdCBl
bnRyeSBtYWNoaW5lIGFkZHJlc3MgKi8KICAgICBzdHJ1Y3QgbXNpX2Rlc2Mg
bXNpOwotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAorKysgYi94ZW4v
aW5jbHVkZS94ZW4vaW9tbXUuaApAQCAtMTg5LDcgKzE4OSw3IEBAIHR5cGVk
ZWYgaW50IGlvbW11X2dyZG1fdCh4ZW5fcGZuX3Qgc3RhcnQKIHN0cnVjdCBp
b21tdV9vcHMgewogICAgIGludCAoKmluaXQpKHN0cnVjdCBkb21haW4gKmQp
OwogICAgIHZvaWQgKCpod2RvbV9pbml0KShzdHJ1Y3QgZG9tYWluICpkKTsK
LSAgICBpbnQgKCpxdWFyYW50aW5lX2luaXQpKHN0cnVjdCBkb21haW4gKmQp
OworICAgIGludCAoKnF1YXJhbnRpbmVfaW5pdCkoZGV2aWNlX3QgKmRldik7
CiAgICAgaW50ICgqYWRkX2RldmljZSkodTggZGV2Zm4sIGRldmljZV90ICpk
ZXYpOwogICAgIGludCAoKmVuYWJsZV9kZXZpY2UpKGRldmljZV90ICpkZXYp
OwogICAgIGludCAoKnJlbW92ZV9kZXZpY2UpKHU4IGRldmZuLCBkZXZpY2Vf
dCAqZGV2KTsKQEAgLTI3Nyw2ICsyNzcsNyBAQCBpbnQgX19tdXN0X2NoZWNr
IGlvbW11X3N1c3BlbmQodm9pZCk7CiB2b2lkIGlvbW11X3Jlc3VtZSh2b2lk
KTsKIHZvaWQgaW9tbXVfY3Jhc2hfc2h1dGRvd24odm9pZCk7CiBpbnQgaW9t
bXVfZ2V0X3Jlc2VydmVkX2RldmljZV9tZW1vcnkoaW9tbXVfZ3JkbV90ICos
IHZvaWQgKik7CitpbnQgaW9tbXVfcXVhcmFudGluZV9kZXZfaW5pdChkZXZp
Y2VfdCAqZGV2KTsKIAogdm9pZCBpb21tdV9zaGFyZV9wMm1fdGFibGUoc3Ry
dWN0IGRvbWFpbiAqZCk7CiAK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBzcGxpdCBkb21pZCBtYXAgY2xlYW51cCBjaGVjayBpbnRvIGEg
ZnVuY3Rpb24KClRoaXMgbG9naWMgd2lsbCB3YW50IGludm9raW5nIGZyb20g
ZWxzZXdoZXJlLgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQuCgpT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5A
aW50ZWwuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKQEAgLTE1Myw2ICsxNTMsNTEgQEAgc3RhdGljIHZvaWQgY2xlYW51
cF9kb21pZF9tYXAoc3RydWN0IGRvbQogICAgIH0KIH0KIAorc3RhdGljIGJv
b2wgYW55X3BkZXZfYmVoaW5kX2lvbW11KGNvbnN0IHN0cnVjdCBkb21haW4g
KmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IHBjaV9kZXYgKmV4Y2x1ZGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHZ0ZF9pb21tdSAqaW9tbXUp
Cit7CisgICAgY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXY7CisKKyAgICBm
b3JfZWFjaF9wZGV2ICggZCwgcGRldiApCisgICAgeworICAgICAgICBjb25z
dCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQ7CisKKyAgICAgICAgaWYg
KCBwZGV2ID09IGV4Y2x1ZGUgKQorICAgICAgICAgICAgY29udGludWU7CisK
KyAgICAgICAgZHJoZCA9IGFjcGlfZmluZF9tYXRjaGVkX2RyaGRfdW5pdChw
ZGV2KTsKKyAgICAgICAgaWYgKCBkcmhkICYmIGRyaGQtPmlvbW11ID09IGlv
bW11ICkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAg
IHJldHVybiBmYWxzZTsKK30KKworLyoKKyAqIElmIG5vIG90aGVyIGRldmlj
ZXMgdW5kZXIgdGhlIHNhbWUgaW9tbXUgb3duZWQgYnkgdGhpcyBkb21haW4s
CisgKiBjbGVhciBpb21tdSBpbiBpb21tdV9iaXRtYXAgYW5kIGNsZWFyIGRv
bWFpbl9pZCBpbiBkb21pZF9iaXRtYXAuCisgKi8KK3N0YXRpYyB2b2lkIGNo
ZWNrX2NsZWFudXBfZG9taWRfbWFwKHN0cnVjdCBkb21haW4gKmQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
cGNpX2RldiAqZXhjbHVkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KQoreworICAgIGJv
b2wgZm91bmQgPSBhbnlfcGRldl9iZWhpbmRfaW9tbXUoZCwgZXhjbHVkZSwg
aW9tbXUpOworCisgICAgLyoKKyAgICAgKiBIaWRkZW4gZGV2aWNlcyBhcmUg
YXNzb2NpYXRlZCB3aXRoIERvbVhFTiBidXQgdXNhYmxlIGJ5IHRoZSBoYXJk
d2FyZQorICAgICAqIGRvbWFpbi4gSGVuY2UgdGhleSBuZWVkIGNvbnNpZGVy
aW5nIGhlcmUgYXMgd2VsbC4KKyAgICAgKi8KKyAgICBpZiAoICFmb3VuZCAm
JiBpc19oYXJkd2FyZV9kb21haW4oZCkgKQorICAgICAgICBmb3VuZCA9IGFu
eV9wZGV2X2JlaGluZF9pb21tdShkb21feGVuLCBleGNsdWRlLCBpb21tdSk7
CisKKyAgICBpZiAoICFmb3VuZCApCisgICAgeworICAgICAgICBjbGVhcl9i
aXQoaW9tbXUtPmluZGV4LCAmZG9tX2lvbW11KGQpLT5hcmNoLmlvbW11X2Jp
dG1hcCk7CisgICAgICAgIGNsZWFudXBfZG9taWRfbWFwKGQsIGlvbW11KTsK
KyAgICB9Cit9CisKIHN0YXRpYyBpbnQgaW9tbXVzX2luY29oZXJlbnQ7CiAK
IHN0YXRpYyB2b2lkIHN5bmNfY2FjaGUoY29uc3Qgdm9pZCAqYWRkciwgdW5z
aWduZWQgaW50IHNpemUpCkBAIC0xNjg1LDcgKzE3MzAsNiBAQCBzdGF0aWMg
aW50IGRvbWFpbl9jb250ZXh0X3VubWFwKHN0cnVjdCBkCiAgICAgc3RydWN0
IHZ0ZF9pb21tdSAqaW9tbXU7CiAgICAgaW50IHJldCA9IDA7CiAgICAgdTgg
c2VnID0gcGRldi0+c2VnLCBidXMgPSBwZGV2LT5idXMsIHRtcF9idXMsIHRt
cF9kZXZmbiwgc2VjYnVzOwotICAgIGludCBmb3VuZCA9IDA7CiAKICAgICBk
cmhkID0gYWNwaV9maW5kX21hdGNoZWRfZHJoZF91bml0KHBkZXYpOwogICAg
IGlmICggIWRyaGQgKQpAQCAtMTc2OSwyOCArMTgxMyw4IEBAIHN0YXRpYyBp
bnQgZG9tYWluX2NvbnRleHRfdW5tYXAoc3RydWN0IGQKICAgICBpZiAoIHJl
dCApCiAgICAgICAgIGdvdG8gb3V0OwogCi0gICAgLyoKLSAgICAgKiBpZiBu
byBvdGhlciBkZXZpY2VzIHVuZGVyIHRoZSBzYW1lIGlvbW11IG93bmVkIGJ5
IHRoaXMgZG9tYWluLAotICAgICAqIGNsZWFyIGlvbW11IGluIGlvbW11X2Jp
dG1hcCBhbmQgY2xlYXIgZG9tYWluX2lkIGluIGRvbWlkX2JpdG1wCi0gICAg
ICovCi0gICAgZm9yX2VhY2hfcGRldiAoIGRvbWFpbiwgcGRldiApCi0gICAg
ewotICAgICAgICBpZiAoIHBkZXYtPnNlZyA9PSBzZWcgJiYgcGRldi0+YnVz
ID09IGJ1cyAmJiBwZGV2LT5kZXZmbiA9PSBkZXZmbiApCi0gICAgICAgICAg
ICBjb250aW51ZTsKLQotICAgICAgICBkcmhkID0gYWNwaV9maW5kX21hdGNo
ZWRfZHJoZF91bml0KHBkZXYpOwotICAgICAgICBpZiAoIGRyaGQgJiYgZHJo
ZC0+aW9tbXUgPT0gaW9tbXUgKQotICAgICAgICB7Ci0gICAgICAgICAgICBm
b3VuZCA9IDE7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAg
IH0KLQotICAgIGlmICggZm91bmQgPT0gMCApCi0gICAgewotICAgICAgICBj
bGVhcl9iaXQoaW9tbXUtPmluZGV4LCAmZG9tX2lvbW11KGRvbWFpbiktPmFy
Y2guaW9tbXVfYml0bWFwKTsKLSAgICAgICAgY2xlYW51cF9kb21pZF9tYXAo
ZG9tYWluLCBpb21tdSk7Ci0gICAgfQorICAgIGlmICggIXJldCApCisgICAg
ICAgIGNoZWNrX2NsZWFudXBfZG9taWRfbWFwKGRvbWFpbiwgcGRldiwgaW9t
bXUpOwogCiBvdXQ6CiAgICAgcmV0dXJuIHJldDsK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBmaXggKGRlKWFzc2lnbiBvcmRlcmluZyB3aGVuIFJNUlJzIGFy
ZSBpbiB1c2UKCkluIHRoZSBldmVudCB0aGF0IHRoZSBSTVJSIG1hcHBpbmdz
IGFyZSBlc3NlbnRpYWwgZm9yIGRldmljZSBvcGVyYXRpb24sCnRoZXkgc2hv
dWxkIGJlIGVzdGFibGlzaGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgZGV2aWNl
J3MgY29udGV4dCBlbnRyeSwKd2hpbGUgdGhleSBzaG91bGQgYmUgdG9ybiBk
b3duIG9ubHkgYWZ0ZXIgdGhlIGRldmljZSdzIGNvbnRleHQgZW50cnkgd2Fz
CnN1Y2Nlc3NmdWxseSB1cGRhdGVkLgoKQWxzbyBhZGp1c3QgYSByZWxhdGVk
IGxvZyBtZXNzYWdlLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM1OCAvIHBhcnQg
b2YgWFNBLTQwMC4KCkZpeGVzOiA4Yjk5ZjQ0MDBiNjkgKCJWVC1kOiBmaXgg
Uk1SUiByZWxhdGVkIGVycm9yIGhhbmRsaW5nIikKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+ClJldmll
d2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KUmV2aWV3ZWQt
Ynk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgoKLS0tIGEv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTIzOTIsNiAr
MjM5MiwxMCBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2RldmljZV9vd25lcnNo
aXAoCiB7CiAgICAgaW50IHJldDsKIAorICAgIHJldCA9IGRvbWFpbl9jb250
ZXh0X3VubWFwKHNvdXJjZSwgZGV2Zm4sIHBkZXYpOworICAgIGlmICggcmV0
ICkKKyAgICAgICAgcmV0dXJuIHJldDsKKwogICAgIC8qCiAgICAgICogRGV2
aWNlcyBhc3NpZ25lZCB0byB1bnRydXN0ZWQgZG9tYWlucyAoaGVyZSBhc3N1
bWVkIHRvIGJlIGFueSBkb21VKQogICAgICAqIGNhbiBhdHRlbXB0IHRvIHNl
bmQgYXJiaXRyYXJ5IExBUElDL01TSSBtZXNzYWdlcy4gV2UgYXJlIHVucHJv
dGVjdGVkCkBAIC0yNDI4LDEwICsyNDMyLDYgQEAgc3RhdGljIGludCByZWFz
c2lnbl9kZXZpY2Vfb3duZXJzaGlwKAogICAgICAgICAgICAgfQogICAgIH0K
IAotICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwKHNvdXJjZSwgZGV2
Zm4sIHBkZXYpOwotICAgIGlmICggcmV0ICkKLSAgICAgICAgcmV0dXJuIHJl
dDsKLQogICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+
ZG9tYWluICE9IGRvbV9pbyApCiAgICAgewogICAgICAgICBsaXN0X21vdmUo
JnBkZXYtPmRvbWFpbl9saXN0LCAmZG9tX2lvLT5wZGV2X2xpc3QpOwpAQCAt
MjUwOCw5ICsyNTA4LDggQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hc3Np
Z25fZGV2aWNlKAogICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0ID0gcmVh
c3NpZ25fZGV2aWNlX293bmVyc2hpcChzLCBkLCBkZXZmbiwgcGRldik7Ci0g
ICAgaWYgKCByZXQgfHwgZCA9PSBkb21faW8gKQotICAgICAgICByZXR1cm4g
cmV0OworICAgIGlmICggZCA9PSBkb21faW8gKQorICAgICAgICByZXR1cm4g
cmVhc3NpZ25fZGV2aWNlX293bmVyc2hpcChzLCBkLCBkZXZmbiwgcGRldik7
CiAKICAgICAvKiBTZXR1cCBybXJyIGlkZW50aXR5IG1hcHBpbmcgKi8KICAg
ICBmb3JfZWFjaF9ybXJyX2RldmljZSggcm1yciwgYmRmLCBpICkKQEAgLTI1
MjMsMjAgKzI1MjIsMzcgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hc3Np
Z25fZGV2aWNlKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgZmxhZyk7CiAgICAgICAgICAg
ICBpZiAoIHJldCApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
aW50IHJjOwotCi0gICAgICAgICAgICAgICAgcmMgPSByZWFzc2lnbl9kZXZp
Y2Vfb3duZXJzaGlwKGQsIHMsIGRldmZuLCBwZGV2KTsKICAgICAgICAgICAg
ICAgICBwcmludGsoWEVOTE9HX0dfRVJSIFZURFBSRUZJWAotICAgICAgICAg
ICAgICAgICAgICAgICAiIGNhbm5vdCBtYXAgcmVzZXJ2ZWQgcmVnaW9uICgl
IlBSSXg2NCIsJSJQUkl4NjQiXSBmb3IgRG9tJWQgKCVkKVxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgcm1yci0+YmFzZV9hZGRyZXNzLCBybXJyLT5l
bmRfYWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWlu
X2lkLCByZXQpOwotICAgICAgICAgICAgICAgIGlmICggcmMgKQotICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxP
R19FUlIgVlREUFJFRklYCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAi
IGZhaWxlZCB0byByZWNsYWltICUwNHg6JTAyeDolMDJ4LiV1IGZyb20gJXBk
ICglZClcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzZWcsIGJ1
cywgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbiksIGQsIHJjKTsK
LSAgICAgICAgICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwotICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIiVwZDogY2Fu
bm90IG1hcCByZXNlcnZlZCByZWdpb24gWyUiUFJJeDY0IiwlIlBSSXg2NCJd
OiAlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgZCwgcm1yci0+YmFz
ZV9hZGRyZXNzLCBybXJyLT5lbmRfYWRkcmVzcywgcmV0KTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KKworICAgIGlmICggIXJldCApCisgICAgICAgIHJldCA9IHJlYXNzaWdu
X2RldmljZV9vd25lcnNoaXAocywgZCwgZGV2Zm4sIHBkZXYpOworCisgICAg
LyogU2VlIHJlYXNzaWduX2RldmljZV9vd25lcnNoaXAoKSBmb3IgdGhlIGh3
ZG9tIGFzcGVjdC4gKi8KKyAgICBpZiAoICFyZXQgfHwgaXNfaGFyZHdhcmVf
ZG9tYWluKGQpICkKKyAgICAgICAgcmV0dXJuIHJldDsKKworICAgIGZvcl9l
YWNoX3JtcnJfZGV2aWNlKCBybXJyLCBiZGYsIGkgKQorICAgIHsKKyAgICAg
ICAgaWYgKCBybXJyLT5zZWdtZW50ID09IHNlZyAmJgorICAgICAgICAgICAg
IFBDSV9CVVMoYmRmKSA9PSBidXMgJiYKKyAgICAgICAgICAgICBQQ0lfREVW
Rk4yKGJkZikgPT0gZGV2Zm4gKQorICAgICAgICB7CisgICAgICAgICAgICBp
bnQgcmMgPSBpb21tdV9pZGVudGl0eV9tYXBwaW5nKGQsIHAybV9hY2Nlc3Nf
eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcm1yci0+YmFzZV9hZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgMCk7
CisKKyAgICAgICAgICAgIGlmICggcmMgJiYgcmMgIT0gLUVOT0VOVCApCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19F
UlIgVlREUFJFRklYCisgICAgICAgICAgICAgICAgICAgICAgICIlcGQ6IGNh
bm5vdCB1bm1hcCByZXNlcnZlZCByZWdpb24gWyUiUFJJeDY0IiwlIlBSSXg2
NCJdOiAlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgZCwgcm1yci0+
YmFzZV9hZGRyZXNzLCBybXJyLT5lbmRfYWRkcmVzcywgcmMpOworICAgICAg
ICAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBmaXggYWRkL3JlbW92ZSBvcmRlcmluZyB3aGVuIFJNUlJzIGFy
ZSBpbiB1c2UKCkluIHRoZSBldmVudCB0aGF0IHRoZSBSTVJSIG1hcHBpbmdz
IGFyZSBlc3NlbnRpYWwgZm9yIGRldmljZSBvcGVyYXRpb24sCnRoZXkgc2hv
dWxkIGJlIGVzdGFibGlzaGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgZGV2aWNl
J3MgY29udGV4dCBlbnRyeSwKd2hpbGUgdGhleSBzaG91bGQgYmUgdG9ybiBk
b3duIG9ubHkgYWZ0ZXIgdGhlIGRldmljZSdzIGNvbnRleHQgZW50cnkgd2Fz
CnN1Y2Nlc3NmdWxseSBjbGVhcmVkLgoKQWxzbyBzd2l0Y2ggdG8gJXBkIGlu
IHJlbGF0ZWQgbG9nIG1lc3NhZ2VzLgoKRml4ZXM6IGZhODhjZmFkZjkxOCAo
InZ0LWQ6IE1hcCBSTVJSIGluIGludGVsX2lvbW11X2FkZF9kZXZpY2UoKSBp
ZiB0aGUgZGV2aWNlIGhhcyBSTVJSIikKRml4ZXM6IDhiOTlmNDQwMGI2OSAo
IlZULWQ6IGZpeCBSTVJSIHJlbGF0ZWQgZXJyb3IgaGFuZGxpbmciKQpTaWdu
ZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJl
dmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4
LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50
ZWwuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmMKQEAgLTE5OTMsMTQgKzE5OTMsNiBAQCBzdGF0aWMgaW50IGludGVsX2lv
bW11X2FkZF9kZXZpY2UodTggZGV2CiAgICAgaWYgKCAhcGRldi0+ZG9tYWlu
ICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKLSAgICByZXQgPSBkb21h
aW5fY29udGV4dF9tYXBwaW5nKHBkZXYtPmRvbWFpbiwgZGV2Zm4sIHBkZXYp
OwotICAgIGlmICggcmV0ICkKLSAgICB7Ci0gICAgICAgIGRwcmludGsoWEVO
TE9HX0VSUiBWVERQUkVGSVgsICJkJWQ6IGNvbnRleHQgbWFwcGluZyBmYWls
ZWRcbiIsCi0gICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluLT5kb21haW5f
aWQpOwotICAgICAgICByZXR1cm4gcmV0OwotICAgIH0KLQogICAgIGZvcl9l
YWNoX3JtcnJfZGV2aWNlICggcm1yciwgYmRmLCBpICkKICAgICB7CiAgICAg
ICAgIGlmICggcm1yci0+c2VnbWVudCA9PSBwZGV2LT5zZWcgJiYKQEAgLTIw
MTcsMTIgKzIwMDksMTcgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hZGRf
ZGV2aWNlKHU4IGRldgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBybXJyLT5iYXNlX2FkZHJlc3MsIHJtcnItPmVuZF9hZGRy
ZXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAwKTsKICAgICAgICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAgICAg
ICBkcHJpbnRrKFhFTkxPR19FUlIgVlREUFJFRklYLCAiZCVkOiBSTVJSIG1h
cHBpbmcgZmFpbGVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgcGRl
di0+ZG9tYWluLT5kb21haW5faWQpOworICAgICAgICAgICAgICAgIGRwcmlu
dGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsICIlcGQ6IFJNUlIgbWFwcGluZyBm
YWlsZWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICBwZGV2LT5kb21h
aW4pOwogICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0dXJuIDA7CisgICAg
cmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZyhwZGV2LT5kb21haW4sIGRl
dmZuLCBwZGV2KTsKKyAgICBpZiAoIHJldCApCisgICAgICAgIGRwcmludGso
WEVOTE9HX0VSUiBWVERQUkVGSVgsICIlcGQ6IGNvbnRleHQgbWFwcGluZyBm
YWlsZWRcbiIsCisgICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluKTsKKwor
ICAgIHJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVf
ZW5hYmxlX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGRldikKQEAgLTIwNDQs
MTEgKzIwNDEsMTUgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVf
ZGV2aWNlKHU4CiB7CiAgICAgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJy
OwogICAgIHUxNiBiZGY7Ci0gICAgaW50IGk7CisgICAgaW50IHJldCwgaTsK
IAogICAgIGlmICggIXBkZXYtPmRvbWFpbiApCiAgICAgICAgIHJldHVybiAt
RUlOVkFMOwogCisgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXAocGRl
di0+ZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAgaWYgKCByZXQgKQorICAg
ICAgICByZXR1cm4gcmV0OworCiAgICAgZm9yX2VhY2hfcm1ycl9kZXZpY2Ug
KCBybXJyLCBiZGYsIGkgKQogICAgIHsKICAgICAgICAgaWYgKCBybXJyLT5z
ZWdtZW50ICE9IHBkZXYtPnNlZyB8fApAQCAtMjA2NCw3ICsyMDY1LDcgQEAg
c3RhdGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVfZGV2aWNlKHU4CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1yci0+ZW5kX2FkZHJlc3Ms
IDApOwogICAgIH0KIAotICAgIHJldHVybiBkb21haW5fY29udGV4dF91bm1h
cChwZGV2LT5kb21haW4sIGRldmZuLCBwZGV2KTsKKyAgICByZXR1cm4gMDsK
IH0KIAogc3RhdGljIGludCBfX2h3ZG9tX2luaXQgc2V0dXBfaHdkb21fZGV2
aWNlKHU4IGRldmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBkcm9wIG93bmVyc2hpcCBjaGVja2luZyBmcm9tIGRvbWFpbl9j
b250ZXh0X21hcHBpbmdfb25lKCkKCkRlc3BpdGUgcHV0dGluZyBpbiBxdWl0
ZSBhIGJpdCBvZiBlZmZvcnQgaXQgd2FzIG5vdCBwb3NzaWJsZSB0bwplc3Rh
Ymxpc2ggd2h5IGV4YWN0bHkgdGhpcyBjb2RlIGV4aXN0cyAoYmV5b25kIHBv
c3NpYmx5IHNhbml0eQpjaGVja2luZykuIEluc3RlYWQgb2YgYSBzdWJzZXF1
ZW50IGNoYW5nZSBmdXJ0aGVyIGNvbXBsaWNhdGluZyB0aGlzCmxvZ2ljLCBz
aW1wbHkgZ2V0IHJpZCBvZiBpdC4KClRha2UgdGhlIG9wcG9ydHVuaXR5IGFu
ZCBtb3ZlIHRoZSByZXNwZWN0aXZlIHVubWFwX3Z0ZF9kb21haW5fcGFnZSgp
IG91dApvZiB0aGUgbG9ja2VkIHJlZ2lvbi4KClNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJv
Z2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpSZXZpZXdl
ZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+ClJldmlld2VkLWJ5
OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KCi0tLSBhL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC0xMTQsMjggKzEx
NCw2IEBAIHN0YXRpYyBpbnQgY29udGV4dF9zZXRfZG9tYWluX2lkKHN0cnVj
dAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNvbnRleHRfZ2V0
X2RvbWFpbl9pZChzdHJ1Y3QgY29udGV4dF9lbnRyeSAqY29udGV4dCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11KQotewotICAgIHVuc2lnbmVkIGxvbmcgZG9tX2luZGV4LCBu
cl9kb207Ci0gICAgaW50IGRvbWlkID0gLTE7Ci0KLSAgICBpZiAoaW9tbXUg
JiYgY29udGV4dCkKLSAgICB7Ci0gICAgICAgIG5yX2RvbSA9IGNhcF9uZG9t
cyhpb21tdS0+Y2FwKTsKLQotICAgICAgICBkb21faW5kZXggPSBjb250ZXh0
X2RvbWFpbl9pZCgqY29udGV4dCk7Ci0KLSAgICAgICAgaWYgKCBkb21faW5k
ZXggPCBucl9kb20gJiYgaW9tbXUtPmRvbWlkX21hcCApCi0gICAgICAgICAg
ICBkb21pZCA9IGlvbW11LT5kb21pZF9tYXBbZG9tX2luZGV4XTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfREVCVUcgVlRE
UFJFRklYLAotICAgICAgICAgICAgICAgICAgICAiZG9tX2luZGV4ICVsdSBl
eGNlZWRzIG5yX2RvbSAlbHUgb3IgaW9tbXUgaGFzIG5vIGRvbWlkX21hcFxu
IiwKLSAgICAgICAgICAgICAgICAgICAgZG9tX2luZGV4LCBucl9kb20pOwot
ICAgIH0KLSAgICByZXR1cm4gZG9taWQ7Ci19Ci0KIHN0YXRpYyB2b2lkIGNs
ZWFudXBfZG9taWRfbWFwKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgc3RydWN0
IHZ0ZF9pb21tdSAqaW9tbXUpCiB7CiAgICAgaW50IGlvbW11X2RvbWlkID0g
ZG9tYWluX2lvbW11X2RvbWlkKGRvbWFpbiwgaW9tbXUpOwpAQCAtMTM5Miw0
OSArMTM3MCw5IEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgK
IAogICAgIGlmICggY29udGV4dF9wcmVzZW50KCpjb250ZXh0KSApCiAgICAg
ewotICAgICAgICBpbnQgcmVzID0gMDsKLQotICAgICAgICAvKiBUcnkgdG8g
Z2V0IGRvbWFpbiBvd25lcnNoaXAgZnJvbSBkZXZpY2Ugc3RydWN0dXJlLiAg
SWYgdGhhdCdzCi0gICAgICAgICAqIG5vdCBhdmFpbGFibGUsIHRyeSB0byBy
ZWFkIGl0IGZyb20gdGhlIGNvbnRleHQgaXRzZWxmLiAqLwotICAgICAgICBp
ZiAoIHBkZXYgKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIHBkZXYt
PmRvbWFpbiAhPSBkb21haW4gKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIHByaW50ayhYRU5MT0dfR19JTkZPIFZURFBSRUZJWAotICAgICAg
ICAgICAgICAgICAgICAgICAiZCVkOiAlMDR4OiUwMng6JTAyeC4ldSBvd25l
ZCBieSBkJWQhIiwKLSAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5k
b21haW5faWQsCi0gICAgICAgICAgICAgICAgICAgICAgIHNlZywgYnVzLCBQ
Q0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgcGRldi0+ZG9tYWluID8gcGRldi0+ZG9tYWluLT5kb21h
aW5faWQgOiAtMSk7Ci0gICAgICAgICAgICAgICAgcmVzID0gLUVJTlZBTDsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGludCBjZG9tYWluOwotICAgICAgICAgICAg
Y2RvbWFpbiA9IGNvbnRleHRfZ2V0X2RvbWFpbl9pZChjb250ZXh0LCBpb21t
dSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmICggY2RvbWFpbiA8
IDAgKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHByaW50ayhY
RU5MT0dfR19XQVJOSU5HIFZURFBSRUZJWAotICAgICAgICAgICAgICAgICAg
ICAgICAiZCVkOiAlMDR4OiUwMng6JTAyeC4ldSBtYXBwZWQsIGJ1dCBjYW4n
dCBmaW5kIG93bmVyIVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgZG9t
YWluLT5kb21haW5faWQsCi0gICAgICAgICAgICAgICAgICAgICAgIHNlZywg
YnVzLCBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSk7Ci0gICAg
ICAgICAgICAgICAgcmVzID0gLUVJTlZBTDsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIGVsc2UgaWYgKCBjZG9tYWluICE9IGRvbWFpbi0+ZG9tYWlu
X2lkICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwcmludGso
WEVOTE9HX0dfSU5GTyBWVERQUkVGSVgKLSAgICAgICAgICAgICAgICAgICAg
ICAgImQlZDogJTA0eDolMDJ4OiUwMnguJXUgYWxyZWFkeSBtYXBwZWQgdG8g
ZCVkISIsCi0gICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWlu
X2lkLAotICAgICAgICAgICAgICAgICAgICAgICBzZWcsIGJ1cywgUENJX1NM
T1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbiksCi0gICAgICAgICAgICAgICAg
ICAgICAgIGNkb21haW4pOwotICAgICAgICAgICAgICAgIHJlcyA9IC1FSU5W
QUw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICB1bm1h
cF92dGRfZG9tYWluX3BhZ2UoY29udGV4dF9lbnRyaWVzKTsKICAgICAgICAg
c3Bpbl91bmxvY2soJmlvbW11LT5sb2NrKTsKLSAgICAgICAgcmV0dXJuIHJl
czsKKyAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRleHRfZW50
cmllcyk7CisgICAgICAgIHJldHVybiAwOwogICAgIH0KIAogICAgIGlmICgg
aW9tbXVfaHdkb21fcGFzc3Rocm91Z2ggJiYgaXNfaGFyZHdhcmVfZG9tYWlu
KGRvbWFpbikgKQo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiByZS1hc3NpZ24gZGV2aWNlcyBkaXJlY3RseQoKRGV2aWNlcyB3
aXRoIFJNUlJzLCBkdWUgdG8gaXQgYmVpbmcgdW5zcGVjaWZpZWQgaG93L3do
ZW4gdGhlIHNwZWNpZmllZAptZW1vcnkgcmVnaW9ucyBtYXkgZ2V0IGFjY2Vz
c2VkLCBtYXkgbm90IGJlIGxlZnQgZGlzY29ubmVjdGVkIGZyb20gdGhlaXIK
cmVzcGVjdGl2ZSBtYXBwaW5ncyAoYXMgbG9uZyBhcyBpdCdzIG5vdCBjZXJ0
YWluIHRoYXQgdGhlIGRldmljZSBoYXMKYmVlbiBmdWxseSBxdWllc2NlZCku
IEhlbmNlIHJhdGhlciB0aGFuIHVubWFwcGluZyB0aGUgb2xkIGNvbnRleHQg
YW5kCnRoZW4gbWFwcGluZyB0aGUgbmV3IG9uZSwgcmUtYXNzaWdubWVudCBu
ZWVkcyB0byBiZSBkb25lIGluIGEgc2luZ2xlCnN0ZXAuCgpUaGlzIGlzIENW
RS0yMDIyLTI2MzU5IC8gcGFydCBvZiBYU0EtNDAwLgoKUmVwb3J0ZWQtYnk6
IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKU2lt
aWxhcmx5IHF1YXJhbnRpbmluZyBzY3JhdGNoLXBhZ2UgbW9kZSByZWxpZXMg
b24gcGFnZSB0YWJsZXMgdG8gYmUKY29udGludW91c2x5IHdpcmVkIHVwLgoK
VG8gYXZvaWQgY29tcGxpY2F0aW5nIHRoaW5ncyBtb3JlIHRoYW4gbmVjZXNz
YXJ5LCB0cmVhdCBhbGwgZGV2aWNlcwptb3N0bHkgZXF1YWxseSwgaS5lLiBy
ZWdhcmRsZXNzIG9mIHRoZWlyIGFzc29jaWF0aW9uIHdpdGggYW55IFJNUlJz
LiBUaGUKbWFpbiBkaWZmZXJlbmNlIGlzIHdoZW4gaXQgY29tZXMgdG8gdXBk
YXRpbmcgY29udGV4dCBlbnRyaWVzLCB3aGljaCBuZWVkCnRvIGJlIGF0b21p
YyB3aGVuIHRoZXJlIGFyZSBSTVJScy4gWWV0IGF0b21pY2l0eSBjYW4gb25s
eSBiZSBhY2hpZXZlZAp3aXRoIENNUFhDSEcxNkIsIGF2YWlsYWJpbGl0eSBv
ZiB3aGljaCB3ZSBjYW4ndCB0YWtlIGZvciBnaXZlbi4KClRoZSBzZWVtaW5n
bHkgY29tcGxpY2F0ZWQgY2hvaWNlIG9mIG5vbi1uZWdhdGl2ZSByZXR1cm4g
dmFsdWVzIGZvcgpkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgpIGlzIHRv
IGxpbWl0IGNvZGUgY2h1cm46IFRoaXMgd2F5IGNhbGxlcnMKcGFzc2luZyBO
VUxMIGZvciBwZGV2IGRvbid0IG5lZWQgZmlkZGxpbmcgd2l0aC4KClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpS
ZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJp
eC5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0
ZXJuLmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2V4dGVy
bi5oCkBAIC04NSw3ICs4NSw4IEBAIHZvaWQgZnJlZV9wZ3RhYmxlX21hZGRy
KHU2NCBtYWRkcik7CiB2b2lkICptYXBfdnRkX2RvbWFpbl9wYWdlKHU2NCBt
YWRkcik7CiB2b2lkIHVubWFwX3Z0ZF9kb21haW5fcGFnZSh2b2lkICp2YSk7
CiBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoc3RydWN0IGRvbWFp
biAqZG9tYWluLCBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1OCBidXMsIHU4IGRldmZuLCBjb25z
dCBzdHJ1Y3QgcGNpX2RldiAqKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OF90IGJ1cywgdWludDhfdCBkZXZmbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldiAq
cGRldiwgdW5zaWduZWQgaW50IG1vZGUpOwogaW50IGRvbWFpbl9jb250ZXh0
X3VubWFwX29uZShzdHJ1Y3QgZG9tYWluICpkb21haW4sIHN0cnVjdCB2dGRf
aW9tbXUgKmlvbW11LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
OCBidXMsIHU4IGRldmZuKTsKIGludCBpbnRlbF9pb21tdV9nZXRfcmVzZXJ2
ZWRfZGV2aWNlX21lbW9yeShpb21tdV9ncmRtX3QgKmZ1bmMsIHZvaWQgKmN0
eHQpOwpAQCAtMTA1LDggKzEwNiw4IEBAIGludCBpc19pZ2RfdnRfZW5hYmxl
ZF9xdWlyayh2b2lkKTsKIHZvaWQgcGxhdGZvcm1fcXVpcmtzX2luaXQodm9p
ZCk7CiB2b2lkIHZ0ZF9vcHNfcHJlYW1ibGVfcXVpcmsoc3RydWN0IHZ0ZF9p
b21tdSAqaW9tbXUpOwogdm9pZCB2dGRfb3BzX3Bvc3RhbWJsZV9xdWlyayhz
dHJ1Y3QgdnRkX2lvbW11ICppb21tdSk7Ci1pbnQgX19tdXN0X2NoZWNrIG1l
X3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHU4IGJ1cywgdTggZGV2Zm4sIGludCBt
YXApOworaW50IF9fbXVzdF9jaGVjayBtZV93aWZpX3F1aXJrKHN0cnVjdCBk
b21haW4gKmRvbWFpbiwgdWludDhfdCBidXMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDhfdCBkZXZmbiwgdW5zaWduZWQgaW50IG1v
ZGUpOwogdm9pZCBwY2lfdnRkX3F1aXJrKGNvbnN0IHN0cnVjdCBwY2lfZGV2
ICopOwogdm9pZCBxdWlya19pb21tdV9jYXBzKHN0cnVjdCB2dGRfaW9tbXUg
KmlvbW11KTsKIAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
aW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t
bXUuYwpAQCAtMTEwLDYgKzExMCw3IEBAIHN0YXRpYyBpbnQgY29udGV4dF9z
ZXRfZG9tYWluX2lkKHN0cnVjdAogICAgIH0KIAogICAgIHNldF9iaXQoaSwg
aW9tbXUtPmRvbWlkX2JpdG1hcCk7CisgICAgY29udGV4dC0+aGkgJj0gfigo
KDEgPDwgRElEX0ZJRUxEX1dJRFRIKSAtIDEpIDw8IERJRF9ISUdIX09GRlNF
VCk7CiAgICAgY29udGV4dC0+aGkgfD0gKGkgJiAoKDEgPDwgRElEX0ZJRUxE
X1dJRFRIKSAtIDEpKSA8PCBESURfSElHSF9PRkZTRVQ7CiAgICAgcmV0dXJu
IDA7CiB9CkBAIC0xMzUwLDE1ICsxMzUxLDI3IEBAIHN0YXRpYyB2b2lkIF9f
aHdkb21faW5pdCBpbnRlbF9pb21tdV9od2QKICAgICB9CiB9CiAKKy8qCisg
KiBUaGlzIGZ1bmN0aW9uIHJldHVybnMKKyAqIC0gYSBuZWdhdGl2ZSBlcnJu
byB2YWx1ZSB1cG9uIGVycm9yLAorICogLSB6ZXJvIHVwb24gc3VjY2VzcyB3
aGVuIHByZXZpb3VzbHkgdGhlIGVudHJ5IHdhcyBub24tcHJlc2VudCwgb3Ig
dGhpcyBpc24ndAorICogICB0aGUgIm1haW4iIHJlcXVlc3QgZm9yIGEgZGV2
aWNlIChwZGV2ID09IE5VTEwpLCBvciBmb3Igbm8tb3AgcXVhcmFudGluaW5n
CisgKiAgIGFzc2lnbm1lbnRzLAorICogLSBwb3NpdGl2ZSAob25lKSB1cG9u
IHN1Y2Nlc3Mgd2hlbiBwcmV2aW91c2x5IHRoZSBlbnRyeSB3YXMgcHJlc2Vu
dCBhbmQgdGhpcworICogICBpcyB0aGUgIm1haW4iIHJlcXVlc3QgZm9yIGEg
ZGV2aWNlIChwZGV2ICE9IE5VTEwpLgorICovCiBpbnQgZG9tYWluX2NvbnRl
eHRfbWFwcGluZ19vbmUoCiAgICAgc3RydWN0IGRvbWFpbiAqZG9tYWluLAog
ICAgIHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11LAotICAgIHU4IGJ1cywgdTgg
ZGV2Zm4sIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2KQorICAgIHVpbnQ4
X3QgYnVzLCB1aW50OF90IGRldmZuLCBjb25zdCBzdHJ1Y3QgcGNpX2RldiAq
cGRldiwKKyAgICB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKICAgICBzdHJ1Y3Qg
ZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkb21haW4pOwotICAgIHN0
cnVjdCBjb250ZXh0X2VudHJ5ICpjb250ZXh0LCAqY29udGV4dF9lbnRyaWVz
OworICAgIHN0cnVjdCBjb250ZXh0X2VudHJ5ICpjb250ZXh0LCAqY29udGV4
dF9lbnRyaWVzLCBsY3R4dDsKKyAgICBfX3VpbnQxMjhfdCBvbGQ7CiAgICAg
dTY0IG1hZGRyLCBwZ2RfbWFkZHI7Ci0gICAgdTE2IHNlZyA9IGlvbW11LT5k
cmhkLT5zZWdtZW50OworICAgIHVpbnQxNl90IHNlZyA9IGlvbW11LT5kcmhk
LT5zZWdtZW50LCBwcmV2X2RpZCA9IDA7CisgICAgc3RydWN0IGRvbWFpbiAq
cHJldl9kb20gPSBOVUxMOwogICAgIGludCBhZ2F3LCByYywgcmV0OwogICAg
IGJvb2xfdCBmbHVzaF9kZXZfaW90bGI7CiAKQEAgLTEzNjcsMTcgKzEzODAs
MzIgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIG1h
ZGRyID0gYnVzX3RvX2NvbnRleHRfbWFkZHIoaW9tbXUsIGJ1cyk7CiAgICAg
Y29udGV4dF9lbnRyaWVzID0gKHN0cnVjdCBjb250ZXh0X2VudHJ5ICopbWFw
X3Z0ZF9kb21haW5fcGFnZShtYWRkcik7CiAgICAgY29udGV4dCA9ICZjb250
ZXh0X2VudHJpZXNbZGV2Zm5dOworICAgIG9sZCA9IChsY3R4dCA9ICpjb250
ZXh0KS5mdWxsOwogCi0gICAgaWYgKCBjb250ZXh0X3ByZXNlbnQoKmNvbnRl
eHQpICkKKyAgICBpZiAoIGNvbnRleHRfcHJlc2VudChsY3R4dCkgKQogICAg
IHsKLSAgICAgICAgc3Bpbl91bmxvY2soJmlvbW11LT5sb2NrKTsKLSAgICAg
ICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7Ci0g
ICAgICAgIHJldHVybiAwOworICAgICAgICBkb21pZF90IGRvbWlkOworCisg
ICAgICAgIHByZXZfZGlkID0gY29udGV4dF9kb21haW5faWQobGN0eHQpOwor
ICAgICAgICBkb21pZCA9IGlvbW11LT5kb21pZF9tYXBbcHJldl9kaWRdOwor
ICAgICAgICBpZiAoIGRvbWlkIDwgRE9NSURfRklSU1RfUkVTRVJWRUQgKQor
ICAgICAgICAgICAgcHJldl9kb20gPSByY3VfbG9ja19kb21haW5fYnlfaWQo
ZG9taWQpOworICAgICAgICBlbHNlIGlmICggZG9taWQgPT0gRE9NSURfSU8g
KQorICAgICAgICAgICAgcHJldl9kb20gPSByY3VfbG9ja19kb21haW4oZG9t
X2lvKTsKKyAgICAgICAgaWYgKCAhcHJldl9kb20gKQorICAgICAgICB7Cisg
ICAgICAgICAgICBzcGluX3VubG9jaygmaW9tbXUtPmxvY2spOworICAgICAg
ICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7
CisgICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19ERUJVRyBWVERQUkVGSVgs
CisgICAgICAgICAgICAgICAgICAgICJubyBkb21haW4gZm9yIGRpZCAldSAo
bnJfZG9tICV1KVxuIiwKKyAgICAgICAgICAgICAgICAgICAgcHJldl9kaWQs
IGNhcF9uZG9tcyhpb21tdS0+Y2FwKSk7CisgICAgICAgICAgICByZXR1cm4g
LUVTUkNIOworICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKCBpb21tdV9o
d2RvbV9wYXNzdGhyb3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZG9tYWlu
KSApCiAgICAgewotICAgICAgICBjb250ZXh0X3NldF90cmFuc2xhdGlvbl90
eXBlKCpjb250ZXh0LCBDT05URVhUX1RUX1BBU1NfVEhSVSk7CisgICAgICAg
IGNvbnRleHRfc2V0X3RyYW5zbGF0aW9uX3R5cGUobGN0eHQsIENPTlRFWFRf
VFRfUEFTU19USFJVKTsKICAgICAgICAgYWdhdyA9IGxldmVsX3RvX2FnYXco
aW9tbXUtPm5yX3B0X2xldmVscyk7CiAgICAgfQogICAgIGVsc2UKQEAgLTEz
OTQsNiArMTQyMiw4IEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29u
ZSgKICAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFw
cGluZ19sb2NrKTsKICAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmaW9t
bXUtPmxvY2spOwogICAgICAgICAgICAgICAgIHVubWFwX3Z0ZF9kb21haW5f
cGFnZShjb250ZXh0X2VudHJpZXMpOworICAgICAgICAgICAgICAgIGlmICgg
cHJldl9kb20gKQorICAgICAgICAgICAgICAgICAgICByY3VfdW5sb2NrX2Rv
bWFpbihwcmV2X2RvbSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9N
RU07CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTE0MTEsMzMgKzE0
NDEsMTAyIEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAg
ICAgICAgICAgICAgICBnb3RvIG5vbWVtOwogICAgICAgICB9CiAKLSAgICAg
ICAgY29udGV4dF9zZXRfYWRkcmVzc19yb290KCpjb250ZXh0LCBwZ2RfbWFk
ZHIpOworICAgICAgICBjb250ZXh0X3NldF9hZGRyZXNzX3Jvb3QobGN0eHQs
IHBnZF9tYWRkcik7CiAgICAgICAgIGlmICggYXRzX2VuYWJsZWQgJiYgZWNh
cF9kZXZfaW90bGIoaW9tbXUtPmVjYXApICkKLSAgICAgICAgICAgIGNvbnRl
eHRfc2V0X3RyYW5zbGF0aW9uX3R5cGUoKmNvbnRleHQsIENPTlRFWFRfVFRf
REVWX0lPVExCKTsKKyAgICAgICAgICAgIGNvbnRleHRfc2V0X3RyYW5zbGF0
aW9uX3R5cGUobGN0eHQsIENPTlRFWFRfVFRfREVWX0lPVExCKTsKICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgY29udGV4dF9zZXRfdHJhbnNsYXRpb25f
dHlwZSgqY29udGV4dCwgQ09OVEVYVF9UVF9NVUxUSV9MRVZFTCk7CisgICAg
ICAgICAgICBjb250ZXh0X3NldF90cmFuc2xhdGlvbl90eXBlKGxjdHh0LCBD
T05URVhUX1RUX01VTFRJX0xFVkVMKTsKIAogICAgICAgICBzcGluX3VubG9j
aygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKICAgICB9CiAKLSAgICBpZiAo
IGNvbnRleHRfc2V0X2RvbWFpbl9pZChjb250ZXh0LCBkb21haW4sIGlvbW11
KSApCisgICAgcmMgPSBjb250ZXh0X3NldF9kb21haW5faWQoJmxjdHh0LCBk
b21haW4sIGlvbW11KTsKKyAgICBpZiAoIHJjICkKICAgICB7CisgICAgdW5s
b2NrOgogICAgICAgICBzcGluX3VubG9jaygmaW9tbXUtPmxvY2spOwogICAg
ICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoY29udGV4dF9lbnRyaWVzKTsK
LSAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CisgICAgICAgIGlmICggcHJldl9k
b20gKQorICAgICAgICAgICAgcmN1X3VubG9ja19kb21haW4ocHJldl9kb20p
OworICAgICAgICByZXR1cm4gcmM7CisgICAgfQorCisgICAgaWYgKCAhcHJl
dl9kb20gKQorICAgIHsKKyAgICAgICAgY29udGV4dF9zZXRfYWRkcmVzc193
aWR0aChsY3R4dCwgYWdhdyk7CisgICAgICAgIGNvbnRleHRfc2V0X2ZhdWx0
X2VuYWJsZShsY3R4dCk7CisgICAgICAgIGNvbnRleHRfc2V0X3ByZXNlbnQo
bGN0eHQpOworICAgIH0KKyAgICBlbHNlIGlmICggcHJldl9kb20gPT0gZG9t
YWluICkKKyAgICB7CisgICAgICAgIEFTU0VSVChsY3R4dC5mdWxsID09IGNv
bnRleHQtPmZ1bGwpOworICAgICAgICByYyA9ICEhcGRldjsKKyAgICAgICAg
Z290byB1bmxvY2s7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAg
IEFTU0VSVChjb250ZXh0X2FkZHJlc3Nfd2lkdGgobGN0eHQpID09IGFnYXcp
OworICAgICAgICBBU1NFUlQoIWNvbnRleHRfZmF1bHRfZGlzYWJsZShsY3R4
dCkpOworICAgIH0KKworICAgIGlmICggY3B1X2hhc19jeDE2ICkKKyAgICB7
CisgICAgICAgIF9fdWludDEyOF90IHJlcyA9IGNtcHhjaGcxNmIoY29udGV4
dCwgJm9sZCwgJmxjdHh0LmZ1bGwpOworCisgICAgICAgIC8qCisgICAgICAg
ICAqIEhhcmR3YXJlIGRvZXMgbm90IHVwZGF0ZSB0aGUgY29udGV4dCBlbnRy
eSBiZWhpbmQgb3VyIGJhY2tzLAorICAgICAgICAgKiBzbyB0aGUgcmV0dXJu
IHZhbHVlIHNob3VsZCBtYXRjaCAib2xkIi4KKyAgICAgICAgICovCisgICAg
ICAgIGlmICggcmVzICE9IG9sZCApCisgICAgICAgIHsKKyAgICAgICAgICAg
IGlmICggcGRldiApCisgICAgICAgICAgICAgICAgY2hlY2tfY2xlYW51cF9k
b21pZF9tYXAoZG9tYWluLCBwZGV2LCBpb21tdSk7CisgICAgICAgICAgICBw
cmludGsoWEVOTE9HX0VSUgorICAgICAgICAgICAgICAgICAgICIlMDR4OiUw
Mng6JTAyeC4ldTogdW5leHBlY3RlZCBjb250ZXh0IGVudHJ5ICUwMTZseF8l
MDE2bHggKGV4cGVjdGVkICUwMTZseF8lMDE2bHgpXG4iLAorICAgICAgICAg
ICAgICAgICAgIHBkZXYtPnNlZywgcGRldi0+YnVzLCBQQ0lfU0xPVChkZXZm
biksIFBDSV9GVU5DKGRldmZuKSwKKyAgICAgICAgICAgICAgICAgICAodWlu
dDY0X3QpKHJlcyA+PiA2NCksICh1aW50NjRfdClyZXMsCisgICAgICAgICAg
ICAgICAgICAgKHVpbnQ2NF90KShvbGQgPj4gNjQpLCAodWludDY0X3Qpb2xk
KTsKKyAgICAgICAgICAgIHJjID0gLUVJTFNFUTsKKyAgICAgICAgICAgIGdv
dG8gdW5sb2NrOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgaWYgKCAh
cHJldl9kb20gfHwgIShtb2RlICYgTUFQX1dJVEhfUk1SUikgKQorICAgIHsK
KyAgICAgICAgY29udGV4dF9jbGVhcl9wcmVzZW50KCpjb250ZXh0KTsKKyAg
ICAgICAgaW9tbXVfc3luY19jYWNoZShjb250ZXh0LCBzaXplb2YoKmNvbnRl
eHQpKTsKKworICAgICAgICB3cml0ZV9hdG9taWMoJmNvbnRleHQtPmhpLCBs
Y3R4dC5oaSk7CisgICAgICAgIC8qIE5vIGJhcnJpZXIgc2hvdWxkIGJlIG5l
ZWRlZCBiZXR3ZWVuIHRoZXNlIHR3by4gKi8KKyAgICAgICAgd3JpdGVfYXRv
bWljKCZjb250ZXh0LT5sbywgbGN0eHQubG8pOworICAgIH0KKyAgICBlbHNl
IC8qIEJlc3QgZWZmb3J0LCB1cGRhdGluZyBESUQgbGFzdC4gKi8KKyAgICB7
CisgICAgICAgICAvKgorICAgICAgICAgICogQnkgbm9uLWF0b21pY2FsbHkg
dXBkYXRpbmcgdGhlIGNvbnRleHQgZW50cnkncyBESUQgZmllbGQgbGFzdCwK
KyAgICAgICAgICAqIGR1cmluZyBhIHNob3J0IHdpbmRvdyBpbiB0aW1lIFRM
QiBlbnRyaWVzIHdpdGggdGhlIG9sZCBkb21haW4gSUQKKyAgICAgICAgICAq
IGJ1dCB0aGUgbmV3IHBhZ2UgdGFibGVzIG1heSBiZSBpbnNlcnRlZC4gIFRo
aXMgY291bGQgYWZmZWN0IEkvTworICAgICAgICAgICogb2Ygb3RoZXIgZGV2
aWNlcyB1c2luZyB0aGlzIHNhbWUgKG9sZCkgZG9tYWluIElELiAgU3VjaCB1
cGRhdGluZworICAgICAgICAgICogdGhlcmVmb3JlIGlzIG5vdCBhIHByb2Js
ZW0gaWYgdGhpcyB3YXMgdGhlIG9ubHkgZGV2aWNlIGFzc29jaWF0ZWQKKyAg
ICAgICAgICAqIHdpdGggdGhlIG9sZCBkb21haW4gSUQuICBEaXZlcnRpbmcg
SS9PIG9mIGFueSBvZiBhIGR5aW5nIGRvbWFpbidzCisgICAgICAgICAgKiBk
ZXZpY2VzIHRvIHRoZSBxdWFyYW50aW5lIHBhZ2UgdGFibGVzIGlzIGludGVu
ZGVkIGFueXdheS4KKyAgICAgICAgICAqLworICAgICAgICBpZiAoICEobW9k
ZSAmIChNQVBfT1dORVJfRFlJTkcgfCBNQVBfU0lOR0xFX0RFVklDRSkpICkK
KyAgICAgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyBWVERQUkVGSVgK
KyAgICAgICAgICAgICAgICAgICAiICUwNHg6JTAyeDolMDJ4LiV1OiByZWFz
c2lnbm1lbnQgbWF5IGNhdXNlICVwZCBkYXRhIGNvcnJ1cHRpb25cbiIsCisg
ICAgICAgICAgICAgICAgICAgc2VnLCBidXMsIFBDSV9TTE9UKGRldmZuKSwg
UENJX0ZVTkMoZGV2Zm4pLCBwcmV2X2RvbSk7CisKKyAgICAgICAgd3JpdGVf
YXRvbWljKCZjb250ZXh0LT5sbywgbGN0eHQubG8pOworICAgICAgICAvKiBO
byBiYXJyaWVyIHNob3VsZCBiZSBuZWVkZWQgYmV0d2VlbiB0aGVzZSB0d28u
ICovCisgICAgICAgIHdyaXRlX2F0b21pYygmY29udGV4dC0+aGksIGxjdHh0
LmhpKTsKICAgICB9CiAKLSAgICBjb250ZXh0X3NldF9hZGRyZXNzX3dpZHRo
KCpjb250ZXh0LCBhZ2F3KTsKLSAgICBjb250ZXh0X3NldF9mYXVsdF9lbmFi
bGUoKmNvbnRleHQpOwotICAgIGNvbnRleHRfc2V0X3ByZXNlbnQoKmNvbnRl
eHQpOwogICAgIGlvbW11X3N5bmNfY2FjaGUoY29udGV4dCwgc2l6ZW9mKHN0
cnVjdCBjb250ZXh0X2VudHJ5KSk7CiAgICAgc3Bpbl91bmxvY2soJmlvbW11
LT5sb2NrKTsKIAotICAgIC8qIENvbnRleHQgZW50cnkgd2FzIHByZXZpb3Vz
bHkgbm9uLXByZXNlbnQgKHdpdGggZG9taWQgMCkuICovCi0gICAgcmMgPSBp
b21tdV9mbHVzaF9jb250ZXh0X2RldmljZShpb21tdSwgMCwgUENJX0JERjIo
YnVzLCBkZXZmbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBETUFfQ0NNRF9NQVNLX05PQklULCAxKTsKKyAgICByYyA9IGlvbW11
X2ZsdXNoX2NvbnRleHRfZGV2aWNlKGlvbW11LCBwcmV2X2RpZCwgUENJX0JE
RjIoYnVzLCBkZXZmbiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBETUFfQ0NNRF9NQVNLX05PQklULCAhcHJldl9kb20pOwogICAg
IGZsdXNoX2Rldl9pb3RsYiA9ICEhZmluZF9hdHNfZGV2X2RyaGQoaW9tbXUp
OwotICAgIHJldCA9IGlvbW11X2ZsdXNoX2lvdGxiX2RzaShpb21tdSwgMCwg
MSwgZmx1c2hfZGV2X2lvdGxiKTsKKyAgICByZXQgPSBpb21tdV9mbHVzaF9p
b3RsYl9kc2koaW9tbXUsIHByZXZfZGlkLCAhcHJldl9kb20sIGZsdXNoX2Rl
dl9pb3RsYik7CiAKICAgICAvKgogICAgICAqIFRoZSBjdXJyZW50IGxvZ2lj
IGZvciByZXR1cm5zOgpAQCAtMTQ1OCwxMiArMTU1NywyMSBAQCBpbnQgZG9t
YWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgdW5tYXBfdnRkX2RvbWFp
bl9wYWdlKGNvbnRleHRfZW50cmllcyk7CiAKICAgICBpZiAoICFzZWcgJiYg
IXJjICkKLSAgICAgICAgcmMgPSBtZV93aWZpX3F1aXJrKGRvbWFpbiwgYnVz
LCBkZXZmbiwgTUFQX01FX1BIQU5UT01fRlVOQyk7CisgICAgICAgIHJjID0g
bWVfd2lmaV9xdWlyayhkb21haW4sIGJ1cywgZGV2Zm4sIG1vZGUpOwogCiAg
ICAgaWYgKCByYyApCi0gICAgICAgIGRvbWFpbl9jb250ZXh0X3VubWFwX29u
ZShkb21haW4sIGlvbW11LCBidXMsIGRldmZuKTsKKyAgICB7CisgICAgICAg
IGlmICggIXByZXZfZG9tICkKKyAgICAgICAgICAgIGRvbWFpbl9jb250ZXh0
X3VubWFwX29uZShkb21haW4sIGlvbW11LCBidXMsIGRldmZuKTsKKyAgICAg
ICAgZWxzZSBpZiAoIHByZXZfZG9tICE9IGRvbWFpbiApIC8qIEF2b2lkIGlu
ZmluaXRlIHJlY3Vyc2lvbi4gKi8KKyAgICAgICAgICAgIGRvbWFpbl9jb250
ZXh0X21hcHBpbmdfb25lKHByZXZfZG9tLCBpb21tdSwgYnVzLCBkZXZmbiwg
cGRldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1vZGUgJiBNQVBfV0lUSF9STVJSKTsKKyAgICB9CiAKLSAgICByZXR1cm4g
cmM7CisgICAgaWYgKCBwcmV2X2RvbSApCisgICAgICAgIHJjdV91bmxvY2tf
ZG9tYWluKHByZXZfZG9tKTsKKworICAgIHJldHVybiByYyA/OiBwZGV2ICYm
IHByZXZfZG9tOwogfQogCiBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X3Vu
bWFwKHN0cnVjdCBkb21haW4gKmQsIHVpbnQ4X3QgZGV2Zm4sCkBAIC0xNDcz
LDggKzE1ODEsMTEgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBw
aW5nKHN0cnVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogewogICAgIHN0cnVjdCBhY3BpX2Ry
aGRfdW5pdCAqZHJoZDsKKyAgICBjb25zdCBzdHJ1Y3QgYWNwaV9ybXJyX3Vu
aXQgKnJtcnI7CiAgICAgaW50IHJldCA9IDA7Ci0gICAgdTggc2VnID0gcGRl
di0+c2VnLCBidXMgPSBwZGV2LT5idXMsIHNlY2J1czsKKyAgICB1bnNpZ25l
ZCBpbnQgaSwgbW9kZSA9IDA7CisgICAgdWludDE2X3Qgc2VnID0gcGRldi0+
c2VnLCBiZGY7CisgICAgdWludDhfdCBidXMgPSBwZGV2LT5idXMsIHNlY2J1
czsKIAogICAgIGRyaGQgPSBhY3BpX2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQo
cGRldik7CiAgICAgaWYgKCAhZHJoZCApCkBAIC0xNDkzLDggKzE2MDQsMjkg
QEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAog
CiAgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOwogCisgICAgZm9yX2Vh
Y2hfcm1ycl9kZXZpY2UoIHJtcnIsIGJkZiwgaSApCisgICAgeworICAgICAg
ICBpZiAoIHJtcnItPnNlZ21lbnQgIT0gcGRldi0+c2VnIHx8IGJkZiAhPSBw
ZGV2LT5zYmRmLmJkZiApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAg
ICAgICBtb2RlIHw9IE1BUF9XSVRIX1JNUlI7CisgICAgICAgIGJyZWFrOwor
ICAgIH0KKworICAgIGlmICggZG9tYWluICE9IHBkZXYtPmRvbWFpbiApCisg
ICAgeworICAgICAgICBpZiAoIHBkZXYtPmRvbWFpbi0+aXNfZHlpbmcgKQor
ICAgICAgICAgICAgbW9kZSB8PSBNQVBfT1dORVJfRFlJTkc7CisgICAgICAg
IGVsc2UgaWYgKCBkcmhkICYmCisgICAgICAgICAgICAgICAgICAhYW55X3Bk
ZXZfYmVoaW5kX2lvbW11KHBkZXYtPmRvbWFpbiwgcGRldiwgZHJoZC0+aW9t
bXUpICYmCisgICAgICAgICAgICAgICAgICAhcGRldi0+cGhhbnRvbV9zdHJp
ZGUgKQorICAgICAgICAgICAgbW9kZSB8PSBNQVBfU0lOR0xFX0RFVklDRTsK
KyAgICB9CisKICAgICBzd2l0Y2ggKCBwZGV2LT50eXBlICkKICAgICB7Cisg
ICAgICAgIGJvb2wgcHJldl9wcmVzZW50OworCiAgICAgY2FzZSBERVZfVFlQ
RV9QQ0lfSE9TVF9CUklER0U6CiAgICAgICAgIGlmICggaW9tbXVfZGVidWcg
KQogICAgICAgICAgICAgcHJpbnRrKFZURFBSRUZJWCAiZCVkOkhvc3Ricmlk
Z2U6IHNraXAgJTA0eDolMDJ4OiUwMnguJXUgbWFwXG4iLApAQCAtMTUxNSw3
ICsxNjQ3LDkgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5n
KHN0cnVjdAogICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lk
LCBzZWcsIGJ1cywKICAgICAgICAgICAgICAgICAgICBQQ0lfU0xPVChkZXZm
biksIFBDSV9GVU5DKGRldmZuKSk7CiAgICAgICAgIHJldCA9IGRvbWFpbl9j
b250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIGJ1cywg
ZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBkZXYpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwZGV2LCBtb2RlKTsKKyAgICAgICAgaWYgKCByZXQgPiAwICkK
KyAgICAgICAgICAgIHJldCA9IDA7CiAgICAgICAgIGlmICggIXJldCAmJiBk
ZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBhdHNfZGV2aWNlKHBkZXYsIGRyaGQp
ID4gMCApCiAgICAgICAgICAgICBlbmFibGVfYXRzX2RldmljZShwZGV2LCAm
ZHJoZC0+aW9tbXUtPmF0c19kZXZpY2VzKTsKIApAQCAtMTUyOCw5ICsxNjYy
LDEwIEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1
Y3QKICAgICAgICAgICAgICAgICAgICBQQ0lfU0xPVChkZXZmbiksIFBDSV9G
VU5DKGRldmZuKSk7CiAKICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRf
bWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgYnVzLCBkZXZmbiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRl
dik7Ci0gICAgICAgIGlmICggcmV0ICkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGRldiwgbW9kZSk7CisgICAgICAgIGlm
ICggcmV0IDwgMCApCiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgcHJl
dl9wcmVzZW50ID0gcmV0OwogCiAgICAgICAgIGlmICggKHJldCA9IGZpbmRf
dXBzdHJlYW1fYnJpZGdlKHNlZywgJmJ1cywgJmRldmZuLCAmc2VjYnVzKSkg
PCAxICkKICAgICAgICAgewpAQCAtMTUzOCw2ICsxNjczLDE1IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIHJldCA9IC1FTlhJTzsKICAg
ICAgICAgfQorICAgICAgICAvKgorICAgICAgICAgKiBTdHJpY3RseSBzcGVh
a2luZyBpZiB0aGUgZGV2aWNlIGlzIHRoZSBvbmx5IG9uZSBiZWhpbmQgdGhp
cyBicmlkZ2UKKyAgICAgICAgICogYW5kIHRoZSBvbmx5IG9uZSB3aXRoIHRo
aXMgKHNlY2J1cywwLDApIHR1cGxlLCBpdCBjb3VsZCBiZSBhbGxvd2VkCisg
ICAgICAgICAqIHRvIGJlIHJlLWFzc2lnbmVkIHJlZ2FyZGxlc3Mgb2YgUk1S
UiBwcmVzZW5jZS4gIEJ1dCBsZXQncyBkZWFsIHdpdGgKKyAgICAgICAgICog
dGhhdCBjYXNlIG9ubHkgaWYgaXQgaXMgYWN0dWFsbHkgZm91bmQgaW4gdGhl
IHdpbGQuCisgICAgICAgICAqLworICAgICAgICBlbHNlIGlmICggcHJldl9w
cmVzZW50ICYmIChtb2RlICYgTUFQX1dJVEhfUk1SUikgJiYKKyAgICAgICAg
ICAgICAgICAgIGRvbWFpbiAhPSBwZGV2LT5kb21haW4gKQorICAgICAgICAg
ICAgcmV0ID0gLUVPUE5PVFNVUFA7CiAKICAgICAgICAgLyoKICAgICAgICAg
ICogTWFwcGluZyBhIGJyaWRnZSBzaG91bGQsIGlmIGFueXRoaW5nLCBwYXNz
IHRoZSBzdHJ1Y3QgcGNpX2RldiBvZgpAQCAtMTU0Niw3ICsxNjkwLDcgQEAg
c3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAg
ICAgICAgKi8KICAgICAgICAgaWYgKCByZXQgPj0gMCApCiAgICAgICAgICAg
ICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21haW4sIGRy
aGQtPmlvbW11LCBidXMsIGRldmZuLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBtb2RlKTsK
IAogICAgICAgICAvKgogICAgICAgICAgKiBEZXZpY2VzIGJlaGluZCBQQ0ll
LXRvLVBDSS9QQ0l4IGJyaWRnZSBtYXkgZ2VuZXJhdGUgZGlmZmVyZW50CkBA
IC0xNTYxLDEwICsxNzA1LDE1IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRl
eHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgaWYgKCAhcmV0ICYmIHBkZXZf
dHlwZShzZWcsIGJ1cywgZGV2Zm4pID09IERFVl9UWVBFX1BDSWUyUENJX0JS
SURHRSAmJgogICAgICAgICAgICAgIChzZWNidXMgIT0gcGRldi0+YnVzIHx8
IHBkZXYtPmRldmZuICE9IDApICkKICAgICAgICAgICAgIHJldCA9IGRvbWFp
bl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIHNl
Y2J1cywgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTlVMTCwgbW9kZSk7CiAKICAgICAgICAgaWYg
KCByZXQgKQotICAgICAgICAgICAgZG9tYWluX2NvbnRleHRfdW5tYXAoZG9t
YWluLCBkZXZmbiwgcGRldik7CisgICAgICAgIHsKKyAgICAgICAgICAgIGlm
ICggIXByZXZfcHJlc2VudCApCisgICAgICAgICAgICAgICAgZG9tYWluX2Nv
bnRleHRfdW5tYXAoZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAgICAgICAg
ICBlbHNlIGlmICggcGRldi0+ZG9tYWluICE9IGRvbWFpbiApIC8qIEF2b2lk
IGluZmluaXRlIHJlY3Vyc2lvbi4gKi8KKyAgICAgICAgICAgICAgICBkb21h
aW5fY29udGV4dF9tYXBwaW5nKHBkZXYtPmRvbWFpbiwgZGV2Zm4sIHBkZXYp
OworICAgICAgICB9CiAKICAgICAgICAgYnJlYWs7CiAKQEAgLTIzMzEsOSAr
MjQ4MCw4IEBAIHN0YXRpYyBpbnQgcmVhc3NpZ25fZGV2aWNlX293bmVyc2hp
cCgKIHsKICAgICBpbnQgcmV0OwogCi0gICAgcmV0ID0gZG9tYWluX2NvbnRl
eHRfdW5tYXAoc291cmNlLCBkZXZmbiwgcGRldik7Ci0gICAgaWYgKCByZXQg
KQotICAgICAgICByZXR1cm4gcmV0OworICAgIGlmICggIWhhc19hcmNoX3Bk
ZXZzKHRhcmdldCkgKQorICAgICAgICB2bXhfcGlfaG9va3NfYXNzaWduKHRh
cmdldCk7CiAKICAgICAvKgogICAgICAqIERldmljZXMgYXNzaWduZWQgdG8g
dW50cnVzdGVkIGRvbWFpbnMgKGhlcmUgYXNzdW1lZCB0byBiZSBhbnkgZG9t
VSkKQEAgLTIzNDMsNiArMjQ5MSwzMSBAQCBzdGF0aWMgaW50IHJlYXNzaWdu
X2RldmljZV9vd25lcnNoaXAoCiAgICAgaWYgKCAodGFyZ2V0ICE9IGhhcmR3
YXJlX2RvbWFpbikgJiYgIWlvbW11X2ludHJlbWFwICkKICAgICAgICAgdW50
cnVzdGVkX21zaSA9IHRydWU7CiAKKyAgICByZXQgPSBkb21haW5fY29udGV4
dF9tYXBwaW5nKHRhcmdldCwgZGV2Zm4sIHBkZXYpOworICAgIGlmICggcmV0
ICkKKyAgICB7CisgICAgICAgIGlmICggIWhhc19hcmNoX3BkZXZzKHRhcmdl
dCkgKQorICAgICAgICAgICAgdm14X3BpX2hvb2tzX2RlYXNzaWduKHRhcmdl
dCk7CisgICAgICAgIHJldHVybiByZXQ7CisgICAgfQorCisgICAgaWYgKCBw
ZGV2LT5kZXZmbiA9PSBkZXZmbiApCisgICAgeworICAgICAgICBjb25zdCBz
dHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQgPSBhY3BpX2ZpbmRfbWF0Y2hl
ZF9kcmhkX3VuaXQocGRldik7CisKKyAgICAgICAgaWYgKCBkcmhkICkKKyAg
ICAgICAgICAgIGNoZWNrX2NsZWFudXBfZG9taWRfbWFwKHNvdXJjZSwgcGRl
diwgZHJoZC0+aW9tbXUpOworICAgIH0KKworICAgIGlmICggZGV2Zm4gPT0g
cGRldi0+ZGV2Zm4gJiYgcGRldi0+ZG9tYWluICE9IHRhcmdldCApCisgICAg
eworICAgICAgICBsaXN0X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0LCAmdGFy
Z2V0LT5wZGV2X2xpc3QpOworICAgICAgICBwZGV2LT5kb21haW4gPSB0YXJn
ZXQ7CisgICAgfQorCisgICAgaWYgKCAhaGFzX2FyY2hfcGRldnMoc291cmNl
KSApCisgICAgICAgIHZteF9waV9ob29rc19kZWFzc2lnbihzb3VyY2UpOwor
CiAgICAgLyoKICAgICAgKiBJZiB0aGUgZGV2aWNlIGJlbG9uZ3MgdG8gdGhl
IGhhcmR3YXJlIGRvbWFpbiwgYW5kIGl0IGhhcyBSTVJSLCBkb24ndAogICAg
ICAqIHJlbW92ZSBpdCBmcm9tIHRoZSBoYXJkd2FyZSBkb21haW4sIGJlY2F1
c2UgQklPUyBtYXkgdXNlIFJNUlIgYXQKQEAgLTIzNzEsMzQgKzI1NDQsNyBA
QCBzdGF0aWMgaW50IHJlYXNzaWduX2RldmljZV9vd25lcnNoaXAoCiAgICAg
ICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKCBkZXZmbiA9PSBwZGV2LT5k
ZXZmbiAmJiBwZGV2LT5kb21haW4gIT0gZG9tX2lvICkKLSAgICB7Ci0gICAg
ICAgIGxpc3RfbW92ZSgmcGRldi0+ZG9tYWluX2xpc3QsICZkb21faW8tPnBk
ZXZfbGlzdCk7Ci0gICAgICAgIHBkZXYtPmRvbWFpbiA9IGRvbV9pbzsKLSAg
ICB9Ci0KLSAgICBpZiAoICFoYXNfYXJjaF9wZGV2cyhzb3VyY2UpICkKLSAg
ICAgICAgdm14X3BpX2hvb2tzX2RlYXNzaWduKHNvdXJjZSk7Ci0KLSAgICBp
ZiAoICFoYXNfYXJjaF9wZGV2cyh0YXJnZXQpICkKLSAgICAgICAgdm14X3Bp
X2hvb2tzX2Fzc2lnbih0YXJnZXQpOwotCi0gICAgcmV0ID0gZG9tYWluX2Nv
bnRleHRfbWFwcGluZyh0YXJnZXQsIGRldmZuLCBwZGV2KTsKLSAgICBpZiAo
IHJldCApCi0gICAgewotICAgICAgICBpZiAoICFoYXNfYXJjaF9wZGV2cyh0
YXJnZXQpICkKLSAgICAgICAgICAgIHZteF9waV9ob29rc19kZWFzc2lnbih0
YXJnZXQpOwotCi0gICAgICAgIHJldHVybiByZXQ7Ci0gICAgfQotCi0gICAg
aWYgKCBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBwZGV2LT5kb21haW4gIT0g
dGFyZ2V0ICkKLSAgICB7Ci0gICAgICAgIGxpc3RfbW92ZSgmcGRldi0+ZG9t
YWluX2xpc3QsICZ0YXJnZXQtPnBkZXZfbGlzdCk7Ci0gICAgICAgIHBkZXYt
PmRvbWFpbiA9IHRhcmdldDsKLSAgICB9Ci0KLSAgICByZXR1cm4gcmV0Owor
ICAgIHJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGludGVsX2lvbW11X2Fz
c2lnbl9kZXZpY2UoCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0
ZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9p
b21tdS5oCkBAIC0yMDIsOCArMjAyLDEyIEBAIHN0cnVjdCByb290X2VudHJ5
IHsKICAgICBkbyB7KHJvb3QpLnZhbCB8PSAoKHZhbHVlKSAmIFBBR0VfTUFT
S180Syk7fSB3aGlsZSgwKQogCiBzdHJ1Y3QgY29udGV4dF9lbnRyeSB7Ci0g
ICAgdTY0IGxvOwotICAgIHU2NCBoaTsKKyAgICB1bmlvbiB7CisgICAgICAg
IHN0cnVjdCB7CisgICAgICAgICAgICB1aW50NjRfdCBsbywgaGk7CisgICAg
ICAgIH07CisgICAgICAgIF9fdWludDEyOF90IGZ1bGw7CisgICAgfTsKIH07
CiAjZGVmaW5lIFJPT1RfRU5UUllfTlIgKFBBR0VfU0laRV80Sy9zaXplb2Yo
c3RydWN0IHJvb3RfZW50cnkpKQogI2RlZmluZSBjb250ZXh0X3ByZXNlbnQo
YykgKChjKS5sbyAmIDEpCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L3Z0ZC9xdWlya3MuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92
dGQvcXVpcmtzLmMKQEAgLTM0Myw3ICszNDMsOCBAQCB2b2lkIF9faW5pdCBw
bGF0Zm9ybV9xdWlya3NfaW5pdCh2b2lkKQogICovCiAKIHN0YXRpYyBpbnQg
X19tdXN0X2NoZWNrIG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKHN0cnVjdCBk
b21haW4gKmRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHUzMiBkZXYsIGludCBtYXApCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQgZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAgICAg
c3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwogICAgIHN0cnVjdCBwY2lf
ZGV2ICpwZGV2OwpAQCAtMzU0LDkgKzM1NSw5IEBAIHN0YXRpYyBpbnQgX19t
dXN0X2NoZWNrIG1hcF9tZV9waGFudG9tX2YKICAgICBkcmhkID0gYWNwaV9m
aW5kX21hdGNoZWRfZHJoZF91bml0KHBkZXYpOwogCiAgICAgLyogbWFwIG9y
IHVubWFwIE1FIHBoYW50b20gZnVuY3Rpb24gKi8KLSAgICBpZiAoIG1hcCAp
CisgICAgaWYgKCAhKG1vZGUgJiBVTk1BUF9NRV9QSEFOVE9NX0ZVTkMpICkK
ICAgICAgICAgcmMgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21h
aW4sIGRyaGQtPmlvbW11LCAwLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFBDSV9ERVZGTihkZXYsIDcpLCBOVUxMKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfREVW
Rk4oZGV2LCA3KSwgTlVMTCwgbW9kZSk7CiAgICAgZWxzZQogICAgICAgICBy
YyA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGRyaGQtPmlv
bW11LCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBQQ0lfREVWRk4oZGV2LCA3KSk7CkBAIC0zNjQsNyArMzY1LDggQEAgc3Rh
dGljIGludCBfX211c3RfY2hlY2sgbWFwX21lX3BoYW50b21fZgogICAgIHJl
dHVybiByYzsKIH0KIAotaW50IG1lX3dpZmlfcXVpcmsoc3RydWN0IGRvbWFp
biAqZG9tYWluLCB1OCBidXMsIHU4IGRldmZuLCBpbnQgbWFwKQoraW50IG1l
X3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1aW50OF90IGJ1
cywgdWludDhfdCBkZXZmbiwKKyAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCBtb2RlKQogewogICAgIHUzMiBpZDsKICAgICBpbnQgcmMgPSAwOwpA
QCAtMzg4LDcgKzM5MCw3IEBAIGludCBtZV93aWZpX3F1aXJrKHN0cnVjdCBk
b21haW4gKmRvbWFpbiwKICAgICAgICAgICAgIGNhc2UgMHg0MjNiODA4NjoK
ICAgICAgICAgICAgIGNhc2UgMHg0MjNjODA4NjoKICAgICAgICAgICAgIGNh
c2UgMHg0MjNkODA4NjoKLSAgICAgICAgICAgICAgICByYyA9IG1hcF9tZV9w
aGFudG9tX2Z1bmN0aW9uKGRvbWFpbiwgMywgbWFwKTsKKyAgICAgICAgICAg
ICAgICByYyA9IG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKGRvbWFpbiwgMywg
bW9kZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNDE0LDcgKzQx
Niw3IEBAIGludCBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21haW4gKmRvbWFp
biwKICAgICAgICAgICAgIGNhc2UgMHg0MjM4ODA4NjogICAgICAgIC8qIFB1
bWEgUGVhayAqLwogICAgICAgICAgICAgY2FzZSAweDQyMmI4MDg2OgogICAg
ICAgICAgICAgY2FzZSAweDQyMmM4MDg2OgotICAgICAgICAgICAgICAgIHJj
ID0gbWFwX21lX3BoYW50b21fZnVuY3Rpb24oZG9tYWluLCAyMiwgbWFwKTsK
KyAgICAgICAgICAgICAgICByYyA9IG1hcF9tZV9waGFudG9tX2Z1bmN0aW9u
KGRvbWFpbiwgMjIsIG1vZGUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBicmVhazsK
LS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3Z0ZC5oCisrKyBi
L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC92dGQuaApAQCAtMjIsOCAr
MjIsMTQgQEAKIAogI2luY2x1ZGUgPHhlbi9pb21tdS5oPgogCi0jZGVmaW5l
IE1BUF9NRV9QSEFOVE9NX0ZVTkMgICAgICAxCi0jZGVmaW5lIFVOTUFQX01F
X1BIQU5UT01fRlVOQyAgICAwCisvKgorICogVmFsdWVzIGZvciBkb21haW5f
Y29udGV4dF9tYXBwaW5nX29uZSgpJ3MgYW5kIG1lX3dpZmlfcXVpcmsoKSdz
ICJtb2RlIgorICogcGFyYW1ldGVycy4KKyAqLworI2RlZmluZSBNQVBfV0lU
SF9STVJSICAgICAgICAgKDF1IDw8IDApCisjZGVmaW5lIE1BUF9PV05FUl9E
WUlORyAgICAgICAoMXUgPDwgMSkKKyNkZWZpbmUgTUFQX1NJTkdMRV9ERVZJ
Q0UgICAgICgxdSA8PCAyKQorI2RlZmluZSBVTk1BUF9NRV9QSEFOVE9NX0ZV
TkMgKDF1IDw8IDMpCiAKIC8qIEFsbG93IGZvciBib3RoIElPQVBJQyBhbmQg
SU9TQVBJQy4gKi8KICNkZWZpbmUgSU9feEFQSUNfcm91dGVfZW50cnkgSU9f
QVBJQ19yb3V0ZV9lbnRyeQo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFzc2lnbiBkZXZpY2VzIGRpcmVjdGx5CgpEZXZp
Y2VzIHdpdGggdW5pdHkgbWFwIHJhbmdlcywgZHVlIHRvIGl0IGJlaW5nIHVu
c3BlY2lmaWVkIGhvdy93aGVuCnRoZXNlIG1lbW9yeSByYW5nZXMgbWF5IGdl
dCBhY2Nlc3NlZCwgbWF5IG5vdCBiZSBsZWZ0IGRpc2Nvbm5lY3RlZCBmcm9t
CnRoZWlyIHVuaXR5IG1hcHBpbmdzIChhcyBsb25nIGFzIGl0J3Mgbm90IGNl
cnRhaW4gdGhhdCB0aGUgZGV2aWNlIGhhcwpiZWVuIGZ1bGx5IHF1aWVzY2Vk
KS4gSGVuY2UgcmF0aGVyIHRoYW4gdGVhcmluZyBkb3duIHRoZSBvbGQgcm9v
dCBwYWdlCnRhYmxlIHBvaW50ZXIgYW5kIHRoZW4gZXN0YWJsaXNoaW5nIHRo
ZSBuZXcgb25lLCByZS1hc3NpZ25tZW50IG5lZWRzIHRvCmJlIGRvbmUgaW4g
YSBzaW5nbGUgc3RlcC4KClRoaXMgaXMgQ1ZFLTIwMjItMjYzNjAgLyBwYXJ0
IG9mIFhTQS00MDAuCgpSZXBvcnRlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgpTaW1pbGFybHkgcXVhcmFudGluaW5n
IHNjcmF0Y2gtcGFnZSBtb2RlIHJlbGllcyBvbiBwYWdlIHRhYmxlcyB0byBi
ZQpjb250aW51b3VzbHkgd2lyZWQgdXAuCgpUbyBhdm9pZCBjb21wbGljYXRp
bmcgdGhpbmdzIG1vcmUgdGhhbiBuZWNlc3NhcnksIHRyZWF0IGFsbCBkZXZp
Y2VzCm1vc3RseSBlcXVhbGx5LCBpLmUuIHJlZ2FyZGxlc3Mgb2YgdGhlaXIg
YXNzb2NpYXRpb24gd2l0aCBhbnkgdW5pdHkgbWFwCnJhbmdlcy4gIFRoZSBt
YWluIGRpZmZlcmVuY2UgaXMgd2hlbiBpdCBjb21lcyB0byB1cGRhdGluZyBE
VEVzLCB3aGljaCBuZWVkCnRvIGJlIGF0b21pYyB3aGVuIHRoZXJlIGFyZSB1
bml0eSBtYXBwaW5ncy4gWWV0IGF0b21pY2l0eSBjYW4gb25seSBiZQphY2hp
ZXZlZCB3aXRoIENNUFhDSEcxNkIsIGF2YWlsYWJpbGl0eSBvZiB3aGljaCB3
ZSBjYW4ndCB0YWtlIGZvciBnaXZlbi4KClNpZ25lZC1vZmYtYnk6IEphbiBC
ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwg
RHVycmFudCA8cGF1bEB4ZW4ub3JnPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1
IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vaW5j
bHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKKysrIGIv
eGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5o
CkBAIC03OSw5ICs3OSwxMyBAQCB2b2lkIGFtZF9pb21tdV9zZXRfaW50cmVt
YXBfdGFibGUoc3RydWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgdm9pZCAqcHRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgdmFsaWQp
Owotdm9pZCBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJsZShzdHJ1Y3Qg
YW1kX2lvbW11X2R0ZSAqZHRlLAotCQkJCSAgIHVpbnQ2NF90IHJvb3RfcHRy
LCB1aW50MTZfdCBkb21haW5faWQsCi0JCQkJICAgdWludDhfdCBwYWdpbmdf
bW9kZSwgYm9vbCB2YWxpZCk7CisjZGVmaW5lIFNFVF9ST09UX1ZBTElEICAg
ICAgICAgICgxdSA8PCAwKQorI2RlZmluZSBTRVRfUk9PVF9XSVRIX1VOSVRZ
X01BUCAoMXUgPDwgMSkKK2ludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3Nl
dF9yb290X3BhZ2VfdGFibGUoc3RydWN0IGFtZF9pb21tdV9kdGUgKmR0ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDY0X3Qgcm9vdF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IGRvbWFpbl9pZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCBwYWdpbmdfbW9kZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdz
KTsKIHZvaWQgaW9tbXVfZHRlX2FkZF9kZXZpY2VfZW50cnkoc3RydWN0IGFt
ZF9pb21tdV9kdGUgKmR0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2cnNfZGV2KTsK
IHZvaWQgaW9tbXVfZHRlX3NldF9ndWVzdF9jcjMoc3RydWN0IGFtZF9pb21t
dV9kdGUgKmR0ZSwgdWludDE2X3QgZG9tX2lkLAotLS0gYS94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5jCkBAIC0xMDMsMTAgKzEw
Myw2OSBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHNldF9pb21tdV9wdGVfcHJl
c2VuCiAgICAgcmV0dXJuIGZsdXNoX2ZsYWdzOwogfQogCi12b2lkIGFtZF9p
b21tdV9zZXRfcm9vdF9wYWdlX3RhYmxlKHN0cnVjdCBhbWRfaW9tbXVfZHRl
ICpkdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ2NF90IHJvb3RfcHRyLCB1aW50MTZfdCBkb21haW5faWQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgcGFnaW5nX21v
ZGUsIGJvb2wgdmFsaWQpCisvKgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5z
CisgKiAtIC1lcnJubyBmb3IgZXJyb3JzLAorICogLSAwIGZvciBhIHN1Y2Nl
c3NmdWwgdXBkYXRlLCBhdG9taWMgd2hlbiBuZWNlc3NhcnkKKyAqIC0gMSBm
b3IgYSBzdWNjZXNzZnVsIGJ1dCBub24tYXRvbWljIHVwZGF0ZSwgd2hpY2gg
bWF5IG5lZWQgdG8gYmUgd2FybmVkCisgKiAgIGFib3V0IGJ5IHRoZSBjYWxs
ZXIuCisgKi8KK2ludCBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJsZShz
dHJ1Y3QgYW1kX2lvbW11X2R0ZSAqZHRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ2NF90IHJvb3RfcHRyLCB1aW50MTZfdCBk
b21haW5faWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDhfdCBwYWdpbmdfbW9kZSwgdW5zaWduZWQgaW50IGZsYWdzKQogewor
ICAgIGJvb2wgdmFsaWQgPSBmbGFncyAmIFNFVF9ST09UX1ZBTElEOworCisg
ICAgaWYgKCBkdGUtPnYgJiYgZHRlLT50diAmJgorICAgICAgICAgKGNwdV9o
YXNfY3gxNiB8fCAoZmxhZ3MgJiBTRVRfUk9PVF9XSVRIX1VOSVRZX01BUCkp
ICkKKyAgICB7CisgICAgICAgIHVuaW9uIHsKKyAgICAgICAgICAgIHN0cnVj
dCBhbWRfaW9tbXVfZHRlIGR0ZTsKKyAgICAgICAgICAgIHVpbnQ2NF90IHJh
dzY0WzRdOworICAgICAgICAgICAgX191aW50MTI4X3QgcmF3MTI4WzJdOwor
ICAgICAgICB9IGxkdGUgPSB7IC5kdGUgPSAqZHRlIH07CisgICAgICAgIF9f
dWludDEyOF90IG9sZCA9IGxkdGUucmF3MTI4WzBdOworICAgICAgICBpbnQg
cmV0ID0gMDsKKworICAgICAgICBsZHRlLmR0ZS5kb21haW5faWQgPSBkb21h
aW5faWQ7CisgICAgICAgIGxkdGUuZHRlLnB0X3Jvb3QgPSBwYWRkcl90b19w
Zm4ocm9vdF9wdHIpOworICAgICAgICBsZHRlLmR0ZS5pdyA9IHRydWU7Cisg
ICAgICAgIGxkdGUuZHRlLmlyID0gdHJ1ZTsKKyAgICAgICAgbGR0ZS5kdGUu
cGFnaW5nX21vZGUgPSBwYWdpbmdfbW9kZTsKKyAgICAgICAgbGR0ZS5kdGUu
diA9IHZhbGlkOworCisgICAgICAgIGlmICggY3B1X2hhc19jeDE2ICkKKyAg
ICAgICAgeworICAgICAgICAgICAgX191aW50MTI4X3QgcmVzID0gY21weGNo
ZzE2YihkdGUsICZvbGQsICZsZHRlLnJhdzEyOFswXSk7CisKKyAgICAgICAg
ICAgIC8qCisgICAgICAgICAgICAgKiBIYXJkd2FyZSBkb2VzIG5vdCB1cGRh
dGUgdGhlIERURSBiZWhpbmQgb3VyIGJhY2tzLCBzbyB0aGUKKyAgICAgICAg
ICAgICAqIHJldHVybiB2YWx1ZSBzaG91bGQgbWF0Y2ggIm9sZCIuCisgICAg
ICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICggcmVzICE9IG9sZCApCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19F
UlIKKyAgICAgICAgICAgICAgICAgICAgICAgIkRvbSVkOiB1bmV4cGVjdGVk
IERURSAlMDE2bHhfJTAxNmx4IChleHBlY3RlZCAlMDE2bHhfJTAxNmx4KVxu
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluX2lkLAorICAgICAg
ICAgICAgICAgICAgICAgICAodWludDY0X3QpKHJlcyA+PiA2NCksICh1aW50
NjRfdClyZXMsCisgICAgICAgICAgICAgICAgICAgICAgICh1aW50NjRfdCko
b2xkID4+IDY0KSwgKHVpbnQ2NF90KW9sZCk7CisgICAgICAgICAgICAgICAg
cmV0ID0gLUVJTFNFUTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICBlbHNlIC8qIEJlc3QgZWZmb3J0LCB1cGRhdGluZyBkb21haW5faWQg
bGFzdC4gKi8KKyAgICAgICAgeworICAgICAgICAgICAgdWludDY0X3QgKnB0
ciA9ICh2b2lkICopZHRlOworCisgICAgICAgICAgICB3cml0ZV9hdG9taWMo
cHRyICsgMCwgbGR0ZS5yYXc2NFswXSk7CisgICAgICAgICAgICAvKiBObyBi
YXJyaWVyIHNob3VsZCBiZSBuZWVkZWQgYmV0d2VlbiB0aGVzZSB0d28uICov
CisgICAgICAgICAgICB3cml0ZV9hdG9taWMocHRyICsgMSwgbGR0ZS5yYXc2
NFsxXSk7CisKKyAgICAgICAgICAgIHJldCA9IDE7CisgICAgICAgIH0KKwor
ICAgICAgICByZXR1cm4gcmV0OworICAgIH0KKwogICAgIGlmICggdmFsaWQg
fHwgZHRlLT52ICkKICAgICB7CiAgICAgICAgIGR0ZS0+dHYgPSBmYWxzZTsK
QEAgLTEyMSw2ICsxODAsOCBAQCB2b2lkIGFtZF9pb21tdV9zZXRfcm9vdF9w
YWdlX3RhYmxlKHN0cnVjCiAgICAgc21wX3dtYigpOwogICAgIGR0ZS0+dHYg
PSB0cnVlOwogICAgIGR0ZS0+diA9IHZhbGlkOworCisgICAgcmV0dXJuIDA7
CiB9CiAKIHZvaWQgYW1kX2lvbW11X3NldF9pbnRyZW1hcF90YWJsZSgKLS0t
IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUu
YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9p
b21tdS5jCkBAIC04NSw0MCArODUsODEgQEAgaW50IGdldF9kbWFfcmVxdWVz
dG9yX2lkKHVpbnQxNl90IHNlZywgdQogICAgIHJldHVybiByZXFfaWQ7CiB9
CiAKLXN0YXRpYyB2b2lkIGFtZF9pb21tdV9zZXR1cF9kb21haW5fZGV2aWNl
KAorc3RhdGljIGludCBfX211c3RfY2hlY2sgYWxsb2NhdGVfZG9tYWluX3Jl
c291cmNlcyhzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCkKK3sKKyAgICBpbnQg
cmM7CisKKyAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7
CisgICAgcmMgPSBhbWRfaW9tbXVfYWxsb2Nfcm9vdChoZCk7CisgICAgc3Bp
bl91bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CisKKyAgICByZXR1
cm4gcmM7Cit9CisKK3N0YXRpYyBib29sIGFueV9wZGV2X2JlaGluZF9pb21t
dShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpleGNsdWRl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworICAgIGNvbnN0IHN0cnVjdCBw
Y2lfZGV2ICpwZGV2OworCisgICAgZm9yX2VhY2hfcGRldiAoIGQsIHBkZXYg
KQorICAgIHsKKyAgICAgICAgaWYgKCBwZGV2ID09IGV4Y2x1ZGUgKQorICAg
ICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgaWYgKCBmaW5kX2lvbW11
X2Zvcl9kZXZpY2UocGRldi0+c2VnLCBwZGV2LT5zYmRmLmJkZikgPT0gaW9t
bXUgKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAg
cmV0dXJuIGZhbHNlOworfQorCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBh
bWRfaW9tbXVfc2V0dXBfZG9tYWluX2RldmljZSgKICAgICBzdHJ1Y3QgZG9t
YWluICpkb21haW4sIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAogICAgIHVp
bnQ4X3QgZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogewogICAgIHN0
cnVjdCBhbWRfaW9tbXVfZHRlICp0YWJsZSwgKmR0ZTsKICAgICB1bnNpZ25l
ZCBsb25nIGZsYWdzOwotICAgIGludCByZXFfaWQsIHZhbGlkID0gMTsKKyAg
ICB1bnNpZ25lZCBpbnQgcmVxX2lkLCBzcl9mbGFnczsKKyAgICBpbnQgcmM7
CiAgICAgdTggYnVzID0gcGRldi0+YnVzOwotICAgIGNvbnN0IHN0cnVjdCBk
b21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbWFpbik7CisgICAgc3Ry
dWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZG9tYWluKTsKKyAg
ICBjb25zdCBzdHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19kZXY7CiAKLSAg
ICBCVUdfT04oICFoZC0+YXJjaC5yb290X3RhYmxlIHx8ICFoZC0+YXJjaC5w
YWdpbmdfbW9kZSB8fAotICAgICAgICAgICAgIWlvbW11LT5kZXZfdGFibGUu
YnVmZmVyICk7CisgICAgQlVHX09OKCFoZC0+YXJjaC5wYWdpbmdfbW9kZSB8
fCAhaW9tbXUtPmRldl90YWJsZS5idWZmZXIpOwogCi0gICAgaWYgKCBpb21t
dV9od2RvbV9wYXNzdGhyb3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZG9t
YWluKSApCi0gICAgICAgIHZhbGlkID0gMDsKKyAgICByYyA9IGFsbG9jYXRl
X2RvbWFpbl9yZXNvdXJjZXMoaGQpOworICAgIGlmICggcmMgKQorICAgICAg
ICByZXR1cm4gcmM7CisKKyAgICByZXFfaWQgPSBnZXRfZG1hX3JlcXVlc3Rv
cl9pZChpb21tdS0+c2VnLCBwZGV2LT5zYmRmLmJkZik7CisgICAgaXZyc19k
ZXYgPSAmZ2V0X2l2cnNfbWFwcGluZ3MoaW9tbXUtPnNlZylbcmVxX2lkXTsK
KyAgICBzcl9mbGFncyA9IChpb21tdV9od2RvbV9wYXNzdGhyb3VnaCAmJiBp
c19oYXJkd2FyZV9kb21haW4oZG9tYWluKQorICAgICAgICAgICAgICAgID8g
MCA6IFNFVF9ST09UX1ZBTElEKQorICAgICAgICAgICAgICAgfCAoaXZyc19k
ZXYtPnVuaXR5X21hcCA/IFNFVF9ST09UX1dJVEhfVU5JVFlfTUFQIDogMCk7
CiAKICAgICAvKiBnZXQgZGV2aWNlLXRhYmxlIGVudHJ5ICovCiAgICAgcmVx
X2lkID0gZ2V0X2RtYV9yZXF1ZXN0b3JfaWQoaW9tbXUtPnNlZywgUENJX0JE
RjIoYnVzLCBkZXZmbikpOwogICAgIHRhYmxlID0gaW9tbXUtPmRldl90YWJs
ZS5idWZmZXI7CiAgICAgZHRlID0gJnRhYmxlW3JlcV9pZF07CisgICAgaXZy
c19kZXYgPSAmZ2V0X2l2cnNfbWFwcGluZ3MoaW9tbXUtPnNlZylbcmVxX2lk
XTsKIAogICAgIHNwaW5fbG9ja19pcnFzYXZlKCZpb21tdS0+bG9jaywgZmxh
Z3MpOwogCiAgICAgaWYgKCAhZHRlLT52IHx8ICFkdGUtPnR2ICkKICAgICB7
Ci0gICAgICAgIGNvbnN0IHN0cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX2Rl
djsKLQogICAgICAgICAvKiBiaW5kIERURSB0byBkb21haW4gcGFnZS10YWJs
ZXMgKi8KLSAgICAgICAgYW1kX2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUo
Ci0gICAgICAgICAgICBkdGUsIHBhZ2VfdG9fbWFkZHIoaGQtPmFyY2gucm9v
dF90YWJsZSksIGRvbWFpbi0+ZG9tYWluX2lkLAotICAgICAgICAgICAgaGQt
PmFyY2gucGFnaW5nX21vZGUsIHZhbGlkKTsKKyAgICAgICAgcmMgPSBhbWRf
aW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJsZSgKKyAgICAgICAgICAgICAgICAg
ZHRlLCBwYWdlX3RvX21hZGRyKGhkLT5hcmNoLnJvb3RfdGFibGUpLAorICAg
ICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwgaGQtPmFyY2gucGFn
aW5nX21vZGUsIHNyX2ZsYWdzKTsKKyAgICAgICAgaWYgKCByYyApCisgICAg
ICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChyYyA8IDApOworICAgICAgICAg
ICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9tbXUtPmxvY2ssIGZsYWdz
KTsKKyAgICAgICAgICAgIHJldHVybiByYzsKKyAgICAgICAgfQogCiAgICAg
ICAgIC8qIFVuZG8gd2hhdCBhbWRfaW9tbXVfZGlzYWJsZV9kb21haW5fZGV2
aWNlKCkgbWF5IGhhdmUgZG9uZS4gKi8KLSAgICAgICAgaXZyc19kZXYgPSAm
Z2V0X2l2cnNfbWFwcGluZ3MoaW9tbXUtPnNlZylbcmVxX2lkXTsKICAgICAg
ICAgaWYgKCBkdGUtPml0X3Jvb3QgKQogICAgICAgICB7CiAgICAgICAgICAg
ICBkdGUtPmludF9jdGwgPSBJT01NVV9ERVZfVEFCTEVfSU5UX0NPTlRST0xf
VFJBTlNMQVRFRDsKQEAgLTEzMywxNyArMTc0LDc0IEBAIHN0YXRpYyB2b2lk
IGFtZF9pb21tdV9zZXR1cF9kb21haW5fZGV2aWMKICAgICAgICAgICAgIGR0
ZS0+aSA9IGF0c19lbmFibGVkOwogCiAgICAgICAgIGFtZF9pb21tdV9mbHVz
aF9kZXZpY2UoaW9tbXUsIHJlcV9pZCk7CisgICAgfQorICAgIGVsc2UgaWYg
KCBkdGUtPnB0X3Jvb3QgIT0gbWZuX3gocGFnZV90b19tZm4oaGQtPmFyY2gu
cm9vdF90YWJsZSkpICkKKyAgICB7CisgICAgICAgIC8qCisgICAgICAgICAq
IFN0cmljdGx5IHNwZWFraW5nIGlmIHRoZSBkZXZpY2UgaXMgdGhlIG9ubHkg
b25lIHdpdGggdGhpcyByZXF1ZXN0b3IKKyAgICAgICAgICogSUQsIGl0IGNv
dWxkIGJlIGFsbG93ZWQgdG8gYmUgcmUtYXNzaWduZWQgcmVnYXJkbGVzcyBv
ZiB1bml0eSBtYXAKKyAgICAgICAgICogcHJlc2VuY2UuICBCdXQgbGV0J3Mg
ZGVhbCB3aXRoIHRoYXQgY2FzZSBvbmx5IGlmIGl0IGlzIGFjdHVhbGx5Cisg
ICAgICAgICAqIGZvdW5kIGluIHRoZSB3aWxkLgorICAgICAgICAgKi8KKyAg
ICAgICAgaWYgKCByZXFfaWQgIT0gUENJX0JERjIoYnVzLCBkZXZmbikgJiYK
KyAgICAgICAgICAgICAoc3JfZmxhZ3MgJiBTRVRfUk9PVF9XSVRIX1VOSVRZ
X01BUCkgKQorICAgICAgICAgICAgcmMgPSAtRU9QTk9UU1VQUDsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgcmMgPSBhbWRfaW9tbXVfc2V0X3Jvb3Rf
cGFnZV90YWJsZSgKKyAgICAgICAgICAgICAgICAgICAgIGR0ZSwgcGFnZV90
b19tYWRkcihoZC0+YXJjaC5yb290X3RhYmxlKSwKKyAgICAgICAgICAgICAg
ICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkLCBoZC0+YXJjaC5wYWdpbmdfbW9k
ZSwgc3JfZmxhZ3MpOworICAgICAgICBpZiAoIHJjIDwgMCApCisgICAgICAg
IHsKKyAgICAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11
LT5sb2NrLCBmbGFncyk7CisgICAgICAgICAgICByZXR1cm4gcmM7CisgICAg
ICAgIH0KKyAgICAgICAgaWYgKCByYyAmJgorICAgICAgICAgICAgIGRvbWFp
biAhPSBwZGV2LT5kb21haW4gJiYKKyAgICAgICAgICAgICAvKgorICAgICAg
ICAgICAgICAqIEJ5IG5vbi1hdG9taWNhbGx5IHVwZGF0aW5nIHRoZSBEVEUn
cyBkb21haW4gSUQgZmllbGQgbGFzdCwKKyAgICAgICAgICAgICAgKiBkdXJp
bmcgYSBzaG9ydCB3aW5kb3cgaW4gdGltZSBUTEIgZW50cmllcyB3aXRoIHRo
ZSBvbGQgZG9tYWluCisgICAgICAgICAgICAgICogSUQgYnV0IHRoZSBuZXcg
cGFnZSB0YWJsZXMgbWF5IGhhdmUgYmVlbiBpbnNlcnRlZC4gIFRoaXMgY291
bGQKKyAgICAgICAgICAgICAgKiBhZmZlY3QgSS9PIG9mIG90aGVyIGRldmlj
ZXMgdXNpbmcgdGhpcyBzYW1lIChvbGQpIGRvbWFpbiBJRC4KKyAgICAgICAg
ICAgICAgKiBTdWNoIHVwZGF0aW5nIHRoZXJlZm9yZSBpcyBub3QgYSBwcm9i
bGVtIGlmIHRoaXMgd2FzIHRoZSBvbmx5CisgICAgICAgICAgICAgICogZGV2
aWNlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2xkIGRvbWFpbiBJRC4gIERpdmVy
dGluZyBJL08gb2YgYW55CisgICAgICAgICAgICAgICogb2YgYSBkeWluZyBk
b21haW4ncyBkZXZpY2VzIHRvIHRoZSBxdWFyYW50aW5lIHBhZ2UgdGFibGVz
IGlzCisgICAgICAgICAgICAgICogaW50ZW5kZWQgYW55d2F5LgorICAgICAg
ICAgICAgICAqLworICAgICAgICAgICAgICFwZGV2LT5kb21haW4tPmlzX2R5
aW5nICYmCisgICAgICAgICAgICAgKGFueV9wZGV2X2JlaGluZF9pb21tdShw
ZGV2LT5kb21haW4sIHBkZXYsIGlvbW11KSB8fAorICAgICAgICAgICAgICBw
ZGV2LT5waGFudG9tX3N0cmlkZSkgKQorICAgICAgICAgICAgcHJpbnRrKCIg
JTA0eDolMDJ4OiUwMnguJXU6IHJlYXNzaWdubWVudCBtYXkgY2F1c2UgJXBk
IGRhdGEgY29ycnVwdGlvblxuIiwKKyAgICAgICAgICAgICAgICAgICBwZGV2
LT5zZWcsIGJ1cywgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbiks
CisgICAgICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluKTsKKworICAgICAg
ICAvKgorICAgICAgICAgKiBDaGVjayByZW1haW5pbmcgc2V0dGluZ3MgYXJl
IHN0aWxsIGluIHBsYWNlIGZyb20gYW4gZWFybGllciBjYWxsCisgICAgICAg
ICAqIGhlcmUuIFRoZXkncmUgYWxsIGluZGVwZW5kZW50IG9mIHRoZSBkb21h
aW4sIHNvIHNob3VsZCBub3QgaGF2ZQorICAgICAgICAgKiBjaGFuZ2VkLgor
ICAgICAgICAgKi8KKyAgICAgICAgaWYgKCBkdGUtPml0X3Jvb3QgKQorICAg
ICAgICAgICAgQVNTRVJUKGR0ZS0+aW50X2N0bCA9PSBJT01NVV9ERVZfVEFC
TEVfSU5UX0NPTlRST0xfVFJBTlNMQVRFRCk7CisgICAgICAgIEFTU0VSVChk
dGUtPml2ID09IGlvbW11X2ludHJlbWFwKTsKKyAgICAgICAgQVNTRVJUKGR0
ZS0+ZXggPT0gaXZyc19kZXYtPmR0ZV9hbGxvd19leGNsdXNpb24pOworICAg
ICAgICBBU1NFUlQoZHRlLT5zeXNfbWd0ID09IE1BU0tfRVhUUihpdnJzX2Rl
di0+ZGV2aWNlX2ZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBBQ1BJX0lWSERfU1lTVEVNX01HTVQpKTsKIAotICAg
ICAgICBBTURfSU9NTVVfREVCVUcoIlNldHVwIEkvTyBwYWdlIHRhYmxlOiBk
ZXZpY2UgaWQgPSAlI3gsIHR5cGUgPSAlI3gsICIKLSAgICAgICAgICAgICAg
ICAgICAgICAgICJyb290IHRhYmxlID0gJSMiUFJJeDY0IiwgIgotICAgICAg
ICAgICAgICAgICAgICAgICAgImRvbWFpbiA9ICVkLCBwYWdpbmcgbW9kZSA9
ICVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgcmVxX2lkLCBwZGV2
LT50eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgcGFnZV90b19tYWRk
cihoZC0+YXJjaC5yb290X3RhYmxlKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGRvbWFpbi0+ZG9tYWluX2lkLCBoZC0+YXJjaC5wYWdpbmdfbW9kZSk7
CisgICAgICAgIGlmICggcGNpX2F0c19kZXZpY2UoaW9tbXUtPnNlZywgYnVz
LCBwZGV2LT5kZXZmbikgJiYKKyAgICAgICAgICAgICBpb21tdV9oYXNfY2Fw
KGlvbW11LCBQQ0lfQ0FQX0lPVExCX1NISUZUKSApCisgICAgICAgICAgICBB
U1NFUlQoZHRlLT5pID09IGF0c19lbmFibGVkKTsKKworICAgICAgICBhbWRf
aW9tbXVfZmx1c2hfZGV2aWNlKGlvbW11LCByZXFfaWQpOwogICAgIH0KIAog
ICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5sb2NrLCBmbGFn
cyk7CiAKKyAgICBBTURfSU9NTVVfREVCVUcoIlNldHVwIEkvTyBwYWdlIHRh
YmxlOiBkZXZpY2UgaWQgPSAlI3gsIHR5cGUgPSAlI3gsICIKKyAgICAgICAg
ICAgICAgICAgICAgInJvb3QgdGFibGUgPSAlIyJQUkl4NjQiLCAiCisgICAg
ICAgICAgICAgICAgICAgICJkb21haW4gPSAlZCwgcGFnaW5nIG1vZGUgPSAl
ZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgcmVxX2lkLCBwZGV2LT50eXBl
LAorICAgICAgICAgICAgICAgICAgICBwYWdlX3RvX21hZGRyKGhkLT5hcmNo
LnJvb3RfdGFibGUpLAorICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRv
bWFpbl9pZCwgaGQtPmFyY2gucGFnaW5nX21vZGUpOworCiAgICAgQVNTRVJU
KHBjaWRldnNfbG9ja2VkKCkpOwogCiAgICAgaWYgKCBwY2lfYXRzX2Rldmlj
ZShpb21tdS0+c2VnLCBidXMsIHBkZXYtPmRldmZuKSAmJgpAQCAtMTU0LDYg
KzI1Miw4IEBAIHN0YXRpYyB2b2lkIGFtZF9pb21tdV9zZXR1cF9kb21haW5f
ZGV2aWMKIAogICAgICAgICBhbWRfaW9tbXVfZmx1c2hfaW90bGIoZGV2Zm4s
IHBkZXYsIElOVl9JT01NVV9BTExfUEFHRVNfQUREUkVTUywgMCk7CiAgICAg
fQorCisgICAgcmV0dXJuIDA7CiB9CiAKIGludCBfX2luaXQgYWNwaV9pdnJz
X2luaXQodm9pZCkKQEAgLTIyMywxNyArMzIzLDYgQEAgaW50IGFtZF9pb21t
dV9hbGxvY19yb290KHN0cnVjdCBkb21haW5faQogICAgIHJldHVybiAwOwog
fQogCi1zdGF0aWMgaW50IF9fbXVzdF9jaGVjayBhbGxvY2F0ZV9kb21haW5f
cmVzb3VyY2VzKHN0cnVjdCBkb21haW5faW9tbXUgKmhkKQotewotICAgIGlu
dCByYzsKLQotICAgIHNwaW5fbG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2Nr
KTsKLSAgICByYyA9IGFtZF9pb21tdV9hbGxvY19yb290KGhkKTsKLSAgICBz
cGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKLQotICAgIHJl
dHVybiByYzsKLX0KLQogaW50IF9fcmVhZF9tb3N0bHkgYW1kX2lvbW11X21p
bl9wYWdpbmdfbW9kZSA9IDE7CiAKIHN0YXRpYyBpbnQgYW1kX2lvbW11X2Rv
bWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpCkBAIC0zMzMsNyArNDIyLDYg
QEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGRvbWFpbgog
ewogICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OwogICAgIGludCBiZGYs
IHJjOwotICAgIHN0cnVjdCBkb21haW5faW9tbXUgKnQgPSBkb21faW9tbXUo
dGFyZ2V0KTsKICAgICBjb25zdCBzdHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZy
c19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBpbmdzKHBkZXYtPnNlZyk7CiAK
ICAgICBiZGYgPSBQQ0lfQkRGMihwZGV2LT5idXMsIHBkZXYtPmRldmZuKTsK
QEAgLTM0Nyw3ICs0MzUsMTUgQEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZp
Y2Uoc3RydWN0IGRvbWFpbgogICAgICAgICByZXR1cm4gLUVOT0RFVjsKICAg
ICB9CiAKLSAgICBhbWRfaW9tbXVfZGlzYWJsZV9kb21haW5fZGV2aWNlKHNv
dXJjZSwgaW9tbXUsIGRldmZuLCBwZGV2KTsKKyAgICByYyA9IGFtZF9pb21t
dV9zZXR1cF9kb21haW5fZGV2aWNlKHRhcmdldCwgaW9tbXUsIGRldmZuLCBw
ZGV2KTsKKyAgICBpZiAoIHJjICkKKyAgICAgICAgcmV0dXJuIHJjOworCisg
ICAgaWYgKCBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBwZGV2LT5kb21haW4g
IT0gdGFyZ2V0ICkKKyAgICB7CisgICAgICAgIGxpc3RfbW92ZSgmcGRldi0+
ZG9tYWluX2xpc3QsICZ0YXJnZXQtPnBkZXZfbGlzdCk7CisgICAgICAgIHBk
ZXYtPmRvbWFpbiA9IHRhcmdldDsKKyAgICB9CiAKICAgICAvKgogICAgICAq
IElmIHRoZSBkZXZpY2UgYmVsb25ncyB0byB0aGUgaGFyZHdhcmUgZG9tYWlu
LCBhbmQgaXQgaGFzIGEgdW5pdHkgbWFwcGluZywKQEAgLTM2MywyNyArNDU5
LDEwIEBAIHN0YXRpYyBpbnQgcmVhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21h
aW4KICAgICAgICAgICAgIHJldHVybiByYzsKICAgICB9CiAKLSAgICBpZiAo
IGRldmZuID09IHBkZXYtPmRldmZuICYmIHBkZXYtPmRvbWFpbiAhPSBkb21f
aW8gKQotICAgIHsKLSAgICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5f
bGlzdCwgJmRvbV9pby0+cGRldl9saXN0KTsKLSAgICAgICAgcGRldi0+ZG9t
YWluID0gZG9tX2lvOwotICAgIH0KLQotICAgIHJjID0gYWxsb2NhdGVfZG9t
YWluX3Jlc291cmNlcyh0KTsKLSAgICBpZiAoIHJjICkKLSAgICAgICAgcmV0
dXJuIHJjOwotCi0gICAgYW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZpY2Uo
dGFyZ2V0LCBpb21tdSwgZGV2Zm4sIHBkZXYpOwogICAgIEFNRF9JT01NVV9E
RUJVRygiUmUtYXNzaWduICUwNHg6JTAyeDolMDJ4LiV1IGZyb20gZG9tJWQg
dG8gZG9tJWRcbiIsCiAgICAgICAgICAgICAgICAgICAgIHBkZXYtPnNlZywg
cGRldi0+YnVzLCBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSwK
ICAgICAgICAgICAgICAgICAgICAgc291cmNlLT5kb21haW5faWQsIHRhcmdl
dC0+ZG9tYWluX2lkKTsKIAotICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2
Zm4gJiYgcGRldi0+ZG9tYWluICE9IHRhcmdldCApCi0gICAgewotICAgICAg
ICBsaXN0X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0LCAmdGFyZ2V0LT5wZGV2
X2xpc3QpOwotICAgICAgICBwZGV2LT5kb21haW4gPSB0YXJnZXQ7Ci0gICAg
fQotCiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTU0Nyw4ICs2MjYsNyBAQCBz
dGF0aWMgaW50IGFtZF9pb21tdV9hZGRfZGV2aWNlKHU4IGRldmZuCiAgICAg
ICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5sb2NrLCBmbGFn
cyk7CiAgICAgfQogCi0gICAgYW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZp
Y2UocGRldi0+ZG9tYWluLCBpb21tdSwgZGV2Zm4sIHBkZXYpOwotICAgIHJl
dHVybiAwOworICAgIHJldHVybiBhbWRfaW9tbXVfc2V0dXBfZG9tYWluX2Rl
dmljZShwZGV2LT5kb21haW4sIGlvbW11LCBkZXZmbiwgcGRldik7CiB9CiAK
IHN0YXRpYyBpbnQgYW1kX2lvbW11X3JlbW92ZV9kZXZpY2UodTggZGV2Zm4s
IHN0cnVjdCBwY2lfZGV2ICpwZGV2KQo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBwcmVwYXJlIGZvciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFn
ZSB0YWJsZXMgKHBhcnQgSSkKCkFycmFuZ2UgZm9yIGRvbWFpbiBJRCBhbmQg
cGFnZSB0YWJsZSByb290IHRvIGJlIHBhc3NlZCBhcm91bmQsIHRoZSBsYXR0
ZXIgaW4KcGFydGljdWxhciB0byBkb21haW5fcGdkX21hZGRyKCkgc3VjaCB0
aGF0IHRha2luZyBpdCBmcm9tIHRoZSBwZXItZG9tYWluCmZpZWxkcyBjYW4g
YmUgb3ZlcnJpZGRlbi4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVk
LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5A
aW50ZWwuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2V4dGVybi5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9l
eHRlcm4uaApAQCAtODYsOSArODYsMTAgQEAgdm9pZCAqbWFwX3Z0ZF9kb21h
aW5fcGFnZSh1NjQgbWFkZHIpOwogdm9pZCB1bm1hcF92dGRfZG9tYWluX3Bh
Z2Uodm9pZCAqdmEpOwogaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25l
KHN0cnVjdCBkb21haW4gKmRvbWFpbiwgc3RydWN0IHZ0ZF9pb21tdSAqaW9t
bXUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBi
dXMsIHVpbnQ4X3QgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGlu
dCBtb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwgZG9taWRfdCBkb21pZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHBnZF9tYWRkciwg
dW5zaWduZWQgaW50IG1vZGUpOwogaW50IGRvbWFpbl9jb250ZXh0X3VubWFw
X29uZShzdHJ1Y3QgZG9tYWluICpkb21haW4sIHN0cnVjdCB2dGRfaW9tbXUg
KmlvbW11LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBidXMs
IHU4IGRldmZuKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCBidXMsIHVpbnQ4X3QgZGV2Zm4sIGRvbWlkX3QgZG9taWQpOwogaW50
IGludGVsX2lvbW11X2dldF9yZXNlcnZlZF9kZXZpY2VfbWVtb3J5KGlvbW11
X2dyZG1fdCAqZnVuYywgdm9pZCAqY3R4dCk7CiAKIHVuc2lnbmVkIGludCBp
b19hcGljX3JlYWRfcmVtYXBfcnRlKHVuc2lnbmVkIGludCBhcGljLCB1bnNp
Z25lZCBpbnQgcmVnKTsKQEAgLTEwNyw3ICsxMDgsOCBAQCB2b2lkIHBsYXRm
b3JtX3F1aXJrc19pbml0KHZvaWQpOwogdm9pZCB2dGRfb3BzX3ByZWFtYmxl
X3F1aXJrKHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KTsKIHZvaWQgdnRkX29w
c19wb3N0YW1ibGVfcXVpcmsoc3RydWN0IHZ0ZF9pb21tdSAqaW9tbXUpOwog
aW50IF9fbXVzdF9jaGVjayBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21haW4g
KmRvbWFpbiwgdWludDhfdCBidXMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDhfdCBkZXZmbiwgdW5zaWduZWQgaW50IG1vZGUpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZGV2Zm4s
IGRvbWlkX3QgZG9taWQsIHBhZGRyX3QgcGdkX21hZGRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtb2RlKTsKIHZv
aWQgcGNpX3Z0ZF9xdWlyayhjb25zdCBzdHJ1Y3QgcGNpX2RldiAqKTsKIHZv
aWQgcXVpcmtfaW9tbXVfY2FwcyhzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSk7
CiAKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMK
KysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAg
LTEzNjQsMTIgKzEzNjQsMTIgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBp
bmdfb25lKAogICAgIHN0cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICBzdHJ1
Y3QgdnRkX2lvbW11ICppb21tdSwKICAgICB1aW50OF90IGJ1cywgdWludDhf
dCBkZXZmbiwgY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsCi0gICAgdW5z
aWduZWQgaW50IG1vZGUpCisgICAgZG9taWRfdCBkb21pZCwgcGFkZHJfdCBw
Z2RfbWFkZHIsIHVuc2lnbmVkIGludCBtb2RlKQogewogICAgIHN0cnVjdCBk
b21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbWFpbik7CiAgICAgc3Ry
dWN0IGNvbnRleHRfZW50cnkgKmNvbnRleHQsICpjb250ZXh0X2VudHJpZXMs
IGxjdHh0OwogICAgIF9fdWludDEyOF90IG9sZDsKLSAgICB1NjQgbWFkZHIs
IHBnZF9tYWRkcjsKKyAgICB1aW50NjRfdCBtYWRkcjsKICAgICB1aW50MTZf
dCBzZWcgPSBpb21tdS0+ZHJoZC0+c2VnbWVudCwgcHJldl9kaWQgPSAwOwog
ICAgIHN0cnVjdCBkb21haW4gKnByZXZfZG9tID0gTlVMTDsKICAgICBpbnQg
YWdhdywgcmMsIHJldDsKQEAgLTE0MTAsMTAgKzE0MTAsMTIgQEAgaW50IGRv
bWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIH0KICAgICBlbHNlCiAg
ICAgeworICAgICAgICBwYWRkcl90IHJvb3QgPSBwZ2RfbWFkZHI7CisKICAg
ICAgICAgc3Bpbl9sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogCiAg
ICAgICAgIC8qIEVuc3VyZSB3ZSBoYXZlIHBhZ2V0YWJsZXMgYWxsb2NhdGVk
IGRvd24gdG8gbGVhZiBQVEUuICovCi0gICAgICAgIGlmICggaGQtPmFyY2gu
cGdkX21hZGRyID09IDAgKQorICAgICAgICBpZiAoICFyb290ICkKICAgICAg
ICAgewogICAgICAgICAgICAgYWRkcl90b19kbWFfcGFnZV9tYWRkcihkb21h
aW4sIDAsIDEpOwogICAgICAgICAgICAgaWYgKCBoZC0+YXJjaC5wZ2RfbWFk
ZHIgPT0gMCApCkBAIC0xNDI2LDIyICsxNDI4LDI0IEBAIGludCBkb21haW5f
Y29udGV4dF9tYXBwaW5nX29uZSgKICAgICAgICAgICAgICAgICAgICAgcmN1
X3VubG9ja19kb21haW4ocHJldl9kb20pOwogICAgICAgICAgICAgICAgIHJl
dHVybiAtRU5PTUVNOwogICAgICAgICAgICAgfQorCisgICAgICAgICAgICBy
b290ID0gaGQtPmFyY2gucGdkX21hZGRyOwogICAgICAgICB9CiAKICAgICAg
ICAgLyogU2tpcCB0b3AgbGV2ZWxzIG9mIHBhZ2UgdGFibGVzIGZvciAyLSBh
bmQgMy1sZXZlbCBEUkhEcy4gKi8KLSAgICAgICAgcGdkX21hZGRyID0gaGQt
PmFyY2gucGdkX21hZGRyOwogICAgICAgICBmb3IgKCBhZ2F3ID0gbGV2ZWxf
dG9fYWdhdyg0KTsKICAgICAgICAgICAgICAgYWdhdyAhPSBsZXZlbF90b19h
Z2F3KGlvbW11LT5ucl9wdF9sZXZlbHMpOwogICAgICAgICAgICAgICBhZ2F3
LS0gKQogICAgICAgICB7Ci0gICAgICAgICAgICBzdHJ1Y3QgZG1hX3B0ZSAq
cCA9IG1hcF92dGRfZG9tYWluX3BhZ2UocGdkX21hZGRyKTsKLSAgICAgICAg
ICAgIHBnZF9tYWRkciA9IGRtYV9wdGVfYWRkcigqcCk7CisgICAgICAgICAg
ICBzdHJ1Y3QgZG1hX3B0ZSAqcCA9IG1hcF92dGRfZG9tYWluX3BhZ2Uocm9v
dCk7CisKKyAgICAgICAgICAgIHJvb3QgPSBkbWFfcHRlX2FkZHIoKnApOwog
ICAgICAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKHApOwotICAgICAg
ICAgICAgaWYgKCBwZ2RfbWFkZHIgPT0gMCApCisgICAgICAgICAgICBpZiAo
ICFyb290ICkKICAgICAgICAgICAgICAgICBnb3RvIG5vbWVtOwogICAgICAg
ICB9CiAKLSAgICAgICAgY29udGV4dF9zZXRfYWRkcmVzc19yb290KGxjdHh0
LCBwZ2RfbWFkZHIpOworICAgICAgICBjb250ZXh0X3NldF9hZGRyZXNzX3Jv
b3QobGN0eHQsIHJvb3QpOwogICAgICAgICBpZiAoIGF0c19lbmFibGVkICYm
IGVjYXBfZGV2X2lvdGxiKGlvbW11LT5lY2FwKSApCiAgICAgICAgICAgICBj
b250ZXh0X3NldF90cmFuc2xhdGlvbl90eXBlKGxjdHh0LCBDT05URVhUX1RU
X0RFVl9JT1RMQik7CiAgICAgICAgIGVsc2UKQEAgLTE1NTcsMTUgKzE1NjEs
MjEgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIHVu
bWFwX3Z0ZF9kb21haW5fcGFnZShjb250ZXh0X2VudHJpZXMpOwogCiAgICAg
aWYgKCAhc2VnICYmICFyYyApCi0gICAgICAgIHJjID0gbWVfd2lmaV9xdWly
ayhkb21haW4sIGJ1cywgZGV2Zm4sIG1vZGUpOworICAgICAgICByYyA9IG1l
X3dpZmlfcXVpcmsoZG9tYWluLCBidXMsIGRldmZuLCBkb21pZCwgcGdkX21h
ZGRyLCBtb2RlKTsKIAogICAgIGlmICggcmMgKQogICAgIHsKICAgICAgICAg
aWYgKCAhcHJldl9kb20gKQotICAgICAgICAgICAgZG9tYWluX2NvbnRleHRf
dW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4pOworICAgICAg
ICAgICAgZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUs
IGJ1cywgZGV2Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZG9tYWluLT5kb21haW5faWQpOwogICAgICAgICBlbHNlIGlmICgg
cHJldl9kb20gIT0gZG9tYWluICkgLyogQXZvaWQgaW5maW5pdGUgcmVjdXJz
aW9uLiAqLworICAgICAgICB7CisgICAgICAgICAgICBoZCA9IGRvbV9pb21t
dShwcmV2X2RvbSk7CiAgICAgICAgICAgICBkb21haW5fY29udGV4dF9tYXBw
aW5nX29uZShwcmV2X2RvbSwgaW9tbXUsIGJ1cywgZGV2Zm4sIHBkZXYsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4t
PmRvbWFpbl9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhkLT5hcmNoLnBnZF9tYWRkciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1vZGUgJiBNQVBfV0lUSF9STVJSKTsK
KyAgICAgICAgfQogICAgIH0KIAogICAgIGlmICggcHJldl9kb20gKQpAQCAt
MTU4Miw2ICsxNTkyLDcgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9t
YXBwaW5nKHN0cnVjdAogewogICAgIHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAq
ZHJoZDsKICAgICBjb25zdCBzdHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnI7
CisgICAgcGFkZHJfdCBwZ2RfbWFkZHIgPSBkb21faW9tbXUoZG9tYWluKS0+
YXJjaC5wZ2RfbWFkZHI7CiAgICAgaW50IHJldCA9IDA7CiAgICAgdW5zaWdu
ZWQgaW50IGksIG1vZGUgPSAwOwogICAgIHVpbnQxNl90IHNlZyA9IHBkZXYt
PnNlZywgYmRmOwpAQCAtMTY0Nyw3ICsxNjU4LDggQEAgc3RhdGljIGludCBk
b21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICAgICAgICAg
ICAgIGRvbWFpbi0+ZG9tYWluX2lkLCBzZWcsIGJ1cywKICAgICAgICAgICAg
ICAgICAgICBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSk7CiAg
ICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFp
biwgZHJoZC0+aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYsIG1vZGUpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZGV2LCBkb21h
aW4tPmRvbWFpbl9pZCwgcGdkX21hZGRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtb2RlKTsKICAgICAgICAgaWYgKCBy
ZXQgPiAwICkKICAgICAgICAgICAgIHJldCA9IDA7CiAgICAgICAgIGlmICgg
IXJldCAmJiBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBhdHNfZGV2aWNlKHBk
ZXYsIGRyaGQpID4gMCApCkBAIC0xNjYyLDcgKzE2NzQsOCBAQCBzdGF0aWMg
aW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgICAg
ICAgICAgICAgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbikpOwog
CiAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRv
bWFpbiwgZHJoZC0+aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYsIG1vZGUpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZGV2LCBk
b21haW4tPmRvbWFpbl9pZCwgcGdkX21hZGRyLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlKTsKICAgICAgICAgaWYg
KCByZXQgPCAwICkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBwcmV2
X3ByZXNlbnQgPSByZXQ7CkBAIC0xNjkwLDcgKzE3MDMsOCBAQCBzdGF0aWMg
aW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgICAq
LwogICAgICAgICBpZiAoIHJldCA+PSAwICkKICAgICAgICAgICAgIHJldCA9
IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+aW9t
bXUsIGJ1cywgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBOVUxMLCBtb2RlKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGRvbWFpbi0+
ZG9tYWluX2lkLCBwZ2RfbWFkZHIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtb2RlKTsKIAogICAgICAgICAvKgog
ICAgICAgICAgKiBEZXZpY2VzIGJlaGluZCBQQ0llLXRvLVBDSS9QQ0l4IGJy
aWRnZSBtYXkgZ2VuZXJhdGUgZGlmZmVyZW50CkBAIC0xNzA1LDcgKzE3MTks
OCBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0
CiAgICAgICAgIGlmICggIXJldCAmJiBwZGV2X3R5cGUoc2VnLCBidXMsIGRl
dmZuKSA9PSBERVZfVFlQRV9QQ0llMlBDSV9CUklER0UgJiYKICAgICAgICAg
ICAgICAoc2VjYnVzICE9IHBkZXYtPmJ1cyB8fCBwZGV2LT5kZXZmbiAhPSAw
KSApCiAgICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5n
X29uZShkb21haW4sIGRyaGQtPmlvbW11LCBzZWNidXMsIDAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBt
b2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwsIGRvbWFpbi0+ZG9tYWluX2lkLCBwZ2RfbWFkZHIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
b2RlKTsKIAogICAgICAgICBpZiAoIHJldCApCiAgICAgICAgIHsKQEAgLTE3
MzQsNyArMTc0OSw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFw
cGluZyhzdHJ1Y3QKIGludCBkb21haW5fY29udGV4dF91bm1hcF9vbmUoCiAg
ICAgc3RydWN0IGRvbWFpbiAqZG9tYWluLAogICAgIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11LAotICAgIHU4IGJ1cywgdTggZGV2Zm4pCisgICAgdWludDhf
dCBidXMsIHVpbnQ4X3QgZGV2Zm4sIGRvbWlkX3QgZG9taWQpCiB7CiAgICAg
c3RydWN0IGNvbnRleHRfZW50cnkgKmNvbnRleHQsICpjb250ZXh0X2VudHJp
ZXM7CiAgICAgdTY0IG1hZGRyOwpAQCAtMTc5Miw3ICsxODA3LDcgQEAgaW50
IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZSgKICAgICB1bm1hcF92dGRfZG9t
YWluX3BhZ2UoY29udGV4dF9lbnRyaWVzKTsKIAogICAgIGlmICggIWlvbW11
LT5kcmhkLT5zZWdtZW50ICYmICFyYyApCi0gICAgICAgIHJjID0gbWVfd2lm
aV9xdWlyayhkb21haW4sIGJ1cywgZGV2Zm4sIFVOTUFQX01FX1BIQU5UT01f
RlVOQyk7CisgICAgICAgIHJjID0gbWVfd2lmaV9xdWlyayhkb21haW4sIGJ1
cywgZGV2Zm4sIGRvbWlkLCAwLCBVTk1BUF9NRV9QSEFOVE9NX0ZVTkMpOwog
CiAgICAgaWYgKCByYyAmJiAhaXNfaGFyZHdhcmVfZG9tYWluKGRvbWFpbikg
JiYgZG9tYWluICE9IGRvbV9pbyApCiAgICAgewpAQCAtMTg0NCw3ICsxODU5
LDggQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF91bm1hcChzdHJ1Y3Qg
ZAogICAgICAgICAgICAgcHJpbnRrKFZURFBSRUZJWCAiZCVkOlBDSWU6IHVu
bWFwICUwNHg6JTAyeDolMDJ4LiV1XG4iLAogICAgICAgICAgICAgICAgICAg
IGRvbWFpbi0+ZG9tYWluX2lkLCBzZWcsIGJ1cywKICAgICAgICAgICAgICAg
ICAgICBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSk7Ci0gICAg
ICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlv
bW11LCBidXMsIGRldmZuKTsKKyAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRl
eHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRv
bWFpbl9pZCk7CiAgICAgICAgIGlmICggIXJldCAmJiBkZXZmbiA9PSBwZGV2
LT5kZXZmbiAmJiBhdHNfZGV2aWNlKHBkZXYsIGRyaGQpID4gMCApCiAgICAg
ICAgICAgICBkaXNhYmxlX2F0c19kZXZpY2UocGRldik7CiAKQEAgLTE4NTQs
NyArMTg3MCw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXAo
c3RydWN0IGQKICAgICAgICAgaWYgKCBpb21tdV9kZWJ1ZyApCiAgICAgICAg
ICAgICBwcmludGsoVlREUFJFRklYICJkJWQ6UENJOiB1bm1hcCAlMDR4OiUw
Mng6JTAyeC4ldVxuIiwKICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRv
bWFpbl9pZCwgc2VnLCBidXMsIFBDSV9TTE9UKGRldmZuKSwgUENJX0ZVTkMo
ZGV2Zm4pKTsKLSAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBf
b25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4pOworICAgICAgICByZXQg
PSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgYnVz
LCBkZXZmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKICAgICAgICAgaWYgKCByZXQgKQog
ICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTE4ODAsMTIgKzE4OTcsMTUgQEAg
c3RhdGljIGludCBkb21haW5fY29udGV4dF91bm1hcChzdHJ1Y3QgZAogICAg
ICAgICAvKiBQQ0llIHRvIFBDSS9QQ0l4IGJyaWRnZSAqLwogICAgICAgICBp
ZiAoIHBkZXZfdHlwZShzZWcsIHRtcF9idXMsIHRtcF9kZXZmbikgPT0gREVW
X1RZUEVfUENJZTJQQ0lfQlJJREdFICkKICAgICAgICAgewotICAgICAgICAg
ICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9t
bXUsIHRtcF9idXMsIHRtcF9kZXZmbik7CisgICAgICAgICAgICByZXQgPSBk
b21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgdG1wX2J1
cywgdG1wX2RldmZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKICAgICAgICAgICAg
IGlmICggIXJldCApCi0gICAgICAgICAgICAgICAgcmV0ID0gZG9tYWluX2Nv
bnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIHNlY2J1cywgMCk7Cisg
ICAgICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25l
KGRvbWFpbiwgaW9tbXUsIHNlY2J1cywgMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5f
aWQpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgLyogTGVnYWN5IFBDSSBi
cmlkZ2UgKi8KLSAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3Vu
bWFwX29uZShkb21haW4sIGlvbW11LCB0bXBfYnVzLCB0bXBfZGV2Zm4pOwor
ICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRv
bWFpbiwgaW9tbXUsIHRtcF9idXMsIHRtcF9kZXZmbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFp
bl9pZCk7CiAKICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvdnRkL3F1aXJrcy5jCisrKyBiL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL3Z0ZC9xdWlya3MuYwpAQCAtMzQ0LDYgKzM0NCw4IEBAIHZv
aWQgX19pbml0IHBsYXRmb3JtX3F1aXJrc19pbml0KHZvaWQpCiAKIHN0YXRp
YyBpbnQgX19tdXN0X2NoZWNrIG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKHN0
cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBkZXYsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkb21pZF90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBwZ2RfbWFkZHIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbnQgbW9kZSkKIHsKICAgICBzdHJ1Y3QgYWNwaV9kcmhkX3Vu
aXQgKmRyaGQ7CkBAIC0zNTcsMTYgKzM1OSwxNyBAQCBzdGF0aWMgaW50IF9f
bXVzdF9jaGVjayBtYXBfbWVfcGhhbnRvbV9mCiAgICAgLyogbWFwIG9yIHVu
bWFwIE1FIHBoYW50b20gZnVuY3Rpb24gKi8KICAgICBpZiAoICEobW9kZSAm
IFVOTUFQX01FX1BIQU5UT01fRlVOQykgKQogICAgICAgICByYyA9IGRvbWFp
bl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJ
X0RFVkZOKGRldiwgNyksIE5VTEwsIG1vZGUpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9ERVZGTihkZXYsIDcpLCBO
VUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRvbWlkLCBwZ2RfbWFkZHIsIG1vZGUpOwogICAgIGVsc2UKICAgICAgICAg
cmMgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBkcmhkLT5p
b21tdSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUENJX0RFVkZOKGRldiwgNykpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBQQ0lfREVWRk4oZGV2LCA3KSwgZG9taWQpOwog
CiAgICAgcmV0dXJuIHJjOwogfQogCiBpbnQgbWVfd2lmaV9xdWlyayhzdHJ1
Y3QgZG9tYWluICpkb21haW4sIHVpbnQ4X3QgYnVzLCB1aW50OF90IGRldmZu
LAotICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1vZGUpCisgICAg
ICAgICAgICAgICAgICBkb21pZF90IGRvbWlkLCBwYWRkcl90IHBnZF9tYWRk
ciwgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAgICAgdTMyIGlkOwogICAgIGlu
dCByYyA9IDA7CkBAIC0zOTAsNyArMzkzLDcgQEAgaW50IG1lX3dpZmlfcXVp
cmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLAogICAgICAgICAgICAgY2FzZSAw
eDQyM2I4MDg2OgogICAgICAgICAgICAgY2FzZSAweDQyM2M4MDg2OgogICAg
ICAgICAgICAgY2FzZSAweDQyM2Q4MDg2OgotICAgICAgICAgICAgICAgIHJj
ID0gbWFwX21lX3BoYW50b21fZnVuY3Rpb24oZG9tYWluLCAzLCBtb2RlKTsK
KyAgICAgICAgICAgICAgICByYyA9IG1hcF9tZV9waGFudG9tX2Z1bmN0aW9u
KGRvbWFpbiwgMywgZG9taWQsIHBnZF9tYWRkciwgbW9kZSk7CiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAg
ICAgICAgICAgIGJyZWFrOwpAQCAtNDE2LDcgKzQxOSw3IEBAIGludCBtZV93
aWZpX3F1aXJrKHN0cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICAgICAgICAg
IGNhc2UgMHg0MjM4ODA4NjogICAgICAgIC8qIFB1bWEgUGVhayAqLwogICAg
ICAgICAgICAgY2FzZSAweDQyMmI4MDg2OgogICAgICAgICAgICAgY2FzZSAw
eDQyMmM4MDg2OgotICAgICAgICAgICAgICAgIHJjID0gbWFwX21lX3BoYW50
b21fZnVuY3Rpb24oZG9tYWluLCAyMiwgbW9kZSk7CisgICAgICAgICAgICAg
ICAgcmMgPSBtYXBfbWVfcGhhbnRvbV9mdW5jdGlvbihkb21haW4sIDIyLCBk
b21pZCwgcGdkX21hZGRyLCBtb2RlKTsKICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgYnJl
YWs7Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBwcmVwYXJlIGZvciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFn
ZSB0YWJsZXMgKHBhcnQgSUkpCgpSZXBsYWNlIHRoZSBwYXNzaW5nIG9mIHN0
cnVjdCBkb21haW4gKiBieSBkb21pZF90IGluIHByZXBhcmF0aW9uIG9mCnBl
ci1kZXZpY2UgcXVhcmFudGluZSBwYWdlIHRhYmxlcyBhbHNvIHJlcXVpcmlu
ZyBwZXItZGV2aWNlIHBzZXVkbwpkb21haW4gSURzLCB3aGljaCBhcmVuJ3Qg
Z29pbmcgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGFueSBzdHJ1Y3QgZG9tYWlu
Cmluc3RhbmNlcy4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkIChl
eGNlcHQgZm9yIHNsaWdodGx5IGFkanVzdGVkIGxvZyBtZXNzYWdlCnRleHQp
LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+
ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNv
bT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKQEAgLTUyLDggKzUyLDggQEAgc3RhdGljIHN0cnVjdCB0YXNrbGV0
IHZ0ZF9mYXVsdF90YXNrbGV0Owogc3RhdGljIGludCBzZXR1cF9od2RvbV9k
ZXZpY2UodTggZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICopOwogc3RhdGljIHZv
aWQgc2V0dXBfaHdkb21fcm1ycihzdHJ1Y3QgZG9tYWluICpkKTsKIAotc3Rh
dGljIGludCBkb21haW5faW9tbXVfZG9taWQoc3RydWN0IGRvbWFpbiAqZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11KQorc3RhdGljIGludCBnZXRfaW9tbXVfZGlkKGRvbWlkX3Qg
ZG9taWQsIGNvbnN0IHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11LAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgd2FybikKIHsKICAgICB1bnNpZ25l
ZCBsb25nIG5yX2RvbSwgaTsKIApAQCAtNjEsMTYgKzYxLDE2IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2lvbW11X2RvbWlkKHN0cnVjdCBkb20KICAgICBpID0g
ZmluZF9maXJzdF9iaXQoaW9tbXUtPmRvbWlkX2JpdG1hcCwgbnJfZG9tKTsK
ICAgICB3aGlsZSAoIGkgPCBucl9kb20gKQogICAgIHsKLSAgICAgICAgaWYg
KCBpb21tdS0+ZG9taWRfbWFwW2ldID09IGQtPmRvbWFpbl9pZCApCisgICAg
ICAgIGlmICggaW9tbXUtPmRvbWlkX21hcFtpXSA9PSBkb21pZCApCiAgICAg
ICAgICAgICByZXR1cm4gaTsKIAogICAgICAgICBpID0gZmluZF9uZXh0X2Jp
dChpb21tdS0+ZG9taWRfYml0bWFwLCBucl9kb20sIGkrMSk7CiAgICAgfQog
Ci0gICAgaWYgKCAhZC0+aXNfZHlpbmcgKQorICAgIGlmICggd2FybiApCiAg
ICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsCi0gICAgICAg
ICAgICAgICAgIkNhbm5vdCBnZXQgdmFsaWQgaW9tbXUgJXUgZG9taWQ6ICVw
ZFxuIiwKLSAgICAgICAgICAgICAgICBpb21tdS0+aW5kZXgsIGQpOworICAg
ICAgICAgICAgICAgICJObyB2YWxpZCBpb21tdSAldSBkb21pZCBmb3IgRG9t
JWRcbiIsCisgICAgICAgICAgICAgICAgaW9tbXUtPmluZGV4LCBkb21pZCk7
CiAKICAgICByZXR1cm4gLTE7CiB9CkBAIC03OCw4ICs3OCw3IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2lvbW11X2RvbWlkKHN0cnVjdCBkb20KICNkZWZpbmUg
RElEX0ZJRUxEX1dJRFRIIDE2CiAjZGVmaW5lIERJRF9ISUdIX09GRlNFVCA4
CiBzdGF0aWMgaW50IGNvbnRleHRfc2V0X2RvbWFpbl9pZChzdHJ1Y3QgY29u
dGV4dF9lbnRyeSAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQs
IHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KQogewogICAgIHVuc2lnbmVkIGxv
bmcgbnJfZG9tLCBpOwogICAgIGludCBmb3VuZCA9IDA7CkBAIC05MCw3ICs4
OSw3IEBAIHN0YXRpYyBpbnQgY29udGV4dF9zZXRfZG9tYWluX2lkKHN0cnVj
dAogICAgIGkgPSBmaW5kX2ZpcnN0X2JpdChpb21tdS0+ZG9taWRfYml0bWFw
LCBucl9kb20pOwogICAgIHdoaWxlICggaSA8IG5yX2RvbSApCiAgICAgewot
ICAgICAgICBpZiAoIGlvbW11LT5kb21pZF9tYXBbaV0gPT0gZC0+ZG9tYWlu
X2lkICkKKyAgICAgICAgaWYgKCBpb21tdS0+ZG9taWRfbWFwW2ldID09IGRv
bWlkICkKICAgICAgICAgewogICAgICAgICAgICAgZm91bmQgPSAxOwogICAg
ICAgICAgICAgYnJlYWs7CkBAIC0xMDYsNyArMTA1LDcgQEAgc3RhdGljIGlu
dCBjb250ZXh0X3NldF9kb21haW5faWQoc3RydWN0CiAgICAgICAgICAgICBk
cHJpbnRrKFhFTkxPR19FUlIgVlREUFJFRklYLCAiSU9NTVU6IG5vIGZyZWUg
ZG9tYWluIGlkc1xuIik7CiAgICAgICAgICAgICByZXR1cm4gLUVGQVVMVDsK
ICAgICAgICAgfQotICAgICAgICBpb21tdS0+ZG9taWRfbWFwW2ldID0gZC0+
ZG9tYWluX2lkOworICAgICAgICBpb21tdS0+ZG9taWRfbWFwW2ldID0gZG9t
aWQ7CiAgICAgfQogCiAgICAgc2V0X2JpdChpLCBpb21tdS0+ZG9taWRfYml0
bWFwKTsKQEAgLTExNSw5ICsxMTQsOSBAQCBzdGF0aWMgaW50IGNvbnRleHRf
c2V0X2RvbWFpbl9pZChzdHJ1Y3QKICAgICByZXR1cm4gMDsKIH0KIAotc3Rh
dGljIHZvaWQgY2xlYW51cF9kb21pZF9tYXAoc3RydWN0IGRvbWFpbiAqZG9t
YWluLCBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkKK3N0YXRpYyB2b2lkIGNs
ZWFudXBfZG9taWRfbWFwKGRvbWlkX3QgZG9taWQsIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11KQogewotICAgIGludCBpb21tdV9kb21pZCA9IGRvbWFpbl9p
b21tdV9kb21pZChkb21haW4sIGlvbW11KTsKKyAgICBpbnQgaW9tbXVfZG9t
aWQgPSBnZXRfaW9tbXVfZGlkKGRvbWlkLCBpb21tdSwgZmFsc2UpOwogCiAg
ICAgaWYgKCBpb21tdV9kb21pZCA+PSAwICkKICAgICB7CkBAIC0xNzMsNyAr
MTcyLDcgQEAgc3RhdGljIHZvaWQgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAo
c3RydQogICAgIGlmICggIWZvdW5kICkKICAgICB7CiAgICAgICAgIGNsZWFy
X2JpdChpb21tdS0+aW5kZXgsICZkb21faW9tbXUoZCktPmFyY2guaW9tbXVf
Yml0bWFwKTsKLSAgICAgICAgY2xlYW51cF9kb21pZF9tYXAoZCwgaW9tbXUp
OworICAgICAgICBjbGVhbnVwX2RvbWlkX21hcChkLT5kb21haW5faWQsIGlv
bW11KTsKICAgICB9CiB9CiAKQEAgLTYzMCw3ICs2MjksNyBAQCBzdGF0aWMg
aW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9pb3RsCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAogICAgICAgICBmbHVzaF9kZXZfaW90bGIgPSAhIWZp
bmRfYXRzX2Rldl9kcmhkKGlvbW11KTsKLSAgICAgICAgaW9tbXVfZG9taWQ9
IGRvbWFpbl9pb21tdV9kb21pZChkLCBpb21tdSk7CisgICAgICAgIGlvbW11
X2RvbWlkID0gZ2V0X2lvbW11X2RpZChkLT5kb21haW5faWQsIGlvbW11LCAh
ZC0+aXNfZHlpbmcpOwogICAgICAgICBpZiAoIGlvbW11X2RvbWlkID09IC0x
ICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCkBAIC0xNDU0LDcgKzE0NTMs
NyBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgICAg
IHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogICAgIH0K
IAotICAgIHJjID0gY29udGV4dF9zZXRfZG9tYWluX2lkKCZsY3R4dCwgZG9t
YWluLCBpb21tdSk7CisgICAgcmMgPSBjb250ZXh0X3NldF9kb21haW5faWQo
JmxjdHh0LCBkb21pZCwgaW9tbXUpOwogICAgIGlmICggcmMgKQogICAgIHsK
ICAgICB1bmxvY2s6CkBAIC0xNzc0LDcgKzE3NzMsNyBAQCBpbnQgZG9tYWlu
X2NvbnRleHRfdW5tYXBfb25lKAogICAgIGNvbnRleHRfY2xlYXJfZW50cnko
KmNvbnRleHQpOwogICAgIGlvbW11X3N5bmNfY2FjaGUoY29udGV4dCwgc2l6
ZW9mKHN0cnVjdCBjb250ZXh0X2VudHJ5KSk7CiAKLSAgICBpb21tdV9kb21p
ZD0gZG9tYWluX2lvbW11X2RvbWlkKGRvbWFpbiwgaW9tbXUpOworICAgIGlv
bW11X2RvbWlkID0gZ2V0X2lvbW11X2RpZChkb21pZCwgaW9tbXUsICFkb21h
aW4tPmlzX2R5aW5nKTsKICAgICBpZiAoIGlvbW11X2RvbWlkID09IC0xICkK
ICAgICB7CiAgICAgICAgIHNwaW5fdW5sb2NrKCZpb21tdS0+bG9jayk7CkBA
IC0xOTQ4LDcgKzE5NDcsNyBAQCBzdGF0aWMgdm9pZCBpb21tdV9kb21haW5f
dGVhcmRvd24oc3RydWN0CiAgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1h
cHBpbmdfbG9jayk7CiAKICAgICBmb3JfZWFjaF9kcmhkX3VuaXQgKCBkcmhk
ICkKLSAgICAgICAgY2xlYW51cF9kb21pZF9tYXAoZCwgZHJoZC0+aW9tbXUp
OworICAgICAgICBjbGVhbnVwX2RvbWlkX21hcChkLT5kb21haW5faWQsIGRy
aGQtPmlvbW11KTsKIH0KIAogc3RhdGljIGludCBfX211c3RfY2hlY2sgaW50
ZWxfaW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgZGZuX3QgZGZu
LAo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IG1haW50YWluIGEgcGVyLWRldmljZSBwc2V1ZG8gZG9t
YWluIElECgpJbiBvcmRlciB0byBzdWJzZXF1ZW50bHkgZW5hYmxlIHBlci1k
ZXZpY2UgcXVhcmFudGluZSBwYWdlIHRhYmxlcywgd2UnbGwKbmVlZCBkb21h
aW4tSUQtbGlrZSBpZGVudGlmaWVycyB0byBiZSBpbnNlcnRlZCBpbiB0aGUg
cmVzcGVjdGl2ZSBkZXZpY2UKKEFNRCkgb3IgY29udGV4dCAoSW50ZWwpIHRh
YmxlIGVudHJpZXMgYWxvbmdzaWRlIHRoZSBwZXItZGV2aWNlIHBhZ2UKdGFi
bGUgcm9vdCBhZGRyZXNzZXMuCgpNYWtlIHVzZSBvZiAicmVhbCIgZG9tYWlu
IElEcyBvY2N1cHlpbmcgb25seSBoYWxmIG9mIHRoZSB2YWx1ZSByYW5nZQpj
b3ZlcmFibGUgYnkgZG9taWRfdC4KCk5vdGUgdGhhdCBpbiBWVC1kJ3MgaW9t
bXVfYWxsb2MoKSBJIGRpZG4ndCB3YW50IHRvIGludHJvZHVjZSBuZXcgbWVt
b3J5CmxlYWtzIGluIGNhc2Ugb2YgZXJyb3IsIGJ1dCBleGlzdGluZyBvbmVz
IGRvbid0IGdldCBwbHVnZ2VkIC0gdGhhdCdsbCBiZQp0aGUgc3ViamVjdCBv
ZiBhIGxhdGVyIGNoYW5nZS4KClRoZSBWVC1kIGNoYW5nZXMgYXJlIHNsaWdo
dGx5IGFzeW1tZXRyaWMsIGJ1dCB0aGlzIHdheSB3ZSBjYW4gYXZvaWQKYXNz
aWduaW5nIHBzZXVkbyBkb21haW4gSURzIHRvIGRldmljZXMgd2hpY2ggd291
bGQgbmV2ZXIgYmUgbWFwcGVkIHdoaWxlCnN0aWxsIGF2b2lkaW5nIHRvIGFk
ZCBhIG5ldyBwYXJhbWV0ZXIgdG8gZG9tYWluX2NvbnRleHRfdW5tYXAoKS4K
ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpS
ZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKQEAgLTEzMCw2ICsx
MzAsMTAgQEAgaW50IHBpX3VwZGF0ZV9pcnRlKGNvbnN0IHN0cnVjdCBwaV9k
ZXNjCiAgICAgICAgIGlvbW11X3ZjYWxsKG9wcywgc3luY19jYWNoZSwgYWRk
ciwgc2l6ZSk7ICAgICAgIFwKIH0pCiAKK3Vuc2lnbmVkIGxvbmcgKmlvbW11
X2luaXRfZG9taWQodm9pZCk7Citkb21pZF90IGlvbW11X2FsbG9jX2RvbWlk
KHVuc2lnbmVkIGxvbmcgKm1hcCk7Cit2b2lkIGlvbW11X2ZyZWVfZG9taWQo
ZG9taWRfdCBkb21pZCwgdW5zaWduZWQgbG9uZyAqbWFwKTsKKwogI2VuZGlm
IC8qICFfX0FSQ0hfWDg2X0lPTU1VX0hfXyAqLwogLyoKICAqIExvY2FsIHZh
cmlhYmxlczoKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wY2kuaAorKysg
Yi94ZW4vaW5jbHVkZS9hc20teDg2L3BjaS5oCkBAIC0xNSw2ICsxNSwxMiBA
QAogCiBzdHJ1Y3QgYXJjaF9wY2lfZGV2IHsKICAgICB2bWFza190IHVzZWRf
dmVjdG9yczsKKyAgICAvKgorICAgICAqIFRoZXNlIGZpZWxkcyBhcmUgKGRl
KWluaXRpYWxpemVkIHVuZGVyIHBjaWRldnMtbG9jay4gT3RoZXIgdXNlcyBv
ZgorICAgICAqIHRoZW0gZG9uJ3QgcmFjZSAoZGUpaW5pdGlhbGl6YXRpb24g
YW5kIGhlbmNlIGRvbid0IHN0cmljdGx5IG5lZWQgYW55CisgICAgICogbG9j
a2luZy4KKyAgICAgKi8KKyAgICBkb21pZF90IHBzZXVkb19kb21pZDsKIH07
CiAKIGludCBwY2lfY29uZl93cml0ZV9pbnRlcmNlcHQodW5zaWduZWQgaW50
IHNlZywgdW5zaWduZWQgaW50IGJkZiwKLS0tIGEveGVuL2luY2x1ZGUvYXNt
LXg4Ni9hbWQtaW9tbXUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2Ft
ZC1pb21tdS5oCkBAIC05NCw2ICs5NCw3IEBAIHN0cnVjdCBhbWRfaW9tbXUg
ewogICAgIHN0cnVjdCByaW5nX2J1ZmZlciBjbWRfYnVmZmVyOwogICAgIHN0
cnVjdCByaW5nX2J1ZmZlciBldmVudF9sb2c7CiAgICAgc3RydWN0IHJpbmdf
YnVmZmVyIHBwcl9sb2c7CisgICAgdW5zaWduZWQgbG9uZyAqZG9taWRfbWFw
OwogCiAgICAgaW50IGV4Y2x1c2lvbl9lbmFibGU7CiAgICAgaW50IGV4Y2x1
c2lvbl9hbGxvd19hbGw7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L2FtZC9pb21tdV9kZXRlY3QuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hbWQvaW9tbXVfZGV0ZWN0LmMKQEAgLTE4Myw2ICsxODMsMTEgQEAg
aW50IF9faW5pdCBhbWRfaW9tbXVfZGV0ZWN0X29uZV9hY3BpKAogICAgIGlm
ICggcnQgKQogICAgICAgICBnb3RvIG91dDsKIAorICAgIGlvbW11LT5kb21p
ZF9tYXAgPSBpb21tdV9pbml0X2RvbWlkKCk7CisgICAgcnQgPSAtRU5PTUVN
OworICAgIGlmICggIWlvbW11LT5kb21pZF9tYXAgKQorICAgICAgICBnb3Rv
IG91dDsKKwogICAgIHJ0ID0gcGNpX3JvX2RldmljZShpb21tdS0+c2VnLCBi
dXMsIFBDSV9ERVZGTihkZXYsIGZ1bmMpKTsKICAgICBpZiAoIHJ0ICkKICAg
ICAgICAgcHJpbnRrKFhFTkxPR19FUlIKQEAgLTE5NCw3ICsxOTksMTAgQEAg
aW50IF9faW5pdCBhbWRfaW9tbXVfZGV0ZWN0X29uZV9hY3BpKAogCiAgb3V0
OgogICAgIGlmICggcnQgKQorICAgIHsKKyAgICAgICAgeGZyZWUoaW9tbXUt
PmRvbWlkX21hcCk7CiAgICAgICAgIHhmcmVlKGlvbW11KTsKKyAgICB9CiAK
ICAgICByZXR1cm4gcnQ7CiB9Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL2FtZC9wY2lfYW1kX2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFz
c3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYwpAQCAtNTYzLDYgKzU2Myw4
IEBAIHN0YXRpYyBpbnQgYW1kX2lvbW11X2FkZF9kZXZpY2UodTggZGV2Zm4K
ICAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKICAgICB1MTYgYmRmOwog
ICAgIHN0cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX21hcHBpbmdzOworICAg
IGJvb2wgZnJlc2hfZG9taWQgPSBmYWxzZTsKKyAgICBpbnQgcmV0OwogCiAg
ICAgaWYgKCAhcGRldi0+ZG9tYWluICkKICAgICAgICAgcmV0dXJuIC1FSU5W
QUw7CkBAIC02MjYsNyArNjI4LDIyIEBAIHN0YXRpYyBpbnQgYW1kX2lvbW11
X2FkZF9kZXZpY2UodTggZGV2Zm4KICAgICAgICAgc3Bpbl91bmxvY2tfaXJx
cmVzdG9yZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsKICAgICB9CiAKLSAgICBy
ZXR1cm4gYW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZpY2UocGRldi0+ZG9t
YWluLCBpb21tdSwgZGV2Zm4sIHBkZXYpOworICAgIGlmICggaW9tbXVfcXVh
cmFudGluZSAmJiBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9PSBET01JRF9J
TlZBTElEICkKKyAgICB7CisgICAgICAgIHBkZXYtPmFyY2gucHNldWRvX2Rv
bWlkID0gaW9tbXVfYWxsb2NfZG9taWQoaW9tbXUtPmRvbWlkX21hcCk7Cisg
ICAgICAgIGlmICggcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPT0gRE9NSURf
SU5WQUxJRCApCisgICAgICAgICAgICByZXR1cm4gLUVOT1NQQzsKKyAgICAg
ICAgZnJlc2hfZG9taWQgPSB0cnVlOworICAgIH0KKworICAgIHJldCA9IGFt
ZF9pb21tdV9zZXR1cF9kb21haW5fZGV2aWNlKHBkZXYtPmRvbWFpbiwgaW9t
bXUsIGRldmZuLCBwZGV2KTsKKyAgICBpZiAoIHJldCAmJiBmcmVzaF9kb21p
ZCApCisgICAgeworICAgICAgICBpb21tdV9mcmVlX2RvbWlkKHBkZXYtPmFy
Y2gucHNldWRvX2RvbWlkLCBpb21tdS0+ZG9taWRfbWFwKTsKKyAgICAgICAg
cGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPSBET01JRF9JTlZBTElEOworICAg
IH0KKworICAgIHJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgYW1kX2lv
bW11X3JlbW92ZV9kZXZpY2UodTggZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICpw
ZGV2KQpAQCAtNjUxLDYgKzY2OCw5IEBAIHN0YXRpYyBpbnQgYW1kX2lvbW11
X3JlbW92ZV9kZXZpY2UodTggZGUKIAogICAgIGFtZF9pb21tdV9kaXNhYmxl
X2RvbWFpbl9kZXZpY2UocGRldi0+ZG9tYWluLCBpb21tdSwgZGV2Zm4sIHBk
ZXYpOwogCisgICAgaW9tbXVfZnJlZV9kb21pZChwZGV2LT5hcmNoLnBzZXVk
b19kb21pZCwgaW9tbXUtPmRvbWlkX21hcCk7CisgICAgcGRldi0+YXJjaC5w
c2V1ZG9fZG9taWQgPSBET01JRF9JTlZBTElEOworCiAgICAgaXZyc19tYXBw
aW5ncyA9IGdldF9pdnJzX21hcHBpbmdzKHBkZXYtPnNlZyk7CiAgICAgYmRm
ID0gUENJX0JERjIocGRldi0+YnVzLCBkZXZmbik7CiAgICAgaWYgKCBhbWRf
aW9tbXVfcGVyZGV2X2ludHJlbWFwICYmCi0tLSBhL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L3BjaS5jCkBAIC0zMzgsNiArMzM4LDcgQEAgc3RhdGljIHN0cnVjdCBwY2lf
ZGV2ICphbGxvY19wZGV2KHN0cnVjdAogICAgICooKHU4KikgJnBkZXYtPmJ1
cykgPSBidXM7CiAgICAgKigodTgqKSAmcGRldi0+ZGV2Zm4pID0gZGV2Zm47
CiAgICAgcGRldi0+ZG9tYWluID0gTlVMTDsKKyAgICBwZGV2LT5hcmNoLnBz
ZXVkb19kb21pZCA9IERPTUlEX0lOVkFMSUQ7CiAgICAgSU5JVF9MSVNUX0hF
QUQoJnBkZXYtPm1zaV9saXN0KTsKIAogICAgIHBvcyA9IHBjaV9maW5kX2Nh
cF9vZmZzZXQocHNlZy0+bnIsIGJ1cywgUENJX1NMT1QoZGV2Zm4pLCBQQ0lf
RlVOQyhkZXZmbiksCkBAIC0xMzUzLDkgKzEzNTQsMTMgQEAgc3RhdGljIGlu
dCBfZHVtcF9wY2lfZGV2aWNlcyhzdHJ1Y3QgcGNpXwogCiAgICAgbGlzdF9m
b3JfZWFjaF9lbnRyeSAoIHBkZXYsICZwc2VnLT5hbGxkZXZzX2xpc3QsIGFs
bGRldnNfbGlzdCApCiAgICAgewotICAgICAgICBwcmludGsoIiUwNHg6JTAy
eDolMDJ4LiV1IC0gJXBkIC0gbm9kZSAlLTNkIC0gTVNJcyA8ICIsCi0gICAg
ICAgICAgICAgICBwc2VnLT5uciwgcGRldi0+YnVzLAotICAgICAgICAgICAg
ICAgUENJX1NMT1QocGRldi0+ZGV2Zm4pLCBQQ0lfRlVOQyhwZGV2LT5kZXZm
biksIHBkZXYtPmRvbWFpbiwKKyAgICAgICAgcHJpbnRrKCIlMDR4OiUwMng6
JTAyeC4ldSAtICIsIHBzZWctPm5yLCBwZGV2LT5idXMsCisgICAgICAgICAg
ICAgICBQQ0lfU0xPVChwZGV2LT5kZXZmbiksIFBDSV9GVU5DKHBkZXYtPmRl
dmZuKSk7CisgICAgICAgIGlmICggcGRldi0+ZG9tYWluID09IGRvbV9pbyAp
CisgICAgICAgICAgICBwcmludGsoIkRvbUlPOiV4IiwgcGRldi0+YXJjaC5w
c2V1ZG9fZG9taWQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBwcmlu
dGsoIiVwZCIsIHBkZXYtPmRvbWFpbik7CisgICAgICAgIHByaW50aygiIC0g
bm9kZSAlLTNkIC0gTVNJcyA8ICIsCiAgICAgICAgICAgICAgICAocGRldi0+
bm9kZSAhPSBOVU1BX05PX05PREUpID8gcGRldi0+bm9kZSA6IC0xKTsKICAg
ICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSAoIG1zaSwgJnBkZXYtPm1zaV9s
aXN0LCBsaXN0ICkKICAgICAgICAgICAgICAgIHByaW50aygiJWQgIiwgbXNp
LT5pcnEpOwotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t
bXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUu
YwpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgog
I2luY2x1ZGUgPHhlbi94bWFsbG9jLmg+CiAjaW5jbHVkZSA8eGVuL2RvbWFp
bl9wYWdlLmg+CisjaW5jbHVkZSA8eGVuL2Vyci5oPgogI2luY2x1ZGUgPHhl
bi9pb2NhcC5oPgogI2luY2x1ZGUgPHhlbi9pb21tdS5oPgogI2luY2x1ZGUg
PHhlbi9udW1hLmg+CkBAIC0xMTkyLDcgKzExOTMsNyBAQCBpbnQgX19pbml0
IGlvbW11X2FsbG9jKHN0cnVjdCBhY3BpX2RyaGRfCiB7CiAgICAgc3RydWN0
IHZ0ZF9pb21tdSAqaW9tbXU7CiAgICAgdW5zaWduZWQgbG9uZyBzYWdhdywg
bnJfZG9tOwotICAgIGludCBhZ2F3OworICAgIGludCBhZ2F3LCByYzsKIAog
ICAgIGlmICggbnJfaW9tbXVzID49IE1BWF9JT01NVVMgKQogICAgIHsKQEAg
LTEyODUsNyArMTI4NiwxNiBAQCBpbnQgX19pbml0IGlvbW11X2FsbG9jKHN0
cnVjdCBhY3BpX2RyaGRfCiAgICAgaWYgKCAhaW9tbXUtPmRvbWlkX21hcCAp
CiAgICAgICAgIHJldHVybiAtRU5PTUVNOwogCisgICAgaW9tbXUtPnBzZXVk
b19kb21pZF9tYXAgPSBpb21tdV9pbml0X2RvbWlkKCk7CisgICAgcmMgPSAt
RU5PTUVNOworICAgIGlmICggIWlvbW11LT5wc2V1ZG9fZG9taWRfbWFwICkK
KyAgICAgICAgZ290byBmcmVlOworCiAgICAgcmV0dXJuIDA7CisKKyBmcmVl
OgorICAgIGlvbW11X2ZyZWUoZHJoZCk7CisgICAgcmV0dXJuIHJjOwogfQog
CiB2b2lkIF9faW5pdCBpb21tdV9mcmVlKHN0cnVjdCBhY3BpX2RyaGRfdW5p
dCAqZHJoZCkKQEAgLTEzMDgsNiArMTMxOCw3IEBAIHZvaWQgX19pbml0IGlv
bW11X2ZyZWUoc3RydWN0IGFjcGlfZHJoZF8KIAogICAgIHhmcmVlKGlvbW11
LT5kb21pZF9iaXRtYXApOwogICAgIHhmcmVlKGlvbW11LT5kb21pZF9tYXAp
OworICAgIHhmcmVlKGlvbW11LT5wc2V1ZG9fZG9taWRfbWFwKTsKIAogICAg
IGlmICggaW9tbXUtPm1zaS5pcnEgPj0gMCApCiAgICAgICAgIGRlc3Ryb3lf
aXJxKGlvbW11LT5tc2kuaXJxKTsKQEAgLTE1ODMsOCArMTU5NCw4IEBAIGlu
dCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAgICByZXR1cm4gcmMg
PzogcGRldiAmJiBwcmV2X2RvbTsKIH0KIAotc3RhdGljIGludCBkb21haW5f
Y29udGV4dF91bm1hcChzdHJ1Y3QgZG9tYWluICpkLCB1aW50OF90IGRldmZu
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNp
X2RldiAqcGRldik7CitzdGF0aWMgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91
bml0ICpkb21haW5fY29udGV4dF91bm1hcCgKKyAgICBzdHJ1Y3QgZG9tYWlu
ICpkLCB1aW50OF90IGRldmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRldik7CiAK
IHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QgZG9t
YWluICpkb21haW4sIHU4IGRldmZuLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2KQpAQCAtMTU5Miw2
ICsxNjAzLDcgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5n
KHN0cnVjdAogICAgIHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZDsKICAg
ICBjb25zdCBzdHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnI7CiAgICAgcGFk
ZHJfdCBwZ2RfbWFkZHIgPSBkb21faW9tbXUoZG9tYWluKS0+YXJjaC5wZ2Rf
bWFkZHI7CisgICAgZG9taWRfdCBvcmlnX2RvbWlkID0gcGRldi0+YXJjaC5w
c2V1ZG9fZG9taWQ7CiAgICAgaW50IHJldCA9IDA7CiAgICAgdW5zaWduZWQg
aW50IGksIG1vZGUgPSAwOwogICAgIHVpbnQxNl90IHNlZyA9IHBkZXYtPnNl
ZywgYmRmOwpAQCAtMTY1Miw2ICsxNjY0LDE0IEBAIHN0YXRpYyBpbnQgZG9t
YWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgYnJlYWs7CiAK
ICAgICBjYXNlIERFVl9UWVBFX1BDSWVfRU5EUE9JTlQ6CisgICAgICAgIGlm
ICggaW9tbXVfcXVhcmFudGluZSAmJiBvcmlnX2RvbWlkID09IERPTUlEX0lO
VkFMSUQgKQorICAgICAgICB7CisgICAgICAgICAgICBwZGV2LT5hcmNoLnBz
ZXVkb19kb21pZCA9CisgICAgICAgICAgICAgICAgaW9tbXVfYWxsb2NfZG9t
aWQoZHJoZC0+aW9tbXUtPnBzZXVkb19kb21pZF9tYXApOworICAgICAgICAg
ICAgaWYgKCBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9PSBET01JRF9JTlZB
TElEICkKKyAgICAgICAgICAgICAgICByZXR1cm4gLUVOT1NQQzsKKyAgICAg
ICAgfQorCiAgICAgICAgIGlmICggaW9tbXVfZGVidWcgKQogICAgICAgICAg
ICAgcHJpbnRrKFZURFBSRUZJWCAiZCVkOlBDSWU6IG1hcCAlMDR4OiUwMng6
JTAyeC4ldVxuIiwKICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFp
bl9pZCwgc2VnLCBidXMsCkBAIC0xNjY3LDYgKzE2ODcsMTQgQEAgc3RhdGlj
IGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICBi
cmVhazsKIAogICAgIGNhc2UgREVWX1RZUEVfUENJOgorICAgICAgICBpZiAo
IGlvbW11X3F1YXJhbnRpbmUgJiYgb3JpZ19kb21pZCA9PSBET01JRF9JTlZB
TElEICkKKyAgICAgICAgeworICAgICAgICAgICAgcGRldi0+YXJjaC5wc2V1
ZG9fZG9taWQgPQorICAgICAgICAgICAgICAgIGlvbW11X2FsbG9jX2RvbWlk
KGRyaGQtPmlvbW11LT5wc2V1ZG9fZG9taWRfbWFwKTsKKyAgICAgICAgICAg
IGlmICggcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPT0gRE9NSURfSU5WQUxJ
RCApCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9TUEM7CisgICAgICAg
IH0KKwogICAgICAgICBpZiAoIGlvbW11X2RlYnVnICkKICAgICAgICAgICAg
IHByaW50ayhWVERQUkVGSVggImQlZDpQQ0k6IG1hcCAlMDR4OiUwMng6JTAy
eC4ldVxuIiwKICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9p
ZCwgc2VnLCBidXMsCkBAIC0xNzQyLDYgKzE3NzAsMTMgQEAgc3RhdGljIGlu
dCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAgIGlmICggIXJl
dCAmJiBkZXZmbiA9PSBwZGV2LT5kZXZmbiApCiAgICAgICAgIHBjaV92dGRf
cXVpcmsocGRldik7CiAKKyAgICBpZiAoIHJldCAmJiBkcmhkICYmIG9yaWdf
ZG9taWQgPT0gRE9NSURfSU5WQUxJRCApCisgICAgeworICAgICAgICBpb21t
dV9mcmVlX2RvbWlkKHBkZXYtPmFyY2gucHNldWRvX2RvbWlkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGRyaGQtPmlvbW11LT5wc2V1ZG9fZG9taWRf
bWFwKTsKKyAgICAgICAgcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPSBET01J
RF9JTlZBTElEOworICAgIH0KKwogICAgIHJldHVybiByZXQ7CiB9CiAKQEAg
LTE4MjQsOCArMTg1OSwxMCBAQCBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXBf
b25lKAogICAgIHJldHVybiByYzsKIH0KIAotc3RhdGljIGludCBkb21haW5f
Y29udGV4dF91bm1hcChzdHJ1Y3QgZG9tYWluICpkb21haW4sIHU4IGRldmZu
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNp
X2RldiAqcGRldikKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3Vu
aXQgKmRvbWFpbl9jb250ZXh0X3VubWFwKAorICAgIHN0cnVjdCBkb21haW4g
KmRvbWFpbiwKKyAgICB1aW50OF90IGRldmZuLAorICAgIHN0cnVjdCBwY2lf
ZGV2ICpwZGV2KQogewogICAgIHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJo
ZDsKICAgICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdTsKQEAgLTE4MzQsNyAr
MTg3MSw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXAoc3Ry
dWN0IGQKIAogICAgIGRyaGQgPSBhY3BpX2ZpbmRfbWF0Y2hlZF9kcmhkX3Vu
aXQocGRldik7CiAgICAgaWYgKCAhZHJoZCApCi0gICAgICAgIHJldHVybiAt
RU5PREVWOworICAgICAgICByZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKICAg
ICBpb21tdSA9IGRyaGQtPmlvbW11OwogCiAgICAgc3dpdGNoICggcGRldi0+
dHlwZSApCkBAIC0xODQ1LDcgKzE4ODIsNyBAQCBzdGF0aWMgaW50IGRvbWFp
bl9jb250ZXh0X3VubWFwKHN0cnVjdCBkCiAgICAgICAgICAgICAgICAgICAg
ZG9tYWluLT5kb21haW5faWQsIHNlZywgYnVzLAogICAgICAgICAgICAgICAg
ICAgIFBDSV9TTE9UKGRldmZuKSwgUENJX0ZVTkMoZGV2Zm4pKTsKICAgICAg
ICAgaWYgKCAhaXNfaGFyZHdhcmVfZG9tYWluKGRvbWFpbikgKQotICAgICAg
ICAgICAgcmV0dXJuIC1FUEVSTTsKKyAgICAgICAgICAgIHJldHVybiBFUlJf
UFRSKC1FUEVSTSk7CiAgICAgICAgIGdvdG8gb3V0OwogCiAgICAgY2FzZSBE
RVZfVFlQRV9QQ0llX0JSSURHRToKQEAgLTE5MjMsNyArMTk2MCw3IEBAIHN0
YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXAoc3RydWN0IGQKICAgICAg
ICAgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAoZG9tYWluLCBwZGV2LCBpb21t
dSk7CiAKIG91dDoKLSAgICByZXR1cm4gcmV0OworICAgIHJldHVybiByZXQg
PyBFUlJfUFRSKHJldCkgOiBkcmhkOwogfQogCiBzdGF0aWMgdm9pZCBpb21t
dV9kb21haW5fdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCkKQEAgLTIxNDUs
MTYgKzIxODIsMTcgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9lbmFibGVf
ZGV2aWNlKHN0cgogCiBzdGF0aWMgaW50IGludGVsX2lvbW11X3JlbW92ZV9k
ZXZpY2UodTggZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogeworICAg
IGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZDsKICAgICBzdHJ1
Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnI7CiAgICAgdTE2IGJkZjsKLSAgICBp
bnQgcmV0LCBpOworICAgIHVuc2lnbmVkIGludCBpOwogCiAgICAgaWYgKCAh
cGRldi0+ZG9tYWluICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKLSAg
ICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcChwZGV2LT5kb21haW4sIGRl
dmZuLCBwZGV2KTsKLSAgICBpZiAoIHJldCApCi0gICAgICAgIHJldHVybiBy
ZXQ7CisgICAgZHJoZCA9IGRvbWFpbl9jb250ZXh0X3VubWFwKHBkZXYtPmRv
bWFpbiwgZGV2Zm4sIHBkZXYpOworICAgIGlmICggSVNfRVJSKGRyaGQpICkK
KyAgICAgICAgcmV0dXJuIFBUUl9FUlIoZHJoZCk7CiAKICAgICBmb3JfZWFj
aF9ybXJyX2RldmljZSAoIHJtcnIsIGJkZiwgaSApCiAgICAgewpAQCAtMjE3
MSw2ICsyMjA5LDEzIEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfcmVtb3Zl
X2RldmljZSh1OAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJt
cnItPmVuZF9hZGRyZXNzLCAwKTsKICAgICB9CiAKKyAgICBpZiAoIGRyaGQg
KQorICAgIHsKKyAgICAgICAgaW9tbXVfZnJlZV9kb21pZChwZGV2LT5hcmNo
LnBzZXVkb19kb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkcmhk
LT5pb21tdS0+cHNldWRvX2RvbWlkX21hcCk7CisgICAgICAgIHBkZXYtPmFy
Y2gucHNldWRvX2RvbWlkID0gRE9NSURfSU5WQUxJRDsKKyAgICB9CisKICAg
ICByZXR1cm4gMDsKIH0KIAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC92dGQvaW9tbXUuaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92
dGQvaW9tbXUuaApAQCAtNTM1LDYgKzUzNSw3IEBAIHN0cnVjdCB2dGRfaW9t
bXUgewogICAgIH0gZmx1c2g7CiAKICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGF0
c19kZXZpY2VzOworICAgIHVuc2lnbmVkIGxvbmcgKnBzZXVkb19kb21pZF9t
YXA7IC8qICJwc2V1ZG8iIGRvbWFpbiBpZCBiaXRtYXAgKi8KICAgICB1bnNp
Z25lZCBsb25nICpkb21pZF9iaXRtYXA7ICAvKiBkb21haW4gaWQgYml0bWFw
ICovCiAgICAgdTE2ICpkb21pZF9tYXA7ICAgICAgICAgICAgICAgLyogZG9t
YWluIGlkIG1hcHBpbmcgYXJyYXkgKi8KICAgICB1aW50MzJfdCB2ZXJzaW9u
OwotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYwor
KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYwpAQCAt
MzQ2LDYgKzM0Niw1MyBAQCB2b2lkIF9faHdkb21faW5pdCBhcmNoX2lvbW11
X2h3ZG9tX2luaXQoCiAgICAgICAgIHJldHVybjsKIH0KIAordW5zaWduZWQg
bG9uZyAqX19pbml0IGlvbW11X2luaXRfZG9taWQodm9pZCkKK3sKKyAgICBp
ZiAoICFpb21tdV9xdWFyYW50aW5lICkKKyAgICAgICAgcmV0dXJuIFpFUk9f
QkxPQ0tfUFRSOworCisgICAgQlVJTERfQlVHX09OKERPTUlEX01BU0sgKiAy
VSA+PSBVSU5UMTZfTUFYKTsKKworICAgIHJldHVybiB4emFsbG9jX2FycmF5
KHVuc2lnbmVkIGxvbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgQklU
U19UT19MT05HUyhVSU5UMTZfTUFYIC0gRE9NSURfTUFTSykpOworfQorCitk
b21pZF90IGlvbW11X2FsbG9jX2RvbWlkKHVuc2lnbmVkIGxvbmcgKm1hcCkK
K3sKKyAgICAvKgorICAgICAqIFRoaXMgaXMgdXNlZCB1bmlmb3JtbHkgYWNy
b3NzIGFsbCBJT01NVXMsIHN1Y2ggdGhhdCBvbiB0eXBpY2FsCisgICAgICog
c3lzdGVtcyB3ZSB3b3VsZG4ndCByZS11c2UgdGhlIHNhbWUgSUQgdmVyeSBx
dWlja2x5IChwZXJoYXBzIG5ldmVyKS4KKyAgICAgKi8KKyAgICBzdGF0aWMg
dW5zaWduZWQgaW50IHN0YXJ0OworICAgIHVuc2lnbmVkIGludCBpZHggPSBm
aW5kX25leHRfemVyb19iaXQobWFwLCBVSU5UMTZfTUFYIC0gRE9NSURfTUFT
Sywgc3RhcnQpOworCisgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOwor
CisgICAgaWYgKCBpZHggPj0gVUlOVDE2X01BWCAtIERPTUlEX01BU0sgKQor
ICAgICAgICBpZHggPSBmaW5kX2ZpcnN0X3plcm9fYml0KG1hcCwgVUlOVDE2
X01BWCAtIERPTUlEX01BU0spOworICAgIGlmICggaWR4ID49IFVJTlQxNl9N
QVggLSBET01JRF9NQVNLICkKKyAgICAgICAgcmV0dXJuIERPTUlEX0lOVkFM
SUQ7CisKKyAgICBfX3NldF9iaXQoaWR4LCBtYXApOworCisgICAgc3RhcnQg
PSBpZHggKyAxOworCisgICAgcmV0dXJuIGlkeCB8IChET01JRF9NQVNLICsg
MSk7Cit9CisKK3ZvaWQgaW9tbXVfZnJlZV9kb21pZChkb21pZF90IGRvbWlk
LCB1bnNpZ25lZCBsb25nICptYXApCit7CisgICAgQVNTRVJUKHBjaWRldnNf
bG9ja2VkKCkpOworCisgICAgaWYgKCBkb21pZCA9PSBET01JRF9JTlZBTElE
ICkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKGRvbWlkID4gRE9N
SURfTUFTSyk7CisKKyAgICBpZiAoICFfX3Rlc3RfYW5kX2NsZWFyX2JpdChk
b21pZCAmIERPTUlEX01BU0ssIG1hcCkgKQorICAgICAgICBCVUcoKTsKK30K
KwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKLS0tIGEv
eGVuL2luY2x1ZGUvcHVibGljL3hlbi5oCisrKyBiL3hlbi9pbmNsdWRlL3B1
YmxpYy94ZW4uaApAQCAtNjE0LDYgKzYxNCw5IEBAIERFRklORV9YRU5fR1VF
U1RfSEFORExFKG1tdWV4dF9vcF90KTsKIC8qIElkbGUgZG9tYWluLiAqLwog
I2RlZmluZSBET01JRF9JRExFICAgICAgICAgICB4ZW5fbWtfdWludCgweDdG
RkYpCiAKKy8qIE1hc2sgZm9yIHZhbGlkIGRvbWFpbiBpZCB2YWx1ZXMgKi8K
KyNkZWZpbmUgRE9NSURfTUFTSyAgICAgICAgICAgeGVuX21rX3VpbnQoMHg3
RkZGKQorCiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogCiB0eXBlZGVmIHVpbnQx
Nl90IGRvbWlkX3Q7Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IGRyb3AgVExCIGZsdXNoZXMgZnJvbSBxdWFyYW50aW5l
X2luaXQoKSBob29rcwoKVGhlIHBhZ2UgdGFibGVzIGp1c3QgY3JlYXRlZCBh
cmVuJ3QgaG9va2VkIHVwIHlldCBhbnl3aGVyZSwgc28gdGhlcmUncwpub3Ro
aW5nIHRoYXQgY291bGQgYmUgcHJlc2VudCBpbiBhbnkgVExCLCBhbmQgaGVu
Y2Ugbm90aGluZyB0byBmbHVzaC4KRHJvcHBpbmcgdGhpcyBmbHVzaCBpcywg
YXQgbGVhc3Qgb24gdGhlIFZULWQgc2lkZSwgYSBwcmVyZXEgdG8gcGVyLQpk
ZXZpY2UgZG9tYWluIElEIHVzZSB3aGVuIHF1YXJhbnRpbmluZyBkZXZpY2Vz
LCBhcyBkb21faW8gaXNuJ3QgZ29pbmcKdG8gYmUgYXNzaWduZWQgYSBESUQg
YW55bW9yZTogVGhlIHdhcm5pbmcgaW4gZ2V0X2lvbW11X2RpZCgpIHdvdWxk
CnRyaWdnZXIuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxp
Y2hAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxA
eGVuLm9yZz4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2
aW4udGlhbkBpbnRlbC5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvYW1kL2lvbW11X21hcC5jCkBAIC01OTUsOCArNTk1LDYgQEAgaW50
IF9faW5pdCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cgogIG91dDoK
ICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKIAot
ICAgIGFtZF9pb21tdV9mbHVzaF9hbGxfcGFnZXMoZCk7Ci0KICAgICAvKiBQ
YWdlcyBsZWFrZWQgaW4gZmFpbHVyZSBjYXNlICovCiAgICAgcmV0dXJuIGxl
dmVsID8gLUVOT01FTSA6IDA7CiB9Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL3Z0ZC9pb21tdS5jCkBAIC0yODk0LDcgKzI4OTQsNiBAQCBzdGF0aWMg
aW50IF9faW5pdCBpbnRlbF9pb21tdV9xdWFyYW50aW5lCiAgICAgc3RydWN0
IGRtYV9wdGUgKnBhcmVudDsKICAgICB1bnNpZ25lZCBpbnQgYWdhdyA9IHdp
ZHRoX3RvX2FnYXcoREVGQVVMVF9ET01BSU5fQUREUkVTU19XSURUSCk7CiAg
ICAgdW5zaWduZWQgaW50IGxldmVsID0gYWdhd190b19sZXZlbChhZ2F3KTsK
LSAgICBpbnQgcmM7CiAKICAgICBpZiAoIGhkLT5hcmNoLnBnZF9tYWRkciAp
CiAgICAgewpAQCAtMjk0MSwxMCArMjk0MCw4IEBAIHN0YXRpYyBpbnQgX19p
bml0IGludGVsX2lvbW11X3F1YXJhbnRpbmUKICBvdXQ6CiAgICAgc3Bpbl91
bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CiAKLSAgICByYyA9IGlv
bW11X2ZsdXNoX2lvdGxiX2FsbChkKTsKLQogICAgIC8qIFBhZ2VzIGxlYWtl
ZCBpbiBmYWlsdXJlIGNhc2UgKi8KLSAgICByZXR1cm4gbGV2ZWwgPyAtRU5P
TUVNIDogcmM7CisgICAgcmV0dXJuIGxldmVsID8gLUVOT01FTSA6IDA7CiB9
CiAKIGNvbnN0IHN0cnVjdCBpb21tdV9vcHMgX19pbml0Y29uc3RyZWwgaW50
ZWxfaW9tbXVfb3BzID0gewo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGFic3RyYWN0IG1heGltdW0gbnVtYmVyIG9mIHBhZ2Ug
dGFibGUgbGV2ZWxzCgpXZSB3aWxsIHdhbnQgdG8gdXNlIHRoZSBjb25zdGFu
dCBlbHNld2hlcmUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBh
dWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2
bS9hbWQtaW9tbXUtcHJvdG8uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2
L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKQEAgLTE5Myw3ICsxOTMsNyBA
QCBzdGF0aWMgaW5saW5lIGludCBhbWRfaW9tbXVfZ2V0X3BhZ2luZ19tCiAg
ICAgd2hpbGUgKCBtYXhfZnJhbWVzID4gUFRFX1BFUl9UQUJMRV9TSVpFICkK
ICAgICB7CiAgICAgICAgIG1heF9mcmFtZXMgPSBQVEVfUEVSX1RBQkxFX0FM
SUdOKG1heF9mcmFtZXMpID4+IFBURV9QRVJfVEFCTEVfU0hJRlQ7Ci0gICAg
ICAgIGlmICggKytsZXZlbCA+IDYgKQorICAgICAgICBpZiAoICsrbGV2ZWwg
PiBJT01NVV9NQVhfUFRfTEVWRUxTICkKICAgICAgICAgICAgIHJldHVybiAt
RU5PTUVNOwogICAgIH0KIAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2
bS9zdm0vYW1kLWlvbW11LWRlZnMuaAorKysgYi94ZW4vaW5jbHVkZS9hc20t
eDg2L2h2bS9zdm0vYW1kLWlvbW11LWRlZnMuaApAQCAtMTEwLDYgKzExMCw3
IEBAIHN0cnVjdCBhbWRfaW9tbXVfZHRlIHsKICAgICBib29sIHR2OjE7CiAg
ICAgdW5zaWduZWQgaW50IDo1OwogICAgIHVuc2lnbmVkIGludCBoYWQ6MjsK
KyNkZWZpbmUgSU9NTVVfTUFYX1BUX0xFVkVMUyA2CiAgICAgdW5zaWduZWQg
aW50IHBhZ2luZ19tb2RlOjM7CiAgICAgdWludDY0X3QgcHRfcm9vdDo0MDsK
ICAgICBib29sIHBwcjoxOwotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvYW1kL2lvbW11X21hcC5jCkBAIC0yNjAsNyArMjYwLDcgQEAgc3RhdGlj
IGludCBpb21tdV9wZGVfZnJvbV9kZm4oc3RydWN0IGRvbQogICAgIHRhYmxl
ID0gaGQtPmFyY2gucm9vdF90YWJsZTsKICAgICBsZXZlbCA9IGhkLT5hcmNo
LnBhZ2luZ19tb2RlOwogCi0gICAgQlVHX09OKCB0YWJsZSA9PSBOVUxMIHx8
IGxldmVsIDwgMSB8fCBsZXZlbCA+IDYgKTsKKyAgICBCVUdfT04oIHRhYmxl
ID09IE5VTEwgfHwgbGV2ZWwgPCAxIHx8IGxldmVsID4gSU9NTVVfTUFYX1BU
X0xFVkVMUyApOwogCiAgICAgLyoKICAgICAgKiBBIGZyYW1lIG51bWJlciBw
YXN0IHdoYXQgdGhlIGN1cnJlbnQgcGFnZSB0YWJsZXMgY2FuIHJlcHJlc2Vu
dCBjYW4ndAo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IHVzZSBwZXItZGV2aWNlIHBhZ2UgdGFibGVzIGZvciBx
dWFyYW50aW5pbmcKCkRldmljZXMgd2l0aCBSTVJScyAvIHVuaXR5IG1hcHBl
ZCByZWdpb25zLCBkdWUgdG8gaXQgYmVpbmcgdW5zcGVjaWZpZWQKaG93L3do
ZW4gdGhlc2UgbWVtb3J5IHJlZ2lvbnMgbWF5IGJlIGFjY2Vzc2VkLCBtYXkg
bm90IGJlIGxlZnQKZGlzY29ubmVjdGVkIGZyb20gdGhlIG1hcHBpbmdzIG9m
IHRoZXNlIHJlZ2lvbnMgKGFzIGxvbmcgYXMgaXQncyBub3QKY2VydGFpbiB0
aGF0IHRoZSBkZXZpY2UgaGFzIGJlZW4gZnVsbHkgcXVpZXNjZWQpLiBIZW5j
ZSBldmVuIHRoZSBwYWdlCnRhYmxlcyB1c2VkIHdoZW4gcXVhcmFudGluaW5n
IHN1Y2ggZGV2aWNlcyBuZWVkIHRvIGhhdmUgbWFwcGluZ3Mgb2YKdGhvc2Ug
cmVnaW9ucy4gVGhpcyBpbXBsaWVzIGluc3RhbGxpbmcgcGFnZSB0YWJsZXMg
aW4gdGhlIGZpcnN0IHBsYWNlCmV2ZW4gd2hlbiBub3QgaW4gc2NyYXRjaC1w
YWdlIHF1YXJhbnRpbmluZyBtb2RlLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM2
MSAvIHBhcnQgb2YgWFNBLTQwMC4KCldoaWxlIGZvciB0aGUgcHVycG9zZSBo
ZXJlIGl0IHdvdWxkIGJlIHN1ZmZpY2llbnQgdG8gaGF2ZSBkZXZpY2VzIHdp
dGgKUk1SUnMgLyB1bml0eSBtYXBwZWQgcmVnaW9ucyB1c2UgcGVyLWRldmlj
ZSBwYWdlIHRhYmxlcywgZXh0ZW5kIHRoaXMgdG8KYWxsIGRldmljZXMgKGlu
IHNjcmF0Y2gtcGFnZSBxdWFyYW50aW5pbmcgbW9kZSkuIFRoaXMgYWxsb3dz
IHRoZSBsZWFmCnBhZ2VzIHRvIGJlIG1hcHBlZCByL3csIHRodXMgY292ZXJp
bmcgYWxzbyBtZW1vcnkgd3JpdGVzIChyYXRoZXIgdGhhbgpqdXN0IHJlYWRz
KSBpc3N1ZWQgYnkgbm9uLXF1aWVzY2VudCBkZXZpY2VzLgoKU2V0IHVwIHF1
YXJhbnRpbmUgcGFnZSB0YWJsZXMgYXMgbGF0ZSBhcyBwb3NzaWJsZSwgeWV0
IGVhcmx5IGVub3VnaCB0bwpub3QgZW5jb3VudGVyIGZhaWx1cmUgZHVyaW5n
IGRlLWFzc2lnbi4gVGhpcyBtZWFucyBzZXR1cCBnZW5lcmFsbHkKaGFwcGVu
cyBpbiBhc3NpZ25fZGV2aWNlKCksIHdoaWxlIChmb3Igbm93KSB0aGUgb25l
IGluIGRlYXNzaWduX2RldmljZSgpCmlzIHRoZXJlIG1haW5seSB0byBiZSBv
biB0aGUgc2FmZSBzaWRlLgoKSW4gVlQtZCdzIERJRCBhbGxvY2F0aW9uIGZ1
bmN0aW9uIGRvbid0IHJlcXVpcmUgdGhlIElPTU1VIGxvY2sgdG8gYmUKaGVs
ZCBhbnltb3JlOiBBbGwgaW52b2x2ZWQgY29kZSBwYXRocyBob2xkIHBjaWRl
dnNfbG9jaywgc28gdGhpcyB3YXkgd2UKYXZvaWQgdGhlIG5lZWQgdG8gYWNx
dWlyZSB0aGUgSU9NTVUgbG9jayBhcm91bmQgdGhlIG5ldyBjYWxsIHRvCmNv
bnRleHRfc2V0X2RvbWFpbl9pZCgpLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBE
dXJyYW50IDxwYXVsQHhlbi5vcmc+ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFu
IDxrZXZpbi50aWFuQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBh
dSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKLS0tIGEveGVuL2Fy
Y2gveDg2L21tL3AybS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpA
QCAtMTQ1Myw3ICsxNDUzLDcgQEAgaW50IHNldF9pZGVudGl0eV9wMm1fZW50
cnkoc3RydWN0IGRvbWFpbgogICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0g
PSBwMm1fZ2V0X2hvc3RwMm0oZCk7CiAgICAgaW50IHJldDsKIAotICAgIGlm
ICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShwMm0tPmRvbWFpbikgKQorICAg
IGlmICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShkKSApCiAgICAgewogICAg
ICAgICBpZiAoICFpc19pb21tdV9lbmFibGVkKGQpICkKICAgICAgICAgICAg
IHJldHVybiAwOwotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3BjaS5oCisr
KyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcGNpLmgKQEAgLTEsNiArMSw4IEBA
CiAjaWZuZGVmIF9fWDg2X1BDSV9IX18KICNkZWZpbmUgX19YODZfUENJX0hf
XwogCisjaW5jbHVkZSA8eGVuL21tLmg+CisKICNkZWZpbmUgQ0Y4X0JERihj
ZjgpICAgICAoICAoKGNmOCkgJiAweDAwZmZmZjAwKSA+PiA4KQogI2RlZmlu
ZSBDRjhfQUREUl9MTyhjZjgpICggICAoY2Y4KSAmIDB4MDAwMDAwZmMpCiAj
ZGVmaW5lIENGOF9BRERSX0hJKGNmOCkgKCAgKChjZjgpICYgMHgwZjAwMDAw
MCkgPj4gMTYpCkBAIC0yMCw3ICsyMiwxOCBAQCBzdHJ1Y3QgYXJjaF9wY2lf
ZGV2IHsKICAgICAgKiB0aGVtIGRvbid0IHJhY2UgKGRlKWluaXRpYWxpemF0
aW9uIGFuZCBoZW5jZSBkb24ndCBzdHJpY3RseSBuZWVkIGFueQogICAgICAq
IGxvY2tpbmcuCiAgICAgICovCisgICAgdW5pb24geworICAgICAgICAvKiBT
dWJzZXQgb2Ygc3RydWN0IGFyY2hfaW9tbXUncyBmaWVsZHMsIHRvIGJlIHVz
ZWQgaW4gZG9tX2lvLiAqLworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAg
ICAgdWludDY0X3QgcGdkX21hZGRyOworICAgICAgICB9IHZ0ZDsKKyAgICAg
ICAgc3RydWN0IHsKKyAgICAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnJv
b3RfdGFibGU7CisgICAgICAgIH0gYW1kOworICAgIH07CiAgICAgZG9taWRf
dCBwc2V1ZG9fZG9taWQ7CisgICAgbWZuX3QgbGVhZl9tZm47CisgICAgc3Ry
dWN0IHBhZ2VfbGlzdF9oZWFkIHBndGFibGVzX2xpc3Q7CiB9OwogCiBpbnQg
cGNpX2NvbmZfd3JpdGVfaW50ZXJjZXB0KHVuc2lnbmVkIGludCBzZWcsIHVu
c2lnbmVkIGludCBiZGYsCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZt
L3N2bS9hbWQtaW9tbXUtcHJvdG8uaAorKysgYi94ZW4vaW5jbHVkZS9hc20t
eDg2L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKQEAgLTU0LDcgKzU0LDgg
QEAgaW50IGFtZF9pb21tdV9pbml0X2xhdGUodm9pZCk7CiBpbnQgYW1kX2lv
bW11X3VwZGF0ZV9pdnJzX21hcHBpbmdfYWNwaSh2b2lkKTsKIGludCBpb3Zf
YWRqdXN0X2lycV9hZmZpbml0aWVzKHZvaWQpOwogCi1pbnQgYW1kX2lvbW11
X3F1YXJhbnRpbmVfaW5pdChzdHJ1Y3QgZG9tYWluICpkKTsKK2ludCBhbWRf
aW9tbXVfcXVhcmFudGluZV9pbml0KHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsK
K3ZvaWQgYW1kX2lvbW11X3F1YXJhbnRpbmVfdGVhcmRvd24oc3RydWN0IHBj
aV9kZXYgKnBkZXYpOwogCiAvKiBtYXBwaW5nIGZ1bmN0aW9ucyAqLwogaW50
IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFp
biAqZCwgZGZuX3QgZGZuLAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvYW1kL2lvbW11X21hcC5jCkBAIC01MzksNjQgKzUzOSwxMzcgQEAgaW50
IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV91bm1hcAogICAgIHJl
dHVybiByYzsKIH0KIAotaW50IF9faW5pdCBhbWRfaW9tbXVfcXVhcmFudGlu
ZV9pbml0KHN0cnVjdCBkb21haW4gKmQpCitzdGF0aWMgaW50IGZpbGxfcXB0
KHVuaW9uIGFtZF9pb21tdV9wdGUgKnRoaXMsIHVuc2lnbmVkIGludCBsZXZl
bCwKKyAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGdz
W0lPTU1VX01BWF9QVF9MRVZFTFNdLAorICAgICAgICAgICAgICAgICAgICBz
dHJ1Y3QgcGNpX2RldiAqcGRldikKIHsKLSAgICBzdHJ1Y3QgZG9tYWluX2lv
bW11ICpoZCA9IGRvbV9pb21tdShkKTsKKyAgICB1bnNpZ25lZCBpbnQgaTsK
KyAgICBpbnQgcmMgPSAwOworCisgICAgZm9yICggaSA9IDA7ICFyYyAmJiBp
IDwgUFRFX1BFUl9UQUJMRV9TSVpFOyArK2kgKQorICAgIHsKKyAgICAgICAg
dW5pb24gYW1kX2lvbW11X3B0ZSAqcHRlID0gJnRoaXNbaV0sICpuZXh0Owor
CisgICAgICAgIGlmICggIXB0ZS0+cHIgKQorICAgICAgICB7CisgICAgICAg
ICAgICBpZiAoICFwZ3NbbGV2ZWxdICkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIFRoZSBwZ3RhYmxl
IGFsbG9jYXRvciBpcyBmaW5lIGZvciB0aGUgbGVhZiBwYWdlLCBhcyB3ZWxs
IGFzCisgICAgICAgICAgICAgICAgICogcGFnZSB0YWJsZSBwYWdlcywgYW5k
IHRoZSByZXN1bHRpbmcgYWxsb2NhdGlvbnMgYXJlIGFsd2F5cworICAgICAg
ICAgICAgICAgICAqIHplcm9lZC4KKyAgICAgICAgICAgICAgICAgKi8KKyAg
ICAgICAgICAgICAgICBwZ3NbbGV2ZWxdID0gYWxsb2NfYW1kX2lvbW11X3Bn
dGFibGUoKTsKKyAgICAgICAgICAgICAgICBpZiAoICFwZ3NbbGV2ZWxdICkK
KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHJjID0g
LUVOT01FTTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgcGFnZV9saXN0X2FkZChw
Z3NbbGV2ZWxdLCAmcGRldi0+YXJjaC5wZ3RhYmxlc19saXN0KTsKKworICAg
ICAgICAgICAgICAgIGlmICggbGV2ZWwgKQorICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgbmV4dCA9IF9fbWFwX2RvbWFpbl9wYWdl
KHBnc1tsZXZlbF0pOworICAgICAgICAgICAgICAgICAgICByYyA9IGZpbGxf
cXB0KG5leHQsIGxldmVsIC0gMSwgcGdzLCBwZGV2KTsKKyAgICAgICAgICAg
ICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobmV4dCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvKgorICAg
ICAgICAgICAgICogUERFcyBhcmUgZXNzZW50aWFsbHkgYSBzdWJzZXQgb2Yg
UFRFcywgc28gdGhpcyBmdW5jdGlvbgorICAgICAgICAgICAgICogaXMgZmlu
ZSB0byB1c2UgZXZlbiBhdCB0aGUgbGVhZi4KKyAgICAgICAgICAgICAqLwor
ICAgICAgICAgICAgc2V0X2lvbW11X3BkZV9wcmVzZW50KHB0ZSwgbWZuX3go
cGFnZV90b19tZm4ocGdzW2xldmVsXSkpLCBsZXZlbCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCB0cnVlKTsKKyAgICAgICAg
fQorICAgICAgICBlbHNlIGlmICggbGV2ZWwgJiYgcHRlLT5uZXh0X2xldmVs
ICkKKyAgICAgICAgeworICAgICAgICAgICAgcGFnZV9saXN0X2FkZChtZm5f
dG9fcGFnZShfbWZuKHB0ZS0+bWZuKSksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICZwZGV2LT5hcmNoLnBndGFibGVzX2xpc3QpOworICAgICAgICAg
ICAgbmV4dCA9IG1hcF9kb21haW5fcGFnZShfbWZuKHB0ZS0+bWZuKSk7Cisg
ICAgICAgICAgICByYyA9IGZpbGxfcXB0KG5leHQsIGxldmVsIC0gMSwgcGdz
LCBwZGV2KTsKKyAgICAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKG5leHQp
OworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHJjOworfQorCitp
bnQgYW1kX2lvbW11X3F1YXJhbnRpbmVfaW5pdChzdHJ1Y3QgcGNpX2RldiAq
cGRldikKK3sKKyAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9p
b21tdShkb21faW8pOwogICAgIHVuc2lnbmVkIGxvbmcgZW5kX2dmbiA9CiAg
ICAgICAgIDF1bCA8PCAoREVGQVVMVF9ET01BSU5fQUREUkVTU19XSURUSCAt
IFBBR0VfU0hJRlQpOwogICAgIHVuc2lnbmVkIGludCBsZXZlbCA9IGFtZF9p
b21tdV9nZXRfcGFnaW5nX21vZGUoZW5kX2dmbik7Ci0gICAgdW5pb24gYW1k
X2lvbW11X3B0ZSAqdGFibGU7CisgICAgdW5zaWduZWQgaW50IHJlcV9pZCA9
IGdldF9kbWFfcmVxdWVzdG9yX2lkKHBkZXYtPnNlZywgcGRldi0+c2JkZi5i
ZGYpOworICAgIGNvbnN0IHN0cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX21h
cHBpbmdzID0gZ2V0X2l2cnNfbWFwcGluZ3MocGRldi0+c2VnKTsKKyAgICBp
bnQgcmM7CiAKLSAgICBpZiAoIGhkLT5hcmNoLnJvb3RfdGFibGUgKQorICAg
IEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKKyAgICBBU1NFUlQoIWhkLT5h
cmNoLnJvb3RfdGFibGUpOworCisgICAgQVNTRVJUKHBkZXYtPmFyY2gucHNl
dWRvX2RvbWlkICE9IERPTUlEX0lOVkFMSUQpOworCisgICAgaWYgKCBwZGV2
LT5hcmNoLmFtZC5yb290X3RhYmxlICkKICAgICB7Ci0gICAgICAgIEFTU0VS
VF9VTlJFQUNIQUJMRSgpOworICAgICAgICBjbGVhcl9kb21haW5fcGFnZShw
ZGV2LT5hcmNoLmxlYWZfbWZuKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAg
fQogCi0gICAgc3Bpbl9sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwot
Ci0gICAgaGQtPmFyY2gucm9vdF90YWJsZSA9IGFsbG9jX2FtZF9pb21tdV9w
Z3RhYmxlKCk7Ci0gICAgaWYgKCAhaGQtPmFyY2gucm9vdF90YWJsZSApCi0g
ICAgICAgIGdvdG8gb3V0OwotCi0gICAgdGFibGUgPSBfX21hcF9kb21haW5f
cGFnZShoZC0+YXJjaC5yb290X3RhYmxlKTsKLSAgICB3aGlsZSAoIGxldmVs
ICkKKyAgICBwZGV2LT5hcmNoLmFtZC5yb290X3RhYmxlID0gYWxsb2NfYW1k
X2lvbW11X3BndGFibGUoKTsKKyAgICBpZiAoICFwZGV2LT5hcmNoLmFtZC5y
b290X3RhYmxlICkKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICAv
KiBUcmFuc2llbnRseSBpbnN0YWxsIHRoZSByb290IGludG8gRG9tSU8sIGZv
ciBpb21tdV9pZGVudGl0eV9tYXBwaW5nKCkuICovCisgICAgaGQtPmFyY2gu
cm9vdF90YWJsZSA9IHBkZXYtPmFyY2guYW1kLnJvb3RfdGFibGU7CisKKyAg
ICByYyA9IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoZG9t
X2lvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpdnJzX21hcHBpbmdzW3JlcV9pZF0udW5pdHlfbWFwLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKKwor
ICAgIGlvbW11X2lkZW50aXR5X21hcF90ZWFyZG93bihkb21faW8pOworICAg
IGhkLT5hcmNoLnJvb3RfdGFibGUgPSBOVUxMOworCisgICAgaWYgKCByYyAp
CisgICAgICAgIHByaW50aygiJTA0eDolMDJ4OiUwMnguJXU6IHF1YXJhbnRp
bmUgdW5pdHkgbWFwcGluZyBmYWlsZWRcbiIsCisgICAgICAgICAgICAgICBw
ZGV2LT5zZWcsIHBkZXYtPmJ1cywKKyAgICAgICAgICAgICAgIFBDSV9TTE9U
KHBkZXYtPmRldmZuKSwgUENJX0ZVTkMocGRldi0+ZGV2Zm4pKTsKKyAgICBl
bHNlCiAgICAgewotICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsKLSAg
ICAgICAgdW5zaWduZWQgaW50IGk7CisgICAgICAgIHVuaW9uIGFtZF9pb21t
dV9wdGUgKnJvb3Q7CisgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnc1tJ
T01NVV9NQVhfUFRfTEVWRUxTXSA9IHt9OwogCi0gICAgICAgIC8qCi0gICAg
ICAgICAqIFRoZSBwZ3RhYmxlIGFsbG9jYXRvciBpcyBmaW5lIGZvciB0aGUg
bGVhZiBwYWdlLCBhcyB3ZWxsIGFzCi0gICAgICAgICAqIHBhZ2UgdGFibGUg
cGFnZXMsIGFuZCB0aGUgcmVzdWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdh
eXMKLSAgICAgICAgICogemVyb2VkLgotICAgICAgICAgKi8KLSAgICAgICAg
cGcgPSBhbGxvY19hbWRfaW9tbXVfcGd0YWJsZSgpOwotICAgICAgICBpZiAo
ICFwZyApCi0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgc3Bpbl9sb2Nr
KCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogCi0gICAgICAgIGZvciAoIGkg
PSAwOyBpIDwgUFRFX1BFUl9UQUJMRV9TSVpFOyBpKysgKQotICAgICAgICB7
Ci0gICAgICAgICAgICB1bmlvbiBhbWRfaW9tbXVfcHRlICpwZGUgPSAmdGFi
bGVbaV07CisgICAgICAgIHJvb3QgPSBfX21hcF9kb21haW5fcGFnZShwZGV2
LT5hcmNoLmFtZC5yb290X3RhYmxlKTsKKyAgICAgICAgcmMgPSBmaWxsX3Fw
dChyb290LCBsZXZlbCAtIDEsIHBncywgcGRldik7CisgICAgICAgIHVubWFw
X2RvbWFpbl9wYWdlKHJvb3QpOwogCi0gICAgICAgICAgICAvKgotICAgICAg
ICAgICAgICogUERFcyBhcmUgZXNzZW50aWFsbHkgYSBzdWJzZXQgb2YgUFRF
cywgc28gdGhpcyBmdW5jdGlvbgotICAgICAgICAgICAgICogaXMgZmluZSB0
byB1c2UgZXZlbiBhdCB0aGUgbGVhZi4KLSAgICAgICAgICAgICAqLwotICAg
ICAgICAgICAgc2V0X2lvbW11X3BkZV9wcmVzZW50KHBkZSwgbWZuX3gocGFn
ZV90b19tZm4ocGcpKSwgbGV2ZWwgLSAxLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZhbHNlLCB0cnVlKTsKLSAgICAgICAgfQorICAg
ICAgICBwZGV2LT5hcmNoLmxlYWZfbWZuID0gcGFnZV90b19tZm4ocGdzWzBd
KTsKIAotICAgICAgICB1bm1hcF9kb21haW5fcGFnZSh0YWJsZSk7Ci0gICAg
ICAgIHRhYmxlID0gX19tYXBfZG9tYWluX3BhZ2UocGcpOwotICAgICAgICBs
ZXZlbC0tOworICAgICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGlu
Z19sb2NrKTsKICAgICB9Ci0gICAgdW5tYXBfZG9tYWluX3BhZ2UodGFibGUp
OwogCi0gb3V0OgotICAgIHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5n
X2xvY2spOworICAgIGlmICggcmMgKQorICAgICAgICBhbWRfaW9tbXVfcXVh
cmFudGluZV90ZWFyZG93bihwZGV2KTsKKworICAgIHJldHVybiByYzsKK30K
Kwordm9pZCBhbWRfaW9tbXVfcXVhcmFudGluZV90ZWFyZG93bihzdHJ1Y3Qg
cGNpX2RldiAqcGRldikKK3sKKyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsK
KworICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKKworICAgIGlmICgg
IXBkZXYtPmFyY2guYW1kLnJvb3RfdGFibGUgKQorICAgICAgICByZXR1cm47
CisKKyAgICB3aGlsZSAoIChwZyA9IHBhZ2VfbGlzdF9yZW1vdmVfaGVhZCgm
cGRldi0+YXJjaC5wZ3RhYmxlc19saXN0KSkgKQorICAgICAgICBmcmVlX2Ft
ZF9pb21tdV9wZ3RhYmxlKHBnKTsKIAotICAgIC8qIFBhZ2VzIGxlYWtlZCBp
biBmYWlsdXJlIGNhc2UgKi8KLSAgICByZXR1cm4gbGV2ZWwgPyAtRU5PTUVN
IDogMDsKKyAgICBwZGV2LT5hcmNoLmFtZC5yb290X3RhYmxlID0gTlVMTDsK
IH0KIAogLyoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3Bj
aV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9h
bWQvcGNpX2FtZF9pb21tdS5jCkBAIC0xMjUsNiArMTI1LDggQEAgc3RhdGlj
IGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldHVwXwogICAgIHU4IGJ1
cyA9IHBkZXYtPmJ1czsKICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9
IGRvbV9pb21tdShkb21haW4pOwogICAgIGNvbnN0IHN0cnVjdCBpdnJzX21h
cHBpbmdzICppdnJzX2RldjsKKyAgICBjb25zdCBzdHJ1Y3QgcGFnZV9pbmZv
ICpyb290X3BnOworICAgIGRvbWlkX3QgZG9taWQ7CiAKICAgICBCVUdfT04o
IWhkLT5hcmNoLnBhZ2luZ19tb2RlIHx8ICFpb21tdS0+ZGV2X3RhYmxlLmJ1
ZmZlcik7CiAKQEAgLTE0NCwxNCArMTQ2LDI1IEBAIHN0YXRpYyBpbnQgX19t
dXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAgICBkdGUgPSAmdGFibGVb
cmVxX2lkXTsKICAgICBpdnJzX2RldiA9ICZnZXRfaXZyc19tYXBwaW5ncyhp
b21tdS0+c2VnKVtyZXFfaWRdOwogCisgICAgaWYgKCBkb21haW4gIT0gZG9t
X2lvICkKKyAgICB7CisgICAgICAgIHJvb3RfcGcgPSBoZC0+YXJjaC5yb290
X3RhYmxlOworICAgICAgICBkb21pZCA9IGRvbWFpbi0+ZG9tYWluX2lkOwor
ICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICByb290X3BnID0gcGRl
di0+YXJjaC5hbWQucm9vdF90YWJsZTsKKyAgICAgICAgZG9taWQgPSBwZGV2
LT5hcmNoLnBzZXVkb19kb21pZDsKKyAgICB9CisKICAgICBzcGluX2xvY2tf
aXJxc2F2ZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsKIAogICAgIGlmICggIWR0
ZS0+diB8fCAhZHRlLT50diApCiAgICAgewogICAgICAgICAvKiBiaW5kIERU
RSB0byBkb21haW4gcGFnZS10YWJsZXMgKi8KICAgICAgICAgcmMgPSBhbWRf
aW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJsZSgKLSAgICAgICAgICAgICAgICAg
ZHRlLCBwYWdlX3RvX21hZGRyKGhkLT5hcmNoLnJvb3RfdGFibGUpLAotICAg
ICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwgaGQtPmFyY2gucGFn
aW5nX21vZGUsIHNyX2ZsYWdzKTsKKyAgICAgICAgICAgICAgICAgZHRlLCBw
YWdlX3RvX21hZGRyKHJvb3RfcGcpLCBkb21pZCwKKyAgICAgICAgICAgICAg
ICAgaGQtPmFyY2gucGFnaW5nX21vZGUsIHNyX2ZsYWdzKTsKICAgICAgICAg
aWYgKCByYyApCiAgICAgICAgIHsKICAgICAgICAgICAgIEFTU0VSVChyYyA8
IDApOwpAQCAtMTc1LDcgKzE4OCw3IEBAIHN0YXRpYyBpbnQgX19tdXN0X2No
ZWNrIGFtZF9pb21tdV9zZXR1cF8KIAogICAgICAgICBhbWRfaW9tbXVfZmx1
c2hfZGV2aWNlKGlvbW11LCByZXFfaWQpOwogICAgIH0KLSAgICBlbHNlIGlm
ICggZHRlLT5wdF9yb290ICE9IG1mbl94KHBhZ2VfdG9fbWZuKGhkLT5hcmNo
LnJvb3RfdGFibGUpKSApCisgICAgZWxzZSBpZiAoIGR0ZS0+cHRfcm9vdCAh
PSBtZm5feChwYWdlX3RvX21mbihyb290X3BnKSkgKQogICAgIHsKICAgICAg
ICAgLyoKICAgICAgICAgICogU3RyaWN0bHkgc3BlYWtpbmcgaWYgdGhlIGRl
dmljZSBpcyB0aGUgb25seSBvbmUgd2l0aCB0aGlzIHJlcXVlc3RvcgpAQCAt
MTg4LDggKzIwMSw4IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFtZF9p
b21tdV9zZXR1cF8KICAgICAgICAgICAgIHJjID0gLUVPUE5PVFNVUFA7CiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIHJjID0gYW1kX2lvbW11X3NldF9y
b290X3BhZ2VfdGFibGUoCi0gICAgICAgICAgICAgICAgICAgICBkdGUsIHBh
Z2VfdG9fbWFkZHIoaGQtPmFyY2gucm9vdF90YWJsZSksCi0gICAgICAgICAg
ICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwgaGQtPmFyY2gucGFnaW5n
X21vZGUsIHNyX2ZsYWdzKTsKKyAgICAgICAgICAgICAgICAgICAgIGR0ZSwg
cGFnZV90b19tYWRkcihyb290X3BnKSwgZG9taWQsCisgICAgICAgICAgICAg
ICAgICAgICBoZC0+YXJjaC5wYWdpbmdfbW9kZSwgc3JfZmxhZ3MpOwogICAg
ICAgICBpZiAoIHJjIDwgMCApCiAgICAgICAgIHsKICAgICAgICAgICAgIHNw
aW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5sb2NrLCBmbGFncyk7CkBA
IC0yMDgsNiArMjIxLDcgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgYW1k
X2lvbW11X3NldHVwXwogICAgICAgICAgICAgICAqIGludGVuZGVkIGFueXdh
eS4KICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAhcGRldi0+ZG9t
YWluLT5pc19keWluZyAmJgorICAgICAgICAgICAgIHBkZXYtPmRvbWFpbiAh
PSBkb21faW8gJiYKICAgICAgICAgICAgICAoYW55X3BkZXZfYmVoaW5kX2lv
bW11KHBkZXYtPmRvbWFpbiwgcGRldiwgaW9tbXUpIHx8CiAgICAgICAgICAg
ICAgIHBkZXYtPnBoYW50b21fc3RyaWRlKSApCiAgICAgICAgICAgICBwcmlu
dGsoIiAlMDR4OiUwMng6JTAyeC4ldTogcmVhc3NpZ25tZW50IG1heSBjYXVz
ZSAlcGQgZGF0YSBjb3JydXB0aW9uXG4iLApAQCAtMjM4LDkgKzI1Miw4IEBA
IHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAg
ICBBTURfSU9NTVVfREVCVUcoIlNldHVwIEkvTyBwYWdlIHRhYmxlOiBkZXZp
Y2UgaWQgPSAlI3gsIHR5cGUgPSAlI3gsICIKICAgICAgICAgICAgICAgICAg
ICAgInJvb3QgdGFibGUgPSAlIyJQUkl4NjQiLCAiCiAgICAgICAgICAgICAg
ICAgICAgICJkb21haW4gPSAlZCwgcGFnaW5nIG1vZGUgPSAlZFxuIiwKLSAg
ICAgICAgICAgICAgICAgICAgcmVxX2lkLCBwZGV2LT50eXBlLAotICAgICAg
ICAgICAgICAgICAgICBwYWdlX3RvX21hZGRyKGhkLT5hcmNoLnJvb3RfdGFi
bGUpLAotICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwg
aGQtPmFyY2gucGFnaW5nX21vZGUpOworICAgICAgICAgICAgICAgICAgICBy
ZXFfaWQsIHBkZXYtPnR5cGUsIHBhZ2VfdG9fbWFkZHIocm9vdF9wZyksCisg
ICAgICAgICAgICAgICAgICAgIGRvbWlkLCBoZC0+YXJjaC5wYWdpbmdfbW9k
ZSk7CiAKICAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7CiAKQEAgLTMx
Myw3ICszMjYsNyBAQCBzdGF0aWMgaW50IGlvdl9lbmFibGVfeHQodm9pZCkK
IAogaW50IGFtZF9pb21tdV9hbGxvY19yb290KHN0cnVjdCBkb21haW5faW9t
bXUgKmhkKQogewotICAgIGlmICggdW5saWtlbHkoIWhkLT5hcmNoLnJvb3Rf
dGFibGUpICkKKyAgICBpZiAoIHVubGlrZWx5KCFoZC0+YXJjaC5yb290X3Rh
YmxlKSAmJiBoZCAhPSBkb21faW9tbXUoZG9tX2lvKSApCiAgICAgewogICAg
ICAgICBoZC0+YXJjaC5yb290X3RhYmxlID0gYWxsb2NfYW1kX2lvbW11X3Bn
dGFibGUoKTsKICAgICAgICAgaWYgKCAhaGQtPmFyY2gucm9vdF90YWJsZSAp
CkBAIC00MDQsNyArNDE3LDcgQEAgc3RhdGljIHZvaWQgYW1kX2lvbW11X2Rp
c2FibGVfZG9tYWluX2RldgogCiAgICAgICAgIEFNRF9JT01NVV9ERUJVRygi
RGlzYWJsZTogZGV2aWNlIGlkID0gJSN4LCAiCiAgICAgICAgICAgICAgICAg
ICAgICAgICAiZG9tYWluID0gJWQsIHBhZ2luZyBtb2RlID0gJWRcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICByZXFfaWQsICBkb21haW4tPmRvbWFp
bl9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcV9pZCwgZHRlLT5k
b21haW5faWQsCiAgICAgICAgICAgICAgICAgICAgICAgICBkb21faW9tbXUo
ZG9tYWluKS0+YXJjaC5wYWdpbmdfbW9kZSk7CiAgICAgfQogICAgIHNwaW5f
dW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5sb2NrLCBmbGFncyk7CkBAIC02
NjgsNiArNjgxLDggQEAgc3RhdGljIGludCBhbWRfaW9tbXVfcmVtb3ZlX2Rl
dmljZSh1OCBkZQogCiAgICAgYW1kX2lvbW11X2Rpc2FibGVfZG9tYWluX2Rl
dmljZShwZGV2LT5kb21haW4sIGlvbW11LCBkZXZmbiwgcGRldik7CiAKKyAg
ICBhbWRfaW9tbXVfcXVhcmFudGluZV90ZWFyZG93bihwZGV2KTsKKwogICAg
IGlvbW11X2ZyZWVfZG9taWQocGRldi0+YXJjaC5wc2V1ZG9fZG9taWQsIGlv
bW11LT5kb21pZF9tYXApOwogICAgIHBkZXYtPmFyY2gucHNldWRvX2RvbWlk
ID0gRE9NSURfSU5WQUxJRDsKIAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lv
bW11LmMKQEAgLTQ1MCwyMSArNDUwLDIxIEBAIGludCBpb21tdV9pb3RsYl9m
bHVzaF9hbGwoc3RydWN0IGRvbWFpbgogICAgIHJldHVybiByYzsKIH0KIAot
c3RhdGljIGludCBfX2luaXQgaW9tbXVfcXVhcmFudGluZV9pbml0KHZvaWQp
CitpbnQgaW9tbXVfcXVhcmFudGluZV9kZXZfaW5pdChkZXZpY2VfdCAqZGV2
KQogewogICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9t
X2lvbW11KGRvbV9pbyk7Ci0gICAgaW50IHJjOwogCi0gICAgZG9tX2lvLT5v
cHRpb25zIHw9IFhFTl9ET01DVExfQ0RGX2lvbW11OworICAgIGlmICggIWlv
bW11X3F1YXJhbnRpbmUgfHwgIWhkLT5wbGF0Zm9ybV9vcHMtPnF1YXJhbnRp
bmVfaW5pdCApCisgICAgICAgIHJldHVybiAwOwogCi0gICAgcmMgPSBpb21t
dV9kb21haW5faW5pdChkb21faW8sIDApOwotICAgIGlmICggcmMgKQotICAg
ICAgICByZXR1cm4gcmM7CisgICAgcmV0dXJuIGlvbW11X2NhbGwoaGQtPnBs
YXRmb3JtX29wcywgcXVhcmFudGluZV9pbml0LCBkZXYpOworfQogCi0gICAg
aWYgKCAhaGQtPnBsYXRmb3JtX29wcy0+cXVhcmFudGluZV9pbml0ICkKLSAg
ICAgICAgcmV0dXJuIDA7CitzdGF0aWMgaW50IF9faW5pdCBpb21tdV9xdWFy
YW50aW5lX2luaXQodm9pZCkKK3sKKyAgICBkb21faW8tPm9wdGlvbnMgfD0g
WEVOX0RPTUNUTF9DREZfaW9tbXU7CiAKLSAgICByZXR1cm4gaGQtPnBsYXRm
b3JtX29wcy0+cXVhcmFudGluZV9pbml0KGRvbV9pbyk7CisgICAgcmV0dXJu
IGlvbW11X2RvbWFpbl9pbml0KGRvbV9pbywgMCk7CiB9CiAKIGludCBfX2lu
aXQgaW9tbXVfc2V0dXAodm9pZCkKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvcGNpLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNp
LmMKQEAgLTkyOSw5ICs5MjksMTYgQEAgc3RhdGljIGludCBkZWFzc2lnbl9k
ZXZpY2Uoc3RydWN0IGRvbWFpbgogICAgICAgICByZXR1cm4gLUVOT0RFVjsK
IAogICAgIC8qIERlLWFzc2lnbm1lbnQgZnJvbSBkb21faW8gc2hvdWxkIGRl
LXF1YXJhbnRpbmUgdGhlIGRldmljZSAqLwotICAgIHRhcmdldCA9ICgocGRl
di0+cXVhcmFudGluZSB8fCBpb21tdV9xdWFyYW50aW5lKSAmJgotICAgICAg
ICAgICAgICBwZGV2LT5kb21haW4gIT0gZG9tX2lvKSA/Ci0gICAgICAgIGRv
bV9pbyA6IGhhcmR3YXJlX2RvbWFpbjsKKyAgICBpZiAoIChwZGV2LT5xdWFy
YW50aW5lIHx8IGlvbW11X3F1YXJhbnRpbmUpICYmIHBkZXYtPmRvbWFpbiAh
PSBkb21faW8gKQorICAgIHsKKyAgICAgICAgcmV0ID0gaW9tbXVfcXVhcmFu
dGluZV9kZXZfaW5pdChwY2lfdG9fZGV2KHBkZXYpKTsKKyAgICAgICAgaWYg
KCByZXQgKQorICAgICAgICAgICByZXR1cm4gcmV0OworCisgICAgICAgIHRh
cmdldCA9IGRvbV9pbzsKKyAgICB9CisgICAgZWxzZQorICAgICAgICB0YXJn
ZXQgPSBoYXJkd2FyZV9kb21haW47CiAKICAgICB3aGlsZSAoIHBkZXYtPnBo
YW50b21fc3RyaWRlICkKICAgICB7CkBAIC0xNTQ3LDYgKzE1NTQsMTMgQEAg
c3RhdGljIGludCBhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4gKgogICAg
ICAgICBtc2l4dGJsX2luaXQoZCk7CiAgICAgfQogCisgICAgaWYgKCBwZGV2
LT5kb21haW4gIT0gZG9tX2lvICkKKyAgICB7CisgICAgICAgIHJjID0gaW9t
bXVfcXVhcmFudGluZV9kZXZfaW5pdChwY2lfdG9fZGV2KHBkZXYpKTsKKyAg
ICAgICAgaWYgKCByYyApCisgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAg
fQorCiAgICAgcGRldi0+ZmF1bHQuY291bnQgPSAwOwogCiAgICAgaWYgKCAo
cmMgPSBoZC0+cGxhdGZvcm1fb3BzLT5hc3NpZ25fZGV2aWNlKGQsIGRldmZu
LCBwY2lfdG9fZGV2KHBkZXYpLCBmbGFnKSkgKQotLS0gYS94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC92dGQvaW9tbXUuYwpAQCAtNDMsNiArNDMsMTIgQEAKICNp
bmNsdWRlICJ2dGQuaCIKICNpbmNsdWRlICIuLi9hdHMuaCIKIAorI2RlZmlu
ZSBERVZJQ0VfRE9NSUQoZCwgcGRldikgKChkKSAhPSBkb21faW8gPyAoZCkt
PmRvbWFpbl9pZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA6IChwZGV2KS0+YXJjaC5wc2V1ZG9fZG9taWQpCisj
ZGVmaW5lIERFVklDRV9QR1RBQkxFKGQsIHBkZXYpICgoZCkgIT0gZG9tX2lv
IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZG9tX2lv
bW11KGQpLT5hcmNoLnBnZF9tYWRkciBcCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA6IChwZGV2KS0+YXJjaC52dGQucGdkX21hZGRyKQor
CiAvKiBQb3NzaWJsZSB1bmZpbHRlcmVkIExBUElDL01TSSBtZXNzYWdlcyBm
cm9tIHVudHJ1c3RlZCBzb3VyY2VzPyAqLwogYm9vbCBfX3JlYWRfbW9zdGx5
IHVudHJ1c3RlZF9tc2k7CiAKQEAgLTc4LDEzICs4NCwxOCBAQCBzdGF0aWMg
aW50IGdldF9pb21tdV9kaWQoZG9taWRfdCBkb21pZCwKIAogI2RlZmluZSBE
SURfRklFTERfV0lEVEggMTYKICNkZWZpbmUgRElEX0hJR0hfT0ZGU0VUIDgK
KworLyoKKyAqIFRoaXMgZnVuY3Rpb24gbWF5IGhhdmUgImNvbnRleHQiIHBh
c3NlZCBhcyBOVUxMLCB0byBtZXJlbHkgb2J0YWluIGEgRElECisgKiBmb3Ig
ImRvbWlkIi4KKyAqLwogc3RhdGljIGludCBjb250ZXh0X3NldF9kb21haW5f
aWQoc3RydWN0IGNvbnRleHRfZW50cnkgKmNvbnRleHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb21pZF90IGRvbWlkLCBzdHJ1Y3Qg
dnRkX2lvbW11ICppb21tdSkKIHsKICAgICB1bnNpZ25lZCBsb25nIG5yX2Rv
bSwgaTsKICAgICBpbnQgZm91bmQgPSAwOwogCi0gICAgQVNTRVJUKHNwaW5f
aXNfbG9ja2VkKCZpb21tdS0+bG9jaykpOworICAgIEFTU0VSVChwY2lkZXZz
X2xvY2tlZCgpKTsKIAogICAgIG5yX2RvbSA9IGNhcF9uZG9tcyhpb21tdS0+
Y2FwKTsKICAgICBpID0gZmluZF9maXJzdF9iaXQoaW9tbXUtPmRvbWlkX2Jp
dG1hcCwgbnJfZG9tKTsKQEAgLTExMCw4ICsxMjEsMTMgQEAgc3RhdGljIGlu
dCBjb250ZXh0X3NldF9kb21haW5faWQoc3RydWN0CiAgICAgfQogCiAgICAg
c2V0X2JpdChpLCBpb21tdS0+ZG9taWRfYml0bWFwKTsKLSAgICBjb250ZXh0
LT5oaSAmPSB+KCgoMSA8PCBESURfRklFTERfV0lEVEgpIC0gMSkgPDwgRElE
X0hJR0hfT0ZGU0VUKTsKLSAgICBjb250ZXh0LT5oaSB8PSAoaSAmICgoMSA8
PCBESURfRklFTERfV0lEVEgpIC0gMSkpIDw8IERJRF9ISUdIX09GRlNFVDsK
KworICAgIGlmICggY29udGV4dCApCisgICAgeworICAgICAgICBjb250ZXh0
LT5oaSAmPSB+KCgoMSA8PCBESURfRklFTERfV0lEVEgpIC0gMSkgPDwgRElE
X0hJR0hfT0ZGU0VUKTsKKyAgICAgICAgY29udGV4dC0+aGkgfD0gKGkgJiAo
KDEgPDwgRElEX0ZJRUxEX1dJRFRIKSAtIDEpKSA8PCBESURfSElHSF9PRkZT
RVQ7CisgICAgfQorCiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTE2MSw4ICsx
NzcsMTIgQEAgc3RhdGljIHZvaWQgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAo
c3RydQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IHBjaV9kZXYgKmV4Y2x1ZGUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkK
IHsKLSAgICBib29sIGZvdW5kID0gYW55X3BkZXZfYmVoaW5kX2lvbW11KGQs
IGV4Y2x1ZGUsIGlvbW11KTsKKyAgICBib29sIGZvdW5kOworCisgICAgaWYg
KCBkID09IGRvbV9pbyApCisgICAgICAgIHJldHVybjsKIAorICAgIGZvdW5k
ID0gYW55X3BkZXZfYmVoaW5kX2lvbW11KGQsIGV4Y2x1ZGUsIGlvbW11KTsK
ICAgICAvKgogICAgICAqIEhpZGRlbiBkZXZpY2VzIGFyZSBhc3NvY2lhdGVk
IHdpdGggRG9tWEVOIGJ1dCB1c2FibGUgYnkgdGhlIGhhcmR3YXJlCiAgICAg
ICogZG9tYWluLiBIZW5jZSB0aGV5IG5lZWQgY29uc2lkZXJpbmcgaGVyZSBh
cyB3ZWxsLgpAQCAtMTQwMCw3ICsxNDIwLDcgQEAgaW50IGRvbWFpbl9jb250
ZXh0X21hcHBpbmdfb25lKAogICAgICAgICBkb21pZCA9IGlvbW11LT5kb21p
ZF9tYXBbcHJldl9kaWRdOwogICAgICAgICBpZiAoIGRvbWlkIDwgRE9NSURf
RklSU1RfUkVTRVJWRUQgKQogICAgICAgICAgICAgcHJldl9kb20gPSByY3Vf
bG9ja19kb21haW5fYnlfaWQoZG9taWQpOwotICAgICAgICBlbHNlIGlmICgg
ZG9taWQgPT0gRE9NSURfSU8gKQorICAgICAgICBlbHNlIGlmICggcGRldiA/
IGRvbWlkID09IHBkZXYtPmFyY2gucHNldWRvX2RvbWlkIDogZG9taWQgPiBE
T01JRF9NQVNLICkKICAgICAgICAgICAgIHByZXZfZG9tID0gcmN1X2xvY2tf
ZG9tYWluKGRvbV9pbyk7CiAgICAgICAgIGlmICggIXByZXZfZG9tICkKICAg
ICAgICAgewpAQCAtMTU3NywxNSArMTU5NywxMiBAQCBpbnQgZG9tYWluX2Nv
bnRleHRfbWFwcGluZ19vbmUoCiAgICAgewogICAgICAgICBpZiAoICFwcmV2
X2RvbSApCiAgICAgICAgICAgICBkb21haW5fY29udGV4dF91bm1hcF9vbmUo
ZG9tYWluLCBpb21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX0RPTUlE
KGRvbWFpbiwgcGRldikpOwogICAgICAgICBlbHNlIGlmICggcHJldl9kb20g
IT0gZG9tYWluICkgLyogQXZvaWQgaW5maW5pdGUgcmVjdXJzaW9uLiAqLwot
ICAgICAgICB7Ci0gICAgICAgICAgICBoZCA9IGRvbV9pb21tdShwcmV2X2Rv
bSk7CiAgICAgICAgICAgICBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShw
cmV2X2RvbSwgaW9tbXUsIGJ1cywgZGV2Zm4sIHBkZXYsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9p
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhk
LT5hcmNoLnBnZF9tYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIERFVklDRV9ET01JRChwcmV2X2RvbSwgcGRldiksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZJQ0Vf
UEdUQUJMRShwcmV2X2RvbSwgcGRldiksCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtb2RlICYgTUFQX1dJVEhfUk1SUik7Ci0g
ICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoIHByZXZfZG9tICkKQEAgLTE2
MDIsNyArMTYxOSw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFw
cGluZyhzdHJ1Y3QKIHsKICAgICBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRy
aGQ7CiAgICAgY29uc3Qgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJyOwot
ICAgIHBhZGRyX3QgcGdkX21hZGRyID0gZG9tX2lvbW11KGRvbWFpbiktPmFy
Y2gucGdkX21hZGRyOworICAgIHBhZGRyX3QgcGdkX21hZGRyID0gREVWSUNF
X1BHVEFCTEUoZG9tYWluLCBwZGV2KTsKICAgICBkb21pZF90IG9yaWdfZG9t
aWQgPSBwZGV2LT5hcmNoLnBzZXVkb19kb21pZDsKICAgICBpbnQgcmV0ID0g
MDsKICAgICB1bnNpZ25lZCBpbnQgaSwgbW9kZSA9IDA7CkBAIC0xNjM1LDcg
KzE2NTIsNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmco
c3RydWN0CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGlmICggZG9t
YWluICE9IHBkZXYtPmRvbWFpbiApCisgICAgaWYgKCBkb21haW4gIT0gcGRl
di0+ZG9tYWluICYmIHBkZXYtPmRvbWFpbiAhPSBkb21faW8gKQogICAgIHsK
ICAgICAgICAgaWYgKCBwZGV2LT5kb21haW4tPmlzX2R5aW5nICkKICAgICAg
ICAgICAgIG1vZGUgfD0gTUFQX09XTkVSX0RZSU5HOwpAQCAtMTY3Niw4ICsx
NjkzLDggQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0
cnVjdAogICAgICAgICAgICAgcHJpbnRrKFZURFBSRUZJWCAiZCVkOlBDSWU6
IG1hcCAlMDR4OiUwMng6JTAyeC4ldVxuIiwKICAgICAgICAgICAgICAgICAg
ICBkb21haW4tPmRvbWFpbl9pZCwgc2VnLCBidXMsCiAgICAgICAgICAgICAg
ICAgICAgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbikpOwotICAg
ICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21haW4s
IGRyaGQtPmlvbW11LCBidXMsIGRldmZuLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwZGV2LCBkb21haW4tPmRvbWFpbl9p
ZCwgcGdkX21hZGRyLAorICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9t
YXBwaW5nX29uZShkb21haW4sIGRyaGQtPmlvbW11LCBidXMsIGRldmZuLCBw
ZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSwgcGdkX21hZGRyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlKTsK
ICAgICAgICAgaWYgKCByZXQgPiAwICkKICAgICAgICAgICAgIHJldCA9IDA7
CkBAIC0xNzAxLDggKzE3MTgsOCBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250
ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgICAgICAgICAgICAgUENJX1NM
T1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbikpOwogCiAgICAgICAgIHJldCA9
IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+aW9t
bXUsIGJ1cywgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBkZXYsIGRvbWFpbi0+ZG9tYWluX2lkLCBwZ2RfbWFk
ZHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1vZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwZGV2LCBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGdkX21hZGRy
LCBtb2RlKTsKICAgICAgICAgaWYgKCByZXQgPCAwICkKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBwcmV2X3ByZXNlbnQgPSByZXQ7CkBAIC0xNzMw
LDggKzE3NDcsOCBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBp
bmcoc3RydWN0CiAgICAgICAgICAqLwogICAgICAgICBpZiAoIHJldCA+PSAw
ICkKICAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdf
b25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBk
b21haW4tPmRvbWFpbl9pZCwgcGdkX21hZGRyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBE
RVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBnZF9tYWRkciwgbW9kZSk7
CiAKICAgICAgICAgLyoKICAgICAgICAgICogRGV2aWNlcyBiZWhpbmQgUENJ
ZS10by1QQ0kvUENJeCBicmlkZ2UgbWF5IGdlbmVyYXRlIGRpZmZlcmVudApA
QCAtMTc0Niw4ICsxNzYzLDggQEAgc3RhdGljIGludCBkb21haW5fY29udGV4
dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICBpZiAoICFyZXQgJiYgcGRldl90
eXBlKHNlZywgYnVzLCBkZXZmbikgPT0gREVWX1RZUEVfUENJZTJQQ0lfQlJJ
REdFICYmCiAgICAgICAgICAgICAgKHNlY2J1cyAhPSBwZGV2LT5idXMgfHwg
cGRldi0+ZGV2Zm4gIT0gMCkgKQogICAgICAgICAgICAgcmV0ID0gZG9tYWlu
X2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgc2Vj
YnVzLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTlVMTCwgZG9tYWluLT5kb21haW5faWQsIHBnZF9tYWRkciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1vZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTlVMTCwgREVWSUNFX0RPTUlEKGRvbWFpbiwgcGRldiksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
Z2RfbWFkZHIsIG1vZGUpOwogCiAgICAgICAgIGlmICggcmV0ICkKICAgICAg
ICAgewpAQCAtMTg5Niw3ICsxOTEzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj
dCBhY3BpX2RyaGRfdW5pdCAqZG9tYQogICAgICAgICAgICAgICAgICAgIGRv
bWFpbi0+ZG9tYWluX2lkLCBzZWcsIGJ1cywKICAgICAgICAgICAgICAgICAg
ICBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSk7CiAgICAgICAg
IHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11
LCBidXMsIGRldmZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX0RPTUlEKGRvbWFpbiwg
cGRldikpOwogICAgICAgICBpZiAoICFyZXQgJiYgZGV2Zm4gPT0gcGRldi0+
ZGV2Zm4gJiYgYXRzX2RldmljZShwZGV2LCBkcmhkKSA+IDAgKQogICAgICAg
ICAgICAgZGlzYWJsZV9hdHNfZGV2aWNlKHBkZXYpOwogCkBAIC0xOTA3LDcg
KzE5MjQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0
ICpkb21hCiAgICAgICAgICAgICBwcmludGsoVlREUFJFRklYICJkJWQ6UENJ
OiB1bm1hcCAlMDR4OiUwMng6JTAyeC4ldVxuIiwKICAgICAgICAgICAgICAg
ICAgICBkb21haW4tPmRvbWFpbl9pZCwgc2VnLCBidXMsIFBDSV9TTE9UKGRl
dmZuKSwgUENJX0ZVTkMoZGV2Zm4pKTsKICAgICAgICAgcmV0ID0gZG9tYWlu
X2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21h
aW4tPmRvbWFpbl9pZCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSk7CiAgICAg
ICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC0xOTMw
LDE4ICsxOTQ3LDEyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhk
X3VuaXQgKmRvbWEKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAK
KyAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFp
biwgaW9tbXUsIHRtcF9idXMsIHRtcF9kZXZmbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIERFVklDRV9ET01JRChkb21haW4s
IHBkZXYpKTsKICAgICAgICAgLyogUENJZSB0byBQQ0kvUENJeCBicmlkZ2Ug
Ki8KLSAgICAgICAgaWYgKCBwZGV2X3R5cGUoc2VnLCB0bXBfYnVzLCB0bXBf
ZGV2Zm4pID09IERFVl9UWVBFX1BDSWUyUENJX0JSSURHRSApCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29u
ZShkb21haW4sIGlvbW11LCB0bXBfYnVzLCB0bXBfZGV2Zm4sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5k
b21haW5faWQpOwotICAgICAgICAgICAgaWYgKCAhcmV0ICkKLSAgICAgICAg
ICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWlu
LCBpb21tdSwgc2VjYnVzLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCk7Ci0g
ICAgICAgIH0KLSAgICAgICAgZWxzZSAvKiBMZWdhY3kgUENJIGJyaWRnZSAq
LwotICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25l
KGRvbWFpbiwgaW9tbXUsIHRtcF9idXMsIHRtcF9kZXZmbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRv
bWFpbl9pZCk7CisgICAgICAgIGlmICggIXJldCAmJiBwZGV2X3R5cGUoc2Vn
LCB0bXBfYnVzLCB0bXBfZGV2Zm4pID09IERFVl9UWVBFX1BDSWUyUENJX0JS
SURHRSApCisgICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1h
cF9vbmUoZG9tYWluLCBpb21tdSwgc2VjYnVzLCAwLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFVklDRV9ET01JRChk
b21haW4sIHBkZXYpKTsKIAogICAgICAgICBicmVhazsKIApAQCAtMTk4Nyw2
ICsxOTk4LDI1IEBAIHN0YXRpYyB2b2lkIGlvbW11X2RvbWFpbl90ZWFyZG93
bihzdHJ1Y3QKICAgICAgICAgY2xlYW51cF9kb21pZF9tYXAoZC0+ZG9tYWlu
X2lkLCBkcmhkLT5pb21tdSk7CiB9CiAKK3N0YXRpYyB2b2lkIHF1YXJhbnRp
bmVfdGVhcmRvd24oc3RydWN0IHBjaV9kZXYgKnBkZXYsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRf
dW5pdCAqZHJoZCkKK3sKKyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsKKwor
ICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKKworICAgIGlmICggIXBk
ZXYtPmFyY2gudnRkLnBnZF9tYWRkciApCisgICAgICAgIHJldHVybjsKKwor
ICAgIHdoaWxlICggKHBnID0gcGFnZV9saXN0X3JlbW92ZV9oZWFkKCZwZGV2
LT5hcmNoLnBndGFibGVzX2xpc3QpKSApCisgICAgICAgIGZyZWVfZG9taGVh
cF9wYWdlKHBnKTsKKworICAgIHBkZXYtPmFyY2gudnRkLnBnZF9tYWRkciA9
IDA7CisKKyAgICBpZiAoIGRyaGQgKQorICAgICAgICBjbGVhbnVwX2RvbWlk
X21hcChwZGV2LT5hcmNoLnBzZXVkb19kb21pZCwgZHJoZC0+aW9tbXUpOwor
fQorCiBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbnRlbF9pb21tdV9tYXBf
cGFnZShzdHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4s
IHVuc2lnbmVkIGludCBmbGFncywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZmx1c2hfZmxh
Z3MpCkBAIC0yMjA5LDYgKzIyMzksOCBAQCBzdGF0aWMgaW50IGludGVsX2lv
bW11X3JlbW92ZV9kZXZpY2UodTgKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgMCk7CiAgICAgfQogCisgICAg
cXVhcmFudGluZV90ZWFyZG93bihwZGV2LCBkcmhkKTsKKwogICAgIGlmICgg
ZHJoZCApCiAgICAgewogICAgICAgICBpb21tdV9mcmVlX2RvbWlkKHBkZXYt
PmFyY2gucHNldWRvX2RvbWlkLApAQCAtMjg4OCw2MCArMjkyMCwxMzkgQEAg
c3RhdGljIHZvaWQgdnRkX2R1bXBfcDJtX3RhYmxlKHN0cnVjdCBkbwogICAg
IHZ0ZF9kdW1wX3AybV90YWJsZV9sZXZlbChoZC0+YXJjaC5wZ2RfbWFkZHIs
IGFnYXdfdG9fbGV2ZWwoaGQtPmFyY2guYWdhdyksIDAsIDApOwogfQogCi1z
dGF0aWMgaW50IF9faW5pdCBpbnRlbF9pb21tdV9xdWFyYW50aW5lX2luaXQo
c3RydWN0IGRvbWFpbiAqZCkKK3N0YXRpYyBpbnQgZmlsbF9xcHQoc3RydWN0
IGRtYV9wdGUgKnRoaXMsIHVuc2lnbmVkIGludCBsZXZlbCwKKyAgICAgICAg
ICAgICAgICAgICAgcGFkZHJfdCBtYWRkcnNbNl0sIHN0cnVjdCBwY2lfZGV2
ICpwZGV2KQogewotICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9t
X2lvbW11KGQpOwotICAgIHN0cnVjdCBkbWFfcHRlICpwYXJlbnQ7CisgICAg
c3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZG9tX2lvKTsK
KyAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICBpbnQgcmMgPSAwOworCisgICAg
Zm9yICggaSA9IDA7ICFyYyAmJiBpIDwgUFRFX05VTTsgKytpICkKKyAgICB7
CisgICAgICAgIHN0cnVjdCBkbWFfcHRlICpwdGUgPSAmdGhpc1tpXSwgKm5l
eHQ7CisKKyAgICAgICAgaWYgKCAhZG1hX3B0ZV9wcmVzZW50KCpwdGUpICkK
KyAgICAgICAgeworICAgICAgICAgICAgaWYgKCAhbWFkZHJzW2xldmVsXSAp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyoKKyAgICAgICAg
ICAgICAgICAgKiBUaGUgcGd0YWJsZSBhbGxvY2F0b3IgaXMgZmluZSBmb3Ig
dGhlIGxlYWYgcGFnZSwgYXMgd2VsbCBhcworICAgICAgICAgICAgICAgICAq
IHBhZ2UgdGFibGUgcGFnZXMsIGFuZCB0aGUgcmVzdWx0aW5nIGFsbG9jYXRp
b25zIGFyZSBhbHdheXMKKyAgICAgICAgICAgICAgICAgKiB6ZXJvZWQuCisg
ICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgbWFkZHJzW2xl
dmVsXSA9IGFsbG9jX3BndGFibGVfbWFkZHIoMSwgaGQtPm5vZGUpOworICAg
ICAgICAgICAgICAgIGlmICggIW1hZGRyc1tsZXZlbF0gKQorICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmMgPSAtRU5PTUVNOwor
ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgICAgICBwYWdlX2xpc3RfYWRkKG1hZGRyX3RvX3Bh
Z2UobWFkZHJzW2xldmVsXSksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmcGRldi0+YXJjaC5wZ3RhYmxlc19saXN0KTsKKworICAgICAgICAg
ICAgICAgIGlmICggbGV2ZWwgKQorICAgICAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAgICAgbmV4dCA9IG1hcF92dGRfZG9tYWluX3BhZ2UobWFk
ZHJzW2xldmVsXSk7CisgICAgICAgICAgICAgICAgICAgIHJjID0gZmlsbF9x
cHQobmV4dCwgbGV2ZWwgLSAxLCBtYWRkcnMsIHBkZXYpOworICAgICAgICAg
ICAgICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UobmV4dCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBk
bWFfc2V0X3B0ZV9hZGRyKCpwdGUsIG1hZGRyc1tsZXZlbF0pOworICAgICAg
ICAgICAgZG1hX3NldF9wdGVfcmVhZGFibGUoKnB0ZSk7CisgICAgICAgICAg
ICBkbWFfc2V0X3B0ZV93cml0YWJsZSgqcHRlKTsKKyAgICAgICAgfQorICAg
ICAgICBlbHNlIGlmICggbGV2ZWwgJiYgIWRtYV9wdGVfc3VwZXJwYWdlKCpw
dGUpICkKKyAgICAgICAgeworICAgICAgICAgICAgcGFnZV9saXN0X2FkZCht
YWRkcl90b19wYWdlKGRtYV9wdGVfYWRkcigqcHRlKSksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICZwZGV2LT5hcmNoLnBndGFibGVzX2xpc3QpOwor
ICAgICAgICAgICAgbmV4dCA9IG1hcF92dGRfZG9tYWluX3BhZ2UoZG1hX3B0
ZV9hZGRyKCpwdGUpKTsKKyAgICAgICAgICAgIHJjID0gZmlsbF9xcHQobmV4
dCwgbGV2ZWwgLSAxLCBtYWRkcnMsIHBkZXYpOworICAgICAgICAgICAgdW5t
YXBfdnRkX2RvbWFpbl9wYWdlKG5leHQpOworICAgICAgICB9CisgICAgfQor
CisgICAgcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGludGVsX2lvbW11
X3F1YXJhbnRpbmVfaW5pdChzdHJ1Y3QgcGNpX2RldiAqcGRldikKK3sKKyAg
ICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkb21faW8p
OworICAgIHBhZGRyX3QgbWFkZHI7CiAgICAgdW5zaWduZWQgaW50IGFnYXcg
PSB3aWR0aF90b19hZ2F3KERFRkFVTFRfRE9NQUlOX0FERFJFU1NfV0lEVEgp
OwogICAgIHVuc2lnbmVkIGludCBsZXZlbCA9IGFnYXdfdG9fbGV2ZWwoYWdh
dyk7CisgICAgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwor
ICAgIGNvbnN0IHN0cnVjdCBhY3BpX3JtcnJfdW5pdCAqcm1ycjsKKyAgICB1
bnNpZ25lZCBpbnQgaSwgYmRmOworICAgIGJvb2wgcm1ycl9mb3VuZCA9IGZh
bHNlOworICAgIGludCByYzsKIAotICAgIGlmICggaGQtPmFyY2gucGdkX21h
ZGRyICkKKyAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7CisgICAgQVNT
RVJUKCFoZC0+YXJjaC5wZ2RfbWFkZHIpOworCisgICAgaWYgKCBwZGV2LT5h
cmNoLnZ0ZC5wZ2RfbWFkZHIgKQogICAgIHsKLSAgICAgICAgQVNTRVJUX1VO
UkVBQ0hBQkxFKCk7CisgICAgICAgIGNsZWFyX2RvbWFpbl9wYWdlKHBkZXYt
PmFyY2gubGVhZl9tZm4pOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAK
LSAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CisgICAg
ZHJoZCA9IGFjcGlfZmluZF9tYXRjaGVkX2RyaGRfdW5pdChwZGV2KTsKKyAg
ICBpZiAoICFkcmhkICkKKyAgICAgICAgcmV0dXJuIC1FTk9ERVY7CiAKLSAg
ICBoZC0+YXJjaC5wZ2RfbWFkZHIgPSBhbGxvY19wZ3RhYmxlX21hZGRyKDEs
IGhkLT5ub2RlKTsKLSAgICBpZiAoICFoZC0+YXJjaC5wZ2RfbWFkZHIgKQot
ICAgICAgICBnb3RvIG91dDsKKyAgICBtYWRkciA9IGFsbG9jX3BndGFibGVf
bWFkZHIoMSwgaGQtPm5vZGUpOworICAgIGlmICggIW1hZGRyICkKKyAgICAg
ICAgcmV0dXJuIC1FTk9NRU07CiAKLSAgICBwYXJlbnQgPSBtYXBfdnRkX2Rv
bWFpbl9wYWdlKGhkLT5hcmNoLnBnZF9tYWRkcik7Ci0gICAgd2hpbGUgKCBs
ZXZlbCApCi0gICAgewotICAgICAgICB1aW50NjRfdCBtYWRkcjsKLSAgICAg
ICAgdW5zaWduZWQgaW50IG9mZnNldDsKKyAgICByYyA9IGNvbnRleHRfc2V0
X2RvbWFpbl9pZChOVUxMLCBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCwgZHJo
ZC0+aW9tbXUpOwogCi0gICAgICAgIC8qCi0gICAgICAgICAqIFRoZSBwZ3Rh
YmxlIGFsbG9jYXRvciBpcyBmaW5lIGZvciB0aGUgbGVhZiBwYWdlLCBhcyB3
ZWxsIGFzCi0gICAgICAgICAqIHBhZ2UgdGFibGUgcGFnZXMsIGFuZCB0aGUg
cmVzdWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdheXMKLSAgICAgICAgICog
emVyb2VkLgotICAgICAgICAgKi8KLSAgICAgICAgbWFkZHIgPSBhbGxvY19w
Z3RhYmxlX21hZGRyKDEsIGhkLT5ub2RlKTsKLSAgICAgICAgaWYgKCAhbWFk
ZHIgKQorICAgIC8qIFRyYW5zaWVudGx5IGluc3RhbGwgdGhlIHJvb3QgaW50
byBEb21JTywgZm9yIGlvbW11X2lkZW50aXR5X21hcHBpbmcoKS4gKi8KKyAg
ICBoZC0+YXJjaC5wZ2RfbWFkZHIgPSBtYWRkcjsKKworICAgIGZvcl9lYWNo
X3JtcnJfZGV2aWNlICggcm1yciwgYmRmLCBpICkKKyAgICB7CisgICAgICAg
IGlmICggcmMgKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgZm9y
ICggb2Zmc2V0ID0gMDsgb2Zmc2V0IDwgUFRFX05VTTsgb2Zmc2V0KysgKQor
ICAgICAgICBpZiAoIHJtcnItPnNlZ21lbnQgPT0gcGRldi0+c2VnICYmIGJk
ZiA9PSBwZGV2LT5zYmRmLmJkZiApCiAgICAgICAgIHsKLSAgICAgICAgICAg
IHN0cnVjdCBkbWFfcHRlICpwdGUgPSAmcGFyZW50W29mZnNldF07CisgICAg
ICAgICAgICBybXJyX2ZvdW5kID0gdHJ1ZTsKIAotICAgICAgICAgICAgZG1h
X3NldF9wdGVfYWRkcigqcHRlLCBtYWRkcik7Ci0gICAgICAgICAgICBkbWFf
c2V0X3B0ZV9yZWFkYWJsZSgqcHRlKTsKKyAgICAgICAgICAgIHJjID0gaW9t
bXVfaWRlbnRpdHlfbWFwcGluZyhkb21faW8sIHAybV9hY2Nlc3NfcncsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1yci0+
YmFzZV9hZGRyZXNzLCBybXJyLT5lbmRfYWRkcmVzcywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKKyAgICAgICAgICAg
IGlmICggcmMgKQorICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJS
IFZURFBSRUZJWAorICAgICAgICAgICAgICAgICAgICAgICAiJTA0eDolMDJ4
OiUwMnguJXU6IFJNUlIgcXVhcmFudGluZSBtYXBwaW5nIGZhaWxlZFxuIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgcGRldi0+c2VnLCBwZGV2LT5idXMs
CisgICAgICAgICAgICAgICAgICAgICAgIFBDSV9TTE9UKHBkZXYtPmRldmZu
KSwgUENJX0ZVTkMocGRldi0+ZGV2Zm4pKTsKICAgICAgICAgfQotICAgICAg
ICBpb21tdV9zeW5jX2NhY2hlKHBhcmVudCwgUEFHRV9TSVpFKTsKKyAgICB9
CiAKLSAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKHBhcmVudCk7Ci0g
ICAgICAgIHBhcmVudCA9IG1hcF92dGRfZG9tYWluX3BhZ2UobWFkZHIpOwot
ICAgICAgICBsZXZlbC0tOworICAgIGlvbW11X2lkZW50aXR5X21hcF90ZWFy
ZG93bihkb21faW8pOworICAgIGhkLT5hcmNoLnBnZF9tYWRkciA9IDA7Cisg
ICAgcGRldi0+YXJjaC52dGQucGdkX21hZGRyID0gbWFkZHI7CisKKyAgICBp
ZiAoICFyYyApCisgICAgeworICAgICAgICBzdHJ1Y3QgZG1hX3B0ZSAqcm9v
dDsKKyAgICAgICAgcGFkZHJfdCBtYWRkcnNbNl0gPSB7fTsKKworICAgICAg
ICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CisKKyAgICAg
ICAgcm9vdCA9IG1hcF92dGRfZG9tYWluX3BhZ2UobWFkZHIpOworICAgICAg
ICByYyA9IGZpbGxfcXB0KHJvb3QsIGxldmVsIC0gMSwgbWFkZHJzLCBwZGV2
KTsKKyAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKHJvb3QpOworCisg
ICAgICAgIHBkZXYtPmFyY2gubGVhZl9tZm4gPSBtYWRkcl90b19tZm4obWFk
ZHJzWzBdKTsKKworICAgICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFw
cGluZ19sb2NrKTsKICAgICB9Ci0gICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdl
KHBhcmVudCk7CiAKLSBvdXQ6Ci0gICAgc3Bpbl91bmxvY2soJmhkLT5hcmNo
Lm1hcHBpbmdfbG9jayk7CisgICAgaWYgKCByYyApCisgICAgICAgIHF1YXJh
bnRpbmVfdGVhcmRvd24ocGRldiwgZHJoZCk7CiAKLSAgICAvKiBQYWdlcyBs
ZWFrZWQgaW4gZmFpbHVyZSBjYXNlICovCi0gICAgcmV0dXJuIGxldmVsID8g
LUVOT01FTSA6IDA7CisgICAgcmV0dXJuIHJjOwogfQogCiBjb25zdCBzdHJ1
Y3QgaW9tbXVfb3BzIF9faW5pdGNvbnN0cmVsIGludGVsX2lvbW11X29wcyA9
IHsKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmgK
KysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmgKQEAg
LTUwOSw3ICs1MDksNyBAQCBzdHJ1Y3QgdnRkX2lvbW11IHsKICAgICB1MzIg
bnJfcHRfbGV2ZWxzOwogICAgIHU2NAljYXA7CiAgICAgdTY0CWVjYXA7Ci0g
ICAgc3BpbmxvY2tfdCBsb2NrOyAvKiBwcm90ZWN0IGNvbnRleHQsIGRvbWFp
biBpZHMgKi8KKyAgICBzcGlubG9ja190IGxvY2s7IC8qIHByb3RlY3QgY29u
dGV4dCAqLwogICAgIHNwaW5sb2NrX3QgcmVnaXN0ZXJfbG9jazsgLyogcHJv
dGVjdCBpb21tdSByZWdpc3RlciBoYW5kbGluZyAqLwogICAgIHU2NCByb290
X21hZGRyOyAvKiByb290IGVudHJ5IG1hY2hpbmUgYWRkcmVzcyAqLwogICAg
IG5vZGVpZF90IG5vZGU7Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5o
CisrKyBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCkBAIC0yMTEsNyArMjEx
LDcgQEAgdHlwZWRlZiBpbnQgaW9tbXVfZ3JkbV90KHhlbl9wZm5fdCBzdGFy
dAogc3RydWN0IGlvbW11X29wcyB7CiAgICAgaW50ICgqaW5pdCkoc3RydWN0
IGRvbWFpbiAqZCk7CiAgICAgdm9pZCAoKmh3ZG9tX2luaXQpKHN0cnVjdCBk
b21haW4gKmQpOwotICAgIGludCAoKnF1YXJhbnRpbmVfaW5pdCkoc3RydWN0
IGRvbWFpbiAqZCk7CisgICAgaW50ICgqcXVhcmFudGluZV9pbml0KShkZXZp
Y2VfdCAqZGV2KTsKICAgICBpbnQgKCphZGRfZGV2aWNlKSh1OCBkZXZmbiwg
ZGV2aWNlX3QgKmRldik7CiAgICAgaW50ICgqZW5hYmxlX2RldmljZSkoZGV2
aWNlX3QgKmRldik7CiAgICAgaW50ICgqcmVtb3ZlX2RldmljZSkodTggZGV2
Zm4sIGRldmljZV90ICpkZXYpOwpAQCAtMzMxLDYgKzMzMSw3IEBAIGludCBf
X211c3RfY2hlY2sgaW9tbXVfc3VzcGVuZCh2b2lkKTsKIHZvaWQgaW9tbXVf
cmVzdW1lKHZvaWQpOwogdm9pZCBpb21tdV9jcmFzaF9zaHV0ZG93bih2b2lk
KTsKIGludCBpb21tdV9nZXRfcmVzZXJ2ZWRfZGV2aWNlX21lbW9yeShpb21t
dV9ncmRtX3QgKiwgdm9pZCAqKTsKK2ludCBpb21tdV9xdWFyYW50aW5lX2Rl
dl9pbml0KGRldmljZV90ICpkZXYpOwogCiB2b2lkIGlvbW11X3NoYXJlX3Ay
bV90YWJsZShzdHJ1Y3QgZG9tYWluICpkKTsKIAo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBmaXggKGRlKWFzc2lnbiBvcmRlcmluZyB3aGVuIFJNUlJzIGFy
ZSBpbiB1c2UKCkluIHRoZSBldmVudCB0aGF0IHRoZSBSTVJSIG1hcHBpbmdz
IGFyZSBlc3NlbnRpYWwgZm9yIGRldmljZSBvcGVyYXRpb24sCnRoZXkgc2hv
dWxkIGJlIGVzdGFibGlzaGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgZGV2aWNl
J3MgY29udGV4dCBlbnRyeSwKd2hpbGUgdGhleSBzaG91bGQgYmUgdG9ybiBk
b3duIG9ubHkgYWZ0ZXIgdGhlIGRldmljZSdzIGNvbnRleHQgZW50cnkgd2Fz
CnN1Y2Nlc3NmdWxseSB1cGRhdGVkLgoKQWxzbyBhZGp1c3QgYSByZWxhdGVk
IGxvZyBtZXNzYWdlLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM1OCAvIHBhcnQg
b2YgWFNBLTQwMC4KCkZpeGVzOiA4Yjk5ZjQ0MDBiNjkgKCJWVC1kOiBmaXgg
Uk1SUiByZWxhdGVkIGVycm9yIGhhbmRsaW5nIikKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+ClJldmll
d2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KUmV2aWV3ZWQt
Ynk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgoKLS0tIGEv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTI0MTEsNiAr
MjQxMSwxMCBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2RldmljZV9vd25lcnNo
aXAoCiB7CiAgICAgaW50IHJldDsKIAorICAgIHJldCA9IGRvbWFpbl9jb250
ZXh0X3VubWFwKHNvdXJjZSwgZGV2Zm4sIHBkZXYpOworICAgIGlmICggcmV0
ICkKKyAgICAgICAgcmV0dXJuIHJldDsKKwogICAgIC8qCiAgICAgICogRGV2
aWNlcyBhc3NpZ25lZCB0byB1bnRydXN0ZWQgZG9tYWlucyAoaGVyZSBhc3N1
bWVkIHRvIGJlIGFueSBkb21VKQogICAgICAqIGNhbiBhdHRlbXB0IHRvIHNl
bmQgYXJiaXRyYXJ5IExBUElDL01TSSBtZXNzYWdlcy4gV2UgYXJlIHVucHJv
dGVjdGVkCkBAIC0yNDQ3LDEwICsyNDUxLDYgQEAgc3RhdGljIGludCByZWFz
c2lnbl9kZXZpY2Vfb3duZXJzaGlwKAogICAgICAgICAgICAgfQogICAgIH0K
IAotICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwKHNvdXJjZSwgZGV2
Zm4sIHBkZXYpOwotICAgIGlmICggcmV0ICkKLSAgICAgICAgcmV0dXJuIHJl
dDsKLQogICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+
ZG9tYWluICE9IGRvbV9pbyApCiAgICAgewogICAgICAgICBsaXN0X21vdmUo
JnBkZXYtPmRvbWFpbl9saXN0LCAmZG9tX2lvLT5wZGV2X2xpc3QpOwpAQCAt
MjUyNyw5ICsyNTI3LDggQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hc3Np
Z25fZGV2aWNlKAogICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0ID0gcmVh
c3NpZ25fZGV2aWNlX293bmVyc2hpcChzLCBkLCBkZXZmbiwgcGRldik7Ci0g
ICAgaWYgKCByZXQgfHwgZCA9PSBkb21faW8gKQotICAgICAgICByZXR1cm4g
cmV0OworICAgIGlmICggZCA9PSBkb21faW8gKQorICAgICAgICByZXR1cm4g
cmVhc3NpZ25fZGV2aWNlX293bmVyc2hpcChzLCBkLCBkZXZmbiwgcGRldik7
CiAKICAgICAvKiBTZXR1cCBybXJyIGlkZW50aXR5IG1hcHBpbmcgKi8KICAg
ICBmb3JfZWFjaF9ybXJyX2RldmljZSggcm1yciwgYmRmLCBpICkKQEAgLTI1
NDIsMjAgKzI1NDEsMzcgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hc3Np
Z25fZGV2aWNlKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgZmxhZyk7CiAgICAgICAgICAg
ICBpZiAoIHJldCApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
aW50IHJjOwotCi0gICAgICAgICAgICAgICAgcmMgPSByZWFzc2lnbl9kZXZp
Y2Vfb3duZXJzaGlwKGQsIHMsIGRldmZuLCBwZGV2KTsKICAgICAgICAgICAg
ICAgICBwcmludGsoWEVOTE9HX0dfRVJSIFZURFBSRUZJWAotICAgICAgICAg
ICAgICAgICAgICAgICAiIGNhbm5vdCBtYXAgcmVzZXJ2ZWQgcmVnaW9uICgl
IlBSSXg2NCIsJSJQUkl4NjQiXSBmb3IgRG9tJWQgKCVkKVxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgcm1yci0+YmFzZV9hZGRyZXNzLCBybXJyLT5l
bmRfYWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWlu
X2lkLCByZXQpOwotICAgICAgICAgICAgICAgIGlmICggcmMgKQotICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxP
R19FUlIgVlREUFJFRklYCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAi
IGZhaWxlZCB0byByZWNsYWltICUwNHg6JTAyeDolMDJ4LiV1IGZyb20gJXBk
ICglZClcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzZWcsIGJ1
cywgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbiksIGQsIHJjKTsK
LSAgICAgICAgICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwotICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIiVwZDogY2Fu
bm90IG1hcCByZXNlcnZlZCByZWdpb24gWyUiUFJJeDY0IiwlIlBSSXg2NCJd
OiAlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgZCwgcm1yci0+YmFz
ZV9hZGRyZXNzLCBybXJyLT5lbmRfYWRkcmVzcywgcmV0KTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KKworICAgIGlmICggIXJldCApCisgICAgICAgIHJldCA9IHJlYXNzaWdu
X2RldmljZV9vd25lcnNoaXAocywgZCwgZGV2Zm4sIHBkZXYpOworCisgICAg
LyogU2VlIHJlYXNzaWduX2RldmljZV9vd25lcnNoaXAoKSBmb3IgdGhlIGh3
ZG9tIGFzcGVjdC4gKi8KKyAgICBpZiAoICFyZXQgfHwgaXNfaGFyZHdhcmVf
ZG9tYWluKGQpICkKKyAgICAgICAgcmV0dXJuIHJldDsKKworICAgIGZvcl9l
YWNoX3JtcnJfZGV2aWNlKCBybXJyLCBiZGYsIGkgKQorICAgIHsKKyAgICAg
ICAgaWYgKCBybXJyLT5zZWdtZW50ID09IHNlZyAmJgorICAgICAgICAgICAg
IFBDSV9CVVMoYmRmKSA9PSBidXMgJiYKKyAgICAgICAgICAgICBQQ0lfREVW
Rk4yKGJkZikgPT0gZGV2Zm4gKQorICAgICAgICB7CisgICAgICAgICAgICBp
bnQgcmMgPSBpb21tdV9pZGVudGl0eV9tYXBwaW5nKGQsIHAybV9hY2Nlc3Nf
eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcm1yci0+YmFzZV9hZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgMCk7
CisKKyAgICAgICAgICAgIGlmICggcmMgJiYgcmMgIT0gLUVOT0VOVCApCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19F
UlIgVlREUFJFRklYCisgICAgICAgICAgICAgICAgICAgICAgICIlcGQ6IGNh
bm5vdCB1bm1hcCByZXNlcnZlZCByZWdpb24gWyUiUFJJeDY0IiwlIlBSSXg2
NCJdOiAlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgZCwgcm1yci0+
YmFzZV9hZGRyZXNzLCBybXJyLT5lbmRfYWRkcmVzcywgcmMpOworICAgICAg
ICAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBmaXggYWRkL3JlbW92ZSBvcmRlcmluZyB3aGVuIFJNUlJzIGFy
ZSBpbiB1c2UKCkluIHRoZSBldmVudCB0aGF0IHRoZSBSTVJSIG1hcHBpbmdz
IGFyZSBlc3NlbnRpYWwgZm9yIGRldmljZSBvcGVyYXRpb24sCnRoZXkgc2hv
dWxkIGJlIGVzdGFibGlzaGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgZGV2aWNl
J3MgY29udGV4dCBlbnRyeSwKd2hpbGUgdGhleSBzaG91bGQgYmUgdG9ybiBk
b3duIG9ubHkgYWZ0ZXIgdGhlIGRldmljZSdzIGNvbnRleHQgZW50cnkgd2Fz
CnN1Y2Nlc3NmdWxseSBjbGVhcmVkLgoKQWxzbyBzd2l0Y2ggdG8gJXBkIGlu
IHJlbGF0ZWQgbG9nIG1lc3NhZ2VzLgoKRml4ZXM6IGZhODhjZmFkZjkxOCAo
InZ0LWQ6IE1hcCBSTVJSIGluIGludGVsX2lvbW11X2FkZF9kZXZpY2UoKSBp
ZiB0aGUgZGV2aWNlIGhhcyBSTVJSIikKRml4ZXM6IDhiOTlmNDQwMGI2OSAo
IlZULWQ6IGZpeCBSTVJSIHJlbGF0ZWQgZXJyb3IgaGFuZGxpbmciKQpTaWdu
ZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJl
dmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4
LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50
ZWwuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmMKQEAgLTIwMDAsMTQgKzIwMDAsNiBAQCBzdGF0aWMgaW50IGludGVsX2lv
bW11X2FkZF9kZXZpY2UodTggZGV2CiAgICAgaWYgKCAhcGRldi0+ZG9tYWlu
ICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKLSAgICByZXQgPSBkb21h
aW5fY29udGV4dF9tYXBwaW5nKHBkZXYtPmRvbWFpbiwgZGV2Zm4sIHBkZXYp
OwotICAgIGlmICggcmV0ICkKLSAgICB7Ci0gICAgICAgIGRwcmludGsoWEVO
TE9HX0VSUiBWVERQUkVGSVgsICJkJWQ6IGNvbnRleHQgbWFwcGluZyBmYWls
ZWRcbiIsCi0gICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluLT5kb21haW5f
aWQpOwotICAgICAgICByZXR1cm4gcmV0OwotICAgIH0KLQogICAgIGZvcl9l
YWNoX3JtcnJfZGV2aWNlICggcm1yciwgYmRmLCBpICkKICAgICB7CiAgICAg
ICAgIGlmICggcm1yci0+c2VnbWVudCA9PSBwZGV2LT5zZWcgJiYKQEAgLTIw
MjQsMTIgKzIwMTYsMTcgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hZGRf
ZGV2aWNlKHU4IGRldgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBybXJyLT5iYXNlX2FkZHJlc3MsIHJtcnItPmVuZF9hZGRy
ZXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAwKTsKICAgICAgICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAgICAg
ICBkcHJpbnRrKFhFTkxPR19FUlIgVlREUFJFRklYLCAiZCVkOiBSTVJSIG1h
cHBpbmcgZmFpbGVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgcGRl
di0+ZG9tYWluLT5kb21haW5faWQpOworICAgICAgICAgICAgICAgIGRwcmlu
dGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsICIlcGQ6IFJNUlIgbWFwcGluZyBm
YWlsZWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICBwZGV2LT5kb21h
aW4pOwogICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0dXJuIDA7CisgICAg
cmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZyhwZGV2LT5kb21haW4sIGRl
dmZuLCBwZGV2KTsKKyAgICBpZiAoIHJldCApCisgICAgICAgIGRwcmludGso
WEVOTE9HX0VSUiBWVERQUkVGSVgsICIlcGQ6IGNvbnRleHQgbWFwcGluZyBm
YWlsZWRcbiIsCisgICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluKTsKKwor
ICAgIHJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVf
ZW5hYmxlX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGRldikKQEAgLTIwNTEs
MTEgKzIwNDgsMTUgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVf
ZGV2aWNlKHU4CiB7CiAgICAgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJy
OwogICAgIHUxNiBiZGY7Ci0gICAgaW50IGk7CisgICAgaW50IHJldCwgaTsK
IAogICAgIGlmICggIXBkZXYtPmRvbWFpbiApCiAgICAgICAgIHJldHVybiAt
RUlOVkFMOwogCisgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXAocGRl
di0+ZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAgaWYgKCByZXQgKQorICAg
ICAgICByZXR1cm4gcmV0OworCiAgICAgZm9yX2VhY2hfcm1ycl9kZXZpY2Ug
KCBybXJyLCBiZGYsIGkgKQogICAgIHsKICAgICAgICAgaWYgKCBybXJyLT5z
ZWdtZW50ICE9IHBkZXYtPnNlZyB8fApAQCAtMjA3MSw3ICsyMDcyLDcgQEAg
c3RhdGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVfZGV2aWNlKHU4CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1yci0+ZW5kX2FkZHJlc3Ms
IDApOwogICAgIH0KIAotICAgIHJldHVybiBkb21haW5fY29udGV4dF91bm1h
cChwZGV2LT5kb21haW4sIGRldmZuLCBwZGV2KTsKKyAgICByZXR1cm4gMDsK
IH0KIAogc3RhdGljIGludCBfX2h3ZG9tX2luaXQgc2V0dXBfaHdkb21fZGV2
aWNlKHU4IGRldmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBkcm9wIG93bmVyc2hpcCBjaGVja2luZyBmcm9tIGRvbWFpbl9j
b250ZXh0X21hcHBpbmdfb25lKCkKCkRlc3BpdGUgcHV0dGluZyBpbiBxdWl0
ZSBhIGJpdCBvZiBlZmZvcnQgaXQgd2FzIG5vdCBwb3NzaWJsZSB0bwplc3Rh
Ymxpc2ggd2h5IGV4YWN0bHkgdGhpcyBjb2RlIGV4aXN0cyAoYmV5b25kIHBv
c3NpYmx5IHNhbml0eQpjaGVja2luZykuIEluc3RlYWQgb2YgYSBzdWJzZXF1
ZW50IGNoYW5nZSBmdXJ0aGVyIGNvbXBsaWNhdGluZyB0aGlzCmxvZ2ljLCBz
aW1wbHkgZ2V0IHJpZCBvZiBpdC4KClRha2UgdGhlIG9wcG9ydHVuaXR5IGFu
ZCBtb3ZlIHRoZSByZXNwZWN0aXZlIHVubWFwX3Z0ZF9kb21haW5fcGFnZSgp
IG91dApvZiB0aGUgbG9ja2VkIHJlZ2lvbi4KClNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJv
Z2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpSZXZpZXdl
ZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+ClJldmlld2VkLWJ5
OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KCi0tLSBhL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC0xMjAsMjggKzEy
MCw2IEBAIHN0YXRpYyBpbnQgY29udGV4dF9zZXRfZG9tYWluX2lkKHN0cnVj
dAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNvbnRleHRfZ2V0
X2RvbWFpbl9pZChzdHJ1Y3QgY29udGV4dF9lbnRyeSAqY29udGV4dCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11KQotewotICAgIHVuc2lnbmVkIGxvbmcgZG9tX2luZGV4LCBu
cl9kb207Ci0gICAgaW50IGRvbWlkID0gLTE7Ci0KLSAgICBpZiAoaW9tbXUg
JiYgY29udGV4dCkKLSAgICB7Ci0gICAgICAgIG5yX2RvbSA9IGNhcF9uZG9t
cyhpb21tdS0+Y2FwKTsKLQotICAgICAgICBkb21faW5kZXggPSBjb250ZXh0
X2RvbWFpbl9pZCgqY29udGV4dCk7Ci0KLSAgICAgICAgaWYgKCBkb21faW5k
ZXggPCBucl9kb20gJiYgaW9tbXUtPmRvbWlkX21hcCApCi0gICAgICAgICAg
ICBkb21pZCA9IGlvbW11LT5kb21pZF9tYXBbZG9tX2luZGV4XTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfREVCVUcgVlRE
UFJFRklYLAotICAgICAgICAgICAgICAgICAgICAiZG9tX2luZGV4ICVsdSBl
eGNlZWRzIG5yX2RvbSAlbHUgb3IgaW9tbXUgaGFzIG5vIGRvbWlkX21hcFxu
IiwKLSAgICAgICAgICAgICAgICAgICAgZG9tX2luZGV4LCBucl9kb20pOwot
ICAgIH0KLSAgICByZXR1cm4gZG9taWQ7Ci19Ci0KIHN0YXRpYyB2b2lkIGNs
ZWFudXBfZG9taWRfbWFwKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgc3RydWN0
IHZ0ZF9pb21tdSAqaW9tbXUpCiB7CiAgICAgaW50IGlvbW11X2RvbWlkID0g
ZG9tYWluX2lvbW11X2RvbWlkKGRvbWFpbiwgaW9tbXUpOwpAQCAtMTM5NSw0
NyArMTM3Myw5IEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgK
IAogICAgIGlmICggY29udGV4dF9wcmVzZW50KCpjb250ZXh0KSApCiAgICAg
ewotICAgICAgICBpbnQgcmVzID0gMDsKLQotICAgICAgICAvKiBUcnkgdG8g
Z2V0IGRvbWFpbiBvd25lcnNoaXAgZnJvbSBkZXZpY2Ugc3RydWN0dXJlLiAg
SWYgdGhhdCdzCi0gICAgICAgICAqIG5vdCBhdmFpbGFibGUsIHRyeSB0byBy
ZWFkIGl0IGZyb20gdGhlIGNvbnRleHQgaXRzZWxmLiAqLwotICAgICAgICBp
ZiAoIHBkZXYgKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIHBkZXYt
PmRvbWFpbiAhPSBkb21haW4gKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIHByaW50ayhYRU5MT0dfR19JTkZPIFZURFBSRUZJWAotICAgICAg
ICAgICAgICAgICAgICAgICAiJXBkOiAlMDR4OiUwMng6JTAyeC4ldSBvd25l
ZCBieSAlcGRcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbiwg
c2VnLCBidXMsIFBDSV9TTE9UKGRldmZuKSwgUENJX0ZVTkMoZGV2Zm4pLAot
ICAgICAgICAgICAgICAgICAgICAgICBwZGV2LT5kb21haW4pOwotICAgICAg
ICAgICAgICAgIHJlcyA9IC1FSU5WQUw7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICAgICAgZWxzZQotICAgICAgICB7Ci0gICAgICAgICAgICBp
bnQgY2RvbWFpbjsKLSAgICAgICAgICAgIGNkb21haW4gPSBjb250ZXh0X2dl
dF9kb21haW5faWQoY29udGV4dCwgaW9tbXUpOwotICAgICAgICAgICAgCi0g
ICAgICAgICAgICBpZiAoIGNkb21haW4gPCAwICkKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfV0FSTklORyBWVERQ
UkVGSVgKLSAgICAgICAgICAgICAgICAgICAgICAgIiVwZDogJTA0eDolMDJ4
OiUwMnguJXUgbWFwcGVkLCBidXQgY2FuJ3QgZmluZCBvd25lclxuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgZG9tYWluLCBzZWcsIGJ1cywgUENJX1NM
T1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbikpOwotICAgICAgICAgICAgICAg
IHJlcyA9IC1FSU5WQUw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBl
bHNlIGlmICggY2RvbWFpbiAhPSBkb21haW4tPmRvbWFpbl9pZCApCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0lO
Rk8gVlREUFJFRklYCi0gICAgICAgICAgICAgICAgICAgICAgICIlcGQ6ICUw
NHg6JTAyeDolMDJ4LiV1IGFscmVhZHkgbWFwcGVkIHRvIGQlZFxuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgZG9tYWluLAotICAgICAgICAgICAgICAg
ICAgICAgICBzZWcsIGJ1cywgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhk
ZXZmbiksCi0gICAgICAgICAgICAgICAgICAgICAgIGNkb21haW4pOwotICAg
ICAgICAgICAgICAgIHJlcyA9IC1FSU5WQUw7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0KLQotICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoY29u
dGV4dF9lbnRyaWVzKTsKICAgICAgICAgc3Bpbl91bmxvY2soJmlvbW11LT5s
b2NrKTsKLSAgICAgICAgcmV0dXJuIHJlczsKKyAgICAgICAgdW5tYXBfdnRk
X2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7CisgICAgICAgIHJldHVy
biAwOwogICAgIH0KIAogICAgIGlmICggaW9tbXVfaHdkb21fcGFzc3Rocm91
Z2ggJiYgaXNfaGFyZHdhcmVfZG9tYWluKGRvbWFpbikgKQo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiByZS1hc3NpZ24gZGV2aWNlcyBkaXJlY3RseQoKRGV2aWNlcyB3
aXRoIFJNUlJzLCBkdWUgdG8gaXQgYmVpbmcgdW5zcGVjaWZpZWQgaG93L3do
ZW4gdGhlIHNwZWNpZmllZAptZW1vcnkgcmVnaW9ucyBtYXkgZ2V0IGFjY2Vz
c2VkLCBtYXkgbm90IGJlIGxlZnQgZGlzY29ubmVjdGVkIGZyb20gdGhlaXIK
cmVzcGVjdGl2ZSBtYXBwaW5ncyAoYXMgbG9uZyBhcyBpdCdzIG5vdCBjZXJ0
YWluIHRoYXQgdGhlIGRldmljZSBoYXMKYmVlbiBmdWxseSBxdWllc2NlZCku
IEhlbmNlIHJhdGhlciB0aGFuIHVubWFwcGluZyB0aGUgb2xkIGNvbnRleHQg
YW5kCnRoZW4gbWFwcGluZyB0aGUgbmV3IG9uZSwgcmUtYXNzaWdubWVudCBu
ZWVkcyB0byBiZSBkb25lIGluIGEgc2luZ2xlCnN0ZXAuCgpUaGlzIGlzIENW
RS0yMDIyLTI2MzU5IC8gcGFydCBvZiBYU0EtNDAwLgoKUmVwb3J0ZWQtYnk6
IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKU2lt
aWxhcmx5IHF1YXJhbnRpbmluZyBzY3JhdGNoLXBhZ2UgbW9kZSByZWxpZXMg
b24gcGFnZSB0YWJsZXMgdG8gYmUKY29udGludW91c2x5IHdpcmVkIHVwLgoK
VG8gYXZvaWQgY29tcGxpY2F0aW5nIHRoaW5ncyBtb3JlIHRoYW4gbmVjZXNz
YXJ5LCB0cmVhdCBhbGwgZGV2aWNlcwptb3N0bHkgZXF1YWxseSwgaS5lLiBy
ZWdhcmRsZXNzIG9mIHRoZWlyIGFzc29jaWF0aW9uIHdpdGggYW55IFJNUlJz
LiBUaGUKbWFpbiBkaWZmZXJlbmNlIGlzIHdoZW4gaXQgY29tZXMgdG8gdXBk
YXRpbmcgY29udGV4dCBlbnRyaWVzLCB3aGljaCBuZWVkCnRvIGJlIGF0b21p
YyB3aGVuIHRoZXJlIGFyZSBSTVJScy4gWWV0IGF0b21pY2l0eSBjYW4gb25s
eSBiZSBhY2hpZXZlZAp3aXRoIENNUFhDSEcxNkIsIGF2YWlsYWJpbGl0eSBv
ZiB3aGljaCB3ZSBjYW4ndCB0YWtlIGZvciBnaXZlbi4KClRoZSBzZWVtaW5n
bHkgY29tcGxpY2F0ZWQgY2hvaWNlIG9mIG5vbi1uZWdhdGl2ZSByZXR1cm4g
dmFsdWVzIGZvcgpkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgpIGlzIHRv
IGxpbWl0IGNvZGUgY2h1cm46IFRoaXMgd2F5IGNhbGxlcnMKcGFzc2luZyBO
VUxMIGZvciBwZGV2IGRvbid0IG5lZWQgZmlkZGxpbmcgd2l0aC4KClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpS
ZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJp
eC5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0
ZXJuLmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2V4dGVy
bi5oCkBAIC04NSw3ICs4NSw4IEBAIHZvaWQgZnJlZV9wZ3RhYmxlX21hZGRy
KHU2NCBtYWRkcik7CiB2b2lkICptYXBfdnRkX2RvbWFpbl9wYWdlKHU2NCBt
YWRkcik7CiB2b2lkIHVubWFwX3Z0ZF9kb21haW5fcGFnZSh2b2lkICp2YSk7
CiBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoc3RydWN0IGRvbWFp
biAqZG9tYWluLCBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1OCBidXMsIHU4IGRldmZuLCBjb25z
dCBzdHJ1Y3QgcGNpX2RldiAqKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OF90IGJ1cywgdWludDhfdCBkZXZmbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldiAq
cGRldiwgdW5zaWduZWQgaW50IG1vZGUpOwogaW50IGRvbWFpbl9jb250ZXh0
X3VubWFwX29uZShzdHJ1Y3QgZG9tYWluICpkb21haW4sIHN0cnVjdCB2dGRf
aW9tbXUgKmlvbW11LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
OCBidXMsIHU4IGRldmZuKTsKIGludCBpbnRlbF9pb21tdV9nZXRfcmVzZXJ2
ZWRfZGV2aWNlX21lbW9yeShpb21tdV9ncmRtX3QgKmZ1bmMsIHZvaWQgKmN0
eHQpOwpAQCAtMTA1LDggKzEwNiw4IEBAIGludCBpc19pZ2RfdnRfZW5hYmxl
ZF9xdWlyayh2b2lkKTsKIHZvaWQgcGxhdGZvcm1fcXVpcmtzX2luaXQodm9p
ZCk7CiB2b2lkIHZ0ZF9vcHNfcHJlYW1ibGVfcXVpcmsoc3RydWN0IHZ0ZF9p
b21tdSAqaW9tbXUpOwogdm9pZCB2dGRfb3BzX3Bvc3RhbWJsZV9xdWlyayhz
dHJ1Y3QgdnRkX2lvbW11ICppb21tdSk7Ci1pbnQgX19tdXN0X2NoZWNrIG1l
X3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHU4IGJ1cywgdTggZGV2Zm4sIGludCBt
YXApOworaW50IF9fbXVzdF9jaGVjayBtZV93aWZpX3F1aXJrKHN0cnVjdCBk
b21haW4gKmRvbWFpbiwgdWludDhfdCBidXMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDhfdCBkZXZmbiwgdW5zaWduZWQgaW50IG1v
ZGUpOwogdm9pZCBwY2lfdnRkX3F1aXJrKGNvbnN0IHN0cnVjdCBwY2lfZGV2
ICopOwogdm9pZCBxdWlya19pb21tdV9jYXBzKHN0cnVjdCB2dGRfaW9tbXUg
KmlvbW11KTsKIAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
aW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t
bXUuYwpAQCAtMTE2LDYgKzExNiw3IEBAIHN0YXRpYyBpbnQgY29udGV4dF9z
ZXRfZG9tYWluX2lkKHN0cnVjdAogICAgIH0KIAogICAgIHNldF9iaXQoaSwg
aW9tbXUtPmRvbWlkX2JpdG1hcCk7CisgICAgY29udGV4dC0+aGkgJj0gfigo
KDEgPDwgRElEX0ZJRUxEX1dJRFRIKSAtIDEpIDw8IERJRF9ISUdIX09GRlNF
VCk7CiAgICAgY29udGV4dC0+aGkgfD0gKGkgJiAoKDEgPDwgRElEX0ZJRUxE
X1dJRFRIKSAtIDEpKSA8PCBESURfSElHSF9PRkZTRVQ7CiAgICAgcmV0dXJu
IDA7CiB9CkBAIC0xMzUzLDE1ICsxMzU0LDI3IEBAIHN0YXRpYyB2b2lkIF9f
aHdkb21faW5pdCBpbnRlbF9pb21tdV9od2QKICAgICB9CiB9CiAKKy8qCisg
KiBUaGlzIGZ1bmN0aW9uIHJldHVybnMKKyAqIC0gYSBuZWdhdGl2ZSBlcnJu
byB2YWx1ZSB1cG9uIGVycm9yLAorICogLSB6ZXJvIHVwb24gc3VjY2VzcyB3
aGVuIHByZXZpb3VzbHkgdGhlIGVudHJ5IHdhcyBub24tcHJlc2VudCwgb3Ig
dGhpcyBpc24ndAorICogICB0aGUgIm1haW4iIHJlcXVlc3QgZm9yIGEgZGV2
aWNlIChwZGV2ID09IE5VTEwpLCBvciBmb3Igbm8tb3AgcXVhcmFudGluaW5n
CisgKiAgIGFzc2lnbm1lbnRzLAorICogLSBwb3NpdGl2ZSAob25lKSB1cG9u
IHN1Y2Nlc3Mgd2hlbiBwcmV2aW91c2x5IHRoZSBlbnRyeSB3YXMgcHJlc2Vu
dCBhbmQgdGhpcworICogICBpcyB0aGUgIm1haW4iIHJlcXVlc3QgZm9yIGEg
ZGV2aWNlIChwZGV2ICE9IE5VTEwpLgorICovCiBpbnQgZG9tYWluX2NvbnRl
eHRfbWFwcGluZ19vbmUoCiAgICAgc3RydWN0IGRvbWFpbiAqZG9tYWluLAog
ICAgIHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11LAotICAgIHU4IGJ1cywgdTgg
ZGV2Zm4sIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2KQorICAgIHVpbnQ4
X3QgYnVzLCB1aW50OF90IGRldmZuLCBjb25zdCBzdHJ1Y3QgcGNpX2RldiAq
cGRldiwKKyAgICB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKICAgICBzdHJ1Y3Qg
ZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkb21haW4pOwotICAgIHN0
cnVjdCBjb250ZXh0X2VudHJ5ICpjb250ZXh0LCAqY29udGV4dF9lbnRyaWVz
OworICAgIHN0cnVjdCBjb250ZXh0X2VudHJ5ICpjb250ZXh0LCAqY29udGV4
dF9lbnRyaWVzLCBsY3R4dDsKKyAgICBfX3VpbnQxMjhfdCBvbGQ7CiAgICAg
dTY0IG1hZGRyLCBwZ2RfbWFkZHI7Ci0gICAgdTE2IHNlZyA9IGlvbW11LT5k
cmhkLT5zZWdtZW50OworICAgIHVpbnQxNl90IHNlZyA9IGlvbW11LT5kcmhk
LT5zZWdtZW50LCBwcmV2X2RpZCA9IDA7CisgICAgc3RydWN0IGRvbWFpbiAq
cHJldl9kb20gPSBOVUxMOwogICAgIGludCBhZ2F3LCByYywgcmV0OwogICAg
IGJvb2xfdCBmbHVzaF9kZXZfaW90bGI7CiAKQEAgLTEzNzAsMTcgKzEzODMs
MzIgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIG1h
ZGRyID0gYnVzX3RvX2NvbnRleHRfbWFkZHIoaW9tbXUsIGJ1cyk7CiAgICAg
Y29udGV4dF9lbnRyaWVzID0gKHN0cnVjdCBjb250ZXh0X2VudHJ5ICopbWFw
X3Z0ZF9kb21haW5fcGFnZShtYWRkcik7CiAgICAgY29udGV4dCA9ICZjb250
ZXh0X2VudHJpZXNbZGV2Zm5dOworICAgIG9sZCA9IChsY3R4dCA9ICpjb250
ZXh0KS5mdWxsOwogCi0gICAgaWYgKCBjb250ZXh0X3ByZXNlbnQoKmNvbnRl
eHQpICkKKyAgICBpZiAoIGNvbnRleHRfcHJlc2VudChsY3R4dCkgKQogICAg
IHsKLSAgICAgICAgc3Bpbl91bmxvY2soJmlvbW11LT5sb2NrKTsKLSAgICAg
ICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7Ci0g
ICAgICAgIHJldHVybiAwOworICAgICAgICBkb21pZF90IGRvbWlkOworCisg
ICAgICAgIHByZXZfZGlkID0gY29udGV4dF9kb21haW5faWQobGN0eHQpOwor
ICAgICAgICBkb21pZCA9IGlvbW11LT5kb21pZF9tYXBbcHJldl9kaWRdOwor
ICAgICAgICBpZiAoIGRvbWlkIDwgRE9NSURfRklSU1RfUkVTRVJWRUQgKQor
ICAgICAgICAgICAgcHJldl9kb20gPSByY3VfbG9ja19kb21haW5fYnlfaWQo
ZG9taWQpOworICAgICAgICBlbHNlIGlmICggZG9taWQgPT0gRE9NSURfSU8g
KQorICAgICAgICAgICAgcHJldl9kb20gPSByY3VfbG9ja19kb21haW4oZG9t
X2lvKTsKKyAgICAgICAgaWYgKCAhcHJldl9kb20gKQorICAgICAgICB7Cisg
ICAgICAgICAgICBzcGluX3VubG9jaygmaW9tbXUtPmxvY2spOworICAgICAg
ICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7
CisgICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19ERUJVRyBWVERQUkVGSVgs
CisgICAgICAgICAgICAgICAgICAgICJubyBkb21haW4gZm9yIGRpZCAldSAo
bnJfZG9tICV1KVxuIiwKKyAgICAgICAgICAgICAgICAgICAgcHJldl9kaWQs
IGNhcF9uZG9tcyhpb21tdS0+Y2FwKSk7CisgICAgICAgICAgICByZXR1cm4g
LUVTUkNIOworICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKCBpb21tdV9o
d2RvbV9wYXNzdGhyb3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZG9tYWlu
KSApCiAgICAgewotICAgICAgICBjb250ZXh0X3NldF90cmFuc2xhdGlvbl90
eXBlKCpjb250ZXh0LCBDT05URVhUX1RUX1BBU1NfVEhSVSk7CisgICAgICAg
IGNvbnRleHRfc2V0X3RyYW5zbGF0aW9uX3R5cGUobGN0eHQsIENPTlRFWFRf
VFRfUEFTU19USFJVKTsKICAgICAgICAgYWdhdyA9IGxldmVsX3RvX2FnYXco
aW9tbXUtPm5yX3B0X2xldmVscyk7CiAgICAgfQogICAgIGVsc2UKQEAgLTEz
OTcsNiArMTQyNSw4IEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29u
ZSgKICAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFw
cGluZ19sb2NrKTsKICAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmaW9t
bXUtPmxvY2spOwogICAgICAgICAgICAgICAgIHVubWFwX3Z0ZF9kb21haW5f
cGFnZShjb250ZXh0X2VudHJpZXMpOworICAgICAgICAgICAgICAgIGlmICgg
cHJldl9kb20gKQorICAgICAgICAgICAgICAgICAgICByY3VfdW5sb2NrX2Rv
bWFpbihwcmV2X2RvbSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9N
RU07CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTE0MTQsMzMgKzE0
NDQsMTAyIEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAg
ICAgICAgICAgICAgICBnb3RvIG5vbWVtOwogICAgICAgICB9CiAKLSAgICAg
ICAgY29udGV4dF9zZXRfYWRkcmVzc19yb290KCpjb250ZXh0LCBwZ2RfbWFk
ZHIpOworICAgICAgICBjb250ZXh0X3NldF9hZGRyZXNzX3Jvb3QobGN0eHQs
IHBnZF9tYWRkcik7CiAgICAgICAgIGlmICggYXRzX2VuYWJsZWQgJiYgZWNh
cF9kZXZfaW90bGIoaW9tbXUtPmVjYXApICkKLSAgICAgICAgICAgIGNvbnRl
eHRfc2V0X3RyYW5zbGF0aW9uX3R5cGUoKmNvbnRleHQsIENPTlRFWFRfVFRf
REVWX0lPVExCKTsKKyAgICAgICAgICAgIGNvbnRleHRfc2V0X3RyYW5zbGF0
aW9uX3R5cGUobGN0eHQsIENPTlRFWFRfVFRfREVWX0lPVExCKTsKICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgY29udGV4dF9zZXRfdHJhbnNsYXRpb25f
dHlwZSgqY29udGV4dCwgQ09OVEVYVF9UVF9NVUxUSV9MRVZFTCk7CisgICAg
ICAgICAgICBjb250ZXh0X3NldF90cmFuc2xhdGlvbl90eXBlKGxjdHh0LCBD
T05URVhUX1RUX01VTFRJX0xFVkVMKTsKIAogICAgICAgICBzcGluX3VubG9j
aygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKICAgICB9CiAKLSAgICBpZiAo
IGNvbnRleHRfc2V0X2RvbWFpbl9pZChjb250ZXh0LCBkb21haW4sIGlvbW11
KSApCisgICAgcmMgPSBjb250ZXh0X3NldF9kb21haW5faWQoJmxjdHh0LCBk
b21haW4sIGlvbW11KTsKKyAgICBpZiAoIHJjICkKICAgICB7CisgICAgdW5s
b2NrOgogICAgICAgICBzcGluX3VubG9jaygmaW9tbXUtPmxvY2spOwogICAg
ICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoY29udGV4dF9lbnRyaWVzKTsK
LSAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CisgICAgICAgIGlmICggcHJldl9k
b20gKQorICAgICAgICAgICAgcmN1X3VubG9ja19kb21haW4ocHJldl9kb20p
OworICAgICAgICByZXR1cm4gcmM7CisgICAgfQorCisgICAgaWYgKCAhcHJl
dl9kb20gKQorICAgIHsKKyAgICAgICAgY29udGV4dF9zZXRfYWRkcmVzc193
aWR0aChsY3R4dCwgYWdhdyk7CisgICAgICAgIGNvbnRleHRfc2V0X2ZhdWx0
X2VuYWJsZShsY3R4dCk7CisgICAgICAgIGNvbnRleHRfc2V0X3ByZXNlbnQo
bGN0eHQpOworICAgIH0KKyAgICBlbHNlIGlmICggcHJldl9kb20gPT0gZG9t
YWluICkKKyAgICB7CisgICAgICAgIEFTU0VSVChsY3R4dC5mdWxsID09IGNv
bnRleHQtPmZ1bGwpOworICAgICAgICByYyA9ICEhcGRldjsKKyAgICAgICAg
Z290byB1bmxvY2s7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAg
IEFTU0VSVChjb250ZXh0X2FkZHJlc3Nfd2lkdGgobGN0eHQpID09IGFnYXcp
OworICAgICAgICBBU1NFUlQoIWNvbnRleHRfZmF1bHRfZGlzYWJsZShsY3R4
dCkpOworICAgIH0KKworICAgIGlmICggY3B1X2hhc19jeDE2ICkKKyAgICB7
CisgICAgICAgIF9fdWludDEyOF90IHJlcyA9IGNtcHhjaGcxNmIoY29udGV4
dCwgJm9sZCwgJmxjdHh0LmZ1bGwpOworCisgICAgICAgIC8qCisgICAgICAg
ICAqIEhhcmR3YXJlIGRvZXMgbm90IHVwZGF0ZSB0aGUgY29udGV4dCBlbnRy
eSBiZWhpbmQgb3VyIGJhY2tzLAorICAgICAgICAgKiBzbyB0aGUgcmV0dXJu
IHZhbHVlIHNob3VsZCBtYXRjaCAib2xkIi4KKyAgICAgICAgICovCisgICAg
ICAgIGlmICggcmVzICE9IG9sZCApCisgICAgICAgIHsKKyAgICAgICAgICAg
IGlmICggcGRldiApCisgICAgICAgICAgICAgICAgY2hlY2tfY2xlYW51cF9k
b21pZF9tYXAoZG9tYWluLCBwZGV2LCBpb21tdSk7CisgICAgICAgICAgICBw
cmludGsoWEVOTE9HX0VSUgorICAgICAgICAgICAgICAgICAgICIlMDR4OiUw
Mng6JTAyeC4ldTogdW5leHBlY3RlZCBjb250ZXh0IGVudHJ5ICUwMTZseF8l
MDE2bHggKGV4cGVjdGVkICUwMTZseF8lMDE2bHgpXG4iLAorICAgICAgICAg
ICAgICAgICAgIHBkZXYtPnNlZywgcGRldi0+YnVzLCBQQ0lfU0xPVChkZXZm
biksIFBDSV9GVU5DKGRldmZuKSwKKyAgICAgICAgICAgICAgICAgICAodWlu
dDY0X3QpKHJlcyA+PiA2NCksICh1aW50NjRfdClyZXMsCisgICAgICAgICAg
ICAgICAgICAgKHVpbnQ2NF90KShvbGQgPj4gNjQpLCAodWludDY0X3Qpb2xk
KTsKKyAgICAgICAgICAgIHJjID0gLUVJTFNFUTsKKyAgICAgICAgICAgIGdv
dG8gdW5sb2NrOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgaWYgKCAh
cHJldl9kb20gfHwgIShtb2RlICYgTUFQX1dJVEhfUk1SUikgKQorICAgIHsK
KyAgICAgICAgY29udGV4dF9jbGVhcl9wcmVzZW50KCpjb250ZXh0KTsKKyAg
ICAgICAgaW9tbXVfc3luY19jYWNoZShjb250ZXh0LCBzaXplb2YoKmNvbnRl
eHQpKTsKKworICAgICAgICB3cml0ZV9hdG9taWMoJmNvbnRleHQtPmhpLCBs
Y3R4dC5oaSk7CisgICAgICAgIC8qIE5vIGJhcnJpZXIgc2hvdWxkIGJlIG5l
ZWRlZCBiZXR3ZWVuIHRoZXNlIHR3by4gKi8KKyAgICAgICAgd3JpdGVfYXRv
bWljKCZjb250ZXh0LT5sbywgbGN0eHQubG8pOworICAgIH0KKyAgICBlbHNl
IC8qIEJlc3QgZWZmb3J0LCB1cGRhdGluZyBESUQgbGFzdC4gKi8KKyAgICB7
CisgICAgICAgICAvKgorICAgICAgICAgICogQnkgbm9uLWF0b21pY2FsbHkg
dXBkYXRpbmcgdGhlIGNvbnRleHQgZW50cnkncyBESUQgZmllbGQgbGFzdCwK
KyAgICAgICAgICAqIGR1cmluZyBhIHNob3J0IHdpbmRvdyBpbiB0aW1lIFRM
QiBlbnRyaWVzIHdpdGggdGhlIG9sZCBkb21haW4gSUQKKyAgICAgICAgICAq
IGJ1dCB0aGUgbmV3IHBhZ2UgdGFibGVzIG1heSBiZSBpbnNlcnRlZC4gIFRo
aXMgY291bGQgYWZmZWN0IEkvTworICAgICAgICAgICogb2Ygb3RoZXIgZGV2
aWNlcyB1c2luZyB0aGlzIHNhbWUgKG9sZCkgZG9tYWluIElELiAgU3VjaCB1
cGRhdGluZworICAgICAgICAgICogdGhlcmVmb3JlIGlzIG5vdCBhIHByb2Js
ZW0gaWYgdGhpcyB3YXMgdGhlIG9ubHkgZGV2aWNlIGFzc29jaWF0ZWQKKyAg
ICAgICAgICAqIHdpdGggdGhlIG9sZCBkb21haW4gSUQuICBEaXZlcnRpbmcg
SS9PIG9mIGFueSBvZiBhIGR5aW5nIGRvbWFpbidzCisgICAgICAgICAgKiBk
ZXZpY2VzIHRvIHRoZSBxdWFyYW50aW5lIHBhZ2UgdGFibGVzIGlzIGludGVu
ZGVkIGFueXdheS4KKyAgICAgICAgICAqLworICAgICAgICBpZiAoICEobW9k
ZSAmIChNQVBfT1dORVJfRFlJTkcgfCBNQVBfU0lOR0xFX0RFVklDRSkpICkK
KyAgICAgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyBWVERQUkVGSVgK
KyAgICAgICAgICAgICAgICAgICAiICUwNHg6JTAyeDolMDJ4LiV1OiByZWFz
c2lnbm1lbnQgbWF5IGNhdXNlICVwZCBkYXRhIGNvcnJ1cHRpb25cbiIsCisg
ICAgICAgICAgICAgICAgICAgc2VnLCBidXMsIFBDSV9TTE9UKGRldmZuKSwg
UENJX0ZVTkMoZGV2Zm4pLCBwcmV2X2RvbSk7CisKKyAgICAgICAgd3JpdGVf
YXRvbWljKCZjb250ZXh0LT5sbywgbGN0eHQubG8pOworICAgICAgICAvKiBO
byBiYXJyaWVyIHNob3VsZCBiZSBuZWVkZWQgYmV0d2VlbiB0aGVzZSB0d28u
ICovCisgICAgICAgIHdyaXRlX2F0b21pYygmY29udGV4dC0+aGksIGxjdHh0
LmhpKTsKICAgICB9CiAKLSAgICBjb250ZXh0X3NldF9hZGRyZXNzX3dpZHRo
KCpjb250ZXh0LCBhZ2F3KTsKLSAgICBjb250ZXh0X3NldF9mYXVsdF9lbmFi
bGUoKmNvbnRleHQpOwotICAgIGNvbnRleHRfc2V0X3ByZXNlbnQoKmNvbnRl
eHQpOwogICAgIGlvbW11X3N5bmNfY2FjaGUoY29udGV4dCwgc2l6ZW9mKHN0
cnVjdCBjb250ZXh0X2VudHJ5KSk7CiAgICAgc3Bpbl91bmxvY2soJmlvbW11
LT5sb2NrKTsKIAotICAgIC8qIENvbnRleHQgZW50cnkgd2FzIHByZXZpb3Vz
bHkgbm9uLXByZXNlbnQgKHdpdGggZG9taWQgMCkuICovCi0gICAgcmMgPSBp
b21tdV9mbHVzaF9jb250ZXh0X2RldmljZShpb21tdSwgMCwgUENJX0JERjIo
YnVzLCBkZXZmbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBETUFfQ0NNRF9NQVNLX05PQklULCAxKTsKKyAgICByYyA9IGlvbW11
X2ZsdXNoX2NvbnRleHRfZGV2aWNlKGlvbW11LCBwcmV2X2RpZCwgUENJX0JE
RjIoYnVzLCBkZXZmbiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBETUFfQ0NNRF9NQVNLX05PQklULCAhcHJldl9kb20pOwogICAg
IGZsdXNoX2Rldl9pb3RsYiA9ICEhZmluZF9hdHNfZGV2X2RyaGQoaW9tbXUp
OwotICAgIHJldCA9IGlvbW11X2ZsdXNoX2lvdGxiX2RzaShpb21tdSwgMCwg
MSwgZmx1c2hfZGV2X2lvdGxiKTsKKyAgICByZXQgPSBpb21tdV9mbHVzaF9p
b3RsYl9kc2koaW9tbXUsIHByZXZfZGlkLCAhcHJldl9kb20sIGZsdXNoX2Rl
dl9pb3RsYik7CiAKICAgICAvKgogICAgICAqIFRoZSBjdXJyZW50IGxvZ2lj
IGZvciByZXR1cm5zOgpAQCAtMTQ2MSwxNyArMTU2MCwyNiBAQCBpbnQgZG9t
YWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgdW5tYXBfdnRkX2RvbWFp
bl9wYWdlKGNvbnRleHRfZW50cmllcyk7CiAKICAgICBpZiAoICFzZWcgJiYg
IXJjICkKLSAgICAgICAgcmMgPSBtZV93aWZpX3F1aXJrKGRvbWFpbiwgYnVz
LCBkZXZmbiwgTUFQX01FX1BIQU5UT01fRlVOQyk7CisgICAgICAgIHJjID0g
bWVfd2lmaV9xdWlyayhkb21haW4sIGJ1cywgZGV2Zm4sIG1vZGUpOwogCiAg
ICAgaWYgKCByYyApCiAgICAgewotICAgICAgICByZXQgPSBkb21haW5fY29u
dGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgYnVzLCBkZXZmbik7Cisg
ICAgICAgIGlmICggIXByZXZfZG9tICkKKyAgICAgICAgICAgIHJldCA9IGRv
bWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCBidXMsIGRl
dmZuKTsKKyAgICAgICAgZWxzZSBpZiAoIHByZXZfZG9tICE9IGRvbWFpbiAp
IC8qIEF2b2lkIGluZmluaXRlIHJlY3Vyc2lvbi4gKi8KKyAgICAgICAgICAg
IHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKHByZXZfZG9tLCBp
b21tdSwgYnVzLCBkZXZmbiwgcGRldiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgJiBNQVBfV0lUSF9STVJS
KSA8IDA7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldCA9IDE7CiAK
ICAgICAgICAgaWYgKCAhcmV0ICYmIHBkZXYgJiYgcGRldi0+ZGV2Zm4gPT0g
ZGV2Zm4gKQogICAgICAgICAgICAgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAo
ZG9tYWluLCBwZGV2LCBpb21tdSk7CiAgICAgfQogCi0gICAgcmV0dXJuIHJj
OworICAgIGlmICggcHJldl9kb20gKQorICAgICAgICByY3VfdW5sb2NrX2Rv
bWFpbihwcmV2X2RvbSk7CisKKyAgICByZXR1cm4gcmMgPzogcGRldiAmJiBw
cmV2X2RvbTsKIH0KIAogc3RhdGljIGludCBkb21haW5fY29udGV4dF91bm1h
cChzdHJ1Y3QgZG9tYWluICpkLCB1aW50OF90IGRldmZuLApAQCAtMTQ4MSw4
ICsxNTg5LDEwIEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGlu
ZyhzdHJ1Y3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dHJ1Y3QgcGNpX2RldiAqcGRldikKIHsKICAgICBzdHJ1Y3QgYWNwaV9kcmhk
X3VuaXQgKmRyaGQ7CisgICAgY29uc3Qgc3RydWN0IGFjcGlfcm1ycl91bml0
ICpybXJyOwogICAgIGludCByZXQgPSAwOwotICAgIHVpbnQxNl90IHNlZyA9
IHBkZXYtPnNlZzsKKyAgICB1bnNpZ25lZCBpbnQgaSwgbW9kZSA9IDA7Cisg
ICAgdWludDE2X3Qgc2VnID0gcGRldi0+c2VnLCBiZGY7CiAgICAgdWludDhf
dCBidXMgPSBwZGV2LT5idXMsIHNlY2J1czsKIAogICAgIGRyaGQgPSBhY3Bp
X2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7CkBAIC0xNTAyLDggKzE2
MTIsMjkgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0
cnVjdAogCiAgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOwogCisgICAg
Zm9yX2VhY2hfcm1ycl9kZXZpY2UoIHJtcnIsIGJkZiwgaSApCisgICAgewor
ICAgICAgICBpZiAoIHJtcnItPnNlZ21lbnQgIT0gcGRldi0+c2VnIHx8IGJk
ZiAhPSBwZGV2LT5zYmRmLmJkZiApCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICBtb2RlIHw9IE1BUF9XSVRIX1JNUlI7CisgICAgICAgIGJy
ZWFrOworICAgIH0KKworICAgIGlmICggZG9tYWluICE9IHBkZXYtPmRvbWFp
biApCisgICAgeworICAgICAgICBpZiAoIHBkZXYtPmRvbWFpbi0+aXNfZHlp
bmcgKQorICAgICAgICAgICAgbW9kZSB8PSBNQVBfT1dORVJfRFlJTkc7Cisg
ICAgICAgIGVsc2UgaWYgKCBkcmhkICYmCisgICAgICAgICAgICAgICAgICAh
YW55X3BkZXZfYmVoaW5kX2lvbW11KHBkZXYtPmRvbWFpbiwgcGRldiwgZHJo
ZC0+aW9tbXUpICYmCisgICAgICAgICAgICAgICAgICAhcGRldi0+cGhhbnRv
bV9zdHJpZGUgKQorICAgICAgICAgICAgbW9kZSB8PSBNQVBfU0lOR0xFX0RF
VklDRTsKKyAgICB9CisKICAgICBzd2l0Y2ggKCBwZGV2LT50eXBlICkKICAg
ICB7CisgICAgICAgIGJvb2wgcHJldl9wcmVzZW50OworCiAgICAgY2FzZSBE
RVZfVFlQRV9QQ0lfSE9TVF9CUklER0U6CiAgICAgICAgIGlmICggaW9tbXVf
ZGVidWcgKQogICAgICAgICAgICAgcHJpbnRrKFZURFBSRUZJWCAiZCVkOkhv
c3RicmlkZ2U6IHNraXAgJTA0eDolMDJ4OiUwMnguJXUgbWFwXG4iLApAQCAt
MTUyNCw3ICsxNjU1LDkgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9t
YXBwaW5nKHN0cnVjdAogICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9t
YWluX2lkLCBzZWcsIGJ1cywKICAgICAgICAgICAgICAgICAgICBQQ0lfU0xP
VChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSk7CiAgICAgICAgIHJldCA9IGRv
bWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUs
IGJ1cywgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBkZXYpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwZGV2LCBtb2RlKTsKKyAgICAgICAgaWYgKCByZXQg
PiAwICkKKyAgICAgICAgICAgIHJldCA9IDA7CiAgICAgICAgIGlmICggIXJl
dCAmJiBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBhdHNfZGV2aWNlKHBkZXYs
IGRyaGQpID4gMCApCiAgICAgICAgICAgICBlbmFibGVfYXRzX2RldmljZShw
ZGV2LCAmZHJoZC0+aW9tbXUtPmF0c19kZXZpY2VzKTsKIApAQCAtMTUzNyw5
ICsxNjcwLDEwIEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGlu
ZyhzdHJ1Y3QKICAgICAgICAgICAgICAgICAgICBQQ0lfU0xPVChkZXZmbiks
IFBDSV9GVU5DKGRldmZuKSk7CiAKICAgICAgICAgcmV0ID0gZG9tYWluX2Nv
bnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgYnVzLCBk
ZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGRldik7Ci0gICAgICAgIGlmICggcmV0ICkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRldiwgbW9kZSk7CisgICAg
ICAgIGlmICggcmV0IDwgMCApCiAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgcHJldl9wcmVzZW50ID0gcmV0OwogCiAgICAgICAgIGlmICggKHJldCA9
IGZpbmRfdXBzdHJlYW1fYnJpZGdlKHNlZywgJmJ1cywgJmRldmZuLCAmc2Vj
YnVzKSkgPCAxICkKICAgICAgICAgewpAQCAtMTU0Nyw2ICsxNjgxLDE1IEBA
IHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIHJldCA9IC1FTlhJ
TzsKICAgICAgICAgfQorICAgICAgICAvKgorICAgICAgICAgKiBTdHJpY3Rs
eSBzcGVha2luZyBpZiB0aGUgZGV2aWNlIGlzIHRoZSBvbmx5IG9uZSBiZWhp
bmQgdGhpcyBicmlkZ2UKKyAgICAgICAgICogYW5kIHRoZSBvbmx5IG9uZSB3
aXRoIHRoaXMgKHNlY2J1cywwLDApIHR1cGxlLCBpdCBjb3VsZCBiZSBhbGxv
d2VkCisgICAgICAgICAqIHRvIGJlIHJlLWFzc2lnbmVkIHJlZ2FyZGxlc3Mg
b2YgUk1SUiBwcmVzZW5jZS4gIEJ1dCBsZXQncyBkZWFsIHdpdGgKKyAgICAg
ICAgICogdGhhdCBjYXNlIG9ubHkgaWYgaXQgaXMgYWN0dWFsbHkgZm91bmQg
aW4gdGhlIHdpbGQuCisgICAgICAgICAqLworICAgICAgICBlbHNlIGlmICgg
cHJldl9wcmVzZW50ICYmIChtb2RlICYgTUFQX1dJVEhfUk1SUikgJiYKKyAg
ICAgICAgICAgICAgICAgIGRvbWFpbiAhPSBwZGV2LT5kb21haW4gKQorICAg
ICAgICAgICAgcmV0ID0gLUVPUE5PVFNVUFA7CiAKICAgICAgICAgLyoKICAg
ICAgICAgICogTWFwcGluZyBhIGJyaWRnZSBzaG91bGQsIGlmIGFueXRoaW5n
LCBwYXNzIHRoZSBzdHJ1Y3QgcGNpX2RldiBvZgpAQCAtMTU1NSw3ICsxNjk4
LDcgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVj
dAogICAgICAgICAgKi8KICAgICAgICAgaWYgKCByZXQgPj0gMCApCiAgICAg
ICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21h
aW4sIGRyaGQtPmlvbW11LCBidXMsIGRldmZuLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBt
b2RlKTsKIAogICAgICAgICAvKgogICAgICAgICAgKiBEZXZpY2VzIGJlaGlu
ZCBQQ0llLXRvLVBDSS9QQ0l4IGJyaWRnZSBtYXkgZ2VuZXJhdGUgZGlmZmVy
ZW50CkBAIC0xNTcwLDEwICsxNzEzLDE1IEBAIHN0YXRpYyBpbnQgZG9tYWlu
X2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgaWYgKCAhcmV0ICYm
IHBkZXZfdHlwZShzZWcsIGJ1cywgZGV2Zm4pID09IERFVl9UWVBFX1BDSWUy
UENJX0JSSURHRSAmJgogICAgICAgICAgICAgIChzZWNidXMgIT0gcGRldi0+
YnVzIHx8IHBkZXYtPmRldmZuICE9IDApICkKICAgICAgICAgICAgIHJldCA9
IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+aW9t
bXUsIHNlY2J1cywgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgbW9kZSk7CiAKICAgICAg
ICAgaWYgKCByZXQgKQotICAgICAgICAgICAgZG9tYWluX2NvbnRleHRfdW5t
YXAoZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAgICAgIHsKKyAgICAgICAg
ICAgIGlmICggIXByZXZfcHJlc2VudCApCisgICAgICAgICAgICAgICAgZG9t
YWluX2NvbnRleHRfdW5tYXAoZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAg
ICAgICAgICBlbHNlIGlmICggcGRldi0+ZG9tYWluICE9IGRvbWFpbiApIC8q
IEF2b2lkIGluZmluaXRlIHJlY3Vyc2lvbi4gKi8KKyAgICAgICAgICAgICAg
ICBkb21haW5fY29udGV4dF9tYXBwaW5nKHBkZXYtPmRvbWFpbiwgZGV2Zm4s
IHBkZXYpOworICAgICAgICB9CiAKICAgICAgICAgYnJlYWs7CiAKQEAgLTIz
NTIsOSArMjUwMCw4IEBAIHN0YXRpYyBpbnQgcmVhc3NpZ25fZGV2aWNlX293
bmVyc2hpcCgKIHsKICAgICBpbnQgcmV0OwogCi0gICAgcmV0ID0gZG9tYWlu
X2NvbnRleHRfdW5tYXAoc291cmNlLCBkZXZmbiwgcGRldik7Ci0gICAgaWYg
KCByZXQgKQotICAgICAgICByZXR1cm4gcmV0OworICAgIGlmICggIWhhc19h
cmNoX3BkZXZzKHRhcmdldCkgKQorICAgICAgICB2bXhfcGlfaG9va3NfYXNz
aWduKHRhcmdldCk7CiAKICAgICAvKgogICAgICAqIERldmljZXMgYXNzaWdu
ZWQgdG8gdW50cnVzdGVkIGRvbWFpbnMgKGhlcmUgYXNzdW1lZCB0byBiZSBh
bnkgZG9tVSkKQEAgLTIzNjQsNiArMjUxMSwzMSBAQCBzdGF0aWMgaW50IHJl
YXNzaWduX2RldmljZV9vd25lcnNoaXAoCiAgICAgaWYgKCAodGFyZ2V0ICE9
IGhhcmR3YXJlX2RvbWFpbikgJiYgIWlvbW11X2ludHJlbWFwICkKICAgICAg
ICAgdW50cnVzdGVkX21zaSA9IHRydWU7CiAKKyAgICByZXQgPSBkb21haW5f
Y29udGV4dF9tYXBwaW5nKHRhcmdldCwgZGV2Zm4sIHBkZXYpOworICAgIGlm
ICggcmV0ICkKKyAgICB7CisgICAgICAgIGlmICggIWhhc19hcmNoX3BkZXZz
KHRhcmdldCkgKQorICAgICAgICAgICAgdm14X3BpX2hvb2tzX2RlYXNzaWdu
KHRhcmdldCk7CisgICAgICAgIHJldHVybiByZXQ7CisgICAgfQorCisgICAg
aWYgKCBwZGV2LT5kZXZmbiA9PSBkZXZmbiApCisgICAgeworICAgICAgICBj
b25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQgPSBhY3BpX2ZpbmRf
bWF0Y2hlZF9kcmhkX3VuaXQocGRldik7CisKKyAgICAgICAgaWYgKCBkcmhk
ICkKKyAgICAgICAgICAgIGNoZWNrX2NsZWFudXBfZG9taWRfbWFwKHNvdXJj
ZSwgcGRldiwgZHJoZC0+aW9tbXUpOworICAgIH0KKworICAgIGlmICggZGV2
Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+ZG9tYWluICE9IHRhcmdldCAp
CisgICAgeworICAgICAgICBsaXN0X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0
LCAmdGFyZ2V0LT5wZGV2X2xpc3QpOworICAgICAgICBwZGV2LT5kb21haW4g
PSB0YXJnZXQ7CisgICAgfQorCisgICAgaWYgKCAhaGFzX2FyY2hfcGRldnMo
c291cmNlKSApCisgICAgICAgIHZteF9waV9ob29rc19kZWFzc2lnbihzb3Vy
Y2UpOworCiAgICAgLyoKICAgICAgKiBJZiB0aGUgZGV2aWNlIGJlbG9uZ3Mg
dG8gdGhlIGhhcmR3YXJlIGRvbWFpbiwgYW5kIGl0IGhhcyBSTVJSLCBkb24n
dAogICAgICAqIHJlbW92ZSBpdCBmcm9tIHRoZSBoYXJkd2FyZSBkb21haW4s
IGJlY2F1c2UgQklPUyBtYXkgdXNlIFJNUlIgYXQKQEAgLTIzOTIsMzQgKzI1
NjQsNyBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2RldmljZV9vd25lcnNoaXAo
CiAgICAgICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKCBkZXZmbiA9PSBw
ZGV2LT5kZXZmbiAmJiBwZGV2LT5kb21haW4gIT0gZG9tX2lvICkKLSAgICB7
Ci0gICAgICAgIGxpc3RfbW92ZSgmcGRldi0+ZG9tYWluX2xpc3QsICZkb21f
aW8tPnBkZXZfbGlzdCk7Ci0gICAgICAgIHBkZXYtPmRvbWFpbiA9IGRvbV9p
bzsKLSAgICB9Ci0KLSAgICBpZiAoICFoYXNfYXJjaF9wZGV2cyhzb3VyY2Up
ICkKLSAgICAgICAgdm14X3BpX2hvb2tzX2RlYXNzaWduKHNvdXJjZSk7Ci0K
LSAgICBpZiAoICFoYXNfYXJjaF9wZGV2cyh0YXJnZXQpICkKLSAgICAgICAg
dm14X3BpX2hvb2tzX2Fzc2lnbih0YXJnZXQpOwotCi0gICAgcmV0ID0gZG9t
YWluX2NvbnRleHRfbWFwcGluZyh0YXJnZXQsIGRldmZuLCBwZGV2KTsKLSAg
ICBpZiAoIHJldCApCi0gICAgewotICAgICAgICBpZiAoICFoYXNfYXJjaF9w
ZGV2cyh0YXJnZXQpICkKLSAgICAgICAgICAgIHZteF9waV9ob29rc19kZWFz
c2lnbih0YXJnZXQpOwotCi0gICAgICAgIHJldHVybiByZXQ7Ci0gICAgfQot
Ci0gICAgaWYgKCBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBwZGV2LT5kb21h
aW4gIT0gdGFyZ2V0ICkKLSAgICB7Ci0gICAgICAgIGxpc3RfbW92ZSgmcGRl
di0+ZG9tYWluX2xpc3QsICZ0YXJnZXQtPnBkZXZfbGlzdCk7Ci0gICAgICAg
IHBkZXYtPmRvbWFpbiA9IHRhcmdldDsKLSAgICB9Ci0KLSAgICByZXR1cm4g
cmV0OworICAgIHJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGludGVsX2lv
bW11X2Fzc2lnbl9kZXZpY2UoCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL3Z0ZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L3Z0ZC9pb21tdS5oCkBAIC0yMDIsOCArMjAyLDEyIEBAIHN0cnVjdCByb290
X2VudHJ5IHsKICAgICBkbyB7KHJvb3QpLnZhbCB8PSAoKHZhbHVlKSAmIFBB
R0VfTUFTS180Syk7fSB3aGlsZSgwKQogCiBzdHJ1Y3QgY29udGV4dF9lbnRy
eSB7Ci0gICAgdTY0IGxvOwotICAgIHU2NCBoaTsKKyAgICB1bmlvbiB7Cisg
ICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICB1aW50NjRfdCBsbywgaGk7
CisgICAgICAgIH07CisgICAgICAgIF9fdWludDEyOF90IGZ1bGw7CisgICAg
fTsKIH07CiAjZGVmaW5lIFJPT1RfRU5UUllfTlIgKFBBR0VfU0laRV80Sy9z
aXplb2Yoc3RydWN0IHJvb3RfZW50cnkpKQogI2RlZmluZSBjb250ZXh0X3By
ZXNlbnQoYykgKChjKS5sbyAmIDEpCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC9xdWlya3MuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC92dGQvcXVpcmtzLmMKQEAgLTM0NCw3ICszNDQsOCBAQCB2b2lkIF9f
aW5pdCBwbGF0Zm9ybV9xdWlya3NfaW5pdCh2b2lkKQogICovCiAKIHN0YXRp
YyBpbnQgX19tdXN0X2NoZWNrIG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKHN0
cnVjdCBkb21haW4gKmRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBkZXYsIGludCBtYXApCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQgZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1vZGUpCiB7
CiAgICAgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwogICAgIHN0cnVj
dCBwY2lfZGV2ICpwZGV2OwpAQCAtMzU1LDkgKzM1Niw5IEBAIHN0YXRpYyBp
bnQgX19tdXN0X2NoZWNrIG1hcF9tZV9waGFudG9tX2YKICAgICBkcmhkID0g
YWNwaV9maW5kX21hdGNoZWRfZHJoZF91bml0KHBkZXYpOwogCiAgICAgLyog
bWFwIG9yIHVubWFwIE1FIHBoYW50b20gZnVuY3Rpb24gKi8KLSAgICBpZiAo
IG1hcCApCisgICAgaWYgKCAhKG1vZGUgJiBVTk1BUF9NRV9QSEFOVE9NX0ZV
TkMpICkKICAgICAgICAgcmMgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29u
ZShkb21haW4sIGRyaGQtPmlvbW11LCAwLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFBDSV9ERVZGTihkZXYsIDcpLCBOVUxM
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ
Q0lfREVWRk4oZGV2LCA3KSwgTlVMTCwgbW9kZSk7CiAgICAgZWxzZQogICAg
ICAgICByYyA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGRy
aGQtPmlvbW11LCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBQQ0lfREVWRk4oZGV2LCA3KSk7CkBAIC0zNjUsNyArMzY2LDgg
QEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgbWFwX21lX3BoYW50b21fZgog
ICAgIHJldHVybiByYzsKIH0KIAotaW50IG1lX3dpZmlfcXVpcmsoc3RydWN0
IGRvbWFpbiAqZG9tYWluLCB1OCBidXMsIHU4IGRldmZuLCBpbnQgbWFwKQor
aW50IG1lX3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1aW50
OF90IGJ1cywgdWludDhfdCBkZXZmbiwKKyAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCBtb2RlKQogewogICAgIHUzMiBpZDsKICAgICBpbnQgcmMg
PSAwOwpAQCAtMzg5LDcgKzM5MSw3IEBAIGludCBtZV93aWZpX3F1aXJrKHN0
cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICAgICAgICAgIGNhc2UgMHg0MjNi
ODA4NjoKICAgICAgICAgICAgIGNhc2UgMHg0MjNjODA4NjoKICAgICAgICAg
ICAgIGNhc2UgMHg0MjNkODA4NjoKLSAgICAgICAgICAgICAgICByYyA9IG1h
cF9tZV9waGFudG9tX2Z1bmN0aW9uKGRvbWFpbiwgMywgbWFwKTsKKyAgICAg
ICAgICAgICAgICByYyA9IG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKGRvbWFp
biwgMywgbW9kZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNDE1
LDcgKzQxNyw3IEBAIGludCBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21haW4g
KmRvbWFpbiwKICAgICAgICAgICAgIGNhc2UgMHg0MjM4ODA4NjogICAgICAg
IC8qIFB1bWEgUGVhayAqLwogICAgICAgICAgICAgY2FzZSAweDQyMmI4MDg2
OgogICAgICAgICAgICAgY2FzZSAweDQyMmM4MDg2OgotICAgICAgICAgICAg
ICAgIHJjID0gbWFwX21lX3BoYW50b21fZnVuY3Rpb24oZG9tYWluLCAyMiwg
bWFwKTsKKyAgICAgICAgICAgICAgICByYyA9IG1hcF9tZV9waGFudG9tX2Z1
bmN0aW9uKGRvbWFpbiwgMjIsIG1vZGUpOwogICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBi
cmVhazsKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3Z0ZC5o
CisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC92dGQuaApAQCAt
MjIsOCArMjIsMTQgQEAKIAogI2luY2x1ZGUgPHhlbi9pb21tdS5oPgogCi0j
ZGVmaW5lIE1BUF9NRV9QSEFOVE9NX0ZVTkMgICAgICAxCi0jZGVmaW5lIFVO
TUFQX01FX1BIQU5UT01fRlVOQyAgICAwCisvKgorICogVmFsdWVzIGZvciBk
b21haW5fY29udGV4dF9tYXBwaW5nX29uZSgpJ3MgYW5kIG1lX3dpZmlfcXVp
cmsoKSdzICJtb2RlIgorICogcGFyYW1ldGVycy4KKyAqLworI2RlZmluZSBN
QVBfV0lUSF9STVJSICAgICAgICAgKDF1IDw8IDApCisjZGVmaW5lIE1BUF9P
V05FUl9EWUlORyAgICAgICAoMXUgPDwgMSkKKyNkZWZpbmUgTUFQX1NJTkdM
RV9ERVZJQ0UgICAgICgxdSA8PCAyKQorI2RlZmluZSBVTk1BUF9NRV9QSEFO
VE9NX0ZVTkMgKDF1IDw8IDMpCiAKIC8qIEFsbG93IGZvciBib3RoIElPQVBJ
QyBhbmQgSU9TQVBJQy4gKi8KICNkZWZpbmUgSU9feEFQSUNfcm91dGVfZW50
cnkgSU9fQVBJQ19yb3V0ZV9lbnRyeQo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFzc2lnbiBkZXZpY2VzIGRpcmVjdGx5CgpEZXZp
Y2VzIHdpdGggdW5pdHkgbWFwIHJhbmdlcywgZHVlIHRvIGl0IGJlaW5nIHVu
c3BlY2lmaWVkIGhvdy93aGVuCnRoZXNlIG1lbW9yeSByYW5nZXMgbWF5IGdl
dCBhY2Nlc3NlZCwgbWF5IG5vdCBiZSBsZWZ0IGRpc2Nvbm5lY3RlZCBmcm9t
CnRoZWlyIHVuaXR5IG1hcHBpbmdzIChhcyBsb25nIGFzIGl0J3Mgbm90IGNl
cnRhaW4gdGhhdCB0aGUgZGV2aWNlIGhhcwpiZWVuIGZ1bGx5IHF1aWVzY2Vk
KS4gSGVuY2UgcmF0aGVyIHRoYW4gdGVhcmluZyBkb3duIHRoZSBvbGQgcm9v
dCBwYWdlCnRhYmxlIHBvaW50ZXIgYW5kIHRoZW4gZXN0YWJsaXNoaW5nIHRo
ZSBuZXcgb25lLCByZS1hc3NpZ25tZW50IG5lZWRzIHRvCmJlIGRvbmUgaW4g
YSBzaW5nbGUgc3RlcC4KClRoaXMgaXMgQ1ZFLTIwMjItMjYzNjAgLyBwYXJ0
IG9mIFhTQS00MDAuCgpSZXBvcnRlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgpTaW1pbGFybHkgcXVhcmFudGluaW5n
IHNjcmF0Y2gtcGFnZSBtb2RlIHJlbGllcyBvbiBwYWdlIHRhYmxlcyB0byBi
ZQpjb250aW51b3VzbHkgd2lyZWQgdXAuCgpUbyBhdm9pZCBjb21wbGljYXRp
bmcgdGhpbmdzIG1vcmUgdGhhbiBuZWNlc3NhcnksIHRyZWF0IGFsbCBkZXZp
Y2VzCm1vc3RseSBlcXVhbGx5LCBpLmUuIHJlZ2FyZGxlc3Mgb2YgdGhlaXIg
YXNzb2NpYXRpb24gd2l0aCBhbnkgdW5pdHkgbWFwCnJhbmdlcy4gIFRoZSBt
YWluIGRpZmZlcmVuY2UgaXMgd2hlbiBpdCBjb21lcyB0byB1cGRhdGluZyBE
VEVzLCB3aGljaCBuZWVkCnRvIGJlIGF0b21pYyB3aGVuIHRoZXJlIGFyZSB1
bml0eSBtYXBwaW5ncy4gWWV0IGF0b21pY2l0eSBjYW4gb25seSBiZQphY2hp
ZXZlZCB3aXRoIENNUFhDSEcxNkIsIGF2YWlsYWJpbGl0eSBvZiB3aGljaCB3
ZSBjYW4ndCB0YWtlIGZvciBnaXZlbi4KClNpZ25lZC1vZmYtYnk6IEphbiBC
ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwg
RHVycmFudCA8cGF1bEB4ZW4ub3JnPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1
IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vZHJp
dmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXUuaAorKysgYi94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9hbWQvaW9tbXUuaApAQCAtMjQ3LDkgKzI0NywxMyBA
QCB2b2lkIGFtZF9pb21tdV9zZXRfaW50cmVtYXBfdGFibGUoc3RydWN0CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAq
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgdmFsaWQpOwotdm9pZCBhbWRfaW9tbXVf
c2V0X3Jvb3RfcGFnZV90YWJsZShzdHJ1Y3QgYW1kX2lvbW11X2R0ZSAqZHRl
LAotCQkJCSAgIHVpbnQ2NF90IHJvb3RfcHRyLCB1aW50MTZfdCBkb21haW5f
aWQsCi0JCQkJICAgdWludDhfdCBwYWdpbmdfbW9kZSwgYm9vbCB2YWxpZCk7
CisjZGVmaW5lIFNFVF9ST09UX1ZBTElEICAgICAgICAgICgxdSA8PCAwKQor
I2RlZmluZSBTRVRfUk9PVF9XSVRIX1VOSVRZX01BUCAoMXUgPDwgMSkKK2lu
dCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUo
c3RydWN0IGFtZF9pb21tdV9kdGUgKmR0ZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgcm9vdF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQxNl90IGRvbWFpbl9pZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBwYWdpbmdf
bW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsKIHZvaWQgaW9tbXVfZHRl
X2FkZF9kZXZpY2VfZW50cnkoc3RydWN0IGFtZF9pb21tdV9kdGUgKmR0ZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IGl2cnNfbWFwcGluZ3MgKml2cnNfZGV2KTsKIHZvaWQgaW9tbXVfZHRlX3Nl
dF9ndWVzdF9jcjMoc3RydWN0IGFtZF9pb21tdV9kdGUgKmR0ZSwgdWludDE2
X3QgZG9tX2lkLAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQv
aW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1k
L2lvbW11X21hcC5jCkBAIC05OSwxMCArOTksNjkgQEAgc3RhdGljIHVuc2ln
bmVkIGludCBzZXRfaW9tbXVfcHRlX3ByZXNlbgogICAgIHJldHVybiBmbHVz
aF9mbGFnczsKIH0KIAotdm9pZCBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90
YWJsZShzdHJ1Y3QgYW1kX2lvbW11X2R0ZSAqZHRlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCByb290X3B0ciwgdWlu
dDE2X3QgZG9tYWluX2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50OF90IHBhZ2luZ19tb2RlLCBib29sIHZhbGlkKQorLyoK
KyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucworICogLSAtZXJybm8gZm9yIGVy
cm9ycywKKyAqIC0gMCBmb3IgYSBzdWNjZXNzZnVsIHVwZGF0ZSwgYXRvbWlj
IHdoZW4gbmVjZXNzYXJ5CisgKiAtIDEgZm9yIGEgc3VjY2Vzc2Z1bCBidXQg
bm9uLWF0b21pYyB1cGRhdGUsIHdoaWNoIG1heSBuZWVkIHRvIGJlIHdhcm5l
ZAorICogICBhYm91dCBieSB0aGUgY2FsbGVyLgorICovCitpbnQgYW1kX2lv
bW11X3NldF9yb290X3BhZ2VfdGFibGUoc3RydWN0IGFtZF9pb21tdV9kdGUg
KmR0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50
NjRfdCByb290X3B0ciwgdWludDE2X3QgZG9tYWluX2lkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgcGFnaW5nX21vZGUs
IHVuc2lnbmVkIGludCBmbGFncykKIHsKKyAgICBib29sIHZhbGlkID0gZmxh
Z3MgJiBTRVRfUk9PVF9WQUxJRDsKKworICAgIGlmICggZHRlLT52ICYmIGR0
ZS0+dHYgJiYKKyAgICAgICAgIChjcHVfaGFzX2N4MTYgfHwgKGZsYWdzICYg
U0VUX1JPT1RfV0lUSF9VTklUWV9NQVApKSApCisgICAgeworICAgICAgICB1
bmlvbiB7CisgICAgICAgICAgICBzdHJ1Y3QgYW1kX2lvbW11X2R0ZSBkdGU7
CisgICAgICAgICAgICB1aW50NjRfdCByYXc2NFs0XTsKKyAgICAgICAgICAg
IF9fdWludDEyOF90IHJhdzEyOFsyXTsKKyAgICAgICAgfSBsZHRlID0geyAu
ZHRlID0gKmR0ZSB9OworICAgICAgICBfX3VpbnQxMjhfdCBvbGQgPSBsZHRl
LnJhdzEyOFswXTsKKyAgICAgICAgaW50IHJldCA9IDA7CisKKyAgICAgICAg
bGR0ZS5kdGUuZG9tYWluX2lkID0gZG9tYWluX2lkOworICAgICAgICBsZHRl
LmR0ZS5wdF9yb290ID0gcGFkZHJfdG9fcGZuKHJvb3RfcHRyKTsKKyAgICAg
ICAgbGR0ZS5kdGUuaXcgPSB0cnVlOworICAgICAgICBsZHRlLmR0ZS5pciA9
IHRydWU7CisgICAgICAgIGxkdGUuZHRlLnBhZ2luZ19tb2RlID0gcGFnaW5n
X21vZGU7CisgICAgICAgIGxkdGUuZHRlLnYgPSB2YWxpZDsKKworICAgICAg
ICBpZiAoIGNwdV9oYXNfY3gxNiApCisgICAgICAgIHsKKyAgICAgICAgICAg
IF9fdWludDEyOF90IHJlcyA9IGNtcHhjaGcxNmIoZHRlLCAmb2xkLCAmbGR0
ZS5yYXcxMjhbMF0pOworCisgICAgICAgICAgICAvKgorICAgICAgICAgICAg
ICogSGFyZHdhcmUgZG9lcyBub3QgdXBkYXRlIHRoZSBEVEUgYmVoaW5kIG91
ciBiYWNrcywgc28gdGhlCisgICAgICAgICAgICAgKiByZXR1cm4gdmFsdWUg
c2hvdWxkIG1hdGNoICJvbGQiLgorICAgICAgICAgICAgICovCisgICAgICAg
ICAgICBpZiAoIHJlcyAhPSBvbGQgKQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSCisgICAgICAgICAgICAgICAg
ICAgICAgICJEb20lZDogdW5leHBlY3RlZCBEVEUgJTAxNmx4XyUwMTZseCAo
ZXhwZWN0ZWQgJTAxNmx4XyUwMTZseClcbiIsCisgICAgICAgICAgICAgICAg
ICAgICAgIGRvbWFpbl9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgKHVp
bnQ2NF90KShyZXMgPj4gNjQpLCAodWludDY0X3QpcmVzLAorICAgICAgICAg
ICAgICAgICAgICAgICAodWludDY0X3QpKG9sZCA+PiA2NCksICh1aW50NjRf
dClvbGQpOworICAgICAgICAgICAgICAgIHJldCA9IC1FSUxTRVE7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSAvKiBCZXN0IGVm
Zm9ydCwgdXBkYXRpbmcgZG9tYWluX2lkIGxhc3QuICovCisgICAgICAgIHsK
KyAgICAgICAgICAgIHVpbnQ2NF90ICpwdHIgPSAodm9pZCAqKWR0ZTsKKwor
ICAgICAgICAgICAgd3JpdGVfYXRvbWljKHB0ciArIDAsIGxkdGUucmF3NjRb
MF0pOworICAgICAgICAgICAgLyogTm8gYmFycmllciBzaG91bGQgYmUgbmVl
ZGVkIGJldHdlZW4gdGhlc2UgdHdvLiAqLworICAgICAgICAgICAgd3JpdGVf
YXRvbWljKHB0ciArIDEsIGxkdGUucmF3NjRbMV0pOworCisgICAgICAgICAg
ICByZXQgPSAxOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHJldDsK
KyAgICB9CisKICAgICBpZiAoIHZhbGlkIHx8IGR0ZS0+diApCiAgICAgewog
ICAgICAgICBkdGUtPnR2ID0gZmFsc2U7CkBAIC0xMTcsNiArMTc2LDggQEAg
dm9pZCBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJsZShzdHJ1YwogICAg
IHNtcF93bWIoKTsKICAgICBkdGUtPnR2ID0gdHJ1ZTsKICAgICBkdGUtPnYg
PSB2YWxpZDsKKworICAgIHJldHVybiAwOwogfQogCiB2b2lkIGFtZF9pb21t
dV9zZXRfaW50cmVtYXBfdGFibGUoCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL2FtZC9wY2lfYW1kX2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYwpAQCAtODIsNDAgKzgy
LDgxIEBAIGludCBnZXRfZG1hX3JlcXVlc3Rvcl9pZCh1aW50MTZfdCBzZWcs
IHUKICAgICByZXR1cm4gcmVxX2lkOwogfQogCi1zdGF0aWMgdm9pZCBhbWRf
aW9tbXVfc2V0dXBfZG9tYWluX2RldmljZSgKK3N0YXRpYyBpbnQgX19tdXN0
X2NoZWNrIGFsbG9jYXRlX2RvbWFpbl9yZXNvdXJjZXMoc3RydWN0IGRvbWFp
bl9pb21tdSAqaGQpCit7CisgICAgaW50IHJjOworCisgICAgc3Bpbl9sb2Nr
KCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOworICAgIHJjID0gYW1kX2lvbW11
X2FsbG9jX3Jvb3QoaGQpOworICAgIHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5t
YXBwaW5nX2xvY2spOworCisgICAgcmV0dXJuIHJjOworfQorCitzdGF0aWMg
Ym9vbCBhbnlfcGRldl9iZWhpbmRfaW9tbXUoY29uc3Qgc3RydWN0IGRvbWFp
biAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgcGNpX2RldiAqZXhjbHVkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgYW1kX2lvbW11ICppb21t
dSkKK3sKKyAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRldjsKKworICAg
IGZvcl9lYWNoX3BkZXYgKCBkLCBwZGV2ICkKKyAgICB7CisgICAgICAgIGlm
ICggcGRldiA9PSBleGNsdWRlICkKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
CisgICAgICAgIGlmICggZmluZF9pb21tdV9mb3JfZGV2aWNlKHBkZXYtPnNl
ZywgcGRldi0+c2JkZi5iZGYpID09IGlvbW11ICkKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwor
c3RhdGljIGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldHVwX2RvbWFp
bl9kZXZpY2UoCiAgICAgc3RydWN0IGRvbWFpbiAqZG9tYWluLCBzdHJ1Y3Qg
YW1kX2lvbW11ICppb21tdSwKICAgICB1aW50OF90IGRldmZuLCBzdHJ1Y3Qg
cGNpX2RldiAqcGRldikKIHsKICAgICBzdHJ1Y3QgYW1kX2lvbW11X2R0ZSAq
dGFibGUsICpkdGU7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKLSAgICBp
bnQgcmVxX2lkLCB2YWxpZCA9IDE7CisgICAgdW5zaWduZWQgaW50IHJlcV9p
ZCwgc3JfZmxhZ3M7CisgICAgaW50IHJjOwogICAgIHU4IGJ1cyA9IHBkZXYt
PmJ1czsKLSAgICBjb25zdCBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRv
bV9pb21tdShkb21haW4pOworICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhk
ID0gZG9tX2lvbW11KGRvbWFpbik7CisgICAgY29uc3Qgc3RydWN0IGl2cnNf
bWFwcGluZ3MgKml2cnNfZGV2OwogCi0gICAgQlVHX09OKCAhaGQtPmFyY2gu
cm9vdF90YWJsZSB8fCAhaGQtPmFyY2gucGFnaW5nX21vZGUgfHwKLSAgICAg
ICAgICAgICFpb21tdS0+ZGV2X3RhYmxlLmJ1ZmZlciApOworICAgIEJVR19P
TighaGQtPmFyY2gucGFnaW5nX21vZGUgfHwgIWlvbW11LT5kZXZfdGFibGUu
YnVmZmVyKTsKIAotICAgIGlmICggaW9tbXVfaHdkb21fcGFzc3Rocm91Z2gg
JiYgaXNfaGFyZHdhcmVfZG9tYWluKGRvbWFpbikgKQotICAgICAgICB2YWxp
ZCA9IDA7CisgICAgcmMgPSBhbGxvY2F0ZV9kb21haW5fcmVzb3VyY2VzKGhk
KTsKKyAgICBpZiAoIHJjICkKKyAgICAgICAgcmV0dXJuIHJjOworCisgICAg
cmVxX2lkID0gZ2V0X2RtYV9yZXF1ZXN0b3JfaWQoaW9tbXUtPnNlZywgcGRl
di0+c2JkZi5iZGYpOworICAgIGl2cnNfZGV2ID0gJmdldF9pdnJzX21hcHBp
bmdzKGlvbW11LT5zZWcpW3JlcV9pZF07CisgICAgc3JfZmxhZ3MgPSAoaW9t
bXVfaHdkb21fcGFzc3Rocm91Z2ggJiYgaXNfaGFyZHdhcmVfZG9tYWluKGRv
bWFpbikKKyAgICAgICAgICAgICAgICA/IDAgOiBTRVRfUk9PVF9WQUxJRCkK
KyAgICAgICAgICAgICAgIHwgKGl2cnNfZGV2LT51bml0eV9tYXAgPyBTRVRf
Uk9PVF9XSVRIX1VOSVRZX01BUCA6IDApOwogCiAgICAgLyogZ2V0IGRldmlj
ZS10YWJsZSBlbnRyeSAqLwogICAgIHJlcV9pZCA9IGdldF9kbWFfcmVxdWVz
dG9yX2lkKGlvbW11LT5zZWcsIFBDSV9CREYyKGJ1cywgZGV2Zm4pKTsKICAg
ICB0YWJsZSA9IGlvbW11LT5kZXZfdGFibGUuYnVmZmVyOwogICAgIGR0ZSA9
ICZ0YWJsZVtyZXFfaWRdOworICAgIGl2cnNfZGV2ID0gJmdldF9pdnJzX21h
cHBpbmdzKGlvbW11LT5zZWcpW3JlcV9pZF07CiAKICAgICBzcGluX2xvY2tf
aXJxc2F2ZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsKIAogICAgIGlmICggIWR0
ZS0+diB8fCAhZHRlLT50diApCiAgICAgewotICAgICAgICBjb25zdCBzdHJ1
Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19kZXY7Ci0KICAgICAgICAgLyogYmlu
ZCBEVEUgdG8gZG9tYWluIHBhZ2UtdGFibGVzICovCi0gICAgICAgIGFtZF9p
b21tdV9zZXRfcm9vdF9wYWdlX3RhYmxlKAotICAgICAgICAgICAgZHRlLCBw
YWdlX3RvX21hZGRyKGhkLT5hcmNoLnJvb3RfdGFibGUpLCBkb21haW4tPmRv
bWFpbl9pZCwKLSAgICAgICAgICAgIGhkLT5hcmNoLnBhZ2luZ19tb2RlLCB2
YWxpZCk7CisgICAgICAgIHJjID0gYW1kX2lvbW11X3NldF9yb290X3BhZ2Vf
dGFibGUoCisgICAgICAgICAgICAgICAgIGR0ZSwgcGFnZV90b19tYWRkciho
ZC0+YXJjaC5yb290X3RhYmxlKSwKKyAgICAgICAgICAgICAgICAgZG9tYWlu
LT5kb21haW5faWQsIGhkLT5hcmNoLnBhZ2luZ19tb2RlLCBzcl9mbGFncyk7
CisgICAgICAgIGlmICggcmMgKQorICAgICAgICB7CisgICAgICAgICAgICBB
U1NFUlQocmMgPCAwKTsKKyAgICAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJl
c3RvcmUoJmlvbW11LT5sb2NrLCBmbGFncyk7CisgICAgICAgICAgICByZXR1
cm4gcmM7CisgICAgICAgIH0KIAogICAgICAgICAvKiBVbmRvIHdoYXQgYW1k
X2lvbW11X2Rpc2FibGVfZG9tYWluX2RldmljZSgpIG1heSBoYXZlIGRvbmUu
ICovCi0gICAgICAgIGl2cnNfZGV2ID0gJmdldF9pdnJzX21hcHBpbmdzKGlv
bW11LT5zZWcpW3JlcV9pZF07CiAgICAgICAgIGlmICggZHRlLT5pdF9yb290
ICkKICAgICAgICAgewogICAgICAgICAgICAgZHRlLT5pbnRfY3RsID0gSU9N
TVVfREVWX1RBQkxFX0lOVF9DT05UUk9MX1RSQU5TTEFURUQ7CkBAIC0xMzAs
MTcgKzE3MSw3NCBAQCBzdGF0aWMgdm9pZCBhbWRfaW9tbXVfc2V0dXBfZG9t
YWluX2RldmljCiAgICAgICAgICAgICBkdGUtPmkgPSBhdHNfZW5hYmxlZDsK
IAogICAgICAgICBhbWRfaW9tbXVfZmx1c2hfZGV2aWNlKGlvbW11LCByZXFf
aWQpOworICAgIH0KKyAgICBlbHNlIGlmICggZHRlLT5wdF9yb290ICE9IG1m
bl94KHBhZ2VfdG9fbWZuKGhkLT5hcmNoLnJvb3RfdGFibGUpKSApCisgICAg
eworICAgICAgICAvKgorICAgICAgICAgKiBTdHJpY3RseSBzcGVha2luZyBp
ZiB0aGUgZGV2aWNlIGlzIHRoZSBvbmx5IG9uZSB3aXRoIHRoaXMgcmVxdWVz
dG9yCisgICAgICAgICAqIElELCBpdCBjb3VsZCBiZSBhbGxvd2VkIHRvIGJl
IHJlLWFzc2lnbmVkIHJlZ2FyZGxlc3Mgb2YgdW5pdHkgbWFwCisgICAgICAg
ICAqIHByZXNlbmNlLiAgQnV0IGxldCdzIGRlYWwgd2l0aCB0aGF0IGNhc2Ug
b25seSBpZiBpdCBpcyBhY3R1YWxseQorICAgICAgICAgKiBmb3VuZCBpbiB0
aGUgd2lsZC4KKyAgICAgICAgICovCisgICAgICAgIGlmICggcmVxX2lkICE9
IFBDSV9CREYyKGJ1cywgZGV2Zm4pICYmCisgICAgICAgICAgICAgKHNyX2Zs
YWdzICYgU0VUX1JPT1RfV0lUSF9VTklUWV9NQVApICkKKyAgICAgICAgICAg
IHJjID0gLUVPUE5PVFNVUFA7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHJjID0gYW1kX2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUoCisgICAgICAg
ICAgICAgICAgICAgICBkdGUsIHBhZ2VfdG9fbWFkZHIoaGQtPmFyY2gucm9v
dF90YWJsZSksCisgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFp
bl9pZCwgaGQtPmFyY2gucGFnaW5nX21vZGUsIHNyX2ZsYWdzKTsKKyAgICAg
ICAgaWYgKCByYyA8IDAgKQorICAgICAgICB7CisgICAgICAgICAgICBzcGlu
X3VubG9ja19pcnFyZXN0b3JlKCZpb21tdS0+bG9jaywgZmxhZ3MpOworICAg
ICAgICAgICAgcmV0dXJuIHJjOworICAgICAgICB9CisgICAgICAgIGlmICgg
cmMgJiYKKyAgICAgICAgICAgICBkb21haW4gIT0gcGRldi0+ZG9tYWluICYm
CisgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgKiBCeSBub24tYXRv
bWljYWxseSB1cGRhdGluZyB0aGUgRFRFJ3MgZG9tYWluIElEIGZpZWxkIGxh
c3QsCisgICAgICAgICAgICAgICogZHVyaW5nIGEgc2hvcnQgd2luZG93IGlu
IHRpbWUgVExCIGVudHJpZXMgd2l0aCB0aGUgb2xkIGRvbWFpbgorICAgICAg
ICAgICAgICAqIElEIGJ1dCB0aGUgbmV3IHBhZ2UgdGFibGVzIG1heSBoYXZl
IGJlZW4gaW5zZXJ0ZWQuICBUaGlzIGNvdWxkCisgICAgICAgICAgICAgICog
YWZmZWN0IEkvTyBvZiBvdGhlciBkZXZpY2VzIHVzaW5nIHRoaXMgc2FtZSAo
b2xkKSBkb21haW4gSUQuCisgICAgICAgICAgICAgICogU3VjaCB1cGRhdGlu
ZyB0aGVyZWZvcmUgaXMgbm90IGEgcHJvYmxlbSBpZiB0aGlzIHdhcyB0aGUg
b25seQorICAgICAgICAgICAgICAqIGRldmljZSBhc3NvY2lhdGVkIHdpdGgg
dGhlIG9sZCBkb21haW4gSUQuICBEaXZlcnRpbmcgSS9PIG9mIGFueQorICAg
ICAgICAgICAgICAqIG9mIGEgZHlpbmcgZG9tYWluJ3MgZGV2aWNlcyB0byB0
aGUgcXVhcmFudGluZSBwYWdlIHRhYmxlcyBpcworICAgICAgICAgICAgICAq
IGludGVuZGVkIGFueXdheS4KKyAgICAgICAgICAgICAgKi8KKyAgICAgICAg
ICAgICAhcGRldi0+ZG9tYWluLT5pc19keWluZyAmJgorICAgICAgICAgICAg
IChhbnlfcGRldl9iZWhpbmRfaW9tbXUocGRldi0+ZG9tYWluLCBwZGV2LCBp
b21tdSkgfHwKKyAgICAgICAgICAgICAgcGRldi0+cGhhbnRvbV9zdHJpZGUp
ICkKKyAgICAgICAgICAgIHByaW50aygiICUwNHg6JTAyeDolMDJ4LiV1OiBy
ZWFzc2lnbm1lbnQgbWF5IGNhdXNlICVwZCBkYXRhIGNvcnJ1cHRpb25cbiIs
CisgICAgICAgICAgICAgICAgICAgcGRldi0+c2VnLCBidXMsIFBDSV9TTE9U
KGRldmZuKSwgUENJX0ZVTkMoZGV2Zm4pLAorICAgICAgICAgICAgICAgICAg
IHBkZXYtPmRvbWFpbik7CisKKyAgICAgICAgLyoKKyAgICAgICAgICogQ2hl
Y2sgcmVtYWluaW5nIHNldHRpbmdzIGFyZSBzdGlsbCBpbiBwbGFjZSBmcm9t
IGFuIGVhcmxpZXIgY2FsbAorICAgICAgICAgKiBoZXJlLiBUaGV5J3JlIGFs
bCBpbmRlcGVuZGVudCBvZiB0aGUgZG9tYWluLCBzbyBzaG91bGQgbm90IGhh
dmUKKyAgICAgICAgICogY2hhbmdlZC4KKyAgICAgICAgICovCisgICAgICAg
IGlmICggZHRlLT5pdF9yb290ICkKKyAgICAgICAgICAgIEFTU0VSVChkdGUt
PmludF9jdGwgPT0gSU9NTVVfREVWX1RBQkxFX0lOVF9DT05UUk9MX1RSQU5T
TEFURUQpOworICAgICAgICBBU1NFUlQoZHRlLT5pdiA9PSBpb21tdV9pbnRy
ZW1hcCk7CisgICAgICAgIEFTU0VSVChkdGUtPmV4ID09IGl2cnNfZGV2LT5k
dGVfYWxsb3dfZXhjbHVzaW9uKTsKKyAgICAgICAgQVNTRVJUKGR0ZS0+c3lz
X21ndCA9PSBNQVNLX0VYVFIoaXZyc19kZXYtPmRldmljZV9mbGFncywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNQSV9J
VkhEX1NZU1RFTV9NR01UKSk7CiAKLSAgICAgICAgQU1EX0lPTU1VX0RFQlVH
KCJTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gJSN4LCB0eXBl
ID0gJSN4LCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAicm9vdCB0YWJs
ZSA9ICUjIlBSSXg2NCIsICIKLSAgICAgICAgICAgICAgICAgICAgICAgICJk
b21haW4gPSAlZCwgcGFnaW5nIG1vZGUgPSAlZFxuIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHJlcV9pZCwgcGRldi0+dHlwZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHBhZ2VfdG9fbWFkZHIoaGQtPmFyY2gucm9vdF90YWJs
ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9p
ZCwgaGQtPmFyY2gucGFnaW5nX21vZGUpOworICAgICAgICBpZiAoIHBjaV9h
dHNfZGV2aWNlKGlvbW11LT5zZWcsIGJ1cywgcGRldi0+ZGV2Zm4pICYmCisg
ICAgICAgICAgICAgaW9tbXVfaGFzX2NhcChpb21tdSwgUENJX0NBUF9JT1RM
Ql9TSElGVCkgKQorICAgICAgICAgICAgQVNTRVJUKGR0ZS0+aSA9PSBhdHNf
ZW5hYmxlZCk7CisKKyAgICAgICAgYW1kX2lvbW11X2ZsdXNoX2RldmljZShp
b21tdSwgcmVxX2lkKTsKICAgICB9CiAKICAgICBzcGluX3VubG9ja19pcnFy
ZXN0b3JlKCZpb21tdS0+bG9jaywgZmxhZ3MpOwogCisgICAgQU1EX0lPTU1V
X0RFQlVHKCJTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gJSN4
LCB0eXBlID0gJSN4LCAiCisgICAgICAgICAgICAgICAgICAgICJyb290IHRh
YmxlID0gJSMiUFJJeDY0IiwgIgorICAgICAgICAgICAgICAgICAgICAiZG9t
YWluID0gJWQsIHBhZ2luZyBtb2RlID0gJWRcbiIsCisgICAgICAgICAgICAg
ICAgICAgIHJlcV9pZCwgcGRldi0+dHlwZSwKKyAgICAgICAgICAgICAgICAg
ICAgcGFnZV90b19tYWRkcihoZC0+YXJjaC5yb290X3RhYmxlKSwKKyAgICAg
ICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQsIGhkLT5hcmNoLnBh
Z2luZ19tb2RlKTsKKwogICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsK
IAogICAgIGlmICggcGNpX2F0c19kZXZpY2UoaW9tbXUtPnNlZywgYnVzLCBw
ZGV2LT5kZXZmbikgJiYKQEAgLTE1MSw2ICsyNDksOCBAQCBzdGF0aWMgdm9p
ZCBhbWRfaW9tbXVfc2V0dXBfZG9tYWluX2RldmljCiAKICAgICAgICAgYW1k
X2lvbW11X2ZsdXNoX2lvdGxiKGRldmZuLCBwZGV2LCBJTlZfSU9NTVVfQUxM
X1BBR0VTX0FERFJFU1MsIDApOwogICAgIH0KKworICAgIHJldHVybiAwOwog
fQogCiBpbnQgX19pbml0IGFjcGlfaXZyc19pbml0KHZvaWQpCkBAIC0yMTQs
MTcgKzMxNCw2IEBAIGludCBhbWRfaW9tbXVfYWxsb2Nfcm9vdChzdHJ1Y3Qg
ZG9tYWluX2kKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBfX211
c3RfY2hlY2sgYWxsb2NhdGVfZG9tYWluX3Jlc291cmNlcyhzdHJ1Y3QgZG9t
YWluX2lvbW11ICpoZCkKLXsKLSAgICBpbnQgcmM7Ci0KLSAgICBzcGluX2xv
Y2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7Ci0gICAgcmMgPSBhbWRfaW9t
bXVfYWxsb2Nfcm9vdChoZCk7Ci0gICAgc3Bpbl91bmxvY2soJmhkLT5hcmNo
Lm1hcHBpbmdfbG9jayk7Ci0KLSAgICByZXR1cm4gcmM7Ci19Ci0KIGludCBf
X3JlYWRfbW9zdGx5IGFtZF9pb21tdV9taW5fcGFnaW5nX21vZGUgPSAxOwog
CiBzdGF0aWMgaW50IGFtZF9pb21tdV9kb21haW5faW5pdChzdHJ1Y3QgZG9t
YWluICpkKQpAQCAtMzI0LDcgKzQxMyw2IEBAIHN0YXRpYyBpbnQgcmVhc3Np
Z25fZGV2aWNlKHN0cnVjdCBkb21haW4KIHsKICAgICBzdHJ1Y3QgYW1kX2lv
bW11ICppb21tdTsKICAgICBpbnQgYmRmLCByYzsKLSAgICBzdHJ1Y3QgZG9t
YWluX2lvbW11ICp0ID0gZG9tX2lvbW11KHRhcmdldCk7CiAgICAgY29uc3Qg
c3RydWN0IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFwcGluZ3MgPSBnZXRfaXZy
c19tYXBwaW5ncyhwZGV2LT5zZWcpOwogCiAgICAgYmRmID0gUENJX0JERjIo
cGRldi0+YnVzLCBwZGV2LT5kZXZmbik7CkBAIC0zMzgsNyArNDI2LDE1IEBA
IHN0YXRpYyBpbnQgcmVhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4KICAg
ICAgICAgcmV0dXJuIC1FTk9ERVY7CiAgICAgfQogCi0gICAgYW1kX2lvbW11
X2Rpc2FibGVfZG9tYWluX2RldmljZShzb3VyY2UsIGlvbW11LCBkZXZmbiwg
cGRldik7CisgICAgcmMgPSBhbWRfaW9tbXVfc2V0dXBfZG9tYWluX2Rldmlj
ZSh0YXJnZXQsIGlvbW11LCBkZXZmbiwgcGRldik7CisgICAgaWYgKCByYyAp
CisgICAgICAgIHJldHVybiByYzsKKworICAgIGlmICggZGV2Zm4gPT0gcGRl
di0+ZGV2Zm4gJiYgcGRldi0+ZG9tYWluICE9IHRhcmdldCApCisgICAgewor
ICAgICAgICBsaXN0X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0LCAmdGFyZ2V0
LT5wZGV2X2xpc3QpOworICAgICAgICBwZGV2LT5kb21haW4gPSB0YXJnZXQ7
CisgICAgfQogCiAgICAgLyoKICAgICAgKiBJZiB0aGUgZGV2aWNlIGJlbG9u
Z3MgdG8gdGhlIGhhcmR3YXJlIGRvbWFpbiwgYW5kIGl0IGhhcyBhIHVuaXR5
IG1hcHBpbmcsCkBAIC0zNTQsMjcgKzQ1MCwxMCBAQCBzdGF0aWMgaW50IHJl
YXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluCiAgICAgICAgICAgICByZXR1
cm4gcmM7CiAgICAgfQogCi0gICAgaWYgKCBkZXZmbiA9PSBwZGV2LT5kZXZm
biAmJiBwZGV2LT5kb21haW4gIT0gZG9tX2lvICkKLSAgICB7Ci0gICAgICAg
IGxpc3RfbW92ZSgmcGRldi0+ZG9tYWluX2xpc3QsICZkb21faW8tPnBkZXZf
bGlzdCk7Ci0gICAgICAgIHBkZXYtPmRvbWFpbiA9IGRvbV9pbzsKLSAgICB9
Ci0KLSAgICByYyA9IGFsbG9jYXRlX2RvbWFpbl9yZXNvdXJjZXModCk7Ci0g
ICAgaWYgKCByYyApCi0gICAgICAgIHJldHVybiByYzsKLQotICAgIGFtZF9p
b21tdV9zZXR1cF9kb21haW5fZGV2aWNlKHRhcmdldCwgaW9tbXUsIGRldmZu
LCBwZGV2KTsKICAgICBBTURfSU9NTVVfREVCVUcoIlJlLWFzc2lnbiAlMDR4
OiUwMng6JTAyeC4ldSBmcm9tIGRvbSVkIHRvIGRvbSVkXG4iLAogICAgICAg
ICAgICAgICAgICAgICBwZGV2LT5zZWcsIHBkZXYtPmJ1cywgUENJX1NMT1Qo
ZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbiksCiAgICAgICAgICAgICAgICAgICAg
IHNvdXJjZS0+ZG9tYWluX2lkLCB0YXJnZXQtPmRvbWFpbl9pZCk7CiAKLSAg
ICBpZiAoIGRldmZuID09IHBkZXYtPmRldmZuICYmIHBkZXYtPmRvbWFpbiAh
PSB0YXJnZXQgKQotICAgIHsKLSAgICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5k
b21haW5fbGlzdCwgJnRhcmdldC0+cGRldl9saXN0KTsKLSAgICAgICAgcGRl
di0+ZG9tYWluID0gdGFyZ2V0OwotICAgIH0KLQogICAgIHJldHVybiAwOwog
fQogCkBAIC01MzgsOCArNjE3LDcgQEAgc3RhdGljIGludCBhbWRfaW9tbXVf
YWRkX2RldmljZSh1OCBkZXZmbgogICAgICAgICBzcGluX3VubG9ja19pcnFy
ZXN0b3JlKCZpb21tdS0+bG9jaywgZmxhZ3MpOwogICAgIH0KIAotICAgIGFt
ZF9pb21tdV9zZXR1cF9kb21haW5fZGV2aWNlKHBkZXYtPmRvbWFpbiwgaW9t
bXUsIGRldmZuLCBwZGV2KTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
YW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZpY2UocGRldi0+ZG9tYWluLCBp
b21tdSwgZGV2Zm4sIHBkZXYpOwogfQogCiBzdGF0aWMgaW50IGFtZF9pb21t
dV9yZW1vdmVfZGV2aWNlKHU4IGRldmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRl
dikK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBwcmVwYXJlIGZvciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFn
ZSB0YWJsZXMgKHBhcnQgSSkKCkFycmFuZ2UgZm9yIGRvbWFpbiBJRCBhbmQg
cGFnZSB0YWJsZSByb290IHRvIGJlIHBhc3NlZCBhcm91bmQsIHRoZSBsYXR0
ZXIgaW4KcGFydGljdWxhciB0byBkb21haW5fcGdkX21hZGRyKCkgc3VjaCB0
aGF0IHRha2luZyBpdCBmcm9tIHRoZSBwZXItZG9tYWluCmZpZWxkcyBjYW4g
YmUgb3ZlcnJpZGRlbi4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVk
LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5A
aW50ZWwuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2V4dGVybi5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9l
eHRlcm4uaApAQCAtODYsOSArODYsMTAgQEAgdm9pZCAqbWFwX3Z0ZF9kb21h
aW5fcGFnZSh1NjQgbWFkZHIpOwogdm9pZCB1bm1hcF92dGRfZG9tYWluX3Bh
Z2Uodm9pZCAqdmEpOwogaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25l
KHN0cnVjdCBkb21haW4gKmRvbWFpbiwgc3RydWN0IHZ0ZF9pb21tdSAqaW9t
bXUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBi
dXMsIHVpbnQ4X3QgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGlu
dCBtb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwgZG9taWRfdCBkb21pZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHBnZF9tYWRkciwg
dW5zaWduZWQgaW50IG1vZGUpOwogaW50IGRvbWFpbl9jb250ZXh0X3VubWFw
X29uZShzdHJ1Y3QgZG9tYWluICpkb21haW4sIHN0cnVjdCB2dGRfaW9tbXUg
KmlvbW11LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBidXMs
IHU4IGRldmZuKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCBidXMsIHVpbnQ4X3QgZGV2Zm4sIGRvbWlkX3QgZG9taWQpOwogaW50
IGludGVsX2lvbW11X2dldF9yZXNlcnZlZF9kZXZpY2VfbWVtb3J5KGlvbW11
X2dyZG1fdCAqZnVuYywgdm9pZCAqY3R4dCk7CiAKIHVuc2lnbmVkIGludCBp
b19hcGljX3JlYWRfcmVtYXBfcnRlKHVuc2lnbmVkIGludCBhcGljLCB1bnNp
Z25lZCBpbnQgcmVnKTsKQEAgLTEwNyw3ICsxMDgsOCBAQCB2b2lkIHBsYXRm
b3JtX3F1aXJrc19pbml0KHZvaWQpOwogdm9pZCB2dGRfb3BzX3ByZWFtYmxl
X3F1aXJrKHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KTsKIHZvaWQgdnRkX29w
c19wb3N0YW1ibGVfcXVpcmsoc3RydWN0IHZ0ZF9pb21tdSAqaW9tbXUpOwog
aW50IF9fbXVzdF9jaGVjayBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21haW4g
KmRvbWFpbiwgdWludDhfdCBidXMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDhfdCBkZXZmbiwgdW5zaWduZWQgaW50IG1vZGUpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZGV2Zm4s
IGRvbWlkX3QgZG9taWQsIHBhZGRyX3QgcGdkX21hZGRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtb2RlKTsKIHZv
aWQgcGNpX3Z0ZF9xdWlyayhjb25zdCBzdHJ1Y3QgcGNpX2RldiAqKTsKIHZv
aWQgcXVpcmtfaW9tbXVfY2FwcyhzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSk7
CiAKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMK
KysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAg
LTEzNjcsMTIgKzEzNjcsMTIgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBp
bmdfb25lKAogICAgIHN0cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICBzdHJ1
Y3QgdnRkX2lvbW11ICppb21tdSwKICAgICB1aW50OF90IGJ1cywgdWludDhf
dCBkZXZmbiwgY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsCi0gICAgdW5z
aWduZWQgaW50IG1vZGUpCisgICAgZG9taWRfdCBkb21pZCwgcGFkZHJfdCBw
Z2RfbWFkZHIsIHVuc2lnbmVkIGludCBtb2RlKQogewogICAgIHN0cnVjdCBk
b21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbWFpbik7CiAgICAgc3Ry
dWN0IGNvbnRleHRfZW50cnkgKmNvbnRleHQsICpjb250ZXh0X2VudHJpZXMs
IGxjdHh0OwogICAgIF9fdWludDEyOF90IG9sZDsKLSAgICB1NjQgbWFkZHIs
IHBnZF9tYWRkcjsKKyAgICB1aW50NjRfdCBtYWRkcjsKICAgICB1aW50MTZf
dCBzZWcgPSBpb21tdS0+ZHJoZC0+c2VnbWVudCwgcHJldl9kaWQgPSAwOwog
ICAgIHN0cnVjdCBkb21haW4gKnByZXZfZG9tID0gTlVMTDsKICAgICBpbnQg
YWdhdywgcmMsIHJldDsKQEAgLTE0MTMsMTAgKzE0MTMsMTIgQEAgaW50IGRv
bWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIH0KICAgICBlbHNlCiAg
ICAgeworICAgICAgICBwYWRkcl90IHJvb3QgPSBwZ2RfbWFkZHI7CisKICAg
ICAgICAgc3Bpbl9sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogCiAg
ICAgICAgIC8qIEVuc3VyZSB3ZSBoYXZlIHBhZ2V0YWJsZXMgYWxsb2NhdGVk
IGRvd24gdG8gbGVhZiBQVEUuICovCi0gICAgICAgIGlmICggaGQtPmFyY2gu
cGdkX21hZGRyID09IDAgKQorICAgICAgICBpZiAoICFyb290ICkKICAgICAg
ICAgewogICAgICAgICAgICAgYWRkcl90b19kbWFfcGFnZV9tYWRkcihkb21h
aW4sIDAsIDEpOwogICAgICAgICAgICAgaWYgKCBoZC0+YXJjaC5wZ2RfbWFk
ZHIgPT0gMCApCkBAIC0xNDI5LDIyICsxNDMxLDI0IEBAIGludCBkb21haW5f
Y29udGV4dF9tYXBwaW5nX29uZSgKICAgICAgICAgICAgICAgICAgICAgcmN1
X3VubG9ja19kb21haW4ocHJldl9kb20pOwogICAgICAgICAgICAgICAgIHJl
dHVybiAtRU5PTUVNOwogICAgICAgICAgICAgfQorCisgICAgICAgICAgICBy
b290ID0gaGQtPmFyY2gucGdkX21hZGRyOwogICAgICAgICB9CiAKICAgICAg
ICAgLyogU2tpcCB0b3AgbGV2ZWxzIG9mIHBhZ2UgdGFibGVzIGZvciAyLSBh
bmQgMy1sZXZlbCBEUkhEcy4gKi8KLSAgICAgICAgcGdkX21hZGRyID0gaGQt
PmFyY2gucGdkX21hZGRyOwogICAgICAgICBmb3IgKCBhZ2F3ID0gbGV2ZWxf
dG9fYWdhdyg0KTsKICAgICAgICAgICAgICAgYWdhdyAhPSBsZXZlbF90b19h
Z2F3KGlvbW11LT5ucl9wdF9sZXZlbHMpOwogICAgICAgICAgICAgICBhZ2F3
LS0gKQogICAgICAgICB7Ci0gICAgICAgICAgICBzdHJ1Y3QgZG1hX3B0ZSAq
cCA9IG1hcF92dGRfZG9tYWluX3BhZ2UocGdkX21hZGRyKTsKLSAgICAgICAg
ICAgIHBnZF9tYWRkciA9IGRtYV9wdGVfYWRkcigqcCk7CisgICAgICAgICAg
ICBzdHJ1Y3QgZG1hX3B0ZSAqcCA9IG1hcF92dGRfZG9tYWluX3BhZ2Uocm9v
dCk7CisKKyAgICAgICAgICAgIHJvb3QgPSBkbWFfcHRlX2FkZHIoKnApOwog
ICAgICAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKHApOwotICAgICAg
ICAgICAgaWYgKCBwZ2RfbWFkZHIgPT0gMCApCisgICAgICAgICAgICBpZiAo
ICFyb290ICkKICAgICAgICAgICAgICAgICBnb3RvIG5vbWVtOwogICAgICAg
ICB9CiAKLSAgICAgICAgY29udGV4dF9zZXRfYWRkcmVzc19yb290KGxjdHh0
LCBwZ2RfbWFkZHIpOworICAgICAgICBjb250ZXh0X3NldF9hZGRyZXNzX3Jv
b3QobGN0eHQsIHJvb3QpOwogICAgICAgICBpZiAoIGF0c19lbmFibGVkICYm
IGVjYXBfZGV2X2lvdGxiKGlvbW11LT5lY2FwKSApCiAgICAgICAgICAgICBj
b250ZXh0X3NldF90cmFuc2xhdGlvbl90eXBlKGxjdHh0LCBDT05URVhUX1RU
X0RFVl9JT1RMQik7CiAgICAgICAgIGVsc2UKQEAgLTE1NjAsMTUgKzE1NjQs
MjEgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIHVu
bWFwX3Z0ZF9kb21haW5fcGFnZShjb250ZXh0X2VudHJpZXMpOwogCiAgICAg
aWYgKCAhc2VnICYmICFyYyApCi0gICAgICAgIHJjID0gbWVfd2lmaV9xdWly
ayhkb21haW4sIGJ1cywgZGV2Zm4sIG1vZGUpOworICAgICAgICByYyA9IG1l
X3dpZmlfcXVpcmsoZG9tYWluLCBidXMsIGRldmZuLCBkb21pZCwgcGdkX21h
ZGRyLCBtb2RlKTsKIAogICAgIGlmICggcmMgKQogICAgIHsKICAgICAgICAg
aWYgKCAhcHJldl9kb20gKQotICAgICAgICAgICAgcmV0ID0gZG9tYWluX2Nv
bnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4pOwor
ICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRv
bWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOwog
ICAgICAgICBlbHNlIGlmICggcHJldl9kb20gIT0gZG9tYWluICkgLyogQXZv
aWQgaW5maW5pdGUgcmVjdXJzaW9uLiAqLworICAgICAgICB7CisgICAgICAg
ICAgICBoZCA9IGRvbV9pb21tdShwcmV2X2RvbSk7CiAgICAgICAgICAgICBy
ZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShwcmV2X2RvbSwgaW9t
bXUsIGJ1cywgZGV2Zm4sIHBkZXYsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhk
LT5hcmNoLnBnZF9tYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1vZGUgJiBNQVBfV0lUSF9STVJSKSA8IDA7
CisgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0ID0g
MTsKIApAQCAtMTU5MCw2ICsxNjAwLDcgQEAgc3RhdGljIGludCBkb21haW5f
Y29udGV4dF9tYXBwaW5nKHN0cnVjdAogewogICAgIHN0cnVjdCBhY3BpX2Ry
aGRfdW5pdCAqZHJoZDsKICAgICBjb25zdCBzdHJ1Y3QgYWNwaV9ybXJyX3Vu
aXQgKnJtcnI7CisgICAgcGFkZHJfdCBwZ2RfbWFkZHIgPSBkb21faW9tbXUo
ZG9tYWluKS0+YXJjaC5wZ2RfbWFkZHI7CiAgICAgaW50IHJldCA9IDA7CiAg
ICAgdW5zaWduZWQgaW50IGksIG1vZGUgPSAwOwogICAgIHVpbnQxNl90IHNl
ZyA9IHBkZXYtPnNlZywgYmRmOwpAQCAtMTY1NSw3ICsxNjY2LDggQEAgc3Rh
dGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAg
ICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkLCBzZWcsIGJ1cywKICAg
ICAgICAgICAgICAgICAgICBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRl
dmZuKSk7CiAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdf
b25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYsIG1vZGUp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
ZGV2LCBkb21haW4tPmRvbWFpbl9pZCwgcGdkX21hZGRyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlKTsKICAgICAg
ICAgaWYgKCByZXQgPiAwICkKICAgICAgICAgICAgIHJldCA9IDA7CiAgICAg
ICAgIGlmICggIXJldCAmJiBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBhdHNf
ZGV2aWNlKHBkZXYsIGRyaGQpID4gMCApCkBAIC0xNjcwLDcgKzE2ODIsOCBA
QCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAg
ICAgICAgICAgICAgICAgICAgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhk
ZXZmbikpOwogCiAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBp
bmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYsIG1v
ZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwZGV2LCBkb21haW4tPmRvbWFpbl9pZCwgcGdkX21hZGRyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlKTsKICAg
ICAgICAgaWYgKCByZXQgPCAwICkKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBwcmV2X3ByZXNlbnQgPSByZXQ7CkBAIC0xNjk4LDcgKzE3MTEsOCBA
QCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAg
ICAgICAgICAqLwogICAgICAgICBpZiAoIHJldCA+PSAwICkKICAgICAgICAg
ICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwg
ZHJoZC0+aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBtb2RlKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEws
IGRvbWFpbi0+ZG9tYWluX2lkLCBwZ2RfbWFkZHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlKTsKIAogICAg
ICAgICAvKgogICAgICAgICAgKiBEZXZpY2VzIGJlaGluZCBQQ0llLXRvLVBD
SS9QQ0l4IGJyaWRnZSBtYXkgZ2VuZXJhdGUgZGlmZmVyZW50CkBAIC0xNzEz
LDcgKzE3MjcsOCBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBp
bmcoc3RydWN0CiAgICAgICAgIGlmICggIXJldCAmJiBwZGV2X3R5cGUoc2Vn
LCBidXMsIGRldmZuKSA9PSBERVZfVFlQRV9QQ0llMlBDSV9CUklER0UgJiYK
ICAgICAgICAgICAgICAoc2VjYnVzICE9IHBkZXYtPmJ1cyB8fCBwZGV2LT5k
ZXZmbiAhPSAwKSApCiAgICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4
dF9tYXBwaW5nX29uZShkb21haW4sIGRyaGQtPmlvbW11LCBzZWNidXMsIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBOVUxMLCBtb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE5VTEwsIGRvbWFpbi0+ZG9tYWluX2lkLCBwZ2Rf
bWFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtb2RlKTsKIAogICAgICAgICBpZiAoIHJldCApCiAgICAgICAg
IHsKQEAgLTE3NDIsNyArMTc1Nyw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2Nv
bnRleHRfbWFwcGluZyhzdHJ1Y3QKIGludCBkb21haW5fY29udGV4dF91bm1h
cF9vbmUoCiAgICAgc3RydWN0IGRvbWFpbiAqZG9tYWluLAogICAgIHN0cnVj
dCB2dGRfaW9tbXUgKmlvbW11LAotICAgIHU4IGJ1cywgdTggZGV2Zm4pCisg
ICAgdWludDhfdCBidXMsIHVpbnQ4X3QgZGV2Zm4sIGRvbWlkX3QgZG9taWQp
CiB7CiAgICAgc3RydWN0IGNvbnRleHRfZW50cnkgKmNvbnRleHQsICpjb250
ZXh0X2VudHJpZXM7CiAgICAgdTY0IG1hZGRyOwpAQCAtMTgwMCw3ICsxODE1
LDcgQEAgaW50IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZSgKICAgICB1bm1h
cF92dGRfZG9tYWluX3BhZ2UoY29udGV4dF9lbnRyaWVzKTsKIAogICAgIGlm
ICggIWlvbW11LT5kcmhkLT5zZWdtZW50ICYmICFyYyApCi0gICAgICAgIHJj
ID0gbWVfd2lmaV9xdWlyayhkb21haW4sIGJ1cywgZGV2Zm4sIFVOTUFQX01F
X1BIQU5UT01fRlVOQyk7CisgICAgICAgIHJjID0gbWVfd2lmaV9xdWlyayhk
b21haW4sIGJ1cywgZGV2Zm4sIGRvbWlkLCAwLCBVTk1BUF9NRV9QSEFOVE9N
X0ZVTkMpOwogCiAgICAgaWYgKCByYyAmJiAhaXNfaGFyZHdhcmVfZG9tYWlu
KGRvbWFpbikgJiYgZG9tYWluICE9IGRvbV9pbyApCiAgICAgewpAQCAtMTg1
Myw3ICsxODY4LDggQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF91bm1h
cChzdHJ1Y3QgZAogICAgICAgICAgICAgcHJpbnRrKFZURFBSRUZJWCAiZCVk
OlBDSWU6IHVubWFwICUwNHg6JTAyeDolMDJ4LiV1XG4iLAogICAgICAgICAg
ICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkLCBzZWcsIGJ1cywKICAgICAg
ICAgICAgICAgICAgICBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZu
KSk7Ci0gICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShk
b21haW4sIGlvbW11LCBidXMsIGRldmZuKTsKKyAgICAgICAgcmV0ID0gZG9t
YWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2
Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
b21haW4tPmRvbWFpbl9pZCk7CiAgICAgICAgIGlmICggIXJldCAmJiBkZXZm
biA9PSBwZGV2LT5kZXZmbiAmJiBhdHNfZGV2aWNlKHBkZXYsIGRyaGQpID4g
MCApCiAgICAgICAgICAgICBkaXNhYmxlX2F0c19kZXZpY2UocGRldik7CiAK
QEAgLTE4NjMsNyArMTg3OSw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRl
eHRfdW5tYXAoc3RydWN0IGQKICAgICAgICAgaWYgKCBpb21tdV9kZWJ1ZyAp
CiAgICAgICAgICAgICBwcmludGsoVlREUFJFRklYICJkJWQ6UENJOiB1bm1h
cCAlMDR4OiUwMng6JTAyeC4ldVxuIiwKICAgICAgICAgICAgICAgICAgICBk
b21haW4tPmRvbWFpbl9pZCwgc2VnLCBidXMsIFBDSV9TTE9UKGRldmZuKSwg
UENJX0ZVTkMoZGV2Zm4pKTsKLSAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRl
eHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4pOworICAg
ICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBp
b21tdSwgYnVzLCBkZXZmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKICAgICAgICAgaWYg
KCByZXQgKQogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTE4ODksMTIgKzE5
MDYsMTUgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF91bm1hcChzdHJ1
Y3QgZAogICAgICAgICAvKiBQQ0llIHRvIFBDSS9QQ0l4IGJyaWRnZSAqLwog
ICAgICAgICBpZiAoIHBkZXZfdHlwZShzZWcsIHRtcF9idXMsIHRtcF9kZXZm
bikgPT0gREVWX1RZUEVfUENJZTJQQ0lfQlJJREdFICkKICAgICAgICAgewot
ICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRv
bWFpbiwgaW9tbXUsIHRtcF9idXMsIHRtcF9kZXZmbik7CisgICAgICAgICAg
ICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21t
dSwgdG1wX2J1cywgdG1wX2RldmZuLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKICAg
ICAgICAgICAgIGlmICggIXJldCApCi0gICAgICAgICAgICAgICAgcmV0ID0g
ZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIHNlY2J1
cywgMCk7CisgICAgICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRf
dW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIHNlY2J1cywgMCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWlu
LT5kb21haW5faWQpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgLyogTGVn
YWN5IFBDSSBicmlkZ2UgKi8KLSAgICAgICAgICAgIHJldCA9IGRvbWFpbl9j
b250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCB0bXBfYnVzLCB0bXBf
ZGV2Zm4pOworICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5t
YXBfb25lKGRvbWFpbiwgaW9tbXUsIHRtcF9idXMsIHRtcF9kZXZmbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21h
aW4tPmRvbWFpbl9pZCk7CiAKICAgICAgICAgYnJlYWs7CiAKLS0tIGEveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3F1aXJrcy5jCisrKyBiL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xdWlya3MuYwpAQCAtMzQ1LDYgKzM0
NSw4IEBAIHZvaWQgX19pbml0IHBsYXRmb3JtX3F1aXJrc19pbml0KHZvaWQp
CiAKIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIG1hcF9tZV9waGFudG9tX2Z1
bmN0aW9uKHN0cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCBkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkb21pZF90IGRvbWlkLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBwZ2RfbWFk
ZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKICAgICBzdHJ1Y3QgYWNw
aV9kcmhkX3VuaXQgKmRyaGQ7CkBAIC0zNTgsMTYgKzM2MCwxNyBAQCBzdGF0
aWMgaW50IF9fbXVzdF9jaGVjayBtYXBfbWVfcGhhbnRvbV9mCiAgICAgLyog
bWFwIG9yIHVubWFwIE1FIHBoYW50b20gZnVuY3Rpb24gKi8KICAgICBpZiAo
ICEobW9kZSAmIFVOTUFQX01FX1BIQU5UT01fRlVOQykgKQogICAgICAgICBy
YyA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+
aW9tbXUsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUENJX0RFVkZOKGRldiwgNyksIE5VTEwsIG1vZGUpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9ERVZGTihk
ZXYsIDcpLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRvbWlkLCBwZ2RfbWFkZHIsIG1vZGUpOwogICAgIGVsc2UK
ICAgICAgICAgcmMgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWlu
LCBkcmhkLT5pb21tdSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUENJX0RFVkZOKGRldiwgNykpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfREVWRk4oZGV2LCA3KSwg
ZG9taWQpOwogCiAgICAgcmV0dXJuIHJjOwogfQogCiBpbnQgbWVfd2lmaV9x
dWlyayhzdHJ1Y3QgZG9tYWluICpkb21haW4sIHVpbnQ4X3QgYnVzLCB1aW50
OF90IGRldmZuLAotICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1v
ZGUpCisgICAgICAgICAgICAgICAgICBkb21pZF90IGRvbWlkLCBwYWRkcl90
IHBnZF9tYWRkciwgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAgICAgdTMyIGlk
OwogICAgIGludCByYyA9IDA7CkBAIC0zOTEsNyArMzk0LDcgQEAgaW50IG1l
X3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLAogICAgICAgICAg
ICAgY2FzZSAweDQyM2I4MDg2OgogICAgICAgICAgICAgY2FzZSAweDQyM2M4
MDg2OgogICAgICAgICAgICAgY2FzZSAweDQyM2Q4MDg2OgotICAgICAgICAg
ICAgICAgIHJjID0gbWFwX21lX3BoYW50b21fZnVuY3Rpb24oZG9tYWluLCAz
LCBtb2RlKTsKKyAgICAgICAgICAgICAgICByYyA9IG1hcF9tZV9waGFudG9t
X2Z1bmN0aW9uKGRvbWFpbiwgMywgZG9taWQsIHBnZF9tYWRkciwgbW9kZSk7
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNDE3LDcgKzQyMCw3IEBA
IGludCBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21haW4gKmRvbWFpbiwKICAg
ICAgICAgICAgIGNhc2UgMHg0MjM4ODA4NjogICAgICAgIC8qIFB1bWEgUGVh
ayAqLwogICAgICAgICAgICAgY2FzZSAweDQyMmI4MDg2OgogICAgICAgICAg
ICAgY2FzZSAweDQyMmM4MDg2OgotICAgICAgICAgICAgICAgIHJjID0gbWFw
X21lX3BoYW50b21fZnVuY3Rpb24oZG9tYWluLCAyMiwgbW9kZSk7CisgICAg
ICAgICAgICAgICAgcmMgPSBtYXBfbWVfcGhhbnRvbV9mdW5jdGlvbihkb21h
aW4sIDIyLCBkb21pZCwgcGdkX21hZGRyLCBtb2RlKTsKICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAg
ICAgICAgYnJlYWs7Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBwcmVwYXJlIGZvciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFn
ZSB0YWJsZXMgKHBhcnQgSUkpCgpSZXBsYWNlIHRoZSBwYXNzaW5nIG9mIHN0
cnVjdCBkb21haW4gKiBieSBkb21pZF90IGluIHByZXBhcmF0aW9uIG9mCnBl
ci1kZXZpY2UgcXVhcmFudGluZSBwYWdlIHRhYmxlcyBhbHNvIHJlcXVpcmlu
ZyBwZXItZGV2aWNlIHBzZXVkbwpkb21haW4gSURzLCB3aGljaCBhcmVuJ3Qg
Z29pbmcgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGFueSBzdHJ1Y3QgZG9tYWlu
Cmluc3RhbmNlcy4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkIChl
eGNlcHQgZm9yIHNsaWdodGx5IGFkanVzdGVkIGxvZyBtZXNzYWdlCnRleHQp
LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+
ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNv
bT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKQEAgLTU4LDggKzU4LDggQEAgc3RhdGljIHN0cnVjdCB0YXNrbGV0
IHZ0ZF9mYXVsdF90YXNrbGV0Owogc3RhdGljIGludCBzZXR1cF9od2RvbV9k
ZXZpY2UodTggZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICopOwogc3RhdGljIHZv
aWQgc2V0dXBfaHdkb21fcm1ycihzdHJ1Y3QgZG9tYWluICpkKTsKIAotc3Rh
dGljIGludCBkb21haW5faW9tbXVfZG9taWQoc3RydWN0IGRvbWFpbiAqZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11KQorc3RhdGljIGludCBnZXRfaW9tbXVfZGlkKGRvbWlkX3Qg
ZG9taWQsIGNvbnN0IHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11LAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgd2FybikKIHsKICAgICB1bnNpZ25l
ZCBsb25nIG5yX2RvbSwgaTsKIApAQCAtNjcsMTYgKzY3LDE2IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2lvbW11X2RvbWlkKHN0cnVjdCBkb20KICAgICBpID0g
ZmluZF9maXJzdF9iaXQoaW9tbXUtPmRvbWlkX2JpdG1hcCwgbnJfZG9tKTsK
ICAgICB3aGlsZSAoIGkgPCBucl9kb20gKQogICAgIHsKLSAgICAgICAgaWYg
KCBpb21tdS0+ZG9taWRfbWFwW2ldID09IGQtPmRvbWFpbl9pZCApCisgICAg
ICAgIGlmICggaW9tbXUtPmRvbWlkX21hcFtpXSA9PSBkb21pZCApCiAgICAg
ICAgICAgICByZXR1cm4gaTsKIAogICAgICAgICBpID0gZmluZF9uZXh0X2Jp
dChpb21tdS0+ZG9taWRfYml0bWFwLCBucl9kb20sIGkrMSk7CiAgICAgfQog
Ci0gICAgaWYgKCAhZC0+aXNfZHlpbmcgKQorICAgIGlmICggd2FybiApCiAg
ICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsCi0gICAgICAg
ICAgICAgICAgIkNhbm5vdCBnZXQgdmFsaWQgaW9tbXUgJXUgZG9taWQ6ICVw
ZFxuIiwKLSAgICAgICAgICAgICAgICBpb21tdS0+aW5kZXgsIGQpOworICAg
ICAgICAgICAgICAgICJObyB2YWxpZCBpb21tdSAldSBkb21pZCBmb3IgRG9t
JWRcbiIsCisgICAgICAgICAgICAgICAgaW9tbXUtPmluZGV4LCBkb21pZCk7
CiAKICAgICByZXR1cm4gLTE7CiB9CkBAIC04NCw4ICs4NCw3IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2lvbW11X2RvbWlkKHN0cnVjdCBkb20KICNkZWZpbmUg
RElEX0ZJRUxEX1dJRFRIIDE2CiAjZGVmaW5lIERJRF9ISUdIX09GRlNFVCA4
CiBzdGF0aWMgaW50IGNvbnRleHRfc2V0X2RvbWFpbl9pZChzdHJ1Y3QgY29u
dGV4dF9lbnRyeSAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQs
IHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KQogewogICAgIHVuc2lnbmVkIGxv
bmcgbnJfZG9tLCBpOwogICAgIGludCBmb3VuZCA9IDA7CkBAIC05Niw3ICs5
NSw3IEBAIHN0YXRpYyBpbnQgY29udGV4dF9zZXRfZG9tYWluX2lkKHN0cnVj
dAogICAgIGkgPSBmaW5kX2ZpcnN0X2JpdChpb21tdS0+ZG9taWRfYml0bWFw
LCBucl9kb20pOwogICAgIHdoaWxlICggaSA8IG5yX2RvbSApCiAgICAgewot
ICAgICAgICBpZiAoIGlvbW11LT5kb21pZF9tYXBbaV0gPT0gZC0+ZG9tYWlu
X2lkICkKKyAgICAgICAgaWYgKCBpb21tdS0+ZG9taWRfbWFwW2ldID09IGRv
bWlkICkKICAgICAgICAgewogICAgICAgICAgICAgZm91bmQgPSAxOwogICAg
ICAgICAgICAgYnJlYWs7CkBAIC0xMTIsNyArMTExLDcgQEAgc3RhdGljIGlu
dCBjb250ZXh0X3NldF9kb21haW5faWQoc3RydWN0CiAgICAgICAgICAgICBk
cHJpbnRrKFhFTkxPR19FUlIgVlREUFJFRklYLCAiSU9NTVU6IG5vIGZyZWUg
ZG9tYWluIGlkc1xuIik7CiAgICAgICAgICAgICByZXR1cm4gLUVGQVVMVDsK
ICAgICAgICAgfQotICAgICAgICBpb21tdS0+ZG9taWRfbWFwW2ldID0gZC0+
ZG9tYWluX2lkOworICAgICAgICBpb21tdS0+ZG9taWRfbWFwW2ldID0gZG9t
aWQ7CiAgICAgfQogCiAgICAgc2V0X2JpdChpLCBpb21tdS0+ZG9taWRfYml0
bWFwKTsKQEAgLTEyMSw5ICsxMjAsOSBAQCBzdGF0aWMgaW50IGNvbnRleHRf
c2V0X2RvbWFpbl9pZChzdHJ1Y3QKICAgICByZXR1cm4gMDsKIH0KIAotc3Rh
dGljIHZvaWQgY2xlYW51cF9kb21pZF9tYXAoc3RydWN0IGRvbWFpbiAqZG9t
YWluLCBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkKK3N0YXRpYyB2b2lkIGNs
ZWFudXBfZG9taWRfbWFwKGRvbWlkX3QgZG9taWQsIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11KQogewotICAgIGludCBpb21tdV9kb21pZCA9IGRvbWFpbl9p
b21tdV9kb21pZChkb21haW4sIGlvbW11KTsKKyAgICBpbnQgaW9tbXVfZG9t
aWQgPSBnZXRfaW9tbXVfZGlkKGRvbWlkLCBpb21tdSwgZmFsc2UpOwogCiAg
ICAgaWYgKCBpb21tdV9kb21pZCA+PSAwICkKICAgICB7CkBAIC0xNzksNyAr
MTc4LDcgQEAgc3RhdGljIHZvaWQgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAo
c3RydQogICAgIGlmICggIWZvdW5kICkKICAgICB7CiAgICAgICAgIGNsZWFy
X2JpdChpb21tdS0+aW5kZXgsICZkb21faW9tbXUoZCktPmFyY2guaW9tbXVf
Yml0bWFwKTsKLSAgICAgICAgY2xlYW51cF9kb21pZF9tYXAoZCwgaW9tbXUp
OworICAgICAgICBjbGVhbnVwX2RvbWlkX21hcChkLT5kb21haW5faWQsIGlv
bW11KTsKICAgICB9CiB9CiAKQEAgLTYzNiw3ICs2MzUsNyBAQCBzdGF0aWMg
aW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9pb3RsCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAogICAgICAgICBmbHVzaF9kZXZfaW90bGIgPSAhIWZp
bmRfYXRzX2Rldl9kcmhkKGlvbW11KTsKLSAgICAgICAgaW9tbXVfZG9taWQ9
IGRvbWFpbl9pb21tdV9kb21pZChkLCBpb21tdSk7CisgICAgICAgIGlvbW11
X2RvbWlkID0gZ2V0X2lvbW11X2RpZChkLT5kb21haW5faWQsIGlvbW11LCAh
ZC0+aXNfZHlpbmcpOwogICAgICAgICBpZiAoIGlvbW11X2RvbWlkID09IC0x
ICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCkBAIC0xNDU3LDcgKzE0NTYs
NyBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgICAg
IHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogICAgIH0K
IAotICAgIHJjID0gY29udGV4dF9zZXRfZG9tYWluX2lkKCZsY3R4dCwgZG9t
YWluLCBpb21tdSk7CisgICAgcmMgPSBjb250ZXh0X3NldF9kb21haW5faWQo
JmxjdHh0LCBkb21pZCwgaW9tbXUpOwogICAgIGlmICggcmMgKQogICAgIHsK
ICAgICB1bmxvY2s6CkBAIC0xNzgyLDcgKzE3ODEsNyBAQCBpbnQgZG9tYWlu
X2NvbnRleHRfdW5tYXBfb25lKAogICAgIGNvbnRleHRfY2xlYXJfZW50cnko
KmNvbnRleHQpOwogICAgIGlvbW11X3N5bmNfY2FjaGUoY29udGV4dCwgc2l6
ZW9mKHN0cnVjdCBjb250ZXh0X2VudHJ5KSk7CiAKLSAgICBpb21tdV9kb21p
ZD0gZG9tYWluX2lvbW11X2RvbWlkKGRvbWFpbiwgaW9tbXUpOworICAgIGlv
bW11X2RvbWlkID0gZ2V0X2lvbW11X2RpZChkb21pZCwgaW9tbXUsICFkb21h
aW4tPmlzX2R5aW5nKTsKICAgICBpZiAoIGlvbW11X2RvbWlkID09IC0xICkK
ICAgICB7CiAgICAgICAgIHNwaW5fdW5sb2NrKCZpb21tdS0+bG9jayk7CkBA
IC0xOTU0LDcgKzE5NTMsNyBAQCBzdGF0aWMgdm9pZCBpb21tdV9kb21haW5f
dGVhcmRvd24oc3RydWN0CiAgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1h
cHBpbmdfbG9jayk7CiAKICAgICBmb3JfZWFjaF9kcmhkX3VuaXQgKCBkcmhk
ICkKLSAgICAgICAgY2xlYW51cF9kb21pZF9tYXAoZCwgZHJoZC0+aW9tbXUp
OworICAgICAgICBjbGVhbnVwX2RvbWlkX21hcChkLT5kb21haW5faWQsIGRy
aGQtPmlvbW11KTsKIH0KIAogc3RhdGljIGludCBfX211c3RfY2hlY2sgaW50
ZWxfaW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgZGZuX3QgZGZu
LAo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IG1haW50YWluIGEgcGVyLWRldmljZSBwc2V1ZG8gZG9t
YWluIElECgpJbiBvcmRlciB0byBzdWJzZXF1ZW50bHkgZW5hYmxlIHBlci1k
ZXZpY2UgcXVhcmFudGluZSBwYWdlIHRhYmxlcywgd2UnbGwKbmVlZCBkb21h
aW4tSUQtbGlrZSBpZGVudGlmaWVycyB0byBiZSBpbnNlcnRlZCBpbiB0aGUg
cmVzcGVjdGl2ZSBkZXZpY2UKKEFNRCkgb3IgY29udGV4dCAoSW50ZWwpIHRh
YmxlIGVudHJpZXMgYWxvbmdzaWRlIHRoZSBwZXItZGV2aWNlIHBhZ2UKdGFi
bGUgcm9vdCBhZGRyZXNzZXMuCgpNYWtlIHVzZSBvZiAicmVhbCIgZG9tYWlu
IElEcyBvY2N1cHlpbmcgb25seSBoYWxmIG9mIHRoZSB2YWx1ZSByYW5nZQpj
b3ZlcmFibGUgYnkgZG9taWRfdC4KCk5vdGUgdGhhdCBpbiBWVC1kJ3MgaW9t
bXVfYWxsb2MoKSBJIGRpZG4ndCB3YW50IHRvIGludHJvZHVjZSBuZXcgbWVt
b3J5CmxlYWtzIGluIGNhc2Ugb2YgZXJyb3IsIGJ1dCBleGlzdGluZyBvbmVz
IGRvbid0IGdldCBwbHVnZ2VkIC0gdGhhdCdsbCBiZQp0aGUgc3ViamVjdCBv
ZiBhIGxhdGVyIGNoYW5nZS4KClRoZSBWVC1kIGNoYW5nZXMgYXJlIHNsaWdo
dGx5IGFzeW1tZXRyaWMsIGJ1dCB0aGlzIHdheSB3ZSBjYW4gYXZvaWQKYXNz
aWduaW5nIHBzZXVkbyBkb21haW4gSURzIHRvIGRldmljZXMgd2hpY2ggd291
bGQgbmV2ZXIgYmUgbWFwcGVkIHdoaWxlCnN0aWxsIGF2b2lkaW5nIHRvIGFk
ZCBhIG5ldyBwYXJhbWV0ZXIgdG8gZG9tYWluX2NvbnRleHRfdW5tYXAoKS4K
ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpS
ZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKQEAgLTEzMCw2ICsx
MzAsMTAgQEAgaW50IHBpX3VwZGF0ZV9pcnRlKGNvbnN0IHN0cnVjdCBwaV9k
ZXNjCiAgICAgICAgIGlvbW11X3ZjYWxsKG9wcywgc3luY19jYWNoZSwgYWRk
ciwgc2l6ZSk7ICAgICAgIFwKIH0pCiAKK3Vuc2lnbmVkIGxvbmcgKmlvbW11
X2luaXRfZG9taWQodm9pZCk7Citkb21pZF90IGlvbW11X2FsbG9jX2RvbWlk
KHVuc2lnbmVkIGxvbmcgKm1hcCk7Cit2b2lkIGlvbW11X2ZyZWVfZG9taWQo
ZG9taWRfdCBkb21pZCwgdW5zaWduZWQgbG9uZyAqbWFwKTsKKwogI2VuZGlm
IC8qICFfX0FSQ0hfWDg2X0lPTU1VX0hfXyAqLwogLyoKICAqIExvY2FsIHZh
cmlhYmxlczoKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wY2kuaAorKysg
Yi94ZW4vaW5jbHVkZS9hc20teDg2L3BjaS5oCkBAIC0xNSw2ICsxNSwxMiBA
QAogCiBzdHJ1Y3QgYXJjaF9wY2lfZGV2IHsKICAgICB2bWFza190IHVzZWRf
dmVjdG9yczsKKyAgICAvKgorICAgICAqIFRoZXNlIGZpZWxkcyBhcmUgKGRl
KWluaXRpYWxpemVkIHVuZGVyIHBjaWRldnMtbG9jay4gT3RoZXIgdXNlcyBv
ZgorICAgICAqIHRoZW0gZG9uJ3QgcmFjZSAoZGUpaW5pdGlhbGl6YXRpb24g
YW5kIGhlbmNlIGRvbid0IHN0cmljdGx5IG5lZWQgYW55CisgICAgICogbG9j
a2luZy4KKyAgICAgKi8KKyAgICBkb21pZF90IHBzZXVkb19kb21pZDsKIH07
CiAKIGludCBwY2lfY29uZl93cml0ZV9pbnRlcmNlcHQodW5zaWduZWQgaW50
IHNlZywgdW5zaWduZWQgaW50IGJkZiwKLS0tIGEveGVuL2RyaXZlcnMvcGFz
c3Rocm91Z2gvYW1kL2lvbW11LmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvYW1kL2lvbW11LmgKQEAgLTk2LDYgKzk2LDcgQEAgc3RydWN0IGFt
ZF9pb21tdSB7CiAgICAgc3RydWN0IHJpbmdfYnVmZmVyIGNtZF9idWZmZXI7
CiAgICAgc3RydWN0IHJpbmdfYnVmZmVyIGV2ZW50X2xvZzsKICAgICBzdHJ1
Y3QgcmluZ19idWZmZXIgcHByX2xvZzsKKyAgICB1bnNpZ25lZCBsb25nICpk
b21pZF9tYXA7CiAKICAgICBpbnQgZXhjbHVzaW9uX2VuYWJsZTsKICAgICBp
bnQgZXhjbHVzaW9uX2FsbG93X2FsbDsKLS0tIGEveGVuL2RyaXZlcnMvcGFz
c3Rocm91Z2gvYW1kL2lvbW11X2RldGVjdC5jCisrKyBiL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9kZXRlY3QuYwpAQCAtMTgwLDYgKzE4
MCwxMSBAQCBpbnQgX19pbml0IGFtZF9pb21tdV9kZXRlY3Rfb25lX2FjcGko
CiAgICAgaWYgKCBydCApCiAgICAgICAgIGdvdG8gb3V0OwogCisgICAgaW9t
bXUtPmRvbWlkX21hcCA9IGlvbW11X2luaXRfZG9taWQoKTsKKyAgICBydCA9
IC1FTk9NRU07CisgICAgaWYgKCAhaW9tbXUtPmRvbWlkX21hcCApCisgICAg
ICAgIGdvdG8gb3V0OworCiAgICAgcnQgPSBwY2lfcm9fZGV2aWNlKGlvbW11
LT5zZWcsIGJ1cywgUENJX0RFVkZOKGRldiwgZnVuYykpOwogICAgIGlmICgg
cnQgKQogICAgICAgICBwcmludGsoWEVOTE9HX0VSUgpAQCAtMTkxLDcgKzE5
NiwxMCBAQCBpbnQgX19pbml0IGFtZF9pb21tdV9kZXRlY3Rfb25lX2FjcGko
CiAKICBvdXQ6CiAgICAgaWYgKCBydCApCisgICAgeworICAgICAgICB4ZnJl
ZShpb21tdS0+ZG9taWRfbWFwKTsKICAgICAgICAgeGZyZWUoaW9tbXUpOwor
ICAgIH0KIAogICAgIHJldHVybiBydDsKIH0KLS0tIGEveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJp
dmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC01NTQs
NiArNTU0LDggQEAgc3RhdGljIGludCBhbWRfaW9tbXVfYWRkX2RldmljZSh1
OCBkZXZmbgogICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OwogICAgIHUx
NiBiZGY7CiAgICAgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFwcGlu
Z3M7CisgICAgYm9vbCBmcmVzaF9kb21pZCA9IGZhbHNlOworICAgIGludCBy
ZXQ7CiAKICAgICBpZiAoICFwZGV2LT5kb21haW4gKQogICAgICAgICByZXR1
cm4gLUVJTlZBTDsKQEAgLTYxNyw3ICs2MTksMjIgQEAgc3RhdGljIGludCBh
bWRfaW9tbXVfYWRkX2RldmljZSh1OCBkZXZmbgogICAgICAgICBzcGluX3Vu
bG9ja19pcnFyZXN0b3JlKCZpb21tdS0+bG9jaywgZmxhZ3MpOwogICAgIH0K
IAotICAgIHJldHVybiBhbWRfaW9tbXVfc2V0dXBfZG9tYWluX2RldmljZShw
ZGV2LT5kb21haW4sIGlvbW11LCBkZXZmbiwgcGRldik7CisgICAgaWYgKCBp
b21tdV9xdWFyYW50aW5lICYmIHBkZXYtPmFyY2gucHNldWRvX2RvbWlkID09
IERPTUlEX0lOVkFMSUQgKQorICAgIHsKKyAgICAgICAgcGRldi0+YXJjaC5w
c2V1ZG9fZG9taWQgPSBpb21tdV9hbGxvY19kb21pZChpb21tdS0+ZG9taWRf
bWFwKTsKKyAgICAgICAgaWYgKCBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9
PSBET01JRF9JTlZBTElEICkKKyAgICAgICAgICAgIHJldHVybiAtRU5PU1BD
OworICAgICAgICBmcmVzaF9kb21pZCA9IHRydWU7CisgICAgfQorCisgICAg
cmV0ID0gYW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZpY2UocGRldi0+ZG9t
YWluLCBpb21tdSwgZGV2Zm4sIHBkZXYpOworICAgIGlmICggcmV0ICYmIGZy
ZXNoX2RvbWlkICkKKyAgICB7CisgICAgICAgIGlvbW11X2ZyZWVfZG9taWQo
cGRldi0+YXJjaC5wc2V1ZG9fZG9taWQsIGlvbW11LT5kb21pZF9tYXApOwor
ICAgICAgICBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9IERPTUlEX0lOVkFM
SUQ7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGlu
dCBhbWRfaW9tbXVfcmVtb3ZlX2RldmljZSh1OCBkZXZmbiwgc3RydWN0IHBj
aV9kZXYgKnBkZXYpCkBAIC02NDIsNiArNjU5LDkgQEAgc3RhdGljIGludCBh
bWRfaW9tbXVfcmVtb3ZlX2RldmljZSh1OCBkZQogCiAgICAgYW1kX2lvbW11
X2Rpc2FibGVfZG9tYWluX2RldmljZShwZGV2LT5kb21haW4sIGlvbW11LCBk
ZXZmbiwgcGRldik7CiAKKyAgICBpb21tdV9mcmVlX2RvbWlkKHBkZXYtPmFy
Y2gucHNldWRvX2RvbWlkLCBpb21tdS0+ZG9taWRfbWFwKTsKKyAgICBwZGV2
LT5hcmNoLnBzZXVkb19kb21pZCA9IERPTUlEX0lOVkFMSUQ7CisKICAgICBp
dnJzX21hcHBpbmdzID0gZ2V0X2l2cnNfbWFwcGluZ3MocGRldi0+c2VnKTsK
ICAgICBiZGYgPSBQQ0lfQkRGMihwZGV2LT5idXMsIGRldmZuKTsKICAgICBp
ZiAoIGFtZF9pb21tdV9wZXJkZXZfaW50cmVtYXAgJiYKLS0tIGEveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMKKysrIGIveGVuL2RyaXZlcnMvcGFz
c3Rocm91Z2gvcGNpLmMKQEAgLTMzOSw2ICszMzksNyBAQCBzdGF0aWMgc3Ry
dWN0IHBjaV9kZXYgKmFsbG9jX3BkZXYoc3RydWN0CiAgICAgKigodTgqKSAm
cGRldi0+YnVzKSA9IGJ1czsKICAgICAqKCh1OCopICZwZGV2LT5kZXZmbikg
PSBkZXZmbjsKICAgICBwZGV2LT5kb21haW4gPSBOVUxMOworICAgIHBkZXYt
PmFyY2gucHNldWRvX2RvbWlkID0gRE9NSURfSU5WQUxJRDsKICAgICBJTklU
X0xJU1RfSEVBRCgmcGRldi0+bXNpX2xpc3QpOwogCiAgICAgcG9zID0gcGNp
X2ZpbmRfY2FwX29mZnNldChwc2VnLT5uciwgYnVzLCBQQ0lfU0xPVChkZXZm
biksIFBDSV9GVU5DKGRldmZuKSwKQEAgLTEzNDksOSArMTM1MCwxMyBAQCBz
dGF0aWMgaW50IF9kdW1wX3BjaV9kZXZpY2VzKHN0cnVjdCBwY2lfCiAKICAg
ICBsaXN0X2Zvcl9lYWNoX2VudHJ5ICggcGRldiwgJnBzZWctPmFsbGRldnNf
bGlzdCwgYWxsZGV2c19saXN0ICkKICAgICB7Ci0gICAgICAgIHByaW50aygi
JTA0eDolMDJ4OiUwMnguJXUgLSAlcGQgLSBub2RlICUtM2QgLSBNU0lzIDwg
IiwKLSAgICAgICAgICAgICAgIHBzZWctPm5yLCBwZGV2LT5idXMsCi0gICAg
ICAgICAgICAgICBQQ0lfU0xPVChwZGV2LT5kZXZmbiksIFBDSV9GVU5DKHBk
ZXYtPmRldmZuKSwgcGRldi0+ZG9tYWluLAorICAgICAgICBwcmludGsoIiUw
NHg6JTAyeDolMDJ4LiV1IC0gIiwgcHNlZy0+bnIsIHBkZXYtPmJ1cywKKyAg
ICAgICAgICAgICAgIFBDSV9TTE9UKHBkZXYtPmRldmZuKSwgUENJX0ZVTkMo
cGRldi0+ZGV2Zm4pKTsKKyAgICAgICAgaWYgKCBwZGV2LT5kb21haW4gPT0g
ZG9tX2lvICkKKyAgICAgICAgICAgIHByaW50aygiRG9tSU86JXgiLCBwZGV2
LT5hcmNoLnBzZXVkb19kb21pZCk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHByaW50aygiJXBkIiwgcGRldi0+ZG9tYWluKTsKKyAgICAgICAgcHJp
bnRrKCIgLSBub2RlICUtM2QgLSBNU0lzIDwgIiwKICAgICAgICAgICAgICAg
IChwZGV2LT5ub2RlICE9IE5VTUFfTk9fTk9ERSkgPyBwZGV2LT5ub2RlIDog
LTEpOwogICAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5ICggbXNpLCAmcGRl
di0+bXNpX2xpc3QsIGxpc3QgKQogICAgICAgICAgICAgICAgcHJpbnRrKCIl
ZCAiLCBtc2ktPmlycSk7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0
ZC9pb21tdS5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8eGVuL3Nj
aGVkLmg+CiAjaW5jbHVkZSA8eGVuL3htYWxsb2MuaD4KICNpbmNsdWRlIDx4
ZW4vZG9tYWluX3BhZ2UuaD4KKyNpbmNsdWRlIDx4ZW4vZXJyLmg+CiAjaW5j
bHVkZSA8eGVuL2lvY2FwLmg+CiAjaW5jbHVkZSA8eGVuL2lvbW11Lmg+CiAj
aW5jbHVkZSA8eGVuL251bWEuaD4KQEAgLTExOTUsNyArMTE5Niw3IEBAIGlu
dCBfX2luaXQgaW9tbXVfYWxsb2Moc3RydWN0IGFjcGlfZHJoZF8KIHsKICAg
ICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdTsKICAgICB1bnNpZ25lZCBsb25n
IHNhZ2F3LCBucl9kb207Ci0gICAgaW50IGFnYXc7CisgICAgaW50IGFnYXcs
IHJjOwogCiAgICAgaWYgKCBucl9pb21tdXMgPj0gTUFYX0lPTU1VUyApCiAg
ICAgewpAQCAtMTI4OCw3ICsxMjg5LDE2IEBAIGludCBfX2luaXQgaW9tbXVf
YWxsb2Moc3RydWN0IGFjcGlfZHJoZF8KICAgICBpZiAoICFpb21tdS0+ZG9t
aWRfbWFwICkKICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAKKyAgICBpb21t
dS0+cHNldWRvX2RvbWlkX21hcCA9IGlvbW11X2luaXRfZG9taWQoKTsKKyAg
ICByYyA9IC1FTk9NRU07CisgICAgaWYgKCAhaW9tbXUtPnBzZXVkb19kb21p
ZF9tYXAgKQorICAgICAgICBnb3RvIGZyZWU7CisKICAgICByZXR1cm4gMDsK
KworIGZyZWU6CisgICAgaW9tbXVfZnJlZShkcmhkKTsKKyAgICByZXR1cm4g
cmM7CiB9CiAKIHZvaWQgX19pbml0IGlvbW11X2ZyZWUoc3RydWN0IGFjcGlf
ZHJoZF91bml0ICpkcmhkKQpAQCAtMTMxMSw2ICsxMzIxLDcgQEAgdm9pZCBf
X2luaXQgaW9tbXVfZnJlZShzdHJ1Y3QgYWNwaV9kcmhkXwogCiAgICAgeGZy
ZWUoaW9tbXUtPmRvbWlkX2JpdG1hcCk7CiAgICAgeGZyZWUoaW9tbXUtPmRv
bWlkX21hcCk7CisgICAgeGZyZWUoaW9tbXUtPnBzZXVkb19kb21pZF9tYXAp
OwogCiAgICAgaWYgKCBpb21tdS0+bXNpLmlycSA+PSAwICkKICAgICAgICAg
ZGVzdHJveV9pcnEoaW9tbXUtPm1zaS5pcnEpOwpAQCAtMTU5MSw4ICsxNjAy
LDggQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIHJl
dHVybiByYyA/OiBwZGV2ICYmIHByZXZfZG9tOwogfQogCi1zdGF0aWMgaW50
IGRvbWFpbl9jb250ZXh0X3VubWFwKHN0cnVjdCBkb21haW4gKmQsIHVpbnQ4
X3QgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
cnVjdCBwY2lfZGV2ICpwZGV2KTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWNw
aV9kcmhkX3VuaXQgKmRvbWFpbl9jb250ZXh0X3VubWFwKAorICAgIHN0cnVj
dCBkb21haW4gKmQsIHVpbnQ4X3QgZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICpw
ZGV2KTsKIAogc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0
cnVjdCBkb21haW4gKmRvbWFpbiwgdTggZGV2Zm4sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBjaV9kZXYgKnBkZXYpCkBA
IC0xNjAwLDYgKzE2MTEsNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0
X21hcHBpbmcoc3RydWN0CiAgICAgc3RydWN0IGFjcGlfZHJoZF91bml0ICpk
cmhkOwogICAgIGNvbnN0IHN0cnVjdCBhY3BpX3JtcnJfdW5pdCAqcm1ycjsK
ICAgICBwYWRkcl90IHBnZF9tYWRkciA9IGRvbV9pb21tdShkb21haW4pLT5h
cmNoLnBnZF9tYWRkcjsKKyAgICBkb21pZF90IG9yaWdfZG9taWQgPSBwZGV2
LT5hcmNoLnBzZXVkb19kb21pZDsKICAgICBpbnQgcmV0ID0gMDsKICAgICB1
bnNpZ25lZCBpbnQgaSwgbW9kZSA9IDA7CiAgICAgdWludDE2X3Qgc2VnID0g
cGRldi0+c2VnLCBiZGY7CkBAIC0xNjYwLDYgKzE2NzIsMTQgQEAgc3RhdGlj
IGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICBi
cmVhazsKIAogICAgIGNhc2UgREVWX1RZUEVfUENJZV9FTkRQT0lOVDoKKyAg
ICAgICAgaWYgKCBpb21tdV9xdWFyYW50aW5lICYmIG9yaWdfZG9taWQgPT0g
RE9NSURfSU5WQUxJRCApCisgICAgICAgIHsKKyAgICAgICAgICAgIHBkZXYt
PmFyY2gucHNldWRvX2RvbWlkID0KKyAgICAgICAgICAgICAgICBpb21tdV9h
bGxvY19kb21pZChkcmhkLT5pb21tdS0+cHNldWRvX2RvbWlkX21hcCk7Cisg
ICAgICAgICAgICBpZiAoIHBkZXYtPmFyY2gucHNldWRvX2RvbWlkID09IERP
TUlEX0lOVkFMSUQgKQorICAgICAgICAgICAgICAgIHJldHVybiAtRU5PU1BD
OworICAgICAgICB9CisKICAgICAgICAgaWYgKCBpb21tdV9kZWJ1ZyApCiAg
ICAgICAgICAgICBwcmludGsoVlREUFJFRklYICJkJWQ6UENJZTogbWFwICUw
NHg6JTAyeDolMDJ4LiV1XG4iLAogICAgICAgICAgICAgICAgICAgIGRvbWFp
bi0+ZG9tYWluX2lkLCBzZWcsIGJ1cywKQEAgLTE2NzUsNiArMTY5NSwxNCBA
QCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAg
ICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBERVZfVFlQRV9QQ0k6CisgICAg
ICAgIGlmICggaW9tbXVfcXVhcmFudGluZSAmJiBvcmlnX2RvbWlkID09IERP
TUlEX0lOVkFMSUQgKQorICAgICAgICB7CisgICAgICAgICAgICBwZGV2LT5h
cmNoLnBzZXVkb19kb21pZCA9CisgICAgICAgICAgICAgICAgaW9tbXVfYWxs
b2NfZG9taWQoZHJoZC0+aW9tbXUtPnBzZXVkb19kb21pZF9tYXApOworICAg
ICAgICAgICAgaWYgKCBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9PSBET01J
RF9JTlZBTElEICkKKyAgICAgICAgICAgICAgICByZXR1cm4gLUVOT1NQQzsK
KyAgICAgICAgfQorCiAgICAgICAgIGlmICggaW9tbXVfZGVidWcgKQogICAg
ICAgICAgICAgcHJpbnRrKFZURFBSRUZJWCAiZCVkOlBDSTogbWFwICUwNHg6
JTAyeDolMDJ4LiV1XG4iLAogICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+
ZG9tYWluX2lkLCBzZWcsIGJ1cywKQEAgLTE3NTAsNiArMTc3OCwxMyBAQCBz
dGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAg
aWYgKCAhcmV0ICYmIGRldmZuID09IHBkZXYtPmRldmZuICkKICAgICAgICAg
cGNpX3Z0ZF9xdWlyayhwZGV2KTsKIAorICAgIGlmICggcmV0ICYmIGRyaGQg
JiYgb3JpZ19kb21pZCA9PSBET01JRF9JTlZBTElEICkKKyAgICB7CisgICAg
ICAgIGlvbW11X2ZyZWVfZG9taWQocGRldi0+YXJjaC5wc2V1ZG9fZG9taWQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgZHJoZC0+aW9tbXUtPnBzZXVk
b19kb21pZF9tYXApOworICAgICAgICBwZGV2LT5hcmNoLnBzZXVkb19kb21p
ZCA9IERPTUlEX0lOVkFMSUQ7CisgICAgfQorCiAgICAgcmV0dXJuIHJldDsK
IH0KIApAQCAtMTgzMiw4ICsxODY3LDEwIEBAIGludCBkb21haW5fY29udGV4
dF91bm1hcF9vbmUoCiAgICAgcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgaW50
IGRvbWFpbl9jb250ZXh0X3VubWFwKHN0cnVjdCBkb21haW4gKmRvbWFpbiwg
dTggZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
cnVjdCBwY2lfZGV2ICpwZGV2KQorc3RhdGljIGNvbnN0IHN0cnVjdCBhY3Bp
X2RyaGRfdW5pdCAqZG9tYWluX2NvbnRleHRfdW5tYXAoCisgICAgc3RydWN0
IGRvbWFpbiAqZG9tYWluLAorICAgIHVpbnQ4X3QgZGV2Zm4sCisgICAgc3Ry
dWN0IHBjaV9kZXYgKnBkZXYpCiB7CiAgICAgc3RydWN0IGFjcGlfZHJoZF91
bml0ICpkcmhkOwogICAgIHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11OwpAQCAt
MTg0Myw3ICsxODgwLDcgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF91
bm1hcChzdHJ1Y3QgZAogCiAgICAgZHJoZCA9IGFjcGlfZmluZF9tYXRjaGVk
X2RyaGRfdW5pdChwZGV2KTsKICAgICBpZiAoICFkcmhkICkKLSAgICAgICAg
cmV0dXJuIC1FTk9ERVY7CisgICAgICAgIHJldHVybiBFUlJfUFRSKC1FTk9E
RVYpOwogICAgIGlvbW11ID0gZHJoZC0+aW9tbXU7CiAKICAgICBzd2l0Y2gg
KCBwZGV2LT50eXBlICkKQEAgLTE4NTQsNyArMTg5MSw3IEBAIHN0YXRpYyBp
bnQgZG9tYWluX2NvbnRleHRfdW5tYXAoc3RydWN0IGQKICAgICAgICAgICAg
ICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwgc2VnLCBidXMsCiAgICAgICAg
ICAgICAgICAgICAgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbikp
OwogICAgICAgICBpZiAoICFpc19oYXJkd2FyZV9kb21haW4oZG9tYWluKSAp
Ci0gICAgICAgICAgICByZXR1cm4gLUVQRVJNOworICAgICAgICAgICAgcmV0
dXJuIEVSUl9QVFIoLUVQRVJNKTsKICAgICAgICAgZ290byBvdXQ7CiAKICAg
ICBjYXNlIERFVl9UWVBFX1BDSWVfQlJJREdFOgpAQCAtMTkyOSw3ICsxOTY2
LDcgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF91bm1hcChzdHJ1Y3Qg
ZAogICAgICAgICBjaGVja19jbGVhbnVwX2RvbWlkX21hcChkb21haW4sIHBk
ZXYsIGlvbW11KTsKIAogb3V0OgotICAgIHJldHVybiByZXQ7CisgICAgcmV0
dXJuIHJldCA/IEVSUl9QVFIocmV0KSA6IGRyaGQ7CiB9CiAKIHN0YXRpYyB2
b2lkIGlvbW11X2RvbWFpbl90ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkKQpA
QCAtMjE1MywxNiArMjE5MCwxNyBAQCBzdGF0aWMgaW50IGludGVsX2lvbW11
X2VuYWJsZV9kZXZpY2Uoc3RyCiAKIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVf
cmVtb3ZlX2RldmljZSh1OCBkZXZmbiwgc3RydWN0IHBjaV9kZXYgKnBkZXYp
CiB7CisgICAgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwog
ICAgIHN0cnVjdCBhY3BpX3JtcnJfdW5pdCAqcm1ycjsKICAgICB1MTYgYmRm
OwotICAgIGludCByZXQsIGk7CisgICAgdW5zaWduZWQgaW50IGk7CiAKICAg
ICBpZiAoICFwZGV2LT5kb21haW4gKQogICAgICAgICByZXR1cm4gLUVJTlZB
TDsKIAotICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwKHBkZXYtPmRv
bWFpbiwgZGV2Zm4sIHBkZXYpOwotICAgIGlmICggcmV0ICkKLSAgICAgICAg
cmV0dXJuIHJldDsKKyAgICBkcmhkID0gZG9tYWluX2NvbnRleHRfdW5tYXAo
cGRldi0+ZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAgaWYgKCBJU19FUlIo
ZHJoZCkgKQorICAgICAgICByZXR1cm4gUFRSX0VSUihkcmhkKTsKIAogICAg
IGZvcl9lYWNoX3JtcnJfZGV2aWNlICggcm1yciwgYmRmLCBpICkKICAgICB7
CkBAIC0yMTc5LDYgKzIyMTcsMTMgQEAgc3RhdGljIGludCBpbnRlbF9pb21t
dV9yZW1vdmVfZGV2aWNlKHU4CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcm1yci0+ZW5kX2FkZHJlc3MsIDApOwogICAgIH0KIAorICAgIGlm
ICggZHJoZCApCisgICAgeworICAgICAgICBpb21tdV9mcmVlX2RvbWlkKHBk
ZXYtPmFyY2gucHNldWRvX2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGRyaGQtPmlvbW11LT5wc2V1ZG9fZG9taWRfbWFwKTsKKyAgICAgICAg
cGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPSBET01JRF9JTlZBTElEOworICAg
IH0KKwogICAgIHJldHVybiAwOwogfQogCi0tLSBhL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL3Z0ZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC9pb21tdS5oCkBAIC01MzUsNiArNTM1LDcgQEAgc3RydWN0
IHZ0ZF9pb21tdSB7CiAgICAgfSBmbHVzaDsKIAogICAgIHN0cnVjdCBsaXN0
X2hlYWQgYXRzX2RldmljZXM7CisgICAgdW5zaWduZWQgbG9uZyAqcHNldWRv
X2RvbWlkX21hcDsgLyogInBzZXVkbyIgZG9tYWluIGlkIGJpdG1hcCAqLwog
ICAgIHVuc2lnbmVkIGxvbmcgKmRvbWlkX2JpdG1hcDsgIC8qIGRvbWFpbiBp
ZCBiaXRtYXAgKi8KICAgICB1MTYgKmRvbWlkX21hcDsgICAgICAgICAgICAg
ICAvKiBkb21haW4gaWQgbWFwcGluZyBhcnJheSAqLwogICAgIHVpbnQzMl90
IHZlcnNpb247Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9p
b21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21t
dS5jCkBAIC0zNzUsNiArMzc1LDUzIEBAIHZvaWQgX19od2RvbV9pbml0IGFy
Y2hfaW9tbXVfaHdkb21faW5pdCgKICAgICAgICAgcmV0dXJuOwogfQogCit1
bnNpZ25lZCBsb25nICpfX2luaXQgaW9tbXVfaW5pdF9kb21pZCh2b2lkKQor
eworICAgIGlmICggIWlvbW11X3F1YXJhbnRpbmUgKQorICAgICAgICByZXR1
cm4gWkVST19CTE9DS19QVFI7CisKKyAgICBCVUlMRF9CVUdfT04oRE9NSURf
TUFTSyAqIDJVID49IFVJTlQxNl9NQVgpOworCisgICAgcmV0dXJuIHh6YWxs
b2NfYXJyYXkodW5zaWduZWQgbG9uZywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBCSVRTX1RPX0xPTkdTKFVJTlQxNl9NQVggLSBET01JRF9NQVNLKSk7
Cit9CisKK2RvbWlkX3QgaW9tbXVfYWxsb2NfZG9taWQodW5zaWduZWQgbG9u
ZyAqbWFwKQoreworICAgIC8qCisgICAgICogVGhpcyBpcyB1c2VkIHVuaWZv
cm1seSBhY3Jvc3MgYWxsIElPTU1Vcywgc3VjaCB0aGF0IG9uIHR5cGljYWwK
KyAgICAgKiBzeXN0ZW1zIHdlIHdvdWxkbid0IHJlLXVzZSB0aGUgc2FtZSBJ
RCB2ZXJ5IHF1aWNrbHkgKHBlcmhhcHMgbmV2ZXIpLgorICAgICAqLworICAg
IHN0YXRpYyB1bnNpZ25lZCBpbnQgc3RhcnQ7CisgICAgdW5zaWduZWQgaW50
IGlkeCA9IGZpbmRfbmV4dF96ZXJvX2JpdChtYXAsIFVJTlQxNl9NQVggLSBE
T01JRF9NQVNLLCBzdGFydCk7CisKKyAgICBBU1NFUlQocGNpZGV2c19sb2Nr
ZWQoKSk7CisKKyAgICBpZiAoIGlkeCA+PSBVSU5UMTZfTUFYIC0gRE9NSURf
TUFTSyApCisgICAgICAgIGlkeCA9IGZpbmRfZmlyc3RfemVyb19iaXQobWFw
LCBVSU5UMTZfTUFYIC0gRE9NSURfTUFTSyk7CisgICAgaWYgKCBpZHggPj0g
VUlOVDE2X01BWCAtIERPTUlEX01BU0sgKQorICAgICAgICByZXR1cm4gRE9N
SURfSU5WQUxJRDsKKworICAgIF9fc2V0X2JpdChpZHgsIG1hcCk7CisKKyAg
ICBzdGFydCA9IGlkeCArIDE7CisKKyAgICByZXR1cm4gaWR4IHwgKERPTUlE
X01BU0sgKyAxKTsKK30KKwordm9pZCBpb21tdV9mcmVlX2RvbWlkKGRvbWlk
X3QgZG9taWQsIHVuc2lnbmVkIGxvbmcgKm1hcCkKK3sKKyAgICBBU1NFUlQo
cGNpZGV2c19sb2NrZWQoKSk7CisKKyAgICBpZiAoIGRvbWlkID09IERPTUlE
X0lOVkFMSUQgKQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQoZG9t
aWQgPiBET01JRF9NQVNLKTsKKworICAgIGlmICggIV9fdGVzdF9hbmRfY2xl
YXJfYml0KGRvbWlkICYgRE9NSURfTUFTSywgbWFwKSApCisgICAgICAgIEJV
RygpOworfQorCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTog
Qwo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IGRyb3AgVExCIGZsdXNoZXMgZnJvbSBxdWFyYW50aW5l
X2luaXQoKSBob29rcwoKVGhlIHBhZ2UgdGFibGVzIGp1c3QgY3JlYXRlZCBh
cmVuJ3QgaG9va2VkIHVwIHlldCBhbnl3aGVyZSwgc28gdGhlcmUncwpub3Ro
aW5nIHRoYXQgY291bGQgYmUgcHJlc2VudCBpbiBhbnkgVExCLCBhbmQgaGVu
Y2Ugbm90aGluZyB0byBmbHVzaC4KRHJvcHBpbmcgdGhpcyBmbHVzaCBpcywg
YXQgbGVhc3Qgb24gdGhlIFZULWQgc2lkZSwgYSBwcmVyZXEgdG8gcGVyLQpk
ZXZpY2UgZG9tYWluIElEIHVzZSB3aGVuIHF1YXJhbnRpbmluZyBkZXZpY2Vz
LCBhcyBkb21faW8gaXNuJ3QgZ29pbmcKdG8gYmUgYXNzaWduZWQgYSBESUQg
YW55bW9yZTogVGhlIHdhcm5pbmcgaW4gZ2V0X2lvbW11X2RpZCgpIHdvdWxk
CnRyaWdnZXIuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxp
Y2hAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxA
eGVuLm9yZz4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2
aW4udGlhbkBpbnRlbC5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvYW1kL2lvbW11X21hcC5jCkBAIC01ODUsOCArNTg1LDYgQEAgaW50
IF9faW5pdCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cgogIG91dDoK
ICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKIAot
ICAgIGFtZF9pb21tdV9mbHVzaF9hbGxfcGFnZXMoZCk7Ci0KICAgICAvKiBQ
YWdlcyBsZWFrZWQgaW4gZmFpbHVyZSBjYXNlICovCiAgICAgcmV0dXJuIGxl
dmVsID8gLUVOT01FTSA6IDA7CiB9Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL3Z0ZC9pb21tdS5jCkBAIC0yOTE0LDcgKzI5MTQsNiBAQCBzdGF0aWMg
aW50IF9faW5pdCBpbnRlbF9pb21tdV9xdWFyYW50aW5lCiAgICAgc3RydWN0
IGRtYV9wdGUgKnBhcmVudDsKICAgICB1bnNpZ25lZCBpbnQgYWdhdyA9IHdp
ZHRoX3RvX2FnYXcoREVGQVVMVF9ET01BSU5fQUREUkVTU19XSURUSCk7CiAg
ICAgdW5zaWduZWQgaW50IGxldmVsID0gYWdhd190b19sZXZlbChhZ2F3KTsK
LSAgICBpbnQgcmM7CiAKICAgICBpZiAoIGhkLT5hcmNoLnBnZF9tYWRkciAp
CiAgICAgewpAQCAtMjk2MSwxMCArMjk2MCw4IEBAIHN0YXRpYyBpbnQgX19p
bml0IGludGVsX2lvbW11X3F1YXJhbnRpbmUKICBvdXQ6CiAgICAgc3Bpbl91
bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CiAKLSAgICByYyA9IGlv
bW11X2ZsdXNoX2lvdGxiX2FsbChkKTsKLQogICAgIC8qIFBhZ2VzIGxlYWtl
ZCBpbiBmYWlsdXJlIGNhc2UgKi8KLSAgICByZXR1cm4gbGV2ZWwgPyAtRU5P
TUVNIDogcmM7CisgICAgcmV0dXJuIGxldmVsID8gLUVOT01FTSA6IDA7CiB9
CiAKIGNvbnN0IHN0cnVjdCBpb21tdV9vcHMgX19pbml0Y29uc3RyZWwgaW50
ZWxfaW9tbXVfb3BzID0gewo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGFic3RyYWN0IG1heGltdW0gbnVtYmVyIG9mIHBhZ2Ug
dGFibGUgbGV2ZWxzCgpXZSB3aWxsIHdhbnQgdG8gdXNlIHRoZSBjb25zdGFu
dCBlbHNld2hlcmUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBh
dWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9p
b21tdS5oCkBAIC0zNjIsNyArMzYyLDcgQEAgc3RhdGljIGlubGluZSBpbnQg
YW1kX2lvbW11X2dldF9wYWdpbmdfbQogICAgIHdoaWxlICggbWF4X2ZyYW1l
cyA+IFBURV9QRVJfVEFCTEVfU0laRSApCiAgICAgewogICAgICAgICBtYXhf
ZnJhbWVzID0gUFRFX1BFUl9UQUJMRV9BTElHTihtYXhfZnJhbWVzKSA+PiBQ
VEVfUEVSX1RBQkxFX1NISUZUOwotICAgICAgICBpZiAoICsrbGV2ZWwgPiA2
ICkKKyAgICAgICAgaWYgKCArK2xldmVsID4gSU9NTVVfTUFYX1BUX0xFVkVM
UyApCiAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKICAgICB9CiAKLS0t
IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11LWRlZnMuaAor
KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXUtZGVmcy5o
CkBAIC0xMDYsNiArMTA2LDcgQEAgc3RydWN0IGFtZF9pb21tdV9kdGUgewog
ICAgIGJvb2wgdHY6MTsKICAgICB1bnNpZ25lZCBpbnQgOjU7CiAgICAgdW5z
aWduZWQgaW50IGhhZDoyOworI2RlZmluZSBJT01NVV9NQVhfUFRfTEVWRUxT
IDYKICAgICB1bnNpZ25lZCBpbnQgcGFnaW5nX21vZGU6MzsKICAgICB1aW50
NjRfdCBwdF9yb290OjQwOwogICAgIGJvb2wgcHByOjE7Ci0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYworKysgYi94ZW4v
ZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMKQEAgLTI1Niw3
ICsyNTYsNyBAQCBzdGF0aWMgaW50IGlvbW11X3BkZV9mcm9tX2RmbihzdHJ1
Y3QgZG9tCiAgICAgdGFibGUgPSBoZC0+YXJjaC5yb290X3RhYmxlOwogICAg
IGxldmVsID0gaGQtPmFyY2gucGFnaW5nX21vZGU7CiAKLSAgICBCVUdfT04o
IHRhYmxlID09IE5VTEwgfHwgbGV2ZWwgPCAxIHx8IGxldmVsID4gNiApOwor
ICAgIEJVR19PTiggdGFibGUgPT0gTlVMTCB8fCBsZXZlbCA8IDEgfHwgbGV2
ZWwgPiBJT01NVV9NQVhfUFRfTEVWRUxTICk7CiAKICAgICAvKgogICAgICAq
IEEgZnJhbWUgbnVtYmVyIHBhc3Qgd2hhdCB0aGUgY3VycmVudCBwYWdlIHRh
YmxlcyBjYW4gcmVwcmVzZW50IGNhbid0Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IHVzZSBwZXItZGV2aWNlIHBhZ2UgdGFibGVzIGZvciBx
dWFyYW50aW5pbmcKCkRldmljZXMgd2l0aCBSTVJScyAvIHVuaXR5IG1hcHBl
ZCByZWdpb25zLCBkdWUgdG8gaXQgYmVpbmcgdW5zcGVjaWZpZWQKaG93L3do
ZW4gdGhlc2UgbWVtb3J5IHJlZ2lvbnMgbWF5IGJlIGFjY2Vzc2VkLCBtYXkg
bm90IGJlIGxlZnQKZGlzY29ubmVjdGVkIGZyb20gdGhlIG1hcHBpbmdzIG9m
IHRoZXNlIHJlZ2lvbnMgKGFzIGxvbmcgYXMgaXQncyBub3QKY2VydGFpbiB0
aGF0IHRoZSBkZXZpY2UgaGFzIGJlZW4gZnVsbHkgcXVpZXNjZWQpLiBIZW5j
ZSBldmVuIHRoZSBwYWdlCnRhYmxlcyB1c2VkIHdoZW4gcXVhcmFudGluaW5n
IHN1Y2ggZGV2aWNlcyBuZWVkIHRvIGhhdmUgbWFwcGluZ3Mgb2YKdGhvc2Ug
cmVnaW9ucy4gVGhpcyBpbXBsaWVzIGluc3RhbGxpbmcgcGFnZSB0YWJsZXMg
aW4gdGhlIGZpcnN0IHBsYWNlCmV2ZW4gd2hlbiBub3QgaW4gc2NyYXRjaC1w
YWdlIHF1YXJhbnRpbmluZyBtb2RlLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM2
MSAvIHBhcnQgb2YgWFNBLTQwMC4KCldoaWxlIGZvciB0aGUgcHVycG9zZSBo
ZXJlIGl0IHdvdWxkIGJlIHN1ZmZpY2llbnQgdG8gaGF2ZSBkZXZpY2VzIHdp
dGgKUk1SUnMgLyB1bml0eSBtYXBwZWQgcmVnaW9ucyB1c2UgcGVyLWRldmlj
ZSBwYWdlIHRhYmxlcywgZXh0ZW5kIHRoaXMgdG8KYWxsIGRldmljZXMgKGlu
IHNjcmF0Y2gtcGFnZSBxdWFyYW50aW5pbmcgbW9kZSkuIFRoaXMgYWxsb3dz
IHRoZSBsZWFmCnBhZ2VzIHRvIGJlIG1hcHBlZCByL3csIHRodXMgY292ZXJp
bmcgYWxzbyBtZW1vcnkgd3JpdGVzIChyYXRoZXIgdGhhbgpqdXN0IHJlYWRz
KSBpc3N1ZWQgYnkgbm9uLXF1aWVzY2VudCBkZXZpY2VzLgoKU2V0IHVwIHF1
YXJhbnRpbmUgcGFnZSB0YWJsZXMgYXMgbGF0ZSBhcyBwb3NzaWJsZSwgeWV0
IGVhcmx5IGVub3VnaCB0bwpub3QgZW5jb3VudGVyIGZhaWx1cmUgZHVyaW5n
IGRlLWFzc2lnbi4gVGhpcyBtZWFucyBzZXR1cCBnZW5lcmFsbHkKaGFwcGVu
cyBpbiBhc3NpZ25fZGV2aWNlKCksIHdoaWxlIChmb3Igbm93KSB0aGUgb25l
IGluIGRlYXNzaWduX2RldmljZSgpCmlzIHRoZXJlIG1haW5seSB0byBiZSBv
biB0aGUgc2FmZSBzaWRlLgoKSW4gVlQtZCdzIERJRCBhbGxvY2F0aW9uIGZ1
bmN0aW9uIGRvbid0IHJlcXVpcmUgdGhlIElPTU1VIGxvY2sgdG8gYmUKaGVs
ZCBhbnltb3JlOiBBbGwgaW52b2x2ZWQgY29kZSBwYXRocyBob2xkIHBjaWRl
dnNfbG9jaywgc28gdGhpcyB3YXkgd2UKYXZvaWQgdGhlIG5lZWQgdG8gYWNx
dWlyZSB0aGUgSU9NTVUgbG9jayBhcm91bmQgdGhlIG5ldyBjYWxsIHRvCmNv
bnRleHRfc2V0X2RvbWFpbl9pZCgpLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBE
dXJyYW50IDxwYXVsQHhlbi5vcmc+ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFu
IDxrZXZpbi50aWFuQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBh
dSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKLS0tIGEveGVuL2Fy
Y2gveDg2L21tL3AybS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpA
QCAtMTQ1NSw3ICsxNDU1LDcgQEAgaW50IHNldF9pZGVudGl0eV9wMm1fZW50
cnkoc3RydWN0IGRvbWFpbgogICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0g
PSBwMm1fZ2V0X2hvc3RwMm0oZCk7CiAgICAgaW50IHJldDsKIAotICAgIGlm
ICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShwMm0tPmRvbWFpbikgKQorICAg
IGlmICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShkKSApCiAgICAgewogICAg
ICAgICBpZiAoICFpc19pb21tdV9lbmFibGVkKGQpICkKICAgICAgICAgICAg
IHJldHVybiAwOwotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3BjaS5oCisr
KyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcGNpLmgKQEAgLTEsNiArMSw4IEBA
CiAjaWZuZGVmIF9fWDg2X1BDSV9IX18KICNkZWZpbmUgX19YODZfUENJX0hf
XwogCisjaW5jbHVkZSA8eGVuL21tLmg+CisKICNkZWZpbmUgQ0Y4X0JERihj
ZjgpICAgICAoICAoKGNmOCkgJiAweDAwZmZmZjAwKSA+PiA4KQogI2RlZmlu
ZSBDRjhfQUREUl9MTyhjZjgpICggICAoY2Y4KSAmIDB4MDAwMDAwZmMpCiAj
ZGVmaW5lIENGOF9BRERSX0hJKGNmOCkgKCAgKChjZjgpICYgMHgwZjAwMDAw
MCkgPj4gMTYpCkBAIC0yMCw3ICsyMiwxOCBAQCBzdHJ1Y3QgYXJjaF9wY2lf
ZGV2IHsKICAgICAgKiB0aGVtIGRvbid0IHJhY2UgKGRlKWluaXRpYWxpemF0
aW9uIGFuZCBoZW5jZSBkb24ndCBzdHJpY3RseSBuZWVkIGFueQogICAgICAq
IGxvY2tpbmcuCiAgICAgICovCisgICAgdW5pb24geworICAgICAgICAvKiBT
dWJzZXQgb2Ygc3RydWN0IGFyY2hfaW9tbXUncyBmaWVsZHMsIHRvIGJlIHVz
ZWQgaW4gZG9tX2lvLiAqLworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAg
ICAgdWludDY0X3QgcGdkX21hZGRyOworICAgICAgICB9IHZ0ZDsKKyAgICAg
ICAgc3RydWN0IHsKKyAgICAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnJv
b3RfdGFibGU7CisgICAgICAgIH0gYW1kOworICAgIH07CiAgICAgZG9taWRf
dCBwc2V1ZG9fZG9taWQ7CisgICAgbWZuX3QgbGVhZl9tZm47CisgICAgc3Ry
dWN0IHBhZ2VfbGlzdF9oZWFkIHBndGFibGVzX2xpc3Q7CiB9OwogCiBpbnQg
cGNpX2NvbmZfd3JpdGVfaW50ZXJjZXB0KHVuc2lnbmVkIGludCBzZWcsIHVu
c2lnbmVkIGludCBiZGYsCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L2FtZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9pb21tdS5oCkBAIC0yMjMsNyArMjIzLDggQEAgaW50IGFtZF9pb21tdV9p
bml0X2xhdGUodm9pZCk7CiBpbnQgYW1kX2lvbW11X3VwZGF0ZV9pdnJzX21h
cHBpbmdfYWNwaSh2b2lkKTsKIGludCBpb3ZfYWRqdXN0X2lycV9hZmZpbml0
aWVzKHZvaWQpOwogCi1pbnQgYW1kX2lvbW11X3F1YXJhbnRpbmVfaW5pdChz
dHJ1Y3QgZG9tYWluICpkKTsKK2ludCBhbWRfaW9tbXVfcXVhcmFudGluZV9p
bml0KHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKK3ZvaWQgYW1kX2lvbW11X3F1
YXJhbnRpbmVfdGVhcmRvd24oc3RydWN0IHBjaV9kZXYgKnBkZXYpOwogCiAv
KiBtYXBwaW5nIGZ1bmN0aW9ucyAqLwogaW50IF9fbXVzdF9jaGVjayBhbWRf
aW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgZGZuX3QgZGZuLAot
LS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMK
KysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5j
CkBAIC01MjksNjQgKzUyOSwxMzcgQEAgaW50IGFtZF9pb21tdV9yZXNlcnZl
X2RvbWFpbl91bml0eV91bm1hcAogICAgIHJldHVybiByYzsKIH0KIAotaW50
IF9faW5pdCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cnVjdCBkb21h
aW4gKmQpCitzdGF0aWMgaW50IGZpbGxfcXB0KHVuaW9uIGFtZF9pb21tdV9w
dGUgKnRoaXMsIHVuc2lnbmVkIGludCBsZXZlbCwKKyAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGdzW0lPTU1VX01BWF9QVF9MRVZF
TFNdLAorICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2RldiAqcGRl
dikKIHsKLSAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21t
dShkKTsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICBpbnQgcmMgPSAwOwor
CisgICAgZm9yICggaSA9IDA7ICFyYyAmJiBpIDwgUFRFX1BFUl9UQUJMRV9T
SVpFOyArK2kgKQorICAgIHsKKyAgICAgICAgdW5pb24gYW1kX2lvbW11X3B0
ZSAqcHRlID0gJnRoaXNbaV0sICpuZXh0OworCisgICAgICAgIGlmICggIXB0
ZS0+cHIgKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoICFwZ3NbbGV2
ZWxdICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvKgorICAg
ICAgICAgICAgICAgICAqIFRoZSBwZ3RhYmxlIGFsbG9jYXRvciBpcyBmaW5l
IGZvciB0aGUgbGVhZiBwYWdlLCBhcyB3ZWxsIGFzCisgICAgICAgICAgICAg
ICAgICogcGFnZSB0YWJsZSBwYWdlcywgYW5kIHRoZSByZXN1bHRpbmcgYWxs
b2NhdGlvbnMgYXJlIGFsd2F5cworICAgICAgICAgICAgICAgICAqIHplcm9l
ZC4KKyAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICBwZ3Nb
bGV2ZWxdID0gYWxsb2NfYW1kX2lvbW11X3BndGFibGUoKTsKKyAgICAgICAg
ICAgICAgICBpZiAoICFwZ3NbbGV2ZWxdICkKKyAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgIHJjID0gLUVOT01FTTsKKyAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgcGFnZV9saXN0X2FkZChwZ3NbbGV2ZWxdLCAmcGRldi0+
YXJjaC5wZ3RhYmxlc19saXN0KTsKKworICAgICAgICAgICAgICAgIGlmICgg
bGV2ZWwgKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgbmV4dCA9IF9fbWFwX2RvbWFpbl9wYWdlKHBnc1tsZXZlbF0pOworICAg
ICAgICAgICAgICAgICAgICByYyA9IGZpbGxfcXB0KG5leHQsIGxldmVsIC0g
MSwgcGdzLCBwZGV2KTsKKyAgICAgICAgICAgICAgICAgICAgdW5tYXBfZG9t
YWluX3BhZ2UobmV4dCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogUERFcyBh
cmUgZXNzZW50aWFsbHkgYSBzdWJzZXQgb2YgUFRFcywgc28gdGhpcyBmdW5j
dGlvbgorICAgICAgICAgICAgICogaXMgZmluZSB0byB1c2UgZXZlbiBhdCB0
aGUgbGVhZi4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgc2V0X2lv
bW11X3BkZV9wcmVzZW50KHB0ZSwgbWZuX3gocGFnZV90b19tZm4ocGdzW2xl
dmVsXSkpLCBsZXZlbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0cnVlLCB0cnVlKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlm
ICggbGV2ZWwgJiYgcHRlLT5uZXh0X2xldmVsICkKKyAgICAgICAgeworICAg
ICAgICAgICAgcGFnZV9saXN0X2FkZChtZm5fdG9fcGFnZShfbWZuKHB0ZS0+
bWZuKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICZwZGV2LT5hcmNo
LnBndGFibGVzX2xpc3QpOworICAgICAgICAgICAgbmV4dCA9IG1hcF9kb21h
aW5fcGFnZShfbWZuKHB0ZS0+bWZuKSk7CisgICAgICAgICAgICByYyA9IGZp
bGxfcXB0KG5leHQsIGxldmVsIC0gMSwgcGdzLCBwZGV2KTsKKyAgICAgICAg
ICAgIHVubWFwX2RvbWFpbl9wYWdlKG5leHQpOworICAgICAgICB9CisgICAg
fQorCisgICAgcmV0dXJuIHJjOworfQorCitpbnQgYW1kX2lvbW11X3F1YXJh
bnRpbmVfaW5pdChzdHJ1Y3QgcGNpX2RldiAqcGRldikKK3sKKyAgICBzdHJ1
Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkb21faW8pOwogICAg
IHVuc2lnbmVkIGxvbmcgZW5kX2dmbiA9CiAgICAgICAgIDF1bCA8PCAoREVG
QVVMVF9ET01BSU5fQUREUkVTU19XSURUSCAtIFBBR0VfU0hJRlQpOwogICAg
IHVuc2lnbmVkIGludCBsZXZlbCA9IGFtZF9pb21tdV9nZXRfcGFnaW5nX21v
ZGUoZW5kX2dmbik7Ci0gICAgdW5pb24gYW1kX2lvbW11X3B0ZSAqdGFibGU7
CisgICAgdW5zaWduZWQgaW50IHJlcV9pZCA9IGdldF9kbWFfcmVxdWVzdG9y
X2lkKHBkZXYtPnNlZywgcGRldi0+c2JkZi5iZGYpOworICAgIGNvbnN0IHN0
cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX21hcHBpbmdzID0gZ2V0X2l2cnNf
bWFwcGluZ3MocGRldi0+c2VnKTsKKyAgICBpbnQgcmM7CiAKLSAgICBpZiAo
IGhkLT5hcmNoLnJvb3RfdGFibGUgKQorICAgIEFTU0VSVChwY2lkZXZzX2xv
Y2tlZCgpKTsKKyAgICBBU1NFUlQoIWhkLT5hcmNoLnJvb3RfdGFibGUpOwor
CisgICAgQVNTRVJUKHBkZXYtPmFyY2gucHNldWRvX2RvbWlkICE9IERPTUlE
X0lOVkFMSUQpOworCisgICAgaWYgKCBwZGV2LT5hcmNoLmFtZC5yb290X3Rh
YmxlICkKICAgICB7Ci0gICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwor
ICAgICAgICBjbGVhcl9kb21haW5fcGFnZShwZGV2LT5hcmNoLmxlYWZfbWZu
KTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgc3Bpbl9sb2Nr
KCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwotCi0gICAgaGQtPmFyY2gucm9v
dF90YWJsZSA9IGFsbG9jX2FtZF9pb21tdV9wZ3RhYmxlKCk7Ci0gICAgaWYg
KCAhaGQtPmFyY2gucm9vdF90YWJsZSApCi0gICAgICAgIGdvdG8gb3V0Owot
Ci0gICAgdGFibGUgPSBfX21hcF9kb21haW5fcGFnZShoZC0+YXJjaC5yb290
X3RhYmxlKTsKLSAgICB3aGlsZSAoIGxldmVsICkKKyAgICBwZGV2LT5hcmNo
LmFtZC5yb290X3RhYmxlID0gYWxsb2NfYW1kX2lvbW11X3BndGFibGUoKTsK
KyAgICBpZiAoICFwZGV2LT5hcmNoLmFtZC5yb290X3RhYmxlICkKKyAgICAg
ICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICAvKiBUcmFuc2llbnRseSBpbnN0
YWxsIHRoZSByb290IGludG8gRG9tSU8sIGZvciBpb21tdV9pZGVudGl0eV9t
YXBwaW5nKCkuICovCisgICAgaGQtPmFyY2gucm9vdF90YWJsZSA9IHBkZXYt
PmFyY2guYW1kLnJvb3RfdGFibGU7CisKKyAgICByYyA9IGFtZF9pb21tdV9y
ZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoZG9tX2lvLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdnJzX21hcHBpbmdz
W3JlcV9pZF0udW5pdHlfbWFwLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAwKTsKKworICAgIGlvbW11X2lkZW50aXR5
X21hcF90ZWFyZG93bihkb21faW8pOworICAgIGhkLT5hcmNoLnJvb3RfdGFi
bGUgPSBOVUxMOworCisgICAgaWYgKCByYyApCisgICAgICAgIHByaW50aygi
JTA0eDolMDJ4OiUwMnguJXU6IHF1YXJhbnRpbmUgdW5pdHkgbWFwcGluZyBm
YWlsZWRcbiIsCisgICAgICAgICAgICAgICBwZGV2LT5zZWcsIHBkZXYtPmJ1
cywKKyAgICAgICAgICAgICAgIFBDSV9TTE9UKHBkZXYtPmRldmZuKSwgUENJ
X0ZVTkMocGRldi0+ZGV2Zm4pKTsKKyAgICBlbHNlCiAgICAgewotICAgICAg
ICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsKLSAgICAgICAgdW5zaWduZWQgaW50
IGk7CisgICAgICAgIHVuaW9uIGFtZF9pb21tdV9wdGUgKnJvb3Q7CisgICAg
ICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnc1tJT01NVV9NQVhfUFRfTEVWRUxT
XSA9IHt9OwogCi0gICAgICAgIC8qCi0gICAgICAgICAqIFRoZSBwZ3RhYmxl
IGFsbG9jYXRvciBpcyBmaW5lIGZvciB0aGUgbGVhZiBwYWdlLCBhcyB3ZWxs
IGFzCi0gICAgICAgICAqIHBhZ2UgdGFibGUgcGFnZXMsIGFuZCB0aGUgcmVz
dWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdheXMKLSAgICAgICAgICogemVy
b2VkLgotICAgICAgICAgKi8KLSAgICAgICAgcGcgPSBhbGxvY19hbWRfaW9t
bXVfcGd0YWJsZSgpOwotICAgICAgICBpZiAoICFwZyApCi0gICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgc3Bpbl9sb2NrKCZoZC0+YXJjaC5tYXBwaW5n
X2xvY2spOwogCi0gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgUFRFX1BFUl9U
QUJMRV9TSVpFOyBpKysgKQotICAgICAgICB7Ci0gICAgICAgICAgICB1bmlv
biBhbWRfaW9tbXVfcHRlICpwZGUgPSAmdGFibGVbaV07CisgICAgICAgIHJv
b3QgPSBfX21hcF9kb21haW5fcGFnZShwZGV2LT5hcmNoLmFtZC5yb290X3Rh
YmxlKTsKKyAgICAgICAgcmMgPSBmaWxsX3FwdChyb290LCBsZXZlbCAtIDEs
IHBncywgcGRldik7CisgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKHJvb3Qp
OwogCi0gICAgICAgICAgICAvKgotICAgICAgICAgICAgICogUERFcyBhcmUg
ZXNzZW50aWFsbHkgYSBzdWJzZXQgb2YgUFRFcywgc28gdGhpcyBmdW5jdGlv
bgotICAgICAgICAgICAgICogaXMgZmluZSB0byB1c2UgZXZlbiBhdCB0aGUg
bGVhZi4KLSAgICAgICAgICAgICAqLwotICAgICAgICAgICAgc2V0X2lvbW11
X3BkZV9wcmVzZW50KHBkZSwgbWZuX3gocGFnZV90b19tZm4ocGcpKSwgbGV2
ZWwgLSAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZh
bHNlLCB0cnVlKTsKLSAgICAgICAgfQorICAgICAgICBwZGV2LT5hcmNoLmxl
YWZfbWZuID0gcGFnZV90b19tZm4ocGdzWzBdKTsKIAotICAgICAgICB1bm1h
cF9kb21haW5fcGFnZSh0YWJsZSk7Ci0gICAgICAgIHRhYmxlID0gX19tYXBf
ZG9tYWluX3BhZ2UocGcpOwotICAgICAgICBsZXZlbC0tOworICAgICAgICBz
cGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKICAgICB9Ci0g
ICAgdW5tYXBfZG9tYWluX3BhZ2UodGFibGUpOwogCi0gb3V0OgotICAgIHNw
aW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOworICAgIGlmICgg
cmMgKQorICAgICAgICBhbWRfaW9tbXVfcXVhcmFudGluZV90ZWFyZG93bihw
ZGV2KTsKKworICAgIHJldHVybiByYzsKK30KKwordm9pZCBhbWRfaW9tbXVf
cXVhcmFudGluZV90ZWFyZG93bihzdHJ1Y3QgcGNpX2RldiAqcGRldikKK3sK
KyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsKKworICAgIEFTU0VSVChwY2lk
ZXZzX2xvY2tlZCgpKTsKKworICAgIGlmICggIXBkZXYtPmFyY2guYW1kLnJv
b3RfdGFibGUgKQorICAgICAgICByZXR1cm47CisKKyAgICB3aGlsZSAoIChw
ZyA9IHBhZ2VfbGlzdF9yZW1vdmVfaGVhZCgmcGRldi0+YXJjaC5wZ3RhYmxl
c19saXN0KSkgKQorICAgICAgICBmcmVlX2FtZF9pb21tdV9wZ3RhYmxlKHBn
KTsKIAotICAgIC8qIFBhZ2VzIGxlYWtlZCBpbiBmYWlsdXJlIGNhc2UgKi8K
LSAgICByZXR1cm4gbGV2ZWwgPyAtRU5PTUVNIDogMDsKKyAgICBwZGV2LT5h
cmNoLmFtZC5yb290X3RhYmxlID0gTlVMTDsKIH0KIAogLyoKLS0tIGEveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysg
Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5j
CkBAIC0xMjIsNiArMTIyLDggQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sg
YW1kX2lvbW11X3NldHVwXwogICAgIHU4IGJ1cyA9IHBkZXYtPmJ1czsKICAg
ICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkb21haW4p
OwogICAgIGNvbnN0IHN0cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX2RldjsK
KyAgICBjb25zdCBzdHJ1Y3QgcGFnZV9pbmZvICpyb290X3BnOworICAgIGRv
bWlkX3QgZG9taWQ7CiAKICAgICBCVUdfT04oIWhkLT5hcmNoLnBhZ2luZ19t
b2RlIHx8ICFpb21tdS0+ZGV2X3RhYmxlLmJ1ZmZlcik7CiAKQEAgLTE0MSwx
NCArMTQzLDI1IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFtZF9pb21t
dV9zZXR1cF8KICAgICBkdGUgPSAmdGFibGVbcmVxX2lkXTsKICAgICBpdnJz
X2RldiA9ICZnZXRfaXZyc19tYXBwaW5ncyhpb21tdS0+c2VnKVtyZXFfaWRd
OwogCisgICAgaWYgKCBkb21haW4gIT0gZG9tX2lvICkKKyAgICB7CisgICAg
ICAgIHJvb3RfcGcgPSBoZC0+YXJjaC5yb290X3RhYmxlOworICAgICAgICBk
b21pZCA9IGRvbWFpbi0+ZG9tYWluX2lkOworICAgIH0KKyAgICBlbHNlCisg
ICAgeworICAgICAgICByb290X3BnID0gcGRldi0+YXJjaC5hbWQucm9vdF90
YWJsZTsKKyAgICAgICAgZG9taWQgPSBwZGV2LT5hcmNoLnBzZXVkb19kb21p
ZDsKKyAgICB9CisKICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmaW9tbXUtPmxv
Y2ssIGZsYWdzKTsKIAogICAgIGlmICggIWR0ZS0+diB8fCAhZHRlLT50diAp
CiAgICAgewogICAgICAgICAvKiBiaW5kIERURSB0byBkb21haW4gcGFnZS10
YWJsZXMgKi8KICAgICAgICAgcmMgPSBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFn
ZV90YWJsZSgKLSAgICAgICAgICAgICAgICAgZHRlLCBwYWdlX3RvX21hZGRy
KGhkLT5hcmNoLnJvb3RfdGFibGUpLAotICAgICAgICAgICAgICAgICBkb21h
aW4tPmRvbWFpbl9pZCwgaGQtPmFyY2gucGFnaW5nX21vZGUsIHNyX2ZsYWdz
KTsKKyAgICAgICAgICAgICAgICAgZHRlLCBwYWdlX3RvX21hZGRyKHJvb3Rf
cGcpLCBkb21pZCwKKyAgICAgICAgICAgICAgICAgaGQtPmFyY2gucGFnaW5n
X21vZGUsIHNyX2ZsYWdzKTsKICAgICAgICAgaWYgKCByYyApCiAgICAgICAg
IHsKICAgICAgICAgICAgIEFTU0VSVChyYyA8IDApOwpAQCAtMTcyLDcgKzE4
NSw3IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1
cF8KIAogICAgICAgICBhbWRfaW9tbXVfZmx1c2hfZGV2aWNlKGlvbW11LCBy
ZXFfaWQpOwogICAgIH0KLSAgICBlbHNlIGlmICggZHRlLT5wdF9yb290ICE9
IG1mbl94KHBhZ2VfdG9fbWZuKGhkLT5hcmNoLnJvb3RfdGFibGUpKSApCisg
ICAgZWxzZSBpZiAoIGR0ZS0+cHRfcm9vdCAhPSBtZm5feChwYWdlX3RvX21m
bihyb290X3BnKSkgKQogICAgIHsKICAgICAgICAgLyoKICAgICAgICAgICog
U3RyaWN0bHkgc3BlYWtpbmcgaWYgdGhlIGRldmljZSBpcyB0aGUgb25seSBv
bmUgd2l0aCB0aGlzIHJlcXVlc3RvcgpAQCAtMTg1LDggKzE5OCw4IEBAIHN0
YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAgICAg
ICAgICAgIHJjID0gLUVPUE5PVFNVUFA7CiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIHJjID0gYW1kX2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUoCi0g
ICAgICAgICAgICAgICAgICAgICBkdGUsIHBhZ2VfdG9fbWFkZHIoaGQtPmFy
Y2gucm9vdF90YWJsZSksCi0gICAgICAgICAgICAgICAgICAgICBkb21haW4t
PmRvbWFpbl9pZCwgaGQtPmFyY2gucGFnaW5nX21vZGUsIHNyX2ZsYWdzKTsK
KyAgICAgICAgICAgICAgICAgICAgIGR0ZSwgcGFnZV90b19tYWRkcihyb290
X3BnKSwgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICBoZC0+YXJjaC5w
YWdpbmdfbW9kZSwgc3JfZmxhZ3MpOwogICAgICAgICBpZiAoIHJjIDwgMCAp
CiAgICAgICAgIHsKICAgICAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3Rv
cmUoJmlvbW11LT5sb2NrLCBmbGFncyk7CkBAIC0yMDUsNiArMjE4LDcgQEAg
c3RhdGljIGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldHVwXwogICAg
ICAgICAgICAgICAqIGludGVuZGVkIGFueXdheS4KICAgICAgICAgICAgICAg
Ki8KICAgICAgICAgICAgICAhcGRldi0+ZG9tYWluLT5pc19keWluZyAmJgor
ICAgICAgICAgICAgIHBkZXYtPmRvbWFpbiAhPSBkb21faW8gJiYKICAgICAg
ICAgICAgICAoYW55X3BkZXZfYmVoaW5kX2lvbW11KHBkZXYtPmRvbWFpbiwg
cGRldiwgaW9tbXUpIHx8CiAgICAgICAgICAgICAgIHBkZXYtPnBoYW50b21f
c3RyaWRlKSApCiAgICAgICAgICAgICBwcmludGsoIiAlMDR4OiUwMng6JTAy
eC4ldTogcmVhc3NpZ25tZW50IG1heSBjYXVzZSAlcGQgZGF0YSBjb3JydXB0
aW9uXG4iLApAQCAtMjM1LDkgKzI0OSw4IEBAIHN0YXRpYyBpbnQgX19tdXN0
X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAgICBBTURfSU9NTVVfREVCVUco
IlNldHVwIEkvTyBwYWdlIHRhYmxlOiBkZXZpY2UgaWQgPSAlI3gsIHR5cGUg
PSAlI3gsICIKICAgICAgICAgICAgICAgICAgICAgInJvb3QgdGFibGUgPSAl
IyJQUkl4NjQiLCAiCiAgICAgICAgICAgICAgICAgICAgICJkb21haW4gPSAl
ZCwgcGFnaW5nIG1vZGUgPSAlZFxuIiwKLSAgICAgICAgICAgICAgICAgICAg
cmVxX2lkLCBwZGV2LT50eXBlLAotICAgICAgICAgICAgICAgICAgICBwYWdl
X3RvX21hZGRyKGhkLT5hcmNoLnJvb3RfdGFibGUpLAotICAgICAgICAgICAg
ICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwgaGQtPmFyY2gucGFnaW5nX21v
ZGUpOworICAgICAgICAgICAgICAgICAgICByZXFfaWQsIHBkZXYtPnR5cGUs
IHBhZ2VfdG9fbWFkZHIocm9vdF9wZyksCisgICAgICAgICAgICAgICAgICAg
IGRvbWlkLCBoZC0+YXJjaC5wYWdpbmdfbW9kZSk7CiAKICAgICBBU1NFUlQo
cGNpZGV2c19sb2NrZWQoKSk7CiAKQEAgLTMwNCw3ICszMTcsNyBAQCBzdGF0
aWMgaW50IGlvdl9lbmFibGVfeHQodm9pZCkKIAogaW50IGFtZF9pb21tdV9h
bGxvY19yb290KHN0cnVjdCBkb21haW5faW9tbXUgKmhkKQogewotICAgIGlm
ICggdW5saWtlbHkoIWhkLT5hcmNoLnJvb3RfdGFibGUpICkKKyAgICBpZiAo
IHVubGlrZWx5KCFoZC0+YXJjaC5yb290X3RhYmxlKSAmJiBoZCAhPSBkb21f
aW9tbXUoZG9tX2lvKSApCiAgICAgewogICAgICAgICBoZC0+YXJjaC5yb290
X3RhYmxlID0gYWxsb2NfYW1kX2lvbW11X3BndGFibGUoKTsKICAgICAgICAg
aWYgKCAhaGQtPmFyY2gucm9vdF90YWJsZSApCkBAIC0zOTUsNyArNDA4LDcg
QEAgc3RhdGljIHZvaWQgYW1kX2lvbW11X2Rpc2FibGVfZG9tYWluX2Rldgog
CiAgICAgICAgIEFNRF9JT01NVV9ERUJVRygiRGlzYWJsZTogZGV2aWNlIGlk
ID0gJSN4LCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAiZG9tYWluID0g
JWQsIHBhZ2luZyBtb2RlID0gJWRcbiIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICByZXFfaWQsICBkb21haW4tPmRvbWFpbl9pZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHJlcV9pZCwgZHRlLT5kb21haW5faWQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICBkb21faW9tbXUoZG9tYWluKS0+YXJjaC5wYWdp
bmdfbW9kZSk7CiAgICAgfQogICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUo
JmlvbW11LT5sb2NrLCBmbGFncyk7CkBAIC02NTksNiArNjcyLDggQEAgc3Rh
dGljIGludCBhbWRfaW9tbXVfcmVtb3ZlX2RldmljZSh1OCBkZQogCiAgICAg
YW1kX2lvbW11X2Rpc2FibGVfZG9tYWluX2RldmljZShwZGV2LT5kb21haW4s
IGlvbW11LCBkZXZmbiwgcGRldik7CiAKKyAgICBhbWRfaW9tbXVfcXVhcmFu
dGluZV90ZWFyZG93bihwZGV2KTsKKwogICAgIGlvbW11X2ZyZWVfZG9taWQo
cGRldi0+YXJjaC5wc2V1ZG9fZG9taWQsIGlvbW11LT5kb21pZF9tYXApOwog
ICAgIHBkZXYtPmFyY2gucHNldWRvX2RvbWlkID0gRE9NSURfSU5WQUxJRDsK
IAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCisrKyBi
L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKQEAgLTQ0NywyMSAr
NDQ3LDIxIEBAIGludCBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRv
bWFpbgogICAgIHJldHVybiByYzsKIH0KIAotc3RhdGljIGludCBfX2luaXQg
aW9tbXVfcXVhcmFudGluZV9pbml0KHZvaWQpCitpbnQgaW9tbXVfcXVhcmFu
dGluZV9kZXZfaW5pdChkZXZpY2VfdCAqZGV2KQogewogICAgIGNvbnN0IHN0
cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbV9pbyk7Ci0g
ICAgaW50IHJjOwogCi0gICAgZG9tX2lvLT5vcHRpb25zIHw9IFhFTl9ET01D
VExfQ0RGX2lvbW11OworICAgIGlmICggIWlvbW11X3F1YXJhbnRpbmUgfHwg
IWhkLT5wbGF0Zm9ybV9vcHMtPnF1YXJhbnRpbmVfaW5pdCApCisgICAgICAg
IHJldHVybiAwOwogCi0gICAgcmMgPSBpb21tdV9kb21haW5faW5pdChkb21f
aW8sIDApOwotICAgIGlmICggcmMgKQotICAgICAgICByZXR1cm4gcmM7Cisg
ICAgcmV0dXJuIGlvbW11X2NhbGwoaGQtPnBsYXRmb3JtX29wcywgcXVhcmFu
dGluZV9pbml0LCBkZXYpOworfQogCi0gICAgaWYgKCAhaGQtPnBsYXRmb3Jt
X29wcy0+cXVhcmFudGluZV9pbml0ICkKLSAgICAgICAgcmV0dXJuIDA7Citz
dGF0aWMgaW50IF9faW5pdCBpb21tdV9xdWFyYW50aW5lX2luaXQodm9pZCkK
K3sKKyAgICBkb21faW8tPm9wdGlvbnMgfD0gWEVOX0RPTUNUTF9DREZfaW9t
bXU7CiAKLSAgICByZXR1cm4gaGQtPnBsYXRmb3JtX29wcy0+cXVhcmFudGlu
ZV9pbml0KGRvbV9pbyk7CisgICAgcmV0dXJuIGlvbW11X2RvbWFpbl9pbml0
KGRvbV9pbywgMCk7CiB9CiAKIGludCBfX2luaXQgaW9tbXVfc2V0dXAodm9p
ZCkKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMKKysrIGIv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMKQEAgLTkyOSw5ICs5Mjks
MTYgQEAgc3RhdGljIGludCBkZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGRvbWFp
bgogICAgICAgICByZXR1cm4gLUVOT0RFVjsKIAogICAgIC8qIERlLWFzc2ln
bm1lbnQgZnJvbSBkb21faW8gc2hvdWxkIGRlLXF1YXJhbnRpbmUgdGhlIGRl
dmljZSAqLwotICAgIHRhcmdldCA9ICgocGRldi0+cXVhcmFudGluZSB8fCBp
b21tdV9xdWFyYW50aW5lKSAmJgotICAgICAgICAgICAgICBwZGV2LT5kb21h
aW4gIT0gZG9tX2lvKSA/Ci0gICAgICAgIGRvbV9pbyA6IGhhcmR3YXJlX2Rv
bWFpbjsKKyAgICBpZiAoIChwZGV2LT5xdWFyYW50aW5lIHx8IGlvbW11X3F1
YXJhbnRpbmUpICYmIHBkZXYtPmRvbWFpbiAhPSBkb21faW8gKQorICAgIHsK
KyAgICAgICAgcmV0ID0gaW9tbXVfcXVhcmFudGluZV9kZXZfaW5pdChwY2lf
dG9fZGV2KHBkZXYpKTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAg
ICByZXR1cm4gcmV0OworCisgICAgICAgIHRhcmdldCA9IGRvbV9pbzsKKyAg
ICB9CisgICAgZWxzZQorICAgICAgICB0YXJnZXQgPSBoYXJkd2FyZV9kb21h
aW47CiAKICAgICB3aGlsZSAoIHBkZXYtPnBoYW50b21fc3RyaWRlICkKICAg
ICB7CkBAIC0xNTI4LDYgKzE1MzUsMTMgQEAgc3RhdGljIGludCBhc3NpZ25f
ZGV2aWNlKHN0cnVjdCBkb21haW4gKgogICAgICAgICBtc2l4dGJsX2luaXQo
ZCk7CiAgICAgfQogCisgICAgaWYgKCBwZGV2LT5kb21haW4gIT0gZG9tX2lv
ICkKKyAgICB7CisgICAgICAgIHJjID0gaW9tbXVfcXVhcmFudGluZV9kZXZf
aW5pdChwY2lfdG9fZGV2KHBkZXYpKTsKKyAgICAgICAgaWYgKCByYyApCisg
ICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCiAgICAgcGRldi0+ZmF1
bHQuY291bnQgPSAwOwogCiAgICAgaWYgKCAocmMgPSBoZC0+cGxhdGZvcm1f
b3BzLT5hc3NpZ25fZGV2aWNlKGQsIGRldmZuLCBwY2lfdG9fZGV2KHBkZXYp
LCBmbGFnKSkgKQotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
aW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t
bXUuYwpAQCAtNDMsNiArNDMsMTIgQEAKICNpbmNsdWRlICJ2dGQuaCIKICNp
bmNsdWRlICIuLi9hdHMuaCIKIAorI2RlZmluZSBERVZJQ0VfRE9NSUQoZCwg
cGRldikgKChkKSAhPSBkb21faW8gPyAoZCktPmRvbWFpbl9pZCBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IChw
ZGV2KS0+YXJjaC5wc2V1ZG9fZG9taWQpCisjZGVmaW5lIERFVklDRV9QR1RB
QkxFKGQsIHBkZXYpICgoZCkgIT0gZG9tX2lvIFwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID8gZG9tX2lvbW11KGQpLT5hcmNoLnBnZF9t
YWRkciBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IChw
ZGV2KS0+YXJjaC52dGQucGdkX21hZGRyKQorCiAvKiBQb3NzaWJsZSB1bmZp
bHRlcmVkIExBUElDL01TSSBtZXNzYWdlcyBmcm9tIHVudHJ1c3RlZCBzb3Vy
Y2VzPyAqLwogYm9vbCBfX3JlYWRfbW9zdGx5IHVudHJ1c3RlZF9tc2k7CiAK
QEAgLTg0LDEzICs5MCwxOCBAQCBzdGF0aWMgaW50IGdldF9pb21tdV9kaWQo
ZG9taWRfdCBkb21pZCwKIAogI2RlZmluZSBESURfRklFTERfV0lEVEggMTYK
ICNkZWZpbmUgRElEX0hJR0hfT0ZGU0VUIDgKKworLyoKKyAqIFRoaXMgZnVu
Y3Rpb24gbWF5IGhhdmUgImNvbnRleHQiIHBhc3NlZCBhcyBOVUxMLCB0byBt
ZXJlbHkgb2J0YWluIGEgRElECisgKiBmb3IgImRvbWlkIi4KKyAqLwogc3Rh
dGljIGludCBjb250ZXh0X3NldF9kb21haW5faWQoc3RydWN0IGNvbnRleHRf
ZW50cnkgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkb21pZF90IGRvbWlkLCBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkK
IHsKICAgICB1bnNpZ25lZCBsb25nIG5yX2RvbSwgaTsKICAgICBpbnQgZm91
bmQgPSAwOwogCi0gICAgQVNTRVJUKHNwaW5faXNfbG9ja2VkKCZpb21tdS0+
bG9jaykpOworICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKIAogICAg
IG5yX2RvbSA9IGNhcF9uZG9tcyhpb21tdS0+Y2FwKTsKICAgICBpID0gZmlu
ZF9maXJzdF9iaXQoaW9tbXUtPmRvbWlkX2JpdG1hcCwgbnJfZG9tKTsKQEAg
LTExNiw4ICsxMjcsMTMgQEAgc3RhdGljIGludCBjb250ZXh0X3NldF9kb21h
aW5faWQoc3RydWN0CiAgICAgfQogCiAgICAgc2V0X2JpdChpLCBpb21tdS0+
ZG9taWRfYml0bWFwKTsKLSAgICBjb250ZXh0LT5oaSAmPSB+KCgoMSA8PCBE
SURfRklFTERfV0lEVEgpIC0gMSkgPDwgRElEX0hJR0hfT0ZGU0VUKTsKLSAg
ICBjb250ZXh0LT5oaSB8PSAoaSAmICgoMSA8PCBESURfRklFTERfV0lEVEgp
IC0gMSkpIDw8IERJRF9ISUdIX09GRlNFVDsKKworICAgIGlmICggY29udGV4
dCApCisgICAgeworICAgICAgICBjb250ZXh0LT5oaSAmPSB+KCgoMSA8PCBE
SURfRklFTERfV0lEVEgpIC0gMSkgPDwgRElEX0hJR0hfT0ZGU0VUKTsKKyAg
ICAgICAgY29udGV4dC0+aGkgfD0gKGkgJiAoKDEgPDwgRElEX0ZJRUxEX1dJ
RFRIKSAtIDEpKSA8PCBESURfSElHSF9PRkZTRVQ7CisgICAgfQorCiAgICAg
cmV0dXJuIDA7CiB9CiAKQEAgLTE2Nyw4ICsxODMsMTIgQEAgc3RhdGljIHZv
aWQgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAoc3RydQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHBjaV9kZXYg
KmV4Y2x1ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkKIHsKLSAgICBib29sIGZvdW5k
ID0gYW55X3BkZXZfYmVoaW5kX2lvbW11KGQsIGV4Y2x1ZGUsIGlvbW11KTsK
KyAgICBib29sIGZvdW5kOworCisgICAgaWYgKCBkID09IGRvbV9pbyApCisg
ICAgICAgIHJldHVybjsKIAorICAgIGZvdW5kID0gYW55X3BkZXZfYmVoaW5k
X2lvbW11KGQsIGV4Y2x1ZGUsIGlvbW11KTsKICAgICAvKgogICAgICAqIEhp
ZGRlbiBkZXZpY2VzIGFyZSBhc3NvY2lhdGVkIHdpdGggRG9tWEVOIGJ1dCB1
c2FibGUgYnkgdGhlIGhhcmR3YXJlCiAgICAgICogZG9tYWluLiBIZW5jZSB0
aGV5IG5lZWQgY29uc2lkZXJpbmcgaGVyZSBhcyB3ZWxsLgpAQCAtMTQwMyw3
ICsxNDIzLDcgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAog
ICAgICAgICBkb21pZCA9IGlvbW11LT5kb21pZF9tYXBbcHJldl9kaWRdOwog
ICAgICAgICBpZiAoIGRvbWlkIDwgRE9NSURfRklSU1RfUkVTRVJWRUQgKQog
ICAgICAgICAgICAgcHJldl9kb20gPSByY3VfbG9ja19kb21haW5fYnlfaWQo
ZG9taWQpOwotICAgICAgICBlbHNlIGlmICggZG9taWQgPT0gRE9NSURfSU8g
KQorICAgICAgICBlbHNlIGlmICggcGRldiA/IGRvbWlkID09IHBkZXYtPmFy
Y2gucHNldWRvX2RvbWlkIDogZG9taWQgPiBET01JRF9NQVNLICkKICAgICAg
ICAgICAgIHByZXZfZG9tID0gcmN1X2xvY2tfZG9tYWluKGRvbV9pbyk7CiAg
ICAgICAgIGlmICggIXByZXZfZG9tICkKICAgICAgICAgewpAQCAtMTU4MCwx
NSArMTYwMCwxMiBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUo
CiAgICAgewogICAgICAgICBpZiAoICFwcmV2X2RvbSApCiAgICAgICAgICAg
ICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21t
dSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX0RPTUlE
KGRvbWFpbiwgcGRldikpOwogICAgICAgICBlbHNlIGlmICggcHJldl9kb20g
IT0gZG9tYWluICkgLyogQXZvaWQgaW5maW5pdGUgcmVjdXJzaW9uLiAqLwot
ICAgICAgICB7Ci0gICAgICAgICAgICBoZCA9IGRvbV9pb21tdShwcmV2X2Rv
bSk7CiAgICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5n
X29uZShwcmV2X2RvbSwgaW9tbXUsIGJ1cywgZGV2Zm4sIHBkZXYsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21h
aW4tPmRvbWFpbl9pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhkLT5hcmNoLnBnZF9tYWRkciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFVklDRV9E
T01JRChwcmV2X2RvbSwgcGRldiksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBERVZJQ0VfUEdUQUJMRShwcmV2X2Rv
bSwgcGRldiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBtb2RlICYgTUFQX1dJVEhfUk1SUikgPCAwOwotICAgICAg
ICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJldCA9IDE7CiAKQEAg
LTE2MTAsNyArMTYyNyw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRf
bWFwcGluZyhzdHJ1Y3QKIHsKICAgICBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQg
KmRyaGQ7CiAgICAgY29uc3Qgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJy
OwotICAgIHBhZGRyX3QgcGdkX21hZGRyID0gZG9tX2lvbW11KGRvbWFpbikt
PmFyY2gucGdkX21hZGRyOworICAgIHBhZGRyX3QgcGdkX21hZGRyID0gREVW
SUNFX1BHVEFCTEUoZG9tYWluLCBwZGV2KTsKICAgICBkb21pZF90IG9yaWdf
ZG9taWQgPSBwZGV2LT5hcmNoLnBzZXVkb19kb21pZDsKICAgICBpbnQgcmV0
ID0gMDsKICAgICB1bnNpZ25lZCBpbnQgaSwgbW9kZSA9IDA7CkBAIC0xNjQz
LDcgKzE2NjAsNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBp
bmcoc3RydWN0CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGlmICgg
ZG9tYWluICE9IHBkZXYtPmRvbWFpbiApCisgICAgaWYgKCBkb21haW4gIT0g
cGRldi0+ZG9tYWluICYmIHBkZXYtPmRvbWFpbiAhPSBkb21faW8gKQogICAg
IHsKICAgICAgICAgaWYgKCBwZGV2LT5kb21haW4tPmlzX2R5aW5nICkKICAg
ICAgICAgICAgIG1vZGUgfD0gTUFQX09XTkVSX0RZSU5HOwpAQCAtMTY4NCw4
ICsxNzAxLDggQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5n
KHN0cnVjdAogICAgICAgICAgICAgcHJpbnRrKFZURFBSRUZJWCAiZCVkOlBD
SWU6IG1hcCAlMDR4OiUwMng6JTAyeC4ldVxuIiwKICAgICAgICAgICAgICAg
ICAgICBkb21haW4tPmRvbWFpbl9pZCwgc2VnLCBidXMsCiAgICAgICAgICAg
ICAgICAgICAgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbikpOwot
ICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21h
aW4sIGRyaGQtPmlvbW11LCBidXMsIGRldmZuLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwZGV2LCBkb21haW4tPmRvbWFp
bl9pZCwgcGdkX21hZGRyLAorICAgICAgICByZXQgPSBkb21haW5fY29udGV4
dF9tYXBwaW5nX29uZShkb21haW4sIGRyaGQtPmlvbW11LCBidXMsIGRldmZu
LCBwZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSwgcGdkX21hZGRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2Rl
KTsKICAgICAgICAgaWYgKCByZXQgPiAwICkKICAgICAgICAgICAgIHJldCA9
IDA7CkBAIC0xNzA5LDggKzE3MjYsOCBAQCBzdGF0aWMgaW50IGRvbWFpbl9j
b250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgICAgICAgICAgICAgUENJ
X1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbikpOwogCiAgICAgICAgIHJl
dCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+
aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBkZXYsIGRvbWFpbi0+ZG9tYWluX2lkLCBwZ2Rf
bWFkZHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1vZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwZGV2LCBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGdkX21h
ZGRyLCBtb2RlKTsKICAgICAgICAgaWYgKCByZXQgPCAwICkKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBwcmV2X3ByZXNlbnQgPSByZXQ7CkBAIC0x
NzM4LDggKzE3NTUsOCBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21h
cHBpbmcoc3RydWN0CiAgICAgICAgICAqLwogICAgICAgICBpZiAoIHJldCA+
PSAwICkKICAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBp
bmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM
LCBkb21haW4tPmRvbWFpbl9pZCwgcGdkX21hZGRyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM
LCBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBnZF9tYWRkciwgbW9k
ZSk7CiAKICAgICAgICAgLyoKICAgICAgICAgICogRGV2aWNlcyBiZWhpbmQg
UENJZS10by1QQ0kvUENJeCBicmlkZ2UgbWF5IGdlbmVyYXRlIGRpZmZlcmVu
dApAQCAtMTc1NCw4ICsxNzcxLDggQEAgc3RhdGljIGludCBkb21haW5fY29u
dGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICBpZiAoICFyZXQgJiYgcGRl
dl90eXBlKHNlZywgYnVzLCBkZXZmbikgPT0gREVWX1RZUEVfUENJZTJQQ0lf
QlJJREdFICYmCiAgICAgICAgICAgICAgKHNlY2J1cyAhPSBwZGV2LT5idXMg
fHwgcGRldi0+ZGV2Zm4gIT0gMCkgKQogICAgICAgICAgICAgcmV0ID0gZG9t
YWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwg
c2VjYnVzLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTlVMTCwgZG9tYWluLT5kb21haW5faWQsIHBnZF9tYWRk
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1vZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTlVMTCwgREVWSUNFX0RPTUlEKGRvbWFpbiwgcGRldiks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwZ2RfbWFkZHIsIG1vZGUpOwogCiAgICAgICAgIGlmICggcmV0ICkKICAg
ICAgICAgewpAQCAtMTkwNSw3ICsxOTIyLDcgQEAgc3RhdGljIGNvbnN0IHN0
cnVjdCBhY3BpX2RyaGRfdW5pdCAqZG9tYQogICAgICAgICAgICAgICAgICAg
IGRvbWFpbi0+ZG9tYWluX2lkLCBzZWcsIGJ1cywKICAgICAgICAgICAgICAg
ICAgICBQQ0lfU0xPVChkZXZmbiksIFBDSV9GVU5DKGRldmZuKSk7CiAgICAg
ICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlv
bW11LCBidXMsIGRldmZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX0RPTUlEKGRvbWFp
biwgcGRldikpOwogICAgICAgICBpZiAoICFyZXQgJiYgZGV2Zm4gPT0gcGRl
di0+ZGV2Zm4gJiYgYXRzX2RldmljZShwZGV2LCBkcmhkKSA+IDAgKQogICAg
ICAgICAgICAgZGlzYWJsZV9hdHNfZGV2aWNlKHBkZXYpOwogCkBAIC0xOTE2
LDcgKzE5MzMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91
bml0ICpkb21hCiAgICAgICAgICAgICBwcmludGsoVlREUFJFRklYICJkJWQ6
UENJOiB1bm1hcCAlMDR4OiUwMng6JTAyeC4ldVxuIiwKICAgICAgICAgICAg
ICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwgc2VnLCBidXMsIFBDSV9TTE9U
KGRldmZuKSwgUENJX0ZVTkMoZGV2Zm4pKTsKICAgICAgICAgcmV0ID0gZG9t
YWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2
Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
b21haW4tPmRvbWFpbl9pZCk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSk7CiAg
ICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC0x
OTM5LDE4ICsxOTU2LDEyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWNwaV9k
cmhkX3VuaXQgKmRvbWEKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CiAKKyAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRv
bWFpbiwgaW9tbXUsIHRtcF9idXMsIHRtcF9kZXZmbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFVklDRV9ET01JRChkb21h
aW4sIHBkZXYpKTsKICAgICAgICAgLyogUENJZSB0byBQQ0kvUENJeCBicmlk
Z2UgKi8KLSAgICAgICAgaWYgKCBwZGV2X3R5cGUoc2VnLCB0bXBfYnVzLCB0
bXBfZGV2Zm4pID09IERFVl9UWVBFX1BDSWUyUENJX0JSSURHRSApCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFw
X29uZShkb21haW4sIGlvbW11LCB0bXBfYnVzLCB0bXBfZGV2Zm4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWlu
LT5kb21haW5faWQpOwotICAgICAgICAgICAgaWYgKCAhcmV0ICkKLSAgICAg
ICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9t
YWluLCBpb21tdSwgc2VjYnVzLCAwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCk7
Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSAvKiBMZWdhY3kgUENJIGJyaWRn
ZSAqLwotICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBf
b25lKGRvbWFpbiwgaW9tbXUsIHRtcF9idXMsIHRtcF9kZXZmbiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4t
PmRvbWFpbl9pZCk7CisgICAgICAgIGlmICggIXJldCAmJiBwZGV2X3R5cGUo
c2VnLCB0bXBfYnVzLCB0bXBfZGV2Zm4pID09IERFVl9UWVBFX1BDSWUyUENJ
X0JSSURHRSApCisgICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF91
bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgc2VjYnVzLCAwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFVklDRV9ET01J
RChkb21haW4sIHBkZXYpKTsKIAogICAgICAgICBicmVhazsKIApAQCAtMTk5
Myw2ICsyMDA0LDI1IEBAIHN0YXRpYyB2b2lkIGlvbW11X2RvbWFpbl90ZWFy
ZG93bihzdHJ1Y3QKICAgICAgICAgY2xlYW51cF9kb21pZF9tYXAoZC0+ZG9t
YWluX2lkLCBkcmhkLT5pb21tdSk7CiB9CiAKK3N0YXRpYyB2b2lkIHF1YXJh
bnRpbmVfdGVhcmRvd24oc3RydWN0IHBjaV9kZXYgKnBkZXYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBhY3BpX2Ry
aGRfdW5pdCAqZHJoZCkKK3sKKyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsK
KworICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKKworICAgIGlmICgg
IXBkZXYtPmFyY2gudnRkLnBnZF9tYWRkciApCisgICAgICAgIHJldHVybjsK
KworICAgIHdoaWxlICggKHBnID0gcGFnZV9saXN0X3JlbW92ZV9oZWFkKCZw
ZGV2LT5hcmNoLnBndGFibGVzX2xpc3QpKSApCisgICAgICAgIGZyZWVfZG9t
aGVhcF9wYWdlKHBnKTsKKworICAgIHBkZXYtPmFyY2gudnRkLnBnZF9tYWRk
ciA9IDA7CisKKyAgICBpZiAoIGRyaGQgKQorICAgICAgICBjbGVhbnVwX2Rv
bWlkX21hcChwZGV2LT5hcmNoLnBzZXVkb19kb21pZCwgZHJoZC0+aW9tbXUp
OworfQorCiBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbnRlbF9pb21tdV9t
YXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm5fdCBt
Zm4sIHVuc2lnbmVkIGludCBmbGFncywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZmx1c2hf
ZmxhZ3MpCkBAIC0yMjE3LDYgKzIyNDcsOCBAQCBzdGF0aWMgaW50IGludGVs
X2lvbW11X3JlbW92ZV9kZXZpY2UodTgKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgMCk7CiAgICAgfQogCisg
ICAgcXVhcmFudGluZV90ZWFyZG93bihwZGV2LCBkcmhkKTsKKwogICAgIGlm
ICggZHJoZCApCiAgICAgewogICAgICAgICBpb21tdV9mcmVlX2RvbWlkKHBk
ZXYtPmFyY2gucHNldWRvX2RvbWlkLApAQCAtMjkwOCw2MCArMjk0MCwxMzkg
QEAgc3RhdGljIHZvaWQgdnRkX2R1bXBfcDJtX3RhYmxlKHN0cnVjdCBkbwog
ICAgIHZ0ZF9kdW1wX3AybV90YWJsZV9sZXZlbChoZC0+YXJjaC5wZ2RfbWFk
ZHIsIGFnYXdfdG9fbGV2ZWwoaGQtPmFyY2guYWdhdyksIDAsIDApOwogfQog
Ci1zdGF0aWMgaW50IF9faW5pdCBpbnRlbF9pb21tdV9xdWFyYW50aW5lX2lu
aXQoc3RydWN0IGRvbWFpbiAqZCkKK3N0YXRpYyBpbnQgZmlsbF9xcHQoc3Ry
dWN0IGRtYV9wdGUgKnRoaXMsIHVuc2lnbmVkIGludCBsZXZlbCwKKyAgICAg
ICAgICAgICAgICAgICAgcGFkZHJfdCBtYWRkcnNbNl0sIHN0cnVjdCBwY2lf
ZGV2ICpwZGV2KQogewotICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0g
ZG9tX2lvbW11KGQpOwotICAgIHN0cnVjdCBkbWFfcHRlICpwYXJlbnQ7Cisg
ICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZG9tX2lv
KTsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICBpbnQgcmMgPSAwOworCisg
ICAgZm9yICggaSA9IDA7ICFyYyAmJiBpIDwgUFRFX05VTTsgKytpICkKKyAg
ICB7CisgICAgICAgIHN0cnVjdCBkbWFfcHRlICpwdGUgPSAmdGhpc1tpXSwg
Km5leHQ7CisKKyAgICAgICAgaWYgKCAhZG1hX3B0ZV9wcmVzZW50KCpwdGUp
ICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCAhbWFkZHJzW2xldmVs
XSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyoKKyAgICAg
ICAgICAgICAgICAgKiBUaGUgcGd0YWJsZSBhbGxvY2F0b3IgaXMgZmluZSBm
b3IgdGhlIGxlYWYgcGFnZSwgYXMgd2VsbCBhcworICAgICAgICAgICAgICAg
ICAqIHBhZ2UgdGFibGUgcGFnZXMsIGFuZCB0aGUgcmVzdWx0aW5nIGFsbG9j
YXRpb25zIGFyZSBhbHdheXMKKyAgICAgICAgICAgICAgICAgKiB6ZXJvZWQu
CisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgbWFkZHJz
W2xldmVsXSA9IGFsbG9jX3BndGFibGVfbWFkZHIoMSwgaGQtPm5vZGUpOwor
ICAgICAgICAgICAgICAgIGlmICggIW1hZGRyc1tsZXZlbF0gKQorICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmMgPSAtRU5PTUVN
OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICAgICBwYWdlX2xpc3RfYWRkKG1hZGRyX3Rv
X3BhZ2UobWFkZHJzW2xldmVsXSksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmcGRldi0+YXJjaC5wZ3RhYmxlc19saXN0KTsKKworICAgICAg
ICAgICAgICAgIGlmICggbGV2ZWwgKQorICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgbmV4dCA9IG1hcF92dGRfZG9tYWluX3BhZ2Uo
bWFkZHJzW2xldmVsXSk7CisgICAgICAgICAgICAgICAgICAgIHJjID0gZmls
bF9xcHQobmV4dCwgbGV2ZWwgLSAxLCBtYWRkcnMsIHBkZXYpOworICAgICAg
ICAgICAgICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UobmV4dCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBkbWFfc2V0X3B0ZV9hZGRyKCpwdGUsIG1hZGRyc1tsZXZlbF0pOworICAg
ICAgICAgICAgZG1hX3NldF9wdGVfcmVhZGFibGUoKnB0ZSk7CisgICAgICAg
ICAgICBkbWFfc2V0X3B0ZV93cml0YWJsZSgqcHRlKTsKKyAgICAgICAgfQor
ICAgICAgICBlbHNlIGlmICggbGV2ZWwgJiYgIWRtYV9wdGVfc3VwZXJwYWdl
KCpwdGUpICkKKyAgICAgICAgeworICAgICAgICAgICAgcGFnZV9saXN0X2Fk
ZChtYWRkcl90b19wYWdlKGRtYV9wdGVfYWRkcigqcHRlKSksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICZwZGV2LT5hcmNoLnBndGFibGVzX2xpc3Qp
OworICAgICAgICAgICAgbmV4dCA9IG1hcF92dGRfZG9tYWluX3BhZ2UoZG1h
X3B0ZV9hZGRyKCpwdGUpKTsKKyAgICAgICAgICAgIHJjID0gZmlsbF9xcHQo
bmV4dCwgbGV2ZWwgLSAxLCBtYWRkcnMsIHBkZXYpOworICAgICAgICAgICAg
dW5tYXBfdnRkX2RvbWFpbl9wYWdlKG5leHQpOworICAgICAgICB9CisgICAg
fQorCisgICAgcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGludGVsX2lv
bW11X3F1YXJhbnRpbmVfaW5pdChzdHJ1Y3QgcGNpX2RldiAqcGRldikKK3sK
KyAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkb21f
aW8pOworICAgIHBhZGRyX3QgbWFkZHI7CiAgICAgdW5zaWduZWQgaW50IGFn
YXcgPSB3aWR0aF90b19hZ2F3KERFRkFVTFRfRE9NQUlOX0FERFJFU1NfV0lE
VEgpOwogICAgIHVuc2lnbmVkIGludCBsZXZlbCA9IGFnYXdfdG9fbGV2ZWwo
YWdhdyk7CisgICAgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhk
OworICAgIGNvbnN0IHN0cnVjdCBhY3BpX3JtcnJfdW5pdCAqcm1ycjsKKyAg
ICB1bnNpZ25lZCBpbnQgaSwgYmRmOworICAgIGJvb2wgcm1ycl9mb3VuZCA9
IGZhbHNlOworICAgIGludCByYzsKIAotICAgIGlmICggaGQtPmFyY2gucGdk
X21hZGRyICkKKyAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7CisgICAg
QVNTRVJUKCFoZC0+YXJjaC5wZ2RfbWFkZHIpOworCisgICAgaWYgKCBwZGV2
LT5hcmNoLnZ0ZC5wZ2RfbWFkZHIgKQogICAgIHsKLSAgICAgICAgQVNTRVJU
X1VOUkVBQ0hBQkxFKCk7CisgICAgICAgIGNsZWFyX2RvbWFpbl9wYWdlKHBk
ZXYtPmFyY2gubGVhZl9tZm4pOwogICAgICAgICByZXR1cm4gMDsKICAgICB9
CiAKLSAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7Cisg
ICAgZHJoZCA9IGFjcGlfZmluZF9tYXRjaGVkX2RyaGRfdW5pdChwZGV2KTsK
KyAgICBpZiAoICFkcmhkICkKKyAgICAgICAgcmV0dXJuIC1FTk9ERVY7CiAK
LSAgICBoZC0+YXJjaC5wZ2RfbWFkZHIgPSBhbGxvY19wZ3RhYmxlX21hZGRy
KDEsIGhkLT5ub2RlKTsKLSAgICBpZiAoICFoZC0+YXJjaC5wZ2RfbWFkZHIg
KQotICAgICAgICBnb3RvIG91dDsKKyAgICBtYWRkciA9IGFsbG9jX3BndGFi
bGVfbWFkZHIoMSwgaGQtPm5vZGUpOworICAgIGlmICggIW1hZGRyICkKKyAg
ICAgICAgcmV0dXJuIC1FTk9NRU07CiAKLSAgICBwYXJlbnQgPSBtYXBfdnRk
X2RvbWFpbl9wYWdlKGhkLT5hcmNoLnBnZF9tYWRkcik7Ci0gICAgd2hpbGUg
KCBsZXZlbCApCi0gICAgewotICAgICAgICB1aW50NjRfdCBtYWRkcjsKLSAg
ICAgICAgdW5zaWduZWQgaW50IG9mZnNldDsKKyAgICByYyA9IGNvbnRleHRf
c2V0X2RvbWFpbl9pZChOVUxMLCBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCwg
ZHJoZC0+aW9tbXUpOwogCi0gICAgICAgIC8qCi0gICAgICAgICAqIFRoZSBw
Z3RhYmxlIGFsbG9jYXRvciBpcyBmaW5lIGZvciB0aGUgbGVhZiBwYWdlLCBh
cyB3ZWxsIGFzCi0gICAgICAgICAqIHBhZ2UgdGFibGUgcGFnZXMsIGFuZCB0
aGUgcmVzdWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdheXMKLSAgICAgICAg
ICogemVyb2VkLgotICAgICAgICAgKi8KLSAgICAgICAgbWFkZHIgPSBhbGxv
Y19wZ3RhYmxlX21hZGRyKDEsIGhkLT5ub2RlKTsKLSAgICAgICAgaWYgKCAh
bWFkZHIgKQorICAgIC8qIFRyYW5zaWVudGx5IGluc3RhbGwgdGhlIHJvb3Qg
aW50byBEb21JTywgZm9yIGlvbW11X2lkZW50aXR5X21hcHBpbmcoKS4gKi8K
KyAgICBoZC0+YXJjaC5wZ2RfbWFkZHIgPSBtYWRkcjsKKworICAgIGZvcl9l
YWNoX3JtcnJfZGV2aWNlICggcm1yciwgYmRmLCBpICkKKyAgICB7CisgICAg
ICAgIGlmICggcmMgKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAg
Zm9yICggb2Zmc2V0ID0gMDsgb2Zmc2V0IDwgUFRFX05VTTsgb2Zmc2V0Kysg
KQorICAgICAgICBpZiAoIHJtcnItPnNlZ21lbnQgPT0gcGRldi0+c2VnICYm
IGJkZiA9PSBwZGV2LT5zYmRmLmJkZiApCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIHN0cnVjdCBkbWFfcHRlICpwdGUgPSAmcGFyZW50W29mZnNldF07Cisg
ICAgICAgICAgICBybXJyX2ZvdW5kID0gdHJ1ZTsKIAotICAgICAgICAgICAg
ZG1hX3NldF9wdGVfYWRkcigqcHRlLCBtYWRkcik7Ci0gICAgICAgICAgICBk
bWFfc2V0X3B0ZV9yZWFkYWJsZSgqcHRlKTsKKyAgICAgICAgICAgIHJjID0g
aW9tbXVfaWRlbnRpdHlfbWFwcGluZyhkb21faW8sIHAybV9hY2Nlc3Nfcncs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1y
ci0+YmFzZV9hZGRyZXNzLCBybXJyLT5lbmRfYWRkcmVzcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKKyAgICAgICAg
ICAgIGlmICggcmMgKQorICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0df
RVJSIFZURFBSRUZJWAorICAgICAgICAgICAgICAgICAgICAgICAiJTA0eDol
MDJ4OiUwMnguJXU6IFJNUlIgcXVhcmFudGluZSBtYXBwaW5nIGZhaWxlZFxu
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgcGRldi0+c2VnLCBwZGV2LT5i
dXMsCisgICAgICAgICAgICAgICAgICAgICAgIFBDSV9TTE9UKHBkZXYtPmRl
dmZuKSwgUENJX0ZVTkMocGRldi0+ZGV2Zm4pKTsKICAgICAgICAgfQotICAg
ICAgICBpb21tdV9zeW5jX2NhY2hlKHBhcmVudCwgUEFHRV9TSVpFKTsKKyAg
ICB9CiAKLSAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKHBhcmVudCk7
Ci0gICAgICAgIHBhcmVudCA9IG1hcF92dGRfZG9tYWluX3BhZ2UobWFkZHIp
OwotICAgICAgICBsZXZlbC0tOworICAgIGlvbW11X2lkZW50aXR5X21hcF90
ZWFyZG93bihkb21faW8pOworICAgIGhkLT5hcmNoLnBnZF9tYWRkciA9IDA7
CisgICAgcGRldi0+YXJjaC52dGQucGdkX21hZGRyID0gbWFkZHI7CisKKyAg
ICBpZiAoICFyYyApCisgICAgeworICAgICAgICBzdHJ1Y3QgZG1hX3B0ZSAq
cm9vdDsKKyAgICAgICAgcGFkZHJfdCBtYWRkcnNbNl0gPSB7fTsKKworICAg
ICAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CisKKyAg
ICAgICAgcm9vdCA9IG1hcF92dGRfZG9tYWluX3BhZ2UobWFkZHIpOworICAg
ICAgICByYyA9IGZpbGxfcXB0KHJvb3QsIGxldmVsIC0gMSwgbWFkZHJzLCBw
ZGV2KTsKKyAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKHJvb3QpOwor
CisgICAgICAgIHBkZXYtPmFyY2gubGVhZl9tZm4gPSBtYWRkcl90b19tZm4o
bWFkZHJzWzBdKTsKKworICAgICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gu
bWFwcGluZ19sb2NrKTsKICAgICB9Ci0gICAgdW5tYXBfdnRkX2RvbWFpbl9w
YWdlKHBhcmVudCk7CiAKLSBvdXQ6Ci0gICAgc3Bpbl91bmxvY2soJmhkLT5h
cmNoLm1hcHBpbmdfbG9jayk7CisgICAgaWYgKCByYyApCisgICAgICAgIHF1
YXJhbnRpbmVfdGVhcmRvd24ocGRldiwgZHJoZCk7CiAKLSAgICAvKiBQYWdl
cyBsZWFrZWQgaW4gZmFpbHVyZSBjYXNlICovCi0gICAgcmV0dXJuIGxldmVs
ID8gLUVOT01FTSA6IDA7CisgICAgcmV0dXJuIHJjOwogfQogCiBjb25zdCBz
dHJ1Y3QgaW9tbXVfb3BzIF9faW5pdGNvbnN0cmVsIGludGVsX2lvbW11X29w
cyA9IHsKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmgK
QEAgLTUwOSw3ICs1MDksNyBAQCBzdHJ1Y3QgdnRkX2lvbW11IHsKICAgICB1
MzIgbnJfcHRfbGV2ZWxzOwogICAgIHU2NAljYXA7CiAgICAgdTY0CWVjYXA7
Ci0gICAgc3BpbmxvY2tfdCBsb2NrOyAvKiBwcm90ZWN0IGNvbnRleHQsIGRv
bWFpbiBpZHMgKi8KKyAgICBzcGlubG9ja190IGxvY2s7IC8qIHByb3RlY3Qg
Y29udGV4dCAqLwogICAgIHNwaW5sb2NrX3QgcmVnaXN0ZXJfbG9jazsgLyog
cHJvdGVjdCBpb21tdSByZWdpc3RlciBoYW5kbGluZyAqLwogICAgIHU2NCBy
b290X21hZGRyOyAvKiByb290IGVudHJ5IG1hY2hpbmUgYWRkcmVzcyAqLwog
ICAgIG5vZGVpZF90IG5vZGU7Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21t
dS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCkBAIC0yMzYsNyAr
MjM2LDcgQEAgdHlwZWRlZiBpbnQgaW9tbXVfZ3JkbV90KHhlbl9wZm5fdCBz
dGFydAogc3RydWN0IGlvbW11X29wcyB7CiAgICAgaW50ICgqaW5pdCkoc3Ry
dWN0IGRvbWFpbiAqZCk7CiAgICAgdm9pZCAoKmh3ZG9tX2luaXQpKHN0cnVj
dCBkb21haW4gKmQpOwotICAgIGludCAoKnF1YXJhbnRpbmVfaW5pdCkoc3Ry
dWN0IGRvbWFpbiAqZCk7CisgICAgaW50ICgqcXVhcmFudGluZV9pbml0KShk
ZXZpY2VfdCAqZGV2KTsKICAgICBpbnQgKCphZGRfZGV2aWNlKSh1OCBkZXZm
biwgZGV2aWNlX3QgKmRldik7CiAgICAgaW50ICgqZW5hYmxlX2RldmljZSko
ZGV2aWNlX3QgKmRldik7CiAgICAgaW50ICgqcmVtb3ZlX2RldmljZSkodTgg
ZGV2Zm4sIGRldmljZV90ICpkZXYpOwpAQCAtMzU2LDYgKzM1Niw3IEBAIGlu
dCBfX211c3RfY2hlY2sgaW9tbXVfc3VzcGVuZCh2b2lkKTsKIHZvaWQgaW9t
bXVfcmVzdW1lKHZvaWQpOwogdm9pZCBpb21tdV9jcmFzaF9zaHV0ZG93bih2
b2lkKTsKIGludCBpb21tdV9nZXRfcmVzZXJ2ZWRfZGV2aWNlX21lbW9yeShp
b21tdV9ncmRtX3QgKiwgdm9pZCAqKTsKK2ludCBpb21tdV9xdWFyYW50aW5l
X2Rldl9pbml0KGRldmljZV90ICpkZXYpOwogCiB2b2lkIGlvbW11X3NoYXJl
X3AybV90YWJsZShzdHJ1Y3QgZG9tYWluICpkKTsKIAo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBmaXggKGRlKWFzc2lnbiBvcmRlcmluZyB3aGVuIFJNUlJzIGFy
ZSBpbiB1c2UKCkluIHRoZSBldmVudCB0aGF0IHRoZSBSTVJSIG1hcHBpbmdz
IGFyZSBlc3NlbnRpYWwgZm9yIGRldmljZSBvcGVyYXRpb24sCnRoZXkgc2hv
dWxkIGJlIGVzdGFibGlzaGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgZGV2aWNl
J3MgY29udGV4dCBlbnRyeSwKd2hpbGUgdGhleSBzaG91bGQgYmUgdG9ybiBk
b3duIG9ubHkgYWZ0ZXIgdGhlIGRldmljZSdzIGNvbnRleHQgZW50cnkgd2Fz
CnN1Y2Nlc3NmdWxseSB1cGRhdGVkLgoKQWxzbyBhZGp1c3QgYSByZWxhdGVk
IGxvZyBtZXNzYWdlLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM1OCAvIHBhcnQg
b2YgWFNBLTQwMC4KCkZpeGVzOiA4Yjk5ZjQ0MDBiNjkgKCJWVC1kOiBmaXgg
Uk1SUiByZWxhdGVkIGVycm9yIGhhbmRsaW5nIikKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+ClJldmll
d2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KUmV2aWV3ZWQt
Ynk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgoKLS0tIGEv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTIzOTIsNiAr
MjM5MiwxMCBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2RldmljZV9vd25lcnNo
aXAoCiB7CiAgICAgaW50IHJldDsKIAorICAgIHJldCA9IGRvbWFpbl9jb250
ZXh0X3VubWFwKHNvdXJjZSwgZGV2Zm4sIHBkZXYpOworICAgIGlmICggcmV0
ICkKKyAgICAgICAgcmV0dXJuIHJldDsKKwogICAgIC8qCiAgICAgICogRGV2
aWNlcyBhc3NpZ25lZCB0byB1bnRydXN0ZWQgZG9tYWlucyAoaGVyZSBhc3N1
bWVkIHRvIGJlIGFueSBkb21VKQogICAgICAqIGNhbiBhdHRlbXB0IHRvIHNl
bmQgYXJiaXRyYXJ5IExBUElDL01TSSBtZXNzYWdlcy4gV2UgYXJlIHVucHJv
dGVjdGVkCkBAIC0yNDI4LDEwICsyNDMyLDYgQEAgc3RhdGljIGludCByZWFz
c2lnbl9kZXZpY2Vfb3duZXJzaGlwKAogICAgICAgICAgICAgfQogICAgIH0K
IAotICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwKHNvdXJjZSwgZGV2
Zm4sIHBkZXYpOwotICAgIGlmICggcmV0ICkKLSAgICAgICAgcmV0dXJuIHJl
dDsKLQogICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+
ZG9tYWluICE9IGRvbV9pbyApCiAgICAgewogICAgICAgICBsaXN0X21vdmUo
JnBkZXYtPmRvbWFpbl9saXN0LCAmZG9tX2lvLT5wZGV2X2xpc3QpOwpAQCAt
MjUwNyw5ICsyNTA3LDggQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hc3Np
Z25fZGV2aWNlKAogICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0ID0gcmVh
c3NpZ25fZGV2aWNlX293bmVyc2hpcChzLCBkLCBkZXZmbiwgcGRldik7Ci0g
ICAgaWYgKCByZXQgfHwgZCA9PSBkb21faW8gKQotICAgICAgICByZXR1cm4g
cmV0OworICAgIGlmICggZCA9PSBkb21faW8gKQorICAgICAgICByZXR1cm4g
cmVhc3NpZ25fZGV2aWNlX293bmVyc2hpcChzLCBkLCBkZXZmbiwgcGRldik7
CiAKICAgICAvKiBTZXR1cCBybXJyIGlkZW50aXR5IG1hcHBpbmcgKi8KICAg
ICBmb3JfZWFjaF9ybXJyX2RldmljZSggcm1yciwgYmRmLCBpICkKQEAgLTI1
MjIsMjAgKzI1MjEsMzcgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hc3Np
Z25fZGV2aWNlKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgZmxhZyk7CiAgICAgICAgICAg
ICBpZiAoIHJldCApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
aW50IHJjOwotCi0gICAgICAgICAgICAgICAgcmMgPSByZWFzc2lnbl9kZXZp
Y2Vfb3duZXJzaGlwKGQsIHMsIGRldmZuLCBwZGV2KTsKICAgICAgICAgICAg
ICAgICBwcmludGsoWEVOTE9HX0dfRVJSIFZURFBSRUZJWAotICAgICAgICAg
ICAgICAgICAgICAgICAiIGNhbm5vdCBtYXAgcmVzZXJ2ZWQgcmVnaW9uICgl
IlBSSXg2NCIsJSJQUkl4NjQiXSBmb3IgRG9tJWQgKCVkKVxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgcm1yci0+YmFzZV9hZGRyZXNzLCBybXJyLT5l
bmRfYWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWlu
X2lkLCByZXQpOwotICAgICAgICAgICAgICAgIGlmICggcmMgKQotICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxP
R19FUlIgVlREUFJFRklYCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAi
IGZhaWxlZCB0byByZWNsYWltICVwcCBmcm9tICVwZCAoJWQpXG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJlBDSV9TQkRGMyhzZWcsIGJ1cywg
ZGV2Zm4pLCBkLCByYyk7Ci0gICAgICAgICAgICAgICAgICAgIGRvbWFpbl9j
cmFzaChkKTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgICAgICIlcGQ6IGNhbm5vdCBtYXAgcmVzZXJ2ZWQgcmVnaW9uIFslIlBS
SXg2NCIsJSJQUkl4NjQiXTogJWRcbiIsCisgICAgICAgICAgICAgICAgICAg
ICAgIGQsIHJtcnItPmJhc2VfYWRkcmVzcywgcm1yci0+ZW5kX2FkZHJlc3Ms
IHJldCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoICFyZXQgKQorICAgICAg
ICByZXQgPSByZWFzc2lnbl9kZXZpY2Vfb3duZXJzaGlwKHMsIGQsIGRldmZu
LCBwZGV2KTsKKworICAgIC8qIFNlZSByZWFzc2lnbl9kZXZpY2Vfb3duZXJz
aGlwKCkgZm9yIHRoZSBod2RvbSBhc3BlY3QuICovCisgICAgaWYgKCAhcmV0
IHx8IGlzX2hhcmR3YXJlX2RvbWFpbihkKSApCisgICAgICAgIHJldHVybiBy
ZXQ7CisKKyAgICBmb3JfZWFjaF9ybXJyX2RldmljZSggcm1yciwgYmRmLCBp
ICkKKyAgICB7CisgICAgICAgIGlmICggcm1yci0+c2VnbWVudCA9PSBzZWcg
JiYKKyAgICAgICAgICAgICBQQ0lfQlVTKGJkZikgPT0gYnVzICYmCisgICAg
ICAgICAgICAgUENJX0RFVkZOMihiZGYpID09IGRldmZuICkKKyAgICAgICAg
eworICAgICAgICAgICAgaW50IHJjID0gaW9tbXVfaWRlbnRpdHlfbWFwcGlu
ZyhkLCBwMm1fYWNjZXNzX3gsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJtcnItPmJhc2VfYWRkcmVzcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1yci0+
ZW5kX2FkZHJlc3MsIDApOworCisgICAgICAgICAgICBpZiAoIHJjICYmIHJj
ICE9IC1FTk9FTlQgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IHByaW50ayhYRU5MT0dfRVJSIFZURFBSRUZJWAorICAgICAgICAgICAgICAg
ICAgICAgICAiJXBkOiBjYW5ub3QgdW5tYXAgcmVzZXJ2ZWQgcmVnaW9uIFsl
IlBSSXg2NCIsJSJQUkl4NjQiXTogJWRcbiIsCisgICAgICAgICAgICAgICAg
ICAgICAgIGQsIHJtcnItPmJhc2VfYWRkcmVzcywgcm1yci0+ZW5kX2FkZHJl
c3MsIHJjKTsKKyAgICAgICAgICAgICAgICBkb21haW5fY3Jhc2goZCk7CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0K

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBmaXggYWRkL3JlbW92ZSBvcmRlcmluZyB3aGVuIFJNUlJzIGFy
ZSBpbiB1c2UKCkluIHRoZSBldmVudCB0aGF0IHRoZSBSTVJSIG1hcHBpbmdz
IGFyZSBlc3NlbnRpYWwgZm9yIGRldmljZSBvcGVyYXRpb24sCnRoZXkgc2hv
dWxkIGJlIGVzdGFibGlzaGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgZGV2aWNl
J3MgY29udGV4dCBlbnRyeSwKd2hpbGUgdGhleSBzaG91bGQgYmUgdG9ybiBk
b3duIG9ubHkgYWZ0ZXIgdGhlIGRldmljZSdzIGNvbnRleHQgZW50cnkgd2Fz
CnN1Y2Nlc3NmdWxseSBjbGVhcmVkLgoKQWxzbyBzd2l0Y2ggdG8gJXBkIGlu
IHJlbGF0ZWQgbG9nIG1lc3NhZ2VzLgoKRml4ZXM6IGZhODhjZmFkZjkxOCAo
InZ0LWQ6IE1hcCBSTVJSIGluIGludGVsX2lvbW11X2FkZF9kZXZpY2UoKSBp
ZiB0aGUgZGV2aWNlIGhhcyBSTVJSIikKRml4ZXM6IDhiOTlmNDQwMGI2OSAo
IlZULWQ6IGZpeCBSTVJSIHJlbGF0ZWQgZXJyb3IgaGFuZGxpbmciKQpTaWdu
ZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJl
dmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4
LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50
ZWwuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmMKQEAgLTE5ODEsMTQgKzE5ODEsNiBAQCBzdGF0aWMgaW50IGludGVsX2lv
bW11X2FkZF9kZXZpY2UodTggZGV2CiAgICAgaWYgKCAhcGRldi0+ZG9tYWlu
ICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKLSAgICByZXQgPSBkb21h
aW5fY29udGV4dF9tYXBwaW5nKHBkZXYtPmRvbWFpbiwgZGV2Zm4sIHBkZXYp
OwotICAgIGlmICggcmV0ICkKLSAgICB7Ci0gICAgICAgIGRwcmludGsoWEVO
TE9HX0VSUiBWVERQUkVGSVgsICJkJWQ6IGNvbnRleHQgbWFwcGluZyBmYWls
ZWRcbiIsCi0gICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluLT5kb21haW5f
aWQpOwotICAgICAgICByZXR1cm4gcmV0OwotICAgIH0KLQogICAgIGZvcl9l
YWNoX3JtcnJfZGV2aWNlICggcm1yciwgYmRmLCBpICkKICAgICB7CiAgICAg
ICAgIGlmICggcm1yci0+c2VnbWVudCA9PSBwZGV2LT5zZWcgJiYKQEAgLTIw
MDUsMTIgKzE5OTcsMTcgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hZGRf
ZGV2aWNlKHU4IGRldgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBybXJyLT5iYXNlX2FkZHJlc3MsIHJtcnItPmVuZF9hZGRy
ZXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAwKTsKICAgICAgICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAgICAg
ICBkcHJpbnRrKFhFTkxPR19FUlIgVlREUFJFRklYLCAiZCVkOiBSTVJSIG1h
cHBpbmcgZmFpbGVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgcGRl
di0+ZG9tYWluLT5kb21haW5faWQpOworICAgICAgICAgICAgICAgIGRwcmlu
dGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsICIlcGQ6IFJNUlIgbWFwcGluZyBm
YWlsZWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICBwZGV2LT5kb21h
aW4pOwogICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0dXJuIDA7CisgICAg
cmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZyhwZGV2LT5kb21haW4sIGRl
dmZuLCBwZGV2KTsKKyAgICBpZiAoIHJldCApCisgICAgICAgIGRwcmludGso
WEVOTE9HX0VSUiBWVERQUkVGSVgsICIlcGQ6IGNvbnRleHQgbWFwcGluZyBm
YWlsZWRcbiIsCisgICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluKTsKKwor
ICAgIHJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVf
ZW5hYmxlX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGRldikKQEAgLTIwMzIs
MTEgKzIwMjksMTUgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVf
ZGV2aWNlKHU4CiB7CiAgICAgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJy
OwogICAgIHUxNiBiZGY7Ci0gICAgaW50IGk7CisgICAgaW50IHJldCwgaTsK
IAogICAgIGlmICggIXBkZXYtPmRvbWFpbiApCiAgICAgICAgIHJldHVybiAt
RUlOVkFMOwogCisgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXAocGRl
di0+ZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAgaWYgKCByZXQgKQorICAg
ICAgICByZXR1cm4gcmV0OworCiAgICAgZm9yX2VhY2hfcm1ycl9kZXZpY2Ug
KCBybXJyLCBiZGYsIGkgKQogICAgIHsKICAgICAgICAgaWYgKCBybXJyLT5z
ZWdtZW50ICE9IHBkZXYtPnNlZyB8fApAQCAtMjA1Miw3ICsyMDUzLDcgQEAg
c3RhdGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVfZGV2aWNlKHU4CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1yci0+ZW5kX2FkZHJlc3Ms
IDApOwogICAgIH0KIAotICAgIHJldHVybiBkb21haW5fY29udGV4dF91bm1h
cChwZGV2LT5kb21haW4sIGRldmZuLCBwZGV2KTsKKyAgICByZXR1cm4gMDsK
IH0KIAogc3RhdGljIGludCBfX2h3ZG9tX2luaXQgc2V0dXBfaHdkb21fZGV2
aWNlKHU4IGRldmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IHRpZ2h0ZW4gaW9tbXVfYWxsb2NfcGd0YWJsZSgpJ3Mg
cGFyYW1ldGVyCgpUaGlzIGlzIHRvIG1ha2UgbW9yZSBvYnZpb3VzIHRoYXQg
bm90aGluZyBvdXRzaWRlIG9mIGRvbWFpbl9pb21tdShkKQphY3R1YWxseSBj
aGFuZ2VzIG9yIGlzIG90aGVyd2lzZSBuZWVkZWQgYnkgdGhlIGZ1bmN0aW9u
LgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQuCgpTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJldmlld2Vk
LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpSZXZp
ZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+Cgot
LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKKysrIGIveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9pb21tdS5oCkBAIC0xNDMsNyArMTQzLDggQEAgaW50
IHBpX3VwZGF0ZV9pcnRlKGNvbnN0IHN0cnVjdCBwaV9kZXNjCiB9KQogCiBp
bnQgX19tdXN0X2NoZWNrIGlvbW11X2ZyZWVfcGd0YWJsZXMoc3RydWN0IGRv
bWFpbiAqZCk7Ci1zdHJ1Y3QgcGFnZV9pbmZvICpfX211c3RfY2hlY2sgaW9t
bXVfYWxsb2NfcGd0YWJsZShzdHJ1Y3QgZG9tYWluICpkKTsKK3N0cnVjdCBk
b21haW5faW9tbXU7CitzdHJ1Y3QgcGFnZV9pbmZvICpfX211c3RfY2hlY2sg
aW9tbXVfYWxsb2NfcGd0YWJsZShzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCk7
CiAKICNlbmRpZiAvKiAhX19BUkNIX1g4Nl9JT01NVV9IX18gKi8KIC8qCi0t
LSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYwor
KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMK
QEAgLTE4NCw3ICsxODQsNyBAQCBzdGF0aWMgaW50IGlvbW11X3BkZV9mcm9t
X2RmbihzdHJ1Y3QgZG9tCiAgICAgdW5zaWduZWQgbG9uZyAgbmV4dF90YWJs
ZV9tZm47CiAgICAgdW5zaWduZWQgaW50IGxldmVsOwogICAgIHN0cnVjdCBw
YWdlX2luZm8gKnRhYmxlOwotICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9t
bXUgKmhkID0gZG9tX2lvbW11KGQpOworICAgIHN0cnVjdCBkb21haW5faW9t
bXUgKmhkID0gZG9tX2lvbW11KGQpOwogCiAgICAgdGFibGUgPSBoZC0+YXJj
aC5hbWQucm9vdF90YWJsZTsKICAgICBsZXZlbCA9IGhkLT5hcmNoLmFtZC5w
YWdpbmdfbW9kZTsKQEAgLTIyMCw3ICsyMjAsNyBAQCBzdGF0aWMgaW50IGlv
bW11X3BkZV9mcm9tX2RmbihzdHJ1Y3QgZG9tCiAgICAgICAgICAgICBtZm4g
PSBuZXh0X3RhYmxlX21mbjsKIAogICAgICAgICAgICAgLyogYWxsb2NhdGUg
bG93ZXIgbGV2ZWwgcGFnZSB0YWJsZSAqLwotICAgICAgICAgICAgdGFibGUg
PSBpb21tdV9hbGxvY19wZ3RhYmxlKGQpOworICAgICAgICAgICAgdGFibGUg
PSBpb21tdV9hbGxvY19wZ3RhYmxlKGhkKTsKICAgICAgICAgICAgIGlmICgg
dGFibGUgPT0gTlVMTCApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgQU1EX0lPTU1VX0RFQlVHKCJDYW5ub3QgYWxsb2NhdGUgSS9PIHBhZ2Ug
dGFibGVcbiIpOwpAQCAtMjUwLDcgKzI1MCw3IEBAIHN0YXRpYyBpbnQgaW9t
bXVfcGRlX2Zyb21fZGZuKHN0cnVjdCBkb20KIAogICAgICAgICAgICAgaWYg
KCBuZXh0X3RhYmxlX21mbiA9PSAwICkKICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICB0YWJsZSA9IGlvbW11X2FsbG9jX3BndGFibGUoZCk7Cisg
ICAgICAgICAgICAgICAgdGFibGUgPSBpb21tdV9hbGxvY19wZ3RhYmxlKGhk
KTsKICAgICAgICAgICAgICAgICBpZiAoIHRhYmxlID09IE5VTEwgKQogICAg
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgQU1EX0lPTU1V
X0RFQlVHKCJDYW5ub3QgYWxsb2NhdGUgSS9PIHBhZ2UgdGFibGVcbiIpOwpA
QCAtNDgzLDcgKzQ4Myw3IEBAIGludCBfX2luaXQgYW1kX2lvbW11X3F1YXJh
bnRpbmVfaW5pdChzdHIKIAogICAgIHNwaW5fbG9jaygmaGQtPmFyY2gubWFw
cGluZ19sb2NrKTsKIAotICAgIGhkLT5hcmNoLmFtZC5yb290X3RhYmxlID0g
aW9tbXVfYWxsb2NfcGd0YWJsZShkKTsKKyAgICBoZC0+YXJjaC5hbWQucm9v
dF90YWJsZSA9IGlvbW11X2FsbG9jX3BndGFibGUoaGQpOwogICAgIGlmICgg
IWhkLT5hcmNoLmFtZC5yb290X3RhYmxlICkKICAgICAgICAgZ290byBvdXQ7
CiAKQEAgLTQ5OCw3ICs0OTgsNyBAQCBpbnQgX19pbml0IGFtZF9pb21tdV9x
dWFyYW50aW5lX2luaXQoc3RyCiAgICAgICAgICAqIHBhZ2UgdGFibGUgcGFn
ZXMsIGFuZCB0aGUgcmVzdWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdheXMK
ICAgICAgICAgICogemVyb2VkLgogICAgICAgICAgKi8KLSAgICAgICAgcGcg
PSBpb21tdV9hbGxvY19wZ3RhYmxlKGQpOworICAgICAgICBwZyA9IGlvbW11
X2FsbG9jX3BndGFibGUoaGQpOwogICAgICAgICBpZiAoICFwZyApCiAgICAg
ICAgICAgICBicmVhazsKIAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC9hbWQvcGNpX2FtZF9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL2FtZC9wY2lfYW1kX2lvbW11LmMKQEAgLTIwOCw3ICsyMDgsNyBA
QCBpbnQgYW1kX2lvbW11X2FsbG9jX3Jvb3Qoc3RydWN0IGRvbWFpbiAqCiAK
ICAgICBpZiAoIHVubGlrZWx5KCFoZC0+YXJjaC5hbWQucm9vdF90YWJsZSkg
KQogICAgIHsKLSAgICAgICAgaGQtPmFyY2guYW1kLnJvb3RfdGFibGUgPSBp
b21tdV9hbGxvY19wZ3RhYmxlKGQpOworICAgICAgICBoZC0+YXJjaC5hbWQu
cm9vdF90YWJsZSA9IGlvbW11X2FsbG9jX3BndGFibGUoaGQpOwogICAgICAg
ICBpZiAoICFoZC0+YXJjaC5hbWQucm9vdF90YWJsZSApCiAgICAgICAgICAg
ICByZXR1cm4gLUVOT01FTTsKICAgICB9Ci0tLSBhL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC0zMjcsNyArMzI3LDcgQEAgc3RhdGlj
IHU2NCBhZGRyX3RvX2RtYV9wYWdlX21hZGRyKHN0cnVjdAogICAgIHsKICAg
ICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGc7CiAKLSAgICAgICAgaWYgKCAh
YWxsb2MgfHwgIShwZyA9IGlvbW11X2FsbG9jX3BndGFibGUoZG9tYWluKSkg
KQorICAgICAgICBpZiAoICFhbGxvYyB8fCAhKHBnID0gaW9tbXVfYWxsb2Nf
cGd0YWJsZShoZCkpICkKICAgICAgICAgICAgIGdvdG8gb3V0OwogCiAgICAg
ICAgIGhkLT5hcmNoLnZ0ZC5wZ2RfbWFkZHIgPSBwYWdlX3RvX21hZGRyKHBn
KTsKQEAgLTM0Nyw3ICszNDcsNyBAQCBzdGF0aWMgdTY0IGFkZHJfdG9fZG1h
X3BhZ2VfbWFkZHIoc3RydWN0CiAgICAgICAgICAgICBpZiAoICFhbGxvYyAp
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgICAgIHBnID0g
aW9tbXVfYWxsb2NfcGd0YWJsZShkb21haW4pOworICAgICAgICAgICAgcGcg
PSBpb21tdV9hbGxvY19wZ3RhYmxlKGhkKTsKICAgICAgICAgICAgIGlmICgg
IXBnICkKICAgICAgICAgICAgICAgICBicmVhazsKIApAQCAtMjc2MSw3ICsy
NzYxLDcgQEAgc3RhdGljIGludCBfX2luaXQgaW50ZWxfaW9tbXVfcXVhcmFu
dGluZQogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAKLSAgICBwZyA9IGlv
bW11X2FsbG9jX3BndGFibGUoZCk7CisgICAgcGcgPSBpb21tdV9hbGxvY19w
Z3RhYmxlKGhkKTsKIAogICAgIHJjID0gLUVOT01FTTsKICAgICBpZiAoICFw
ZyApCkBAIC0yNzgwLDcgKzI3ODAsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBp
bnRlbF9pb21tdV9xdWFyYW50aW5lCiAgICAgICAgICAqIHBhZ2UgdGFibGUg
cGFnZXMsIGFuZCB0aGUgcmVzdWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdh
eXMKICAgICAgICAgICogemVyb2VkLgogICAgICAgICAgKi8KLSAgICAgICAg
cGcgPSBpb21tdV9hbGxvY19wZ3RhYmxlKGQpOworICAgICAgICBwZyA9IGlv
bW11X2FsbG9jX3BndGFibGUoaGQpOwogCiAgICAgICAgIGlmICggIXBnICkK
ICAgICAgICAgICAgIGdvdG8gb3V0OwotLS0gYS94ZW4vZHJpdmVycy9wYXNz
dGhyb3VnaC94ODYvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC94ODYvaW9tbXUuYwpAQCAtNDE1LDkgKzQxNSw4IEBAIGludCBpb21t
dV9mcmVlX3BndGFibGVzKHN0cnVjdCBkb21haW4gKmQKICAgICByZXR1cm4g
MDsKIH0KIAotc3RydWN0IHBhZ2VfaW5mbyAqaW9tbXVfYWxsb2NfcGd0YWJs
ZShzdHJ1Y3QgZG9tYWluICpkKQorc3RydWN0IHBhZ2VfaW5mbyAqaW9tbXVf
YWxsb2NfcGd0YWJsZShzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCkKIHsKLSAg
ICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKICAg
ICB1bnNpZ25lZCBpbnQgbWVtZmxhZ3MgPSAwOwogICAgIHN0cnVjdCBwYWdl
X2luZm8gKnBnOwogICAgIHZvaWQgKnA7Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBkcm9wIG93bmVyc2hpcCBjaGVja2luZyBmcm9tIGRvbWFpbl9j
b250ZXh0X21hcHBpbmdfb25lKCkKCkRlc3BpdGUgcHV0dGluZyBpbiBxdWl0
ZSBhIGJpdCBvZiBlZmZvcnQgaXQgd2FzIG5vdCBwb3NzaWJsZSB0bwplc3Rh
Ymxpc2ggd2h5IGV4YWN0bHkgdGhpcyBjb2RlIGV4aXN0cyAoYmV5b25kIHBv
c3NpYmx5IHNhbml0eQpjaGVja2luZykuIEluc3RlYWQgb2YgYSBzdWJzZXF1
ZW50IGNoYW5nZSBmdXJ0aGVyIGNvbXBsaWNhdGluZyB0aGlzCmxvZ2ljLCBz
aW1wbHkgZ2V0IHJpZCBvZiBpdC4KClRha2UgdGhlIG9wcG9ydHVuaXR5IGFu
ZCBtb3ZlIHRoZSByZXNwZWN0aXZlIHVubWFwX3Z0ZF9kb21haW5fcGFnZSgp
IG91dApvZiB0aGUgbG9ja2VkIHJlZ2lvbi4KClNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJv
Z2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpSZXZpZXdl
ZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+ClJldmlld2VkLWJ5
OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KCi0tLSBhL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC0xMjEsMjggKzEy
MSw2IEBAIHN0YXRpYyBpbnQgY29udGV4dF9zZXRfZG9tYWluX2lkKHN0cnVj
dAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNvbnRleHRfZ2V0
X2RvbWFpbl9pZChzdHJ1Y3QgY29udGV4dF9lbnRyeSAqY29udGV4dCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11KQotewotICAgIHVuc2lnbmVkIGxvbmcgZG9tX2luZGV4LCBu
cl9kb207Ci0gICAgaW50IGRvbWlkID0gLTE7Ci0KLSAgICBpZiAoaW9tbXUg
JiYgY29udGV4dCkKLSAgICB7Ci0gICAgICAgIG5yX2RvbSA9IGNhcF9uZG9t
cyhpb21tdS0+Y2FwKTsKLQotICAgICAgICBkb21faW5kZXggPSBjb250ZXh0
X2RvbWFpbl9pZCgqY29udGV4dCk7Ci0KLSAgICAgICAgaWYgKCBkb21faW5k
ZXggPCBucl9kb20gJiYgaW9tbXUtPmRvbWlkX21hcCApCi0gICAgICAgICAg
ICBkb21pZCA9IGlvbW11LT5kb21pZF9tYXBbZG9tX2luZGV4XTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfREVCVUcgVlRE
UFJFRklYLAotICAgICAgICAgICAgICAgICAgICAiZG9tX2luZGV4ICVsdSBl
eGNlZWRzIG5yX2RvbSAlbHUgb3IgaW9tbXUgaGFzIG5vIGRvbWlkX21hcFxu
IiwKLSAgICAgICAgICAgICAgICAgICAgZG9tX2luZGV4LCBucl9kb20pOwot
ICAgIH0KLSAgICByZXR1cm4gZG9taWQ7Ci19Ci0KIHN0YXRpYyB2b2lkIGNs
ZWFudXBfZG9taWRfbWFwKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgc3RydWN0
IHZ0ZF9pb21tdSAqaW9tbXUpCiB7CiAgICAgaW50IGlvbW11X2RvbWlkID0g
ZG9tYWluX2lvbW11X2RvbWlkKGRvbWFpbiwgaW9tbXUpOwpAQCAtMTQwNCw0
NCArMTM4Miw5IEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgK
IAogICAgIGlmICggY29udGV4dF9wcmVzZW50KCpjb250ZXh0KSApCiAgICAg
ewotICAgICAgICBpbnQgcmVzID0gMDsKLQotICAgICAgICAvKiBUcnkgdG8g
Z2V0IGRvbWFpbiBvd25lcnNoaXAgZnJvbSBkZXZpY2Ugc3RydWN0dXJlLiAg
SWYgdGhhdCdzCi0gICAgICAgICAqIG5vdCBhdmFpbGFibGUsIHRyeSB0byBy
ZWFkIGl0IGZyb20gdGhlIGNvbnRleHQgaXRzZWxmLiAqLwotICAgICAgICBp
ZiAoIHBkZXYgKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIHBkZXYt
PmRvbWFpbiAhPSBkb21haW4gKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIHByaW50ayhYRU5MT0dfR19JTkZPIFZURFBSRUZJWCAiJXBkOiAl
cHAgb3duZWQgYnkgJXBkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgZG9t
YWluLCAmUENJX1NCREYzKHNlZywgYnVzLCBkZXZmbiksCi0gICAgICAgICAg
ICAgICAgICAgICAgIHBkZXYtPmRvbWFpbik7Ci0gICAgICAgICAgICAgICAg
cmVzID0gLUVJTlZBTDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAg
ICAgICBlbHNlCi0gICAgICAgIHsKLSAgICAgICAgICAgIGludCBjZG9tYWlu
OwotICAgICAgICAgICAgY2RvbWFpbiA9IGNvbnRleHRfZ2V0X2RvbWFpbl9p
ZChjb250ZXh0LCBpb21tdSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAg
IGlmICggY2RvbWFpbiA8IDAgKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIHByaW50ayhYRU5MT0dfR19XQVJOSU5HIFZURFBSRUZJWAotICAg
ICAgICAgICAgICAgICAgICAgICAiJXBkOiAlcHAgbWFwcGVkLCBidXQgY2Fu
J3QgZmluZCBvd25lclxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgZG9t
YWluLCAmUENJX1NCREYzKHNlZywgYnVzLCBkZXZmbikpOwotICAgICAgICAg
ICAgICAgIHJlcyA9IC1FSU5WQUw7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBlbHNlIGlmICggY2RvbWFpbiAhPSBkb21haW4tPmRvbWFpbl9pZCAp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxP
R19HX0lORk8gVlREUFJFRklYCi0gICAgICAgICAgICAgICAgICAgICAgICIl
cGQ6ICVwcCBhbHJlYWR5IG1hcHBlZCB0byBkJWQiLAotICAgICAgICAgICAg
ICAgICAgICAgICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZu
KSwgY2RvbWFpbik7Ci0gICAgICAgICAgICAgICAgcmVzID0gLUVJTlZBTDsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIHVubWFwX3Z0
ZF9kb21haW5fcGFnZShjb250ZXh0X2VudHJpZXMpOwogICAgICAgICBzcGlu
X3VubG9jaygmaW9tbXUtPmxvY2spOwotICAgICAgICByZXR1cm4gcmVzOwor
ICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoY29udGV4dF9lbnRyaWVz
KTsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCiAgICAgaWYgKCBpb21t
dV9od2RvbV9wYXNzdGhyb3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZG9t
YWluKSApCg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiByZS1hc3NpZ24gZGV2aWNlcyBkaXJlY3RseQoKRGV2aWNlcyB3
aXRoIFJNUlJzLCBkdWUgdG8gaXQgYmVpbmcgdW5zcGVjaWZpZWQgaG93L3do
ZW4gdGhlIHNwZWNpZmllZAptZW1vcnkgcmVnaW9ucyBtYXkgZ2V0IGFjY2Vz
c2VkLCBtYXkgbm90IGJlIGxlZnQgZGlzY29ubmVjdGVkIGZyb20gdGhlaXIK
cmVzcGVjdGl2ZSBtYXBwaW5ncyAoYXMgbG9uZyBhcyBpdCdzIG5vdCBjZXJ0
YWluIHRoYXQgdGhlIGRldmljZSBoYXMKYmVlbiBmdWxseSBxdWllc2NlZCku
IEhlbmNlIHJhdGhlciB0aGFuIHVubWFwcGluZyB0aGUgb2xkIGNvbnRleHQg
YW5kCnRoZW4gbWFwcGluZyB0aGUgbmV3IG9uZSwgcmUtYXNzaWdubWVudCBu
ZWVkcyB0byBiZSBkb25lIGluIGEgc2luZ2xlCnN0ZXAuCgpUaGlzIGlzIENW
RS0yMDIyLTI2MzU5IC8gcGFydCBvZiBYU0EtNDAwLgoKUmVwb3J0ZWQtYnk6
IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKU2lt
aWxhcmx5IHF1YXJhbnRpbmluZyBzY3JhdGNoLXBhZ2UgbW9kZSByZWxpZXMg
b24gcGFnZSB0YWJsZXMgdG8gYmUKY29udGludW91c2x5IHdpcmVkIHVwLgoK
VG8gYXZvaWQgY29tcGxpY2F0aW5nIHRoaW5ncyBtb3JlIHRoYW4gbmVjZXNz
YXJ5LCB0cmVhdCBhbGwgZGV2aWNlcwptb3N0bHkgZXF1YWxseSwgaS5lLiBy
ZWdhcmRsZXNzIG9mIHRoZWlyIGFzc29jaWF0aW9uIHdpdGggYW55IFJNUlJz
LiBUaGUKbWFpbiBkaWZmZXJlbmNlIGlzIHdoZW4gaXQgY29tZXMgdG8gdXBk
YXRpbmcgY29udGV4dCBlbnRyaWVzLCB3aGljaCBuZWVkCnRvIGJlIGF0b21p
YyB3aGVuIHRoZXJlIGFyZSBSTVJScy4gWWV0IGF0b21pY2l0eSBjYW4gb25s
eSBiZSBhY2hpZXZlZAp3aXRoIENNUFhDSEcxNkIsIGF2YWlsYWJpbGl0eSBv
ZiB3aGljaCB3ZSBjYW4ndCB0YWtlIGZvciBnaXZlbi4KClRoZSBzZWVtaW5n
bHkgY29tcGxpY2F0ZWQgY2hvaWNlIG9mIG5vbi1uZWdhdGl2ZSByZXR1cm4g
dmFsdWVzIGZvcgpkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgpIGlzIHRv
IGxpbWl0IGNvZGUgY2h1cm46IFRoaXMgd2F5IGNhbGxlcnMKcGFzc2luZyBO
VUxMIGZvciBwZGV2IGRvbid0IG5lZWQgZmlkZGxpbmcgd2l0aC4KClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpS
ZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJp
eC5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0
ZXJuLmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2V4dGVy
bi5oCkBAIC04NCw3ICs4NCw4IEBAIHZvaWQgZnJlZV9wZ3RhYmxlX21hZGRy
KHU2NCBtYWRkcik7CiB2b2lkICptYXBfdnRkX2RvbWFpbl9wYWdlKHU2NCBt
YWRkcik7CiB2b2lkIHVubWFwX3Z0ZF9kb21haW5fcGFnZShjb25zdCB2b2lk
ICp2YSk7CiBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoc3RydWN0
IGRvbWFpbiAqZG9tYWluLCBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBidXMsIHU4IGRldmZu
LCBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OF90IGJ1cywgdWludDhfdCBkZXZmbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcGNp
X2RldiAqcGRldiwgdW5zaWduZWQgaW50IG1vZGUpOwogaW50IGRvbWFpbl9j
b250ZXh0X3VubWFwX29uZShzdHJ1Y3QgZG9tYWluICpkb21haW4sIHN0cnVj
dCB2dGRfaW9tbXUgKmlvbW11LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1OCBidXMsIHU4IGRldmZuKTsKIGludCBpbnRlbF9pb21tdV9nZXRf
cmVzZXJ2ZWRfZGV2aWNlX21lbW9yeShpb21tdV9ncmRtX3QgKmZ1bmMsIHZv
aWQgKmN0eHQpOwpAQCAtMTAzLDggKzEwNCw4IEBAIGludCBpc19pZ2RfdnRf
ZW5hYmxlZF9xdWlyayh2b2lkKTsKIHZvaWQgcGxhdGZvcm1fcXVpcmtzX2lu
aXQodm9pZCk7CiB2b2lkIHZ0ZF9vcHNfcHJlYW1ibGVfcXVpcmsoc3RydWN0
IHZ0ZF9pb21tdSAqaW9tbXUpOwogdm9pZCB2dGRfb3BzX3Bvc3RhbWJsZV9x
dWlyayhzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSk7Ci1pbnQgX19tdXN0X2No
ZWNrIG1lX3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGJ1cywgdTggZGV2Zm4s
IGludCBtYXApOworaW50IF9fbXVzdF9jaGVjayBtZV93aWZpX3F1aXJrKHN0
cnVjdCBkb21haW4gKmRvbWFpbiwgdWludDhfdCBidXMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBkZXZmbiwgdW5zaWduZWQg
aW50IG1vZGUpOwogdm9pZCBwY2lfdnRkX3F1aXJrKGNvbnN0IHN0cnVjdCBw
Y2lfZGV2ICopOwogdm9pZCBxdWlya19pb21tdV9jYXBzKHN0cnVjdCB2dGRf
aW9tbXUgKmlvbW11KTsKIAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC92dGQvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92
dGQvaW9tbXUuYwpAQCAtMTE3LDYgKzExNyw3IEBAIHN0YXRpYyBpbnQgY29u
dGV4dF9zZXRfZG9tYWluX2lkKHN0cnVjdAogICAgIH0KIAogICAgIHNldF9i
aXQoaSwgaW9tbXUtPmRvbWlkX2JpdG1hcCk7CisgICAgY29udGV4dC0+aGkg
Jj0gfigoKDEgPDwgRElEX0ZJRUxEX1dJRFRIKSAtIDEpIDw8IERJRF9ISUdI
X09GRlNFVCk7CiAgICAgY29udGV4dC0+aGkgfD0gKGkgJiAoKDEgPDwgRElE
X0ZJRUxEX1dJRFRIKSAtIDEpKSA8PCBESURfSElHSF9PRkZTRVQ7CiAgICAg
cmV0dXJuIDA7CiB9CkBAIC0xMzYyLDE1ICsxMzYzLDI3IEBAIHN0YXRpYyB2
b2lkIF9faHdkb21faW5pdCBpbnRlbF9pb21tdV9od2QKICAgICB9CiB9CiAK
Ky8qCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMKKyAqIC0gYSBuZWdhdGl2
ZSBlcnJubyB2YWx1ZSB1cG9uIGVycm9yLAorICogLSB6ZXJvIHVwb24gc3Vj
Y2VzcyB3aGVuIHByZXZpb3VzbHkgdGhlIGVudHJ5IHdhcyBub24tcHJlc2Vu
dCwgb3IgdGhpcyBpc24ndAorICogICB0aGUgIm1haW4iIHJlcXVlc3QgZm9y
IGEgZGV2aWNlIChwZGV2ID09IE5VTEwpLCBvciBmb3Igbm8tb3AgcXVhcmFu
dGluaW5nCisgKiAgIGFzc2lnbm1lbnRzLAorICogLSBwb3NpdGl2ZSAob25l
KSB1cG9uIHN1Y2Nlc3Mgd2hlbiBwcmV2aW91c2x5IHRoZSBlbnRyeSB3YXMg
cHJlc2VudCBhbmQgdGhpcworICogICBpcyB0aGUgIm1haW4iIHJlcXVlc3Qg
Zm9yIGEgZGV2aWNlIChwZGV2ICE9IE5VTEwpLgorICovCiBpbnQgZG9tYWlu
X2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgc3RydWN0IGRvbWFpbiAqZG9t
YWluLAogICAgIHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11LAotICAgIHU4IGJ1
cywgdTggZGV2Zm4sIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2KQorICAg
IHVpbnQ4X3QgYnVzLCB1aW50OF90IGRldmZuLCBjb25zdCBzdHJ1Y3QgcGNp
X2RldiAqcGRldiwKKyAgICB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKICAgICBz
dHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkb21haW4pOwot
ICAgIHN0cnVjdCBjb250ZXh0X2VudHJ5ICpjb250ZXh0LCAqY29udGV4dF9l
bnRyaWVzOworICAgIHN0cnVjdCBjb250ZXh0X2VudHJ5ICpjb250ZXh0LCAq
Y29udGV4dF9lbnRyaWVzLCBsY3R4dDsKKyAgICBfX3VpbnQxMjhfdCBvbGQ7
CiAgICAgdTY0IG1hZGRyLCBwZ2RfbWFkZHI7Ci0gICAgdTE2IHNlZyA9IGlv
bW11LT5kcmhkLT5zZWdtZW50OworICAgIHVpbnQxNl90IHNlZyA9IGlvbW11
LT5kcmhkLT5zZWdtZW50LCBwcmV2X2RpZCA9IDA7CisgICAgc3RydWN0IGRv
bWFpbiAqcHJldl9kb20gPSBOVUxMOwogICAgIGludCByYywgcmV0OwogICAg
IGJvb2xfdCBmbHVzaF9kZXZfaW90bGI7CiAKQEAgLTEzNzksMTcgKzEzOTIs
MzIgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIG1h
ZGRyID0gYnVzX3RvX2NvbnRleHRfbWFkZHIoaW9tbXUsIGJ1cyk7CiAgICAg
Y29udGV4dF9lbnRyaWVzID0gKHN0cnVjdCBjb250ZXh0X2VudHJ5ICopbWFw
X3Z0ZF9kb21haW5fcGFnZShtYWRkcik7CiAgICAgY29udGV4dCA9ICZjb250
ZXh0X2VudHJpZXNbZGV2Zm5dOworICAgIG9sZCA9IChsY3R4dCA9ICpjb250
ZXh0KS5mdWxsOwogCi0gICAgaWYgKCBjb250ZXh0X3ByZXNlbnQoKmNvbnRl
eHQpICkKKyAgICBpZiAoIGNvbnRleHRfcHJlc2VudChsY3R4dCkgKQogICAg
IHsKLSAgICAgICAgc3Bpbl91bmxvY2soJmlvbW11LT5sb2NrKTsKLSAgICAg
ICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7Ci0g
ICAgICAgIHJldHVybiAwOworICAgICAgICBkb21pZF90IGRvbWlkOworCisg
ICAgICAgIHByZXZfZGlkID0gY29udGV4dF9kb21haW5faWQobGN0eHQpOwor
ICAgICAgICBkb21pZCA9IGlvbW11LT5kb21pZF9tYXBbcHJldl9kaWRdOwor
ICAgICAgICBpZiAoIGRvbWlkIDwgRE9NSURfRklSU1RfUkVTRVJWRUQgKQor
ICAgICAgICAgICAgcHJldl9kb20gPSByY3VfbG9ja19kb21haW5fYnlfaWQo
ZG9taWQpOworICAgICAgICBlbHNlIGlmICggZG9taWQgPT0gRE9NSURfSU8g
KQorICAgICAgICAgICAgcHJldl9kb20gPSByY3VfbG9ja19kb21haW4oZG9t
X2lvKTsKKyAgICAgICAgaWYgKCAhcHJldl9kb20gKQorICAgICAgICB7Cisg
ICAgICAgICAgICBzcGluX3VubG9jaygmaW9tbXUtPmxvY2spOworICAgICAg
ICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7
CisgICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19ERUJVRyBWVERQUkVGSVgs
CisgICAgICAgICAgICAgICAgICAgICJubyBkb21haW4gZm9yIGRpZCAldSAo
bnJfZG9tICV1KVxuIiwKKyAgICAgICAgICAgICAgICAgICAgcHJldl9kaWQs
IGNhcF9uZG9tcyhpb21tdS0+Y2FwKSk7CisgICAgICAgICAgICByZXR1cm4g
LUVTUkNIOworICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKCBpb21tdV9o
d2RvbV9wYXNzdGhyb3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZG9tYWlu
KSApCiAgICAgewotICAgICAgICBjb250ZXh0X3NldF90cmFuc2xhdGlvbl90
eXBlKCpjb250ZXh0LCBDT05URVhUX1RUX1BBU1NfVEhSVSk7CisgICAgICAg
IGNvbnRleHRfc2V0X3RyYW5zbGF0aW9uX3R5cGUobGN0eHQsIENPTlRFWFRf
VFRfUEFTU19USFJVKTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKQEAgLTE0
MDEsMzYgKzE0MjksMTA3IEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5n
X29uZSgKICAgICAgICAgICAgIHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBw
aW5nX2xvY2spOwogICAgICAgICAgICAgc3Bpbl91bmxvY2soJmlvbW11LT5s
b2NrKTsKICAgICAgICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShjb250
ZXh0X2VudHJpZXMpOworICAgICAgICAgICAgaWYgKCBwcmV2X2RvbSApCisg
ICAgICAgICAgICAgICAgcmN1X3VubG9ja19kb21haW4ocHJldl9kb20pOwog
ICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgICAgIH0KIAotICAg
ICAgICBjb250ZXh0X3NldF9hZGRyZXNzX3Jvb3QoKmNvbnRleHQsIHBnZF9t
YWRkcik7CisgICAgICAgIGNvbnRleHRfc2V0X2FkZHJlc3Nfcm9vdChsY3R4
dCwgcGdkX21hZGRyKTsKICAgICAgICAgaWYgKCBhdHNfZW5hYmxlZCAmJiBl
Y2FwX2Rldl9pb3RsYihpb21tdS0+ZWNhcCkgKQotICAgICAgICAgICAgY29u
dGV4dF9zZXRfdHJhbnNsYXRpb25fdHlwZSgqY29udGV4dCwgQ09OVEVYVF9U
VF9ERVZfSU9UTEIpOworICAgICAgICAgICAgY29udGV4dF9zZXRfdHJhbnNs
YXRpb25fdHlwZShsY3R4dCwgQ09OVEVYVF9UVF9ERVZfSU9UTEIpOwogICAg
ICAgICBlbHNlCi0gICAgICAgICAgICBjb250ZXh0X3NldF90cmFuc2xhdGlv
bl90eXBlKCpjb250ZXh0LCBDT05URVhUX1RUX01VTFRJX0xFVkVMKTsKKyAg
ICAgICAgICAgIGNvbnRleHRfc2V0X3RyYW5zbGF0aW9uX3R5cGUobGN0eHQs
IENPTlRFWFRfVFRfTVVMVElfTEVWRUwpOwogCiAgICAgICAgIHNwaW5fdW5s
b2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogICAgIH0KIAotICAgIGlm
ICggY29udGV4dF9zZXRfZG9tYWluX2lkKGNvbnRleHQsIGRvbWFpbiwgaW9t
bXUpICkKKyAgICBpZiAoIGNvbnRleHRfc2V0X2RvbWFpbl9pZCgmbGN0eHQs
IGRvbWFpbiwgaW9tbXUpICkKICAgICB7CisgICAgdW5sb2NrOgogICAgICAg
ICBzcGluX3VubG9jaygmaW9tbXUtPmxvY2spOwogICAgICAgICB1bm1hcF92
dGRfZG9tYWluX3BhZ2UoY29udGV4dF9lbnRyaWVzKTsKKyAgICAgICAgaWYg
KCBwcmV2X2RvbSApCisgICAgICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihw
cmV2X2RvbSk7CiAgICAgICAgIHJldHVybiAtRUZBVUxUOwogICAgIH0KIAot
ICAgIGNvbnRleHRfc2V0X2FkZHJlc3Nfd2lkdGgoKmNvbnRleHQsIGxldmVs
X3RvX2FnYXcoaW9tbXUtPm5yX3B0X2xldmVscykpOwotICAgIGNvbnRleHRf
c2V0X2ZhdWx0X2VuYWJsZSgqY29udGV4dCk7Ci0gICAgY29udGV4dF9zZXRf
cHJlc2VudCgqY29udGV4dCk7CisgICAgaWYgKCAhcHJldl9kb20gKQorICAg
IHsKKyAgICAgICAgY29udGV4dF9zZXRfYWRkcmVzc193aWR0aChsY3R4dCwg
bGV2ZWxfdG9fYWdhdyhpb21tdS0+bnJfcHRfbGV2ZWxzKSk7CisgICAgICAg
IGNvbnRleHRfc2V0X2ZhdWx0X2VuYWJsZShsY3R4dCk7CisgICAgICAgIGNv
bnRleHRfc2V0X3ByZXNlbnQobGN0eHQpOworICAgIH0KKyAgICBlbHNlIGlm
ICggcHJldl9kb20gPT0gZG9tYWluICkKKyAgICB7CisgICAgICAgIEFTU0VS
VChsY3R4dC5mdWxsID09IGNvbnRleHQtPmZ1bGwpOworICAgICAgICByYyA9
ICEhcGRldjsKKyAgICAgICAgZ290byB1bmxvY2s7CisgICAgfQorICAgIGVs
c2UKKyAgICB7CisgICAgICAgIEFTU0VSVChjb250ZXh0X2FkZHJlc3Nfd2lk
dGgobGN0eHQpID09CisgICAgICAgICAgICAgICBsZXZlbF90b19hZ2F3KGlv
bW11LT5ucl9wdF9sZXZlbHMpKTsKKyAgICAgICAgQVNTRVJUKCFjb250ZXh0
X2ZhdWx0X2Rpc2FibGUobGN0eHQpKTsKKyAgICB9CisKKyAgICBpZiAoIGNw
dV9oYXNfY3gxNiApCisgICAgeworICAgICAgICBfX3VpbnQxMjhfdCByZXMg
PSBjbXB4Y2hnMTZiKGNvbnRleHQsICZvbGQsICZsY3R4dC5mdWxsKTsKKwor
ICAgICAgICAvKgorICAgICAgICAgKiBIYXJkd2FyZSBkb2VzIG5vdCB1cGRh
dGUgdGhlIGNvbnRleHQgZW50cnkgYmVoaW5kIG91ciBiYWNrcywKKyAgICAg
ICAgICogc28gdGhlIHJldHVybiB2YWx1ZSBzaG91bGQgbWF0Y2ggIm9sZCIu
CisgICAgICAgICAqLworICAgICAgICBpZiAoIHJlcyAhPSBvbGQgKQorICAg
ICAgICB7CisgICAgICAgICAgICBpZiAoIHBkZXYgKQorICAgICAgICAgICAg
ICAgIGNoZWNrX2NsZWFudXBfZG9taWRfbWFwKGRvbWFpbiwgcGRldiwgaW9t
bXUpOworICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIKKyAgICAgICAg
ICAgICAgICAgICAiJXBwOiB1bmV4cGVjdGVkIGNvbnRleHQgZW50cnkgJTAx
Nmx4XyUwMTZseCAoZXhwZWN0ZWQgJTAxNmx4XyUwMTZseClcbiIsCisgICAg
ICAgICAgICAgICAgICAgJlBDSV9TQkRGMyhwZGV2LT5zZWcsIHBkZXYtPmJ1
cywgZGV2Zm4pLAorICAgICAgICAgICAgICAgICAgICh1aW50NjRfdCkocmVz
ID4+IDY0KSwgKHVpbnQ2NF90KXJlcywKKyAgICAgICAgICAgICAgICAgICAo
dWludDY0X3QpKG9sZCA+PiA2NCksICh1aW50NjRfdClvbGQpOworICAgICAg
ICAgICAgcmMgPSAtRUlMU0VROworICAgICAgICAgICAgZ290byB1bmxvY2s7
CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZSBpZiAoICFwcmV2X2RvbSB8
fCAhKG1vZGUgJiBNQVBfV0lUSF9STVJSKSApCisgICAgeworICAgICAgICBj
b250ZXh0X2NsZWFyX3ByZXNlbnQoKmNvbnRleHQpOworICAgICAgICBpb21t
dV9zeW5jX2NhY2hlKGNvbnRleHQsIHNpemVvZigqY29udGV4dCkpOworCisg
ICAgICAgIHdyaXRlX2F0b21pYygmY29udGV4dC0+aGksIGxjdHh0LmhpKTsK
KyAgICAgICAgLyogTm8gYmFycmllciBzaG91bGQgYmUgbmVlZGVkIGJldHdl
ZW4gdGhlc2UgdHdvLiAqLworICAgICAgICB3cml0ZV9hdG9taWMoJmNvbnRl
eHQtPmxvLCBsY3R4dC5sbyk7CisgICAgfQorICAgIGVsc2UgLyogQmVzdCBl
ZmZvcnQsIHVwZGF0aW5nIERJRCBsYXN0LiAqLworICAgIHsKKyAgICAgICAg
IC8qCisgICAgICAgICAgKiBCeSBub24tYXRvbWljYWxseSB1cGRhdGluZyB0
aGUgY29udGV4dCBlbnRyeSdzIERJRCBmaWVsZCBsYXN0LAorICAgICAgICAg
ICogZHVyaW5nIGEgc2hvcnQgd2luZG93IGluIHRpbWUgVExCIGVudHJpZXMg
d2l0aCB0aGUgb2xkIGRvbWFpbiBJRAorICAgICAgICAgICogYnV0IHRoZSBu
ZXcgcGFnZSB0YWJsZXMgbWF5IGJlIGluc2VydGVkLiAgVGhpcyBjb3VsZCBh
ZmZlY3QgSS9PCisgICAgICAgICAgKiBvZiBvdGhlciBkZXZpY2VzIHVzaW5n
IHRoaXMgc2FtZSAob2xkKSBkb21haW4gSUQuICBTdWNoIHVwZGF0aW5nCisg
ICAgICAgICAgKiB0aGVyZWZvcmUgaXMgbm90IGEgcHJvYmxlbSBpZiB0aGlz
IHdhcyB0aGUgb25seSBkZXZpY2UgYXNzb2NpYXRlZAorICAgICAgICAgICog
d2l0aCB0aGUgb2xkIGRvbWFpbiBJRC4gIERpdmVydGluZyBJL08gb2YgYW55
IG9mIGEgZHlpbmcgZG9tYWluJ3MKKyAgICAgICAgICAqIGRldmljZXMgdG8g
dGhlIHF1YXJhbnRpbmUgcGFnZSB0YWJsZXMgaXMgaW50ZW5kZWQgYW55d2F5
LgorICAgICAgICAgICovCisgICAgICAgIGlmICggIShtb2RlICYgKE1BUF9P
V05FUl9EWUlORyB8IE1BUF9TSU5HTEVfREVWSUNFKSkgKQorICAgICAgICAg
ICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HIFZURFBSRUZJWAorICAgICAgICAg
ICAgICAgICAgICIgJXBwOiByZWFzc2lnbm1lbnQgbWF5IGNhdXNlICVwZCBk
YXRhIGNvcnJ1cHRpb25cbiIsCisgICAgICAgICAgICAgICAgICAgJlBDSV9T
QkRGMyhzZWcsIGJ1cywgZGV2Zm4pLCBwcmV2X2RvbSk7CisKKyAgICAgICAg
d3JpdGVfYXRvbWljKCZjb250ZXh0LT5sbywgbGN0eHQubG8pOworICAgICAg
ICAvKiBObyBiYXJyaWVyIHNob3VsZCBiZSBuZWVkZWQgYmV0d2VlbiB0aGVz
ZSB0d28uICovCisgICAgICAgIHdyaXRlX2F0b21pYygmY29udGV4dC0+aGks
IGxjdHh0LmhpKTsKKyAgICB9CisKICAgICBpb21tdV9zeW5jX2NhY2hlKGNv
bnRleHQsIHNpemVvZihzdHJ1Y3QgY29udGV4dF9lbnRyeSkpOwogICAgIHNw
aW5fdW5sb2NrKCZpb21tdS0+bG9jayk7CiAKLSAgICAvKiBDb250ZXh0IGVu
dHJ5IHdhcyBwcmV2aW91c2x5IG5vbi1wcmVzZW50ICh3aXRoIGRvbWlkIDAp
LiAqLwotICAgIHJjID0gaW9tbXVfZmx1c2hfY29udGV4dF9kZXZpY2UoaW9t
bXUsIDAsIFBDSV9CREYyKGJ1cywgZGV2Zm4pLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRE1BX0NDTURfTUFTS19OT0JJVCwgMSk7
CisgICAgcmMgPSBpb21tdV9mbHVzaF9jb250ZXh0X2RldmljZShpb21tdSwg
cHJldl9kaWQsIFBDSV9CREYyKGJ1cywgZGV2Zm4pLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDTURfTUFTS19OT0JJVCwg
IXByZXZfZG9tKTsKICAgICBmbHVzaF9kZXZfaW90bGIgPSAhIWZpbmRfYXRz
X2Rldl9kcmhkKGlvbW11KTsKLSAgICByZXQgPSBpb21tdV9mbHVzaF9pb3Rs
Yl9kc2koaW9tbXUsIDAsIDEsIGZsdXNoX2Rldl9pb3RsYik7CisgICAgcmV0
ID0gaW9tbXVfZmx1c2hfaW90bGJfZHNpKGlvbW11LCBwcmV2X2RpZCwgIXBy
ZXZfZG9tLCBmbHVzaF9kZXZfaW90bGIpOwogCiAgICAgLyoKICAgICAgKiBU
aGUgY3VycmVudCBsb2dpYyBmb3IgcmV0dXJuczoKQEAgLTE0NTEsMTcgKzE1
NTAsMjYgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAg
IHVubWFwX3Z0ZF9kb21haW5fcGFnZShjb250ZXh0X2VudHJpZXMpOwogCiAg
ICAgaWYgKCAhc2VnICYmICFyYyApCi0gICAgICAgIHJjID0gbWVfd2lmaV9x
dWlyayhkb21haW4sIGJ1cywgZGV2Zm4sIE1BUF9NRV9QSEFOVE9NX0ZVTkMp
OworICAgICAgICByYyA9IG1lX3dpZmlfcXVpcmsoZG9tYWluLCBidXMsIGRl
dmZuLCBtb2RlKTsKIAogICAgIGlmICggcmMgKQogICAgIHsKLSAgICAgICAg
cmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUs
IGJ1cywgZGV2Zm4pOworICAgICAgICBpZiAoICFwcmV2X2RvbSApCisgICAg
ICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWlu
LCBpb21tdSwgYnVzLCBkZXZmbik7CisgICAgICAgIGVsc2UgaWYgKCBwcmV2
X2RvbSAhPSBkb21haW4gKSAvKiBBdm9pZCBpbmZpbml0ZSByZWN1cnNpb24u
ICovCisgICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5n
X29uZShwcmV2X2RvbSwgaW9tbXUsIGJ1cywgZGV2Zm4sIHBkZXYsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2Rl
ICYgTUFQX1dJVEhfUk1SUikgPCAwOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICByZXQgPSAxOwogCiAgICAgICAgIGlmICggIXJldCAmJiBwZGV2ICYm
IHBkZXYtPmRldmZuID09IGRldmZuICkKICAgICAgICAgICAgIGNoZWNrX2Ns
ZWFudXBfZG9taWRfbWFwKGRvbWFpbiwgcGRldiwgaW9tbXUpOwogICAgIH0K
IAotICAgIHJldHVybiByYzsKKyAgICBpZiAoIHByZXZfZG9tICkKKyAgICAg
ICAgcmN1X3VubG9ja19kb21haW4ocHJldl9kb20pOworCisgICAgcmV0dXJu
IHJjID86IHBkZXYgJiYgcHJldl9kb207CiB9CiAKIHN0YXRpYyBpbnQgZG9t
YWluX2NvbnRleHRfdW5tYXAoc3RydWN0IGRvbWFpbiAqZCwgdWludDhfdCBk
ZXZmbiwKQEAgLTE0NzEsOCArMTU3OSwxMCBAQCBzdGF0aWMgaW50IGRvbWFp
bl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RydWN0IHBjaV9kZXYgKnBkZXYpCiB7CiAgICAg
c3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOworICAgIGNvbnN0IHN0cnVj
dCBhY3BpX3JtcnJfdW5pdCAqcm1ycjsKICAgICBpbnQgcmV0ID0gMDsKLSAg
ICB1aW50MTZfdCBzZWcgPSBwZGV2LT5zZWc7CisgICAgdW5zaWduZWQgaW50
IGksIG1vZGUgPSAwOworICAgIHVpbnQxNl90IHNlZyA9IHBkZXYtPnNlZywg
YmRmOwogICAgIHVpbnQ4X3QgYnVzID0gcGRldi0+YnVzLCBzZWNidXM7CiAK
ICAgICBkcmhkID0gYWNwaV9maW5kX21hdGNoZWRfZHJoZF91bml0KHBkZXYp
OwpAQCAtMTQ5Miw4ICsxNjAyLDI5IEBAIHN0YXRpYyBpbnQgZG9tYWluX2Nv
bnRleHRfbWFwcGluZyhzdHJ1Y3QKIAogICAgIEFTU0VSVChwY2lkZXZzX2xv
Y2tlZCgpKTsKIAorICAgIGZvcl9lYWNoX3JtcnJfZGV2aWNlKCBybXJyLCBi
ZGYsIGkgKQorICAgIHsKKyAgICAgICAgaWYgKCBybXJyLT5zZWdtZW50ICE9
IHBkZXYtPnNlZyB8fCBiZGYgIT0gcGRldi0+c2JkZi5iZGYgKQorICAgICAg
ICAgICAgY29udGludWU7CisKKyAgICAgICAgbW9kZSB8PSBNQVBfV0lUSF9S
TVJSOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoIGRvbWFp
biAhPSBwZGV2LT5kb21haW4gKQorICAgIHsKKyAgICAgICAgaWYgKCBwZGV2
LT5kb21haW4tPmlzX2R5aW5nICkKKyAgICAgICAgICAgIG1vZGUgfD0gTUFQ
X09XTkVSX0RZSU5HOworICAgICAgICBlbHNlIGlmICggZHJoZCAmJgorICAg
ICAgICAgICAgICAgICAgIWFueV9wZGV2X2JlaGluZF9pb21tdShwZGV2LT5k
b21haW4sIHBkZXYsIGRyaGQtPmlvbW11KSAmJgorICAgICAgICAgICAgICAg
ICAgIXBkZXYtPnBoYW50b21fc3RyaWRlICkKKyAgICAgICAgICAgIG1vZGUg
fD0gTUFQX1NJTkdMRV9ERVZJQ0U7CisgICAgfQorCiAgICAgc3dpdGNoICgg
cGRldi0+dHlwZSApCiAgICAgeworICAgICAgICBib29sIHByZXZfcHJlc2Vu
dDsKKwogICAgIGNhc2UgREVWX1RZUEVfUENJX0hPU1RfQlJJREdFOgogICAg
ICAgICBpZiAoIGlvbW11X2RlYnVnICkKICAgICAgICAgICAgIHByaW50ayhW
VERQUkVGSVggIiVwZDpIb3N0YnJpZGdlOiBza2lwICVwcCBtYXBcbiIsCkBA
IC0xNTEyLDcgKzE2NDMsOSBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0
X21hcHBpbmcoc3RydWN0CiAgICAgICAgICAgICBwcmludGsoVlREUFJFRklY
ICIlcGQ6UENJZTogbWFwICVwcFxuIiwKICAgICAgICAgICAgICAgICAgICBk
b21haW4sICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZuKSk7CiAgICAgICAg
IHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJo
ZC0+aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBkZXYpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwZGV2LCBtb2RlKTsKKyAgICAgICAg
aWYgKCByZXQgPiAwICkKKyAgICAgICAgICAgIHJldCA9IDA7CiAgICAgICAg
IGlmICggIXJldCAmJiBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBhdHNfZGV2
aWNlKHBkZXYsIGRyaGQpID4gMCApCiAgICAgICAgICAgICBlbmFibGVfYXRz
X2RldmljZShwZGV2LCAmZHJoZC0+aW9tbXUtPmF0c19kZXZpY2VzKTsKIApA
QCAtMTUyNCw5ICsxNjU3LDEwIEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRl
eHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICAgICAgICAgICBkb21haW4s
ICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZuKSk7CiAKICAgICAgICAgcmV0
ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5p
b21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGRldik7Ci0gICAgICAgIGlmICggcmV0ICkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRldiwg
bW9kZSk7CisgICAgICAgIGlmICggcmV0IDwgMCApCiAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgcHJldl9wcmVzZW50ID0gcmV0OwogCiAgICAgICAg
IGlmICggKHJldCA9IGZpbmRfdXBzdHJlYW1fYnJpZGdlKHNlZywgJmJ1cywg
JmRldmZuLCAmc2VjYnVzKSkgPCAxICkKICAgICAgICAgewpAQCAtMTUzNCw2
ICsxNjY4LDE1IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGlu
ZyhzdHJ1Y3QKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IHJldCA9IC1FTlhJTzsKICAgICAgICAgfQorICAgICAgICAvKgorICAgICAg
ICAgKiBTdHJpY3RseSBzcGVha2luZyBpZiB0aGUgZGV2aWNlIGlzIHRoZSBv
bmx5IG9uZSBiZWhpbmQgdGhpcyBicmlkZ2UKKyAgICAgICAgICogYW5kIHRo
ZSBvbmx5IG9uZSB3aXRoIHRoaXMgKHNlY2J1cywwLDApIHR1cGxlLCBpdCBj
b3VsZCBiZSBhbGxvd2VkCisgICAgICAgICAqIHRvIGJlIHJlLWFzc2lnbmVk
IHJlZ2FyZGxlc3Mgb2YgUk1SUiBwcmVzZW5jZS4gIEJ1dCBsZXQncyBkZWFs
IHdpdGgKKyAgICAgICAgICogdGhhdCBjYXNlIG9ubHkgaWYgaXQgaXMgYWN0
dWFsbHkgZm91bmQgaW4gdGhlIHdpbGQuCisgICAgICAgICAqLworICAgICAg
ICBlbHNlIGlmICggcHJldl9wcmVzZW50ICYmIChtb2RlICYgTUFQX1dJVEhf
Uk1SUikgJiYKKyAgICAgICAgICAgICAgICAgIGRvbWFpbiAhPSBwZGV2LT5k
b21haW4gKQorICAgICAgICAgICAgcmV0ID0gLUVPUE5PVFNVUFA7CiAKICAg
ICAgICAgLyoKICAgICAgICAgICogTWFwcGluZyBhIGJyaWRnZSBzaG91bGQs
IGlmIGFueXRoaW5nLCBwYXNzIHRoZSBzdHJ1Y3QgcGNpX2RldiBvZgpAQCAt
MTU0Miw3ICsxNjg1LDcgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9t
YXBwaW5nKHN0cnVjdAogICAgICAgICAgKi8KICAgICAgICAgaWYgKCByZXQg
Pj0gMCApCiAgICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBw
aW5nX29uZShkb21haW4sIGRyaGQtPmlvbW11LCBidXMsIGRldmZuLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM
TCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBOVUxMLCBtb2RlKTsKIAogICAgICAgICAvKgogICAgICAgICAgKiBE
ZXZpY2VzIGJlaGluZCBQQ0llLXRvLVBDSS9QQ0l4IGJyaWRnZSBtYXkgZ2Vu
ZXJhdGUgZGlmZmVyZW50CkBAIC0xNTU3LDEwICsxNzAwLDE1IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAg
aWYgKCAhcmV0ICYmIHBkZXZfdHlwZShzZWcsIGJ1cywgZGV2Zm4pID09IERF
Vl9UWVBFX1BDSWUyUENJX0JSSURHRSAmJgogICAgICAgICAgICAgIChzZWNi
dXMgIT0gcGRldi0+YnVzIHx8IHBkZXYtPmRldmZuICE9IDApICkKICAgICAg
ICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFp
biwgZHJoZC0+aW9tbXUsIHNlY2J1cywgMCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgbW9k
ZSk7CiAKICAgICAgICAgaWYgKCByZXQgKQotICAgICAgICAgICAgZG9tYWlu
X2NvbnRleHRfdW5tYXAoZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAgICAg
IHsKKyAgICAgICAgICAgIGlmICggIXByZXZfcHJlc2VudCApCisgICAgICAg
ICAgICAgICAgZG9tYWluX2NvbnRleHRfdW5tYXAoZG9tYWluLCBkZXZmbiwg
cGRldik7CisgICAgICAgICAgICBlbHNlIGlmICggcGRldi0+ZG9tYWluICE9
IGRvbWFpbiApIC8qIEF2b2lkIGluZmluaXRlIHJlY3Vyc2lvbi4gKi8KKyAg
ICAgICAgICAgICAgICBkb21haW5fY29udGV4dF9tYXBwaW5nKHBkZXYtPmRv
bWFpbiwgZGV2Zm4sIHBkZXYpOworICAgICAgICB9CiAKICAgICAgICAgYnJl
YWs7CiAKQEAgLTIzMzYsOSArMjQ4NCw4IEBAIHN0YXRpYyBpbnQgcmVhc3Np
Z25fZGV2aWNlX293bmVyc2hpcCgKIHsKICAgICBpbnQgcmV0OwogCi0gICAg
cmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXAoc291cmNlLCBkZXZmbiwgcGRl
dik7Ci0gICAgaWYgKCByZXQgKQotICAgICAgICByZXR1cm4gcmV0OworICAg
IGlmICggIWhhc19hcmNoX3BkZXZzKHRhcmdldCkgKQorICAgICAgICB2bXhf
cGlfaG9va3NfYXNzaWduKHRhcmdldCk7CiAKICAgICAvKgogICAgICAqIERl
dmljZXMgYXNzaWduZWQgdG8gdW50cnVzdGVkIGRvbWFpbnMgKGhlcmUgYXNz
dW1lZCB0byBiZSBhbnkgZG9tVSkKQEAgLTIzNDgsNiArMjQ5NSwzMSBAQCBz
dGF0aWMgaW50IHJlYXNzaWduX2RldmljZV9vd25lcnNoaXAoCiAgICAgaWYg
KCAodGFyZ2V0ICE9IGhhcmR3YXJlX2RvbWFpbikgJiYgIWlvbW11X2ludHJl
bWFwICkKICAgICAgICAgdW50cnVzdGVkX21zaSA9IHRydWU7CiAKKyAgICBy
ZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nKHRhcmdldCwgZGV2Zm4sIHBk
ZXYpOworICAgIGlmICggcmV0ICkKKyAgICB7CisgICAgICAgIGlmICggIWhh
c19hcmNoX3BkZXZzKHRhcmdldCkgKQorICAgICAgICAgICAgdm14X3BpX2hv
b2tzX2RlYXNzaWduKHRhcmdldCk7CisgICAgICAgIHJldHVybiByZXQ7Cisg
ICAgfQorCisgICAgaWYgKCBwZGV2LT5kZXZmbiA9PSBkZXZmbiApCisgICAg
eworICAgICAgICBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQg
PSBhY3BpX2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7CisKKyAgICAg
ICAgaWYgKCBkcmhkICkKKyAgICAgICAgICAgIGNoZWNrX2NsZWFudXBfZG9t
aWRfbWFwKHNvdXJjZSwgcGRldiwgZHJoZC0+aW9tbXUpOworICAgIH0KKwor
ICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+ZG9tYWlu
ICE9IHRhcmdldCApCisgICAgeworICAgICAgICBsaXN0X21vdmUoJnBkZXYt
PmRvbWFpbl9saXN0LCAmdGFyZ2V0LT5wZGV2X2xpc3QpOworICAgICAgICBw
ZGV2LT5kb21haW4gPSB0YXJnZXQ7CisgICAgfQorCisgICAgaWYgKCAhaGFz
X2FyY2hfcGRldnMoc291cmNlKSApCisgICAgICAgIHZteF9waV9ob29rc19k
ZWFzc2lnbihzb3VyY2UpOworCiAgICAgLyoKICAgICAgKiBJZiB0aGUgZGV2
aWNlIGJlbG9uZ3MgdG8gdGhlIGhhcmR3YXJlIGRvbWFpbiwgYW5kIGl0IGhh
cyBSTVJSLCBkb24ndAogICAgICAqIHJlbW92ZSBpdCBmcm9tIHRoZSBoYXJk
d2FyZSBkb21haW4sIGJlY2F1c2UgQklPUyBtYXkgdXNlIFJNUlIgYXQKQEAg
LTIzNzYsMzQgKzI1NDgsNyBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2Rldmlj
ZV9vd25lcnNoaXAoCiAgICAgICAgICAgICB9CiAgICAgfQogCi0gICAgaWYg
KCBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBwZGV2LT5kb21haW4gIT0gZG9t
X2lvICkKLSAgICB7Ci0gICAgICAgIGxpc3RfbW92ZSgmcGRldi0+ZG9tYWlu
X2xpc3QsICZkb21faW8tPnBkZXZfbGlzdCk7Ci0gICAgICAgIHBkZXYtPmRv
bWFpbiA9IGRvbV9pbzsKLSAgICB9Ci0KLSAgICBpZiAoICFoYXNfYXJjaF9w
ZGV2cyhzb3VyY2UpICkKLSAgICAgICAgdm14X3BpX2hvb2tzX2RlYXNzaWdu
KHNvdXJjZSk7Ci0KLSAgICBpZiAoICFoYXNfYXJjaF9wZGV2cyh0YXJnZXQp
ICkKLSAgICAgICAgdm14X3BpX2hvb2tzX2Fzc2lnbih0YXJnZXQpOwotCi0g
ICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZyh0YXJnZXQsIGRldmZu
LCBwZGV2KTsKLSAgICBpZiAoIHJldCApCi0gICAgewotICAgICAgICBpZiAo
ICFoYXNfYXJjaF9wZGV2cyh0YXJnZXQpICkKLSAgICAgICAgICAgIHZteF9w
aV9ob29rc19kZWFzc2lnbih0YXJnZXQpOwotCi0gICAgICAgIHJldHVybiBy
ZXQ7Ci0gICAgfQotCi0gICAgaWYgKCBkZXZmbiA9PSBwZGV2LT5kZXZmbiAm
JiBwZGV2LT5kb21haW4gIT0gdGFyZ2V0ICkKLSAgICB7Ci0gICAgICAgIGxp
c3RfbW92ZSgmcGRldi0+ZG9tYWluX2xpc3QsICZ0YXJnZXQtPnBkZXZfbGlz
dCk7Ci0gICAgICAgIHBkZXYtPmRvbWFpbiA9IHRhcmdldDsKLSAgICB9Ci0K
LSAgICByZXR1cm4gcmV0OworICAgIHJldHVybiAwOwogfQogCiBzdGF0aWMg
aW50IGludGVsX2lvbW11X2Fzc2lnbl9kZXZpY2UoCi0tLSBhL3hlbi9kcml2
ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5oCkBAIC0yMDIsOCArMjAyLDEyIEBA
IHN0cnVjdCByb290X2VudHJ5IHsKICAgICBkbyB7KHJvb3QpLnZhbCB8PSAo
KHZhbHVlKSAmIFBBR0VfTUFTS180Syk7fSB3aGlsZSgwKQogCiBzdHJ1Y3Qg
Y29udGV4dF9lbnRyeSB7Ci0gICAgdTY0IGxvOwotICAgIHU2NCBoaTsKKyAg
ICB1bmlvbiB7CisgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICB1aW50
NjRfdCBsbywgaGk7CisgICAgICAgIH07CisgICAgICAgIF9fdWludDEyOF90
IGZ1bGw7CisgICAgfTsKIH07CiAjZGVmaW5lIFJPT1RfRU5UUllfTlIgKFBB
R0VfU0laRV80Sy9zaXplb2Yoc3RydWN0IHJvb3RfZW50cnkpKQogI2RlZmlu
ZSBjb250ZXh0X3ByZXNlbnQoYykgKChjKS5sbyAmIDEpCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xdWlya3MuYworKysgYi94ZW4vZHJp
dmVycy9wYXNzdGhyb3VnaC92dGQvcXVpcmtzLmMKQEAgLTM0NCw3ICszNDQs
OCBAQCB2b2lkIF9faW5pdCBwbGF0Zm9ybV9xdWlya3NfaW5pdCh2b2lkKQog
ICovCiAKIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIG1hcF9tZV9waGFudG9t
X2Z1bmN0aW9uKHN0cnVjdCBkb21haW4gKmRvbWFpbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBkZXYs
IGludCBtYXApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZGV2LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50IG1vZGUpCiB7CiAgICAgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhk
OwogICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2OwpAQCAtMzU1LDkgKzM1Niw5
IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIG1hcF9tZV9waGFudG9tX2YK
ICAgICBkcmhkID0gYWNwaV9maW5kX21hdGNoZWRfZHJoZF91bml0KHBkZXYp
OwogCiAgICAgLyogbWFwIG9yIHVubWFwIE1FIHBoYW50b20gZnVuY3Rpb24g
Ki8KLSAgICBpZiAoIG1hcCApCisgICAgaWYgKCAhKG1vZGUgJiBVTk1BUF9N
RV9QSEFOVE9NX0ZVTkMpICkKICAgICAgICAgcmMgPSBkb21haW5fY29udGV4
dF9tYXBwaW5nX29uZShkb21haW4sIGRyaGQtPmlvbW11LCAwLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9ERVZGTihk
ZXYsIDcpLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBQQ0lfREVWRk4oZGV2LCA3KSwgTlVMTCwgbW9kZSk7CiAg
ICAgZWxzZQogICAgICAgICByYyA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29u
ZShkb21haW4sIGRyaGQtPmlvbW11LCAwLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBQQ0lfREVWRk4oZGV2LCA3KSk7CkBAIC0z
NjUsNyArMzY2LDggQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgbWFwX21l
X3BoYW50b21fZgogICAgIHJldHVybiByYzsKIH0KIAotaW50IG1lX3dpZmlf
cXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1OCBidXMsIHU4IGRldmZu
LCBpbnQgbWFwKQoraW50IG1lX3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAq
ZG9tYWluLCB1aW50OF90IGJ1cywgdWludDhfdCBkZXZmbiwKKyAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGludCBtb2RlKQogewogICAgIHUzMiBpZDsK
ICAgICBpbnQgcmMgPSAwOwpAQCAtMzg5LDcgKzM5MSw3IEBAIGludCBtZV93
aWZpX3F1aXJrKHN0cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICAgICAgICAg
IGNhc2UgMHg0MjNiODA4NjoKICAgICAgICAgICAgIGNhc2UgMHg0MjNjODA4
NjoKICAgICAgICAgICAgIGNhc2UgMHg0MjNkODA4NjoKLSAgICAgICAgICAg
ICAgICByYyA9IG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKGRvbWFpbiwgMywg
bWFwKTsKKyAgICAgICAgICAgICAgICByYyA9IG1hcF9tZV9waGFudG9tX2Z1
bmN0aW9uKGRvbWFpbiwgMywgbW9kZSk7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtNDE1LDcgKzQxNyw3IEBAIGludCBtZV93aWZpX3F1aXJrKHN0
cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICAgICAgICAgIGNhc2UgMHg0MjM4
ODA4NjogICAgICAgIC8qIFB1bWEgUGVhayAqLwogICAgICAgICAgICAgY2Fz
ZSAweDQyMmI4MDg2OgogICAgICAgICAgICAgY2FzZSAweDQyMmM4MDg2Ogot
ICAgICAgICAgICAgICAgIHJjID0gbWFwX21lX3BoYW50b21fZnVuY3Rpb24o
ZG9tYWluLCAyMiwgbWFwKTsKKyAgICAgICAgICAgICAgICByYyA9IG1hcF9t
ZV9waGFudG9tX2Z1bmN0aW9uKGRvbWFpbiwgMjIsIG1vZGUpOwogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAg
ICAgICAgICAgICBicmVhazsKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvdnRkL3Z0ZC5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0
ZC92dGQuaApAQCAtMjIsOCArMjIsMTQgQEAKIAogI2luY2x1ZGUgPHhlbi9p
b21tdS5oPgogCi0jZGVmaW5lIE1BUF9NRV9QSEFOVE9NX0ZVTkMgICAgICAx
Ci0jZGVmaW5lIFVOTUFQX01FX1BIQU5UT01fRlVOQyAgICAwCisvKgorICog
VmFsdWVzIGZvciBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgpJ3MgYW5k
IG1lX3dpZmlfcXVpcmsoKSdzICJtb2RlIgorICogcGFyYW1ldGVycy4KKyAq
LworI2RlZmluZSBNQVBfV0lUSF9STVJSICAgICAgICAgKDF1IDw8IDApCisj
ZGVmaW5lIE1BUF9PV05FUl9EWUlORyAgICAgICAoMXUgPDwgMSkKKyNkZWZp
bmUgTUFQX1NJTkdMRV9ERVZJQ0UgICAgICgxdSA8PCAyKQorI2RlZmluZSBV
Tk1BUF9NRV9QSEFOVE9NX0ZVTkMgKDF1IDw8IDMpCiAKIC8qIEFsbG93IGZv
ciBib3RoIElPQVBJQyBhbmQgSU9TQVBJQy4gKi8KICNkZWZpbmUgSU9feEFQ
SUNfcm91dGVfZW50cnkgSU9fQVBJQ19yb3V0ZV9lbnRyeQo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFzc2lnbiBkZXZpY2VzIGRpcmVjdGx5CgpEZXZp
Y2VzIHdpdGggdW5pdHkgbWFwIHJhbmdlcywgZHVlIHRvIGl0IGJlaW5nIHVu
c3BlY2lmaWVkIGhvdy93aGVuCnRoZXNlIG1lbW9yeSByYW5nZXMgbWF5IGdl
dCBhY2Nlc3NlZCwgbWF5IG5vdCBiZSBsZWZ0IGRpc2Nvbm5lY3RlZCBmcm9t
CnRoZWlyIHVuaXR5IG1hcHBpbmdzIChhcyBsb25nIGFzIGl0J3Mgbm90IGNl
cnRhaW4gdGhhdCB0aGUgZGV2aWNlIGhhcwpiZWVuIGZ1bGx5IHF1aWVzY2Vk
KS4gSGVuY2UgcmF0aGVyIHRoYW4gdGVhcmluZyBkb3duIHRoZSBvbGQgcm9v
dCBwYWdlCnRhYmxlIHBvaW50ZXIgYW5kIHRoZW4gZXN0YWJsaXNoaW5nIHRo
ZSBuZXcgb25lLCByZS1hc3NpZ25tZW50IG5lZWRzIHRvCmJlIGRvbmUgaW4g
YSBzaW5nbGUgc3RlcC4KClRoaXMgaXMgQ1ZFLTIwMjItMjYzNjAgLyBwYXJ0
IG9mIFhTQS00MDAuCgpSZXBvcnRlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgpTaW1pbGFybHkgcXVhcmFudGluaW5n
IHNjcmF0Y2gtcGFnZSBtb2RlIHJlbGllcyBvbiBwYWdlIHRhYmxlcyB0byBi
ZQpjb250aW51b3VzbHkgd2lyZWQgdXAuCgpUbyBhdm9pZCBjb21wbGljYXRp
bmcgdGhpbmdzIG1vcmUgdGhhbiBuZWNlc3NhcnksIHRyZWF0IGFsbCBkZXZp
Y2VzCm1vc3RseSBlcXVhbGx5LCBpLmUuIHJlZ2FyZGxlc3Mgb2YgdGhlaXIg
YXNzb2NpYXRpb24gd2l0aCBhbnkgdW5pdHkgbWFwCnJhbmdlcy4gIFRoZSBt
YWluIGRpZmZlcmVuY2UgaXMgd2hlbiBpdCBjb21lcyB0byB1cGRhdGluZyBE
VEVzLCB3aGljaCBuZWVkCnRvIGJlIGF0b21pYyB3aGVuIHRoZXJlIGFyZSB1
bml0eSBtYXBwaW5ncy4gWWV0IGF0b21pY2l0eSBjYW4gb25seSBiZQphY2hp
ZXZlZCB3aXRoIENNUFhDSEcxNkIsIGF2YWlsYWJpbGl0eSBvZiB3aGljaCB3
ZSBjYW4ndCB0YWtlIGZvciBnaXZlbi4KClNpZ25lZC1vZmYtYnk6IEphbiBC
ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwg
RHVycmFudCA8cGF1bEB4ZW4ub3JnPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1
IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vZHJp
dmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXUuaAorKysgYi94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9hbWQvaW9tbXUuaApAQCAtMjQ3LDkgKzI0NywxMyBA
QCB2b2lkIGFtZF9pb21tdV9zZXRfaW50cmVtYXBfdGFibGUoc3RydWN0CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAq
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgdmFsaWQpOwotdm9pZCBhbWRfaW9tbXVf
c2V0X3Jvb3RfcGFnZV90YWJsZShzdHJ1Y3QgYW1kX2lvbW11X2R0ZSAqZHRl
LAotCQkJCSAgIHVpbnQ2NF90IHJvb3RfcHRyLCB1aW50MTZfdCBkb21haW5f
aWQsCi0JCQkJICAgdWludDhfdCBwYWdpbmdfbW9kZSwgYm9vbCB2YWxpZCk7
CisjZGVmaW5lIFNFVF9ST09UX1ZBTElEICAgICAgICAgICgxdSA8PCAwKQor
I2RlZmluZSBTRVRfUk9PVF9XSVRIX1VOSVRZX01BUCAoMXUgPDwgMSkKK2lu
dCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUo
c3RydWN0IGFtZF9pb21tdV9kdGUgKmR0ZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgcm9vdF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQxNl90IGRvbWFpbl9pZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBwYWdpbmdf
bW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsKIHZvaWQgaW9tbXVfZHRl
X2FkZF9kZXZpY2VfZW50cnkoc3RydWN0IGFtZF9pb21tdV9kdGUgKmR0ZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IGl2cnNfbWFwcGluZ3MgKml2cnNfZGV2KTsKIAotLS0gYS94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5jCkBAIC0xMTQsMTAgKzEx
NCw2OSBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHNldF9pb21tdV9wdGVzX3By
ZXNlCiAgICAgcmV0dXJuIGZsdXNoX2ZsYWdzOwogfQogCi12b2lkIGFtZF9p
b21tdV9zZXRfcm9vdF9wYWdlX3RhYmxlKHN0cnVjdCBhbWRfaW9tbXVfZHRl
ICpkdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ2NF90IHJvb3RfcHRyLCB1aW50MTZfdCBkb21haW5faWQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgcGFnaW5nX21v
ZGUsIGJvb2wgdmFsaWQpCisvKgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5z
CisgKiAtIC1lcnJubyBmb3IgZXJyb3JzLAorICogLSAwIGZvciBhIHN1Y2Nl
c3NmdWwgdXBkYXRlLCBhdG9taWMgd2hlbiBuZWNlc3NhcnkKKyAqIC0gMSBm
b3IgYSBzdWNjZXNzZnVsIGJ1dCBub24tYXRvbWljIHVwZGF0ZSwgd2hpY2gg
bWF5IG5lZWQgdG8gYmUgd2FybmVkCisgKiAgIGFib3V0IGJ5IHRoZSBjYWxs
ZXIuCisgKi8KK2ludCBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJsZShz
dHJ1Y3QgYW1kX2lvbW11X2R0ZSAqZHRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ2NF90IHJvb3RfcHRyLCB1aW50MTZfdCBk
b21haW5faWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDhfdCBwYWdpbmdfbW9kZSwgdW5zaWduZWQgaW50IGZsYWdzKQogewor
ICAgIGJvb2wgdmFsaWQgPSBmbGFncyAmIFNFVF9ST09UX1ZBTElEOworCisg
ICAgaWYgKCBkdGUtPnYgJiYgZHRlLT50diAmJgorICAgICAgICAgKGNwdV9o
YXNfY3gxNiB8fCAoZmxhZ3MgJiBTRVRfUk9PVF9XSVRIX1VOSVRZX01BUCkp
ICkKKyAgICB7CisgICAgICAgIHVuaW9uIHsKKyAgICAgICAgICAgIHN0cnVj
dCBhbWRfaW9tbXVfZHRlIGR0ZTsKKyAgICAgICAgICAgIHVpbnQ2NF90IHJh
dzY0WzRdOworICAgICAgICAgICAgX191aW50MTI4X3QgcmF3MTI4WzJdOwor
ICAgICAgICB9IGxkdGUgPSB7IC5kdGUgPSAqZHRlIH07CisgICAgICAgIF9f
dWludDEyOF90IG9sZCA9IGxkdGUucmF3MTI4WzBdOworICAgICAgICBpbnQg
cmV0ID0gMDsKKworICAgICAgICBsZHRlLmR0ZS5kb21haW5faWQgPSBkb21h
aW5faWQ7CisgICAgICAgIGxkdGUuZHRlLnB0X3Jvb3QgPSBwYWRkcl90b19w
Zm4ocm9vdF9wdHIpOworICAgICAgICBsZHRlLmR0ZS5pdyA9IHRydWU7Cisg
ICAgICAgIGxkdGUuZHRlLmlyID0gdHJ1ZTsKKyAgICAgICAgbGR0ZS5kdGUu
cGFnaW5nX21vZGUgPSBwYWdpbmdfbW9kZTsKKyAgICAgICAgbGR0ZS5kdGUu
diA9IHZhbGlkOworCisgICAgICAgIGlmICggY3B1X2hhc19jeDE2ICkKKyAg
ICAgICAgeworICAgICAgICAgICAgX191aW50MTI4X3QgcmVzID0gY21weGNo
ZzE2YihkdGUsICZvbGQsICZsZHRlLnJhdzEyOFswXSk7CisKKyAgICAgICAg
ICAgIC8qCisgICAgICAgICAgICAgKiBIYXJkd2FyZSBkb2VzIG5vdCB1cGRh
dGUgdGhlIERURSBiZWhpbmQgb3VyIGJhY2tzLCBzbyB0aGUKKyAgICAgICAg
ICAgICAqIHJldHVybiB2YWx1ZSBzaG91bGQgbWF0Y2ggIm9sZCIuCisgICAg
ICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICggcmVzICE9IG9sZCApCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19F
UlIKKyAgICAgICAgICAgICAgICAgICAgICAgIkRvbSVkOiB1bmV4cGVjdGVk
IERURSAlMDE2bHhfJTAxNmx4IChleHBlY3RlZCAlMDE2bHhfJTAxNmx4KVxu
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluX2lkLAorICAgICAg
ICAgICAgICAgICAgICAgICAodWludDY0X3QpKHJlcyA+PiA2NCksICh1aW50
NjRfdClyZXMsCisgICAgICAgICAgICAgICAgICAgICAgICh1aW50NjRfdCko
b2xkID4+IDY0KSwgKHVpbnQ2NF90KW9sZCk7CisgICAgICAgICAgICAgICAg
cmV0ID0gLUVJTFNFUTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICBlbHNlIC8qIEJlc3QgZWZmb3J0LCB1cGRhdGluZyBkb21haW5faWQg
bGFzdC4gKi8KKyAgICAgICAgeworICAgICAgICAgICAgdWludDY0X3QgKnB0
ciA9ICh2b2lkICopZHRlOworCisgICAgICAgICAgICB3cml0ZV9hdG9taWMo
cHRyICsgMCwgbGR0ZS5yYXc2NFswXSk7CisgICAgICAgICAgICAvKiBObyBi
YXJyaWVyIHNob3VsZCBiZSBuZWVkZWQgYmV0d2VlbiB0aGVzZSB0d28uICov
CisgICAgICAgICAgICB3cml0ZV9hdG9taWMocHRyICsgMSwgbGR0ZS5yYXc2
NFsxXSk7CisKKyAgICAgICAgICAgIHJldCA9IDE7CisgICAgICAgIH0KKwor
ICAgICAgICByZXR1cm4gcmV0OworICAgIH0KKwogICAgIGlmICggdmFsaWQg
fHwgZHRlLT52ICkKICAgICB7CiAgICAgICAgIGR0ZS0+dHYgPSBmYWxzZTsK
QEAgLTEzMiw2ICsxOTEsOCBAQCB2b2lkIGFtZF9pb21tdV9zZXRfcm9vdF9w
YWdlX3RhYmxlKHN0cnVjCiAgICAgc21wX3dtYigpOwogICAgIGR0ZS0+dHYg
PSB0cnVlOwogICAgIGR0ZS0+diA9IHZhbGlkOworCisgICAgcmV0dXJuIDA7
CiB9CiAKIHZvaWQgYW1kX2lvbW11X3NldF9pbnRyZW1hcF90YWJsZSgKLS0t
IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUu
YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9p
b21tdS5jCkBAIC04MSw0MSArODEsODIgQEAgaW50IGdldF9kbWFfcmVxdWVz
dG9yX2lkKHVpbnQxNl90IHNlZywgdQogICAgIHJldHVybiByZXFfaWQ7CiB9
CiAKLXN0YXRpYyB2b2lkIGFtZF9pb21tdV9zZXR1cF9kb21haW5fZGV2aWNl
KAorc3RhdGljIGludCBfX211c3RfY2hlY2sgYWxsb2NhdGVfZG9tYWluX3Jl
c291cmNlcyhzdHJ1Y3QgZG9tYWluICpkKQoreworICAgIHN0cnVjdCBkb21h
aW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOworICAgIGludCByYzsKKwor
ICAgIHNwaW5fbG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKKyAgICBy
YyA9IGFtZF9pb21tdV9hbGxvY19yb290KGQpOworICAgIHNwaW5fdW5sb2Nr
KCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOworCisgICAgcmV0dXJuIHJjOwor
fQorCitzdGF0aWMgYm9vbCBhbnlfcGRldl9iZWhpbmRfaW9tbXUoY29uc3Qg
c3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqZXhjbHVkZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgYW1k
X2lvbW11ICppb21tdSkKK3sKKyAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldiAq
cGRldjsKKworICAgIGZvcl9lYWNoX3BkZXYgKCBkLCBwZGV2ICkKKyAgICB7
CisgICAgICAgIGlmICggcGRldiA9PSBleGNsdWRlICkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgIGlmICggZmluZF9pb21tdV9mb3JfZGV2
aWNlKHBkZXYtPnNlZywgcGRldi0+c2JkZi5iZGYpID09IGlvbW11ICkKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBm
YWxzZTsKK30KKworc3RhdGljIGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11
X3NldHVwX2RvbWFpbl9kZXZpY2UoCiAgICAgc3RydWN0IGRvbWFpbiAqZG9t
YWluLCBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKICAgICB1aW50OF90IGRl
dmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikKIHsKICAgICBzdHJ1Y3QgYW1k
X2lvbW11X2R0ZSAqdGFibGUsICpkdGU7CiAgICAgdW5zaWduZWQgbG9uZyBm
bGFnczsKLSAgICBpbnQgcmVxX2lkLCB2YWxpZCA9IDE7CisgICAgdW5zaWdu
ZWQgaW50IHJlcV9pZCwgc3JfZmxhZ3M7CisgICAgaW50IHJjOwogICAgIHU4
IGJ1cyA9IHBkZXYtPmJ1czsKICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluX2lv
bW11ICpoZCA9IGRvbV9pb21tdShkb21haW4pOworICAgIGNvbnN0IHN0cnVj
dCBpdnJzX21hcHBpbmdzICppdnJzX2RldjsKKworICAgIEJVR19PTighaGQt
PmFyY2guYW1kLnBhZ2luZ19tb2RlIHx8ICFpb21tdS0+ZGV2X3RhYmxlLmJ1
ZmZlcik7CiAKLSAgICBCVUdfT04oICFoZC0+YXJjaC5hbWQucm9vdF90YWJs
ZSB8fAotICAgICAgICAgICAgIWhkLT5hcmNoLmFtZC5wYWdpbmdfbW9kZSB8
fAotICAgICAgICAgICAgIWlvbW11LT5kZXZfdGFibGUuYnVmZmVyICk7Cisg
ICAgcmMgPSBhbGxvY2F0ZV9kb21haW5fcmVzb3VyY2VzKGRvbWFpbik7Cisg
ICAgaWYgKCByYyApCisgICAgICAgIHJldHVybiByYzsKIAotICAgIGlmICgg
aW9tbXVfaHdkb21fcGFzc3Rocm91Z2ggJiYgaXNfaGFyZHdhcmVfZG9tYWlu
KGRvbWFpbikgKQotICAgICAgICB2YWxpZCA9IDA7CisgICAgcmVxX2lkID0g
Z2V0X2RtYV9yZXF1ZXN0b3JfaWQoaW9tbXUtPnNlZywgcGRldi0+c2JkZi5i
ZGYpOworICAgIGl2cnNfZGV2ID0gJmdldF9pdnJzX21hcHBpbmdzKGlvbW11
LT5zZWcpW3JlcV9pZF07CisgICAgc3JfZmxhZ3MgPSAoaW9tbXVfaHdkb21f
cGFzc3Rocm91Z2ggJiYgaXNfaGFyZHdhcmVfZG9tYWluKGRvbWFpbikKKyAg
ICAgICAgICAgICAgICA/IDAgOiBTRVRfUk9PVF9WQUxJRCkKKyAgICAgICAg
ICAgICAgIHwgKGl2cnNfZGV2LT51bml0eV9tYXAgPyBTRVRfUk9PVF9XSVRI
X1VOSVRZX01BUCA6IDApOwogCiAgICAgLyogZ2V0IGRldmljZS10YWJsZSBl
bnRyeSAqLwogICAgIHJlcV9pZCA9IGdldF9kbWFfcmVxdWVzdG9yX2lkKGlv
bW11LT5zZWcsIFBDSV9CREYyKGJ1cywgZGV2Zm4pKTsKICAgICB0YWJsZSA9
IGlvbW11LT5kZXZfdGFibGUuYnVmZmVyOwogICAgIGR0ZSA9ICZ0YWJsZVty
ZXFfaWRdOworICAgIGl2cnNfZGV2ID0gJmdldF9pdnJzX21hcHBpbmdzKGlv
bW11LT5zZWcpW3JlcV9pZF07CiAKICAgICBzcGluX2xvY2tfaXJxc2F2ZSgm
aW9tbXUtPmxvY2ssIGZsYWdzKTsKIAogICAgIGlmICggIWR0ZS0+diB8fCAh
ZHRlLT50diApCiAgICAgewotICAgICAgICBjb25zdCBzdHJ1Y3QgaXZyc19t
YXBwaW5ncyAqaXZyc19kZXY7Ci0KICAgICAgICAgLyogYmluZCBEVEUgdG8g
ZG9tYWluIHBhZ2UtdGFibGVzICovCi0gICAgICAgIGFtZF9pb21tdV9zZXRf
cm9vdF9wYWdlX3RhYmxlKAotICAgICAgICAgICAgZHRlLCBwYWdlX3RvX21h
ZGRyKGhkLT5hcmNoLmFtZC5yb290X3RhYmxlKSwKLSAgICAgICAgICAgIGRv
bWFpbi0+ZG9tYWluX2lkLCBoZC0+YXJjaC5hbWQucGFnaW5nX21vZGUsIHZh
bGlkKTsKKyAgICAgICAgcmMgPSBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90
YWJsZSgKKyAgICAgICAgICAgICAgICAgZHRlLCBwYWdlX3RvX21hZGRyKGhk
LT5hcmNoLmFtZC5yb290X3RhYmxlKSwKKyAgICAgICAgICAgICAgICAgZG9t
YWluLT5kb21haW5faWQsIGhkLT5hcmNoLmFtZC5wYWdpbmdfbW9kZSwgc3Jf
ZmxhZ3MpOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgeworICAgICAg
ICAgICAgQVNTRVJUKHJjIDwgMCk7CisgICAgICAgICAgICBzcGluX3VubG9j
a19pcnFyZXN0b3JlKCZpb21tdS0+bG9jaywgZmxhZ3MpOworICAgICAgICAg
ICAgcmV0dXJuIHJjOworICAgICAgICB9CiAKICAgICAgICAgLyogVW5kbyB3
aGF0IGFtZF9pb21tdV9kaXNhYmxlX2RvbWFpbl9kZXZpY2UoKSBtYXkgaGF2
ZSBkb25lLiAqLwotICAgICAgICBpdnJzX2RldiA9ICZnZXRfaXZyc19tYXBw
aW5ncyhpb21tdS0+c2VnKVtyZXFfaWRdOwogICAgICAgICBpZiAoIGR0ZS0+
aXRfcm9vdCApCiAgICAgICAgIHsKICAgICAgICAgICAgIGR0ZS0+aW50X2N0
bCA9IElPTU1VX0RFVl9UQUJMRV9JTlRfQ09OVFJPTF9UUkFOU0xBVEVEOwpA
QCAtMTMwLDE3ICsxNzEsNzMgQEAgc3RhdGljIHZvaWQgYW1kX2lvbW11X3Nl
dHVwX2RvbWFpbl9kZXZpYwogICAgICAgICAgICAgZHRlLT5pID0gYXRzX2Vu
YWJsZWQ7CiAKICAgICAgICAgYW1kX2lvbW11X2ZsdXNoX2RldmljZShpb21t
dSwgcmVxX2lkKTsKKyAgICB9CisgICAgZWxzZSBpZiAoIGR0ZS0+cHRfcm9v
dCAhPSBtZm5feChwYWdlX3RvX21mbihoZC0+YXJjaC5hbWQucm9vdF90YWJs
ZSkpICkKKyAgICB7CisgICAgICAgIC8qCisgICAgICAgICAqIFN0cmljdGx5
IHNwZWFraW5nIGlmIHRoZSBkZXZpY2UgaXMgdGhlIG9ubHkgb25lIHdpdGgg
dGhpcyByZXF1ZXN0b3IKKyAgICAgICAgICogSUQsIGl0IGNvdWxkIGJlIGFs
bG93ZWQgdG8gYmUgcmUtYXNzaWduZWQgcmVnYXJkbGVzcyBvZiB1bml0eSBt
YXAKKyAgICAgICAgICogcHJlc2VuY2UuICBCdXQgbGV0J3MgZGVhbCB3aXRo
IHRoYXQgY2FzZSBvbmx5IGlmIGl0IGlzIGFjdHVhbGx5CisgICAgICAgICAq
IGZvdW5kIGluIHRoZSB3aWxkLgorICAgICAgICAgKi8KKyAgICAgICAgaWYg
KCByZXFfaWQgIT0gUENJX0JERjIoYnVzLCBkZXZmbikgJiYKKyAgICAgICAg
ICAgICAoc3JfZmxhZ3MgJiBTRVRfUk9PVF9XSVRIX1VOSVRZX01BUCkgKQor
ICAgICAgICAgICAgcmMgPSAtRU9QTk9UU1VQUDsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgcmMgPSBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJs
ZSgKKyAgICAgICAgICAgICAgICAgICAgIGR0ZSwgcGFnZV90b19tYWRkciho
ZC0+YXJjaC5hbWQucm9vdF90YWJsZSksCisgICAgICAgICAgICAgICAgICAg
ICBkb21haW4tPmRvbWFpbl9pZCwgaGQtPmFyY2guYW1kLnBhZ2luZ19tb2Rl
LCBzcl9mbGFncyk7CisgICAgICAgIGlmICggcmMgPCAwICkKKyAgICAgICAg
eworICAgICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9tbXUt
PmxvY2ssIGZsYWdzKTsKKyAgICAgICAgICAgIHJldHVybiByYzsKKyAgICAg
ICAgfQorICAgICAgICBpZiAoIHJjICYmCisgICAgICAgICAgICAgZG9tYWlu
ICE9IHBkZXYtPmRvbWFpbiAmJgorICAgICAgICAgICAgIC8qCisgICAgICAg
ICAgICAgICogQnkgbm9uLWF0b21pY2FsbHkgdXBkYXRpbmcgdGhlIERURSdz
IGRvbWFpbiBJRCBmaWVsZCBsYXN0LAorICAgICAgICAgICAgICAqIGR1cmlu
ZyBhIHNob3J0IHdpbmRvdyBpbiB0aW1lIFRMQiBlbnRyaWVzIHdpdGggdGhl
IG9sZCBkb21haW4KKyAgICAgICAgICAgICAgKiBJRCBidXQgdGhlIG5ldyBw
YWdlIHRhYmxlcyBtYXkgaGF2ZSBiZWVuIGluc2VydGVkLiAgVGhpcyBjb3Vs
ZAorICAgICAgICAgICAgICAqIGFmZmVjdCBJL08gb2Ygb3RoZXIgZGV2aWNl
cyB1c2luZyB0aGlzIHNhbWUgKG9sZCkgZG9tYWluIElELgorICAgICAgICAg
ICAgICAqIFN1Y2ggdXBkYXRpbmcgdGhlcmVmb3JlIGlzIG5vdCBhIHByb2Js
ZW0gaWYgdGhpcyB3YXMgdGhlIG9ubHkKKyAgICAgICAgICAgICAgKiBkZXZp
Y2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBvbGQgZG9tYWluIElELiAgRGl2ZXJ0
aW5nIEkvTyBvZiBhbnkKKyAgICAgICAgICAgICAgKiBvZiBhIGR5aW5nIGRv
bWFpbidzIGRldmljZXMgdG8gdGhlIHF1YXJhbnRpbmUgcGFnZSB0YWJsZXMg
aXMKKyAgICAgICAgICAgICAgKiBpbnRlbmRlZCBhbnl3YXkuCisgICAgICAg
ICAgICAgICovCisgICAgICAgICAgICAgIXBkZXYtPmRvbWFpbi0+aXNfZHlp
bmcgJiYKKyAgICAgICAgICAgICAoYW55X3BkZXZfYmVoaW5kX2lvbW11KHBk
ZXYtPmRvbWFpbiwgcGRldiwgaW9tbXUpIHx8CisgICAgICAgICAgICAgIHBk
ZXYtPnBoYW50b21fc3RyaWRlKSApCisgICAgICAgICAgICBwcmludGsoIiAl
cHA6IHJlYXNzaWdubWVudCBtYXkgY2F1c2UgJXBkIGRhdGEgY29ycnVwdGlv
blxuIiwKKyAgICAgICAgICAgICAgICAgICAmUENJX1NCREYzKHBkZXYtPnNl
ZywgYnVzLCBkZXZmbiksIHBkZXYtPmRvbWFpbik7CisKKyAgICAgICAgLyoK
KyAgICAgICAgICogQ2hlY2sgcmVtYWluaW5nIHNldHRpbmdzIGFyZSBzdGls
bCBpbiBwbGFjZSBmcm9tIGFuIGVhcmxpZXIgY2FsbAorICAgICAgICAgKiBo
ZXJlLiBUaGV5J3JlIGFsbCBpbmRlcGVuZGVudCBvZiB0aGUgZG9tYWluLCBz
byBzaG91bGQgbm90IGhhdmUKKyAgICAgICAgICogY2hhbmdlZC4KKyAgICAg
ICAgICovCisgICAgICAgIGlmICggZHRlLT5pdF9yb290ICkKKyAgICAgICAg
ICAgIEFTU0VSVChkdGUtPmludF9jdGwgPT0gSU9NTVVfREVWX1RBQkxFX0lO
VF9DT05UUk9MX1RSQU5TTEFURUQpOworICAgICAgICBBU1NFUlQoZHRlLT5p
diA9PSBpb21tdV9pbnRyZW1hcCk7CisgICAgICAgIEFTU0VSVChkdGUtPmV4
ID09IGl2cnNfZGV2LT5kdGVfYWxsb3dfZXhjbHVzaW9uKTsKKyAgICAgICAg
QVNTRVJUKGR0ZS0+c3lzX21ndCA9PSBNQVNLX0VYVFIoaXZyc19kZXYtPmRl
dmljZV9mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgQUNQSV9JVkhEX1NZU1RFTV9NR01UKSk7CiAKLSAgICAgICAg
QU1EX0lPTU1VX0RFQlVHKCJTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNl
IGlkID0gJSN4LCB0eXBlID0gJSN4LCAiCi0gICAgICAgICAgICAgICAgICAg
ICAgICAicm9vdCB0YWJsZSA9ICUjIlBSSXg2NCIsICIKLSAgICAgICAgICAg
ICAgICAgICAgICAgICJkb21haW4gPSAlZCwgcGFnaW5nIG1vZGUgPSAlZFxu
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcV9pZCwgcGRldi0+dHlw
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VfdG9fbWFkZHIoaGQt
PmFyY2guYW1kLnJvb3RfdGFibGUpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgZG9tYWluLT5kb21haW5faWQsIGhkLT5hcmNoLmFtZC5wYWdpbmdfbW9k
ZSk7CisgICAgICAgIGlmICggcGNpX2F0c19kZXZpY2UoaW9tbXUtPnNlZywg
YnVzLCBwZGV2LT5kZXZmbikgJiYKKyAgICAgICAgICAgICBpb21tdV9oYXNf
Y2FwKGlvbW11LCBQQ0lfQ0FQX0lPVExCX1NISUZUKSApCisgICAgICAgICAg
ICBBU1NFUlQoZHRlLT5pID09IGF0c19lbmFibGVkKTsKKworICAgICAgICBh
bWRfaW9tbXVfZmx1c2hfZGV2aWNlKGlvbW11LCByZXFfaWQpOwogICAgIH0K
IAogICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5sb2NrLCBm
bGFncyk7CiAKKyAgICBBTURfSU9NTVVfREVCVUcoIlNldHVwIEkvTyBwYWdl
IHRhYmxlOiBkZXZpY2UgaWQgPSAlI3gsIHR5cGUgPSAlI3gsICIKKyAgICAg
ICAgICAgICAgICAgICAgInJvb3QgdGFibGUgPSAlIyJQUkl4NjQiLCAiCisg
ICAgICAgICAgICAgICAgICAgICJkb21haW4gPSAlZCwgcGFnaW5nIG1vZGUg
PSAlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgcmVxX2lkLCBwZGV2LT50
eXBlLAorICAgICAgICAgICAgICAgICAgICBwYWdlX3RvX21hZGRyKGhkLT5h
cmNoLmFtZC5yb290X3RhYmxlKSwKKyAgICAgICAgICAgICAgICAgICAgZG9t
YWluLT5kb21haW5faWQsIGhkLT5hcmNoLmFtZC5wYWdpbmdfbW9kZSk7CisK
ICAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7CiAKICAgICBpZiAoIHBj
aV9hdHNfZGV2aWNlKGlvbW11LT5zZWcsIGJ1cywgcGRldi0+ZGV2Zm4pICYm
CkBAIC0xNTEsNiArMjQ4LDggQEAgc3RhdGljIHZvaWQgYW1kX2lvbW11X3Nl
dHVwX2RvbWFpbl9kZXZpYwogCiAgICAgICAgIGFtZF9pb21tdV9mbHVzaF9p
b3RsYihkZXZmbiwgcGRldiwgSU5WX0lPTU1VX0FMTF9QQUdFU19BRERSRVNT
LCAwKTsKICAgICB9CisKKyAgICByZXR1cm4gMDsKIH0KIAogaW50IF9faW5p
dCBhY3BpX2l2cnNfaW5pdCh2b2lkKQpAQCAtMjE2LDE4ICszMTUsNiBAQCBp
bnQgYW1kX2lvbW11X2FsbG9jX3Jvb3Qoc3RydWN0IGRvbWFpbiAqCiAgICAg
cmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFsbG9j
YXRlX2RvbWFpbl9yZXNvdXJjZXMoc3RydWN0IGRvbWFpbiAqZCkKLXsKLSAg
ICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKLSAg
ICBpbnQgcmM7Ci0KLSAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdf
bG9jayk7Ci0gICAgcmMgPSBhbWRfaW9tbXVfYWxsb2Nfcm9vdChkKTsKLSAg
ICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKLQotICAg
IHJldHVybiByYzsKLX0KLQogaW50IF9fcmVhZF9tb3N0bHkgYW1kX2lvbW11
X21pbl9wYWdpbmdfbW9kZSA9IDE7CiAKIHN0YXRpYyBpbnQgYW1kX2lvbW11
X2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpCkBAIC0zNDAsNyArNDI3
LDE1IEBAIHN0YXRpYyBpbnQgcmVhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21h
aW4KICAgICAgICAgcmV0dXJuIC1FTk9ERVY7CiAgICAgfQogCi0gICAgYW1k
X2lvbW11X2Rpc2FibGVfZG9tYWluX2RldmljZShzb3VyY2UsIGlvbW11LCBk
ZXZmbiwgcGRldik7CisgICAgcmMgPSBhbWRfaW9tbXVfc2V0dXBfZG9tYWlu
X2RldmljZSh0YXJnZXQsIGlvbW11LCBkZXZmbiwgcGRldik7CisgICAgaWYg
KCByYyApCisgICAgICAgIHJldHVybiByYzsKKworICAgIGlmICggZGV2Zm4g
PT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+ZG9tYWluICE9IHRhcmdldCApCisg
ICAgeworICAgICAgICBsaXN0X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0LCAm
dGFyZ2V0LT5wZGV2X2xpc3QpOworICAgICAgICBwZGV2LT5kb21haW4gPSB0
YXJnZXQ7CisgICAgfQogCiAgICAgLyoKICAgICAgKiBJZiB0aGUgZGV2aWNl
IGJlbG9uZ3MgdG8gdGhlIGhhcmR3YXJlIGRvbWFpbiwgYW5kIGl0IGhhcyBh
IHVuaXR5IG1hcHBpbmcsCkBAIC0zNTYsMjYgKzQ1MSw5IEBAIHN0YXRpYyBp
bnQgcmVhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4KICAgICAgICAgICAg
IHJldHVybiByYzsKICAgICB9CiAKLSAgICBpZiAoIGRldmZuID09IHBkZXYt
PmRldmZuICYmIHBkZXYtPmRvbWFpbiAhPSBkb21faW8gKQotICAgIHsKLSAg
ICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5fbGlzdCwgJmRvbV9pby0+
cGRldl9saXN0KTsKLSAgICAgICAgcGRldi0+ZG9tYWluID0gZG9tX2lvOwot
ICAgIH0KLQotICAgIHJjID0gYWxsb2NhdGVfZG9tYWluX3Jlc291cmNlcyh0
YXJnZXQpOwotICAgIGlmICggcmMgKQotICAgICAgICByZXR1cm4gcmM7Ci0K
LSAgICBhbWRfaW9tbXVfc2V0dXBfZG9tYWluX2RldmljZSh0YXJnZXQsIGlv
bW11LCBkZXZmbiwgcGRldik7CiAgICAgQU1EX0lPTU1VX0RFQlVHKCJSZS1h
c3NpZ24gJXBwIGZyb20gZG9tJWQgdG8gZG9tJWRcbiIsCiAgICAgICAgICAg
ICAgICAgICAgICZwZGV2LT5zYmRmLCBzb3VyY2UtPmRvbWFpbl9pZCwgdGFy
Z2V0LT5kb21haW5faWQpOwogCi0gICAgaWYgKCBkZXZmbiA9PSBwZGV2LT5k
ZXZmbiAmJiBwZGV2LT5kb21haW4gIT0gdGFyZ2V0ICkKLSAgICB7Ci0gICAg
ICAgIGxpc3RfbW92ZSgmcGRldi0+ZG9tYWluX2xpc3QsICZ0YXJnZXQtPnBk
ZXZfbGlzdCk7Ci0gICAgICAgIHBkZXYtPmRvbWFpbiA9IHRhcmdldDsKLSAg
ICB9Ci0KICAgICByZXR1cm4gMDsKIH0KIApAQCAtNDkwLDggKzU2OCw3IEBA
IHN0YXRpYyBpbnQgYW1kX2lvbW11X2FkZF9kZXZpY2UodTggZGV2Zm4KICAg
ICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9tbXUtPmxvY2ssIGZs
YWdzKTsKICAgICB9CiAKLSAgICBhbWRfaW9tbXVfc2V0dXBfZG9tYWluX2Rl
dmljZShwZGV2LT5kb21haW4sIGlvbW11LCBkZXZmbiwgcGRldik7Ci0gICAg
cmV0dXJuIDA7CisgICAgcmV0dXJuIGFtZF9pb21tdV9zZXR1cF9kb21haW5f
ZGV2aWNlKHBkZXYtPmRvbWFpbiwgaW9tbXUsIGRldmZuLCBwZGV2KTsKIH0K
IAogc3RhdGljIGludCBhbWRfaW9tbXVfcmVtb3ZlX2RldmljZSh1OCBkZXZm
biwgc3RydWN0IHBjaV9kZXYgKnBkZXYpCg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBwcmVwYXJlIGZvciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFn
ZSB0YWJsZXMgKHBhcnQgSSkKCkFycmFuZ2UgZm9yIGRvbWFpbiBJRCBhbmQg
cGFnZSB0YWJsZSByb290IHRvIGJlIHBhc3NlZCBhcm91bmQsIHRoZSBsYXR0
ZXIgaW4KcGFydGljdWxhciB0byBkb21haW5fcGdkX21hZGRyKCkgc3VjaCB0
aGF0IHRha2luZyBpdCBmcm9tIHRoZSBwZXItZG9tYWluCmZpZWxkcyBjYW4g
YmUgb3ZlcnJpZGRlbi4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVk
LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5A
aW50ZWwuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2V4dGVybi5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9l
eHRlcm4uaApAQCAtODUsOSArODUsMTAgQEAgdm9pZCAqbWFwX3Z0ZF9kb21h
aW5fcGFnZSh1NjQgbWFkZHIpOwogdm9pZCB1bm1hcF92dGRfZG9tYWluX3Bh
Z2UoY29uc3Qgdm9pZCAqdmEpOwogaW50IGRvbWFpbl9jb250ZXh0X21hcHBp
bmdfb25lKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgc3RydWN0IHZ0ZF9pb21t
dSAqaW9tbXUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCBidXMsIHVpbnQ4X3QgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2ln
bmVkIGludCBtb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwgZG9taWRfdCBkb21pZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHBnZF9t
YWRkciwgdW5zaWduZWQgaW50IG1vZGUpOwogaW50IGRvbWFpbl9jb250ZXh0
X3VubWFwX29uZShzdHJ1Y3QgZG9tYWluICpkb21haW4sIHN0cnVjdCB2dGRf
aW9tbXUgKmlvbW11LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
OCBidXMsIHU4IGRldmZuKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCBidXMsIHVpbnQ4X3QgZGV2Zm4sIGRvbWlkX3QgZG9taWQp
OwogaW50IGludGVsX2lvbW11X2dldF9yZXNlcnZlZF9kZXZpY2VfbWVtb3J5
KGlvbW11X2dyZG1fdCAqZnVuYywgdm9pZCAqY3R4dCk7CiAKIHVuc2lnbmVk
IGludCBpb19hcGljX3JlYWRfcmVtYXBfcnRlKHVuc2lnbmVkIGludCBhcGlj
LCB1bnNpZ25lZCBpbnQgcmVnKTsKQEAgLTEwNSw3ICsxMDYsOCBAQCB2b2lk
IHBsYXRmb3JtX3F1aXJrc19pbml0KHZvaWQpOwogdm9pZCB2dGRfb3BzX3By
ZWFtYmxlX3F1aXJrKHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KTsKIHZvaWQg
dnRkX29wc19wb3N0YW1ibGVfcXVpcmsoc3RydWN0IHZ0ZF9pb21tdSAqaW9t
bXUpOwogaW50IF9fbXVzdF9jaGVjayBtZV93aWZpX3F1aXJrKHN0cnVjdCBk
b21haW4gKmRvbWFpbiwgdWludDhfdCBidXMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDhfdCBkZXZmbiwgdW5zaWduZWQgaW50IG1v
ZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qg
ZGV2Zm4sIGRvbWlkX3QgZG9taWQsIHBhZGRyX3QgcGdkX21hZGRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtb2Rl
KTsKIHZvaWQgcGNpX3Z0ZF9xdWlyayhjb25zdCBzdHJ1Y3QgcGNpX2RldiAq
KTsKIHZvaWQgcXVpcmtfaW9tbXVfY2FwcyhzdHJ1Y3QgdnRkX2lvbW11ICpp
b21tdSk7CiAKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmMKQEAgLTM1NSwxNSArMzU1LDE3IEBAIHN0YXRpYyB1NjQgYWRkcl90b19k
bWFfcGFnZV9tYWRkcihzdHJ1Y3QKICAgICByZXR1cm4gcHRlX21hZGRyOwog
fQogCi1zdGF0aWMgdWludDY0X3QgZG9tYWluX3BnZF9tYWRkcihzdHJ1Y3Qg
ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgbnJfcHRfbGV2ZWxzKQorc3RhdGlj
IHBhZGRyX3QgZG9tYWluX3BnZF9tYWRkcihzdHJ1Y3QgZG9tYWluICpkLCBw
YWRkcl90IHBnZF9tYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50IG5yX3B0X2xldmVscykKIHsKICAgICBzdHJ1
Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKLSAgICB1aW50
NjRfdCBwZ2RfbWFkZHI7CiAgICAgdW5zaWduZWQgaW50IGFnYXc7CiAKICAg
ICBBU1NFUlQoc3Bpbl9pc19sb2NrZWQoJmhkLT5hcmNoLm1hcHBpbmdfbG9j
aykpOwogCi0gICAgaWYgKCBpb21tdV91c2VfaGFwX3B0KGQpICkKKyAgICBp
ZiAoIHBnZF9tYWRkciApCisgICAgICAgIC8qIG5vdGhpbmcgKi87CisgICAg
ZWxzZSBpZiAoIGlvbW11X3VzZV9oYXBfcHQoZCkgKQogICAgIHsKICAgICAg
ICAgcGFnZXRhYmxlX3QgcGd0ID0gcDJtX2dldF9wYWdldGFibGUocDJtX2dl
dF9ob3N0cDJtKGQpKTsKIApAQCAtMTM3NiwxMiArMTM3OCwxMiBAQCBpbnQg
ZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgc3RydWN0IGRvbWFp
biAqZG9tYWluLAogICAgIHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11LAogICAg
IHVpbnQ4X3QgYnVzLCB1aW50OF90IGRldmZuLCBjb25zdCBzdHJ1Y3QgcGNp
X2RldiAqcGRldiwKLSAgICB1bnNpZ25lZCBpbnQgbW9kZSkKKyAgICBkb21p
ZF90IGRvbWlkLCBwYWRkcl90IHBnZF9tYWRkciwgdW5zaWduZWQgaW50IG1v
ZGUpCiB7CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9t
bXUoZG9tYWluKTsKICAgICBzdHJ1Y3QgY29udGV4dF9lbnRyeSAqY29udGV4
dCwgKmNvbnRleHRfZW50cmllcywgbGN0eHQ7CiAgICAgX191aW50MTI4X3Qg
b2xkOwotICAgIHU2NCBtYWRkciwgcGdkX21hZGRyOworICAgIHVpbnQ2NF90
IG1hZGRyOwogICAgIHVpbnQxNl90IHNlZyA9IGlvbW11LT5kcmhkLT5zZWdt
ZW50LCBwcmV2X2RpZCA9IDA7CiAgICAgc3RydWN0IGRvbWFpbiAqcHJldl9k
b20gPSBOVUxMOwogICAgIGludCByYywgcmV0OwpAQCAtMTQyMSwxMCArMTQy
MywxMiBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAg
fQogICAgIGVsc2UKICAgICB7CisgICAgICAgIHBhZGRyX3Qgcm9vdDsKKwog
ICAgICAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CiAK
LSAgICAgICAgcGdkX21hZGRyID0gZG9tYWluX3BnZF9tYWRkcihkb21haW4s
IGlvbW11LT5ucl9wdF9sZXZlbHMpOwotICAgICAgICBpZiAoICFwZ2RfbWFk
ZHIgKQorICAgICAgICByb290ID0gZG9tYWluX3BnZF9tYWRkcihkb21haW4s
IHBnZF9tYWRkciwgaW9tbXUtPm5yX3B0X2xldmVscyk7CisgICAgICAgIGlm
ICggIXJvb3QgKQogICAgICAgICB7CiAgICAgICAgICAgICBzcGluX3VubG9j
aygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKICAgICAgICAgICAgIHNwaW5f
dW5sb2NrKCZpb21tdS0+bG9jayk7CkBAIC0xNDM0LDcgKzE0MzgsNyBAQCBp
bnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgICAgICAgICBy
ZXR1cm4gLUVOT01FTTsKICAgICAgICAgfQogCi0gICAgICAgIGNvbnRleHRf
c2V0X2FkZHJlc3Nfcm9vdChsY3R4dCwgcGdkX21hZGRyKTsKKyAgICAgICAg
Y29udGV4dF9zZXRfYWRkcmVzc19yb290KGxjdHh0LCByb290KTsKICAgICAg
ICAgaWYgKCBhdHNfZW5hYmxlZCAmJiBlY2FwX2Rldl9pb3RsYihpb21tdS0+
ZWNhcCkgKQogICAgICAgICAgICAgY29udGV4dF9zZXRfdHJhbnNsYXRpb25f
dHlwZShsY3R4dCwgQ09OVEVYVF9UVF9ERVZfSU9UTEIpOwogICAgICAgICBl
bHNlCkBAIC0xNTUwLDE1ICsxNTU0LDIxIEBAIGludCBkb21haW5fY29udGV4
dF9tYXBwaW5nX29uZSgKICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoY29u
dGV4dF9lbnRyaWVzKTsKIAogICAgIGlmICggIXNlZyAmJiAhcmMgKQotICAg
ICAgICByYyA9IG1lX3dpZmlfcXVpcmsoZG9tYWluLCBidXMsIGRldmZuLCBt
b2RlKTsKKyAgICAgICAgcmMgPSBtZV93aWZpX3F1aXJrKGRvbWFpbiwgYnVz
LCBkZXZmbiwgZG9taWQsIHBnZF9tYWRkciwgbW9kZSk7CiAKICAgICBpZiAo
IHJjICkKICAgICB7CiAgICAgICAgIGlmICggIXByZXZfZG9tICkKLSAgICAg
ICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4s
IGlvbW11LCBidXMsIGRldmZuKTsKKyAgICAgICAgICAgIHJldCA9IGRvbWFp
bl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCBidXMsIGRldmZu
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRvbWFpbi0+ZG9tYWluX2lkKTsKICAgICAgICAgZWxzZSBpZiAoIHByZXZf
ZG9tICE9IGRvbWFpbiApIC8qIEF2b2lkIGluZmluaXRlIHJlY3Vyc2lvbi4g
Ki8KKyAgICAgICAgeworICAgICAgICAgICAgaGQgPSBkb21faW9tbXUocHJl
dl9kb20pOwogICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFw
cGluZ19vbmUocHJldl9kb20sIGlvbW11LCBidXMsIGRldmZuLCBwZGV2LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG9tYWluLT5kb21haW5faWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZC0+YXJjaC52dGQucGdkX21hZGRyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bW9kZSAmIE1BUF9XSVRIX1JNUlIpIDwgMDsKKyAgICAgICAgfQogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICByZXQgPSAxOwogCkBAIC0xNTgwLDYgKzE1
OTAsNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3Ry
dWN0CiB7CiAgICAgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwogICAg
IGNvbnN0IHN0cnVjdCBhY3BpX3JtcnJfdW5pdCAqcm1ycjsKKyAgICBwYWRk
cl90IHBnZF9tYWRkciA9IGRvbV9pb21tdShkb21haW4pLT5hcmNoLnZ0ZC5w
Z2RfbWFkZHI7CiAgICAgaW50IHJldCA9IDA7CiAgICAgdW5zaWduZWQgaW50
IGksIG1vZGUgPSAwOwogICAgIHVpbnQxNl90IHNlZyA9IHBkZXYtPnNlZywg
YmRmOwpAQCAtMTY0Myw3ICsxNjU0LDggQEAgc3RhdGljIGludCBkb21haW5f
Y29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICAgICAgcHJpbnRrKFZU
RFBSRUZJWCAiJXBkOlBDSWU6IG1hcCAlcHBcbiIsCiAgICAgICAgICAgICAg
ICAgICAgZG9tYWluLCAmUENJX1NCREYzKHNlZywgYnVzLCBkZXZmbikpOwog
ICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21h
aW4sIGRyaGQtPmlvbW11LCBidXMsIGRldmZuLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwZGV2LCBtb2RlKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRldiwgZG9t
YWluLT5kb21haW5faWQsIHBnZF9tYWRkciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSk7CiAgICAgICAgIGlmICgg
cmV0ID4gMCApCiAgICAgICAgICAgICByZXQgPSAwOwogICAgICAgICBpZiAo
ICFyZXQgJiYgZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgYXRzX2RldmljZShw
ZGV2LCBkcmhkKSA+IDAgKQpAQCAtMTY1Nyw3ICsxNjY5LDggQEAgc3RhdGlj
IGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICAg
ICAgICAgICAgIGRvbWFpbiwgJlBDSV9TQkRGMyhzZWcsIGJ1cywgZGV2Zm4p
KTsKIAogICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29u
ZShkb21haW4sIGRyaGQtPmlvbW11LCBidXMsIGRldmZuLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZGV2LCBtb2RlKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRl
diwgZG9tYWluLT5kb21haW5faWQsIHBnZF9tYWRkciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSk7CiAgICAgICAg
IGlmICggcmV0IDwgMCApCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
cHJldl9wcmVzZW50ID0gcmV0OwpAQCAtMTY4NSw3ICsxNjk4LDggQEAgc3Rh
dGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAg
ICAgKi8KICAgICAgICAgaWYgKCByZXQgPj0gMCApCiAgICAgICAgICAgICBy
ZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21haW4sIGRyaGQt
PmlvbW11LCBidXMsIGRldmZuLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTlVMTCwgbW9kZSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBkb21h
aW4tPmRvbWFpbl9pZCwgcGdkX21hZGRyLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSk7CiAKICAgICAgICAg
LyoKICAgICAgICAgICogRGV2aWNlcyBiZWhpbmQgUENJZS10by1QQ0kvUENJ
eCBicmlkZ2UgbWF5IGdlbmVyYXRlIGRpZmZlcmVudApAQCAtMTcwMCw3ICsx
NzE0LDggQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0
cnVjdAogICAgICAgICBpZiAoICFyZXQgJiYgcGRldl90eXBlKHNlZywgYnVz
LCBkZXZmbikgPT0gREVWX1RZUEVfUENJZTJQQ0lfQlJJREdFICYmCiAgICAg
ICAgICAgICAgKHNlY2J1cyAhPSBwZGV2LT5idXMgfHwgcGRldi0+ZGV2Zm4g
IT0gMCkgKQogICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFw
cGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgc2VjYnVzLCAwLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM
TCwgbW9kZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBOVUxMLCBkb21haW4tPmRvbWFpbl9pZCwgcGdkX21hZGRy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbW9kZSk7CiAKICAgICAgICAgaWYgKCByZXQgKQogICAgICAgICB7CkBA
IC0xNzI4LDcgKzE3NDMsNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0
X21hcHBpbmcoc3RydWN0CiBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXBfb25l
KAogICAgIHN0cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICBzdHJ1Y3QgdnRk
X2lvbW11ICppb21tdSwKLSAgICB1OCBidXMsIHU4IGRldmZuKQorICAgIHVp
bnQ4X3QgYnVzLCB1aW50OF90IGRldmZuLCBkb21pZF90IGRvbWlkKQogewog
ICAgIHN0cnVjdCBjb250ZXh0X2VudHJ5ICpjb250ZXh0LCAqY29udGV4dF9l
bnRyaWVzOwogICAgIHU2NCBtYWRkcjsKQEAgLTE3ODYsNyArMTgwMSw3IEBA
IGludCBkb21haW5fY29udGV4dF91bm1hcF9vbmUoCiAgICAgdW5tYXBfdnRk
X2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7CiAKICAgICBpZiAoICFp
b21tdS0+ZHJoZC0+c2VnbWVudCAmJiAhcmMgKQotICAgICAgICByYyA9IG1l
X3dpZmlfcXVpcmsoZG9tYWluLCBidXMsIGRldmZuLCBVTk1BUF9NRV9QSEFO
VE9NX0ZVTkMpOworICAgICAgICByYyA9IG1lX3dpZmlfcXVpcmsoZG9tYWlu
LCBidXMsIGRldmZuLCBkb21pZCwgMCwgVU5NQVBfTUVfUEhBTlRPTV9GVU5D
KTsKIAogICAgIGlmICggcmMgJiYgIWlzX2hhcmR3YXJlX2RvbWFpbihkb21h
aW4pICYmIGRvbWFpbiAhPSBkb21faW8gKQogICAgIHsKQEAgLTE4MzcsNyAr
MTg1Miw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXAoc3Ry
dWN0IGQKICAgICAgICAgaWYgKCBpb21tdV9kZWJ1ZyApCiAgICAgICAgICAg
ICBwcmludGsoVlREUFJFRklYICIlcGQ6UENJZTogdW5tYXAgJXBwXG4iLAog
ICAgICAgICAgICAgICAgICAgIGRvbWFpbiwgJlBDSV9TQkRGMyhzZWcsIGJ1
cywgZGV2Zm4pKTsKLSAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5t
YXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4pOworICAgICAgICBy
ZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwg
YnVzLCBkZXZmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKICAgICAgICAgaWYgKCAhcmV0
ICYmIGRldmZuID09IHBkZXYtPmRldmZuICYmIGF0c19kZXZpY2UocGRldiwg
ZHJoZCkgPiAwICkKICAgICAgICAgICAgIGRpc2FibGVfYXRzX2RldmljZShw
ZGV2KTsKIApAQCAtMTg0Nyw3ICsxODYzLDggQEAgc3RhdGljIGludCBkb21h
aW5fY29udGV4dF91bm1hcChzdHJ1Y3QgZAogICAgICAgICBpZiAoIGlvbW11
X2RlYnVnICkKICAgICAgICAgICAgIHByaW50ayhWVERQUkVGSVggIiVwZDpQ
Q0k6IHVubWFwICVwcFxuIiwKICAgICAgICAgICAgICAgICAgICBkb21haW4s
ICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZuKSk7Ci0gICAgICAgIHJldCA9
IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCBidXMs
IGRldmZuKTsKKyAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBf
b25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCk7
CiAgICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGJyZWFrOwogCkBA
IC0xODczLDEyICsxODkwLDE1IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRl
eHRfdW5tYXAoc3RydWN0IGQKICAgICAgICAgLyogUENJZSB0byBQQ0kvUENJ
eCBicmlkZ2UgKi8KICAgICAgICAgaWYgKCBwZGV2X3R5cGUoc2VnLCB0bXBf
YnVzLCB0bXBfZGV2Zm4pID09IERFVl9UWVBFX1BDSWUyUENJX0JSSURHRSAp
CiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0
X3VubWFwX29uZShkb21haW4sIGlvbW11LCB0bXBfYnVzLCB0bXBfZGV2Zm4p
OworICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25l
KGRvbWFpbiwgaW9tbXUsIHRtcF9idXMsIHRtcF9kZXZmbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRv
bWFpbl9pZCk7CiAgICAgICAgICAgICBpZiAoICFyZXQgKQotICAgICAgICAg
ICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4s
IGlvbW11LCBzZWNidXMsIDApOworICAgICAgICAgICAgICAgIHJldCA9IGRv
bWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCBzZWNidXMs
IDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKICAgICAgICAgfQogICAgICAg
ICBlbHNlIC8qIExlZ2FjeSBQQ0kgYnJpZGdlICovCi0gICAgICAgICAgICBy
ZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwg
dG1wX2J1cywgdG1wX2RldmZuKTsKKyAgICAgICAgICAgIHJldCA9IGRvbWFp
bl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCB0bXBfYnVzLCB0
bXBfZGV2Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOwogCiAgICAgICAgIGJyZWFr
OwogCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xdWlya3Mu
YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcXVpcmtzLmMK
QEAgLTM0NSw2ICszNDUsOCBAQCB2b2lkIF9faW5pdCBwbGF0Zm9ybV9xdWly
a3NfaW5pdCh2b2lkKQogCiBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBtYXBf
bWVfcGhhbnRvbV9mdW5jdGlvbihzdHJ1Y3QgZG9tYWluICpkb21haW4sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBpbnQgZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBkb21pZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh
ZGRyX3QgcGdkX21hZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAg
ICAgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwpAQCAtMzU4LDE2ICsz
NjAsMTcgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgbWFwX21lX3BoYW50
b21fZgogICAgIC8qIG1hcCBvciB1bm1hcCBNRSBwaGFudG9tIGZ1bmN0aW9u
ICovCiAgICAgaWYgKCAhKG1vZGUgJiBVTk1BUF9NRV9QSEFOVE9NX0ZVTkMp
ICkKICAgICAgICAgcmMgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShk
b21haW4sIGRyaGQtPmlvbW11LCAwLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFBDSV9ERVZGTihkZXYsIDcpLCBOVUxMLCBt
b2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBQQ0lfREVWRk4oZGV2LCA3KSwgTlVMTCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb21pZCwgcGdkX21hZGRyLCBtb2Rl
KTsKICAgICBlbHNlCiAgICAgICAgIHJjID0gZG9tYWluX2NvbnRleHRfdW5t
YXBfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIDAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9ERVZGTihkZXYsIDcpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJX0RF
VkZOKGRldiwgNyksIGRvbWlkKTsKIAogICAgIHJldHVybiByYzsKIH0KIAog
aW50IG1lX3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1aW50
OF90IGJ1cywgdWludDhfdCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCBtb2RlKQorICAgICAgICAgICAgICAgICAgZG9taWRfdCBk
b21pZCwgcGFkZHJfdCBwZ2RfbWFkZHIsIHVuc2lnbmVkIGludCBtb2RlKQog
ewogICAgIHUzMiBpZDsKICAgICBpbnQgcmMgPSAwOwpAQCAtMzkxLDcgKzM5
NCw3IEBAIGludCBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21haW4gKmRvbWFp
biwKICAgICAgICAgICAgIGNhc2UgMHg0MjNiODA4NjoKICAgICAgICAgICAg
IGNhc2UgMHg0MjNjODA4NjoKICAgICAgICAgICAgIGNhc2UgMHg0MjNkODA4
NjoKLSAgICAgICAgICAgICAgICByYyA9IG1hcF9tZV9waGFudG9tX2Z1bmN0
aW9uKGRvbWFpbiwgMywgbW9kZSk7CisgICAgICAgICAgICAgICAgcmMgPSBt
YXBfbWVfcGhhbnRvbV9mdW5jdGlvbihkb21haW4sIDMsIGRvbWlkLCBwZ2Rf
bWFkZHIsIG1vZGUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTQx
Nyw3ICs0MjAsNyBAQCBpbnQgbWVfd2lmaV9xdWlyayhzdHJ1Y3QgZG9tYWlu
ICpkb21haW4sCiAgICAgICAgICAgICBjYXNlIDB4NDIzODgwODY6ICAgICAg
ICAvKiBQdW1hIFBlYWsgKi8KICAgICAgICAgICAgIGNhc2UgMHg0MjJiODA4
NjoKICAgICAgICAgICAgIGNhc2UgMHg0MjJjODA4NjoKLSAgICAgICAgICAg
ICAgICByYyA9IG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKGRvbWFpbiwgMjIs
IG1vZGUpOworICAgICAgICAgICAgICAgIHJjID0gbWFwX21lX3BoYW50b21f
ZnVuY3Rpb24oZG9tYWluLCAyMiwgZG9taWQsIHBnZF9tYWRkciwgbW9kZSk7
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgICAgIGJyZWFrOwo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBwcmVwYXJlIGZvciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFn
ZSB0YWJsZXMgKHBhcnQgSUkpCgpSZXBsYWNlIHRoZSBwYXNzaW5nIG9mIHN0
cnVjdCBkb21haW4gKiBieSBkb21pZF90IGluIHByZXBhcmF0aW9uIG9mCnBl
ci1kZXZpY2UgcXVhcmFudGluZSBwYWdlIHRhYmxlcyBhbHNvIHJlcXVpcmlu
ZyBwZXItZGV2aWNlIHBzZXVkbwpkb21haW4gSURzLCB3aGljaCBhcmVuJ3Qg
Z29pbmcgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGFueSBzdHJ1Y3QgZG9tYWlu
Cmluc3RhbmNlcy4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkIChl
eGNlcHQgZm9yIHNsaWdodGx5IGFkanVzdGVkIGxvZyBtZXNzYWdlCnRleHQp
LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+
ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNv
bT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKQEAgLTU5LDggKzU5LDggQEAgc3RhdGljIHN0cnVjdCB0YXNrbGV0
IHZ0ZF9mYXVsdF90YXNrbGV0Owogc3RhdGljIGludCBzZXR1cF9od2RvbV9k
ZXZpY2UodTggZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICopOwogc3RhdGljIHZv
aWQgc2V0dXBfaHdkb21fcm1ycihzdHJ1Y3QgZG9tYWluICpkKTsKIAotc3Rh
dGljIGludCBkb21haW5faW9tbXVfZG9taWQoc3RydWN0IGRvbWFpbiAqZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11KQorc3RhdGljIGludCBnZXRfaW9tbXVfZGlkKGRvbWlkX3Qg
ZG9taWQsIGNvbnN0IHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11LAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgd2FybikKIHsKICAgICB1bnNpZ25l
ZCBsb25nIG5yX2RvbSwgaTsKIApAQCAtNjgsMTYgKzY4LDE2IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2lvbW11X2RvbWlkKHN0cnVjdCBkb20KICAgICBpID0g
ZmluZF9maXJzdF9iaXQoaW9tbXUtPmRvbWlkX2JpdG1hcCwgbnJfZG9tKTsK
ICAgICB3aGlsZSAoIGkgPCBucl9kb20gKQogICAgIHsKLSAgICAgICAgaWYg
KCBpb21tdS0+ZG9taWRfbWFwW2ldID09IGQtPmRvbWFpbl9pZCApCisgICAg
ICAgIGlmICggaW9tbXUtPmRvbWlkX21hcFtpXSA9PSBkb21pZCApCiAgICAg
ICAgICAgICByZXR1cm4gaTsKIAogICAgICAgICBpID0gZmluZF9uZXh0X2Jp
dChpb21tdS0+ZG9taWRfYml0bWFwLCBucl9kb20sIGkrMSk7CiAgICAgfQog
Ci0gICAgaWYgKCAhZC0+aXNfZHlpbmcgKQorICAgIGlmICggd2FybiApCiAg
ICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsCi0gICAgICAg
ICAgICAgICAgIkNhbm5vdCBnZXQgdmFsaWQgaW9tbXUgJXUgZG9taWQ6ICVw
ZFxuIiwKLSAgICAgICAgICAgICAgICBpb21tdS0+aW5kZXgsIGQpOworICAg
ICAgICAgICAgICAgICJObyB2YWxpZCBpb21tdSAldSBkb21pZCBmb3IgRG9t
JWRcbiIsCisgICAgICAgICAgICAgICAgaW9tbXUtPmluZGV4LCBkb21pZCk7
CiAKICAgICByZXR1cm4gLTE7CiB9CkBAIC04NSw4ICs4NSw3IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2lvbW11X2RvbWlkKHN0cnVjdCBkb20KICNkZWZpbmUg
RElEX0ZJRUxEX1dJRFRIIDE2CiAjZGVmaW5lIERJRF9ISUdIX09GRlNFVCA4
CiBzdGF0aWMgaW50IGNvbnRleHRfc2V0X2RvbWFpbl9pZChzdHJ1Y3QgY29u
dGV4dF9lbnRyeSAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQs
IHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KQogewogICAgIHVuc2lnbmVkIGxv
bmcgbnJfZG9tLCBpOwogICAgIGludCBmb3VuZCA9IDA7CkBAIC05Nyw3ICs5
Niw3IEBAIHN0YXRpYyBpbnQgY29udGV4dF9zZXRfZG9tYWluX2lkKHN0cnVj
dAogICAgIGkgPSBmaW5kX2ZpcnN0X2JpdChpb21tdS0+ZG9taWRfYml0bWFw
LCBucl9kb20pOwogICAgIHdoaWxlICggaSA8IG5yX2RvbSApCiAgICAgewot
ICAgICAgICBpZiAoIGlvbW11LT5kb21pZF9tYXBbaV0gPT0gZC0+ZG9tYWlu
X2lkICkKKyAgICAgICAgaWYgKCBpb21tdS0+ZG9taWRfbWFwW2ldID09IGRv
bWlkICkKICAgICAgICAgewogICAgICAgICAgICAgZm91bmQgPSAxOwogICAg
ICAgICAgICAgYnJlYWs7CkBAIC0xMTMsNyArMTEyLDcgQEAgc3RhdGljIGlu
dCBjb250ZXh0X3NldF9kb21haW5faWQoc3RydWN0CiAgICAgICAgICAgICBk
cHJpbnRrKFhFTkxPR19FUlIgVlREUFJFRklYLCAiSU9NTVU6IG5vIGZyZWUg
ZG9tYWluIGlkc1xuIik7CiAgICAgICAgICAgICByZXR1cm4gLUVGQVVMVDsK
ICAgICAgICAgfQotICAgICAgICBpb21tdS0+ZG9taWRfbWFwW2ldID0gZC0+
ZG9tYWluX2lkOworICAgICAgICBpb21tdS0+ZG9taWRfbWFwW2ldID0gZG9t
aWQ7CiAgICAgfQogCiAgICAgc2V0X2JpdChpLCBpb21tdS0+ZG9taWRfYml0
bWFwKTsKQEAgLTEyMiw5ICsxMjEsOSBAQCBzdGF0aWMgaW50IGNvbnRleHRf
c2V0X2RvbWFpbl9pZChzdHJ1Y3QKICAgICByZXR1cm4gMDsKIH0KIAotc3Rh
dGljIHZvaWQgY2xlYW51cF9kb21pZF9tYXAoc3RydWN0IGRvbWFpbiAqZG9t
YWluLCBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkKK3N0YXRpYyB2b2lkIGNs
ZWFudXBfZG9taWRfbWFwKGRvbWlkX3QgZG9taWQsIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11KQogewotICAgIGludCBpb21tdV9kb21pZCA9IGRvbWFpbl9p
b21tdV9kb21pZChkb21haW4sIGlvbW11KTsKKyAgICBpbnQgaW9tbXVfZG9t
aWQgPSBnZXRfaW9tbXVfZGlkKGRvbWlkLCBpb21tdSwgZmFsc2UpOwogCiAg
ICAgaWYgKCBpb21tdV9kb21pZCA+PSAwICkKICAgICB7CkBAIC0xODAsNyAr
MTc5LDcgQEAgc3RhdGljIHZvaWQgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAo
c3RydQogICAgIGlmICggIWZvdW5kICkKICAgICB7CiAgICAgICAgIGNsZWFy
X2JpdChpb21tdS0+aW5kZXgsICZkb21faW9tbXUoZCktPmFyY2gudnRkLmlv
bW11X2JpdG1hcCk7Ci0gICAgICAgIGNsZWFudXBfZG9taWRfbWFwKGQsIGlv
bW11KTsKKyAgICAgICAgY2xlYW51cF9kb21pZF9tYXAoZC0+ZG9tYWluX2lk
LCBpb21tdSk7CiAgICAgfQogfQogCkBAIC02ODcsNyArNjg2LDcgQEAgc3Rh
dGljIGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfaW90bAogICAgICAg
ICAgICAgY29udGludWU7CiAKICAgICAgICAgZmx1c2hfZGV2X2lvdGxiID0g
ISFmaW5kX2F0c19kZXZfZHJoZChpb21tdSk7Ci0gICAgICAgIGlvbW11X2Rv
bWlkPSBkb21haW5faW9tbXVfZG9taWQoZCwgaW9tbXUpOworICAgICAgICBp
b21tdV9kb21pZCA9IGdldF9pb21tdV9kaWQoZC0+ZG9tYWluX2lkLCBpb21t
dSwgIWQtPmlzX2R5aW5nKTsKICAgICAgICAgaWYgKCBpb21tdV9kb21pZCA9
PSAtMSApCiAgICAgICAgICAgICBjb250aW51ZTsKIApAQCAtMTQ0Nyw3ICsx
NDQ2LDcgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAg
ICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKICAg
ICB9CiAKLSAgICBpZiAoIGNvbnRleHRfc2V0X2RvbWFpbl9pZCgmbGN0eHQs
IGRvbWFpbiwgaW9tbXUpICkKKyAgICBpZiAoIGNvbnRleHRfc2V0X2RvbWFp
bl9pZCgmbGN0eHQsIGRvbWlkLCBpb21tdSkgKQogICAgIHsKICAgICB1bmxv
Y2s6CiAgICAgICAgIHNwaW5fdW5sb2NrKCZpb21tdS0+bG9jayk7CkBAIC0x
NzY4LDcgKzE3NjcsNyBAQCBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXBfb25l
KAogICAgIGNvbnRleHRfY2xlYXJfZW50cnkoKmNvbnRleHQpOwogICAgIGlv
bW11X3N5bmNfY2FjaGUoY29udGV4dCwgc2l6ZW9mKHN0cnVjdCBjb250ZXh0
X2VudHJ5KSk7CiAKLSAgICBpb21tdV9kb21pZD0gZG9tYWluX2lvbW11X2Rv
bWlkKGRvbWFpbiwgaW9tbXUpOworICAgIGlvbW11X2RvbWlkID0gZ2V0X2lv
bW11X2RpZChkb21pZCwgaW9tbXUsICFkb21haW4tPmlzX2R5aW5nKTsKICAg
ICBpZiAoIGlvbW11X2RvbWlkID09IC0xICkKICAgICB7CiAgICAgICAgIHNw
aW5fdW5sb2NrKCZpb21tdS0+bG9jayk7CkBAIC0xOTM4LDcgKzE5MzcsNyBA
QCBzdGF0aWMgdm9pZCBpb21tdV9kb21haW5fdGVhcmRvd24oc3RydWN0CiAg
ICAgQVNTRVJUKCFoZC0+YXJjaC52dGQucGdkX21hZGRyKTsKIAogICAgIGZv
cl9lYWNoX2RyaGRfdW5pdCAoIGRyaGQgKQotICAgICAgICBjbGVhbnVwX2Rv
bWlkX21hcChkLCBkcmhkLT5pb21tdSk7CisgICAgICAgIGNsZWFudXBfZG9t
aWRfbWFwKGQtPmRvbWFpbl9pZCwgZHJoZC0+aW9tbXUpOwogfQogCiBzdGF0
aWMgaW50IF9fbXVzdF9jaGVjayBpbnRlbF9pb21tdV9tYXBfcGFnZShzdHJ1
Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4sCg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IG1haW50YWluIGEgcGVyLWRldmljZSBwc2V1ZG8gZG9t
YWluIElECgpJbiBvcmRlciB0byBzdWJzZXF1ZW50bHkgZW5hYmxlIHBlci1k
ZXZpY2UgcXVhcmFudGluZSBwYWdlIHRhYmxlcywgd2UnbGwKbmVlZCBkb21h
aW4tSUQtbGlrZSBpZGVudGlmaWVycyB0byBiZSBpbnNlcnRlZCBpbiB0aGUg
cmVzcGVjdGl2ZSBkZXZpY2UKKEFNRCkgb3IgY29udGV4dCAoSW50ZWwpIHRh
YmxlIGVudHJpZXMgYWxvbmdzaWRlIHRoZSBwZXItZGV2aWNlIHBhZ2UKdGFi
bGUgcm9vdCBhZGRyZXNzZXMuCgpNYWtlIHVzZSBvZiAicmVhbCIgZG9tYWlu
IElEcyBvY2N1cHlpbmcgb25seSBoYWxmIG9mIHRoZSB2YWx1ZSByYW5nZQpj
b3ZlcmFibGUgYnkgZG9taWRfdC4KCk5vdGUgdGhhdCBpbiBWVC1kJ3MgaW9t
bXVfYWxsb2MoKSBJIGRpZG4ndCB3YW50IHRvIGludHJvZHVjZSBuZXcgbWVt
b3J5CmxlYWtzIGluIGNhc2Ugb2YgZXJyb3IsIGJ1dCBleGlzdGluZyBvbmVz
IGRvbid0IGdldCBwbHVnZ2VkIC0gdGhhdCdsbCBiZQp0aGUgc3ViamVjdCBv
ZiBhIGxhdGVyIGNoYW5nZS4KClRoZSBWVC1kIGNoYW5nZXMgYXJlIHNsaWdo
dGx5IGFzeW1tZXRyaWMsIGJ1dCB0aGlzIHdheSB3ZSBjYW4gYXZvaWQKYXNz
aWduaW5nIHBzZXVkbyBkb21haW4gSURzIHRvIGRldmljZXMgd2hpY2ggd291
bGQgbmV2ZXIgYmUgbWFwcGVkIHdoaWxlCnN0aWxsIGF2b2lkaW5nIHRvIGFk
ZCBhIG5ldyBwYXJhbWV0ZXIgdG8gZG9tYWluX2NvbnRleHRfdW5tYXAoKS4K
ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpS
ZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKQEAgLTE0Miw2ICsx
NDIsMTAgQEAgaW50IHBpX3VwZGF0ZV9pcnRlKGNvbnN0IHN0cnVjdCBwaV9k
ZXNjCiAgICAgICAgIGlvbW11X3ZjYWxsKG9wcywgc3luY19jYWNoZSwgYWRk
ciwgc2l6ZSk7ICAgICAgIFwKIH0pCiAKK3Vuc2lnbmVkIGxvbmcgKmlvbW11
X2luaXRfZG9taWQodm9pZCk7Citkb21pZF90IGlvbW11X2FsbG9jX2RvbWlk
KHVuc2lnbmVkIGxvbmcgKm1hcCk7Cit2b2lkIGlvbW11X2ZyZWVfZG9taWQo
ZG9taWRfdCBkb21pZCwgdW5zaWduZWQgbG9uZyAqbWFwKTsKKwogaW50IF9f
bXVzdF9jaGVjayBpb21tdV9mcmVlX3BndGFibGVzKHN0cnVjdCBkb21haW4g
KmQpOwogc3RydWN0IGRvbWFpbl9pb21tdTsKIHN0cnVjdCBwYWdlX2luZm8g
Kl9fbXVzdF9jaGVjayBpb21tdV9hbGxvY19wZ3RhYmxlKHN0cnVjdCBkb21h
aW5faW9tbXUgKmhkKTsKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wY2ku
aAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3BjaS5oCkBAIC0xNSw2ICsx
NSwxMiBAQAogCiBzdHJ1Y3QgYXJjaF9wY2lfZGV2IHsKICAgICB2bWFza190
IHVzZWRfdmVjdG9yczsKKyAgICAvKgorICAgICAqIFRoZXNlIGZpZWxkcyBh
cmUgKGRlKWluaXRpYWxpemVkIHVuZGVyIHBjaWRldnMtbG9jay4gT3RoZXIg
dXNlcyBvZgorICAgICAqIHRoZW0gZG9uJ3QgcmFjZSAoZGUpaW5pdGlhbGl6
YXRpb24gYW5kIGhlbmNlIGRvbid0IHN0cmljdGx5IG5lZWQgYW55CisgICAg
ICogbG9ja2luZy4KKyAgICAgKi8KKyAgICBkb21pZF90IHBzZXVkb19kb21p
ZDsKIH07CiAKIGludCBwY2lfY29uZl93cml0ZV9pbnRlcmNlcHQodW5zaWdu
ZWQgaW50IHNlZywgdW5zaWduZWQgaW50IGJkZiwKLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11LmgKKysrIGIveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvYW1kL2lvbW11LmgKQEAgLTk2LDYgKzk2LDcgQEAgc3Ry
dWN0IGFtZF9pb21tdSB7CiAgICAgc3RydWN0IHJpbmdfYnVmZmVyIGNtZF9i
dWZmZXI7CiAgICAgc3RydWN0IHJpbmdfYnVmZmVyIGV2ZW50X2xvZzsKICAg
ICBzdHJ1Y3QgcmluZ19idWZmZXIgcHByX2xvZzsKKyAgICB1bnNpZ25lZCBs
b25nICpkb21pZF9tYXA7CiAKICAgICBpbnQgZXhjbHVzaW9uX2VuYWJsZTsK
ICAgICBpbnQgZXhjbHVzaW9uX2FsbG93X2FsbDsKLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2RldGVjdC5jCisrKyBiL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9kZXRlY3QuYwpAQCAtMTgw
LDYgKzE4MCwxMSBAQCBpbnQgX19pbml0IGFtZF9pb21tdV9kZXRlY3Rfb25l
X2FjcGkoCiAgICAgaWYgKCBydCApCiAgICAgICAgIGdvdG8gb3V0OwogCisg
ICAgaW9tbXUtPmRvbWlkX21hcCA9IGlvbW11X2luaXRfZG9taWQoKTsKKyAg
ICBydCA9IC1FTk9NRU07CisgICAgaWYgKCAhaW9tbXUtPmRvbWlkX21hcCAp
CisgICAgICAgIGdvdG8gb3V0OworCiAgICAgcnQgPSBwY2lfcm9fZGV2aWNl
KGlvbW11LT5zZWcsIGJ1cywgUENJX0RFVkZOKGRldiwgZnVuYykpOwogICAg
IGlmICggcnQgKQogICAgICAgICBwcmludGsoWEVOTE9HX0VSUiAiQ291bGQg
bm90IG1hcmsgY29uZmlnIHNwYWNlIG9mICVwcCByZWFkLW9ubHkgKCVkKVxu
IiwKQEAgLTE5MCw3ICsxOTUsMTAgQEAgaW50IF9faW5pdCBhbWRfaW9tbXVf
ZGV0ZWN0X29uZV9hY3BpKAogCiAgb3V0OgogICAgIGlmICggcnQgKQorICAg
IHsKKyAgICAgICAgeGZyZWUoaW9tbXUtPmRvbWlkX21hcCk7CiAgICAgICAg
IHhmcmVlKGlvbW11KTsKKyAgICB9CiAKICAgICByZXR1cm4gcnQ7CiB9Ci0t
LSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9wY2lfYW1kX2lvbW11
LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRf
aW9tbXUuYwpAQCAtNTA4LDYgKzUwOCw4IEBAIHN0YXRpYyBpbnQgYW1kX2lv
bW11X2FkZF9kZXZpY2UodTggZGV2Zm4KICAgICBzdHJ1Y3QgYW1kX2lvbW11
ICppb21tdTsKICAgICB1MTYgYmRmOwogICAgIHN0cnVjdCBpdnJzX21hcHBp
bmdzICppdnJzX21hcHBpbmdzOworICAgIGJvb2wgZnJlc2hfZG9taWQgPSBm
YWxzZTsKKyAgICBpbnQgcmV0OwogCiAgICAgaWYgKCAhcGRldi0+ZG9tYWlu
ICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CkBAIC01NjgsNyArNTcwLDIy
IEBAIHN0YXRpYyBpbnQgYW1kX2lvbW11X2FkZF9kZXZpY2UodTggZGV2Zm4K
ICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9tbXUtPmxvY2ss
IGZsYWdzKTsKICAgICB9CiAKLSAgICByZXR1cm4gYW1kX2lvbW11X3NldHVw
X2RvbWFpbl9kZXZpY2UocGRldi0+ZG9tYWluLCBpb21tdSwgZGV2Zm4sIHBk
ZXYpOworICAgIGlmICggaW9tbXVfcXVhcmFudGluZSAmJiBwZGV2LT5hcmNo
LnBzZXVkb19kb21pZCA9PSBET01JRF9JTlZBTElEICkKKyAgICB7CisgICAg
ICAgIHBkZXYtPmFyY2gucHNldWRvX2RvbWlkID0gaW9tbXVfYWxsb2NfZG9t
aWQoaW9tbXUtPmRvbWlkX21hcCk7CisgICAgICAgIGlmICggcGRldi0+YXJj
aC5wc2V1ZG9fZG9taWQgPT0gRE9NSURfSU5WQUxJRCApCisgICAgICAgICAg
ICByZXR1cm4gLUVOT1NQQzsKKyAgICAgICAgZnJlc2hfZG9taWQgPSB0cnVl
OworICAgIH0KKworICAgIHJldCA9IGFtZF9pb21tdV9zZXR1cF9kb21haW5f
ZGV2aWNlKHBkZXYtPmRvbWFpbiwgaW9tbXUsIGRldmZuLCBwZGV2KTsKKyAg
ICBpZiAoIHJldCAmJiBmcmVzaF9kb21pZCApCisgICAgeworICAgICAgICBp
b21tdV9mcmVlX2RvbWlkKHBkZXYtPmFyY2gucHNldWRvX2RvbWlkLCBpb21t
dS0+ZG9taWRfbWFwKTsKKyAgICAgICAgcGRldi0+YXJjaC5wc2V1ZG9fZG9t
aWQgPSBET01JRF9JTlZBTElEOworICAgIH0KKworICAgIHJldHVybiByZXQ7
CiB9CiAKIHN0YXRpYyBpbnQgYW1kX2lvbW11X3JlbW92ZV9kZXZpY2UodTgg
ZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICpwZGV2KQpAQCAtNTkxLDYgKzYwOCw5
IEBAIHN0YXRpYyBpbnQgYW1kX2lvbW11X3JlbW92ZV9kZXZpY2UodTggZGUK
IAogICAgIGFtZF9pb21tdV9kaXNhYmxlX2RvbWFpbl9kZXZpY2UocGRldi0+
ZG9tYWluLCBpb21tdSwgZGV2Zm4sIHBkZXYpOwogCisgICAgaW9tbXVfZnJl
ZV9kb21pZChwZGV2LT5hcmNoLnBzZXVkb19kb21pZCwgaW9tbXUtPmRvbWlk
X21hcCk7CisgICAgcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPSBET01JRF9J
TlZBTElEOworCiAgICAgaXZyc19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBp
bmdzKHBkZXYtPnNlZyk7CiAgICAgYmRmID0gUENJX0JERjIocGRldi0+YnVz
LCBkZXZmbik7CiAgICAgaWYgKCBhbWRfaW9tbXVfcGVyZGV2X2ludHJlbWFw
ICYmCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBi
L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCkBAIC0zMjcsNiArMzI3
LDcgQEAgc3RhdGljIHN0cnVjdCBwY2lfZGV2ICphbGxvY19wZGV2KHN0cnVj
dAogICAgICooKHU4KikgJnBkZXYtPmJ1cykgPSBidXM7CiAgICAgKigodTgq
KSAmcGRldi0+ZGV2Zm4pID0gZGV2Zm47CiAgICAgcGRldi0+ZG9tYWluID0g
TlVMTDsKKyAgICBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9IERPTUlEX0lO
VkFMSUQ7CiAgICAgSU5JVF9MSVNUX0hFQUQoJnBkZXYtPm1zaV9saXN0KTsK
IAogICAgIHBvcyA9IHBjaV9maW5kX2NhcF9vZmZzZXQocHNlZy0+bnIsIGJ1
cywgUENJX1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbiksCkBAIC0xMjc2
LDggKzEyNzcsMTIgQEAgc3RhdGljIGludCBfZHVtcF9wY2lfZGV2aWNlcyhz
dHJ1Y3QgcGNpXwogCiAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSAoIHBkZXYs
ICZwc2VnLT5hbGxkZXZzX2xpc3QsIGFsbGRldnNfbGlzdCApCiAgICAgewot
ICAgICAgICBwcmludGsoIiVwcCAtICVwZCAtIG5vZGUgJS0zZCAtIE1TSXMg
PCAiLAotICAgICAgICAgICAgICAgJnBkZXYtPnNiZGYsIHBkZXYtPmRvbWFp
biwKKyAgICAgICAgcHJpbnRrKCIlcHAgLSAiLCAmcGRldi0+c2JkZik7Cisg
ICAgICAgIGlmICggcGRldi0+ZG9tYWluID09IGRvbV9pbyApCisgICAgICAg
ICAgICBwcmludGsoIkRvbUlPOiV4IiwgcGRldi0+YXJjaC5wc2V1ZG9fZG9t
aWQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBwcmludGsoIiVwZCIs
IHBkZXYtPmRvbWFpbik7CisgICAgICAgIHByaW50aygiIC0gbm9kZSAlLTNk
IC0gTVNJcyA8ICIsCiAgICAgICAgICAgICAgICAocGRldi0+bm9kZSAhPSBO
VU1BX05PX05PREUpID8gcGRldi0+bm9kZSA6IC0xKTsKICAgICAgICAgbGlz
dF9mb3JfZWFjaF9lbnRyeSAoIG1zaSwgJnBkZXYtPm1zaV9saXN0LCBsaXN0
ICkKICAgICAgICAgICAgICAgIHByaW50aygiJWQgIiwgbXNpLT5pcnEpOwot
LS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYworKysg
Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpAQCAtMjIs
NiArMjIsNyBAQAogI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgogI2luY2x1ZGUg
PHhlbi94bWFsbG9jLmg+CiAjaW5jbHVkZSA8eGVuL2RvbWFpbl9wYWdlLmg+
CisjaW5jbHVkZSA8eGVuL2Vyci5oPgogI2luY2x1ZGUgPHhlbi9pb2NhcC5o
PgogI2luY2x1ZGUgPHhlbi9pb21tdS5oPgogI2luY2x1ZGUgPHhlbi9udW1h
Lmg+CkBAIC0xMjA0LDcgKzEyMDUsNyBAQCBpbnQgX19pbml0IGlvbW11X2Fs
bG9jKHN0cnVjdCBhY3BpX2RyaGRfCiB7CiAgICAgc3RydWN0IHZ0ZF9pb21t
dSAqaW9tbXU7CiAgICAgdW5zaWduZWQgbG9uZyBzYWdhdywgbnJfZG9tOwot
ICAgIGludCBhZ2F3OworICAgIGludCBhZ2F3LCByYzsKIAogICAgIGlmICgg
bnJfaW9tbXVzID49IE1BWF9JT01NVVMgKQogICAgIHsKQEAgLTEyOTcsNyAr
MTI5OCwxNiBAQCBpbnQgX19pbml0IGlvbW11X2FsbG9jKHN0cnVjdCBhY3Bp
X2RyaGRfCiAgICAgaWYgKCAhaW9tbXUtPmRvbWlkX21hcCApCiAgICAgICAg
IHJldHVybiAtRU5PTUVNOwogCisgICAgaW9tbXUtPnBzZXVkb19kb21pZF9t
YXAgPSBpb21tdV9pbml0X2RvbWlkKCk7CisgICAgcmMgPSAtRU5PTUVNOwor
ICAgIGlmICggIWlvbW11LT5wc2V1ZG9fZG9taWRfbWFwICkKKyAgICAgICAg
Z290byBmcmVlOworCiAgICAgcmV0dXJuIDA7CisKKyBmcmVlOgorICAgIGlv
bW11X2ZyZWUoZHJoZCk7CisgICAgcmV0dXJuIHJjOwogfQogCiB2b2lkIF9f
aW5pdCBpb21tdV9mcmVlKHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZCkK
QEAgLTEzMjAsNiArMTMzMCw3IEBAIHZvaWQgX19pbml0IGlvbW11X2ZyZWUo
c3RydWN0IGFjcGlfZHJoZF8KIAogICAgIHhmcmVlKGlvbW11LT5kb21pZF9i
aXRtYXApOwogICAgIHhmcmVlKGlvbW11LT5kb21pZF9tYXApOworICAgIHhm
cmVlKGlvbW11LT5wc2V1ZG9fZG9taWRfbWFwKTsKIAogICAgIGlmICggaW9t
bXUtPm1zaS5pcnEgPj0gMCApCiAgICAgICAgIGRlc3Ryb3lfaXJxKGlvbW11
LT5tc2kuaXJxKTsKQEAgLTE1ODEsOCArMTU5Miw4IEBAIGludCBkb21haW5f
Y29udGV4dF9tYXBwaW5nX29uZSgKICAgICByZXR1cm4gcmMgPzogcGRldiAm
JiBwcmV2X2RvbTsKIH0KIAotc3RhdGljIGludCBkb21haW5fY29udGV4dF91
bm1hcChzdHJ1Y3QgZG9tYWluICpkLCB1aW50OF90IGRldmZuLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2RldiAqcGRl
dik7CitzdGF0aWMgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkb21h
aW5fY29udGV4dF91bm1hcCgKKyAgICBzdHJ1Y3QgZG9tYWluICpkLCB1aW50
OF90IGRldmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRldik7CiAKIHN0YXRpYyBp
bnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QgZG9tYWluICpkb21h
aW4sIHU4IGRldmZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2KQpAQCAtMTU5MCw2ICsxNjAxLDcg
QEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAog
ICAgIHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZDsKICAgICBjb25zdCBz
dHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnI7CiAgICAgcGFkZHJfdCBwZ2Rf
bWFkZHIgPSBkb21faW9tbXUoZG9tYWluKS0+YXJjaC52dGQucGdkX21hZGRy
OworICAgIGRvbWlkX3Qgb3JpZ19kb21pZCA9IHBkZXYtPmFyY2gucHNldWRv
X2RvbWlkOwogICAgIGludCByZXQgPSAwOwogICAgIHVuc2lnbmVkIGludCBp
LCBtb2RlID0gMDsKICAgICB1aW50MTZfdCBzZWcgPSBwZGV2LT5zZWcsIGJk
ZjsKQEAgLTE2NDksNiArMTY2MSwxNCBAQCBzdGF0aWMgaW50IGRvbWFpbl9j
b250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgIGJyZWFrOwogCiAgICAg
Y2FzZSBERVZfVFlQRV9QQ0llX0VORFBPSU5UOgorICAgICAgICBpZiAoIGlv
bW11X3F1YXJhbnRpbmUgJiYgb3JpZ19kb21pZCA9PSBET01JRF9JTlZBTElE
ICkKKyAgICAgICAgeworICAgICAgICAgICAgcGRldi0+YXJjaC5wc2V1ZG9f
ZG9taWQgPQorICAgICAgICAgICAgICAgIGlvbW11X2FsbG9jX2RvbWlkKGRy
aGQtPmlvbW11LT5wc2V1ZG9fZG9taWRfbWFwKTsKKyAgICAgICAgICAgIGlm
ICggcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPT0gRE9NSURfSU5WQUxJRCAp
CisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9TUEM7CisgICAgICAgIH0K
KwogICAgICAgICBpZiAoIGlvbW11X2RlYnVnICkKICAgICAgICAgICAgIHBy
aW50ayhWVERQUkVGSVggIiVwZDpQQ0llOiBtYXAgJXBwXG4iLAogICAgICAg
ICAgICAgICAgICAgIGRvbWFpbiwgJlBDSV9TQkRGMyhzZWcsIGJ1cywgZGV2
Zm4pKTsKQEAgLTE2NjMsNiArMTY4MywxNCBAQCBzdGF0aWMgaW50IGRvbWFp
bl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgIGJyZWFrOwogCiAg
ICAgY2FzZSBERVZfVFlQRV9QQ0k6CisgICAgICAgIGlmICggaW9tbXVfcXVh
cmFudGluZSAmJiBvcmlnX2RvbWlkID09IERPTUlEX0lOVkFMSUQgKQorICAg
ICAgICB7CisgICAgICAgICAgICBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9
CisgICAgICAgICAgICAgICAgaW9tbXVfYWxsb2NfZG9taWQoZHJoZC0+aW9t
bXUtPnBzZXVkb19kb21pZF9tYXApOworICAgICAgICAgICAgaWYgKCBwZGV2
LT5hcmNoLnBzZXVkb19kb21pZCA9PSBET01JRF9JTlZBTElEICkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gLUVOT1NQQzsKKyAgICAgICAgfQorCiAgICAg
ICAgIGlmICggaW9tbXVfZGVidWcgKQogICAgICAgICAgICAgcHJpbnRrKFZU
RFBSRUZJWCAiJXBkOlBDSTogbWFwICVwcFxuIiwKICAgICAgICAgICAgICAg
ICAgICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZuKSk7CkBA
IC0xNzM2LDYgKzE3NjQsMTMgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4
dF9tYXBwaW5nKHN0cnVjdAogICAgIGlmICggIXJldCAmJiBkZXZmbiA9PSBw
ZGV2LT5kZXZmbiApCiAgICAgICAgIHBjaV92dGRfcXVpcmsocGRldik7CiAK
KyAgICBpZiAoIHJldCAmJiBkcmhkICYmIG9yaWdfZG9taWQgPT0gRE9NSURf
SU5WQUxJRCApCisgICAgeworICAgICAgICBpb21tdV9mcmVlX2RvbWlkKHBk
ZXYtPmFyY2gucHNldWRvX2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGRyaGQtPmlvbW11LT5wc2V1ZG9fZG9taWRfbWFwKTsKKyAgICAgICAg
cGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPSBET01JRF9JTlZBTElEOworICAg
IH0KKwogICAgIHJldHVybiByZXQ7CiB9CiAKQEAgLTE4MTgsOCArMTg1Mywx
MCBAQCBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKAogICAgIHJldHVy
biByYzsKIH0KIAotc3RhdGljIGludCBkb21haW5fY29udGV4dF91bm1hcChz
dHJ1Y3QgZG9tYWluICpkb21haW4sIHU4IGRldmZuLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2RldiAqcGRldikKK3N0
YXRpYyBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRvbWFpbl9jb250
ZXh0X3VubWFwKAorICAgIHN0cnVjdCBkb21haW4gKmRvbWFpbiwKKyAgICB1
aW50OF90IGRldmZuLAorICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogewog
ICAgIHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZDsKICAgICBzdHJ1Y3Qg
dnRkX2lvbW11ICppb21tdTsKQEAgLTE4MjksNyArMTg2Niw3IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXAoc3RydWN0IGQKIAogICAgIGRy
aGQgPSBhY3BpX2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7CiAgICAg
aWYgKCAhZHJoZCApCi0gICAgICAgIHJldHVybiAtRU5PREVWOworICAgICAg
ICByZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKICAgICBpb21tdSA9IGRyaGQt
PmlvbW11OwogCiAgICAgc3dpdGNoICggcGRldi0+dHlwZSApCkBAIC0xODM5
LDcgKzE4NzYsNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X3VubWFw
KHN0cnVjdCBkCiAgICAgICAgICAgICBwcmludGsoVlREUFJFRklYICIlcGQ6
SG9zdGJyaWRnZTogc2tpcCAlcHAgdW5tYXBcbiIsCiAgICAgICAgICAgICAg
ICAgICAgZG9tYWluLCAmUENJX1NCREYzKHNlZywgYnVzLCBkZXZmbikpOwog
ICAgICAgICBpZiAoICFpc19oYXJkd2FyZV9kb21haW4oZG9tYWluKSApCi0g
ICAgICAgICAgICByZXR1cm4gLUVQRVJNOworICAgICAgICAgICAgcmV0dXJu
IEVSUl9QVFIoLUVQRVJNKTsKICAgICAgICAgZ290byBvdXQ7CiAKICAgICBj
YXNlIERFVl9UWVBFX1BDSWVfQlJJREdFOgpAQCAtMTkxMiw3ICsxOTQ5LDcg
QEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF91bm1hcChzdHJ1Y3QgZAog
ICAgICAgICBjaGVja19jbGVhbnVwX2RvbWlkX21hcChkb21haW4sIHBkZXYs
IGlvbW11KTsKIAogb3V0OgotICAgIHJldHVybiByZXQ7CisgICAgcmV0dXJu
IHJldCA/IEVSUl9QVFIocmV0KSA6IGRyaGQ7CiB9CiAKIHN0YXRpYyB2b2lk
IGlvbW11X2NsZWFyX3Jvb3RfcGd0YWJsZShzdHJ1Y3QgZG9tYWluICpkKQpA
QCAtMjEzNywxNiArMjE3NCwxNyBAQCBzdGF0aWMgaW50IGludGVsX2lvbW11
X2VuYWJsZV9kZXZpY2Uoc3RyCiAKIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVf
cmVtb3ZlX2RldmljZSh1OCBkZXZmbiwgc3RydWN0IHBjaV9kZXYgKnBkZXYp
CiB7CisgICAgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwog
ICAgIHN0cnVjdCBhY3BpX3JtcnJfdW5pdCAqcm1ycjsKICAgICB1MTYgYmRm
OwotICAgIGludCByZXQsIGk7CisgICAgdW5zaWduZWQgaW50IGk7CiAKICAg
ICBpZiAoICFwZGV2LT5kb21haW4gKQogICAgICAgICByZXR1cm4gLUVJTlZB
TDsKIAotICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwKHBkZXYtPmRv
bWFpbiwgZGV2Zm4sIHBkZXYpOwotICAgIGlmICggcmV0ICkKLSAgICAgICAg
cmV0dXJuIHJldDsKKyAgICBkcmhkID0gZG9tYWluX2NvbnRleHRfdW5tYXAo
cGRldi0+ZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAgaWYgKCBJU19FUlIo
ZHJoZCkgKQorICAgICAgICByZXR1cm4gUFRSX0VSUihkcmhkKTsKIAogICAg
IGZvcl9lYWNoX3JtcnJfZGV2aWNlICggcm1yciwgYmRmLCBpICkKICAgICB7
CkBAIC0yMTYzLDYgKzIyMDEsMTMgQEAgc3RhdGljIGludCBpbnRlbF9pb21t
dV9yZW1vdmVfZGV2aWNlKHU4CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcm1yci0+ZW5kX2FkZHJlc3MsIDApOwogICAgIH0KIAorICAgIGlm
ICggZHJoZCApCisgICAgeworICAgICAgICBpb21tdV9mcmVlX2RvbWlkKHBk
ZXYtPmFyY2gucHNldWRvX2RvbWlkLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGRyaGQtPmlvbW11LT5wc2V1ZG9fZG9taWRfbWFwKTsKKyAgICAgICAg
cGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPSBET01JRF9JTlZBTElEOworICAg
IH0KKwogICAgIHJldHVybiAwOwogfQogCi0tLSBhL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL3Z0ZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC9pb21tdS5oCkBAIC01MzUsNiArNTM1LDcgQEAgc3RydWN0
IHZ0ZF9pb21tdSB7CiAgICAgfSBmbHVzaDsKIAogICAgIHN0cnVjdCBsaXN0
X2hlYWQgYXRzX2RldmljZXM7CisgICAgdW5zaWduZWQgbG9uZyAqcHNldWRv
X2RvbWlkX21hcDsgLyogInBzZXVkbyIgZG9tYWluIGlkIGJpdG1hcCAqLwog
ICAgIHVuc2lnbmVkIGxvbmcgKmRvbWlkX2JpdG1hcDsgIC8qIGRvbWFpbiBp
ZCBiaXRtYXAgKi8KICAgICB1MTYgKmRvbWlkX21hcDsgICAgICAgICAgICAg
ICAvKiBkb21haW4gaWQgbWFwcGluZyBhcnJheSAqLwogICAgIHVpbnQzMl90
IHZlcnNpb247Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9p
b21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21t
dS5jCkBAIC0zODYsNiArMzg2LDUzIEBAIHZvaWQgX19od2RvbV9pbml0IGFy
Y2hfaW9tbXVfaHdkb21faW5pdCgKICAgICAgICAgcmV0dXJuOwogfQogCit1
bnNpZ25lZCBsb25nICpfX2luaXQgaW9tbXVfaW5pdF9kb21pZCh2b2lkKQor
eworICAgIGlmICggIWlvbW11X3F1YXJhbnRpbmUgKQorICAgICAgICByZXR1
cm4gWkVST19CTE9DS19QVFI7CisKKyAgICBCVUlMRF9CVUdfT04oRE9NSURf
TUFTSyAqIDJVID49IFVJTlQxNl9NQVgpOworCisgICAgcmV0dXJuIHh6YWxs
b2NfYXJyYXkodW5zaWduZWQgbG9uZywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBCSVRTX1RPX0xPTkdTKFVJTlQxNl9NQVggLSBET01JRF9NQVNLKSk7
Cit9CisKK2RvbWlkX3QgaW9tbXVfYWxsb2NfZG9taWQodW5zaWduZWQgbG9u
ZyAqbWFwKQoreworICAgIC8qCisgICAgICogVGhpcyBpcyB1c2VkIHVuaWZv
cm1seSBhY3Jvc3MgYWxsIElPTU1Vcywgc3VjaCB0aGF0IG9uIHR5cGljYWwK
KyAgICAgKiBzeXN0ZW1zIHdlIHdvdWxkbid0IHJlLXVzZSB0aGUgc2FtZSBJ
RCB2ZXJ5IHF1aWNrbHkgKHBlcmhhcHMgbmV2ZXIpLgorICAgICAqLworICAg
IHN0YXRpYyB1bnNpZ25lZCBpbnQgc3RhcnQ7CisgICAgdW5zaWduZWQgaW50
IGlkeCA9IGZpbmRfbmV4dF96ZXJvX2JpdChtYXAsIFVJTlQxNl9NQVggLSBE
T01JRF9NQVNLLCBzdGFydCk7CisKKyAgICBBU1NFUlQocGNpZGV2c19sb2Nr
ZWQoKSk7CisKKyAgICBpZiAoIGlkeCA+PSBVSU5UMTZfTUFYIC0gRE9NSURf
TUFTSyApCisgICAgICAgIGlkeCA9IGZpbmRfZmlyc3RfemVyb19iaXQobWFw
LCBVSU5UMTZfTUFYIC0gRE9NSURfTUFTSyk7CisgICAgaWYgKCBpZHggPj0g
VUlOVDE2X01BWCAtIERPTUlEX01BU0sgKQorICAgICAgICByZXR1cm4gRE9N
SURfSU5WQUxJRDsKKworICAgIF9fc2V0X2JpdChpZHgsIG1hcCk7CisKKyAg
ICBzdGFydCA9IGlkeCArIDE7CisKKyAgICByZXR1cm4gaWR4IHwgKERPTUlE
X01BU0sgKyAxKTsKK30KKwordm9pZCBpb21tdV9mcmVlX2RvbWlkKGRvbWlk
X3QgZG9taWQsIHVuc2lnbmVkIGxvbmcgKm1hcCkKK3sKKyAgICBBU1NFUlQo
cGNpZGV2c19sb2NrZWQoKSk7CisKKyAgICBpZiAoIGRvbWlkID09IERPTUlE
X0lOVkFMSUQgKQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQoZG9t
aWQgPiBET01JRF9NQVNLKTsKKworICAgIGlmICggIV9fdGVzdF9hbmRfY2xl
YXJfYml0KGRvbWlkICYgRE9NSURfTUFTSywgbWFwKSApCisgICAgICAgIEJV
RygpOworfQorCiBpbnQgaW9tbXVfZnJlZV9wZ3RhYmxlcyhzdHJ1Y3QgZG9t
YWluICpkKQogewogICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9t
X2lvbW11KGQpOwo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IGRyb3AgVExCIGZsdXNoZXMgZnJvbSBxdWFyYW50aW5l
X2luaXQoKSBob29rcwoKVGhlIHBhZ2UgdGFibGVzIGp1c3QgY3JlYXRlZCBh
cmVuJ3QgaG9va2VkIHVwIHlldCBhbnl3aGVyZSwgc28gdGhlcmUncwpub3Ro
aW5nIHRoYXQgY291bGQgYmUgcHJlc2VudCBpbiBhbnkgVExCLCBhbmQgaGVu
Y2Ugbm90aGluZyB0byBmbHVzaC4KRHJvcHBpbmcgdGhpcyBmbHVzaCBpcywg
YXQgbGVhc3Qgb24gdGhlIFZULWQgc2lkZSwgYSBwcmVyZXEgdG8gcGVyLQpk
ZXZpY2UgZG9tYWluIElEIHVzZSB3aGVuIHF1YXJhbnRpbmluZyBkZXZpY2Vz
LCBhcyBkb21faW8gaXNuJ3QgZ29pbmcKdG8gYmUgYXNzaWduZWQgYSBESUQg
YW55bW9yZTogVGhlIHdhcm5pbmcgaW4gZ2V0X2lvbW11X2RpZCgpIHdvdWxk
CnRyaWdnZXIuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxp
Y2hAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxA
eGVuLm9yZz4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2
aW4udGlhbkBpbnRlbC5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvYW1kL2lvbW11X21hcC5jCkBAIC01ODQsOCArNTg0LDYgQEAgaW50
IF9faW5pdCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cgogIG91dDoK
ICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKIAot
ICAgIGFtZF9pb21tdV9mbHVzaF9hbGxfcGFnZXMoZCk7Ci0KICAgICAvKiBQ
YWdlcyBsZWFrZWQgaW4gZmFpbHVyZSBjYXNlICovCiAgICAgcmV0dXJuIGxl
dmVsID8gLUVOT01FTSA6IDA7CiB9Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL3Z0ZC9pb21tdS5jCkBAIC0yOTU4LDkgKzI5NTgsNiBAQCBzdGF0aWMg
aW50IF9faW5pdCBpbnRlbF9pb21tdV9xdWFyYW50aW5lCiAgb3V0OgogICAg
IHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogCi0gICAg
aWYgKCAhcmMgKQotICAgICAgICByYyA9IGlvbW11X2ZsdXNoX2lvdGxiX2Fs
bChkKTsKLQogICAgIC8qIFBhZ2VzIG1heSBiZSBsZWFrZWQgaW4gZmFpbHVy
ZSBjYXNlICovCiAgICAgcmV0dXJuIHJjOwogfQo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGFic3RyYWN0IG1heGltdW0gbnVtYmVyIG9mIHBhZ2Ug
dGFibGUgbGV2ZWxzCgpXZSB3aWxsIHdhbnQgdG8gdXNlIHRoZSBjb25zdGFu
dCBlbHNld2hlcmUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBh
dWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9p
b21tdS5oCkBAIC0zNTgsNyArMzU4LDcgQEAgc3RhdGljIGlubGluZSBpbnQg
YW1kX2lvbW11X2dldF9wYWdpbmdfbQogICAgIHdoaWxlICggbWF4X2ZyYW1l
cyA+IFBURV9QRVJfVEFCTEVfU0laRSApCiAgICAgewogICAgICAgICBtYXhf
ZnJhbWVzID0gUFRFX1BFUl9UQUJMRV9BTElHTihtYXhfZnJhbWVzKSA+PiBQ
VEVfUEVSX1RBQkxFX1NISUZUOwotICAgICAgICBpZiAoICsrbGV2ZWwgPiA2
ICkKKyAgICAgICAgaWYgKCArK2xldmVsID4gSU9NTVVfTUFYX1BUX0xFVkVM
UyApCiAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKICAgICB9CiAKLS0t
IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11LWRlZnMuaAor
KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXUtZGVmcy5o
CkBAIC0xMDYsNiArMTA2LDcgQEAgc3RydWN0IGFtZF9pb21tdV9kdGUgewog
ICAgIGJvb2wgdHY6MTsKICAgICB1bnNpZ25lZCBpbnQgOjU7CiAgICAgdW5z
aWduZWQgaW50IGhhZDoyOworI2RlZmluZSBJT01NVV9NQVhfUFRfTEVWRUxT
IDYKICAgICB1bnNpZ25lZCBpbnQgcGFnaW5nX21vZGU6MzsKICAgICB1aW50
NjRfdCBwdF9yb290OjQwOwogICAgIGJvb2wgcHByOjE7Ci0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYworKysgYi94ZW4v
ZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMKQEAgLTI1MCw3
ICsyNTAsNyBAQCBzdGF0aWMgaW50IGlvbW11X3BkZV9mcm9tX2RmbihzdHJ1
Y3QgZG9tCiAgICAgdGFibGUgPSBoZC0+YXJjaC5hbWQucm9vdF90YWJsZTsK
ICAgICBsZXZlbCA9IGhkLT5hcmNoLmFtZC5wYWdpbmdfbW9kZTsKIAotICAg
IEJVR19PTiggdGFibGUgPT0gTlVMTCB8fCBsZXZlbCA8IDEgfHwgbGV2ZWwg
PiA2ICk7CisgICAgQlVHX09OKCB0YWJsZSA9PSBOVUxMIHx8IGxldmVsIDwg
MSB8fCBsZXZlbCA+IElPTU1VX01BWF9QVF9MRVZFTFMgKTsKIAogICAgIC8q
CiAgICAgICogQSBmcmFtZSBudW1iZXIgcGFzdCB3aGF0IHRoZSBjdXJyZW50
IHBhZ2UgdGFibGVzIGNhbiByZXByZXNlbnQgY2FuJ3QK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IHVzZSBwZXItZGV2aWNlIHBhZ2UgdGFibGVzIGZvciBx
dWFyYW50aW5pbmcKCkRldmljZXMgd2l0aCBSTVJScyAvIHVuaXR5IG1hcHBl
ZCByZWdpb25zLCBkdWUgdG8gaXQgYmVpbmcgdW5zcGVjaWZpZWQKaG93L3do
ZW4gdGhlc2UgbWVtb3J5IHJlZ2lvbnMgbWF5IGJlIGFjY2Vzc2VkLCBtYXkg
bm90IGJlIGxlZnQKZGlzY29ubmVjdGVkIGZyb20gdGhlIG1hcHBpbmdzIG9m
IHRoZXNlIHJlZ2lvbnMgKGFzIGxvbmcgYXMgaXQncyBub3QKY2VydGFpbiB0
aGF0IHRoZSBkZXZpY2UgaGFzIGJlZW4gZnVsbHkgcXVpZXNjZWQpLiBIZW5j
ZSBldmVuIHRoZSBwYWdlCnRhYmxlcyB1c2VkIHdoZW4gcXVhcmFudGluaW5n
IHN1Y2ggZGV2aWNlcyBuZWVkIHRvIGhhdmUgbWFwcGluZ3Mgb2YKdGhvc2Ug
cmVnaW9ucy4gVGhpcyBpbXBsaWVzIGluc3RhbGxpbmcgcGFnZSB0YWJsZXMg
aW4gdGhlIGZpcnN0IHBsYWNlCmV2ZW4gd2hlbiBub3QgaW4gc2NyYXRjaC1w
YWdlIHF1YXJhbnRpbmluZyBtb2RlLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM2
MSAvIHBhcnQgb2YgWFNBLTQwMC4KCldoaWxlIGZvciB0aGUgcHVycG9zZSBo
ZXJlIGl0IHdvdWxkIGJlIHN1ZmZpY2llbnQgdG8gaGF2ZSBkZXZpY2VzIHdp
dGgKUk1SUnMgLyB1bml0eSBtYXBwZWQgcmVnaW9ucyB1c2UgcGVyLWRldmlj
ZSBwYWdlIHRhYmxlcywgZXh0ZW5kIHRoaXMgdG8KYWxsIGRldmljZXMgKGlu
IHNjcmF0Y2gtcGFnZSBxdWFyYW50aW5pbmcgbW9kZSkuIFRoaXMgYWxsb3dz
IHRoZSBsZWFmCnBhZ2VzIHRvIGJlIG1hcHBlZCByL3csIHRodXMgY292ZXJp
bmcgYWxzbyBtZW1vcnkgd3JpdGVzIChyYXRoZXIgdGhhbgpqdXN0IHJlYWRz
KSBpc3N1ZWQgYnkgbm9uLXF1aWVzY2VudCBkZXZpY2VzLgoKU2V0IHVwIHF1
YXJhbnRpbmUgcGFnZSB0YWJsZXMgYXMgbGF0ZSBhcyBwb3NzaWJsZSwgeWV0
IGVhcmx5IGVub3VnaCB0bwpub3QgZW5jb3VudGVyIGZhaWx1cmUgZHVyaW5n
IGRlLWFzc2lnbi4gVGhpcyBtZWFucyBzZXR1cCBnZW5lcmFsbHkKaGFwcGVu
cyBpbiBhc3NpZ25fZGV2aWNlKCksIHdoaWxlIChmb3Igbm93KSB0aGUgb25l
IGluIGRlYXNzaWduX2RldmljZSgpCmlzIHRoZXJlIG1haW5seSB0byBiZSBv
biB0aGUgc2FmZSBzaWRlLgoKSW4gVlQtZCdzIERJRCBhbGxvY2F0aW9uIGZ1
bmN0aW9uIGRvbid0IHJlcXVpcmUgdGhlIElPTU1VIGxvY2sgdG8gYmUKaGVs
ZCBhbnltb3JlOiBBbGwgaW52b2x2ZWQgY29kZSBwYXRocyBob2xkIHBjaWRl
dnNfbG9jaywgc28gdGhpcyB3YXkgd2UKYXZvaWQgdGhlIG5lZWQgdG8gYWNx
dWlyZSB0aGUgSU9NTVUgbG9jayBhcm91bmQgdGhlIG5ldyBjYWxsIHRvCmNv
bnRleHRfc2V0X2RvbWFpbl9pZCgpLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1bCBE
dXJyYW50IDxwYXVsQHhlbi5vcmc+ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFu
IDxrZXZpbi50aWFuQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBh
dSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKLS0tIGEveGVuL2Fy
Y2gveDg2L21tL3AybS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpA
QCAtMTQ2OCw3ICsxNDY4LDcgQEAgaW50IHNldF9pZGVudGl0eV9wMm1fZW50
cnkoc3RydWN0IGRvbWFpbgogICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0g
PSBwMm1fZ2V0X2hvc3RwMm0oZCk7CiAgICAgaW50IHJldDsKIAotICAgIGlm
ICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShwMm0tPmRvbWFpbikgKQorICAg
IGlmICggIXBhZ2luZ19tb2RlX3RyYW5zbGF0ZShkKSApCiAgICAgewogICAg
ICAgICBpZiAoICFpc19pb21tdV9lbmFibGVkKGQpICkKICAgICAgICAgICAg
IHJldHVybiAwOwotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3BjaS5oCisr
KyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcGNpLmgKQEAgLTEsNiArMSw4IEBA
CiAjaWZuZGVmIF9fWDg2X1BDSV9IX18KICNkZWZpbmUgX19YODZfUENJX0hf
XwogCisjaW5jbHVkZSA8eGVuL21tLmg+CisKICNkZWZpbmUgQ0Y4X0JERihj
ZjgpICAgICAoICAoKGNmOCkgJiAweDAwZmZmZjAwKSA+PiA4KQogI2RlZmlu
ZSBDRjhfQUREUl9MTyhjZjgpICggICAoY2Y4KSAmIDB4MDAwMDAwZmMpCiAj
ZGVmaW5lIENGOF9BRERSX0hJKGNmOCkgKCAgKChjZjgpICYgMHgwZjAwMDAw
MCkgPj4gMTYpCkBAIC0yMCw3ICsyMiwxOCBAQCBzdHJ1Y3QgYXJjaF9wY2lf
ZGV2IHsKICAgICAgKiB0aGVtIGRvbid0IHJhY2UgKGRlKWluaXRpYWxpemF0
aW9uIGFuZCBoZW5jZSBkb24ndCBzdHJpY3RseSBuZWVkIGFueQogICAgICAq
IGxvY2tpbmcuCiAgICAgICovCisgICAgdW5pb24geworICAgICAgICAvKiBT
dWJzZXQgb2Ygc3RydWN0IGFyY2hfaW9tbXUncyBmaWVsZHMsIHRvIGJlIHVz
ZWQgaW4gZG9tX2lvLiAqLworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAg
ICAgdWludDY0X3QgcGdkX21hZGRyOworICAgICAgICB9IHZ0ZDsKKyAgICAg
ICAgc3RydWN0IHsKKyAgICAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnJv
b3RfdGFibGU7CisgICAgICAgIH0gYW1kOworICAgIH07CiAgICAgZG9taWRf
dCBwc2V1ZG9fZG9taWQ7CisgICAgbWZuX3QgbGVhZl9tZm47CisgICAgc3Ry
dWN0IHBhZ2VfbGlzdF9oZWFkIHBndGFibGVzX2xpc3Q7CiB9OwogCiBpbnQg
cGNpX2NvbmZfd3JpdGVfaW50ZXJjZXB0KHVuc2lnbmVkIGludCBzZWcsIHVu
c2lnbmVkIGludCBiZGYsCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L2FtZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9pb21tdS5oCkBAIC0yMjMsNyArMjIzLDggQEAgaW50IGFtZF9pb21tdV9p
bml0X2xhdGUodm9pZCk7CiBpbnQgYW1kX2lvbW11X3VwZGF0ZV9pdnJzX21h
cHBpbmdfYWNwaSh2b2lkKTsKIGludCBpb3ZfYWRqdXN0X2lycV9hZmZpbml0
aWVzKHZvaWQpOwogCi1pbnQgYW1kX2lvbW11X3F1YXJhbnRpbmVfaW5pdChz
dHJ1Y3QgZG9tYWluICpkKTsKK2ludCBhbWRfaW9tbXVfcXVhcmFudGluZV9p
bml0KHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKK3ZvaWQgYW1kX2lvbW11X3F1
YXJhbnRpbmVfdGVhcmRvd24oc3RydWN0IHBjaV9kZXYgKnBkZXYpOwogCiAv
KiBtYXBwaW5nIGZ1bmN0aW9ucyAqLwogaW50IF9fbXVzdF9jaGVjayBhbWRf
aW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgZGZuX3QgZGZuLAot
LS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMK
KysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5j
CkBAIC01MjgsNjQgKzUyOCwxMzUgQEAgaW50IGFtZF9pb21tdV9yZXNlcnZl
X2RvbWFpbl91bml0eV91bm1hcAogICAgIHJldHVybiByYzsKIH0KIAotaW50
IF9faW5pdCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cnVjdCBkb21h
aW4gKmQpCitzdGF0aWMgaW50IGZpbGxfcXB0KHVuaW9uIGFtZF9pb21tdV9w
dGUgKnRoaXMsIHVuc2lnbmVkIGludCBsZXZlbCwKKyAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGdzW0lPTU1VX01BWF9QVF9MRVZF
TFNdKQogewotICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lv
bW11KGQpOworICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lv
bW11KGRvbV9pbyk7CisgICAgdW5zaWduZWQgaW50IGk7CisgICAgaW50IHJj
ID0gMDsKKworICAgIGZvciAoIGkgPSAwOyAhcmMgJiYgaSA8IFBURV9QRVJf
VEFCTEVfU0laRTsgKytpICkKKyAgICB7CisgICAgICAgIHVuaW9uIGFtZF9p
b21tdV9wdGUgKnB0ZSA9ICZ0aGlzW2ldLCAqbmV4dDsKKworICAgICAgICBp
ZiAoICFwdGUtPnByICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCAh
cGdzW2xldmVsXSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
LyoKKyAgICAgICAgICAgICAgICAgKiBUaGUgcGd0YWJsZSBhbGxvY2F0b3Ig
aXMgZmluZSBmb3IgdGhlIGxlYWYgcGFnZSwgYXMgd2VsbCBhcworICAgICAg
ICAgICAgICAgICAqIHBhZ2UgdGFibGUgcGFnZXMsIGFuZCB0aGUgcmVzdWx0
aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdheXMKKyAgICAgICAgICAgICAgICAg
KiB6ZXJvZWQuCisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAg
ICAgcGdzW2xldmVsXSA9IGlvbW11X2FsbG9jX3BndGFibGUoaGQpOworICAg
ICAgICAgICAgICAgIGlmICggIXBnc1tsZXZlbF0gKQorICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgcmMgPSAtRU5PTUVNOworICAg
ICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgICAgICBpZiAoIGxldmVsICkKKyAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgIG5leHQgPSBfX21hcF9kb21haW5f
cGFnZShwZ3NbbGV2ZWxdKTsKKyAgICAgICAgICAgICAgICAgICAgcmMgPSBm
aWxsX3FwdChuZXh0LCBsZXZlbCAtIDEsIHBncyk7CisgICAgICAgICAgICAg
ICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKG5leHQpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyoKKyAgICAg
ICAgICAgICAqIFBERXMgYXJlIGVzc2VudGlhbGx5IGEgc3Vic2V0IG9mIFBU
RXMsIHNvIHRoaXMgZnVuY3Rpb24KKyAgICAgICAgICAgICAqIGlzIGZpbmUg
dG8gdXNlIGV2ZW4gYXQgdGhlIGxlYWYuCisgICAgICAgICAgICAgKi8KKyAg
ICAgICAgICAgIHNldF9pb21tdV9wZGVfcHJlc2VudChwdGUsIG1mbl94KHBh
Z2VfdG9fbWZuKHBnc1tsZXZlbF0pKSwgbGV2ZWwsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgdHJ1ZSk7CisgICAgICAgIH0K
KyAgICAgICAgZWxzZSBpZiAoIGxldmVsICYmIHB0ZS0+bmV4dF9sZXZlbCAp
CisgICAgICAgIHsKKyAgICAgICAgICAgIG5leHQgPSBtYXBfZG9tYWluX3Bh
Z2UoX21mbihwdGUtPm1mbikpOworICAgICAgICAgICAgcmMgPSBmaWxsX3Fw
dChuZXh0LCBsZXZlbCAtIDEsIHBncyk7CisgICAgICAgICAgICB1bm1hcF9k
b21haW5fcGFnZShuZXh0KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJl
dHVybiByYzsKK30KKworaW50IGFtZF9pb21tdV9xdWFyYW50aW5lX2luaXQo
c3RydWN0IHBjaV9kZXYgKnBkZXYpCit7CisgICAgc3RydWN0IGRvbWFpbl9p
b21tdSAqaGQgPSBkb21faW9tbXUoZG9tX2lvKTsKICAgICB1bnNpZ25lZCBs
b25nIGVuZF9nZm4gPQogICAgICAgICAxdWwgPDwgKERFRkFVTFRfRE9NQUlO
X0FERFJFU1NfV0lEVEggLSBQQUdFX1NISUZUKTsKICAgICB1bnNpZ25lZCBp
bnQgbGV2ZWwgPSBhbWRfaW9tbXVfZ2V0X3BhZ2luZ19tb2RlKGVuZF9nZm4p
OwotICAgIHVuaW9uIGFtZF9pb21tdV9wdGUgKnRhYmxlOworICAgIHVuc2ln
bmVkIGludCByZXFfaWQgPSBnZXRfZG1hX3JlcXVlc3Rvcl9pZChwZGV2LT5z
ZWcsIHBkZXYtPnNiZGYuYmRmKTsKKyAgICBjb25zdCBzdHJ1Y3QgaXZyc19t
YXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBpbmdzKHBk
ZXYtPnNlZyk7CisgICAgaW50IHJjOwogCi0gICAgaWYgKCBoZC0+YXJjaC5h
bWQucm9vdF90YWJsZSApCisgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkp
OworICAgIEFTU0VSVCghaGQtPmFyY2guYW1kLnJvb3RfdGFibGUpOworICAg
IEFTU0VSVChwYWdlX2xpc3RfZW1wdHkoJmhkLT5hcmNoLnBndGFibGVzLmxp
c3QpKTsKKworICAgIEFTU0VSVChwZGV2LT5hcmNoLnBzZXVkb19kb21pZCAh
PSBET01JRF9JTlZBTElEKTsKKworICAgIGlmICggcGRldi0+YXJjaC5hbWQu
cm9vdF90YWJsZSApCiAgICAgewotICAgICAgICBBU1NFUlRfVU5SRUFDSEFC
TEUoKTsKKyAgICAgICAgY2xlYXJfZG9tYWluX3BhZ2UocGRldi0+YXJjaC5s
ZWFmX21mbik7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIHNw
aW5fbG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKLQotICAgIGhkLT5h
cmNoLmFtZC5yb290X3RhYmxlID0gaW9tbXVfYWxsb2NfcGd0YWJsZShoZCk7
Ci0gICAgaWYgKCAhaGQtPmFyY2guYW1kLnJvb3RfdGFibGUgKQotICAgICAg
ICBnb3RvIG91dDsKLQotICAgIHRhYmxlID0gX19tYXBfZG9tYWluX3BhZ2Uo
aGQtPmFyY2guYW1kLnJvb3RfdGFibGUpOwotICAgIHdoaWxlICggbGV2ZWwg
KQorICAgIHBkZXYtPmFyY2guYW1kLnJvb3RfdGFibGUgPSBpb21tdV9hbGxv
Y19wZ3RhYmxlKGhkKTsKKyAgICBpZiAoICFwZGV2LT5hcmNoLmFtZC5yb290
X3RhYmxlICkKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICAvKiBU
cmFuc2llbnRseSBpbnN0YWxsIHRoZSByb290IGludG8gRG9tSU8sIGZvciBp
b21tdV9pZGVudGl0eV9tYXBwaW5nKCkuICovCisgICAgaGQtPmFyY2guYW1k
LnJvb3RfdGFibGUgPSBwZGV2LT5hcmNoLmFtZC5yb290X3RhYmxlOworCisg
ICAgcmMgPSBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlfbWFwKGRv
bV9pbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaXZyc19tYXBwaW5nc1tyZXFfaWRdLnVuaXR5X21hcCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCk7CisK
KyAgICBpb21tdV9pZGVudGl0eV9tYXBfdGVhcmRvd24oZG9tX2lvKTsKKyAg
ICBoZC0+YXJjaC5hbWQucm9vdF90YWJsZSA9IE5VTEw7CisKKyAgICBpZiAo
IHJjICkKKyAgICAgICAgcHJpbnRrKCIlcHA6IHF1YXJhbnRpbmUgdW5pdHkg
bWFwcGluZyBmYWlsZWRcbiIsICZwZGV2LT5zYmRmKTsKKyAgICBlbHNlCiAg
ICAgewotICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsKLSAgICAgICAg
dW5zaWduZWQgaW50IGk7CisgICAgICAgIHVuaW9uIGFtZF9pb21tdV9wdGUg
KnJvb3Q7CisgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnc1tJT01NVV9N
QVhfUFRfTEVWRUxTXSA9IHt9OwogCi0gICAgICAgIC8qCi0gICAgICAgICAq
IFRoZSBwZ3RhYmxlIGFsbG9jYXRvciBpcyBmaW5lIGZvciB0aGUgbGVhZiBw
YWdlLCBhcyB3ZWxsIGFzCi0gICAgICAgICAqIHBhZ2UgdGFibGUgcGFnZXMs
IGFuZCB0aGUgcmVzdWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdheXMKLSAg
ICAgICAgICogemVyb2VkLgotICAgICAgICAgKi8KLSAgICAgICAgcGcgPSBp
b21tdV9hbGxvY19wZ3RhYmxlKGhkKTsKLSAgICAgICAgaWYgKCAhcGcgKQot
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHNwaW5fbG9jaygmaGQtPmFy
Y2gubWFwcGluZ19sb2NrKTsKIAotICAgICAgICBmb3IgKCBpID0gMDsgaSA8
IFBURV9QRVJfVEFCTEVfU0laRTsgaSsrICkKLSAgICAgICAgewotICAgICAg
ICAgICAgdW5pb24gYW1kX2lvbW11X3B0ZSAqcGRlID0gJnRhYmxlW2ldOwor
ICAgICAgICByb290ID0gX19tYXBfZG9tYWluX3BhZ2UocGRldi0+YXJjaC5h
bWQucm9vdF90YWJsZSk7CisgICAgICAgIHJjID0gZmlsbF9xcHQocm9vdCwg
bGV2ZWwgLSAxLCBwZ3MpOworICAgICAgICB1bm1hcF9kb21haW5fcGFnZShy
b290KTsKIAotICAgICAgICAgICAgLyoKLSAgICAgICAgICAgICAqIFBERXMg
YXJlIGVzc2VudGlhbGx5IGEgc3Vic2V0IG9mIFBURXMsIHNvIHRoaXMgZnVu
Y3Rpb24KLSAgICAgICAgICAgICAqIGlzIGZpbmUgdG8gdXNlIGV2ZW4gYXQg
dGhlIGxlYWYuCi0gICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIHNldF9p
b21tdV9wZGVfcHJlc2VudChwZGUsIG1mbl94KHBhZ2VfdG9fbWZuKHBnKSks
IGxldmVsIC0gMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmYWxzZSwgdHJ1ZSk7Ci0gICAgICAgIH0KKyAgICAgICAgcGRldi0+YXJj
aC5sZWFmX21mbiA9IHBhZ2VfdG9fbWZuKHBnc1swXSk7CiAKLSAgICAgICAg
dW5tYXBfZG9tYWluX3BhZ2UodGFibGUpOwotICAgICAgICB0YWJsZSA9IF9f
bWFwX2RvbWFpbl9wYWdlKHBnKTsKLSAgICAgICAgbGV2ZWwtLTsKKyAgICAg
ICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CiAgICAg
fQotICAgIHVubWFwX2RvbWFpbl9wYWdlKHRhYmxlKTsKIAotIG91dDoKLSAg
ICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKKyAgICBw
YWdlX2xpc3RfbW92ZSgmcGRldi0+YXJjaC5wZ3RhYmxlc19saXN0LCAmaGQt
PmFyY2gucGd0YWJsZXMubGlzdCk7CisKKyAgICBpZiAoIHJjICkKKyAgICAg
ICAgYW1kX2lvbW11X3F1YXJhbnRpbmVfdGVhcmRvd24ocGRldik7CisKKyAg
ICByZXR1cm4gcmM7Cit9CisKK3ZvaWQgYW1kX2lvbW11X3F1YXJhbnRpbmVf
dGVhcmRvd24oc3RydWN0IHBjaV9kZXYgKnBkZXYpCit7CisgICAgc3RydWN0
IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZG9tX2lvKTsKKworICAg
IEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKKworICAgIGlmICggIXBkZXYt
PmFyY2guYW1kLnJvb3RfdGFibGUgKQorICAgICAgICByZXR1cm47CiAKLSAg
ICAvKiBQYWdlcyBsZWFrZWQgaW4gZmFpbHVyZSBjYXNlICovCi0gICAgcmV0
dXJuIGxldmVsID8gLUVOT01FTSA6IDA7CisgICAgQVNTRVJUKHBhZ2VfbGlz
dF9lbXB0eSgmaGQtPmFyY2gucGd0YWJsZXMubGlzdCkpOworICAgIHBhZ2Vf
bGlzdF9tb3ZlKCZoZC0+YXJjaC5wZ3RhYmxlcy5saXN0LCAmcGRldi0+YXJj
aC5wZ3RhYmxlc19saXN0KTsKKyAgICB3aGlsZSAoIGlvbW11X2ZyZWVfcGd0
YWJsZXMoZG9tX2lvKSA9PSAtRVJFU1RBUlQgKQorICAgICAgICAvKiBub3Ro
aW5nICovOworICAgIHBkZXYtPmFyY2guYW1kLnJvb3RfdGFibGUgPSBOVUxM
OwogfQogCiAvKgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQv
cGNpX2FtZF9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L2FtZC9wY2lfYW1kX2lvbW11LmMKQEAgLTEyMiw2ICsxMjIsOCBAQCBzdGF0
aWMgaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfc2V0dXBfCiAgICAgdTgg
YnVzID0gcGRldi0+YnVzOwogICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9t
bXUgKmhkID0gZG9tX2lvbW11KGRvbWFpbik7CiAgICAgY29uc3Qgc3RydWN0
IGl2cnNfbWFwcGluZ3MgKml2cnNfZGV2OworICAgIGNvbnN0IHN0cnVjdCBw
YWdlX2luZm8gKnJvb3RfcGc7CisgICAgZG9taWRfdCBkb21pZDsKIAogICAg
IEJVR19PTighaGQtPmFyY2guYW1kLnBhZ2luZ19tb2RlIHx8ICFpb21tdS0+
ZGV2X3RhYmxlLmJ1ZmZlcik7CiAKQEAgLTE0MSwxNCArMTQzLDI1IEBAIHN0
YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAgICBk
dGUgPSAmdGFibGVbcmVxX2lkXTsKICAgICBpdnJzX2RldiA9ICZnZXRfaXZy
c19tYXBwaW5ncyhpb21tdS0+c2VnKVtyZXFfaWRdOwogCisgICAgaWYgKCBk
b21haW4gIT0gZG9tX2lvICkKKyAgICB7CisgICAgICAgIHJvb3RfcGcgPSBo
ZC0+YXJjaC5hbWQucm9vdF90YWJsZTsKKyAgICAgICAgZG9taWQgPSBkb21h
aW4tPmRvbWFpbl9pZDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAg
ICAgcm9vdF9wZyA9IHBkZXYtPmFyY2guYW1kLnJvb3RfdGFibGU7CisgICAg
ICAgIGRvbWlkID0gcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQ7CisgICAgfQor
CiAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmlvbW11LT5sb2NrLCBmbGFncyk7
CiAKICAgICBpZiAoICFkdGUtPnYgfHwgIWR0ZS0+dHYgKQogICAgIHsKICAg
ICAgICAgLyogYmluZCBEVEUgdG8gZG9tYWluIHBhZ2UtdGFibGVzICovCiAg
ICAgICAgIHJjID0gYW1kX2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUoCi0g
ICAgICAgICAgICAgICAgIGR0ZSwgcGFnZV90b19tYWRkcihoZC0+YXJjaC5h
bWQucm9vdF90YWJsZSksCi0gICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9t
YWluX2lkLCBoZC0+YXJjaC5hbWQucGFnaW5nX21vZGUsIHNyX2ZsYWdzKTsK
KyAgICAgICAgICAgICAgICAgZHRlLCBwYWdlX3RvX21hZGRyKHJvb3RfcGcp
LCBkb21pZCwKKyAgICAgICAgICAgICAgICAgaGQtPmFyY2guYW1kLnBhZ2lu
Z19tb2RlLCBzcl9mbGFncyk7CiAgICAgICAgIGlmICggcmMgKQogICAgICAg
ICB7CiAgICAgICAgICAgICBBU1NFUlQocmMgPCAwKTsKQEAgLTE3Miw3ICsx
ODUsNyBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfc2V0
dXBfCiAKICAgICAgICAgYW1kX2lvbW11X2ZsdXNoX2RldmljZShpb21tdSwg
cmVxX2lkKTsKICAgICB9Ci0gICAgZWxzZSBpZiAoIGR0ZS0+cHRfcm9vdCAh
PSBtZm5feChwYWdlX3RvX21mbihoZC0+YXJjaC5hbWQucm9vdF90YWJsZSkp
ICkKKyAgICBlbHNlIGlmICggZHRlLT5wdF9yb290ICE9IG1mbl94KHBhZ2Vf
dG9fbWZuKHJvb3RfcGcpKSApCiAgICAgewogICAgICAgICAvKgogICAgICAg
ICAgKiBTdHJpY3RseSBzcGVha2luZyBpZiB0aGUgZGV2aWNlIGlzIHRoZSBv
bmx5IG9uZSB3aXRoIHRoaXMgcmVxdWVzdG9yCkBAIC0xODUsOCArMTk4LDgg
QEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldHVwXwog
ICAgICAgICAgICAgcmMgPSAtRU9QTk9UU1VQUDsKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgcmMgPSBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJs
ZSgKLSAgICAgICAgICAgICAgICAgICAgIGR0ZSwgcGFnZV90b19tYWRkciho
ZC0+YXJjaC5hbWQucm9vdF90YWJsZSksCi0gICAgICAgICAgICAgICAgICAg
ICBkb21haW4tPmRvbWFpbl9pZCwgaGQtPmFyY2guYW1kLnBhZ2luZ19tb2Rl
LCBzcl9mbGFncyk7CisgICAgICAgICAgICAgICAgICAgICBkdGUsIHBhZ2Vf
dG9fbWFkZHIocm9vdF9wZyksIGRvbWlkLAorICAgICAgICAgICAgICAgICAg
ICAgaGQtPmFyY2guYW1kLnBhZ2luZ19tb2RlLCBzcl9mbGFncyk7CiAgICAg
ICAgIGlmICggcmMgPCAwICkKICAgICAgICAgewogICAgICAgICAgICAgc3Bp
bl91bmxvY2tfaXJxcmVzdG9yZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsKQEAg
LTIwNSw2ICsyMTgsNyBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBhbWRf
aW9tbXVfc2V0dXBfCiAgICAgICAgICAgICAgICogaW50ZW5kZWQgYW55d2F5
LgogICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgICFwZGV2LT5kb21h
aW4tPmlzX2R5aW5nICYmCisgICAgICAgICAgICAgcGRldi0+ZG9tYWluICE9
IGRvbV9pbyAmJgogICAgICAgICAgICAgIChhbnlfcGRldl9iZWhpbmRfaW9t
bXUocGRldi0+ZG9tYWluLCBwZGV2LCBpb21tdSkgfHwKICAgICAgICAgICAg
ICAgcGRldi0+cGhhbnRvbV9zdHJpZGUpICkKICAgICAgICAgICAgIHByaW50
aygiICVwcDogcmVhc3NpZ25tZW50IG1heSBjYXVzZSAlcGQgZGF0YSBjb3Jy
dXB0aW9uXG4iLApAQCAtMjM0LDkgKzI0OCw4IEBAIHN0YXRpYyBpbnQgX19t
dXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAgICBBTURfSU9NTVVfREVC
VUcoIlNldHVwIEkvTyBwYWdlIHRhYmxlOiBkZXZpY2UgaWQgPSAlI3gsIHR5
cGUgPSAlI3gsICIKICAgICAgICAgICAgICAgICAgICAgInJvb3QgdGFibGUg
PSAlIyJQUkl4NjQiLCAiCiAgICAgICAgICAgICAgICAgICAgICJkb21haW4g
PSAlZCwgcGFnaW5nIG1vZGUgPSAlZFxuIiwKLSAgICAgICAgICAgICAgICAg
ICAgcmVxX2lkLCBwZGV2LT50eXBlLAotICAgICAgICAgICAgICAgICAgICBw
YWdlX3RvX21hZGRyKGhkLT5hcmNoLmFtZC5yb290X3RhYmxlKSwKLSAgICAg
ICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQsIGhkLT5hcmNoLmFt
ZC5wYWdpbmdfbW9kZSk7CisgICAgICAgICAgICAgICAgICAgIHJlcV9pZCwg
cGRldi0+dHlwZSwgcGFnZV90b19tYWRkcihyb290X3BnKSwKKyAgICAgICAg
ICAgICAgICAgICAgZG9taWQsIGhkLT5hcmNoLmFtZC5wYWdpbmdfbW9kZSk7
CiAKICAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7CiAKQEAgLTMwNSw3
ICszMTgsNyBAQCBpbnQgYW1kX2lvbW11X2FsbG9jX3Jvb3Qoc3RydWN0IGRv
bWFpbiAqCiB7CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21f
aW9tbXUoZCk7CiAKLSAgICBpZiAoIHVubGlrZWx5KCFoZC0+YXJjaC5hbWQu
cm9vdF90YWJsZSkgKQorICAgIGlmICggdW5saWtlbHkoIWhkLT5hcmNoLmFt
ZC5yb290X3RhYmxlKSAmJiBkICE9IGRvbV9pbyApCiAgICAgewogICAgICAg
ICBoZC0+YXJjaC5hbWQucm9vdF90YWJsZSA9IGlvbW11X2FsbG9jX3BndGFi
bGUoaGQpOwogICAgICAgICBpZiAoICFoZC0+YXJjaC5hbWQucm9vdF90YWJs
ZSApCkBAIC0zOTYsNyArNDA5LDcgQEAgc3RhdGljIHZvaWQgYW1kX2lvbW11
X2Rpc2FibGVfZG9tYWluX2RldgogCiAgICAgICAgIEFNRF9JT01NVV9ERUJV
RygiRGlzYWJsZTogZGV2aWNlIGlkID0gJSN4LCAiCiAgICAgICAgICAgICAg
ICAgICAgICAgICAiZG9tYWluID0gJWQsIHBhZ2luZyBtb2RlID0gJWRcbiIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXFfaWQsICBkb21haW4tPmRv
bWFpbl9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcV9pZCwgZHRl
LT5kb21haW5faWQsCiAgICAgICAgICAgICAgICAgICAgICAgICBkb21faW9t
bXUoZG9tYWluKS0+YXJjaC5hbWQucGFnaW5nX21vZGUpOwogICAgIH0KICAg
ICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb21tdS0+bG9jaywgZmxhZ3Mp
OwpAQCAtNjA4LDYgKzYyMSw4IEBAIHN0YXRpYyBpbnQgYW1kX2lvbW11X3Jl
bW92ZV9kZXZpY2UodTggZGUKIAogICAgIGFtZF9pb21tdV9kaXNhYmxlX2Rv
bWFpbl9kZXZpY2UocGRldi0+ZG9tYWluLCBpb21tdSwgZGV2Zm4sIHBkZXYp
OwogCisgICAgYW1kX2lvbW11X3F1YXJhbnRpbmVfdGVhcmRvd24ocGRldik7
CisKICAgICBpb21tdV9mcmVlX2RvbWlkKHBkZXYtPmFyY2gucHNldWRvX2Rv
bWlkLCBpb21tdS0+ZG9taWRfbWFwKTsKICAgICBwZGV2LT5hcmNoLnBzZXVk
b19kb21pZCA9IERPTUlEX0lOVkFMSUQ7CiAKLS0tIGEveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9pb21tdS5jCkBAIC00MjQsMjEgKzQyNCwyMSBAQCBpbnQgaW9tbXVf
aW90bGJfZmx1c2hfYWxsKHN0cnVjdCBkb21haW4KICAgICByZXR1cm4gcmM7
CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IGlvbW11X3F1YXJhbnRpbmVfaW5p
dCh2b2lkKQoraW50IGlvbW11X3F1YXJhbnRpbmVfZGV2X2luaXQoZGV2aWNl
X3QgKmRldikKIHsKICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluX2lvbW11ICpo
ZCA9IGRvbV9pb21tdShkb21faW8pOwotICAgIGludCByYzsKIAotICAgIGRv
bV9pby0+b3B0aW9ucyB8PSBYRU5fRE9NQ1RMX0NERl9pb21tdTsKKyAgICBp
ZiAoICFpb21tdV9xdWFyYW50aW5lIHx8ICFoZC0+cGxhdGZvcm1fb3BzLT5x
dWFyYW50aW5lX2luaXQgKQorICAgICAgICByZXR1cm4gMDsKIAotICAgIHJj
ID0gaW9tbXVfZG9tYWluX2luaXQoZG9tX2lvLCAwKTsKLSAgICBpZiAoIHJj
ICkKLSAgICAgICAgcmV0dXJuIHJjOworICAgIHJldHVybiBpb21tdV9jYWxs
KGhkLT5wbGF0Zm9ybV9vcHMsIHF1YXJhbnRpbmVfaW5pdCwgZGV2KTsKK30K
IAotICAgIGlmICggIWhkLT5wbGF0Zm9ybV9vcHMtPnF1YXJhbnRpbmVfaW5p
dCApCi0gICAgICAgIHJldHVybiAwOworc3RhdGljIGludCBfX2luaXQgaW9t
bXVfcXVhcmFudGluZV9pbml0KHZvaWQpCit7CisgICAgZG9tX2lvLT5vcHRp
b25zIHw9IFhFTl9ET01DVExfQ0RGX2lvbW11OwogCi0gICAgcmV0dXJuIGhk
LT5wbGF0Zm9ybV9vcHMtPnF1YXJhbnRpbmVfaW5pdChkb21faW8pOworICAg
IHJldHVybiBpb21tdV9kb21haW5faW5pdChkb21faW8sIDApOwogfQogCiBp
bnQgX19pbml0IGlvbW11X3NldHVwKHZvaWQpCi0tLSBhL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL3BjaS5jCkBAIC04NTgsOSArODU4LDE2IEBAIHN0YXRpYyBpbnQgZGVh
c3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4KICAgICAgICAgcmV0dXJuIC1F
Tk9ERVY7CiAKICAgICAvKiBEZS1hc3NpZ25tZW50IGZyb20gZG9tX2lvIHNo
b3VsZCBkZS1xdWFyYW50aW5lIHRoZSBkZXZpY2UgKi8KLSAgICB0YXJnZXQg
PSAoKHBkZXYtPnF1YXJhbnRpbmUgfHwgaW9tbXVfcXVhcmFudGluZSkgJiYK
LSAgICAgICAgICAgICAgcGRldi0+ZG9tYWluICE9IGRvbV9pbykgPwotICAg
ICAgICBkb21faW8gOiBoYXJkd2FyZV9kb21haW47CisgICAgaWYgKCAocGRl
di0+cXVhcmFudGluZSB8fCBpb21tdV9xdWFyYW50aW5lKSAmJiBwZGV2LT5k
b21haW4gIT0gZG9tX2lvICkKKyAgICB7CisgICAgICAgIHJldCA9IGlvbW11
X3F1YXJhbnRpbmVfZGV2X2luaXQocGNpX3RvX2RldihwZGV2KSk7CisgICAg
ICAgIGlmICggcmV0ICkKKyAgICAgICAgICAgcmV0dXJuIHJldDsKKworICAg
ICAgICB0YXJnZXQgPSBkb21faW87CisgICAgfQorICAgIGVsc2UKKyAgICAg
ICAgdGFyZ2V0ID0gaGFyZHdhcmVfZG9tYWluOwogCiAgICAgd2hpbGUgKCBw
ZGV2LT5waGFudG9tX3N0cmlkZSApCiAgICAgewpAQCAtMTQ0MSw2ICsxNDQ4
LDEzIEBAIHN0YXRpYyBpbnQgYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWlu
ICoKICAgICAgICAgbXNpeHRibF9pbml0KGQpOwogICAgIH0KIAorICAgIGlm
ICggcGRldi0+ZG9tYWluICE9IGRvbV9pbyApCisgICAgeworICAgICAgICBy
YyA9IGlvbW11X3F1YXJhbnRpbmVfZGV2X2luaXQocGNpX3RvX2RldihwZGV2
KSk7CisgICAgICAgIGlmICggcmMgKQorICAgICAgICAgICAgZ290byBkb25l
OworICAgIH0KKwogICAgIHBkZXYtPmZhdWx0LmNvdW50ID0gMDsKIAogICAg
IGlmICggKHJjID0gaGQtPnBsYXRmb3JtX29wcy0+YXNzaWduX2RldmljZShk
LCBkZXZmbiwgcGNpX3RvX2RldihwZGV2KSwgZmxhZykpICkKLS0tIGEveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTQzLDYgKzQzLDEy
IEBACiAjaW5jbHVkZSAidnRkLmgiCiAjaW5jbHVkZSAiLi4vYXRzLmgiCiAK
KyNkZWZpbmUgREVWSUNFX0RPTUlEKGQsIHBkZXYpICgoZCkgIT0gZG9tX2lv
ID8gKGQpLT5kb21haW5faWQgXAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOiAocGRldiktPmFyY2gucHNldWRvX2Rv
bWlkKQorI2RlZmluZSBERVZJQ0VfUEdUQUJMRShkLCBwZGV2KSAoKGQpICE9
IGRvbV9pbyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/
IGRvbV9pb21tdShkKS0+YXJjaC52dGQucGdkX21hZGRyIFwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDogKHBkZXYpLT5hcmNoLnZ0ZC5w
Z2RfbWFkZHIpCisKIC8qIFBvc3NpYmxlIHVuZmlsdGVyZWQgTEFQSUMvTVNJ
IG1lc3NhZ2VzIGZyb20gdW50cnVzdGVkIHNvdXJjZXM/ICovCiBib29sIF9f
cmVhZF9tb3N0bHkgdW50cnVzdGVkX21zaTsKIApAQCAtODUsMTMgKzkxLDE4
IEBAIHN0YXRpYyBpbnQgZ2V0X2lvbW11X2RpZChkb21pZF90IGRvbWlkLAog
CiAjZGVmaW5lIERJRF9GSUVMRF9XSURUSCAxNgogI2RlZmluZSBESURfSElH
SF9PRkZTRVQgOAorCisvKgorICogVGhpcyBmdW5jdGlvbiBtYXkgaGF2ZSAi
Y29udGV4dCIgcGFzc2VkIGFzIE5VTEwsIHRvIG1lcmVseSBvYnRhaW4gYSBE
SUQKKyAqIGZvciAiZG9taWQiLgorICovCiBzdGF0aWMgaW50IGNvbnRleHRf
c2V0X2RvbWFpbl9pZChzdHJ1Y3QgY29udGV4dF9lbnRyeSAqY29udGV4dCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9t
aWQsIHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KQogewogICAgIHVuc2lnbmVk
IGxvbmcgbnJfZG9tLCBpOwogICAgIGludCBmb3VuZCA9IDA7CiAKLSAgICBB
U1NFUlQoc3Bpbl9pc19sb2NrZWQoJmlvbW11LT5sb2NrKSk7CisgICAgQVNT
RVJUKHBjaWRldnNfbG9ja2VkKCkpOwogCiAgICAgbnJfZG9tID0gY2FwX25k
b21zKGlvbW11LT5jYXApOwogICAgIGkgPSBmaW5kX2ZpcnN0X2JpdChpb21t
dS0+ZG9taWRfYml0bWFwLCBucl9kb20pOwpAQCAtMTE3LDggKzEyOCwxMyBA
QCBzdGF0aWMgaW50IGNvbnRleHRfc2V0X2RvbWFpbl9pZChzdHJ1Y3QKICAg
ICB9CiAKICAgICBzZXRfYml0KGksIGlvbW11LT5kb21pZF9iaXRtYXApOwot
ICAgIGNvbnRleHQtPmhpICY9IH4oKCgxIDw8IERJRF9GSUVMRF9XSURUSCkg
LSAxKSA8PCBESURfSElHSF9PRkZTRVQpOwotICAgIGNvbnRleHQtPmhpIHw9
IChpICYgKCgxIDw8IERJRF9GSUVMRF9XSURUSCkgLSAxKSkgPDwgRElEX0hJ
R0hfT0ZGU0VUOworCisgICAgaWYgKCBjb250ZXh0ICkKKyAgICB7CisgICAg
ICAgIGNvbnRleHQtPmhpICY9IH4oKCgxIDw8IERJRF9GSUVMRF9XSURUSCkg
LSAxKSA8PCBESURfSElHSF9PRkZTRVQpOworICAgICAgICBjb250ZXh0LT5o
aSB8PSAoaSAmICgoMSA8PCBESURfRklFTERfV0lEVEgpIC0gMSkpIDw8IERJ
RF9ISUdIX09GRlNFVDsKKyAgICB9CisKICAgICByZXR1cm4gMDsKIH0KIApA
QCAtMTY4LDggKzE4NCwxMiBAQCBzdGF0aWMgdm9pZCBjaGVja19jbGVhbnVw
X2RvbWlkX21hcChzdHJ1CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqZXhjbHVkZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11KQogewotICAgIGJvb2wgZm91bmQgPSBhbnlfcGRldl9iZWhp
bmRfaW9tbXUoZCwgZXhjbHVkZSwgaW9tbXUpOworICAgIGJvb2wgZm91bmQ7
CisKKyAgICBpZiAoIGQgPT0gZG9tX2lvICkKKyAgICAgICAgcmV0dXJuOwog
CisgICAgZm91bmQgPSBhbnlfcGRldl9iZWhpbmRfaW9tbXUoZCwgZXhjbHVk
ZSwgaW9tbXUpOwogICAgIC8qCiAgICAgICogSGlkZGVuIGRldmljZXMgYXJl
IGFzc29jaWF0ZWQgd2l0aCBEb21YRU4gYnV0IHVzYWJsZSBieSB0aGUgaGFy
ZHdhcmUKICAgICAgKiBkb21haW4uIEhlbmNlIHRoZXkgbmVlZCBjb25zaWRl
cmluZyBoZXJlIGFzIHdlbGwuCkBAIC0xNDE0LDcgKzE0MzQsNyBAQCBpbnQg
ZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgICAgIGRvbWlkID0g
aW9tbXUtPmRvbWlkX21hcFtwcmV2X2RpZF07CiAgICAgICAgIGlmICggZG9t
aWQgPCBET01JRF9GSVJTVF9SRVNFUlZFRCApCiAgICAgICAgICAgICBwcmV2
X2RvbSA9IHJjdV9sb2NrX2RvbWFpbl9ieV9pZChkb21pZCk7Ci0gICAgICAg
IGVsc2UgaWYgKCBkb21pZCA9PSBET01JRF9JTyApCisgICAgICAgIGVsc2Ug
aWYgKCBwZGV2ID8gZG9taWQgPT0gcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQg
OiBkb21pZCA+IERPTUlEX01BU0sgKQogICAgICAgICAgICAgcHJldl9kb20g
PSByY3VfbG9ja19kb21haW4oZG9tX2lvKTsKICAgICAgICAgaWYgKCAhcHJl
dl9kb20gKQogICAgICAgICB7CkBAIC0xNTcwLDE1ICsxNTkwLDEyIEBAIGlu
dCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAgICB7CiAgICAgICAg
IGlmICggIXByZXZfZG9tICkKICAgICAgICAgICAgIHJldCA9IGRvbWFpbl9j
b250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCBidXMsIGRldmZuLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRv
bWFpbi0+ZG9tYWluX2lkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSk7
CiAgICAgICAgIGVsc2UgaWYgKCBwcmV2X2RvbSAhPSBkb21haW4gKSAvKiBB
dm9pZCBpbmZpbml0ZSByZWN1cnNpb24uICovCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGhkID0gZG9tX2lvbW11KHByZXZfZG9tKTsKICAgICAgICAgICAg
IHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKHByZXZfZG9tLCBp
b21tdSwgYnVzLCBkZXZmbiwgcGRldiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGQtPmFyY2gudnRkLnBnZF9tYWRkciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIERFVklDRV9ET01JRChwcmV2X2Rv
bSwgcGRldiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBERVZJQ0VfUEdUQUJMRShwcmV2X2RvbSwgcGRldiksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
b2RlICYgTUFQX1dJVEhfUk1SUikgPCAwOwotICAgICAgICB9CiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIHJldCA9IDE7CiAKQEAgLTE2MDAsNyArMTYx
Nyw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1
Y3QKIHsKICAgICBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQ7CiAgICAg
Y29uc3Qgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJyOwotICAgIHBhZGRy
X3QgcGdkX21hZGRyID0gZG9tX2lvbW11KGRvbWFpbiktPmFyY2gudnRkLnBn
ZF9tYWRkcjsKKyAgICBwYWRkcl90IHBnZF9tYWRkciA9IERFVklDRV9QR1RB
QkxFKGRvbWFpbiwgcGRldik7CiAgICAgZG9taWRfdCBvcmlnX2RvbWlkID0g
cGRldi0+YXJjaC5wc2V1ZG9fZG9taWQ7CiAgICAgaW50IHJldCA9IDA7CiAg
ICAgdW5zaWduZWQgaW50IGksIG1vZGUgPSAwOwpAQCAtMTYzMyw3ICsxNjUw
LDcgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVj
dAogICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBpZiAoIGRvbWFpbiAh
PSBwZGV2LT5kb21haW4gKQorICAgIGlmICggZG9tYWluICE9IHBkZXYtPmRv
bWFpbiAmJiBwZGV2LT5kb21haW4gIT0gZG9tX2lvICkKICAgICB7CiAgICAg
ICAgIGlmICggcGRldi0+ZG9tYWluLT5pc19keWluZyApCiAgICAgICAgICAg
ICBtb2RlIHw9IE1BUF9PV05FUl9EWUlORzsKQEAgLTE2NzIsOCArMTY4OSw4
IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QK
ICAgICAgICAgaWYgKCBpb21tdV9kZWJ1ZyApCiAgICAgICAgICAgICBwcmlu
dGsoVlREUFJFRklYICIlcGQ6UENJZTogbWFwICVwcFxuIiwKICAgICAgICAg
ICAgICAgICAgICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZu
KSk7Ci0gICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25l
KGRvbWFpbiwgZHJoZC0+aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYsIGRvbWFpbi0+
ZG9tYWluX2lkLCBwZ2RfbWFkZHIsCisgICAgICAgIHJldCA9IGRvbWFpbl9j
b250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIGJ1cywg
ZGV2Zm4sIHBkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIERFVklDRV9ET01JRChkb21haW4sIHBkZXYpLCBwZ2RfbWFk
ZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1vZGUpOwogICAgICAgICBpZiAoIHJldCA+IDAgKQogICAgICAgICAgICAg
cmV0ID0gMDsKQEAgLTE2OTYsOCArMTcxMyw4IEBAIHN0YXRpYyBpbnQgZG9t
YWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICAgICAgICAg
ICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZuKSk7CiAKICAg
ICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWlu
LCBkcmhkLT5pb21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGRldiwgZG9tYWluLT5kb21haW5f
aWQsIHBnZF9tYWRkciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbW9kZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBkZXYsIERFVklDRV9ET01JRChkb21haW4sIHBk
ZXYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwZ2RfbWFkZHIsIG1vZGUpOwogICAgICAgICBpZiAoIHJldCA8IDAgKQog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHByZXZfcHJlc2VudCA9IHJl
dDsKQEAgLTE3MjUsOCArMTc0Miw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2Nv
bnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICovCiAgICAgICAgIGlm
ICggcmV0ID49IDAgKQogICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRl
eHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgYnVzLCBkZXZm
biwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwsIGRvbWFpbi0+ZG9tYWluX2lkLCBwZ2RfbWFkZHIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2Rl
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwsIERFVklDRV9ET01JRChkb21haW4sIHBkZXYpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGdkX21h
ZGRyLCBtb2RlKTsKIAogICAgICAgICAvKgogICAgICAgICAgKiBEZXZpY2Vz
IGJlaGluZCBQQ0llLXRvLVBDSS9QQ0l4IGJyaWRnZSBtYXkgZ2VuZXJhdGUg
ZGlmZmVyZW50CkBAIC0xNzQxLDggKzE3NTgsOCBAQCBzdGF0aWMgaW50IGRv
bWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgIGlmICggIXJl
dCAmJiBwZGV2X3R5cGUoc2VnLCBidXMsIGRldmZuKSA9PSBERVZfVFlQRV9Q
Q0llMlBDSV9CUklER0UgJiYKICAgICAgICAgICAgICAoc2VjYnVzICE9IHBk
ZXYtPmJ1cyB8fCBwZGV2LT5kZXZmbiAhPSAwKSApCiAgICAgICAgICAgICBy
ZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21haW4sIGRyaGQt
PmlvbW11LCBzZWNidXMsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBOVUxMLCBkb21haW4tPmRvbWFpbl9pZCwg
cGdkX21hZGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbW9kZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBOVUxMLCBERVZJQ0VfRE9NSUQoZG9tYWlu
LCBwZGV2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBnZF9tYWRkciwgbW9kZSk7CiAKICAgICAgICAgaWYgKCBy
ZXQgKQogICAgICAgICB7CkBAIC0xODg5LDcgKzE5MDYsNyBAQCBzdGF0aWMg
Y29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkb21hCiAgICAgICAgICAg
ICBwcmludGsoVlREUFJFRklYICIlcGQ6UENJZTogdW5tYXAgJXBwXG4iLAog
ICAgICAgICAgICAgICAgICAgIGRvbWFpbiwgJlBDSV9TQkRGMyhzZWcsIGJ1
cywgZGV2Zm4pKTsKICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5t
YXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9p
ZCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE
RVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSk7CiAgICAgICAgIGlmICggIXJl
dCAmJiBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBhdHNfZGV2aWNlKHBkZXYs
IGRyaGQpID4gMCApCiAgICAgICAgICAgICBkaXNhYmxlX2F0c19kZXZpY2Uo
cGRldik7CiAKQEAgLTE5MDAsNyArMTkxNyw3IEBAIHN0YXRpYyBjb25zdCBz
dHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRvbWEKICAgICAgICAgICAgIHByaW50
ayhWVERQUkVGSVggIiVwZDpQQ0k6IHVubWFwICVwcFxuIiwKICAgICAgICAg
ICAgICAgICAgICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZu
KSk7CiAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShk
b21haW4sIGlvbW11LCBidXMsIGRldmZuLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX0RP
TUlEKGRvbWFpbiwgcGRldikpOwogICAgICAgICBpZiAoIHJldCApCiAgICAg
ICAgICAgICBicmVhazsKIApAQCAtMTkyMywxOCArMTk0MCwxMiBAQCBzdGF0
aWMgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkb21hCiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogCisgICAgICAgIHJldCA9IGRvbWFp
bl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCB0bXBfYnVzLCB0
bXBfZGV2Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSk7CiAgICAgICAgIC8q
IFBDSWUgdG8gUENJL1BDSXggYnJpZGdlICovCi0gICAgICAgIGlmICggcGRl
dl90eXBlKHNlZywgdG1wX2J1cywgdG1wX2RldmZuKSA9PSBERVZfVFlQRV9Q
Q0llMlBDSV9CUklER0UgKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXQg
PSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgdG1w
X2J1cywgdG1wX2RldmZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKLSAgICAgICAg
ICAgIGlmICggIXJldCApCi0gICAgICAgICAgICAgICAgcmV0ID0gZG9tYWlu
X2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIHNlY2J1cywgMCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZG9tYWluLT5kb21haW5faWQpOwotICAgICAgICB9Ci0gICAgICAgIGVs
c2UgLyogTGVnYWN5IFBDSSBicmlkZ2UgKi8KLSAgICAgICAgICAgIHJldCA9
IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCB0bXBf
YnVzLCB0bXBfZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOworICAgICAgICBp
ZiAoICFyZXQgJiYgcGRldl90eXBlKHNlZywgdG1wX2J1cywgdG1wX2RldmZu
KSA9PSBERVZfVFlQRV9QQ0llMlBDSV9CUklER0UgKQorICAgICAgICAgICAg
cmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUs
IHNlY2J1cywgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSk7CiAKICAg
ICAgICAgYnJlYWs7CiAKQEAgLTE5NzcsNiArMTk4OCwyNiBAQCBzdGF0aWMg
dm9pZCBpb21tdV9kb21haW5fdGVhcmRvd24oc3RydWN0CiAgICAgICAgIGNs
ZWFudXBfZG9taWRfbWFwKGQtPmRvbWFpbl9pZCwgZHJoZC0+aW9tbXUpOwog
fQogCitzdGF0aWMgdm9pZCBxdWFyYW50aW5lX3RlYXJkb3duKHN0cnVjdCBw
Y2lfZGV2ICpwZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQpCit7CisgICAg
c3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZG9tX2lvKTsK
KworICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKKworICAgIGlmICgg
IXBkZXYtPmFyY2gudnRkLnBnZF9tYWRkciApCisgICAgICAgIHJldHVybjsK
KworICAgIEFTU0VSVChwYWdlX2xpc3RfZW1wdHkoJmhkLT5hcmNoLnBndGFi
bGVzLmxpc3QpKTsKKyAgICBwYWdlX2xpc3RfbW92ZSgmaGQtPmFyY2gucGd0
YWJsZXMubGlzdCwgJnBkZXYtPmFyY2gucGd0YWJsZXNfbGlzdCk7CisgICAg
d2hpbGUgKCBpb21tdV9mcmVlX3BndGFibGVzKGRvbV9pbykgPT0gLUVSRVNU
QVJUICkKKyAgICAgICAgLyogbm90aGluZyAqLzsKKyAgICBwZGV2LT5hcmNo
LnZ0ZC5wZ2RfbWFkZHIgPSAwOworCisgICAgaWYgKCBkcmhkICkKKyAgICAg
ICAgY2xlYW51cF9kb21pZF9tYXAocGRldi0+YXJjaC5wc2V1ZG9fZG9taWQs
IGRyaGQtPmlvbW11KTsKK30KKwogc3RhdGljIGludCBfX211c3RfY2hlY2sg
aW50ZWxfaW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgZGZuX3Qg
ZGZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbWZuX3QgbWZuLCB1bnNpZ25lZCBpbnQgZmxhZ3MsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbnQgKmZsdXNoX2ZsYWdzKQpAQCAtMjIwMSw2ICsyMjMyLDggQEAgc3Rh
dGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVfZGV2aWNlKHU4CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcm1yci0+ZW5kX2FkZHJlc3MsIDAp
OwogICAgIH0KIAorICAgIHF1YXJhbnRpbmVfdGVhcmRvd24ocGRldiwgZHJo
ZCk7CisKICAgICBpZiAoIGRyaGQgKQogICAgIHsKICAgICAgICAgaW9tbXVf
ZnJlZV9kb21pZChwZGV2LT5hcmNoLnBzZXVkb19kb21pZCwKQEAgLTI4OTYs
NjkgKzI5MjksMTM1IEBAIHN0YXRpYyB2b2lkIHZ0ZF9kdW1wX3BhZ2VfdGFi
bGVzKHN0cnVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdh
d190b19sZXZlbChoZC0+YXJjaC52dGQuYWdhdyksIDAsIDApOwogfQogCi1z
dGF0aWMgaW50IF9faW5pdCBpbnRlbF9pb21tdV9xdWFyYW50aW5lX2luaXQo
c3RydWN0IGRvbWFpbiAqZCkKK3N0YXRpYyBpbnQgZmlsbF9xcHQoc3RydWN0
IGRtYV9wdGUgKnRoaXMsIHVuc2lnbmVkIGludCBsZXZlbCwKKyAgICAgICAg
ICAgICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGdzWzZdKQogewotICAg
IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOworICAg
IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbV9pbyk7
CisgICAgdW5zaWduZWQgaW50IGk7CisgICAgaW50IHJjID0gMDsKKworICAg
IGZvciAoIGkgPSAwOyAhcmMgJiYgaSA8IFBURV9OVU07ICsraSApCisgICAg
eworICAgICAgICBzdHJ1Y3QgZG1hX3B0ZSAqcHRlID0gJnRoaXNbaV0sICpu
ZXh0OworCisgICAgICAgIGlmICggIWRtYV9wdGVfcHJlc2VudCgqcHRlKSAp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggIXBnc1tsZXZlbF0gKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAg
ICAgICAgICogVGhlIHBndGFibGUgYWxsb2NhdG9yIGlzIGZpbmUgZm9yIHRo
ZSBsZWFmIHBhZ2UsIGFzIHdlbGwgYXMKKyAgICAgICAgICAgICAgICAgKiBw
YWdlIHRhYmxlIHBhZ2VzLCBhbmQgdGhlIHJlc3VsdGluZyBhbGxvY2F0aW9u
cyBhcmUgYWx3YXlzCisgICAgICAgICAgICAgICAgICogemVyb2VkLgorICAg
ICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgIHBnc1tsZXZlbF0g
PSBpb21tdV9hbGxvY19wZ3RhYmxlKGhkKTsKKyAgICAgICAgICAgICAgICBp
ZiAoICFwZ3NbbGV2ZWxdICkKKyAgICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgICAgIHJjID0gLUVOT01FTTsKKyAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgaWYgKCBsZXZlbCApCisgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICBuZXh0ID0gbWFwX3Z0ZF9kb21haW5fcGFnZShwYWdlX3Rv
X21hZGRyKHBnc1tsZXZlbF0pKTsKKyAgICAgICAgICAgICAgICAgICAgcmMg
PSBmaWxsX3FwdChuZXh0LCBsZXZlbCAtIDEsIHBncyk7CisgICAgICAgICAg
ICAgICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShuZXh0KTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGRt
YV9zZXRfcHRlX2FkZHIoKnB0ZSwgcGFnZV90b19tYWRkcihwZ3NbbGV2ZWxd
KSk7CisgICAgICAgICAgICBkbWFfc2V0X3B0ZV9yZWFkYWJsZSgqcHRlKTsK
KyAgICAgICAgICAgIGRtYV9zZXRfcHRlX3dyaXRhYmxlKCpwdGUpOworICAg
ICAgICB9CisgICAgICAgIGVsc2UgaWYgKCBsZXZlbCAmJiAhZG1hX3B0ZV9z
dXBlcnBhZ2UoKnB0ZSkgKQorICAgICAgICB7CisgICAgICAgICAgICBuZXh0
ID0gbWFwX3Z0ZF9kb21haW5fcGFnZShkbWFfcHRlX2FkZHIoKnB0ZSkpOwor
ICAgICAgICAgICAgcmMgPSBmaWxsX3FwdChuZXh0LCBsZXZlbCAtIDEsIHBn
cyk7CisgICAgICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UobmV4dCk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gcmM7Cit9CisKK3N0
YXRpYyBpbnQgaW50ZWxfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cnVjdCBw
Y2lfZGV2ICpwZGV2KQoreworICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhk
ID0gZG9tX2lvbW11KGRvbV9pbyk7CiAgICAgc3RydWN0IHBhZ2VfaW5mbyAq
cGc7Ci0gICAgc3RydWN0IGRtYV9wdGUgKnBhcmVudDsKICAgICB1bnNpZ25l
ZCBpbnQgYWdhdyA9IHdpZHRoX3RvX2FnYXcoREVGQVVMVF9ET01BSU5fQURE
UkVTU19XSURUSCk7CiAgICAgdW5zaWduZWQgaW50IGxldmVsID0gYWdhd190
b19sZXZlbChhZ2F3KTsKLSAgICBpbnQgcmMgPSAwOworICAgIGNvbnN0IHN0
cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZDsKKyAgICBjb25zdCBzdHJ1Y3Qg
YWNwaV9ybXJyX3VuaXQgKnJtcnI7CisgICAgdW5zaWduZWQgaW50IGksIGJk
ZjsKKyAgICBib29sIHJtcnJfZm91bmQgPSBmYWxzZTsKKyAgICBpbnQgcmM7
CiAKLSAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7Cisg
ICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOworICAgIEFTU0VSVCghaGQt
PmFyY2gudnRkLnBnZF9tYWRkcik7CisgICAgQVNTRVJUKHBhZ2VfbGlzdF9l
bXB0eSgmaGQtPmFyY2gucGd0YWJsZXMubGlzdCkpOwogCi0gICAgaWYgKCBo
ZC0+YXJjaC52dGQucGdkX21hZGRyICkKKyAgICBpZiAoIHBkZXYtPmFyY2gu
dnRkLnBnZF9tYWRkciApCiAgICAgewotICAgICAgICBBU1NFUlRfVU5SRUFD
SEFCTEUoKTsKLSAgICAgICAgZ290byBvdXQ7CisgICAgICAgIGNsZWFyX2Rv
bWFpbl9wYWdlKHBkZXYtPmFyY2gubGVhZl9tZm4pOworICAgICAgICByZXR1
cm4gMDsKICAgICB9CiAKLSAgICBwZyA9IGlvbW11X2FsbG9jX3BndGFibGUo
aGQpOworICAgIGRyaGQgPSBhY3BpX2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQo
cGRldik7CisgICAgaWYgKCAhZHJoZCApCisgICAgICAgIHJldHVybiAtRU5P
REVWOwogCi0gICAgcmMgPSAtRU5PTUVNOworICAgIHBnID0gaW9tbXVfYWxs
b2NfcGd0YWJsZShoZCk7CiAgICAgaWYgKCAhcGcgKQotICAgICAgICBnb3Rv
IG91dDsKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAKKyAgICByYyA9IGNv
bnRleHRfc2V0X2RvbWFpbl9pZChOVUxMLCBwZGV2LT5hcmNoLnBzZXVkb19k
b21pZCwgZHJoZC0+aW9tbXUpOworCisgICAgLyogVHJhbnNpZW50bHkgaW5z
dGFsbCB0aGUgcm9vdCBpbnRvIERvbUlPLCBmb3IgaW9tbXVfaWRlbnRpdHlf
bWFwcGluZygpLiAqLwogICAgIGhkLT5hcmNoLnZ0ZC5wZ2RfbWFkZHIgPSBw
YWdlX3RvX21hZGRyKHBnKTsKIAotICAgIHBhcmVudCA9IG1hcF92dGRfZG9t
YWluX3BhZ2UoaGQtPmFyY2gudnRkLnBnZF9tYWRkcik7Ci0gICAgd2hpbGUg
KCBsZXZlbCApCisgICAgZm9yX2VhY2hfcm1ycl9kZXZpY2UgKCBybXJyLCBi
ZGYsIGkgKQogICAgIHsKLSAgICAgICAgdWludDY0X3QgbWFkZHI7Ci0gICAg
ICAgIHVuc2lnbmVkIGludCBvZmZzZXQ7Ci0KLSAgICAgICAgLyoKLSAgICAg
ICAgICogVGhlIHBndGFibGUgYWxsb2NhdG9yIGlzIGZpbmUgZm9yIHRoZSBs
ZWFmIHBhZ2UsIGFzIHdlbGwgYXMKLSAgICAgICAgICogcGFnZSB0YWJsZSBw
YWdlcywgYW5kIHRoZSByZXN1bHRpbmcgYWxsb2NhdGlvbnMgYXJlIGFsd2F5
cwotICAgICAgICAgKiB6ZXJvZWQuCi0gICAgICAgICAqLwotICAgICAgICBw
ZyA9IGlvbW11X2FsbG9jX3BndGFibGUoaGQpOwotCi0gICAgICAgIGlmICgg
IXBnICkKLSAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICBpZiAoIHJj
ICkKKyAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIG1hZGRyID0gcGFn
ZV90b19tYWRkcihwZyk7Ci0gICAgICAgIGZvciAoIG9mZnNldCA9IDA7IG9m
ZnNldCA8IFBURV9OVU07IG9mZnNldCsrICkKKyAgICAgICAgaWYgKCBybXJy
LT5zZWdtZW50ID09IHBkZXYtPnNlZyAmJiBiZGYgPT0gcGRldi0+c2JkZi5i
ZGYgKQogICAgICAgICB7Ci0gICAgICAgICAgICBzdHJ1Y3QgZG1hX3B0ZSAq
cHRlID0gJnBhcmVudFtvZmZzZXRdOworICAgICAgICAgICAgcm1ycl9mb3Vu
ZCA9IHRydWU7CiAKLSAgICAgICAgICAgIGRtYV9zZXRfcHRlX2FkZHIoKnB0
ZSwgbWFkZHIpOwotICAgICAgICAgICAgZG1hX3NldF9wdGVfcmVhZGFibGUo
KnB0ZSk7CisgICAgICAgICAgICByYyA9IGlvbW11X2lkZW50aXR5X21hcHBp
bmcoZG9tX2lvLCBwMm1fYWNjZXNzX3J3LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJtcnItPmJhc2VfYWRkcmVzcywgcm1y
ci0+ZW5kX2FkZHJlc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMCk7CisgICAgICAgICAgICBpZiAoIHJjICkKKyAgICAg
ICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUiBWVERQUkVGSVgKKyAgICAg
ICAgICAgICAgICAgICAgICAgIiVwcDogUk1SUiBxdWFyYW50aW5lIG1hcHBp
bmcgZmFpbGVkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAmcGRldi0+
c2JkZik7CiAgICAgICAgIH0KLSAgICAgICAgaW9tbXVfc3luY19jYWNoZShw
YXJlbnQsIFBBR0VfU0laRSk7CisgICAgfQogCi0gICAgICAgIHVubWFwX3Z0
ZF9kb21haW5fcGFnZShwYXJlbnQpOwotICAgICAgICBwYXJlbnQgPSBtYXBf
dnRkX2RvbWFpbl9wYWdlKG1hZGRyKTsKLSAgICAgICAgbGV2ZWwtLTsKKyAg
ICBpb21tdV9pZGVudGl0eV9tYXBfdGVhcmRvd24oZG9tX2lvKTsKKyAgICBo
ZC0+YXJjaC52dGQucGdkX21hZGRyID0gMDsKKyAgICBwZGV2LT5hcmNoLnZ0
ZC5wZ2RfbWFkZHIgPSBwYWdlX3RvX21hZGRyKHBnKTsKKworICAgIGlmICgg
IXJjICkKKyAgICB7CisgICAgICAgIHN0cnVjdCBkbWFfcHRlICpyb290Owor
ICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZ3NbNl0gPSB7fTsKKworICAg
ICAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CisKKyAg
ICAgICAgcm9vdCA9IG1hcF92dGRfZG9tYWluX3BhZ2UocGRldi0+YXJjaC52
dGQucGdkX21hZGRyKTsKKyAgICAgICAgcmMgPSBmaWxsX3FwdChyb290LCBs
ZXZlbCAtIDEsIHBncyk7CisgICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFn
ZShyb290KTsKKworICAgICAgICBwZGV2LT5hcmNoLmxlYWZfbWZuID0gcGFn
ZV90b19tZm4ocGdzWzBdKTsKKworICAgICAgICBzcGluX3VubG9jaygmaGQt
PmFyY2gubWFwcGluZ19sb2NrKTsKICAgICB9Ci0gICAgdW5tYXBfdnRkX2Rv
bWFpbl9wYWdlKHBhcmVudCk7CiAKLSAgICByYyA9IDA7CisgICAgcGFnZV9s
aXN0X21vdmUoJnBkZXYtPmFyY2gucGd0YWJsZXNfbGlzdCwgJmhkLT5hcmNo
LnBndGFibGVzLmxpc3QpOwogCi0gb3V0OgotICAgIHNwaW5fdW5sb2NrKCZo
ZC0+YXJjaC5tYXBwaW5nX2xvY2spOworICAgIGlmICggcmMgKQorICAgICAg
ICBxdWFyYW50aW5lX3RlYXJkb3duKHBkZXYsIGRyaGQpOwogCi0gICAgLyog
UGFnZXMgbWF5IGJlIGxlYWtlZCBpbiBmYWlsdXJlIGNhc2UgKi8KICAgICBy
ZXR1cm4gcmM7CiB9CiAKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv
dnRkL2lvbW11LmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2lvbW11LmgKQEAgLTUwOSw3ICs1MDksNyBAQCBzdHJ1Y3QgdnRkX2lvbW11
IHsKICAgICB1MzIgbnJfcHRfbGV2ZWxzOwogICAgIHU2NAljYXA7CiAgICAg
dTY0CWVjYXA7Ci0gICAgc3BpbmxvY2tfdCBsb2NrOyAvKiBwcm90ZWN0IGNv
bnRleHQsIGRvbWFpbiBpZHMgKi8KKyAgICBzcGlubG9ja190IGxvY2s7IC8q
IHByb3RlY3QgY29udGV4dCAqLwogICAgIHNwaW5sb2NrX3QgcmVnaXN0ZXJf
bG9jazsgLyogcHJvdGVjdCBpb21tdSByZWdpc3RlciBoYW5kbGluZyAqLwog
ICAgIHU2NCByb290X21hZGRyOyAvKiByb290IGVudHJ5IG1hY2hpbmUgYWRk
cmVzcyAqLwogICAgIG5vZGVpZF90IG5vZGU7Ci0tLSBhL3hlbi9pbmNsdWRl
L3hlbi9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCkBA
IC0yMzQsNyArMjM0LDcgQEAgdHlwZWRlZiBpbnQgaW9tbXVfZ3JkbV90KHhl
bl9wZm5fdCBzdGFydAogc3RydWN0IGlvbW11X29wcyB7CiAgICAgaW50ICgq
aW5pdCkoc3RydWN0IGRvbWFpbiAqZCk7CiAgICAgdm9pZCAoKmh3ZG9tX2lu
aXQpKHN0cnVjdCBkb21haW4gKmQpOwotICAgIGludCAoKnF1YXJhbnRpbmVf
aW5pdCkoc3RydWN0IGRvbWFpbiAqZCk7CisgICAgaW50ICgqcXVhcmFudGlu
ZV9pbml0KShkZXZpY2VfdCAqZGV2KTsKICAgICBpbnQgKCphZGRfZGV2aWNl
KSh1OCBkZXZmbiwgZGV2aWNlX3QgKmRldik7CiAgICAgaW50ICgqZW5hYmxl
X2RldmljZSkoZGV2aWNlX3QgKmRldik7CiAgICAgaW50ICgqcmVtb3ZlX2Rl
dmljZSkodTggZGV2Zm4sIGRldmljZV90ICpkZXYpOwpAQCAtMzUyLDYgKzM1
Miw3IEBAIGludCBfX211c3RfY2hlY2sgaW9tbXVfc3VzcGVuZCh2b2lkKTsK
IHZvaWQgaW9tbXVfcmVzdW1lKHZvaWQpOwogdm9pZCBpb21tdV9jcmFzaF9z
aHV0ZG93bih2b2lkKTsKIGludCBpb21tdV9nZXRfcmVzZXJ2ZWRfZGV2aWNl
X21lbW9yeShpb21tdV9ncmRtX3QgKiwgdm9pZCAqKTsKK2ludCBpb21tdV9x
dWFyYW50aW5lX2Rldl9pbml0KGRldmljZV90ICpkZXYpOwogCiAjaWZkZWYg
Q09ORklHX0hBU19QQ0kKIGludCBpb21tdV9kb19wY2lfZG9tY3RsKHN0cnVj
dCB4ZW5fZG9tY3RsICosIHN0cnVjdCBkb21haW4gKmQsCg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBmaXggKGRlKWFzc2lnbiBvcmRlcmluZyB3aGVuIFJNUlJzIGFy
ZSBpbiB1c2UKCkluIHRoZSBldmVudCB0aGF0IHRoZSBSTVJSIG1hcHBpbmdz
IGFyZSBlc3NlbnRpYWwgZm9yIGRldmljZSBvcGVyYXRpb24sCnRoZXkgc2hv
dWxkIGJlIGVzdGFibGlzaGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgZGV2aWNl
J3MgY29udGV4dCBlbnRyeSwKd2hpbGUgdGhleSBzaG91bGQgYmUgdG9ybiBk
b3duIG9ubHkgYWZ0ZXIgdGhlIGRldmljZSdzIGNvbnRleHQgZW50cnkgd2Fz
CnN1Y2Nlc3NmdWxseSB1cGRhdGVkLgoKQWxzbyBhZGp1c3QgYSByZWxhdGVk
IGxvZyBtZXNzYWdlLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM1OCAvIHBhcnQg
b2YgWFNBLTQwMC4KCkZpeGVzOiA4Yjk5ZjQ0MDBiNjkgKCJWVC1kOiBmaXgg
Uk1SUiByZWxhdGVkIGVycm9yIGhhbmRsaW5nIikKU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTog
Um9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+ClJldmll
d2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KUmV2aWV3ZWQt
Ynk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgoKLS0tIGEv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTI0MTksNiAr
MjQxOSwxMCBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2RldmljZV9vd25lcnNo
aXAoCiB7CiAgICAgaW50IHJldDsKIAorICAgIHJldCA9IGRvbWFpbl9jb250
ZXh0X3VubWFwKHNvdXJjZSwgZGV2Zm4sIHBkZXYpOworICAgIGlmICggcmV0
ICkKKyAgICAgICAgcmV0dXJuIHJldDsKKwogICAgIC8qCiAgICAgICogRGV2
aWNlcyBhc3NpZ25lZCB0byB1bnRydXN0ZWQgZG9tYWlucyAoaGVyZSBhc3N1
bWVkIHRvIGJlIGFueSBkb21VKQogICAgICAqIGNhbiBhdHRlbXB0IHRvIHNl
bmQgYXJiaXRyYXJ5IExBUElDL01TSSBtZXNzYWdlcy4gV2UgYXJlIHVucHJv
dGVjdGVkCkBAIC0yNDU1LDEwICsyNDU5LDYgQEAgc3RhdGljIGludCByZWFz
c2lnbl9kZXZpY2Vfb3duZXJzaGlwKAogICAgICAgICAgICAgfQogICAgIH0K
IAotICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwKHNvdXJjZSwgZGV2
Zm4sIHBkZXYpOwotICAgIGlmICggcmV0ICkKLSAgICAgICAgcmV0dXJuIHJl
dDsKLQogICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+
ZG9tYWluICE9IGRvbV9pbyApCiAgICAgewogICAgICAgICBsaXN0X21vdmUo
JnBkZXYtPmRvbWFpbl9saXN0LCAmZG9tX2lvLT5wZGV2X2xpc3QpOwpAQCAt
MjUzNCw5ICsyNTM0LDggQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hc3Np
Z25fZGV2aWNlKAogICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0ID0gcmVh
c3NpZ25fZGV2aWNlX293bmVyc2hpcChzLCBkLCBkZXZmbiwgcGRldik7Ci0g
ICAgaWYgKCByZXQgfHwgZCA9PSBkb21faW8gKQotICAgICAgICByZXR1cm4g
cmV0OworICAgIGlmICggZCA9PSBkb21faW8gKQorICAgICAgICByZXR1cm4g
cmVhc3NpZ25fZGV2aWNlX293bmVyc2hpcChzLCBkLCBkZXZmbiwgcGRldik7
CiAKICAgICAvKiBTZXR1cCBybXJyIGlkZW50aXR5IG1hcHBpbmcgKi8KICAg
ICBmb3JfZWFjaF9ybXJyX2RldmljZSggcm1yciwgYmRmLCBpICkKQEAgLTI1
NDksMjAgKzI1NDgsMzcgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hc3Np
Z25fZGV2aWNlKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgZmxhZyk7CiAgICAgICAgICAg
ICBpZiAoIHJldCApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
aW50IHJjOwotCi0gICAgICAgICAgICAgICAgcmMgPSByZWFzc2lnbl9kZXZp
Y2Vfb3duZXJzaGlwKGQsIHMsIGRldmZuLCBwZGV2KTsKICAgICAgICAgICAg
ICAgICBwcmludGsoWEVOTE9HX0dfRVJSIFZURFBSRUZJWAotICAgICAgICAg
ICAgICAgICAgICAgICAiIGNhbm5vdCBtYXAgcmVzZXJ2ZWQgcmVnaW9uICgl
IlBSSXg2NCIsJSJQUkl4NjQiXSBmb3IgRG9tJWQgKCVkKVxuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgcm1yci0+YmFzZV9hZGRyZXNzLCBybXJyLT5l
bmRfYWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWlu
X2lkLCByZXQpOwotICAgICAgICAgICAgICAgIGlmICggcmMgKQotICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxP
R19FUlIgVlREUFJFRklYCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAi
IGZhaWxlZCB0byByZWNsYWltICVwcCBmcm9tICVwZCAoJWQpXG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJlBDSV9TQkRGMyhzZWcsIGJ1cywg
ZGV2Zm4pLCBkLCByYyk7Ci0gICAgICAgICAgICAgICAgICAgIGRvbWFpbl9j
cmFzaChkKTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgICAgICIlcGQ6IGNhbm5vdCBtYXAgcmVzZXJ2ZWQgcmVnaW9uIFslIlBS
SXg2NCIsJSJQUkl4NjQiXTogJWRcbiIsCisgICAgICAgICAgICAgICAgICAg
ICAgIGQsIHJtcnItPmJhc2VfYWRkcmVzcywgcm1yci0+ZW5kX2FkZHJlc3Ms
IHJldCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoICFyZXQgKQorICAgICAg
ICByZXQgPSByZWFzc2lnbl9kZXZpY2Vfb3duZXJzaGlwKHMsIGQsIGRldmZu
LCBwZGV2KTsKKworICAgIC8qIFNlZSByZWFzc2lnbl9kZXZpY2Vfb3duZXJz
aGlwKCkgZm9yIHRoZSBod2RvbSBhc3BlY3QuICovCisgICAgaWYgKCAhcmV0
IHx8IGlzX2hhcmR3YXJlX2RvbWFpbihkKSApCisgICAgICAgIHJldHVybiBy
ZXQ7CisKKyAgICBmb3JfZWFjaF9ybXJyX2RldmljZSggcm1yciwgYmRmLCBp
ICkKKyAgICB7CisgICAgICAgIGlmICggcm1yci0+c2VnbWVudCA9PSBzZWcg
JiYKKyAgICAgICAgICAgICBQQ0lfQlVTKGJkZikgPT0gYnVzICYmCisgICAg
ICAgICAgICAgUENJX0RFVkZOMihiZGYpID09IGRldmZuICkKKyAgICAgICAg
eworICAgICAgICAgICAgaW50IHJjID0gaW9tbXVfaWRlbnRpdHlfbWFwcGlu
ZyhkLCBwMm1fYWNjZXNzX3gsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJtcnItPmJhc2VfYWRkcmVzcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1yci0+
ZW5kX2FkZHJlc3MsIDApOworCisgICAgICAgICAgICBpZiAoIHJjICYmIHJj
ICE9IC1FTk9FTlQgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IHByaW50ayhYRU5MT0dfRVJSIFZURFBSRUZJWAorICAgICAgICAgICAgICAg
ICAgICAgICAiJXBkOiBjYW5ub3QgdW5tYXAgcmVzZXJ2ZWQgcmVnaW9uIFsl
IlBSSXg2NCIsJSJQUkl4NjQiXTogJWRcbiIsCisgICAgICAgICAgICAgICAg
ICAgICAgIGQsIHJtcnItPmJhc2VfYWRkcmVzcywgcm1yci0+ZW5kX2FkZHJl
c3MsIHJjKTsKKyAgICAgICAgICAgICAgICBkb21haW5fY3Jhc2goZCk7CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0K

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBmaXggYWRkL3JlbW92ZSBvcmRlcmluZyB3aGVuIFJNUlJzIGFy
ZSBpbiB1c2UKCkluIHRoZSBldmVudCB0aGF0IHRoZSBSTVJSIG1hcHBpbmdz
IGFyZSBlc3NlbnRpYWwgZm9yIGRldmljZSBvcGVyYXRpb24sCnRoZXkgc2hv
dWxkIGJlIGVzdGFibGlzaGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgZGV2aWNl
J3MgY29udGV4dCBlbnRyeSwKd2hpbGUgdGhleSBzaG91bGQgYmUgdG9ybiBk
b3duIG9ubHkgYWZ0ZXIgdGhlIGRldmljZSdzIGNvbnRleHQgZW50cnkgd2Fz
CnN1Y2Nlc3NmdWxseSBjbGVhcmVkLgoKQWxzbyBzd2l0Y2ggdG8gJXBkIGlu
IHJlbGF0ZWQgbG9nIG1lc3NhZ2VzLgoKRml4ZXM6IGZhODhjZmFkZjkxOCAo
InZ0LWQ6IE1hcCBSTVJSIGluIGludGVsX2lvbW11X2FkZF9kZXZpY2UoKSBp
ZiB0aGUgZGV2aWNlIGhhcyBSTVJSIikKRml4ZXM6IDhiOTlmNDQwMGI2OSAo
IlZULWQ6IGZpeCBSTVJSIHJlbGF0ZWQgZXJyb3IgaGFuZGxpbmciKQpTaWdu
ZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJl
dmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4
LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50
ZWwuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmMKQEAgLTE5OTcsMTQgKzE5OTcsNiBAQCBzdGF0aWMgaW50IGludGVsX2lv
bW11X2FkZF9kZXZpY2UodTggZGV2CiAgICAgaWYgKCAhcGRldi0+ZG9tYWlu
ICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKLSAgICByZXQgPSBkb21h
aW5fY29udGV4dF9tYXBwaW5nKHBkZXYtPmRvbWFpbiwgZGV2Zm4sIHBkZXYp
OwotICAgIGlmICggcmV0ICkKLSAgICB7Ci0gICAgICAgIGRwcmludGsoWEVO
TE9HX0VSUiBWVERQUkVGSVgsICJkJWQ6IGNvbnRleHQgbWFwcGluZyBmYWls
ZWRcbiIsCi0gICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluLT5kb21haW5f
aWQpOwotICAgICAgICByZXR1cm4gcmV0OwotICAgIH0KLQogICAgIGZvcl9l
YWNoX3JtcnJfZGV2aWNlICggcm1yciwgYmRmLCBpICkKICAgICB7CiAgICAg
ICAgIGlmICggcm1yci0+c2VnbWVudCA9PSBwZGV2LT5zZWcgJiYKQEAgLTIw
MjEsMTIgKzIwMTMsMTcgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9hZGRf
ZGV2aWNlKHU4IGRldgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBybXJyLT5iYXNlX2FkZHJlc3MsIHJtcnItPmVuZF9hZGRy
ZXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAwKTsKICAgICAgICAgICAgIGlmICggcmV0ICkKLSAgICAgICAgICAgICAg
ICBkcHJpbnRrKFhFTkxPR19FUlIgVlREUFJFRklYLCAiZCVkOiBSTVJSIG1h
cHBpbmcgZmFpbGVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgcGRl
di0+ZG9tYWluLT5kb21haW5faWQpOworICAgICAgICAgICAgICAgIGRwcmlu
dGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsICIlcGQ6IFJNUlIgbWFwcGluZyBm
YWlsZWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICBwZGV2LT5kb21h
aW4pOwogICAgICAgICB9CiAgICAgfQogCi0gICAgcmV0dXJuIDA7CisgICAg
cmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZyhwZGV2LT5kb21haW4sIGRl
dmZuLCBwZGV2KTsKKyAgICBpZiAoIHJldCApCisgICAgICAgIGRwcmludGso
WEVOTE9HX0VSUiBWVERQUkVGSVgsICIlcGQ6IGNvbnRleHQgbWFwcGluZyBm
YWlsZWRcbiIsCisgICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluKTsKKwor
ICAgIHJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVf
ZW5hYmxlX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGRldikKQEAgLTIwNDgs
MTEgKzIwNDUsMTUgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVf
ZGV2aWNlKHU4CiB7CiAgICAgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJy
OwogICAgIHUxNiBiZGY7Ci0gICAgaW50IGk7CisgICAgaW50IHJldCwgaTsK
IAogICAgIGlmICggIXBkZXYtPmRvbWFpbiApCiAgICAgICAgIHJldHVybiAt
RUlOVkFMOwogCisgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXAocGRl
di0+ZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAgaWYgKCByZXQgKQorICAg
ICAgICByZXR1cm4gcmV0OworCiAgICAgZm9yX2VhY2hfcm1ycl9kZXZpY2Ug
KCBybXJyLCBiZGYsIGkgKQogICAgIHsKICAgICAgICAgaWYgKCBybXJyLT5z
ZWdtZW50ICE9IHBkZXYtPnNlZyB8fApAQCAtMjA2OCw3ICsyMDY5LDcgQEAg
c3RhdGljIGludCBpbnRlbF9pb21tdV9yZW1vdmVfZGV2aWNlKHU4CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcm1yci0+ZW5kX2FkZHJlc3Ms
IDApOwogICAgIH0KIAotICAgIHJldHVybiBkb21haW5fY29udGV4dF91bm1h
cChwZGV2LT5kb21haW4sIGRldmZuLCBwZGV2KTsKKyAgICByZXR1cm4gMDsK
IH0KIAogc3RhdGljIGludCBfX2h3ZG9tX2luaXQgc2V0dXBfaHdkb21fZGV2
aWNlKHU4IGRldmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IHRpZ2h0ZW4gaW9tbXVfYWxsb2NfcGd0YWJsZSgpJ3Mg
cGFyYW1ldGVyCgpUaGlzIGlzIHRvIG1ha2UgbW9yZSBvYnZpb3VzIHRoYXQg
bm90aGluZyBvdXRzaWRlIG9mIGRvbWFpbl9pb21tdShkKQphY3R1YWxseSBj
aGFuZ2VzIG9yIGlzIG90aGVyd2lzZSBuZWVkZWQgYnkgdGhlIGZ1bmN0aW9u
LgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQuCgpTaWduZWQtb2Zm
LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJldmlld2Vk
LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpSZXZp
ZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+Cgot
LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKKysrIGIveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9pb21tdS5oCkBAIC0xNDIsNyArMTQyLDggQEAgaW50
IHBpX3VwZGF0ZV9pcnRlKGNvbnN0IHN0cnVjdCBwaV9kZXNjCiB9KQogCiBp
bnQgX19tdXN0X2NoZWNrIGlvbW11X2ZyZWVfcGd0YWJsZXMoc3RydWN0IGRv
bWFpbiAqZCk7Ci1zdHJ1Y3QgcGFnZV9pbmZvICpfX211c3RfY2hlY2sgaW9t
bXVfYWxsb2NfcGd0YWJsZShzdHJ1Y3QgZG9tYWluICpkKTsKK3N0cnVjdCBk
b21haW5faW9tbXU7CitzdHJ1Y3QgcGFnZV9pbmZvICpfX211c3RfY2hlY2sg
aW9tbXVfYWxsb2NfcGd0YWJsZShzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCk7
CiAKICNlbmRpZiAvKiAhX19BUkNIX1g4Nl9JT01NVV9IX18gKi8KIC8qCi0t
LSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYwor
KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMK
QEAgLTE4NCw3ICsxODQsNyBAQCBzdGF0aWMgaW50IGlvbW11X3BkZV9mcm9t
X2RmbihzdHJ1Y3QgZG9tCiAgICAgdW5zaWduZWQgbG9uZyAgbmV4dF90YWJs
ZV9tZm47CiAgICAgdW5zaWduZWQgaW50IGxldmVsOwogICAgIHN0cnVjdCBw
YWdlX2luZm8gKnRhYmxlOwotICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9t
bXUgKmhkID0gZG9tX2lvbW11KGQpOworICAgIHN0cnVjdCBkb21haW5faW9t
bXUgKmhkID0gZG9tX2lvbW11KGQpOwogCiAgICAgdGFibGUgPSBoZC0+YXJj
aC5hbWQucm9vdF90YWJsZTsKICAgICBsZXZlbCA9IGhkLT5hcmNoLmFtZC5w
YWdpbmdfbW9kZTsKQEAgLTIxOSw3ICsyMTksNyBAQCBzdGF0aWMgaW50IGlv
bW11X3BkZV9mcm9tX2RmbihzdHJ1Y3QgZG9tCiAgICAgICAgICAgICBtZm4g
PSBuZXh0X3RhYmxlX21mbjsKIAogICAgICAgICAgICAgLyogYWxsb2NhdGUg
bG93ZXIgbGV2ZWwgcGFnZSB0YWJsZSAqLwotICAgICAgICAgICAgdGFibGUg
PSBpb21tdV9hbGxvY19wZ3RhYmxlKGQpOworICAgICAgICAgICAgdGFibGUg
PSBpb21tdV9hbGxvY19wZ3RhYmxlKGhkKTsKICAgICAgICAgICAgIGlmICgg
dGFibGUgPT0gTlVMTCApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgQU1EX0lPTU1VX0VSUk9SKCJjYW5ub3QgYWxsb2NhdGUgSS9PIHBhZ2Ug
dGFibGVcbiIpOwpAQCAtMjQ5LDcgKzI0OSw3IEBAIHN0YXRpYyBpbnQgaW9t
bXVfcGRlX2Zyb21fZGZuKHN0cnVjdCBkb20KIAogICAgICAgICAgICAgaWYg
KCBuZXh0X3RhYmxlX21mbiA9PSAwICkKICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICB0YWJsZSA9IGlvbW11X2FsbG9jX3BndGFibGUoZCk7Cisg
ICAgICAgICAgICAgICAgdGFibGUgPSBpb21tdV9hbGxvY19wZ3RhYmxlKGhk
KTsKICAgICAgICAgICAgICAgICBpZiAoIHRhYmxlID09IE5VTEwgKQogICAg
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgQU1EX0lPTU1V
X0VSUk9SKCJjYW5ub3QgYWxsb2NhdGUgSS9PIHBhZ2UgdGFibGVcbiIpOwpA
QCAtNTUzLDcgKzU1Myw3IEBAIGludCBfX2luaXQgYW1kX2lvbW11X3F1YXJh
bnRpbmVfaW5pdChzdHIKIAogICAgIHNwaW5fbG9jaygmaGQtPmFyY2gubWFw
cGluZ19sb2NrKTsKIAotICAgIGhkLT5hcmNoLmFtZC5yb290X3RhYmxlID0g
aW9tbXVfYWxsb2NfcGd0YWJsZShkKTsKKyAgICBoZC0+YXJjaC5hbWQucm9v
dF90YWJsZSA9IGlvbW11X2FsbG9jX3BndGFibGUoaGQpOwogICAgIGlmICgg
IWhkLT5hcmNoLmFtZC5yb290X3RhYmxlICkKICAgICAgICAgZ290byBvdXQ7
CiAKQEAgLTU2OCw3ICs1NjgsNyBAQCBpbnQgX19pbml0IGFtZF9pb21tdV9x
dWFyYW50aW5lX2luaXQoc3RyCiAgICAgICAgICAqIHBhZ2UgdGFibGUgcGFn
ZXMsIGFuZCB0aGUgcmVzdWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdheXMK
ICAgICAgICAgICogemVyb2VkLgogICAgICAgICAgKi8KLSAgICAgICAgcGcg
PSBpb21tdV9hbGxvY19wZ3RhYmxlKGQpOworICAgICAgICBwZyA9IGlvbW11
X2FsbG9jX3BndGFibGUoaGQpOwogICAgICAgICBpZiAoICFwZyApCiAgICAg
ICAgICAgICBicmVhazsKIAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC9hbWQvcGNpX2FtZF9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL2FtZC9wY2lfYW1kX2lvbW11LmMKQEAgLTI0Miw3ICsyNDIsNyBA
QCBpbnQgYW1kX2lvbW11X2FsbG9jX3Jvb3Qoc3RydWN0IGRvbWFpbiAqCiAK
ICAgICBpZiAoIHVubGlrZWx5KCFoZC0+YXJjaC5hbWQucm9vdF90YWJsZSkg
KQogICAgIHsKLSAgICAgICAgaGQtPmFyY2guYW1kLnJvb3RfdGFibGUgPSBp
b21tdV9hbGxvY19wZ3RhYmxlKGQpOworICAgICAgICBoZC0+YXJjaC5hbWQu
cm9vdF90YWJsZSA9IGlvbW11X2FsbG9jX3BndGFibGUoaGQpOwogICAgICAg
ICBpZiAoICFoZC0+YXJjaC5hbWQucm9vdF90YWJsZSApCiAgICAgICAgICAg
ICByZXR1cm4gLUVOT01FTTsKICAgICB9Ci0tLSBhL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC0zMzAsNyArMzMwLDcgQEAgc3RhdGlj
IHU2NCBhZGRyX3RvX2RtYV9wYWdlX21hZGRyKHN0cnVjdAogICAgIHsKICAg
ICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGc7CiAKLSAgICAgICAgaWYgKCAh
YWxsb2MgfHwgIShwZyA9IGlvbW11X2FsbG9jX3BndGFibGUoZG9tYWluKSkg
KQorICAgICAgICBpZiAoICFhbGxvYyB8fCAhKHBnID0gaW9tbXVfYWxsb2Nf
cGd0YWJsZShoZCkpICkKICAgICAgICAgICAgIGdvdG8gb3V0OwogCiAgICAg
ICAgIGhkLT5hcmNoLnZ0ZC5wZ2RfbWFkZHIgPSBwYWdlX3RvX21hZGRyKHBn
KTsKQEAgLTM1MCw3ICszNTAsNyBAQCBzdGF0aWMgdTY0IGFkZHJfdG9fZG1h
X3BhZ2VfbWFkZHIoc3RydWN0CiAgICAgICAgICAgICBpZiAoICFhbGxvYyAp
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgICAgIHBnID0g
aW9tbXVfYWxsb2NfcGd0YWJsZShkb21haW4pOworICAgICAgICAgICAgcGcg
PSBpb21tdV9hbGxvY19wZ3RhYmxlKGhkKTsKICAgICAgICAgICAgIGlmICgg
IXBnICkKICAgICAgICAgICAgICAgICBicmVhazsKIApAQCAtMjc2Niw3ICsy
NzY2LDcgQEAgc3RhdGljIGludCBfX2luaXQgaW50ZWxfaW9tbXVfcXVhcmFu
dGluZQogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAKLSAgICBwZyA9IGlv
bW11X2FsbG9jX3BndGFibGUoZCk7CisgICAgcGcgPSBpb21tdV9hbGxvY19w
Z3RhYmxlKGhkKTsKIAogICAgIHJjID0gLUVOT01FTTsKICAgICBpZiAoICFw
ZyApCkBAIC0yNzg1LDcgKzI3ODUsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBp
bnRlbF9pb21tdV9xdWFyYW50aW5lCiAgICAgICAgICAqIHBhZ2UgdGFibGUg
cGFnZXMsIGFuZCB0aGUgcmVzdWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdh
eXMKICAgICAgICAgICogemVyb2VkLgogICAgICAgICAgKi8KLSAgICAgICAg
cGcgPSBpb21tdV9hbGxvY19wZ3RhYmxlKGQpOworICAgICAgICBwZyA9IGlv
bW11X2FsbG9jX3BndGFibGUoaGQpOwogCiAgICAgICAgIGlmICggIXBnICkK
ICAgICAgICAgICAgIGdvdG8gb3V0OwotLS0gYS94ZW4vZHJpdmVycy9wYXNz
dGhyb3VnaC94ODYvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC94ODYvaW9tbXUuYwpAQCAtNDE2LDkgKzQxNiw4IEBAIGludCBpb21t
dV9mcmVlX3BndGFibGVzKHN0cnVjdCBkb21haW4gKmQKICAgICByZXR1cm4g
MDsKIH0KIAotc3RydWN0IHBhZ2VfaW5mbyAqaW9tbXVfYWxsb2NfcGd0YWJs
ZShzdHJ1Y3QgZG9tYWluICpkKQorc3RydWN0IHBhZ2VfaW5mbyAqaW9tbXVf
YWxsb2NfcGd0YWJsZShzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCkKIHsKLSAg
ICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKICAg
ICB1bnNpZ25lZCBpbnQgbWVtZmxhZ3MgPSAwOwogICAgIHN0cnVjdCBwYWdl
X2luZm8gKnBnOwogICAgIHZvaWQgKnA7Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBkcm9wIG93bmVyc2hpcCBjaGVja2luZyBmcm9tIGRvbWFpbl9j
b250ZXh0X21hcHBpbmdfb25lKCkKCkRlc3BpdGUgcHV0dGluZyBpbiBxdWl0
ZSBhIGJpdCBvZiBlZmZvcnQgaXQgd2FzIG5vdCBwb3NzaWJsZSB0bwplc3Rh
Ymxpc2ggd2h5IGV4YWN0bHkgdGhpcyBjb2RlIGV4aXN0cyAoYmV5b25kIHBv
c3NpYmx5IHNhbml0eQpjaGVja2luZykuIEluc3RlYWQgb2YgYSBzdWJzZXF1
ZW50IGNoYW5nZSBmdXJ0aGVyIGNvbXBsaWNhdGluZyB0aGlzCmxvZ2ljLCBz
aW1wbHkgZ2V0IHJpZCBvZiBpdC4KClRha2UgdGhlIG9wcG9ydHVuaXR5IGFu
ZCBtb3ZlIHRoZSByZXNwZWN0aXZlIHVubWFwX3Z0ZF9kb21haW5fcGFnZSgp
IG91dApvZiB0aGUgbG9ja2VkIHJlZ2lvbi4KClNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJv
Z2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpSZXZpZXdl
ZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+ClJldmlld2VkLWJ5
OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KCi0tLSBhL3hl
bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC0xMjQsMjggKzEy
NCw2IEBAIHN0YXRpYyBpbnQgY29udGV4dF9zZXRfZG9tYWluX2lkKHN0cnVj
dAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNvbnRleHRfZ2V0
X2RvbWFpbl9pZChzdHJ1Y3QgY29udGV4dF9lbnRyeSAqY29udGV4dCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11KQotewotICAgIHVuc2lnbmVkIGxvbmcgZG9tX2luZGV4LCBu
cl9kb207Ci0gICAgaW50IGRvbWlkID0gLTE7Ci0KLSAgICBpZiAoaW9tbXUg
JiYgY29udGV4dCkKLSAgICB7Ci0gICAgICAgIG5yX2RvbSA9IGNhcF9uZG9t
cyhpb21tdS0+Y2FwKTsKLQotICAgICAgICBkb21faW5kZXggPSBjb250ZXh0
X2RvbWFpbl9pZCgqY29udGV4dCk7Ci0KLSAgICAgICAgaWYgKCBkb21faW5k
ZXggPCBucl9kb20gJiYgaW9tbXUtPmRvbWlkX21hcCApCi0gICAgICAgICAg
ICBkb21pZCA9IGlvbW11LT5kb21pZF9tYXBbZG9tX2luZGV4XTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfREVCVUcgVlRE
UFJFRklYLAotICAgICAgICAgICAgICAgICAgICAiZG9tX2luZGV4ICVsdSBl
eGNlZWRzIG5yX2RvbSAlbHUgb3IgaW9tbXUgaGFzIG5vIGRvbWlkX21hcFxu
IiwKLSAgICAgICAgICAgICAgICAgICAgZG9tX2luZGV4LCBucl9kb20pOwot
ICAgIH0KLSAgICByZXR1cm4gZG9taWQ7Ci19Ci0KIHN0YXRpYyB2b2lkIGNs
ZWFudXBfZG9taWRfbWFwKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgc3RydWN0
IHZ0ZF9pb21tdSAqaW9tbXUpCiB7CiAgICAgaW50IGlvbW11X2RvbWlkID0g
ZG9tYWluX2lvbW11X2RvbWlkKGRvbWFpbiwgaW9tbXUpOwpAQCAtMTQxNiw0
NCArMTM5NCw5IEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgK
IAogICAgIGlmICggY29udGV4dF9wcmVzZW50KCpjb250ZXh0KSApCiAgICAg
ewotICAgICAgICBpbnQgcmVzID0gMDsKLQotICAgICAgICAvKiBUcnkgdG8g
Z2V0IGRvbWFpbiBvd25lcnNoaXAgZnJvbSBkZXZpY2Ugc3RydWN0dXJlLiAg
SWYgdGhhdCdzCi0gICAgICAgICAqIG5vdCBhdmFpbGFibGUsIHRyeSB0byBy
ZWFkIGl0IGZyb20gdGhlIGNvbnRleHQgaXRzZWxmLiAqLwotICAgICAgICBp
ZiAoIHBkZXYgKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIHBkZXYt
PmRvbWFpbiAhPSBkb21haW4gKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIHByaW50ayhYRU5MT0dfR19JTkZPIFZURFBSRUZJWCAiJXBkOiAl
cHAgb3duZWQgYnkgJXBkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgZG9t
YWluLCAmUENJX1NCREYzKHNlZywgYnVzLCBkZXZmbiksCi0gICAgICAgICAg
ICAgICAgICAgICAgIHBkZXYtPmRvbWFpbik7Ci0gICAgICAgICAgICAgICAg
cmVzID0gLUVJTlZBTDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAg
ICAgICBlbHNlCi0gICAgICAgIHsKLSAgICAgICAgICAgIGludCBjZG9tYWlu
OwotICAgICAgICAgICAgY2RvbWFpbiA9IGNvbnRleHRfZ2V0X2RvbWFpbl9p
ZChjb250ZXh0LCBpb21tdSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAg
IGlmICggY2RvbWFpbiA8IDAgKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIHByaW50ayhYRU5MT0dfR19XQVJOSU5HIFZURFBSRUZJWAotICAg
ICAgICAgICAgICAgICAgICAgICAiJXBkOiAlcHAgbWFwcGVkLCBidXQgY2Fu
J3QgZmluZCBvd25lclxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgZG9t
YWluLCAmUENJX1NCREYzKHNlZywgYnVzLCBkZXZmbikpOwotICAgICAgICAg
ICAgICAgIHJlcyA9IC1FSU5WQUw7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBlbHNlIGlmICggY2RvbWFpbiAhPSBkb21haW4tPmRvbWFpbl9pZCAp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxP
R19HX0lORk8gVlREUFJFRklYCi0gICAgICAgICAgICAgICAgICAgICAgICIl
cGQ6ICVwcCBhbHJlYWR5IG1hcHBlZCB0byBkJWQiLAotICAgICAgICAgICAg
ICAgICAgICAgICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZu
KSwgY2RvbWFpbik7Ci0gICAgICAgICAgICAgICAgcmVzID0gLUVJTlZBTDsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIHVubWFwX3Z0
ZF9kb21haW5fcGFnZShjb250ZXh0X2VudHJpZXMpOwogICAgICAgICBzcGlu
X3VubG9jaygmaW9tbXUtPmxvY2spOwotICAgICAgICByZXR1cm4gcmVzOwor
ICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoY29udGV4dF9lbnRyaWVz
KTsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCiAgICAgaWYgKCBpb21t
dV9od2RvbV9wYXNzdGhyb3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZG9t
YWluKSApCg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiByZS1hc3NpZ24gZGV2aWNlcyBkaXJlY3RseQoKRGV2aWNlcyB3
aXRoIFJNUlJzLCBkdWUgdG8gaXQgYmVpbmcgdW5zcGVjaWZpZWQgaG93L3do
ZW4gdGhlIHNwZWNpZmllZAptZW1vcnkgcmVnaW9ucyBtYXkgZ2V0IGFjY2Vz
c2VkLCBtYXkgbm90IGJlIGxlZnQgZGlzY29ubmVjdGVkIGZyb20gdGhlaXIK
cmVzcGVjdGl2ZSBtYXBwaW5ncyAoYXMgbG9uZyBhcyBpdCdzIG5vdCBjZXJ0
YWluIHRoYXQgdGhlIGRldmljZSBoYXMKYmVlbiBmdWxseSBxdWllc2NlZCku
IEhlbmNlIHJhdGhlciB0aGFuIHVubWFwcGluZyB0aGUgb2xkIGNvbnRleHQg
YW5kCnRoZW4gbWFwcGluZyB0aGUgbmV3IG9uZSwgcmUtYXNzaWdubWVudCBu
ZWVkcyB0byBiZSBkb25lIGluIGEgc2luZ2xlCnN0ZXAuCgpUaGlzIGlzIENW
RS0yMDIyLTI2MzU5IC8gcGFydCBvZiBYU0EtNDAwLgoKUmVwb3J0ZWQtYnk6
IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKU2lt
aWxhcmx5IHF1YXJhbnRpbmluZyBzY3JhdGNoLXBhZ2UgbW9kZSByZWxpZXMg
b24gcGFnZSB0YWJsZXMgdG8gYmUKY29udGludW91c2x5IHdpcmVkIHVwLgoK
VG8gYXZvaWQgY29tcGxpY2F0aW5nIHRoaW5ncyBtb3JlIHRoYW4gbmVjZXNz
YXJ5LCB0cmVhdCBhbGwgZGV2aWNlcwptb3N0bHkgZXF1YWxseSwgaS5lLiBy
ZWdhcmRsZXNzIG9mIHRoZWlyIGFzc29jaWF0aW9uIHdpdGggYW55IFJNUlJz
LiBUaGUKbWFpbiBkaWZmZXJlbmNlIGlzIHdoZW4gaXQgY29tZXMgdG8gdXBk
YXRpbmcgY29udGV4dCBlbnRyaWVzLCB3aGljaCBuZWVkCnRvIGJlIGF0b21p
YyB3aGVuIHRoZXJlIGFyZSBSTVJScy4gWWV0IGF0b21pY2l0eSBjYW4gb25s
eSBiZSBhY2hpZXZlZAp3aXRoIENNUFhDSEcxNkIsIGF2YWlsYWJpbGl0eSBv
ZiB3aGljaCB3ZSBjYW4ndCB0YWtlIGZvciBnaXZlbi4KClRoZSBzZWVtaW5n
bHkgY29tcGxpY2F0ZWQgY2hvaWNlIG9mIG5vbi1uZWdhdGl2ZSByZXR1cm4g
dmFsdWVzIGZvcgpkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgpIGlzIHRv
IGxpbWl0IGNvZGUgY2h1cm46IFRoaXMgd2F5IGNhbGxlcnMKcGFzc2luZyBO
VUxMIGZvciBwZGV2IGRvbid0IG5lZWQgZmlkZGxpbmcgd2l0aC4KClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpS
ZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJp
eC5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0
ZXJuLmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2V4dGVy
bi5oCkBAIC04NCw3ICs4NCw4IEBAIHZvaWQgZnJlZV9wZ3RhYmxlX21hZGRy
KHU2NCBtYWRkcik7CiB2b2lkICptYXBfdnRkX2RvbWFpbl9wYWdlKHU2NCBt
YWRkcik7CiB2b2lkIHVubWFwX3Z0ZF9kb21haW5fcGFnZShjb25zdCB2b2lk
ICp2YSk7CiBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoc3RydWN0
IGRvbWFpbiAqZG9tYWluLCBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBidXMsIHU4IGRldmZu
LCBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50OF90IGJ1cywgdWludDhfdCBkZXZmbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcGNp
X2RldiAqcGRldiwgdW5zaWduZWQgaW50IG1vZGUpOwogaW50IGRvbWFpbl9j
b250ZXh0X3VubWFwX29uZShzdHJ1Y3QgZG9tYWluICpkb21haW4sIHN0cnVj
dCB2dGRfaW9tbXUgKmlvbW11LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1OCBidXMsIHU4IGRldmZuKTsKIGludCBpbnRlbF9pb21tdV9nZXRf
cmVzZXJ2ZWRfZGV2aWNlX21lbW9yeShpb21tdV9ncmRtX3QgKmZ1bmMsIHZv
aWQgKmN0eHQpOwpAQCAtMTA0LDggKzEwNSw4IEBAIGJvb2wgaXNfYXphbGlh
X3RsYl9lbmFibGVkKGNvbnN0IHN0cnVjdAogdm9pZCBwbGF0Zm9ybV9xdWly
a3NfaW5pdCh2b2lkKTsKIHZvaWQgdnRkX29wc19wcmVhbWJsZV9xdWlyayhz
dHJ1Y3QgdnRkX2lvbW11ICppb21tdSk7CiB2b2lkIHZ0ZF9vcHNfcG9zdGFt
YmxlX3F1aXJrKHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KTsKLWludCBfX211
c3RfY2hlY2sgbWVfd2lmaV9xdWlyayhzdHJ1Y3QgZG9tYWluICpkb21haW4s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggYnVzLCB1OCBk
ZXZmbiwgaW50IG1hcCk7CitpbnQgX19tdXN0X2NoZWNrIG1lX3dpZmlfcXVp
cmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1aW50OF90IGJ1cywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGRldmZuLCB1bnNp
Z25lZCBpbnQgbW9kZSk7CiB2b2lkIHBjaV92dGRfcXVpcmsoY29uc3Qgc3Ry
dWN0IHBjaV9kZXYgKik7CiB2b2lkIHF1aXJrX2lvbW11X2NhcHMoc3RydWN0
IHZ0ZF9pb21tdSAqaW9tbXUpOwogCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL3Z0ZC9pb21tdS5jCkBAIC0xMjAsNiArMTIwLDcgQEAgc3RhdGljIGlu
dCBjb250ZXh0X3NldF9kb21haW5faWQoc3RydWN0CiAgICAgfQogCiAgICAg
c2V0X2JpdChpLCBpb21tdS0+ZG9taWRfYml0bWFwKTsKKyAgICBjb250ZXh0
LT5oaSAmPSB+KCgoMSA8PCBESURfRklFTERfV0lEVEgpIC0gMSkgPDwgRElE
X0hJR0hfT0ZGU0VUKTsKICAgICBjb250ZXh0LT5oaSB8PSAoaSAmICgoMSA8
PCBESURfRklFTERfV0lEVEgpIC0gMSkpIDw8IERJRF9ISUdIX09GRlNFVDsK
ICAgICByZXR1cm4gMDsKIH0KQEAgLTEzNzEsMTUgKzEzNzIsMjcgQEAgc3Rh
dGljIHZvaWQgX19od2RvbV9pbml0IGludGVsX2lvbW11X2h3ZAogICAgIH0K
IH0KIAorLyoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucworICogLSBhIG5l
Z2F0aXZlIGVycm5vIHZhbHVlIHVwb24gZXJyb3IsCisgKiAtIHplcm8gdXBv
biBzdWNjZXNzIHdoZW4gcHJldmlvdXNseSB0aGUgZW50cnkgd2FzIG5vbi1w
cmVzZW50LCBvciB0aGlzIGlzbid0CisgKiAgIHRoZSAibWFpbiIgcmVxdWVz
dCBmb3IgYSBkZXZpY2UgKHBkZXYgPT0gTlVMTCksIG9yIGZvciBuby1vcCBx
dWFyYW50aW5pbmcKKyAqICAgYXNzaWdubWVudHMsCisgKiAtIHBvc2l0aXZl
IChvbmUpIHVwb24gc3VjY2VzcyB3aGVuIHByZXZpb3VzbHkgdGhlIGVudHJ5
IHdhcyBwcmVzZW50IGFuZCB0aGlzCisgKiAgIGlzIHRoZSAibWFpbiIgcmVx
dWVzdCBmb3IgYSBkZXZpY2UgKHBkZXYgIT0gTlVMTCkuCisgKi8KIGludCBk
b21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAgICBzdHJ1Y3QgZG9tYWlu
ICpkb21haW4sCiAgICAgc3RydWN0IHZ0ZF9pb21tdSAqaW9tbXUsCi0gICAg
dTggYnVzLCB1OCBkZXZmbiwgY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYp
CisgICAgdWludDhfdCBidXMsIHVpbnQ4X3QgZGV2Zm4sIGNvbnN0IHN0cnVj
dCBwY2lfZGV2ICpwZGV2LAorICAgIHVuc2lnbmVkIGludCBtb2RlKQogewog
ICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbWFp
bik7Ci0gICAgc3RydWN0IGNvbnRleHRfZW50cnkgKmNvbnRleHQsICpjb250
ZXh0X2VudHJpZXM7CisgICAgc3RydWN0IGNvbnRleHRfZW50cnkgKmNvbnRl
eHQsICpjb250ZXh0X2VudHJpZXMsIGxjdHh0OworICAgIF9fdWludDEyOF90
IG9sZDsKICAgICB1NjQgbWFkZHIsIHBnZF9tYWRkcjsKLSAgICB1MTYgc2Vn
ID0gaW9tbXUtPmRyaGQtPnNlZ21lbnQ7CisgICAgdWludDE2X3Qgc2VnID0g
aW9tbXUtPmRyaGQtPnNlZ21lbnQsIHByZXZfZGlkID0gMDsKKyAgICBzdHJ1
Y3QgZG9tYWluICpwcmV2X2RvbSA9IE5VTEw7CiAgICAgaW50IHJjLCByZXQ7
CiAgICAgYm9vbF90IGZsdXNoX2Rldl9pb3RsYjsKIApAQCAtMTM5MSwxNyAr
MTQwNCwzMiBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAg
ICAgbWFkZHIgPSBidXNfdG9fY29udGV4dF9tYWRkcihpb21tdSwgYnVzKTsK
ICAgICBjb250ZXh0X2VudHJpZXMgPSAoc3RydWN0IGNvbnRleHRfZW50cnkg
KiltYXBfdnRkX2RvbWFpbl9wYWdlKG1hZGRyKTsKICAgICBjb250ZXh0ID0g
JmNvbnRleHRfZW50cmllc1tkZXZmbl07CisgICAgb2xkID0gKGxjdHh0ID0g
KmNvbnRleHQpLmZ1bGw7CiAKLSAgICBpZiAoIGNvbnRleHRfcHJlc2VudCgq
Y29udGV4dCkgKQorICAgIGlmICggY29udGV4dF9wcmVzZW50KGxjdHh0KSAp
CiAgICAgewotICAgICAgICBzcGluX3VubG9jaygmaW9tbXUtPmxvY2spOwot
ICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoY29udGV4dF9lbnRyaWVz
KTsKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGRvbWlkX3QgZG9taWQ7
CisKKyAgICAgICAgcHJldl9kaWQgPSBjb250ZXh0X2RvbWFpbl9pZChsY3R4
dCk7CisgICAgICAgIGRvbWlkID0gaW9tbXUtPmRvbWlkX21hcFtwcmV2X2Rp
ZF07CisgICAgICAgIGlmICggZG9taWQgPCBET01JRF9GSVJTVF9SRVNFUlZF
RCApCisgICAgICAgICAgICBwcmV2X2RvbSA9IHJjdV9sb2NrX2RvbWFpbl9i
eV9pZChkb21pZCk7CisgICAgICAgIGVsc2UgaWYgKCBkb21pZCA9PSBET01J
RF9JTyApCisgICAgICAgICAgICBwcmV2X2RvbSA9IHJjdV9sb2NrX2RvbWFp
bihkb21faW8pOworICAgICAgICBpZiAoICFwcmV2X2RvbSApCisgICAgICAg
IHsKKyAgICAgICAgICAgIHNwaW5fdW5sb2NrKCZpb21tdS0+bG9jayk7Cisg
ICAgICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoY29udGV4dF9lbnRy
aWVzKTsKKyAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0RFQlVHIFZURFBS
RUZJWCwKKyAgICAgICAgICAgICAgICAgICAgIm5vIGRvbWFpbiBmb3IgZGlk
ICV1IChucl9kb20gJXUpXG4iLAorICAgICAgICAgICAgICAgICAgICBwcmV2
X2RpZCwgY2FwX25kb21zKGlvbW11LT5jYXApKTsKKyAgICAgICAgICAgIHJl
dHVybiAtRVNSQ0g7CisgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoIGlv
bW11X2h3ZG9tX3Bhc3N0aHJvdWdoICYmIGlzX2hhcmR3YXJlX2RvbWFpbihk
b21haW4pICkKICAgICB7Ci0gICAgICAgIGNvbnRleHRfc2V0X3RyYW5zbGF0
aW9uX3R5cGUoKmNvbnRleHQsIENPTlRFWFRfVFRfUEFTU19USFJVKTsKKyAg
ICAgICAgY29udGV4dF9zZXRfdHJhbnNsYXRpb25fdHlwZShsY3R4dCwgQ09O
VEVYVF9UVF9QQVNTX1RIUlUpOwogICAgIH0KICAgICBlbHNlCiAgICAgewpA
QCAtMTQxMywzNiArMTQ0MSwxMDcgQEAgaW50IGRvbWFpbl9jb250ZXh0X21h
cHBpbmdfb25lKAogICAgICAgICAgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNo
Lm1hcHBpbmdfbG9jayk7CiAgICAgICAgICAgICBzcGluX3VubG9jaygmaW9t
bXUtPmxvY2spOwogICAgICAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdl
KGNvbnRleHRfZW50cmllcyk7CisgICAgICAgICAgICBpZiAoIHByZXZfZG9t
ICkKKyAgICAgICAgICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihwcmV2X2Rv
bSk7CiAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKICAgICAgICAgfQog
Ci0gICAgICAgIGNvbnRleHRfc2V0X2FkZHJlc3Nfcm9vdCgqY29udGV4dCwg
cGdkX21hZGRyKTsKKyAgICAgICAgY29udGV4dF9zZXRfYWRkcmVzc19yb290
KGxjdHh0LCBwZ2RfbWFkZHIpOwogICAgICAgICBpZiAoIGF0c19lbmFibGVk
ICYmIGVjYXBfZGV2X2lvdGxiKGlvbW11LT5lY2FwKSApCi0gICAgICAgICAg
ICBjb250ZXh0X3NldF90cmFuc2xhdGlvbl90eXBlKCpjb250ZXh0LCBDT05U
RVhUX1RUX0RFVl9JT1RMQik7CisgICAgICAgICAgICBjb250ZXh0X3NldF90
cmFuc2xhdGlvbl90eXBlKGxjdHh0LCBDT05URVhUX1RUX0RFVl9JT1RMQik7
CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGNvbnRleHRfc2V0X3RyYW5z
bGF0aW9uX3R5cGUoKmNvbnRleHQsIENPTlRFWFRfVFRfTVVMVElfTEVWRUwp
OworICAgICAgICAgICAgY29udGV4dF9zZXRfdHJhbnNsYXRpb25fdHlwZShs
Y3R4dCwgQ09OVEVYVF9UVF9NVUxUSV9MRVZFTCk7CiAKICAgICAgICAgc3Bp
bl91bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CiAgICAgfQogCi0g
ICAgaWYgKCBjb250ZXh0X3NldF9kb21haW5faWQoY29udGV4dCwgZG9tYWlu
LCBpb21tdSkgKQorICAgIGlmICggY29udGV4dF9zZXRfZG9tYWluX2lkKCZs
Y3R4dCwgZG9tYWluLCBpb21tdSkgKQogICAgIHsKKyAgICB1bmxvY2s6CiAg
ICAgICAgIHNwaW5fdW5sb2NrKCZpb21tdS0+bG9jayk7CiAgICAgICAgIHVu
bWFwX3Z0ZF9kb21haW5fcGFnZShjb250ZXh0X2VudHJpZXMpOworICAgICAg
ICBpZiAoIHByZXZfZG9tICkKKyAgICAgICAgICAgIHJjdV91bmxvY2tfZG9t
YWluKHByZXZfZG9tKTsKICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CiAgICAg
fQogCi0gICAgY29udGV4dF9zZXRfYWRkcmVzc193aWR0aCgqY29udGV4dCwg
bGV2ZWxfdG9fYWdhdyhpb21tdS0+bnJfcHRfbGV2ZWxzKSk7Ci0gICAgY29u
dGV4dF9zZXRfZmF1bHRfZW5hYmxlKCpjb250ZXh0KTsKLSAgICBjb250ZXh0
X3NldF9wcmVzZW50KCpjb250ZXh0KTsKKyAgICBpZiAoICFwcmV2X2RvbSAp
CisgICAgeworICAgICAgICBjb250ZXh0X3NldF9hZGRyZXNzX3dpZHRoKGxj
dHh0LCBsZXZlbF90b19hZ2F3KGlvbW11LT5ucl9wdF9sZXZlbHMpKTsKKyAg
ICAgICAgY29udGV4dF9zZXRfZmF1bHRfZW5hYmxlKGxjdHh0KTsKKyAgICAg
ICAgY29udGV4dF9zZXRfcHJlc2VudChsY3R4dCk7CisgICAgfQorICAgIGVs
c2UgaWYgKCBwcmV2X2RvbSA9PSBkb21haW4gKQorICAgIHsKKyAgICAgICAg
QVNTRVJUKGxjdHh0LmZ1bGwgPT0gY29udGV4dC0+ZnVsbCk7CisgICAgICAg
IHJjID0gISFwZGV2OworICAgICAgICBnb3RvIHVubG9jazsKKyAgICB9Cisg
ICAgZWxzZQorICAgIHsKKyAgICAgICAgQVNTRVJUKGNvbnRleHRfYWRkcmVz
c193aWR0aChsY3R4dCkgPT0KKyAgICAgICAgICAgICAgIGxldmVsX3RvX2Fn
YXcoaW9tbXUtPm5yX3B0X2xldmVscykpOworICAgICAgICBBU1NFUlQoIWNv
bnRleHRfZmF1bHRfZGlzYWJsZShsY3R4dCkpOworICAgIH0KKworICAgIGlm
ICggY3B1X2hhc19jeDE2ICkKKyAgICB7CisgICAgICAgIF9fdWludDEyOF90
IHJlcyA9IGNtcHhjaGcxNmIoY29udGV4dCwgJm9sZCwgJmxjdHh0LmZ1bGwp
OworCisgICAgICAgIC8qCisgICAgICAgICAqIEhhcmR3YXJlIGRvZXMgbm90
IHVwZGF0ZSB0aGUgY29udGV4dCBlbnRyeSBiZWhpbmQgb3VyIGJhY2tzLAor
ICAgICAgICAgKiBzbyB0aGUgcmV0dXJuIHZhbHVlIHNob3VsZCBtYXRjaCAi
b2xkIi4KKyAgICAgICAgICovCisgICAgICAgIGlmICggcmVzICE9IG9sZCAp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggcGRldiApCisgICAgICAg
ICAgICAgICAgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAoZG9tYWluLCBwZGV2
LCBpb21tdSk7CisgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUgorICAg
ICAgICAgICAgICAgICAgICIlcHA6IHVuZXhwZWN0ZWQgY29udGV4dCBlbnRy
eSAlMDE2bHhfJTAxNmx4IChleHBlY3RlZCAlMDE2bHhfJTAxNmx4KVxuIiwK
KyAgICAgICAgICAgICAgICAgICAmUENJX1NCREYzKHBkZXYtPnNlZywgcGRl
di0+YnVzLCBkZXZmbiksCisgICAgICAgICAgICAgICAgICAgKHVpbnQ2NF90
KShyZXMgPj4gNjQpLCAodWludDY0X3QpcmVzLAorICAgICAgICAgICAgICAg
ICAgICh1aW50NjRfdCkob2xkID4+IDY0KSwgKHVpbnQ2NF90KW9sZCk7Cisg
ICAgICAgICAgICByYyA9IC1FSUxTRVE7CisgICAgICAgICAgICBnb3RvIHVu
bG9jazsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIGlmICggIXByZXZf
ZG9tIHx8ICEobW9kZSAmIE1BUF9XSVRIX1JNUlIpICkKKyAgICB7CisgICAg
ICAgIGNvbnRleHRfY2xlYXJfcHJlc2VudCgqY29udGV4dCk7CisgICAgICAg
IGlvbW11X3N5bmNfY2FjaGUoY29udGV4dCwgc2l6ZW9mKCpjb250ZXh0KSk7
CisKKyAgICAgICAgd3JpdGVfYXRvbWljKCZjb250ZXh0LT5oaSwgbGN0eHQu
aGkpOworICAgICAgICAvKiBObyBiYXJyaWVyIHNob3VsZCBiZSBuZWVkZWQg
YmV0d2VlbiB0aGVzZSB0d28uICovCisgICAgICAgIHdyaXRlX2F0b21pYygm
Y29udGV4dC0+bG8sIGxjdHh0LmxvKTsKKyAgICB9CisgICAgZWxzZSAvKiBC
ZXN0IGVmZm9ydCwgdXBkYXRpbmcgRElEIGxhc3QuICovCisgICAgeworICAg
ICAgICAgLyoKKyAgICAgICAgICAqIEJ5IG5vbi1hdG9taWNhbGx5IHVwZGF0
aW5nIHRoZSBjb250ZXh0IGVudHJ5J3MgRElEIGZpZWxkIGxhc3QsCisgICAg
ICAgICAgKiBkdXJpbmcgYSBzaG9ydCB3aW5kb3cgaW4gdGltZSBUTEIgZW50
cmllcyB3aXRoIHRoZSBvbGQgZG9tYWluIElECisgICAgICAgICAgKiBidXQg
dGhlIG5ldyBwYWdlIHRhYmxlcyBtYXkgYmUgaW5zZXJ0ZWQuICBUaGlzIGNv
dWxkIGFmZmVjdCBJL08KKyAgICAgICAgICAqIG9mIG90aGVyIGRldmljZXMg
dXNpbmcgdGhpcyBzYW1lIChvbGQpIGRvbWFpbiBJRC4gIFN1Y2ggdXBkYXRp
bmcKKyAgICAgICAgICAqIHRoZXJlZm9yZSBpcyBub3QgYSBwcm9ibGVtIGlm
IHRoaXMgd2FzIHRoZSBvbmx5IGRldmljZSBhc3NvY2lhdGVkCisgICAgICAg
ICAgKiB3aXRoIHRoZSBvbGQgZG9tYWluIElELiAgRGl2ZXJ0aW5nIEkvTyBv
ZiBhbnkgb2YgYSBkeWluZyBkb21haW4ncworICAgICAgICAgICogZGV2aWNl
cyB0byB0aGUgcXVhcmFudGluZSBwYWdlIHRhYmxlcyBpcyBpbnRlbmRlZCBh
bnl3YXkuCisgICAgICAgICAgKi8KKyAgICAgICAgaWYgKCAhKG1vZGUgJiAo
TUFQX09XTkVSX0RZSU5HIHwgTUFQX1NJTkdMRV9ERVZJQ0UpKSApCisgICAg
ICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcgVlREUFJFRklYCisgICAg
ICAgICAgICAgICAgICAgIiAlcHA6IHJlYXNzaWdubWVudCBtYXkgY2F1c2Ug
JXBkIGRhdGEgY29ycnVwdGlvblxuIiwKKyAgICAgICAgICAgICAgICAgICAm
UENJX1NCREYzKHNlZywgYnVzLCBkZXZmbiksIHByZXZfZG9tKTsKKworICAg
ICAgICB3cml0ZV9hdG9taWMoJmNvbnRleHQtPmxvLCBsY3R4dC5sbyk7Cisg
ICAgICAgIC8qIE5vIGJhcnJpZXIgc2hvdWxkIGJlIG5lZWRlZCBiZXR3ZWVu
IHRoZXNlIHR3by4gKi8KKyAgICAgICAgd3JpdGVfYXRvbWljKCZjb250ZXh0
LT5oaSwgbGN0eHQuaGkpOworICAgIH0KKwogICAgIGlvbW11X3N5bmNfY2Fj
aGUoY29udGV4dCwgc2l6ZW9mKHN0cnVjdCBjb250ZXh0X2VudHJ5KSk7CiAg
ICAgc3Bpbl91bmxvY2soJmlvbW11LT5sb2NrKTsKIAotICAgIC8qIENvbnRl
eHQgZW50cnkgd2FzIHByZXZpb3VzbHkgbm9uLXByZXNlbnQgKHdpdGggZG9t
aWQgMCkuICovCi0gICAgcmMgPSBpb21tdV9mbHVzaF9jb250ZXh0X2Rldmlj
ZShpb21tdSwgMCwgUENJX0JERjIoYnVzLCBkZXZmbiksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NNRF9NQVNLX05PQklU
LCAxKTsKKyAgICByYyA9IGlvbW11X2ZsdXNoX2NvbnRleHRfZGV2aWNlKGlv
bW11LCBwcmV2X2RpZCwgUENJX0JERjIoYnVzLCBkZXZmbiksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NNRF9NQVNLX05P
QklULCAhcHJldl9kb20pOwogICAgIGZsdXNoX2Rldl9pb3RsYiA9ICEhZmlu
ZF9hdHNfZGV2X2RyaGQoaW9tbXUpOwotICAgIHJldCA9IGlvbW11X2ZsdXNo
X2lvdGxiX2RzaShpb21tdSwgMCwgMSwgZmx1c2hfZGV2X2lvdGxiKTsKKyAg
ICByZXQgPSBpb21tdV9mbHVzaF9pb3RsYl9kc2koaW9tbXUsIHByZXZfZGlk
LCAhcHJldl9kb20sIGZsdXNoX2Rldl9pb3RsYik7CiAKICAgICAvKgogICAg
ICAqIFRoZSBjdXJyZW50IGxvZ2ljIGZvciByZXR1cm5zOgpAQCAtMTQ2Mywx
NyArMTU2MiwyNiBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUo
CiAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7
CiAKICAgICBpZiAoICFzZWcgJiYgIXJjICkKLSAgICAgICAgcmMgPSBtZV93
aWZpX3F1aXJrKGRvbWFpbiwgYnVzLCBkZXZmbiwgTUFQX01FX1BIQU5UT01f
RlVOQyk7CisgICAgICAgIHJjID0gbWVfd2lmaV9xdWlyayhkb21haW4sIGJ1
cywgZGV2Zm4sIG1vZGUpOwogCiAgICAgaWYgKCByYyApCiAgICAgewotICAg
ICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBp
b21tdSwgYnVzLCBkZXZmbik7CisgICAgICAgIGlmICggIXByZXZfZG9tICkK
KyAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShk
b21haW4sIGlvbW11LCBidXMsIGRldmZuKTsKKyAgICAgICAgZWxzZSBpZiAo
IHByZXZfZG9tICE9IGRvbWFpbiApIC8qIEF2b2lkIGluZmluaXRlIHJlY3Vy
c2lvbi4gKi8KKyAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21h
cHBpbmdfb25lKHByZXZfZG9tLCBpb21tdSwgYnVzLCBkZXZmbiwgcGRldiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1vZGUgJiBNQVBfV0lUSF9STVJSKSA8IDA7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHJldCA9IDE7CiAKICAgICAgICAgaWYgKCAhcmV0ICYmIHBk
ZXYgJiYgcGRldi0+ZGV2Zm4gPT0gZGV2Zm4gKQogICAgICAgICAgICAgY2hl
Y2tfY2xlYW51cF9kb21pZF9tYXAoZG9tYWluLCBwZGV2LCBpb21tdSk7CiAg
ICAgfQogCi0gICAgcmV0dXJuIHJjOworICAgIGlmICggcHJldl9kb20gKQor
ICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihwcmV2X2RvbSk7CisKKyAgICBy
ZXR1cm4gcmMgPzogcGRldiAmJiBwcmV2X2RvbTsKIH0KIAogc3RhdGljIGlu
dCBkb21haW5fY29udGV4dF91bm1hcChzdHJ1Y3QgZG9tYWluICpkLCB1aW50
OF90IGRldmZuLApAQCAtMTQ4Myw4ICsxNTkxLDEwIEBAIHN0YXRpYyBpbnQg
ZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGNpX2RldiAqcGRldikKIHsK
ICAgICBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQgPSBhY3Bp
X2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7CisgICAgY29uc3Qgc3Ry
dWN0IGFjcGlfcm1ycl91bml0ICpybXJyOwogICAgIGludCByZXQgPSAwOwot
ICAgIHVpbnQxNl90IHNlZyA9IHBkZXYtPnNlZzsKKyAgICB1bnNpZ25lZCBp
bnQgaSwgbW9kZSA9IDA7CisgICAgdWludDE2X3Qgc2VnID0gcGRldi0+c2Vn
LCBiZGY7CiAgICAgdWludDhfdCBidXMgPSBwZGV2LT5idXMsIHNlY2J1czsK
IAogICAgIC8qCkBAIC0xNTAwLDggKzE2MTAsMjkgQEAgc3RhdGljIGludCBk
b21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogCiAgICAgQVNTRVJUKHBj
aWRldnNfbG9ja2VkKCkpOwogCisgICAgZm9yX2VhY2hfcm1ycl9kZXZpY2Uo
IHJtcnIsIGJkZiwgaSApCisgICAgeworICAgICAgICBpZiAoIHJtcnItPnNl
Z21lbnQgIT0gcGRldi0+c2VnIHx8IGJkZiAhPSBwZGV2LT5zYmRmLmJkZiAp
CisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBtb2RlIHw9IE1B
UF9XSVRIX1JNUlI7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlm
ICggZG9tYWluICE9IHBkZXYtPmRvbWFpbiApCisgICAgeworICAgICAgICBp
ZiAoIHBkZXYtPmRvbWFpbi0+aXNfZHlpbmcgKQorICAgICAgICAgICAgbW9k
ZSB8PSBNQVBfT1dORVJfRFlJTkc7CisgICAgICAgIGVsc2UgaWYgKCBkcmhk
ICYmCisgICAgICAgICAgICAgICAgICAhYW55X3BkZXZfYmVoaW5kX2lvbW11
KHBkZXYtPmRvbWFpbiwgcGRldiwgZHJoZC0+aW9tbXUpICYmCisgICAgICAg
ICAgICAgICAgICAhcGRldi0+cGhhbnRvbV9zdHJpZGUgKQorICAgICAgICAg
ICAgbW9kZSB8PSBNQVBfU0lOR0xFX0RFVklDRTsKKyAgICB9CisKICAgICBz
d2l0Y2ggKCBwZGV2LT50eXBlICkKICAgICB7CisgICAgICAgIGJvb2wgcHJl
dl9wcmVzZW50OworCiAgICAgY2FzZSBERVZfVFlQRV9QQ0lfSE9TVF9CUklE
R0U6CiAgICAgICAgIGlmICggaW9tbXVfZGVidWcgKQogICAgICAgICAgICAg
cHJpbnRrKFZURFBSRUZJWCAiJXBkOkhvc3RicmlkZ2U6IHNraXAgJXBwIG1h
cFxuIiwKQEAgLTE1MjMsNyArMTY1NCw5IEBAIHN0YXRpYyBpbnQgZG9tYWlu
X2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICAgIHByaW50ayhW
VERQUkVGSVggIiVwZDpQQ0llOiBtYXAgJXBwXG4iLAogICAgICAgICAgICAg
ICAgICAgIGRvbWFpbiwgJlBDSV9TQkRGMyhzZWcsIGJ1cywgZGV2Zm4pKTsK
ICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9t
YWluLCBkcmhkLT5pb21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRldik7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYsIG1vZGUpOwor
ICAgICAgICBpZiAoIHJldCA+IDAgKQorICAgICAgICAgICAgcmV0ID0gMDsK
ICAgICAgICAgaWYgKCAhcmV0ICYmIGRldmZuID09IHBkZXYtPmRldmZuICYm
IGF0c19kZXZpY2UocGRldiwgZHJoZCkgPiAwICkKICAgICAgICAgICAgIGVu
YWJsZV9hdHNfZGV2aWNlKHBkZXYsICZkcmhkLT5pb21tdS0+YXRzX2Rldmlj
ZXMpOwogCkBAIC0xNTM4LDkgKzE2NzEsMTAgQEAgc3RhdGljIGludCBkb21h
aW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICAgICAgICAgICAg
IGRvbWFpbiwgJlBDSV9TQkRGMyhzZWcsIGJ1cywgZGV2Zm4pKTsKIAogICAg
ICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21haW4s
IGRyaGQtPmlvbW11LCBidXMsIGRldmZuLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwZGV2KTsKLSAgICAgICAgaWYgKCBy
ZXQgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwZGV2LCBtb2RlKTsKKyAgICAgICAgaWYgKCByZXQgPCAwICkKICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBwcmV2X3ByZXNlbnQgPSByZXQ7CiAK
ICAgICAgICAgaWYgKCAocmV0ID0gZmluZF91cHN0cmVhbV9icmlkZ2Uoc2Vn
LCAmYnVzLCAmZGV2Zm4sICZzZWNidXMpKSA8IDEgKQogICAgICAgICB7CkBA
IC0xNTQ4LDYgKzE2ODIsMTUgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4
dF9tYXBwaW5nKHN0cnVjdAogICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgcmV0ID0gLUVOWElPOwogICAgICAgICB9CisgICAgICAgIC8q
CisgICAgICAgICAqIFN0cmljdGx5IHNwZWFraW5nIGlmIHRoZSBkZXZpY2Ug
aXMgdGhlIG9ubHkgb25lIGJlaGluZCB0aGlzIGJyaWRnZQorICAgICAgICAg
KiBhbmQgdGhlIG9ubHkgb25lIHdpdGggdGhpcyAoc2VjYnVzLDAsMCkgdHVw
bGUsIGl0IGNvdWxkIGJlIGFsbG93ZWQKKyAgICAgICAgICogdG8gYmUgcmUt
YXNzaWduZWQgcmVnYXJkbGVzcyBvZiBSTVJSIHByZXNlbmNlLiAgQnV0IGxl
dCdzIGRlYWwgd2l0aAorICAgICAgICAgKiB0aGF0IGNhc2Ugb25seSBpZiBp
dCBpcyBhY3R1YWxseSBmb3VuZCBpbiB0aGUgd2lsZC4KKyAgICAgICAgICov
CisgICAgICAgIGVsc2UgaWYgKCBwcmV2X3ByZXNlbnQgJiYgKG1vZGUgJiBN
QVBfV0lUSF9STVJSKSAmJgorICAgICAgICAgICAgICAgICAgZG9tYWluICE9
IHBkZXYtPmRvbWFpbiApCisgICAgICAgICAgICByZXQgPSAtRU9QTk9UU1VQ
UDsKIAogICAgICAgICAvKgogICAgICAgICAgKiBNYXBwaW5nIGEgYnJpZGdl
IHNob3VsZCwgaWYgYW55dGhpbmcsIHBhc3MgdGhlIHN0cnVjdCBwY2lfZGV2
IG9mCkBAIC0xNTU2LDcgKzE2OTksNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9j
b250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgICAqLwogICAgICAgICBp
ZiAoIHJldCA+PSAwICkKICAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250
ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIGJ1cywgZGV2
Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5VTEwsIG1vZGUpOwogCiAgICAgICAgIC8qCiAgICAg
ICAgICAqIERldmljZXMgYmVoaW5kIFBDSWUtdG8tUENJL1BDSXggYnJpZGdl
IG1heSBnZW5lcmF0ZSBkaWZmZXJlbnQKQEAgLTE1NzEsMTAgKzE3MTQsMTUg
QEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAog
ICAgICAgICBpZiAoICFyZXQgJiYgcGRldl90eXBlKHNlZywgYnVzLCBkZXZm
bikgPT0gREVWX1RZUEVfUENJZTJQQ0lfQlJJREdFICYmCiAgICAgICAgICAg
ICAgKHNlY2J1cyAhPSBwZGV2LT5idXMgfHwgcGRldi0+ZGV2Zm4gIT0gMCkg
KQogICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19v
bmUoZG9tYWluLCBkcmhkLT5pb21tdSwgc2VjYnVzLCAwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO
VUxMLCBtb2RlKTsKIAogICAgICAgICBpZiAoIHJldCApCi0gICAgICAgICAg
ICBkb21haW5fY29udGV4dF91bm1hcChkb21haW4sIGRldmZuLCBwZGV2KTsK
KyAgICAgICAgeworICAgICAgICAgICAgaWYgKCAhcHJldl9wcmVzZW50ICkK
KyAgICAgICAgICAgICAgICBkb21haW5fY29udGV4dF91bm1hcChkb21haW4s
IGRldmZuLCBwZGV2KTsKKyAgICAgICAgICAgIGVsc2UgaWYgKCBwZGV2LT5k
b21haW4gIT0gZG9tYWluICkgLyogQXZvaWQgaW5maW5pdGUgcmVjdXJzaW9u
LiAqLworICAgICAgICAgICAgICAgIGRvbWFpbl9jb250ZXh0X21hcHBpbmco
cGRldi0+ZG9tYWluLCBkZXZmbiwgcGRldik7CisgICAgICAgIH0KIAogICAg
ICAgICBicmVhazsKIApAQCAtMjM2MywxNyArMjUxMSw0NiBAQCBzdGF0aWMg
aW50IHJlYXNzaWduX2RldmljZV9vd25lcnNoaXAoCiB7CiAgICAgaW50IHJl
dDsKIAotICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwKHNvdXJjZSwg
ZGV2Zm4sIHBkZXYpOworICAgIGlmICggIVFVQVJBTlRJTkVfU0tJUCh0YXJn
ZXQpICkKKyAgICB7CisgICAgICAgIGlmICggIWhhc19hcmNoX3BkZXZzKHRh
cmdldCkgKQorICAgICAgICAgICAgdm14X3BpX2hvb2tzX2Fzc2lnbih0YXJn
ZXQpOworCisgICAgICAgIC8qCisgICAgICAgICAqIERldmljZXMgYXNzaWdu
ZWQgdG8gdW50cnVzdGVkIGRvbWFpbnMgKGhlcmUgYXNzdW1lZCB0byBiZSBh
bnkgZG9tVSkKKyAgICAgICAgICogY2FuIGF0dGVtcHQgdG8gc2VuZCBhcmJp
dHJhcnkgTEFQSUMvTVNJIG1lc3NhZ2VzLiBXZSBhcmUgdW5wcm90ZWN0ZWQK
KyAgICAgICAgICogYnkgdGhlIHJvb3QgY29tcGxleCB1bmxlc3MgaW50ZXJy
dXB0IHJlbWFwcGluZyBpcyBlbmFibGVkLgorICAgICAgICAgKi8KKyAgICAg
ICAgaWYgKCAodGFyZ2V0ICE9IGhhcmR3YXJlX2RvbWFpbikgJiYgIWlvbW11
X2ludHJlbWFwICkKKyAgICAgICAgICAgIHVudHJ1c3RlZF9tc2kgPSB0cnVl
OworCisgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmcodGFy
Z2V0LCBkZXZmbiwgcGRldik7CisKKyAgICAgICAgaWYgKCAhcmV0ICYmICFR
VUFSQU5USU5FX1NLSVAoc291cmNlKSAmJiBwZGV2LT5kZXZmbiA9PSBkZXZm
biApCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBhY3Bp
X2RyaGRfdW5pdCAqZHJoZCA9IGFjcGlfZmluZF9tYXRjaGVkX2RyaGRfdW5p
dChwZGV2KTsKKworICAgICAgICAgICAgaWYgKCBkcmhkICkKKyAgICAgICAg
ICAgICAgICBjaGVja19jbGVhbnVwX2RvbWlkX21hcChzb3VyY2UsIHBkZXYs
IGRyaGQtPmlvbW11KTsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlCisg
ICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwKHNvdXJjZSwgZGV2
Zm4sIHBkZXYpOwogICAgIGlmICggcmV0ICkKKyAgICB7CisgICAgICAgIGlm
ICggIWhhc19hcmNoX3BkZXZzKHRhcmdldCkgKQorICAgICAgICAgICAgdm14
X3BpX2hvb2tzX2RlYXNzaWduKHRhcmdldCk7CiAgICAgICAgIHJldHVybiBy
ZXQ7CisgICAgfQogCi0gICAgLyoKLSAgICAgKiBEZXZpY2VzIGFzc2lnbmVk
IHRvIHVudHJ1c3RlZCBkb21haW5zIChoZXJlIGFzc3VtZWQgdG8gYmUgYW55
IGRvbVUpCi0gICAgICogY2FuIGF0dGVtcHQgdG8gc2VuZCBhcmJpdHJhcnkg
TEFQSUMvTVNJIG1lc3NhZ2VzLiBXZSBhcmUgdW5wcm90ZWN0ZWQKLSAgICAg
KiBieSB0aGUgcm9vdCBjb21wbGV4IHVubGVzcyBpbnRlcnJ1cHQgcmVtYXBw
aW5nIGlzIGVuYWJsZWQuCi0gICAgICovCi0gICAgaWYgKCAodGFyZ2V0ICE9
IGhhcmR3YXJlX2RvbWFpbikgJiYgIWlvbW11X2ludHJlbWFwICkKLSAgICAg
ICAgdW50cnVzdGVkX21zaSA9IHRydWU7CisgICAgaWYgKCBkZXZmbiA9PSBw
ZGV2LT5kZXZmbiAmJiBwZGV2LT5kb21haW4gIT0gdGFyZ2V0ICkKKyAgICB7
CisgICAgICAgIGxpc3RfbW92ZSgmcGRldi0+ZG9tYWluX2xpc3QsICZ0YXJn
ZXQtPnBkZXZfbGlzdCk7CisgICAgICAgIHBkZXYtPmRvbWFpbiA9IHRhcmdl
dDsKKyAgICB9CisKKyAgICBpZiAoICFoYXNfYXJjaF9wZGV2cyhzb3VyY2Up
ICkKKyAgICAgICAgdm14X3BpX2hvb2tzX2RlYXNzaWduKHNvdXJjZSk7CiAK
ICAgICAvKgogICAgICAqIElmIHRoZSBkZXZpY2UgYmVsb25ncyB0byB0aGUg
aGFyZHdhcmUgZG9tYWluLCBhbmQgaXQgaGFzIFJNUlIsIGRvbid0CkBAIC0y
NDAzLDM0ICsyNTgwLDcgQEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Vf
b3duZXJzaGlwKAogICAgICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICgg
ZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+ZG9tYWluICE9IGRvbV9p
byApCi0gICAgewotICAgICAgICBsaXN0X21vdmUoJnBkZXYtPmRvbWFpbl9s
aXN0LCAmZG9tX2lvLT5wZGV2X2xpc3QpOwotICAgICAgICBwZGV2LT5kb21h
aW4gPSBkb21faW87Ci0gICAgfQotCi0gICAgaWYgKCAhaGFzX2FyY2hfcGRl
dnMoc291cmNlKSApCi0gICAgICAgIHZteF9waV9ob29rc19kZWFzc2lnbihz
b3VyY2UpOwotCi0gICAgaWYgKCAhaGFzX2FyY2hfcGRldnModGFyZ2V0KSAp
Ci0gICAgICAgIHZteF9waV9ob29rc19hc3NpZ24odGFyZ2V0KTsKLQotICAg
IHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmcodGFyZ2V0LCBkZXZmbiwg
cGRldik7Ci0gICAgaWYgKCByZXQgKQotICAgIHsKLSAgICAgICAgaWYgKCAh
aGFzX2FyY2hfcGRldnModGFyZ2V0KSApCi0gICAgICAgICAgICB2bXhfcGlf
aG9va3NfZGVhc3NpZ24odGFyZ2V0KTsKLQotICAgICAgICByZXR1cm4gcmV0
OwotICAgIH0KLQotICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYg
cGRldi0+ZG9tYWluICE9IHRhcmdldCApCi0gICAgewotICAgICAgICBsaXN0
X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0LCAmdGFyZ2V0LT5wZGV2X2xpc3Qp
OwotICAgICAgICBwZGV2LT5kb21haW4gPSB0YXJnZXQ7Ci0gICAgfQotCi0g
ICAgcmV0dXJuIHJldDsKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIGlu
dCBpbnRlbF9pb21tdV9hc3NpZ25fZGV2aWNlKAotLS0gYS94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaAorKysgYi94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC92dGQvaW9tbXUuaApAQCAtMjAyLDggKzIwMiwxMiBAQCBz
dHJ1Y3Qgcm9vdF9lbnRyeSB7CiAgICAgZG8geyhyb290KS52YWwgfD0gKCh2
YWx1ZSkgJiBQQUdFX01BU0tfNEspO30gd2hpbGUoMCkKIAogc3RydWN0IGNv
bnRleHRfZW50cnkgewotICAgIHU2NCBsbzsKLSAgICB1NjQgaGk7CisgICAg
dW5pb24geworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgdWludDY0
X3QgbG8sIGhpOworICAgICAgICB9OworICAgICAgICBfX3VpbnQxMjhfdCBm
dWxsOworICAgIH07CiB9OwogI2RlZmluZSBST09UX0VOVFJZX05SIChQQUdF
X1NJWkVfNEsvc2l6ZW9mKHN0cnVjdCByb290X2VudHJ5KSkKICNkZWZpbmUg
Y29udGV4dF9wcmVzZW50KGMpICgoYykubG8gJiAxKQotLS0gYS94ZW4vZHJp
dmVycy9wYXNzdGhyb3VnaC92dGQvcXVpcmtzLmMKKysrIGIveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvdnRkL3F1aXJrcy5jCkBAIC00MDcsNyArNDA3LDgg
QEAgdm9pZCBfX2luaXQgcGxhdGZvcm1fcXVpcmtzX2luaXQodm9pZCkKICAq
LwogCiBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBtYXBfbWVfcGhhbnRvbV9m
dW5jdGlvbihzdHJ1Y3QgZG9tYWluICpkb21haW4sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MzIgZGV2LCBp
bnQgbWFwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgaW50IGRldiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCBtb2RlKQogewogICAgIHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZDsK
ICAgICBzdHJ1Y3QgcGNpX2RldiAqcGRldjsKQEAgLTQxOCw5ICs0MTksOSBA
QCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBtYXBfbWVfcGhhbnRvbV9mCiAg
ICAgZHJoZCA9IGFjcGlfZmluZF9tYXRjaGVkX2RyaGRfdW5pdChwZGV2KTsK
IAogICAgIC8qIG1hcCBvciB1bm1hcCBNRSBwaGFudG9tIGZ1bmN0aW9uICov
Ci0gICAgaWYgKCBtYXAgKQorICAgIGlmICggIShtb2RlICYgVU5NQVBfTUVf
UEhBTlRPTV9GVU5DKSApCiAgICAgICAgIHJjID0gZG9tYWluX2NvbnRleHRf
bWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgMCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfREVWRk4oZGV2
LCA3KSwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUENJX0RFVkZOKGRldiwgNyksIE5VTEwsIG1vZGUpOwogICAg
IGVsc2UKICAgICAgICAgcmMgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUo
ZG9tYWluLCBkcmhkLT5pb21tdSwgMCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUENJX0RFVkZOKGRldiwgNykpOwpAQCAtNDI4
LDcgKzQyOSw4IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIG1hcF9tZV9w
aGFudG9tX2YKICAgICByZXR1cm4gcmM7CiB9CiAKLWludCBtZV93aWZpX3F1
aXJrKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdTggYnVzLCB1OCBkZXZmbiwg
aW50IG1hcCkKK2ludCBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21haW4gKmRv
bWFpbiwgdWludDhfdCBidXMsIHVpbnQ4X3QgZGV2Zm4sCisgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKICAgICB1MzIgaWQ7CiAg
ICAgaW50IHJjID0gMDsKQEAgLTQ1Miw3ICs0NTQsNyBAQCBpbnQgbWVfd2lm
aV9xdWlyayhzdHJ1Y3QgZG9tYWluICpkb21haW4sCiAgICAgICAgICAgICBj
YXNlIDB4NDIzYjgwODY6CiAgICAgICAgICAgICBjYXNlIDB4NDIzYzgwODY6
CiAgICAgICAgICAgICBjYXNlIDB4NDIzZDgwODY6Ci0gICAgICAgICAgICAg
ICAgcmMgPSBtYXBfbWVfcGhhbnRvbV9mdW5jdGlvbihkb21haW4sIDMsIG1h
cCk7CisgICAgICAgICAgICAgICAgcmMgPSBtYXBfbWVfcGhhbnRvbV9mdW5j
dGlvbihkb21haW4sIDMsIG1vZGUpOwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBicmVh
azsKQEAgLTQ3OCw3ICs0ODAsNyBAQCBpbnQgbWVfd2lmaV9xdWlyayhzdHJ1
Y3QgZG9tYWluICpkb21haW4sCiAgICAgICAgICAgICBjYXNlIDB4NDIzODgw
ODY6ICAgICAgICAvKiBQdW1hIFBlYWsgKi8KICAgICAgICAgICAgIGNhc2Ug
MHg0MjJiODA4NjoKICAgICAgICAgICAgIGNhc2UgMHg0MjJjODA4NjoKLSAg
ICAgICAgICAgICAgICByYyA9IG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKGRv
bWFpbiwgMjIsIG1hcCk7CisgICAgICAgICAgICAgICAgcmMgPSBtYXBfbWVf
cGhhbnRvbV9mdW5jdGlvbihkb21haW4sIDIyLCBtb2RlKTsKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L3Z0ZC92dGQuaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
dnRkLmgKQEAgLTIyLDggKzIyLDE0IEBACiAKICNpbmNsdWRlIDx4ZW4vaW9t
bXUuaD4KIAotI2RlZmluZSBNQVBfTUVfUEhBTlRPTV9GVU5DICAgICAgMQot
I2RlZmluZSBVTk1BUF9NRV9QSEFOVE9NX0ZVTkMgICAgMAorLyoKKyAqIFZh
bHVlcyBmb3IgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoKSdzIGFuZCBt
ZV93aWZpX3F1aXJrKCkncyAibW9kZSIKKyAqIHBhcmFtZXRlcnMuCisgKi8K
KyNkZWZpbmUgTUFQX1dJVEhfUk1SUiAgICAgICAgICgxdSA8PCAwKQorI2Rl
ZmluZSBNQVBfT1dORVJfRFlJTkcgICAgICAgKDF1IDw8IDEpCisjZGVmaW5l
IE1BUF9TSU5HTEVfREVWSUNFICAgICAoMXUgPDwgMikKKyNkZWZpbmUgVU5N
QVBfTUVfUEhBTlRPTV9GVU5DICgxdSA8PCAzKQogCiAvKiBBbGxvdyBmb3Ig
Ym90aCBJT0FQSUMgYW5kIElPU0FQSUMuICovCiAjZGVmaW5lIElPX3hBUElD
X3JvdXRlX2VudHJ5IElPX0FQSUNfcm91dGVfZW50cnkK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFzc2lnbiBkZXZpY2VzIGRpcmVjdGx5CgpEZXZp
Y2VzIHdpdGggdW5pdHkgbWFwIHJhbmdlcywgZHVlIHRvIGl0IGJlaW5nIHVu
c3BlY2lmaWVkIGhvdy93aGVuCnRoZXNlIG1lbW9yeSByYW5nZXMgbWF5IGdl
dCBhY2Nlc3NlZCwgbWF5IG5vdCBiZSBsZWZ0IGRpc2Nvbm5lY3RlZCBmcm9t
CnRoZWlyIHVuaXR5IG1hcHBpbmdzIChhcyBsb25nIGFzIGl0J3Mgbm90IGNl
cnRhaW4gdGhhdCB0aGUgZGV2aWNlIGhhcwpiZWVuIGZ1bGx5IHF1aWVzY2Vk
KS4gSGVuY2UgcmF0aGVyIHRoYW4gdGVhcmluZyBkb3duIHRoZSBvbGQgcm9v
dCBwYWdlCnRhYmxlIHBvaW50ZXIgYW5kIHRoZW4gZXN0YWJsaXNoaW5nIHRo
ZSBuZXcgb25lLCByZS1hc3NpZ25tZW50IG5lZWRzIHRvCmJlIGRvbmUgaW4g
YSBzaW5nbGUgc3RlcC4KClRoaXMgaXMgQ1ZFLTIwMjItMjYzNjAgLyBwYXJ0
IG9mIFhTQS00MDAuCgpSZXBvcnRlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgpTaW1pbGFybHkgcXVhcmFudGluaW5n
IHNjcmF0Y2gtcGFnZSBtb2RlIHJlbGllcyBvbiBwYWdlIHRhYmxlcyB0byBi
ZQpjb250aW51b3VzbHkgd2lyZWQgdXAuCgpUbyBhdm9pZCBjb21wbGljYXRp
bmcgdGhpbmdzIG1vcmUgdGhhbiBuZWNlc3NhcnksIHRyZWF0IGFsbCBkZXZp
Y2VzCm1vc3RseSBlcXVhbGx5LCBpLmUuIHJlZ2FyZGxlc3Mgb2YgdGhlaXIg
YXNzb2NpYXRpb24gd2l0aCBhbnkgdW5pdHkgbWFwCnJhbmdlcy4gIFRoZSBt
YWluIGRpZmZlcmVuY2UgaXMgd2hlbiBpdCBjb21lcyB0byB1cGRhdGluZyBE
VEVzLCB3aGljaCBuZWVkCnRvIGJlIGF0b21pYyB3aGVuIHRoZXJlIGFyZSB1
bml0eSBtYXBwaW5ncy4gWWV0IGF0b21pY2l0eSBjYW4gb25seSBiZQphY2hp
ZXZlZCB3aXRoIENNUFhDSEcxNkIsIGF2YWlsYWJpbGl0eSBvZiB3aGljaCB3
ZSBjYW4ndCB0YWtlIGZvciBnaXZlbi4KClNpZ25lZC1vZmYtYnk6IEphbiBC
ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwg
RHVycmFudCA8cGF1bEB4ZW4ub3JnPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1
IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CgotLS0gYS94ZW4vZHJp
dmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXUuaAorKysgYi94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9hbWQvaW9tbXUuaApAQCAtMjYyLDkgKzI2MiwxMyBA
QCB2b2lkIGFtZF9pb21tdV9zZXRfaW50cmVtYXBfdGFibGUoc3RydWN0CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAq
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgdmFsaWQpOwotdm9pZCBhbWRfaW9tbXVf
c2V0X3Jvb3RfcGFnZV90YWJsZShzdHJ1Y3QgYW1kX2lvbW11X2R0ZSAqZHRl
LAotCQkJCSAgIHVpbnQ2NF90IHJvb3RfcHRyLCB1aW50MTZfdCBkb21haW5f
aWQsCi0JCQkJICAgdWludDhfdCBwYWdpbmdfbW9kZSwgYm9vbCB2YWxpZCk7
CisjZGVmaW5lIFNFVF9ST09UX1ZBTElEICAgICAgICAgICgxdSA8PCAwKQor
I2RlZmluZSBTRVRfUk9PVF9XSVRIX1VOSVRZX01BUCAoMXUgPDwgMSkKK2lu
dCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUo
c3RydWN0IGFtZF9pb21tdV9kdGUgKmR0ZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgcm9vdF9w
dHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQxNl90IGRvbWFpbl9pZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBwYWdpbmdf
bW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsKIHZvaWQgaW9tbXVfZHRl
X2FkZF9kZXZpY2VfZW50cnkoc3RydWN0IGFtZF9pb21tdV9kdGUgKmR0ZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IGl2cnNfbWFwcGluZ3MgKml2cnNfZGV2KTsKIAotLS0gYS94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5jCkBAIC0xMTQsMTAgKzEx
NCw2OSBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHNldF9pb21tdV9wdGVzX3By
ZXNlCiAgICAgcmV0dXJuIGZsdXNoX2ZsYWdzOwogfQogCi12b2lkIGFtZF9p
b21tdV9zZXRfcm9vdF9wYWdlX3RhYmxlKHN0cnVjdCBhbWRfaW9tbXVfZHRl
ICpkdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ2NF90IHJvb3RfcHRyLCB1aW50MTZfdCBkb21haW5faWQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgcGFnaW5nX21v
ZGUsIGJvb2wgdmFsaWQpCisvKgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5z
CisgKiAtIC1lcnJubyBmb3IgZXJyb3JzLAorICogLSAwIGZvciBhIHN1Y2Nl
c3NmdWwgdXBkYXRlLCBhdG9taWMgd2hlbiBuZWNlc3NhcnkKKyAqIC0gMSBm
b3IgYSBzdWNjZXNzZnVsIGJ1dCBub24tYXRvbWljIHVwZGF0ZSwgd2hpY2gg
bWF5IG5lZWQgdG8gYmUgd2FybmVkCisgKiAgIGFib3V0IGJ5IHRoZSBjYWxs
ZXIuCisgKi8KK2ludCBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJsZShz
dHJ1Y3QgYW1kX2lvbW11X2R0ZSAqZHRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ2NF90IHJvb3RfcHRyLCB1aW50MTZfdCBk
b21haW5faWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dWludDhfdCBwYWdpbmdfbW9kZSwgdW5zaWduZWQgaW50IGZsYWdzKQogewor
ICAgIGJvb2wgdmFsaWQgPSBmbGFncyAmIFNFVF9ST09UX1ZBTElEOworCisg
ICAgaWYgKCBkdGUtPnYgJiYgZHRlLT50diAmJgorICAgICAgICAgKGNwdV9o
YXNfY3gxNiB8fCAoZmxhZ3MgJiBTRVRfUk9PVF9XSVRIX1VOSVRZX01BUCkp
ICkKKyAgICB7CisgICAgICAgIHVuaW9uIHsKKyAgICAgICAgICAgIHN0cnVj
dCBhbWRfaW9tbXVfZHRlIGR0ZTsKKyAgICAgICAgICAgIHVpbnQ2NF90IHJh
dzY0WzRdOworICAgICAgICAgICAgX191aW50MTI4X3QgcmF3MTI4WzJdOwor
ICAgICAgICB9IGxkdGUgPSB7IC5kdGUgPSAqZHRlIH07CisgICAgICAgIF9f
dWludDEyOF90IG9sZCA9IGxkdGUucmF3MTI4WzBdOworICAgICAgICBpbnQg
cmV0ID0gMDsKKworICAgICAgICBsZHRlLmR0ZS5kb21haW5faWQgPSBkb21h
aW5faWQ7CisgICAgICAgIGxkdGUuZHRlLnB0X3Jvb3QgPSBwYWRkcl90b19w
Zm4ocm9vdF9wdHIpOworICAgICAgICBsZHRlLmR0ZS5pdyA9IHRydWU7Cisg
ICAgICAgIGxkdGUuZHRlLmlyID0gdHJ1ZTsKKyAgICAgICAgbGR0ZS5kdGUu
cGFnaW5nX21vZGUgPSBwYWdpbmdfbW9kZTsKKyAgICAgICAgbGR0ZS5kdGUu
diA9IHZhbGlkOworCisgICAgICAgIGlmICggY3B1X2hhc19jeDE2ICkKKyAg
ICAgICAgeworICAgICAgICAgICAgX191aW50MTI4X3QgcmVzID0gY21weGNo
ZzE2YihkdGUsICZvbGQsICZsZHRlLnJhdzEyOFswXSk7CisKKyAgICAgICAg
ICAgIC8qCisgICAgICAgICAgICAgKiBIYXJkd2FyZSBkb2VzIG5vdCB1cGRh
dGUgdGhlIERURSBiZWhpbmQgb3VyIGJhY2tzLCBzbyB0aGUKKyAgICAgICAg
ICAgICAqIHJldHVybiB2YWx1ZSBzaG91bGQgbWF0Y2ggIm9sZCIuCisgICAg
ICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICggcmVzICE9IG9sZCApCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19F
UlIKKyAgICAgICAgICAgICAgICAgICAgICAgIkRvbSVkOiB1bmV4cGVjdGVk
IERURSAlMDE2bHhfJTAxNmx4IChleHBlY3RlZCAlMDE2bHhfJTAxNmx4KVxu
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluX2lkLAorICAgICAg
ICAgICAgICAgICAgICAgICAodWludDY0X3QpKHJlcyA+PiA2NCksICh1aW50
NjRfdClyZXMsCisgICAgICAgICAgICAgICAgICAgICAgICh1aW50NjRfdCko
b2xkID4+IDY0KSwgKHVpbnQ2NF90KW9sZCk7CisgICAgICAgICAgICAgICAg
cmV0ID0gLUVJTFNFUTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICBlbHNlIC8qIEJlc3QgZWZmb3J0LCB1cGRhdGluZyBkb21haW5faWQg
bGFzdC4gKi8KKyAgICAgICAgeworICAgICAgICAgICAgdWludDY0X3QgKnB0
ciA9ICh2b2lkICopZHRlOworCisgICAgICAgICAgICB3cml0ZV9hdG9taWMo
cHRyICsgMCwgbGR0ZS5yYXc2NFswXSk7CisgICAgICAgICAgICAvKiBObyBi
YXJyaWVyIHNob3VsZCBiZSBuZWVkZWQgYmV0d2VlbiB0aGVzZSB0d28uICov
CisgICAgICAgICAgICB3cml0ZV9hdG9taWMocHRyICsgMSwgbGR0ZS5yYXc2
NFsxXSk7CisKKyAgICAgICAgICAgIHJldCA9IDE7CisgICAgICAgIH0KKwor
ICAgICAgICByZXR1cm4gcmV0OworICAgIH0KKwogICAgIGlmICggdmFsaWQg
fHwgZHRlLT52ICkKICAgICB7CiAgICAgICAgIGR0ZS0+dHYgPSBmYWxzZTsK
QEAgLTEzMiw2ICsxOTEsOCBAQCB2b2lkIGFtZF9pb21tdV9zZXRfcm9vdF9w
YWdlX3RhYmxlKHN0cnVjCiAgICAgc21wX3dtYigpOwogICAgIGR0ZS0+dHYg
PSB0cnVlOwogICAgIGR0ZS0+diA9IHZhbGlkOworCisgICAgcmV0dXJuIDA7
CiB9CiAKIHZvaWQgYW1kX2lvbW11X3NldF9pbnRyZW1hcF90YWJsZSgKLS0t
IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUu
YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9p
b21tdS5jCkBAIC05NiwxMyArOTYsMzIgQEAgc3RhdGljIGludCBfX211c3Rf
Y2hlY2sgYWxsb2NhdGVfZG9tYWluXwogICAgIHJldHVybiByYzsKIH0KIAor
c3RhdGljIGJvb2wgYW55X3BkZXZfYmVoaW5kX2lvbW11KGNvbnN0IHN0cnVj
dCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgc3RydWN0IHBjaV9kZXYgKmV4Y2x1ZGUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGFtZF9pb21t
dSAqaW9tbXUpCit7CisgICAgY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXY7
CisKKyAgICBmb3JfZWFjaF9wZGV2ICggZCwgcGRldiApCisgICAgeworICAg
ICAgICBpZiAoIHBkZXYgPT0gZXhjbHVkZSApCisgICAgICAgICAgICBjb250
aW51ZTsKKworICAgICAgICBpZiAoIGZpbmRfaW9tbXVfZm9yX2RldmljZShw
ZGV2LT5zZWcsIHBkZXYtPnNiZGYuYmRmKSA9PSBpb21tdSApCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1
cF9kb21haW5fZGV2aWNlKAogICAgIHN0cnVjdCBkb21haW4gKmRvbWFpbiwg
c3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCiAgICAgdWludDhfdCBkZXZmbiwg
c3RydWN0IHBjaV9kZXYgKnBkZXYpCiB7CiAgICAgc3RydWN0IGFtZF9pb21t
dV9kdGUgKnRhYmxlLCAqZHRlOwogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7
Ci0gICAgaW50IHJlcV9pZCwgdmFsaWQgPSAxLCByYzsKKyAgICB1bnNpZ25l
ZCBpbnQgcmVxX2lkLCBzcl9mbGFnczsKKyAgICBpbnQgcmM7CiAgICAgdTgg
YnVzID0gcGRldi0+YnVzOwogICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhk
ID0gZG9tX2lvbW11KGRvbWFpbik7CiAgICAgY29uc3Qgc3RydWN0IGl2cnNf
bWFwcGluZ3MgKml2cnNfZGV2OwpAQCAtMTE2LDggKzEzNSwxMSBAQCBzdGF0
aWMgaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfc2V0dXBfCiAgICAgaWYg
KCByYyApCiAgICAgICAgIHJldHVybiByYzsKIAotICAgIGlmICggaW9tbXVf
aHdkb21fcGFzc3Rocm91Z2ggJiYgaXNfaGFyZHdhcmVfZG9tYWluKGRvbWFp
bikgKQotICAgICAgICB2YWxpZCA9IDA7CisgICAgcmVxX2lkID0gZ2V0X2Rt
YV9yZXF1ZXN0b3JfaWQoaW9tbXUtPnNlZywgcGRldi0+c2JkZi5iZGYpOwor
ICAgIGl2cnNfZGV2ID0gJmdldF9pdnJzX21hcHBpbmdzKGlvbW11LT5zZWcp
W3JlcV9pZF07CisgICAgc3JfZmxhZ3MgPSAoaW9tbXVfaHdkb21fcGFzc3Ro
cm91Z2ggJiYgaXNfaGFyZHdhcmVfZG9tYWluKGRvbWFpbikKKyAgICAgICAg
ICAgICAgICA/IDAgOiBTRVRfUk9PVF9WQUxJRCkKKyAgICAgICAgICAgICAg
IHwgKGl2cnNfZGV2LT51bml0eV9tYXAgPyBTRVRfUk9PVF9XSVRIX1VOSVRZ
X01BUCA6IDApOwogCiAgICAgLyogZ2V0IGRldmljZS10YWJsZSBlbnRyeSAq
LwogICAgIHJlcV9pZCA9IGdldF9kbWFfcmVxdWVzdG9yX2lkKGlvbW11LT5z
ZWcsIFBDSV9CREYyKGJ1cywgZGV2Zm4pKTsKQEAgLTEzMCw5ICsxNTIsMTUg
QEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldHVwXwog
ICAgIGlmICggIWR0ZS0+diB8fCAhZHRlLT50diApCiAgICAgewogICAgICAg
ICAvKiBiaW5kIERURSB0byBkb21haW4gcGFnZS10YWJsZXMgKi8KLSAgICAg
ICAgYW1kX2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUoCi0gICAgICAgICAg
ICBkdGUsIHBhZ2VfdG9fbWFkZHIoaGQtPmFyY2guYW1kLnJvb3RfdGFibGUp
LAotICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQsIGhkLT5hcmNoLmFt
ZC5wYWdpbmdfbW9kZSwgdmFsaWQpOworICAgICAgICByYyA9IGFtZF9pb21t
dV9zZXRfcm9vdF9wYWdlX3RhYmxlKAorICAgICAgICAgICAgICAgICBkdGUs
IHBhZ2VfdG9fbWFkZHIoaGQtPmFyY2guYW1kLnJvb3RfdGFibGUpLAorICAg
ICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwgaGQtPmFyY2guYW1k
LnBhZ2luZ19tb2RlLCBzcl9mbGFncyk7CisgICAgICAgIGlmICggcmMgKQor
ICAgICAgICB7CisgICAgICAgICAgICBBU1NFUlQocmMgPCAwKTsKKyAgICAg
ICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5sb2NrLCBm
bGFncyk7CisgICAgICAgICAgICByZXR1cm4gcmM7CisgICAgICAgIH0KIAog
ICAgICAgICAvKiBVbmRvIHdoYXQgYW1kX2lvbW11X2Rpc2FibGVfZG9tYWlu
X2RldmljZSgpIG1heSBoYXZlIGRvbmUuICovCiAgICAgICAgIGlmICggZHRl
LT5pdF9yb290ICkKQEAgLTE1MiwxNyArMTgwLDc2IEBAIHN0YXRpYyBpbnQg
X19tdXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAgICAgICAgc3Bpbl91
bmxvY2tfaXJxcmVzdG9yZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsKIAogICAg
ICAgICBhbWRfaW9tbXVfZmx1c2hfZGV2aWNlKGlvbW11LCByZXFfaWQpOwor
ICAgIH0KKyAgICBlbHNlIGlmICggZHRlLT5wdF9yb290ICE9IG1mbl94KHBh
Z2VfdG9fbWZuKGhkLT5hcmNoLmFtZC5yb290X3RhYmxlKSkgKQorICAgIHsK
KyAgICAgICAgLyoKKyAgICAgICAgICogU3RyaWN0bHkgc3BlYWtpbmcgaWYg
dGhlIGRldmljZSBpcyB0aGUgb25seSBvbmUgd2l0aCB0aGlzIHJlcXVlc3Rv
cgorICAgICAgICAgKiBJRCwgaXQgY291bGQgYmUgYWxsb3dlZCB0byBiZSBy
ZS1hc3NpZ25lZCByZWdhcmRsZXNzIG9mIHVuaXR5IG1hcAorICAgICAgICAg
KiBwcmVzZW5jZS4gIEJ1dCBsZXQncyBkZWFsIHdpdGggdGhhdCBjYXNlIG9u
bHkgaWYgaXQgaXMgYWN0dWFsbHkKKyAgICAgICAgICogZm91bmQgaW4gdGhl
IHdpbGQuCisgICAgICAgICAqLworICAgICAgICBpZiAoIHJlcV9pZCAhPSBQ
Q0lfQkRGMihidXMsIGRldmZuKSAmJgorICAgICAgICAgICAgIChzcl9mbGFn
cyAmIFNFVF9ST09UX1dJVEhfVU5JVFlfTUFQKSApCisgICAgICAgICAgICBy
YyA9IC1FT1BOT1RTVVBQOworICAgICAgICBlbHNlCisgICAgICAgICAgICBy
YyA9IGFtZF9pb21tdV9zZXRfcm9vdF9wYWdlX3RhYmxlKAorICAgICAgICAg
ICAgICAgICAgICAgZHRlLCBwYWdlX3RvX21hZGRyKGhkLT5hcmNoLmFtZC5y
b290X3RhYmxlKSwKKyAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9t
YWluX2lkLCBoZC0+YXJjaC5hbWQucGFnaW5nX21vZGUsIHNyX2ZsYWdzKTsK
KyAgICAgICAgaWYgKCByYyA8IDAgKQorICAgICAgICB7CisgICAgICAgICAg
ICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb21tdS0+bG9jaywgZmxhZ3Mp
OworICAgICAgICAgICAgcmV0dXJuIHJjOworICAgICAgICB9CisgICAgICAg
IGlmICggcmMgJiYKKyAgICAgICAgICAgICBkb21haW4gIT0gcGRldi0+ZG9t
YWluICYmCisgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgKiBCeSBu
b24tYXRvbWljYWxseSB1cGRhdGluZyB0aGUgRFRFJ3MgZG9tYWluIElEIGZp
ZWxkIGxhc3QsCisgICAgICAgICAgICAgICogZHVyaW5nIGEgc2hvcnQgd2lu
ZG93IGluIHRpbWUgVExCIGVudHJpZXMgd2l0aCB0aGUgb2xkIGRvbWFpbgor
ICAgICAgICAgICAgICAqIElEIGJ1dCB0aGUgbmV3IHBhZ2UgdGFibGVzIG1h
eSBoYXZlIGJlZW4gaW5zZXJ0ZWQuICBUaGlzIGNvdWxkCisgICAgICAgICAg
ICAgICogYWZmZWN0IEkvTyBvZiBvdGhlciBkZXZpY2VzIHVzaW5nIHRoaXMg
c2FtZSAob2xkKSBkb21haW4gSUQuCisgICAgICAgICAgICAgICogU3VjaCB1
cGRhdGluZyB0aGVyZWZvcmUgaXMgbm90IGEgcHJvYmxlbSBpZiB0aGlzIHdh
cyB0aGUgb25seQorICAgICAgICAgICAgICAqIGRldmljZSBhc3NvY2lhdGVk
IHdpdGggdGhlIG9sZCBkb21haW4gSUQuICBEaXZlcnRpbmcgSS9PIG9mIGFu
eQorICAgICAgICAgICAgICAqIG9mIGEgZHlpbmcgZG9tYWluJ3MgZGV2aWNl
cyB0byB0aGUgcXVhcmFudGluZSBwYWdlIHRhYmxlcyBpcworICAgICAgICAg
ICAgICAqIGludGVuZGVkIGFueXdheS4KKyAgICAgICAgICAgICAgKi8KKyAg
ICAgICAgICAgICAhcGRldi0+ZG9tYWluLT5pc19keWluZyAmJgorICAgICAg
ICAgICAgIChhbnlfcGRldl9iZWhpbmRfaW9tbXUocGRldi0+ZG9tYWluLCBw
ZGV2LCBpb21tdSkgfHwKKyAgICAgICAgICAgICAgcGRldi0+cGhhbnRvbV9z
dHJpZGUpICkKKyAgICAgICAgICAgIEFNRF9JT01NVV9XQVJOKCIgJXBwOiBy
ZWFzc2lnbm1lbnQgbWF5IGNhdXNlICVwZCBkYXRhIGNvcnJ1cHRpb25cbiIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAmUENJX1NCREYzKHBkZXYt
PnNlZywgYnVzLCBkZXZmbiksIHBkZXYtPmRvbWFpbik7CisKKyAgICAgICAg
LyoKKyAgICAgICAgICogQ2hlY2sgcmVtYWluaW5nIHNldHRpbmdzIGFyZSBz
dGlsbCBpbiBwbGFjZSBmcm9tIGFuIGVhcmxpZXIgY2FsbAorICAgICAgICAg
KiBoZXJlLiBUaGV5J3JlIGFsbCBpbmRlcGVuZGVudCBvZiB0aGUgZG9tYWlu
LCBzbyBzaG91bGQgbm90IGhhdmUKKyAgICAgICAgICogY2hhbmdlZC4KKyAg
ICAgICAgICovCisgICAgICAgIGlmICggZHRlLT5pdF9yb290ICkKKyAgICAg
ICAgICAgIEFTU0VSVChkdGUtPmludF9jdGwgPT0gSU9NTVVfREVWX1RBQkxF
X0lOVF9DT05UUk9MX1RSQU5TTEFURUQpOworICAgICAgICBBU1NFUlQoZHRl
LT5pdiA9PSBpb21tdV9pbnRyZW1hcCk7CisgICAgICAgIEFTU0VSVChkdGUt
PmV4ID09IGl2cnNfZGV2LT5kdGVfYWxsb3dfZXhjbHVzaW9uKTsKKyAgICAg
ICAgQVNTRVJUKGR0ZS0+c3lzX21ndCA9PSBNQVNLX0VYVFIoaXZyc19kZXYt
PmRldmljZV9mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQUNQSV9JVkhEX1NZU1RFTV9NR01UKSk7CiAKLSAgICAg
ICAgQU1EX0lPTU1VX0RFQlVHKCJTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2
aWNlIGlkID0gJSN4LCB0eXBlID0gJSN4LCAiCi0gICAgICAgICAgICAgICAg
ICAgICAgICAicm9vdCB0YWJsZSA9ICUjIlBSSXg2NCIsICIKLSAgICAgICAg
ICAgICAgICAgICAgICAgICJkb21haW4gPSAlZCwgcGFnaW5nIG1vZGUgPSAl
ZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcV9pZCwgcGRldi0+
dHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VfdG9fbWFkZHIo
aGQtPmFyY2guYW1kLnJvb3RfdGFibGUpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgZG9tYWluLT5kb21haW5faWQsIGhkLT5hcmNoLmFtZC5wYWdpbmdf
bW9kZSk7CisgICAgICAgIGlmICggcGNpX2F0c19kZXZpY2UoaW9tbXUtPnNl
ZywgYnVzLCBwZGV2LT5kZXZmbikgJiYKKyAgICAgICAgICAgICAhaXZyc19k
ZXYtPmJsb2NrX2F0cyAmJgorICAgICAgICAgICAgIGlvbW11X2hhc19jYXAo
aW9tbXUsIFBDSV9DQVBfSU9UTEJfU0hJRlQpICkKKyAgICAgICAgICAgIEFT
U0VSVChkdGUtPmkgPT0gYXRzX2VuYWJsZWQpOworCisgICAgICAgIHNwaW5f
dW5sb2NrX2lycXJlc3RvcmUoJmlvbW11LT5sb2NrLCBmbGFncyk7CisKKyAg
ICAgICAgYW1kX2lvbW11X2ZsdXNoX2RldmljZShpb21tdSwgcmVxX2lkKTsK
ICAgICB9CiAgICAgZWxzZQogICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0
b3JlKCZpb21tdS0+bG9jaywgZmxhZ3MpOwogCisgICAgQU1EX0lPTU1VX0RF
QlVHKCJTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gJSN4LCB0
eXBlID0gJSN4LCAiCisgICAgICAgICAgICAgICAgICAgICJyb290IHRhYmxl
ID0gJSMiUFJJeDY0IiwgIgorICAgICAgICAgICAgICAgICAgICAiZG9tYWlu
ID0gJWQsIHBhZ2luZyBtb2RlID0gJWRcbiIsCisgICAgICAgICAgICAgICAg
ICAgIHJlcV9pZCwgcGRldi0+dHlwZSwKKyAgICAgICAgICAgICAgICAgICAg
cGFnZV90b19tYWRkcihoZC0+YXJjaC5hbWQucm9vdF90YWJsZSksCisgICAg
ICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkLCBoZC0+YXJjaC5h
bWQucGFnaW5nX21vZGUpOworCiAgICAgQVNTRVJUKHBjaWRldnNfbG9ja2Vk
KCkpOwogCiAgICAgaWYgKCBwY2lfYXRzX2RldmljZShpb21tdS0+c2VnLCBi
dXMsIHBkZXYtPmRldmZuKSAmJgpAQCAtMzY2LDcgKzQ1MywyMCBAQCBzdGF0
aWMgaW50IHJlYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluCiAgICAgICAg
IHJldHVybiAtRU5PREVWOwogICAgIH0KIAotICAgIGFtZF9pb21tdV9kaXNh
YmxlX2RvbWFpbl9kZXZpY2Uoc291cmNlLCBpb21tdSwgZGV2Zm4sIHBkZXYp
OworICAgIGlmICggIVFVQVJBTlRJTkVfU0tJUCh0YXJnZXQpICkKKyAgICB7
CisgICAgICAgIHJjID0gYW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZpY2Uo
dGFyZ2V0LCBpb21tdSwgZGV2Zm4sIHBkZXYpOworICAgICAgICBpZiAoIHJj
ICkKKyAgICAgICAgICAgIHJldHVybiByYzsKKyAgICB9CisgICAgZWxzZQor
ICAgICAgICBhbWRfaW9tbXVfZGlzYWJsZV9kb21haW5fZGV2aWNlKHNvdXJj
ZSwgaW9tbXUsIGRldmZuLCBwZGV2KTsKKworICAgIGlmICggZGV2Zm4gPT0g
cGRldi0+ZGV2Zm4gJiYgcGRldi0+ZG9tYWluICE9IHRhcmdldCApCisgICAg
eworICAgICAgICBsaXN0X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0LCAmdGFy
Z2V0LT5wZGV2X2xpc3QpOworICAgICAgICBwZGV2LT5kb21haW4gPSB0YXJn
ZXQ7CisgICAgfQogCiAgICAgLyoKICAgICAgKiBJZiB0aGUgZGV2aWNlIGJl
bG9uZ3MgdG8gdGhlIGhhcmR3YXJlIGRvbWFpbiwgYW5kIGl0IGhhcyBhIHVu
aXR5IG1hcHBpbmcsCkBAIC0zODIsMjUgKzQ4Miw5IEBAIHN0YXRpYyBpbnQg
cmVhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4KICAgICAgICAgICAgIHJl
dHVybiByYzsKICAgICB9CiAKLSAgICBpZiAoIGRldmZuID09IHBkZXYtPmRl
dmZuICYmIHBkZXYtPmRvbWFpbiAhPSBkb21faW8gKQotICAgIHsKLSAgICAg
ICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5fbGlzdCwgJmRvbV9pby0+cGRl
dl9saXN0KTsKLSAgICAgICAgcGRldi0+ZG9tYWluID0gZG9tX2lvOwotICAg
IH0KLQotICAgIHJjID0gYW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZpY2Uo
dGFyZ2V0LCBpb21tdSwgZGV2Zm4sIHBkZXYpOwotICAgIGlmICggcmMgKQot
ICAgICAgICByZXR1cm4gcmM7Ci0KICAgICBBTURfSU9NTVVfREVCVUcoIlJl
LWFzc2lnbiAlcHAgZnJvbSBkb20lZCB0byBkb20lZFxuIiwKICAgICAgICAg
ICAgICAgICAgICAgJnBkZXYtPnNiZGYsIHNvdXJjZS0+ZG9tYWluX2lkLCB0
YXJnZXQtPmRvbWFpbl9pZCk7CiAKLSAgICBpZiAoIGRldmZuID09IHBkZXYt
PmRldmZuICYmIHBkZXYtPmRvbWFpbiAhPSB0YXJnZXQgKQotICAgIHsKLSAg
ICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5fbGlzdCwgJnRhcmdldC0+
cGRldl9saXN0KTsKLSAgICAgICAgcGRldi0+ZG9tYWluID0gdGFyZ2V0Owot
ICAgIH0KLQogICAgIHJldHVybiAwOwogfQogCg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBwcmVwYXJlIGZvciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFn
ZSB0YWJsZXMgKHBhcnQgSSkKCkFycmFuZ2UgZm9yIGRvbWFpbiBJRCBhbmQg
cGFnZSB0YWJsZSByb290IHRvIGJlIHBhc3NlZCBhcm91bmQsIHRoZSBsYXR0
ZXIgaW4KcGFydGljdWxhciB0byBkb21haW5fcGdkX21hZGRyKCkgc3VjaCB0
aGF0IHRha2luZyBpdCBmcm9tIHRoZSBwZXItZG9tYWluCmZpZWxkcyBjYW4g
YmUgb3ZlcnJpZGRlbi4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVk
LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5A
aW50ZWwuY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2V4dGVybi5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9l
eHRlcm4uaApAQCAtODUsOSArODUsMTAgQEAgdm9pZCAqbWFwX3Z0ZF9kb21h
aW5fcGFnZSh1NjQgbWFkZHIpOwogdm9pZCB1bm1hcF92dGRfZG9tYWluX3Bh
Z2UoY29uc3Qgdm9pZCAqdmEpOwogaW50IGRvbWFpbl9jb250ZXh0X21hcHBp
bmdfb25lKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgc3RydWN0IHZ0ZF9pb21t
dSAqaW9tbXUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu
dDhfdCBidXMsIHVpbnQ4X3QgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2ln
bmVkIGludCBtb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwgZG9taWRfdCBkb21pZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHBnZF9t
YWRkciwgdW5zaWduZWQgaW50IG1vZGUpOwogaW50IGRvbWFpbl9jb250ZXh0
X3VubWFwX29uZShzdHJ1Y3QgZG9tYWluICpkb21haW4sIHN0cnVjdCB2dGRf
aW9tbXUgKmlvbW11LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
OCBidXMsIHU4IGRldmZuKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDhfdCBidXMsIHVpbnQ4X3QgZGV2Zm4sIGRvbWlkX3QgZG9taWQp
OwogaW50IGludGVsX2lvbW11X2dldF9yZXNlcnZlZF9kZXZpY2VfbWVtb3J5
KGlvbW11X2dyZG1fdCAqZnVuYywgdm9pZCAqY3R4dCk7CiAKIHVuc2lnbmVk
IGludCBpb19hcGljX3JlYWRfcmVtYXBfcnRlKHVuc2lnbmVkIGludCBhcGlj
LCB1bnNpZ25lZCBpbnQgcmVnKTsKQEAgLTEwNiw3ICsxMDcsOCBAQCB2b2lk
IHBsYXRmb3JtX3F1aXJrc19pbml0KHZvaWQpOwogdm9pZCB2dGRfb3BzX3By
ZWFtYmxlX3F1aXJrKHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KTsKIHZvaWQg
dnRkX29wc19wb3N0YW1ibGVfcXVpcmsoc3RydWN0IHZ0ZF9pb21tdSAqaW9t
bXUpOwogaW50IF9fbXVzdF9jaGVjayBtZV93aWZpX3F1aXJrKHN0cnVjdCBk
b21haW4gKmRvbWFpbiwgdWludDhfdCBidXMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDhfdCBkZXZmbiwgdW5zaWduZWQgaW50IG1v
ZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qg
ZGV2Zm4sIGRvbWlkX3QgZG9taWQsIHBhZGRyX3QgcGdkX21hZGRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtb2Rl
KTsKIHZvaWQgcGNpX3Z0ZF9xdWlyayhjb25zdCBzdHJ1Y3QgcGNpX2RldiAq
KTsKIHZvaWQgcXVpcmtfaW9tbXVfY2FwcyhzdHJ1Y3QgdnRkX2lvbW11ICpp
b21tdSk7CiAKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmMKQEAgLTQzLDcgKzQzLDcgQEAKICNpbmNsdWRlICIuLi9hdHMuaCIKIAog
LyogZG9tX2lvIGlzIHVzZWQgYXMgYSBzZW50aW5lbCBmb3IgcXVhcmFudGlu
ZWQgZGV2aWNlcyAqLwotI2RlZmluZSBRVUFSQU5USU5FX1NLSVAoZCkgKChk
KSA9PSBkb21faW8gJiYgIWRvbV9pb21tdShkKS0+YXJjaC52dGQucGdkX21h
ZGRyKQorI2RlZmluZSBRVUFSQU5USU5FX1NLSVAoZCwgcGdkX21hZGRyKSAo
KGQpID09IGRvbV9pbyAmJiAhKHBnZF9tYWRkcikpCiAKIC8qIFBvc3NpYmxl
IHVuZmlsdGVyZWQgTEFQSUMvTVNJIG1lc3NhZ2VzIGZyb20gdW50cnVzdGVk
IHNvdXJjZXM/ICovCiBib29sIF9fcmVhZF9tb3N0bHkgdW50cnVzdGVkX21z
aTsKQEAgLTM1OCwxNSArMzU4LDE3IEBAIHN0YXRpYyB1NjQgYWRkcl90b19k
bWFfcGFnZV9tYWRkcihzdHJ1Y3QKICAgICByZXR1cm4gcHRlX21hZGRyOwog
fQogCi1zdGF0aWMgdWludDY0X3QgZG9tYWluX3BnZF9tYWRkcihzdHJ1Y3Qg
ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgbnJfcHRfbGV2ZWxzKQorc3RhdGlj
IHBhZGRyX3QgZG9tYWluX3BnZF9tYWRkcihzdHJ1Y3QgZG9tYWluICpkLCBw
YWRkcl90IHBnZF9tYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50IG5yX3B0X2xldmVscykKIHsKICAgICBzdHJ1
Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKLSAgICB1aW50
NjRfdCBwZ2RfbWFkZHI7CiAgICAgdW5zaWduZWQgaW50IGFnYXc7CiAKICAg
ICBBU1NFUlQoc3Bpbl9pc19sb2NrZWQoJmhkLT5hcmNoLm1hcHBpbmdfbG9j
aykpOwogCi0gICAgaWYgKCBpb21tdV91c2VfaGFwX3B0KGQpICkKKyAgICBp
ZiAoIHBnZF9tYWRkciApCisgICAgICAgIC8qIG5vdGhpbmcgKi87CisgICAg
ZWxzZSBpZiAoIGlvbW11X3VzZV9oYXBfcHQoZCkgKQogICAgIHsKICAgICAg
ICAgcGFnZXRhYmxlX3QgcGd0ID0gcDJtX2dldF9wYWdldGFibGUocDJtX2dl
dF9ob3N0cDJtKGQpKTsKIApAQCAtMTM4NSwxOCArMTM4NywxOCBAQCBpbnQg
ZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgc3RydWN0IGRvbWFp
biAqZG9tYWluLAogICAgIHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11LAogICAg
IHVpbnQ4X3QgYnVzLCB1aW50OF90IGRldmZuLCBjb25zdCBzdHJ1Y3QgcGNp
X2RldiAqcGRldiwKLSAgICB1bnNpZ25lZCBpbnQgbW9kZSkKKyAgICBkb21p
ZF90IGRvbWlkLCBwYWRkcl90IHBnZF9tYWRkciwgdW5zaWduZWQgaW50IG1v
ZGUpCiB7CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9t
bXUoZG9tYWluKTsKICAgICBzdHJ1Y3QgY29udGV4dF9lbnRyeSAqY29udGV4
dCwgKmNvbnRleHRfZW50cmllcywgbGN0eHQ7CiAgICAgX191aW50MTI4X3Qg
b2xkOwotICAgIHU2NCBtYWRkciwgcGdkX21hZGRyOworICAgIHVpbnQ2NF90
IG1hZGRyOwogICAgIHVpbnQxNl90IHNlZyA9IGlvbW11LT5kcmhkLT5zZWdt
ZW50LCBwcmV2X2RpZCA9IDA7CiAgICAgc3RydWN0IGRvbWFpbiAqcHJldl9k
b20gPSBOVUxMOwogICAgIGludCByYywgcmV0OwogICAgIGJvb2xfdCBmbHVz
aF9kZXZfaW90bGI7CiAKLSAgICBpZiAoIFFVQVJBTlRJTkVfU0tJUChkb21h
aW4pICkKKyAgICBpZiAoIFFVQVJBTlRJTkVfU0tJUChkb21haW4sIHBnZF9t
YWRkcikgKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEFTU0VSVChwY2lk
ZXZzX2xvY2tlZCgpKTsKQEAgLTE0MzMsMTAgKzE0MzUsMTIgQEAgaW50IGRv
bWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIH0KICAgICBlbHNlCiAg
ICAgeworICAgICAgICBwYWRkcl90IHJvb3Q7CisKICAgICAgICAgc3Bpbl9s
b2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogCi0gICAgICAgIHBnZF9t
YWRkciA9IGRvbWFpbl9wZ2RfbWFkZHIoZG9tYWluLCBpb21tdS0+bnJfcHRf
bGV2ZWxzKTsKLSAgICAgICAgaWYgKCAhcGdkX21hZGRyICkKKyAgICAgICAg
cm9vdCA9IGRvbWFpbl9wZ2RfbWFkZHIoZG9tYWluLCBwZ2RfbWFkZHIsIGlv
bW11LT5ucl9wdF9sZXZlbHMpOworICAgICAgICBpZiAoICFyb290ICkKICAg
ICAgICAgewogICAgICAgICAgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1h
cHBpbmdfbG9jayk7CiAgICAgICAgICAgICBzcGluX3VubG9jaygmaW9tbXUt
PmxvY2spOwpAQCAtMTQ0Niw3ICsxNDUwLDcgQEAgaW50IGRvbWFpbl9jb250
ZXh0X21hcHBpbmdfb25lKAogICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07
CiAgICAgICAgIH0KIAotICAgICAgICBjb250ZXh0X3NldF9hZGRyZXNzX3Jv
b3QobGN0eHQsIHBnZF9tYWRkcik7CisgICAgICAgIGNvbnRleHRfc2V0X2Fk
ZHJlc3Nfcm9vdChsY3R4dCwgcm9vdCk7CiAgICAgICAgIGlmICggYXRzX2Vu
YWJsZWQgJiYgZWNhcF9kZXZfaW90bGIoaW9tbXUtPmVjYXApICkKICAgICAg
ICAgICAgIGNvbnRleHRfc2V0X3RyYW5zbGF0aW9uX3R5cGUobGN0eHQsIENP
TlRFWFRfVFRfREVWX0lPVExCKTsKICAgICAgICAgZWxzZQpAQCAtMTU2Miwx
NSArMTU2NiwyMSBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUo
CiAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7
CiAKICAgICBpZiAoICFzZWcgJiYgIXJjICkKLSAgICAgICAgcmMgPSBtZV93
aWZpX3F1aXJrKGRvbWFpbiwgYnVzLCBkZXZmbiwgbW9kZSk7CisgICAgICAg
IHJjID0gbWVfd2lmaV9xdWlyayhkb21haW4sIGJ1cywgZGV2Zm4sIGRvbWlk
LCBwZ2RfbWFkZHIsIG1vZGUpOwogCiAgICAgaWYgKCByYyApCiAgICAgewog
ICAgICAgICBpZiAoICFwcmV2X2RvbSApCi0gICAgICAgICAgICByZXQgPSBk
b21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgYnVzLCBk
ZXZmbik7CisgICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1h
cF9vbmUoZG9tYWluLCBpb21tdSwgYnVzLCBkZXZmbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFp
bl9pZCk7CiAgICAgICAgIGVsc2UgaWYgKCBwcmV2X2RvbSAhPSBkb21haW4g
KSAvKiBBdm9pZCBpbmZpbml0ZSByZWN1cnNpb24uICovCisgICAgICAgIHsK
KyAgICAgICAgICAgIGhkID0gZG9tX2lvbW11KHByZXZfZG9tKTsKICAgICAg
ICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKHByZXZf
ZG9tLCBpb21tdSwgYnVzLCBkZXZmbiwgcGRldiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWlu
X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGQtPmFyY2gudnRkLnBnZF9tYWRkciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgJiBNQVBfV0lU
SF9STVJSKSA8IDA7CisgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgcmV0ID0gMTsKIApAQCAtMTU5Miw2ICsxNjAyLDcgQEAgc3RhdGlj
IGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogewogICAgIGNv
bnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZCA9IGFjcGlfZmluZF9t
YXRjaGVkX2RyaGRfdW5pdChwZGV2KTsKICAgICBjb25zdCBzdHJ1Y3QgYWNw
aV9ybXJyX3VuaXQgKnJtcnI7CisgICAgcGFkZHJfdCBwZ2RfbWFkZHIgPSBk
b21faW9tbXUoZG9tYWluKS0+YXJjaC52dGQucGdkX21hZGRyOwogICAgIGlu
dCByZXQgPSAwOwogICAgIHVuc2lnbmVkIGludCBpLCBtb2RlID0gMDsKICAg
ICB1aW50MTZfdCBzZWcgPSBwZGV2LT5zZWcsIGJkZjsKQEAgLTE2NTQsNyAr
MTY2NSw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhz
dHJ1Y3QKICAgICAgICAgICAgIHByaW50ayhWVERQUkVGSVggIiVwZDpQQ0ll
OiBtYXAgJXBwXG4iLAogICAgICAgICAgICAgICAgICAgIGRvbWFpbiwgJlBD
SV9TQkRGMyhzZWcsIGJ1cywgZGV2Zm4pKTsKICAgICAgICAgcmV0ID0gZG9t
YWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwg
YnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGRldiwgbW9kZSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBkZXYsIGRvbWFpbi0+ZG9tYWluX2lkLCBw
Z2RfbWFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1vZGUpOwogICAgICAgICBpZiAoIHJldCA+IDAgKQogICAgICAg
ICAgICAgcmV0ID0gMDsKICAgICAgICAgaWYgKCAhcmV0ICYmIGRldmZuID09
IHBkZXYtPmRldmZuICYmIGF0c19kZXZpY2UocGRldiwgZHJoZCkgPiAwICkK
QEAgLTE2NzEsNyArMTY4Myw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRl
eHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICAgICAgICAgICBkb21haW4s
ICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZuKSk7CiAKICAgICAgICAgcmV0
ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5p
b21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGRldiwgbW9kZSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYsIGRvbWFpbi0+ZG9tYWlu
X2lkLCBwZ2RfbWFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1vZGUpOwogICAgICAgICBpZiAoIHJldCA8IDAgKQog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHByZXZfcHJlc2VudCA9IHJl
dDsKQEAgLTE2OTksNyArMTcxMiw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2Nv
bnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICovCiAgICAgICAgIGlm
ICggcmV0ID49IDAgKQogICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRl
eHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgYnVzLCBkZXZm
biwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE5VTEwsIG1vZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTlVMTCwgZG9tYWluLT5kb21haW5faWQsIHBn
ZF9tYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1vZGUpOwogCiAgICAgICAgIC8qCiAgICAgICAgICAqIERl
dmljZXMgYmVoaW5kIFBDSWUtdG8tUENJL1BDSXggYnJpZGdlIG1heSBnZW5l
cmF0ZSBkaWZmZXJlbnQKQEAgLTE3MTQsNyArMTcyOCw4IEBAIHN0YXRpYyBp
bnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgaWYg
KCAhcmV0ICYmIHBkZXZfdHlwZShzZWcsIGJ1cywgZGV2Zm4pID09IERFVl9U
WVBFX1BDSWUyUENJX0JSSURHRSAmJgogICAgICAgICAgICAgIChzZWNidXMg
IT0gcGRldi0+YnVzIHx8IHBkZXYtPmRldmZuICE9IDApICkKICAgICAgICAg
ICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwg
ZHJoZC0+aW9tbXUsIHNlY2J1cywgMCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIG1vZGUpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwg
ZG9tYWluLT5kb21haW5faWQsIHBnZF9tYWRkciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUpOwogCiAgICAg
ICAgIGlmICggcmV0ICkKICAgICAgICAgewpAQCAtMTc0MiwxNCArMTc1Nywx
NCBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0
CiBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKAogICAgIHN0cnVjdCBk
b21haW4gKmRvbWFpbiwKICAgICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSwK
LSAgICB1OCBidXMsIHU4IGRldmZuKQorICAgIHVpbnQ4X3QgYnVzLCB1aW50
OF90IGRldmZuLCBkb21pZF90IGRvbWlkKQogewogICAgIHN0cnVjdCBjb250
ZXh0X2VudHJ5ICpjb250ZXh0LCAqY29udGV4dF9lbnRyaWVzOwogICAgIHU2
NCBtYWRkcjsKICAgICBpbnQgaW9tbXVfZG9taWQsIHJjLCByZXQ7CiAgICAg
Ym9vbF90IGZsdXNoX2Rldl9pb3RsYjsKIAotICAgIGlmICggUVVBUkFOVElO
RV9TS0lQKGRvbWFpbikgKQorICAgIGlmICggUVVBUkFOVElORV9TS0lQKGRv
bWFpbiwgZG9tX2lvbW11KGRvbWFpbiktPmFyY2gudnRkLnBnZF9tYWRkcikg
KQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEFTU0VSVChwY2lkZXZzX2xv
Y2tlZCgpKTsKQEAgLTE4MDMsNyArMTgxOCw3IEBAIGludCBkb21haW5fY29u
dGV4dF91bm1hcF9vbmUoCiAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNv
bnRleHRfZW50cmllcyk7CiAKICAgICBpZiAoICFpb21tdS0+ZHJoZC0+c2Vn
bWVudCAmJiAhcmMgKQotICAgICAgICByYyA9IG1lX3dpZmlfcXVpcmsoZG9t
YWluLCBidXMsIGRldmZuLCBVTk1BUF9NRV9QSEFOVE9NX0ZVTkMpOworICAg
ICAgICByYyA9IG1lX3dpZmlfcXVpcmsoZG9tYWluLCBidXMsIGRldmZuLCBk
b21pZCwgMCwgVU5NQVBfTUVfUEhBTlRPTV9GVU5DKTsKIAogICAgIGlmICgg
cmMgJiYgIWlzX2hhcmR3YXJlX2RvbWFpbihkb21haW4pICYmIGRvbWFpbiAh
PSBkb21faW8gKQogICAgIHsKQEAgLTE4NTAsNyArMTg2NSw4IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXAoc3RydWN0IGQKICAgICAgICAg
aWYgKCBpb21tdV9kZWJ1ZyApCiAgICAgICAgICAgICBwcmludGsoVlREUFJF
RklYICIlcGQ6UENJZTogdW5tYXAgJXBwXG4iLAogICAgICAgICAgICAgICAg
ICAgIGRvbWFpbiwgJlBDSV9TQkRGMyhzZWcsIGJ1cywgZGV2Zm4pKTsKLSAg
ICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwg
aW9tbXUsIGJ1cywgZGV2Zm4pOworICAgICAgICByZXQgPSBkb21haW5fY29u
dGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgYnVzLCBkZXZmbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+
ZG9tYWluX2lkKTsKICAgICAgICAgaWYgKCAhcmV0ICYmIGRldmZuID09IHBk
ZXYtPmRldmZuICYmIGF0c19kZXZpY2UocGRldiwgZHJoZCkgPiAwICkKICAg
ICAgICAgICAgIGRpc2FibGVfYXRzX2RldmljZShwZGV2KTsKIApAQCAtMTg2
Myw3ICsxODc5LDggQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF91bm1h
cChzdHJ1Y3QgZAogICAgICAgICBpZiAoIGlvbW11X2RlYnVnICkKICAgICAg
ICAgICAgIHByaW50ayhWVERQUkVGSVggIiVwZDpQQ0k6IHVubWFwICVwcFxu
IiwKICAgICAgICAgICAgICAgICAgICBkb21haW4sICZQQ0lfU0JERjMoc2Vn
LCBidXMsIGRldmZuKSk7Ci0gICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0
X3VubWFwX29uZShkb21haW4sIGlvbW11LCBidXMsIGRldmZuKTsKKyAgICAg
ICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9t
bXUsIGJ1cywgZGV2Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCk7CiAgICAgICAgIGlmICgg
cmV0ICkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC0xODg5LDEyICsxOTA2
LDE1IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXAoc3RydWN0
IGQKICAgICAgICAgLyogUENJZSB0byBQQ0kvUENJeCBicmlkZ2UgKi8KICAg
ICAgICAgaWYgKCBwZGV2X3R5cGUoc2VnLCB0bXBfYnVzLCB0bXBfZGV2Zm4p
ID09IERFVl9UWVBFX1BDSWUyUENJX0JSSURHRSApCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21h
aW4sIGlvbW11LCB0bXBfYnVzLCB0bXBfZGV2Zm4pOworICAgICAgICAgICAg
cmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUs
IHRtcF9idXMsIHRtcF9kZXZmbiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCk7CiAgICAg
ICAgICAgICBpZiAoICFyZXQgKQotICAgICAgICAgICAgICAgIHJldCA9IGRv
bWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCBzZWNidXMs
IDApOworICAgICAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3Vu
bWFwX29uZShkb21haW4sIGlvbW11LCBzZWNidXMsIDAsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+
ZG9tYWluX2lkKTsKICAgICAgICAgfQogICAgICAgICBlbHNlIC8qIExlZ2Fj
eSBQQ0kgYnJpZGdlICovCi0gICAgICAgICAgICByZXQgPSBkb21haW5fY29u
dGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgdG1wX2J1cywgdG1wX2Rl
dmZuKTsKKyAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFw
X29uZShkb21haW4sIGlvbW11LCB0bXBfYnVzLCB0bXBfZGV2Zm4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWlu
LT5kb21haW5faWQpOwogCiAgICAgICAgIGJyZWFrOwogCkBAIC0xOTA0LDcg
KzE5MjQsOCBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X3VubWFwKHN0
cnVjdCBkCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KIAotICAg
IGlmICggIXJldCAmJiAhUVVBUkFOVElORV9TS0lQKGRvbWFpbikgJiYgcGRl
di0+ZGV2Zm4gPT0gZGV2Zm4gKQorICAgIGlmICggIXJldCAmJiBwZGV2LT5k
ZXZmbiA9PSBkZXZmbiAmJgorICAgICAgICAgIVFVQVJBTlRJTkVfU0tJUChk
b21haW4sIGRvbV9pb21tdShkb21haW4pLT5hcmNoLnZ0ZC5wZ2RfbWFkZHIp
ICkKICAgICAgICAgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAoZG9tYWluLCBw
ZGV2LCBpb21tdSk7CiAKICAgICByZXR1cm4gcmV0OwpAQCAtMjUxMSw3ICsy
NTMyLDcgQEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Vfb3duZXJzaGlw
KAogewogICAgIGludCByZXQ7CiAKLSAgICBpZiAoICFRVUFSQU5USU5FX1NL
SVAodGFyZ2V0KSApCisgICAgaWYgKCAhUVVBUkFOVElORV9TS0lQKHRhcmdl
dCwgZG9tX2lvbW11KHRhcmdldCktPmFyY2gudnRkLnBnZF9tYWRkcikgKQog
ICAgIHsKICAgICAgICAgaWYgKCAhaGFzX2FyY2hfcGRldnModGFyZ2V0KSAp
CiAgICAgICAgICAgICB2bXhfcGlfaG9va3NfYXNzaWduKHRhcmdldCk7CkBA
IC0yNTI2LDcgKzI1NDcsOCBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2Rldmlj
ZV9vd25lcnNoaXAoCiAKICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRf
bWFwcGluZyh0YXJnZXQsIGRldmZuLCBwZGV2KTsKIAotICAgICAgICBpZiAo
ICFyZXQgJiYgIVFVQVJBTlRJTkVfU0tJUChzb3VyY2UpICYmIHBkZXYtPmRl
dmZuID09IGRldmZuICkKKyAgICAgICAgaWYgKCAhcmV0ICYmIHBkZXYtPmRl
dmZuID09IGRldmZuICYmCisgICAgICAgICAgICAgIVFVQVJBTlRJTkVfU0tJ
UChzb3VyY2UsIGRvbV9pb21tdShzb3VyY2UpLT5hcmNoLnZ0ZC5wZ2RfbWFk
ZHIpICkKICAgICAgICAgewogICAgICAgICAgICAgY29uc3Qgc3RydWN0IGFj
cGlfZHJoZF91bml0ICpkcmhkID0gYWNwaV9maW5kX21hdGNoZWRfZHJoZF91
bml0KHBkZXYpOwogCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0
ZC9xdWlya3MuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv
cXVpcmtzLmMKQEAgLTQwOCw2ICs0MDgsOCBAQCB2b2lkIF9faW5pdCBwbGF0
Zm9ybV9xdWlya3NfaW5pdCh2b2lkKQogCiBzdGF0aWMgaW50IF9fbXVzdF9j
aGVjayBtYXBfbWVfcGhhbnRvbV9mdW5jdGlvbihzdHJ1Y3QgZG9tYWluICpk
b21haW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQgZGV2LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBkb21p
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhZGRyX3QgcGdkX21hZGRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1v
ZGUpCiB7CiAgICAgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwpAQCAt
NDIxLDE2ICs0MjMsMTcgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgbWFw
X21lX3BoYW50b21fZgogICAgIC8qIG1hcCBvciB1bm1hcCBNRSBwaGFudG9t
IGZ1bmN0aW9uICovCiAgICAgaWYgKCAhKG1vZGUgJiBVTk1BUF9NRV9QSEFO
VE9NX0ZVTkMpICkKICAgICAgICAgcmMgPSBkb21haW5fY29udGV4dF9tYXBw
aW5nX29uZShkb21haW4sIGRyaGQtPmlvbW11LCAwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9ERVZGTihkZXYsIDcp
LCBOVUxMLCBtb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBQQ0lfREVWRk4oZGV2LCA3KSwgTlVMTCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21pZCwgcGdkX21h
ZGRyLCBtb2RlKTsKICAgICBlbHNlCiAgICAgICAgIHJjID0gZG9tYWluX2Nv
bnRleHRfdW5tYXBfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIDAsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9ERVZGTihk
ZXYsIDcpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUENJX0RFVkZOKGRldiwgNyksIGRvbWlkKTsKIAogICAgIHJldHVybiBy
YzsKIH0KIAogaW50IG1lX3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9t
YWluLCB1aW50OF90IGJ1cywgdWludDhfdCBkZXZmbiwKLSAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGludCBtb2RlKQorICAgICAgICAgICAgICAgICAg
ZG9taWRfdCBkb21pZCwgcGFkZHJfdCBwZ2RfbWFkZHIsIHVuc2lnbmVkIGlu
dCBtb2RlKQogewogICAgIHUzMiBpZDsKICAgICBpbnQgcmMgPSAwOwpAQCAt
NDU0LDcgKzQ1Nyw3IEBAIGludCBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21h
aW4gKmRvbWFpbiwKICAgICAgICAgICAgIGNhc2UgMHg0MjNiODA4NjoKICAg
ICAgICAgICAgIGNhc2UgMHg0MjNjODA4NjoKICAgICAgICAgICAgIGNhc2Ug
MHg0MjNkODA4NjoKLSAgICAgICAgICAgICAgICByYyA9IG1hcF9tZV9waGFu
dG9tX2Z1bmN0aW9uKGRvbWFpbiwgMywgbW9kZSk7CisgICAgICAgICAgICAg
ICAgcmMgPSBtYXBfbWVfcGhhbnRvbV9mdW5jdGlvbihkb21haW4sIDMsIGRv
bWlkLCBwZ2RfbWFkZHIsIG1vZGUpOwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBicmVh
azsKQEAgLTQ4MCw3ICs0ODMsNyBAQCBpbnQgbWVfd2lmaV9xdWlyayhzdHJ1
Y3QgZG9tYWluICpkb21haW4sCiAgICAgICAgICAgICBjYXNlIDB4NDIzODgw
ODY6ICAgICAgICAvKiBQdW1hIFBlYWsgKi8KICAgICAgICAgICAgIGNhc2Ug
MHg0MjJiODA4NjoKICAgICAgICAgICAgIGNhc2UgMHg0MjJjODA4NjoKLSAg
ICAgICAgICAgICAgICByYyA9IG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKGRv
bWFpbiwgMjIsIG1vZGUpOworICAgICAgICAgICAgICAgIHJjID0gbWFwX21l
X3BoYW50b21fZnVuY3Rpb24oZG9tYWluLCAyMiwgZG9taWQsIHBnZF9tYWRk
ciwgbW9kZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBwcmVwYXJlIGZvciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFn
ZSB0YWJsZXMgKHBhcnQgSUkpCgpSZXBsYWNlIHRoZSBwYXNzaW5nIG9mIHN0
cnVjdCBkb21haW4gKiBieSBkb21pZF90IGluIHByZXBhcmF0aW9uIG9mCnBl
ci1kZXZpY2UgcXVhcmFudGluZSBwYWdlIHRhYmxlcyBhbHNvIHJlcXVpcmlu
ZyBwZXItZGV2aWNlIHBzZXVkbwpkb21haW4gSURzLCB3aGljaCBhcmVuJ3Qg
Z29pbmcgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGFueSBzdHJ1Y3QgZG9tYWlu
Cmluc3RhbmNlcy4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkIChl
eGNlcHQgZm9yIHNsaWdodGx5IGFkanVzdGVkIGxvZyBtZXNzYWdlCnRleHQp
LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+
ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNv
bT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPgoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk
L2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmMKQEAgLTYyLDggKzYyLDggQEAgc3RhdGljIHN0cnVjdCB0YXNrbGV0
IHZ0ZF9mYXVsdF90YXNrbGV0Owogc3RhdGljIGludCBzZXR1cF9od2RvbV9k
ZXZpY2UodTggZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICopOwogc3RhdGljIHZv
aWQgc2V0dXBfaHdkb21fcm1ycihzdHJ1Y3QgZG9tYWluICpkKTsKIAotc3Rh
dGljIGludCBkb21haW5faW9tbXVfZG9taWQoc3RydWN0IGRvbWFpbiAqZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11KQorc3RhdGljIGludCBnZXRfaW9tbXVfZGlkKGRvbWlkX3Qg
ZG9taWQsIGNvbnN0IHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11LAorICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgd2FybikKIHsKICAgICB1bnNpZ25l
ZCBsb25nIG5yX2RvbSwgaTsKIApAQCAtNzEsMTYgKzcxLDE2IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2lvbW11X2RvbWlkKHN0cnVjdCBkb20KICAgICBpID0g
ZmluZF9maXJzdF9iaXQoaW9tbXUtPmRvbWlkX2JpdG1hcCwgbnJfZG9tKTsK
ICAgICB3aGlsZSAoIGkgPCBucl9kb20gKQogICAgIHsKLSAgICAgICAgaWYg
KCBpb21tdS0+ZG9taWRfbWFwW2ldID09IGQtPmRvbWFpbl9pZCApCisgICAg
ICAgIGlmICggaW9tbXUtPmRvbWlkX21hcFtpXSA9PSBkb21pZCApCiAgICAg
ICAgICAgICByZXR1cm4gaTsKIAogICAgICAgICBpID0gZmluZF9uZXh0X2Jp
dChpb21tdS0+ZG9taWRfYml0bWFwLCBucl9kb20sIGkrMSk7CiAgICAgfQog
Ci0gICAgaWYgKCAhZC0+aXNfZHlpbmcgKQorICAgIGlmICggd2FybiApCiAg
ICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsCi0gICAgICAg
ICAgICAgICAgIkNhbm5vdCBnZXQgdmFsaWQgaW9tbXUgJXUgZG9taWQ6ICVw
ZFxuIiwKLSAgICAgICAgICAgICAgICBpb21tdS0+aW5kZXgsIGQpOworICAg
ICAgICAgICAgICAgICJObyB2YWxpZCBpb21tdSAldSBkb21pZCBmb3IgRG9t
JWRcbiIsCisgICAgICAgICAgICAgICAgaW9tbXUtPmluZGV4LCBkb21pZCk7
CiAKICAgICByZXR1cm4gLTE7CiB9CkBAIC04OCw4ICs4OCw3IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2lvbW11X2RvbWlkKHN0cnVjdCBkb20KICNkZWZpbmUg
RElEX0ZJRUxEX1dJRFRIIDE2CiAjZGVmaW5lIERJRF9ISUdIX09GRlNFVCA4
CiBzdGF0aWMgaW50IGNvbnRleHRfc2V0X2RvbWFpbl9pZChzdHJ1Y3QgY29u
dGV4dF9lbnRyeSAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQs
IHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KQogewogICAgIHVuc2lnbmVkIGxv
bmcgbnJfZG9tLCBpOwogICAgIGludCBmb3VuZCA9IDA7CkBAIC0xMDAsNyAr
OTksNyBAQCBzdGF0aWMgaW50IGNvbnRleHRfc2V0X2RvbWFpbl9pZChzdHJ1
Y3QKICAgICBpID0gZmluZF9maXJzdF9iaXQoaW9tbXUtPmRvbWlkX2JpdG1h
cCwgbnJfZG9tKTsKICAgICB3aGlsZSAoIGkgPCBucl9kb20gKQogICAgIHsK
LSAgICAgICAgaWYgKCBpb21tdS0+ZG9taWRfbWFwW2ldID09IGQtPmRvbWFp
bl9pZCApCisgICAgICAgIGlmICggaW9tbXUtPmRvbWlkX21hcFtpXSA9PSBk
b21pZCApCiAgICAgICAgIHsKICAgICAgICAgICAgIGZvdW5kID0gMTsKICAg
ICAgICAgICAgIGJyZWFrOwpAQCAtMTE2LDcgKzExNSw3IEBAIHN0YXRpYyBp
bnQgY29udGV4dF9zZXRfZG9tYWluX2lkKHN0cnVjdAogICAgICAgICAgICAg
ZHByaW50ayhYRU5MT0dfRVJSIFZURFBSRUZJWCwgIklPTU1VOiBubyBmcmVl
IGRvbWFpbiBpZHNcbiIpOwogICAgICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7
CiAgICAgICAgIH0KLSAgICAgICAgaW9tbXUtPmRvbWlkX21hcFtpXSA9IGQt
PmRvbWFpbl9pZDsKKyAgICAgICAgaW9tbXUtPmRvbWlkX21hcFtpXSA9IGRv
bWlkOwogICAgIH0KIAogICAgIHNldF9iaXQoaSwgaW9tbXUtPmRvbWlkX2Jp
dG1hcCk7CkBAIC0xMjUsOSArMTI0LDkgQEAgc3RhdGljIGludCBjb250ZXh0
X3NldF9kb21haW5faWQoc3RydWN0CiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0
YXRpYyB2b2lkIGNsZWFudXBfZG9taWRfbWFwKHN0cnVjdCBkb21haW4gKmRv
bWFpbiwgc3RydWN0IHZ0ZF9pb21tdSAqaW9tbXUpCitzdGF0aWMgdm9pZCBj
bGVhbnVwX2RvbWlkX21hcChkb21pZF90IGRvbWlkLCBzdHJ1Y3QgdnRkX2lv
bW11ICppb21tdSkKIHsKLSAgICBpbnQgaW9tbXVfZG9taWQgPSBkb21haW5f
aW9tbXVfZG9taWQoZG9tYWluLCBpb21tdSk7CisgICAgaW50IGlvbW11X2Rv
bWlkID0gZ2V0X2lvbW11X2RpZChkb21pZCwgaW9tbXUsIGZhbHNlKTsKIAog
ICAgIGlmICggaW9tbXVfZG9taWQgPj0gMCApCiAgICAgewpAQCAtMTY3LDcg
KzE2Niw3IEBAIHN0YXRpYyBib29sIGFueV9wZGV2X2JlaGluZF9pb21tdShj
b25zdAogICogSWYgbm8gb3RoZXIgZGV2aWNlcyB1bmRlciB0aGUgc2FtZSBp
b21tdSBvd25lZCBieSB0aGlzIGRvbWFpbiwKICAqIGNsZWFyIGlvbW11IGlu
IGlvbW11X2JpdG1hcCBhbmQgY2xlYXIgZG9tYWluX2lkIGluIGRvbWlkX2Jp
dG1hcC4KICAqLwotc3RhdGljIHZvaWQgY2hlY2tfY2xlYW51cF9kb21pZF9t
YXAoc3RydWN0IGRvbWFpbiAqZCwKK3N0YXRpYyB2b2lkIGNoZWNrX2NsZWFu
dXBfZG9taWRfbWFwKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcGNp
X2RldiAqZXhjbHVkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KQogewpAQCAtMTgzLDcg
KzE4Miw3IEBAIHN0YXRpYyB2b2lkIGNoZWNrX2NsZWFudXBfZG9taWRfbWFw
KHN0cnUKICAgICBpZiAoICFmb3VuZCApCiAgICAgewogICAgICAgICBjbGVh
cl9iaXQoaW9tbXUtPmluZGV4LCBkb21faW9tbXUoZCktPmFyY2gudnRkLmlv
bW11X2JpdG1hcCk7Ci0gICAgICAgIGNsZWFudXBfZG9taWRfbWFwKGQsIGlv
bW11KTsKKyAgICAgICAgY2xlYW51cF9kb21pZF9tYXAoZC0+ZG9tYWluX2lk
LCBpb21tdSk7CiAgICAgfQogfQogCkBAIC02ODMsNyArNjgyLDcgQEAgc3Rh
dGljIGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfaW90bAogICAgICAg
ICAgICAgY29udGludWU7CiAKICAgICAgICAgZmx1c2hfZGV2X2lvdGxiID0g
ISFmaW5kX2F0c19kZXZfZHJoZChpb21tdSk7Ci0gICAgICAgIGlvbW11X2Rv
bWlkPSBkb21haW5faW9tbXVfZG9taWQoZCwgaW9tbXUpOworICAgICAgICBp
b21tdV9kb21pZCA9IGdldF9pb21tdV9kaWQoZC0+ZG9tYWluX2lkLCBpb21t
dSwgIWQtPmlzX2R5aW5nKTsKICAgICAgICAgaWYgKCBpb21tdV9kb21pZCA9
PSAtMSApCiAgICAgICAgICAgICBjb250aW51ZTsKIApAQCAtMTQ1OSw3ICsx
NDU4LDcgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAg
ICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKICAg
ICB9CiAKLSAgICBpZiAoIGNvbnRleHRfc2V0X2RvbWFpbl9pZCgmbGN0eHQs
IGRvbWFpbiwgaW9tbXUpICkKKyAgICBpZiAoIGNvbnRleHRfc2V0X2RvbWFp
bl9pZCgmbGN0eHQsIGRvbWlkLCBpb21tdSkgKQogICAgIHsKICAgICB1bmxv
Y2s6CiAgICAgICAgIHNwaW5fdW5sb2NrKCZpb21tdS0+bG9jayk7CkBAIC0x
Nzg1LDcgKzE3ODQsNyBAQCBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXBfb25l
KAogICAgIGNvbnRleHRfY2xlYXJfZW50cnkoKmNvbnRleHQpOwogICAgIGlv
bW11X3N5bmNfY2FjaGUoY29udGV4dCwgc2l6ZW9mKHN0cnVjdCBjb250ZXh0
X2VudHJ5KSk7CiAKLSAgICBpb21tdV9kb21pZD0gZG9tYWluX2lvbW11X2Rv
bWlkKGRvbWFpbiwgaW9tbXUpOworICAgIGlvbW11X2RvbWlkID0gZ2V0X2lv
bW11X2RpZChkb21pZCwgaW9tbXUsICFkb21haW4tPmlzX2R5aW5nKTsKICAg
ICBpZiAoIGlvbW11X2RvbWlkID09IC0xICkKICAgICB7CiAgICAgICAgIHNw
aW5fdW5sb2NrKCZpb21tdS0+bG9jayk7CkBAIC0xOTUzLDcgKzE5NTIsNyBA
QCBzdGF0aWMgdm9pZCBpb21tdV9kb21haW5fdGVhcmRvd24oc3RydWN0CiAg
ICAgQVNTRVJUKCFoZC0+YXJjaC52dGQucGdkX21hZGRyKTsKIAogICAgIGZv
cl9lYWNoX2RyaGRfdW5pdCAoIGRyaGQgKQotICAgICAgICBjbGVhbnVwX2Rv
bWlkX21hcChkLCBkcmhkLT5pb21tdSk7CisgICAgICAgIGNsZWFudXBfZG9t
aWRfbWFwKGQtPmRvbWFpbl9pZCwgZHJoZC0+aW9tbXUpOwogCiAgICAgWEZS
RUUoaGQtPmFyY2gudnRkLmlvbW11X2JpdG1hcCk7CiB9Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IG1haW50YWluIGEgcGVyLWRldmljZSBwc2V1ZG8gZG9t
YWluIElECgpJbiBvcmRlciB0byBzdWJzZXF1ZW50bHkgZW5hYmxlIHBlci1k
ZXZpY2UgcXVhcmFudGluZSBwYWdlIHRhYmxlcywgd2UnbGwKbmVlZCBkb21h
aW4tSUQtbGlrZSBpZGVudGlmaWVycyB0byBiZSBpbnNlcnRlZCBpbiB0aGUg
cmVzcGVjdGl2ZSBkZXZpY2UKKEFNRCkgb3IgY29udGV4dCAoSW50ZWwpIHRh
YmxlIGVudHJpZXMgYWxvbmdzaWRlIHRoZSBwZXItZGV2aWNlIHBhZ2UKdGFi
bGUgcm9vdCBhZGRyZXNzZXMuCgpNYWtlIHVzZSBvZiAicmVhbCIgZG9tYWlu
IElEcyBvY2N1cHlpbmcgb25seSBoYWxmIG9mIHRoZSB2YWx1ZSByYW5nZQpj
b3ZlcmFibGUgYnkgZG9taWRfdC4KCk5vdGUgdGhhdCBpbiBWVC1kJ3MgaW9t
bXVfYWxsb2MoKSBJIGRpZG4ndCB3YW50IHRvIGludHJvZHVjZSBuZXcgbWVt
b3J5CmxlYWtzIGluIGNhc2Ugb2YgZXJyb3IsIGJ1dCBleGlzdGluZyBvbmVz
IGRvbid0IGdldCBwbHVnZ2VkIC0gdGhhdCdsbCBiZQp0aGUgc3ViamVjdCBv
ZiBhIGxhdGVyIGNoYW5nZS4KClRoZSBWVC1kIGNoYW5nZXMgYXJlIHNsaWdo
dGx5IGFzeW1tZXRyaWMsIGJ1dCB0aGlzIHdheSB3ZSBjYW4gYXZvaWQKYXNz
aWduaW5nIHBzZXVkbyBkb21haW4gSURzIHRvIGRldmljZXMgd2hpY2ggd291
bGQgbmV2ZXIgYmUgbWFwcGVkIHdoaWxlCnN0aWxsIGF2b2lkaW5nIHRvIGFk
ZCBhIG5ldyBwYXJhbWV0ZXIgdG8gZG9tYWluX2NvbnRleHRfdW5tYXAoKS4K
ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpS
ZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKQEAgLTE0MSw2ICsx
NDEsMTAgQEAgaW50IHBpX3VwZGF0ZV9pcnRlKGNvbnN0IHN0cnVjdCBwaV9k
ZXNjCiAgICAgICAgIGlvbW11X3ZjYWxsKG9wcywgc3luY19jYWNoZSwgYWRk
ciwgc2l6ZSk7ICAgICAgIFwKIH0pCiAKK3Vuc2lnbmVkIGxvbmcgKmlvbW11
X2luaXRfZG9taWQodm9pZCk7Citkb21pZF90IGlvbW11X2FsbG9jX2RvbWlk
KHVuc2lnbmVkIGxvbmcgKm1hcCk7Cit2b2lkIGlvbW11X2ZyZWVfZG9taWQo
ZG9taWRfdCBkb21pZCwgdW5zaWduZWQgbG9uZyAqbWFwKTsKKwogaW50IF9f
bXVzdF9jaGVjayBpb21tdV9mcmVlX3BndGFibGVzKHN0cnVjdCBkb21haW4g
KmQpOwogc3RydWN0IGRvbWFpbl9pb21tdTsKIHN0cnVjdCBwYWdlX2luZm8g
Kl9fbXVzdF9jaGVjayBpb21tdV9hbGxvY19wZ3RhYmxlKHN0cnVjdCBkb21h
aW5faW9tbXUgKmhkKTsKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wY2ku
aAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3BjaS5oCkBAIC0xMyw2ICsx
MywxMiBAQAogCiBzdHJ1Y3QgYXJjaF9wY2lfZGV2IHsKICAgICB2bWFza190
IHVzZWRfdmVjdG9yczsKKyAgICAvKgorICAgICAqIFRoZXNlIGZpZWxkcyBh
cmUgKGRlKWluaXRpYWxpemVkIHVuZGVyIHBjaWRldnMtbG9jay4gT3RoZXIg
dXNlcyBvZgorICAgICAqIHRoZW0gZG9uJ3QgcmFjZSAoZGUpaW5pdGlhbGl6
YXRpb24gYW5kIGhlbmNlIGRvbid0IHN0cmljdGx5IG5lZWQgYW55CisgICAg
ICogbG9ja2luZy4KKyAgICAgKi8KKyAgICBkb21pZF90IHBzZXVkb19kb21p
ZDsKIH07CiAKIGludCBwY2lfY29uZl93cml0ZV9pbnRlcmNlcHQodW5zaWdu
ZWQgaW50IHNlZywgdW5zaWduZWQgaW50IGJkZiwKQEAgLTM2LDYgKzQyLDYg
QEAgc3RhdGljIGFsd2F5c19pbmxpbmUgYm9vbCBpc19wY2lfcGFzc3Rocgog
ICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgYXJj
aF9wY2lfaW5pdF9wZGV2KHN0cnVjdCBwY2lfZGV2ICpwZGV2KSB7fQordm9p
ZCBhcmNoX3BjaV9pbml0X3BkZXYoc3RydWN0IHBjaV9kZXYgKnBkZXYpOwog
CiAjZW5kaWYgLyogX19YODZfUENJX0hfXyAqLwotLS0gYS94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9hbWQvaW9tbXUuaAorKysgYi94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC9hbWQvaW9tbXUuaApAQCAtOTYsNiArOTYsNyBAQCBzdHJ1
Y3QgYW1kX2lvbW11IHsKICAgICBzdHJ1Y3QgcmluZ19idWZmZXIgY21kX2J1
ZmZlcjsKICAgICBzdHJ1Y3QgcmluZ19idWZmZXIgZXZlbnRfbG9nOwogICAg
IHN0cnVjdCByaW5nX2J1ZmZlciBwcHJfbG9nOworICAgIHVuc2lnbmVkIGxv
bmcgKmRvbWlkX21hcDsKIAogICAgIGludCBleGNsdXNpb25fZW5hYmxlOwog
ICAgIGludCBleGNsdXNpb25fYWxsb3dfYWxsOwotLS0gYS94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfZGV0ZWN0LmMKKysrIGIveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2RldGVjdC5jCkBAIC0yMjMs
NiArMjIzLDExIEBAIGludCBfX2luaXQgYW1kX2lvbW11X2RldGVjdF9vbmVf
YWNwaSgKICAgICBpZiAoIHJ0ICkKICAgICAgICAgZ290byBvdXQ7CiAKKyAg
ICBpb21tdS0+ZG9taWRfbWFwID0gaW9tbXVfaW5pdF9kb21pZCgpOworICAg
IHJ0ID0gLUVOT01FTTsKKyAgICBpZiAoICFpb21tdS0+ZG9taWRfbWFwICkK
KyAgICAgICAgZ290byBvdXQ7CisKICAgICBydCA9IHBjaV9yb19kZXZpY2Uo
aW9tbXUtPnNlZywgYnVzLCBQQ0lfREVWRk4oZGV2LCBmdW5jKSk7CiAgICAg
aWYgKCBydCApCiAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJDb3VsZCBu
b3QgbWFyayBjb25maWcgc3BhY2Ugb2YgJXBwIHJlYWQtb25seSAoJWQpXG4i
LApAQCAtMjMzLDcgKzIzOCwxMCBAQCBpbnQgX19pbml0IGFtZF9pb21tdV9k
ZXRlY3Rfb25lX2FjcGkoCiAKICBvdXQ6CiAgICAgaWYgKCBydCApCisgICAg
eworICAgICAgICB4ZnJlZShpb21tdS0+ZG9taWRfbWFwKTsKICAgICAgICAg
eGZyZWUoaW9tbXUpOworICAgIH0KIAogICAgIHJldHVybiBydDsKIH0KLS0t
IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUu
YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9p
b21tdS5jCkBAIC01MzksNiArNTM5LDggQEAgc3RhdGljIGludCBhbWRfaW9t
bXVfYWRkX2RldmljZSh1OCBkZXZmbgogICAgIHN0cnVjdCBhbWRfaW9tbXUg
KmlvbW11OwogICAgIHUxNiBiZGY7CiAgICAgc3RydWN0IGl2cnNfbWFwcGlu
Z3MgKml2cnNfbWFwcGluZ3M7CisgICAgYm9vbCBmcmVzaF9kb21pZCA9IGZh
bHNlOworICAgIGludCByZXQ7CiAKICAgICBpZiAoICFwZGV2LT5kb21haW4g
KQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKQEAgLTYwNiw3ICs2MDgsMjIg
QEAgc3RhdGljIGludCBhbWRfaW9tbXVfYWRkX2RldmljZSh1OCBkZXZmbgog
ICAgICAgICBBTURfSU9NTVVfV0FSTigiJXBkOiB1bml0eSBtYXBwaW5nIGZh
aWxlZCBmb3IgJXBwXG4iLAogICAgICAgICAgICAgICAgICAgICAgICBwZGV2
LT5kb21haW4sICZwZGV2LT5zYmRmKTsKIAotICAgIHJldHVybiBhbWRfaW9t
bXVfc2V0dXBfZG9tYWluX2RldmljZShwZGV2LT5kb21haW4sIGlvbW11LCBk
ZXZmbiwgcGRldik7CisgICAgaWYgKCBpb21tdV9xdWFyYW50aW5lICYmIHBk
ZXYtPmFyY2gucHNldWRvX2RvbWlkID09IERPTUlEX0lOVkFMSUQgKQorICAg
IHsKKyAgICAgICAgcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPSBpb21tdV9h
bGxvY19kb21pZChpb21tdS0+ZG9taWRfbWFwKTsKKyAgICAgICAgaWYgKCBw
ZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9PSBET01JRF9JTlZBTElEICkKKyAg
ICAgICAgICAgIHJldHVybiAtRU5PU1BDOworICAgICAgICBmcmVzaF9kb21p
ZCA9IHRydWU7CisgICAgfQorCisgICAgcmV0ID0gYW1kX2lvbW11X3NldHVw
X2RvbWFpbl9kZXZpY2UocGRldi0+ZG9tYWluLCBpb21tdSwgZGV2Zm4sIHBk
ZXYpOworICAgIGlmICggcmV0ICYmIGZyZXNoX2RvbWlkICkKKyAgICB7Cisg
ICAgICAgIGlvbW11X2ZyZWVfZG9taWQocGRldi0+YXJjaC5wc2V1ZG9fZG9t
aWQsIGlvbW11LT5kb21pZF9tYXApOworICAgICAgICBwZGV2LT5hcmNoLnBz
ZXVkb19kb21pZCA9IERPTUlEX0lOVkFMSUQ7CisgICAgfQorCisgICAgcmV0
dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBhbWRfaW9tbXVfcmVtb3ZlX2Rl
dmljZSh1OCBkZXZmbiwgc3RydWN0IHBjaV9kZXYgKnBkZXYpCkBAIC02Mzgs
NiArNjU1LDkgQEAgc3RhdGljIGludCBhbWRfaW9tbXVfcmVtb3ZlX2Rldmlj
ZSh1OCBkZQogICAgICAgICBBTURfSU9NTVVfV0FSTigiJXBkOiB1bml0eSB1
bm1hcHBpbmcgZmFpbGVkIGZvciAlcHBcbiIsCiAgICAgICAgICAgICAgICAg
ICAgICAgIHBkZXYtPmRvbWFpbiwgJnBkZXYtPnNiZGYpOwogCisgICAgaW9t
bXVfZnJlZV9kb21pZChwZGV2LT5hcmNoLnBzZXVkb19kb21pZCwgaW9tbXUt
PmRvbWlkX21hcCk7CisgICAgcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPSBE
T01JRF9JTlZBTElEOworCiAgICAgaWYgKCBhbWRfaW9tbXVfcGVyZGV2X2lu
dHJlbWFwICYmCiAgICAgICAgICBpdnJzX21hcHBpbmdzW2JkZl0uZHRlX3Jl
cXVlc3Rvcl9pZCA9PSBiZGYgJiYKICAgICAgICAgIGl2cnNfbWFwcGluZ3Nb
YmRmXS5pbnRyZW1hcF90YWJsZSApCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Bj
aS5jCkBAIC0xMjcxLDkgKzEyNzEsMTQgQEAgc3RhdGljIGludCBfZHVtcF9w
Y2lfZGV2aWNlcyhzdHJ1Y3QgcGNpXwogCiAgICAgbGlzdF9mb3JfZWFjaF9l
bnRyeSAoIHBkZXYsICZwc2VnLT5hbGxkZXZzX2xpc3QsIGFsbGRldnNfbGlz
dCApCiAgICAgewotICAgICAgICBwcmludGsoIiVwcCAtICVwZCAtIG5vZGUg
JS0zZCIsCi0gICAgICAgICAgICAgICAmcGRldi0+c2JkZiwgcGRldi0+ZG9t
YWluLAotICAgICAgICAgICAgICAgKHBkZXYtPm5vZGUgIT0gTlVNQV9OT19O
T0RFKSA/IHBkZXYtPm5vZGUgOiAtMSk7CisgICAgICAgIHByaW50aygiJXBw
IC0gIiwgJnBkZXYtPnNiZGYpOworI2lmZGVmIENPTkZJR19YODYKKyAgICAg
ICAgaWYgKCBwZGV2LT5kb21haW4gPT0gZG9tX2lvICkKKyAgICAgICAgICAg
IHByaW50aygiRG9tSU86JXgiLCBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCk7
CisgICAgICAgIGVsc2UKKyNlbmRpZgorICAgICAgICAgICAgcHJpbnRrKCIl
cGQiLCBwZGV2LT5kb21haW4pOworICAgICAgICBwcmludGsoIiAtIG5vZGUg
JS0zZCIsIChwZGV2LT5ub2RlICE9IE5VTUFfTk9fTk9ERSkgPyBwZGV2LT5u
b2RlIDogLTEpOwogICAgICAgICBwZGV2X2R1bXBfbXNpKHBkZXYpOwogICAg
ICAgICBwcmludGsoIlxuIik7CiAgICAgfQotLS0gYS94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC92dGQvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNz
dGhyb3VnaC92dGQvaW9tbXUuYwpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1
ZGUgPHhlbi9zY2hlZC5oPgogI2luY2x1ZGUgPHhlbi94bWFsbG9jLmg+CiAj
aW5jbHVkZSA8eGVuL2RvbWFpbl9wYWdlLmg+CisjaW5jbHVkZSA8eGVuL2Vy
ci5oPgogI2luY2x1ZGUgPHhlbi9pb2NhcC5oPgogI2luY2x1ZGUgPHhlbi9p
b21tdS5oPgogI2luY2x1ZGUgPHhlbi9udW1hLmg+CkBAIC0xMjE1LDcgKzEy
MTYsNyBAQCBpbnQgX19pbml0IGlvbW11X2FsbG9jKHN0cnVjdCBhY3BpX2Ry
aGRfCiB7CiAgICAgc3RydWN0IHZ0ZF9pb21tdSAqaW9tbXU7CiAgICAgdW5z
aWduZWQgbG9uZyBzYWdhdywgbnJfZG9tOwotICAgIGludCBhZ2F3OworICAg
IGludCBhZ2F3LCByYzsKIAogICAgIGlvbW11ID0geHphbGxvYyhzdHJ1Y3Qg
dnRkX2lvbW11KTsKICAgICBpZiAoIGlvbW11ID09IE5VTEwgKQpAQCAtMTMw
MSw3ICsxMzAyLDE2IEBAIGludCBfX2luaXQgaW9tbXVfYWxsb2Moc3RydWN0
IGFjcGlfZHJoZF8KICAgICBpZiAoICFpb21tdS0+ZG9taWRfbWFwICkKICAg
ICAgICAgcmV0dXJuIC1FTk9NRU07CiAKKyAgICBpb21tdS0+cHNldWRvX2Rv
bWlkX21hcCA9IGlvbW11X2luaXRfZG9taWQoKTsKKyAgICByYyA9IC1FTk9N
RU07CisgICAgaWYgKCAhaW9tbXUtPnBzZXVkb19kb21pZF9tYXAgKQorICAg
ICAgICBnb3RvIGZyZWU7CisKICAgICByZXR1cm4gMDsKKworIGZyZWU6Cisg
ICAgaW9tbXVfZnJlZShkcmhkKTsKKyAgICByZXR1cm4gcmM7CiB9CiAKIHZv
aWQgX19pbml0IGlvbW11X2ZyZWUoc3RydWN0IGFjcGlfZHJoZF91bml0ICpk
cmhkKQpAQCAtMTMyNCw2ICsxMzM0LDcgQEAgdm9pZCBfX2luaXQgaW9tbXVf
ZnJlZShzdHJ1Y3QgYWNwaV9kcmhkXwogCiAgICAgeGZyZWUoaW9tbXUtPmRv
bWlkX2JpdG1hcCk7CiAgICAgeGZyZWUoaW9tbXUtPmRvbWlkX21hcCk7Cisg
ICAgeGZyZWUoaW9tbXUtPnBzZXVkb19kb21pZF9tYXApOwogCiAgICAgaWYg
KCBpb21tdS0+bXNpLmlycSA+PSAwICkKICAgICAgICAgZGVzdHJveV9pcnEo
aW9tbXUtPm1zaS5pcnEpOwpAQCAtMTU5Myw4ICsxNjA0LDggQEAgaW50IGRv
bWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIHJldHVybiByYyA/OiBw
ZGV2ICYmIHByZXZfZG9tOwogfQogCi1zdGF0aWMgaW50IGRvbWFpbl9jb250
ZXh0X3VubWFwKHN0cnVjdCBkb21haW4gKmQsIHVpbnQ4X3QgZGV2Zm4sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwY2lfZGV2
ICpwZGV2KTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQg
KmRvbWFpbl9jb250ZXh0X3VubWFwKAorICAgIHN0cnVjdCBkb21haW4gKmQs
IHVpbnQ4X3QgZGV2Zm4sIHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKIAogc3Rh
dGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdCBkb21haW4g
KmRvbWFpbiwgdTggZGV2Zm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3RydWN0IHBjaV9kZXYgKnBkZXYpCkBAIC0xNjAyLDYgKzE2
MTMsNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3Ry
dWN0CiAgICAgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkID0g
YWNwaV9maW5kX21hdGNoZWRfZHJoZF91bml0KHBkZXYpOwogICAgIGNvbnN0
IHN0cnVjdCBhY3BpX3JtcnJfdW5pdCAqcm1ycjsKICAgICBwYWRkcl90IHBn
ZF9tYWRkciA9IGRvbV9pb21tdShkb21haW4pLT5hcmNoLnZ0ZC5wZ2RfbWFk
ZHI7CisgICAgZG9taWRfdCBvcmlnX2RvbWlkID0gcGRldi0+YXJjaC5wc2V1
ZG9fZG9taWQ7CiAgICAgaW50IHJldCA9IDA7CiAgICAgdW5zaWduZWQgaW50
IGksIG1vZGUgPSAwOwogICAgIHVpbnQxNl90IHNlZyA9IHBkZXYtPnNlZywg
YmRmOwpAQCAtMTY2MCw2ICsxNjcyLDE0IEBAIHN0YXRpYyBpbnQgZG9tYWlu
X2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgaWYgKCAhZHJoZCAp
CiAgICAgICAgICAgICByZXR1cm4gLUVOT0RFVjsKIAorICAgICAgICBpZiAo
IGlvbW11X3F1YXJhbnRpbmUgJiYgb3JpZ19kb21pZCA9PSBET01JRF9JTlZB
TElEICkKKyAgICAgICAgeworICAgICAgICAgICAgcGRldi0+YXJjaC5wc2V1
ZG9fZG9taWQgPQorICAgICAgICAgICAgICAgIGlvbW11X2FsbG9jX2RvbWlk
KGRyaGQtPmlvbW11LT5wc2V1ZG9fZG9taWRfbWFwKTsKKyAgICAgICAgICAg
IGlmICggcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQgPT0gRE9NSURfSU5WQUxJ
RCApCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9TUEM7CisgICAgICAg
IH0KKwogICAgICAgICBpZiAoIGlvbW11X2RlYnVnICkKICAgICAgICAgICAg
IHByaW50ayhWVERQUkVGSVggIiVwZDpQQ0llOiBtYXAgJXBwXG4iLAogICAg
ICAgICAgICAgICAgICAgIGRvbWFpbiwgJlBDSV9TQkRGMyhzZWcsIGJ1cywg
ZGV2Zm4pKTsKQEAgLTE2NzcsNiArMTY5NywxNCBAQCBzdGF0aWMgaW50IGRv
bWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgIGlmICggIWRy
aGQgKQogICAgICAgICAgICAgcmV0dXJuIC1FTk9ERVY7CiAKKyAgICAgICAg
aWYgKCBpb21tdV9xdWFyYW50aW5lICYmIG9yaWdfZG9taWQgPT0gRE9NSURf
SU5WQUxJRCApCisgICAgICAgIHsKKyAgICAgICAgICAgIHBkZXYtPmFyY2gu
cHNldWRvX2RvbWlkID0KKyAgICAgICAgICAgICAgICBpb21tdV9hbGxvY19k
b21pZChkcmhkLT5pb21tdS0+cHNldWRvX2RvbWlkX21hcCk7CisgICAgICAg
ICAgICBpZiAoIHBkZXYtPmFyY2gucHNldWRvX2RvbWlkID09IERPTUlEX0lO
VkFMSUQgKQorICAgICAgICAgICAgICAgIHJldHVybiAtRU5PU1BDOworICAg
ICAgICB9CisKICAgICAgICAgaWYgKCBpb21tdV9kZWJ1ZyApCiAgICAgICAg
ICAgICBwcmludGsoVlREUFJFRklYICIlcGQ6UENJOiBtYXAgJXBwXG4iLAog
ICAgICAgICAgICAgICAgICAgIGRvbWFpbiwgJlBDSV9TQkRGMyhzZWcsIGJ1
cywgZGV2Zm4pKTsKQEAgLTE3NTAsNiArMTc3OCwxMyBAQCBzdGF0aWMgaW50
IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgaWYgKCAhcmV0
ICYmIGRldmZuID09IHBkZXYtPmRldmZuICkKICAgICAgICAgcGNpX3Z0ZF9x
dWlyayhwZGV2KTsKIAorICAgIGlmICggcmV0ICYmIGRyaGQgJiYgb3JpZ19k
b21pZCA9PSBET01JRF9JTlZBTElEICkKKyAgICB7CisgICAgICAgIGlvbW11
X2ZyZWVfZG9taWQocGRldi0+YXJjaC5wc2V1ZG9fZG9taWQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgZHJoZC0+aW9tbXUtPnBzZXVkb19kb21pZF9t
YXApOworICAgICAgICBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9IERPTUlE
X0lOVkFMSUQ7CisgICAgfQorCiAgICAgcmV0dXJuIHJldDsKIH0KIApAQCAt
MTgzNSw4ICsxODcwLDEwIEBAIGludCBkb21haW5fY29udGV4dF91bm1hcF9v
bmUoCiAgICAgcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgaW50IGRvbWFpbl9j
b250ZXh0X3VubWFwKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdTggZGV2Zm4s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwY2lf
ZGV2ICpwZGV2KQorc3RhdGljIGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5p
dCAqZG9tYWluX2NvbnRleHRfdW5tYXAoCisgICAgc3RydWN0IGRvbWFpbiAq
ZG9tYWluLAorICAgIHVpbnQ4X3QgZGV2Zm4sCisgICAgc3RydWN0IHBjaV9k
ZXYgKnBkZXYpCiB7CiAgICAgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0
ICpkcmhkID0gYWNwaV9maW5kX21hdGNoZWRfZHJoZF91bml0KHBkZXYpOwog
ICAgIHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11ID0gZHJoZCA/IGRyaGQtPmlv
bW11IDogTlVMTDsKQEAgLTE4NTAsMTYgKzE4ODcsMTYgQEAgc3RhdGljIGlu
dCBkb21haW5fY29udGV4dF91bm1hcChzdHJ1Y3QgZAogICAgICAgICBpZiAo
IGlvbW11X2RlYnVnICkKICAgICAgICAgICAgIHByaW50ayhWVERQUkVGSVgg
IiVwZDpIb3N0YnJpZGdlOiBza2lwICVwcCB1bm1hcFxuIiwKICAgICAgICAg
ICAgICAgICAgICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZu
KSk7Ci0gICAgICAgIHJldHVybiBpc19oYXJkd2FyZV9kb21haW4oZG9tYWlu
KSA/IDAgOiAtRVBFUk07CisgICAgICAgIHJldHVybiBFUlJfUFRSKGlzX2hh
cmR3YXJlX2RvbWFpbihkb21haW4pID8gMCA6IC1FUEVSTSk7CiAKICAgICBj
YXNlIERFVl9UWVBFX1BDSWVfQlJJREdFOgogICAgIGNhc2UgREVWX1RZUEVf
UENJZTJQQ0lfQlJJREdFOgogICAgIGNhc2UgREVWX1RZUEVfTEVHQUNZX1BD
SV9CUklER0U6Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4g
RVJSX1BUUigwKTsKIAogICAgIGNhc2UgREVWX1RZUEVfUENJZV9FTkRQT0lO
VDoKICAgICAgICAgaWYgKCAhaW9tbXUgKQotICAgICAgICAgICAgcmV0dXJu
IC1FTk9ERVY7CisgICAgICAgICAgICByZXR1cm4gRVJSX1BUUigtRU5PREVW
KTsKIAogICAgICAgICBpZiAoIGlvbW11X2RlYnVnICkKICAgICAgICAgICAg
IHByaW50ayhWVERQUkVGSVggIiVwZDpQQ0llOiB1bm1hcCAlcHBcbiIsCkBA
IC0xODczLDcgKzE5MTAsNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0
X3VubWFwKHN0cnVjdCBkCiAKICAgICBjYXNlIERFVl9UWVBFX1BDSToKICAg
ICAgICAgaWYgKCAhaW9tbXUgKQotICAgICAgICAgICAgcmV0dXJuIC1FTk9E
RVY7CisgICAgICAgICAgICByZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKIAog
ICAgICAgICBpZiAoIGlvbW11X2RlYnVnICkKICAgICAgICAgICAgIHByaW50
ayhWVERQUkVGSVggIiVwZDpQQ0k6IHVubWFwICVwcFxuIiwKQEAgLTE5MjAs
MTQgKzE5NTcsMTQgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF91bm1h
cChzdHJ1Y3QgZAogICAgIGRlZmF1bHQ6CiAgICAgICAgIGRwcmludGsoWEVO
TE9HX0VSUiBWVERQUkVGSVgsICIlcGQ6dW5rbm93bigldSk6ICVwcFxuIiwK
ICAgICAgICAgICAgICAgICBkb21haW4sIHBkZXYtPnR5cGUsICZQQ0lfU0JE
RjMoc2VnLCBidXMsIGRldmZuKSk7Ci0gICAgICAgIHJldHVybiAtRUlOVkFM
OworICAgICAgICByZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKICAgICB9CiAK
ICAgICBpZiAoICFyZXQgJiYgcGRldi0+ZGV2Zm4gPT0gZGV2Zm4gJiYKICAg
ICAgICAgICFRVUFSQU5USU5FX1NLSVAoZG9tYWluLCBkb21faW9tbXUoZG9t
YWluKS0+YXJjaC52dGQucGdkX21hZGRyKSApCiAgICAgICAgIGNoZWNrX2Ns
ZWFudXBfZG9taWRfbWFwKGRvbWFpbiwgcGRldiwgaW9tbXUpOwogCi0gICAg
cmV0dXJuIHJldDsKKyAgICByZXR1cm4gZHJoZDsKIH0KIAogc3RhdGljIHZv
aWQgaW9tbXVfY2xlYXJfcm9vdF9wZ3RhYmxlKHN0cnVjdCBkb21haW4gKmQp
CkBAIC0yMTU0LDE2ICsyMTkxLDE3IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9t
bXVfZW5hYmxlX2RldmljZShzdHIKIAogc3RhdGljIGludCBpbnRlbF9pb21t
dV9yZW1vdmVfZGV2aWNlKHU4IGRldmZuLCBzdHJ1Y3QgcGNpX2RldiAqcGRl
dikKIHsKKyAgICBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQ7
CiAgICAgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJyOwogICAgIHUxNiBi
ZGY7Ci0gICAgaW50IHJldCwgaTsKKyAgICB1bnNpZ25lZCBpbnQgaTsKIAog
ICAgIGlmICggIXBkZXYtPmRvbWFpbiApCiAgICAgICAgIHJldHVybiAtRUlO
VkFMOwogCi0gICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXAocGRldi0+
ZG9tYWluLCBkZXZmbiwgcGRldik7Ci0gICAgaWYgKCByZXQgKQotICAgICAg
ICByZXR1cm4gcmV0OworICAgIGRyaGQgPSBkb21haW5fY29udGV4dF91bm1h
cChwZGV2LT5kb21haW4sIGRldmZuLCBwZGV2KTsKKyAgICBpZiAoIElTX0VS
UihkcmhkKSApCisgICAgICAgIHJldHVybiBQVFJfRVJSKGRyaGQpOwogCiAg
ICAgZm9yX2VhY2hfcm1ycl9kZXZpY2UgKCBybXJyLCBiZGYsIGkgKQogICAg
IHsKQEAgLTIxODAsNiArMjIxOCwxMyBAQCBzdGF0aWMgaW50IGludGVsX2lv
bW11X3JlbW92ZV9kZXZpY2UodTgKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgMCk7CiAgICAgfQogCisgICAg
aWYgKCBkcmhkICkKKyAgICB7CisgICAgICAgIGlvbW11X2ZyZWVfZG9taWQo
cGRldi0+YXJjaC5wc2V1ZG9fZG9taWQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgZHJoZC0+aW9tbXUtPnBzZXVkb19kb21pZF9tYXApOworICAgICAg
ICBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9IERPTUlEX0lOVkFMSUQ7Cisg
ICAgfQorCiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTI1NTYsNyArMjYwMSwx
MiBAQCBzdGF0aWMgaW50IHJlYXNzaWduX2RldmljZV9vd25lcnNoaXAoCiAg
ICAgICAgIH0KICAgICB9CiAgICAgZWxzZQotICAgICAgICByZXQgPSBkb21h
aW5fY29udGV4dF91bm1hcChzb3VyY2UsIGRldmZuLCBwZGV2KTsKKyAgICB7
CisgICAgICAgIGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZDsK
KworICAgICAgICBkcmhkID0gZG9tYWluX2NvbnRleHRfdW5tYXAoc291cmNl
LCBkZXZmbiwgcGRldik7CisgICAgICAgIHJldCA9IElTX0VSUihkcmhkKSA/
IFBUUl9FUlIoZHJoZCkgOiAwOworICAgIH0KICAgICBpZiAoIHJldCApCiAg
ICAgewogICAgICAgICBpZiAoICFoYXNfYXJjaF9wZGV2cyh0YXJnZXQpICkK
LS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmgKKysr
IGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmgKQEAgLTUw
OCw2ICs1MDgsNyBAQCBzdHJ1Y3QgdnRkX2lvbW11IHsKICAgICB9IGZsdXNo
OwogCiAgICAgc3RydWN0IGxpc3RfaGVhZCBhdHNfZGV2aWNlczsKKyAgICB1
bnNpZ25lZCBsb25nICpwc2V1ZG9fZG9taWRfbWFwOyAvKiAicHNldWRvIiBk
b21haW4gaWQgYml0bWFwICovCiAgICAgdW5zaWduZWQgbG9uZyAqZG9taWRf
Yml0bWFwOyAgLyogZG9tYWluIGlkIGJpdG1hcCAqLwogICAgIHUxNiAqZG9t
aWRfbWFwOyAgICAgICAgICAgICAgIC8qIGRvbWFpbiBpZCBtYXBwaW5nIGFy
cmF5ICovCiAgICAgdWludDMyX3QgdmVyc2lvbjsKLS0tIGEveGVuL2RyaXZl
cnMvcGFzc3Rocm91Z2gveDg2L2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gveDg2L2lvbW11LmMKQEAgLTM4Nyw2ICszODcsNTggQEAg
dm9pZCBfX2h3ZG9tX2luaXQgYXJjaF9pb21tdV9od2RvbV9pbml0KAogICAg
ICAgICByZXR1cm47CiB9CiAKK3ZvaWQgYXJjaF9wY2lfaW5pdF9wZGV2KHN0
cnVjdCBwY2lfZGV2ICpwZGV2KQoreworICAgIHBkZXYtPmFyY2gucHNldWRv
X2RvbWlkID0gRE9NSURfSU5WQUxJRDsKK30KKwordW5zaWduZWQgbG9uZyAq
X19pbml0IGlvbW11X2luaXRfZG9taWQodm9pZCkKK3sKKyAgICBpZiAoICFp
b21tdV9xdWFyYW50aW5lICkKKyAgICAgICAgcmV0dXJuIFpFUk9fQkxPQ0tf
UFRSOworCisgICAgQlVJTERfQlVHX09OKERPTUlEX01BU0sgKiAyVSA+PSBV
SU5UMTZfTUFYKTsKKworICAgIHJldHVybiB4emFsbG9jX2FycmF5KHVuc2ln
bmVkIGxvbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgQklUU19UT19M
T05HUyhVSU5UMTZfTUFYIC0gRE9NSURfTUFTSykpOworfQorCitkb21pZF90
IGlvbW11X2FsbG9jX2RvbWlkKHVuc2lnbmVkIGxvbmcgKm1hcCkKK3sKKyAg
ICAvKgorICAgICAqIFRoaXMgaXMgdXNlZCB1bmlmb3JtbHkgYWNyb3NzIGFs
bCBJT01NVXMsIHN1Y2ggdGhhdCBvbiB0eXBpY2FsCisgICAgICogc3lzdGVt
cyB3ZSB3b3VsZG4ndCByZS11c2UgdGhlIHNhbWUgSUQgdmVyeSBxdWlja2x5
IChwZXJoYXBzIG5ldmVyKS4KKyAgICAgKi8KKyAgICBzdGF0aWMgdW5zaWdu
ZWQgaW50IHN0YXJ0OworICAgIHVuc2lnbmVkIGludCBpZHggPSBmaW5kX25l
eHRfemVyb19iaXQobWFwLCBVSU5UMTZfTUFYIC0gRE9NSURfTUFTSywgc3Rh
cnQpOworCisgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOworCisgICAg
aWYgKCBpZHggPj0gVUlOVDE2X01BWCAtIERPTUlEX01BU0sgKQorICAgICAg
ICBpZHggPSBmaW5kX2ZpcnN0X3plcm9fYml0KG1hcCwgVUlOVDE2X01BWCAt
IERPTUlEX01BU0spOworICAgIGlmICggaWR4ID49IFVJTlQxNl9NQVggLSBE
T01JRF9NQVNLICkKKyAgICAgICAgcmV0dXJuIERPTUlEX0lOVkFMSUQ7CisK
KyAgICBfX3NldF9iaXQoaWR4LCBtYXApOworCisgICAgc3RhcnQgPSBpZHgg
KyAxOworCisgICAgcmV0dXJuIGlkeCB8IChET01JRF9NQVNLICsgMSk7Cit9
CisKK3ZvaWQgaW9tbXVfZnJlZV9kb21pZChkb21pZF90IGRvbWlkLCB1bnNp
Z25lZCBsb25nICptYXApCit7CisgICAgQVNTRVJUKHBjaWRldnNfbG9ja2Vk
KCkpOworCisgICAgaWYgKCBkb21pZCA9PSBET01JRF9JTlZBTElEICkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKGRvbWlkID4gRE9NSURfTUFT
Syk7CisKKyAgICBpZiAoICFfX3Rlc3RfYW5kX2NsZWFyX2JpdChkb21pZCAm
IERPTUlEX01BU0ssIG1hcCkgKQorICAgICAgICBCVUcoKTsKK30KKwogaW50
IGlvbW11X2ZyZWVfcGd0YWJsZXMoc3RydWN0IGRvbWFpbiAqZCkKIHsKICAg
ICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IGRyb3AgVExCIGZsdXNoZXMgZnJvbSBxdWFyYW50aW5l
X2luaXQoKSBob29rcwoKVGhlIHBhZ2UgdGFibGVzIGp1c3QgY3JlYXRlZCBh
cmVuJ3QgaG9va2VkIHVwIHlldCBhbnl3aGVyZSwgc28gdGhlcmUncwpub3Ro
aW5nIHRoYXQgY291bGQgYmUgcHJlc2VudCBpbiBhbnkgVExCLCBhbmQgaGVu
Y2Ugbm90aGluZyB0byBmbHVzaC4KRHJvcHBpbmcgdGhpcyBmbHVzaCBpcywg
YXQgbGVhc3Qgb24gdGhlIFZULWQgc2lkZSwgYSBwcmVyZXEgdG8gcGVyLQpk
ZXZpY2UgZG9tYWluIElEIHVzZSB3aGVuIHF1YXJhbnRpbmluZyBkZXZpY2Vz
LCBhcyBkb21faW8gaXNuJ3QgZ29pbmcKdG8gYmUgYXNzaWduZWQgYSBESUQg
YW55bW9yZTogVGhlIHdhcm5pbmcgaW4gZ2V0X2lvbW11X2RpZCgpIHdvdWxk
CnRyaWdnZXIuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxp
Y2hAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxA
eGVuLm9yZz4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2
aW4udGlhbkBpbnRlbC5jb20+CgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvYW1kL2lvbW11X21hcC5jCkBAIC02NTQsOCArNjU0LDYgQEAgaW50
IF9faW5pdCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cgogIG91dDoK
ICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKIAot
ICAgIGFtZF9pb21tdV9mbHVzaF9hbGxfcGFnZXMoZCk7Ci0KICAgICAvKiBQ
YWdlcyBsZWFrZWQgaW4gZmFpbHVyZSBjYXNlICovCiAgICAgcmV0dXJuIGxl
dmVsID8gLUVOT01FTSA6IDA7CiB9Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL3Z0ZC9pb21tdS5jCkBAIC0yOTc1LDkgKzI5NzUsNiBAQCBzdGF0aWMg
aW50IF9faW5pdCBpbnRlbF9pb21tdV9xdWFyYW50aW5lCiAgb3V0OgogICAg
IHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogCi0gICAg
aWYgKCAhcmMgKQotICAgICAgICByYyA9IGlvbW11X2ZsdXNoX2lvdGxiX2Fs
bChkKTsKLQogICAgIC8qIFBhZ2VzIG1heSBiZSBsZWFrZWQgaW4gZmFpbHVy
ZSBjYXNlICovCiAgICAgcmV0dXJuIHJjOwogfQo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGFic3RyYWN0IG1heGltdW0gbnVtYmVyIG9mIHBhZ2Ug
dGFibGUgbGV2ZWxzCgpXZSB3aWxsIHdhbnQgdG8gdXNlIHRoZSBjb25zdGFu
dCBlbHNld2hlcmUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBh
dWxAeGVuLm9yZz4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9pb21tdS1kZWZzLmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv
YW1kL2lvbW11LWRlZnMuaApAQCAtMTA2LDYgKzEwNiw3IEBAIHN0cnVjdCBh
bWRfaW9tbXVfZHRlIHsKICAgICBib29sIHR2OjE7CiAgICAgdW5zaWduZWQg
aW50IDo1OwogICAgIHVuc2lnbmVkIGludCBoYWQ6MjsKKyNkZWZpbmUgSU9N
TVVfTUFYX1BUX0xFVkVMUyA2CiAgICAgdW5zaWduZWQgaW50IHBhZ2luZ19t
b2RlOjM7CiAgICAgdWludDY0X3QgcHRfcm9vdDo0MDsKICAgICBib29sIHBw
cjoxOwotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2Ft
ZF9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9w
Y2lfYW1kX2lvbW11LmMKQEAgLTMzNyw3ICszMzcsNyBAQCBpbnQgYW1kX2lv
bW11X2FsbG9jX3Jvb3Qoc3RydWN0IGRvbWFpbiAqCiAgICAgcmV0dXJuIDA7
CiB9CiAKLXVuc2lnbmVkIGludCBfX3JlYWRfbW9zdGx5IGFtZF9pb21tdV9t
YXhfcGFnaW5nX21vZGUgPSA2OwordW5zaWduZWQgaW50IF9fcmVhZF9tb3N0
bHkgYW1kX2lvbW11X21heF9wYWdpbmdfbW9kZSA9IElPTU1VX01BWF9QVF9M
RVZFTFM7CiBpbnQgX19yZWFkX21vc3RseSBhbWRfaW9tbXVfbWluX3BhZ2lu
Z19tb2RlID0gMTsKIAogc3RhdGljIGludCBhbWRfaW9tbXVfZG9tYWluX2lu
aXQoc3RydWN0IGRvbWFpbiAqZCkK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IHVzZSBwZXItZGV2aWNlIHBhZ2UgdGFibGVzIGZvciBx
dWFyYW50aW5pbmcKCkRldmljZXMgd2l0aCBSTVJScyAvIHVuaXR5IG1hcHBl
ZCByZWdpb25zLCBkdWUgdG8gaXQgYmVpbmcgdW5zcGVjaWZpZWQKaG93L3do
ZW4gdGhlc2UgbWVtb3J5IHJlZ2lvbnMgbWF5IGJlIGFjY2Vzc2VkLCBtYXkg
bm90IGJlIGxlZnQKZGlzY29ubmVjdGVkIGZyb20gdGhlIG1hcHBpbmdzIG9m
IHRoZXNlIHJlZ2lvbnMgKGFzIGxvbmcgYXMgaXQncyBub3QKY2VydGFpbiB0
aGF0IHRoZSBkZXZpY2UgaGFzIGJlZW4gZnVsbHkgcXVpZXNjZWQpLiBIZW5j
ZSBldmVuIHRoZSBwYWdlCnRhYmxlcyB1c2VkIHdoZW4gcXVhcmFudGluaW5n
IHN1Y2ggZGV2aWNlcyBuZWVkIHRvIGhhdmUgbWFwcGluZ3Mgb2YKdGhvc2Ug
cmVnaW9ucy4gVGhpcyBpbXBsaWVzIGluc3RhbGxpbmcgcGFnZSB0YWJsZXMg
aW4gdGhlIGZpcnN0IHBsYWNlCmV2ZW4gd2hlbiBub3QgaW4gc2NyYXRjaC1w
YWdlIHF1YXJhbnRpbmluZyBtb2RlLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM2
MSAvIHBhcnQgb2YgWFNBLTQwMC4KCldoaWxlIGZvciB0aGUgcHVycG9zZSBo
ZXJlIGl0IHdvdWxkIGJlIHN1ZmZpY2llbnQgdG8gaGF2ZSBkZXZpY2VzIHdp
dGgKUk1SUnMgLyB1bml0eSBtYXBwZWQgcmVnaW9ucyB1c2UgcGVyLWRldmlj
ZSBwYWdlIHRhYmxlcywgZXh0ZW5kIHRoaXMgdG8KYWxsIGRldmljZXMgKGlu
IHNjcmF0Y2gtcGFnZSBxdWFyYW50aW5pbmcgbW9kZSkuIFRoaXMgYWxsb3dz
IHRoZSBsZWFmCnBhZ2VzIHRvIGJlIG1hcHBlZCByL3csIHRodXMgY292ZXJp
bmcgYWxzbyBtZW1vcnkgd3JpdGVzIChyYXRoZXIgdGhhbgpqdXN0IHJlYWRz
KSBpc3N1ZWQgYnkgbm9uLXF1aWVzY2VudCBkZXZpY2VzLgoKU2V0IHVwIHF1
YXJhbnRpbmUgcGFnZSB0YWJsZXMgYXMgbGF0ZSBhcyBwb3NzaWJsZSwgeWV0
IGVhcmx5IGVub3VnaCB0bwpub3QgZW5jb3VudGVyIGZhaWx1cmUgZHVyaW5n
IGRlLWFzc2lnbi4gVGhpcyBtZWFucyBzZXR1cCBnZW5lcmFsbHkKaGFwcGVu
cyBpbiBhc3NpZ25fZGV2aWNlKCksIHdoaWxlIChmb3Igbm93KSB0aGUgb25l
IGluIGRlYXNzaWduX2RldmljZSgpCmlzIHRoZXJlIG1haW5seSB0byBiZSBv
biB0aGUgc2FmZSBzaWRlLgoKQXMgdG8gdGhlIHJlbW92YWwgb2YgUVVBUkFO
VElORV9TS0lQKCkgZnJvbSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoKToK
SSB0aGluayB0aGlzIHdhcyBuZXZlciByZWFsbHkgbmVlZGVkIHRoZXJlLCBh
cyB0aGUgZnVuY3Rpb24gZXhwbGljaXRseQpkZWFscyB3aXRoIGZpbmRpbmcg
YSBub24tcHJlc2VudCBjb250ZXh0IGVudHJ5LiBMZWF2aW5nIGl0IHRoZXJl
IHdvdWxkCnJlcXVpcmUgcHJvcGFnYXRpbmcgcGdkX21hZGRyIGludG8gdGhl
IGZ1bmN0aW9uIChsaWtlIHdhcyBkb25lIGJ5ICJWVC1kOgpwcmVwYXJlIGZv
ciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFnZSB0YWJsZXMiIGZvcgpkb21h
aW5fY29udGV4dF9tYXBwaW5nX29uZSgpKS4KCkluIFZULWQncyBESUQgYWxs
b2NhdGlvbiBmdW5jdGlvbiBkb24ndCByZXF1aXJlIHRoZSBJT01NVSBsb2Nr
IHRvIGJlCmhlbGQgYW55bW9yZTogQWxsIGludm9sdmVkIGNvZGUgcGF0aHMg
aG9sZCBwY2lkZXZzX2xvY2ssIHNvIHRoaXMgd2F5IHdlCmF2b2lkIHRoZSBu
ZWVkIHRvIGFjcXVpcmUgdGhlIElPTU1VIGxvY2sgYXJvdW5kIHRoZSBuZXcg
Y2FsbCB0bwpjb250ZXh0X3NldF9kb21haW5faWQoKS4KClNpZ25lZC1vZmYt
Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQt
Ynk6IFBhdWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpSZXZpZXdlZC1ieTog
S2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5
OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KCi0t
LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcGNpLmgKKysrIGIveGVuL2luY2x1
ZGUvYXNtLXg4Ni9wY2kuaApAQCAtMSw2ICsxLDggQEAKICNpZm5kZWYgX19Y
ODZfUENJX0hfXwogI2RlZmluZSBfX1g4Nl9QQ0lfSF9fCiAKKyNpbmNsdWRl
IDx4ZW4vbW0uaD4KKwogI2RlZmluZSBDRjhfQkRGKGNmOCkgICAgICggICgo
Y2Y4KSAmIDB4MDBmZmZmMDApID4+IDgpCiAjZGVmaW5lIENGOF9BRERSX0xP
KGNmOCkgKCAgIChjZjgpICYgMHgwMDAwMDBmYykKICNkZWZpbmUgQ0Y4X0FE
RFJfSEkoY2Y4KSAoICAoKGNmOCkgJiAweDBmMDAwMDAwKSA+PiAxNikKQEAg
LTE4LDcgKzIwLDE4IEBAIHN0cnVjdCBhcmNoX3BjaV9kZXYgewogICAgICAq
IHRoZW0gZG9uJ3QgcmFjZSAoZGUpaW5pdGlhbGl6YXRpb24gYW5kIGhlbmNl
IGRvbid0IHN0cmljdGx5IG5lZWQgYW55CiAgICAgICogbG9ja2luZy4KICAg
ICAgKi8KKyAgICB1bmlvbiB7CisgICAgICAgIC8qIFN1YnNldCBvZiBzdHJ1
Y3QgYXJjaF9pb21tdSdzIGZpZWxkcywgdG8gYmUgdXNlZCBpbiBkb21faW8u
ICovCisgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICB1aW50NjRfdCBw
Z2RfbWFkZHI7CisgICAgICAgIH0gdnRkOworICAgICAgICBzdHJ1Y3Qgewor
ICAgICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcm9vdF90YWJsZTsKKyAg
ICAgICAgfSBhbWQ7CisgICAgfTsKICAgICBkb21pZF90IHBzZXVkb19kb21p
ZDsKKyAgICBtZm5fdCBsZWFmX21mbjsKKyAgICBzdHJ1Y3QgcGFnZV9saXN0
X2hlYWQgcGd0YWJsZXNfbGlzdDsKIH07CiAKIGludCBwY2lfY29uZl93cml0
ZV9pbnRlcmNlcHQodW5zaWduZWQgaW50IHNlZywgdW5zaWduZWQgaW50IGJk
ZiwKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11LmgK
KysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11LmgKQEAg
LTIzNyw3ICsyMzcsOCBAQCBpbnQgYW1kX2lvbW11X2luaXRfbGF0ZSh2b2lk
KTsKIGludCBhbWRfaW9tbXVfdXBkYXRlX2l2cnNfbWFwcGluZ19hY3BpKHZv
aWQpOwogaW50IGlvdl9hZGp1c3RfaXJxX2FmZmluaXRpZXModm9pZCk7CiAK
LWludCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cnVjdCBkb21haW4g
KmQpOworaW50IGFtZF9pb21tdV9xdWFyYW50aW5lX2luaXQoc3RydWN0IHBj
aV9kZXYgKnBkZXYsIGJvb2wgc2NyYXRjaF9wYWdlKTsKK3ZvaWQgYW1kX2lv
bW11X3F1YXJhbnRpbmVfdGVhcmRvd24oc3RydWN0IHBjaV9kZXYgKnBkZXYp
OwogCiAvKiBtYXBwaW5nIGZ1bmN0aW9ucyAqLwogaW50IF9fbXVzdF9jaGVj
ayBhbWRfaW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgZGZuX3Qg
ZGZuLAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVf
bWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11
X21hcC5jCkBAIC01OTgsNjQgKzU5OCwxMzggQEAgaW50IGFtZF9pb21tdV9n
ZXRfcmVzZXJ2ZWRfZGV2aWNlX21lbW9yeQogICAgIHJldHVybiAwOwogfQog
Ci1pbnQgX19pbml0IGFtZF9pb21tdV9xdWFyYW50aW5lX2luaXQoc3RydWN0
IGRvbWFpbiAqZCkKK3N0YXRpYyBpbnQgZmlsbF9xcHQodW5pb24gYW1kX2lv
bW11X3B0ZSAqdGhpcywgdW5zaWduZWQgaW50IGxldmVsLAorICAgICAgICAg
ICAgICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZ3NbSU9NTVVfTUFYX1BU
X0xFVkVMU10pCiB7Ci0gICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBk
b21faW9tbXUoZCk7CisgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBk
b21faW9tbXUoZG9tX2lvKTsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICBp
bnQgcmMgPSAwOworCisgICAgZm9yICggaSA9IDA7ICFyYyAmJiBpIDwgUFRF
X1BFUl9UQUJMRV9TSVpFOyArK2kgKQorICAgIHsKKyAgICAgICAgdW5pb24g
YW1kX2lvbW11X3B0ZSAqcHRlID0gJnRoaXNbaV0sICpuZXh0OworCisgICAg
ICAgIGlmICggIXB0ZS0+cHIgKQorICAgICAgICB7CisgICAgICAgICAgICBp
ZiAoICFwZ3NbbGV2ZWxdICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAvKgorICAgICAgICAgICAgICAgICAqIFRoZSBwZ3RhYmxlIGFsbG9j
YXRvciBpcyBmaW5lIGZvciB0aGUgbGVhZiBwYWdlLCBhcyB3ZWxsIGFzCisg
ICAgICAgICAgICAgICAgICogcGFnZSB0YWJsZSBwYWdlcywgYW5kIHRoZSBy
ZXN1bHRpbmcgYWxsb2NhdGlvbnMgYXJlIGFsd2F5cworICAgICAgICAgICAg
ICAgICAqIHplcm9lZC4KKyAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAg
ICAgICAgICBwZ3NbbGV2ZWxdID0gaW9tbXVfYWxsb2NfcGd0YWJsZShoZCk7
CisgICAgICAgICAgICAgICAgaWYgKCAhcGdzW2xldmVsXSApCisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICByYyA9IC1FTk9NRU07
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgICAgIGlmICggbGV2ZWwgKQorICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgbmV4dCA9IF9fbWFwX2Rv
bWFpbl9wYWdlKHBnc1tsZXZlbF0pOworICAgICAgICAgICAgICAgICAgICBy
YyA9IGZpbGxfcXB0KG5leHQsIGxldmVsIC0gMSwgcGdzKTsKKyAgICAgICAg
ICAgICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobmV4dCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvKgor
ICAgICAgICAgICAgICogUERFcyBhcmUgZXNzZW50aWFsbHkgYSBzdWJzZXQg
b2YgUFRFcywgc28gdGhpcyBmdW5jdGlvbgorICAgICAgICAgICAgICogaXMg
ZmluZSB0byB1c2UgZXZlbiBhdCB0aGUgbGVhZi4KKyAgICAgICAgICAgICAq
LworICAgICAgICAgICAgc2V0X2lvbW11X3BkZV9wcmVzZW50KHB0ZSwgbWZu
X3gocGFnZV90b19tZm4ocGdzW2xldmVsXSkpLCBsZXZlbCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCB0cnVlKTsKKyAgICAg
ICAgfQorICAgICAgICBlbHNlIGlmICggbGV2ZWwgJiYgcHRlLT5uZXh0X2xl
dmVsICkKKyAgICAgICAgeworICAgICAgICAgICAgbmV4dCA9IG1hcF9kb21h
aW5fcGFnZShfbWZuKHB0ZS0+bWZuKSk7CisgICAgICAgICAgICByYyA9IGZp
bGxfcXB0KG5leHQsIGxldmVsIC0gMSwgcGdzKTsKKyAgICAgICAgICAgIHVu
bWFwX2RvbWFpbl9wYWdlKG5leHQpOworICAgICAgICB9CisgICAgfQorCisg
ICAgcmV0dXJuIHJjOworfQorCitpbnQgYW1kX2lvbW11X3F1YXJhbnRpbmVf
aW5pdChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgYm9vbCBzY3JhdGNoX3BhZ2Up
Cit7CisgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUo
ZG9tX2lvKTsKICAgICB1bnNpZ25lZCBsb25nIGVuZF9nZm4gPQogICAgICAg
ICAxdWwgPDwgKERFRkFVTFRfRE9NQUlOX0FERFJFU1NfV0lEVEggLSBQQUdF
X1NISUZUKTsKICAgICB1bnNpZ25lZCBpbnQgbGV2ZWwgPSBhbWRfaW9tbXVf
Z2V0X3BhZ2luZ19tb2RlKGVuZF9nZm4pOwotICAgIHVuaW9uIGFtZF9pb21t
dV9wdGUgKnRhYmxlOworICAgIHVuc2lnbmVkIGludCByZXFfaWQgPSBnZXRf
ZG1hX3JlcXVlc3Rvcl9pZChwZGV2LT5zZWcsIHBkZXYtPnNiZGYuYmRmKTsK
KyAgICBjb25zdCBzdHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19tYXBwaW5n
cyA9IGdldF9pdnJzX21hcHBpbmdzKHBkZXYtPnNlZyk7CisgICAgaW50IHJj
OworCisgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOworICAgIEFTU0VS
VCghaGQtPmFyY2guYW1kLnJvb3RfdGFibGUpOworICAgIEFTU0VSVChwYWdl
X2xpc3RfZW1wdHkoJmhkLT5hcmNoLnBndGFibGVzLmxpc3QpKTsKIAotICAg
IGlmICggaGQtPmFyY2guYW1kLnJvb3RfdGFibGUgKQotICAgIHsKLSAgICAg
ICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CisgICAgaWYgKCAhc2NyYXRjaF9w
YWdlICYmICFpdnJzX21hcHBpbmdzW3JlcV9pZF0udW5pdHlfbWFwICkKICAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgfQogCi0gICAgc3Bpbl9sb2NrKCZoZC0+
YXJjaC5tYXBwaW5nX2xvY2spOworICAgIEFTU0VSVChwZGV2LT5hcmNoLnBz
ZXVkb19kb21pZCAhPSBET01JRF9JTlZBTElEKTsKIAotICAgIGhkLT5hcmNo
LmFtZC5yb290X3RhYmxlID0gaW9tbXVfYWxsb2NfcGd0YWJsZShoZCk7Ci0g
ICAgaWYgKCAhaGQtPmFyY2guYW1kLnJvb3RfdGFibGUgKQotICAgICAgICBn
b3RvIG91dDsKKyAgICBpZiAoIHBkZXYtPmFyY2guYW1kLnJvb3RfdGFibGUg
KQorICAgIHsKKyAgICAgICAgY2xlYXJfZG9tYWluX3BhZ2UocGRldi0+YXJj
aC5sZWFmX21mbik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KIAotICAg
IHRhYmxlID0gX19tYXBfZG9tYWluX3BhZ2UoaGQtPmFyY2guYW1kLnJvb3Rf
dGFibGUpOwotICAgIHdoaWxlICggbGV2ZWwgKQorICAgIHBkZXYtPmFyY2gu
YW1kLnJvb3RfdGFibGUgPSBpb21tdV9hbGxvY19wZ3RhYmxlKGhkKTsKKyAg
ICBpZiAoICFwZGV2LT5hcmNoLmFtZC5yb290X3RhYmxlICkKKyAgICAgICAg
cmV0dXJuIC1FTk9NRU07CisKKyAgICAvKiBUcmFuc2llbnRseSBpbnN0YWxs
IHRoZSByb290IGludG8gRG9tSU8sIGZvciBpb21tdV9pZGVudGl0eV9tYXBw
aW5nKCkuICovCisgICAgaGQtPmFyY2guYW1kLnJvb3RfdGFibGUgPSBwZGV2
LT5hcmNoLmFtZC5yb290X3RhYmxlOworCisgICAgcmMgPSBhbWRfaW9tbXVf
cmVzZXJ2ZV9kb21haW5fdW5pdHlfbWFwKGRvbV9pbywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXZyc19tYXBwaW5n
c1tyZXFfaWRdLnVuaXR5X21hcCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMCk7CisKKyAgICBpb21tdV9pZGVudGl0
eV9tYXBfdGVhcmRvd24oZG9tX2lvKTsKKyAgICBoZC0+YXJjaC5hbWQucm9v
dF90YWJsZSA9IE5VTEw7CisKKyAgICBpZiAoIHJjICkKKyAgICAgICAgQU1E
X0lPTU1VX1dBUk4oIiVwcDogcXVhcmFudGluZSB1bml0eSBtYXBwaW5nIGZh
aWxlZFxuIiwgJnBkZXYtPnNiZGYpOworICAgIGVsc2UgaWYgKCBzY3JhdGNo
X3BhZ2UgKQogICAgIHsKLSAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGc7
Ci0gICAgICAgIHVuc2lnbmVkIGludCBpOworICAgICAgICB1bmlvbiBhbWRf
aW9tbXVfcHRlICpyb290OworICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpw
Z3NbSU9NTVVfTUFYX1BUX0xFVkVMU10gPSB7fTsKIAotICAgICAgICAvKgot
ICAgICAgICAgKiBUaGUgcGd0YWJsZSBhbGxvY2F0b3IgaXMgZmluZSBmb3Ig
dGhlIGxlYWYgcGFnZSwgYXMgd2VsbCBhcwotICAgICAgICAgKiBwYWdlIHRh
YmxlIHBhZ2VzLCBhbmQgdGhlIHJlc3VsdGluZyBhbGxvY2F0aW9ucyBhcmUg
YWx3YXlzCi0gICAgICAgICAqIHplcm9lZC4KLSAgICAgICAgICovCi0gICAg
ICAgIHBnID0gaW9tbXVfYWxsb2NfcGd0YWJsZShoZCk7Ci0gICAgICAgIGlm
ICggIXBnICkKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICBzcGluX2xv
Y2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CiAKLSAgICAgICAgZm9yICgg
aSA9IDA7IGkgPCBQVEVfUEVSX1RBQkxFX1NJWkU7IGkrKyApCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHVuaW9uIGFtZF9pb21tdV9wdGUgKnBkZSA9ICZ0
YWJsZVtpXTsKKyAgICAgICAgcm9vdCA9IF9fbWFwX2RvbWFpbl9wYWdlKHBk
ZXYtPmFyY2guYW1kLnJvb3RfdGFibGUpOworICAgICAgICByYyA9IGZpbGxf
cXB0KHJvb3QsIGxldmVsIC0gMSwgcGdzKTsKKyAgICAgICAgdW5tYXBfZG9t
YWluX3BhZ2Uocm9vdCk7CiAKLSAgICAgICAgICAgIC8qCi0gICAgICAgICAg
ICAgKiBQREVzIGFyZSBlc3NlbnRpYWxseSBhIHN1YnNldCBvZiBQVEVzLCBz
byB0aGlzIGZ1bmN0aW9uCi0gICAgICAgICAgICAgKiBpcyBmaW5lIHRvIHVz
ZSBldmVuIGF0IHRoZSBsZWFmLgotICAgICAgICAgICAgICovCi0gICAgICAg
ICAgICBzZXRfaW9tbXVfcGRlX3ByZXNlbnQocGRlLCBtZm5feChwYWdlX3Rv
X21mbihwZykpLCBsZXZlbCAtIDEsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmFsc2UsIHRydWUpOwotICAgICAgICB9CisgICAgICAg
IHBkZXYtPmFyY2gubGVhZl9tZm4gPSBwYWdlX3RvX21mbihwZ3NbMF0pOwog
Ci0gICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKHRhYmxlKTsKLSAgICAgICAg
dGFibGUgPSBfX21hcF9kb21haW5fcGFnZShwZyk7Ci0gICAgICAgIGxldmVs
LS07CisgICAgICAgIHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xv
Y2spOwogICAgIH0KLSAgICB1bm1hcF9kb21haW5fcGFnZSh0YWJsZSk7CiAK
LSBvdXQ6Ci0gICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9j
ayk7CisgICAgcGFnZV9saXN0X21vdmUoJnBkZXYtPmFyY2gucGd0YWJsZXNf
bGlzdCwgJmhkLT5hcmNoLnBndGFibGVzLmxpc3QpOworCisgICAgaWYgKCBy
YyApCisgICAgICAgIGFtZF9pb21tdV9xdWFyYW50aW5lX3RlYXJkb3duKHBk
ZXYpOworCisgICAgcmV0dXJuIHJjOworfQorCit2b2lkIGFtZF9pb21tdV9x
dWFyYW50aW5lX3RlYXJkb3duKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQorewor
ICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbV9p
byk7CisKKyAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7CisKKyAgICBp
ZiAoICFwZGV2LT5hcmNoLmFtZC5yb290X3RhYmxlICkKKyAgICAgICAgcmV0
dXJuOwogCi0gICAgLyogUGFnZXMgbGVha2VkIGluIGZhaWx1cmUgY2FzZSAq
LwotICAgIHJldHVybiBsZXZlbCA/IC1FTk9NRU0gOiAwOworICAgIEFTU0VS
VChwYWdlX2xpc3RfZW1wdHkoJmhkLT5hcmNoLnBndGFibGVzLmxpc3QpKTsK
KyAgICBwYWdlX2xpc3RfbW92ZSgmaGQtPmFyY2gucGd0YWJsZXMubGlzdCwg
JnBkZXYtPmFyY2gucGd0YWJsZXNfbGlzdCk7CisgICAgd2hpbGUgKCBpb21t
dV9mcmVlX3BndGFibGVzKGRvbV9pbykgPT0gLUVSRVNUQVJUICkKKyAgICAg
ICAgLyogbm90aGluZyAqLzsKKyAgICBwZGV2LT5hcmNoLmFtZC5yb290X3Rh
YmxlID0gTlVMTDsKIH0KIAogLyoKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC0yNiw3ICsyNiw3
IEBACiAjaW5jbHVkZSAiLi4vYXRzLmgiCiAKIC8qIGRvbV9pbyBpcyB1c2Vk
IGFzIGEgc2VudGluZWwgZm9yIHF1YXJhbnRpbmVkIGRldmljZXMgKi8KLSNk
ZWZpbmUgUVVBUkFOVElORV9TS0lQKGQpICgoZCkgPT0gZG9tX2lvICYmICFk
b21faW9tbXUoZCktPmFyY2guYW1kLnJvb3RfdGFibGUpCisjZGVmaW5lIFFV
QVJBTlRJTkVfU0tJUChkLCBwKSAoKGQpID09IGRvbV9pbyAmJiAhKHApLT5h
cmNoLmFtZC5yb290X3RhYmxlKQogCiBzdGF0aWMgYm9vbF90IF9fcmVhZF9t
b3N0bHkgaW5pdF9kb25lOwogCkBAIC0xMjUsOCArMTI1LDEwIEBAIHN0YXRp
YyBpbnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAgICB1OCBi
dXMgPSBwZGV2LT5idXM7CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQg
PSBkb21faW9tbXUoZG9tYWluKTsKICAgICBjb25zdCBzdHJ1Y3QgaXZyc19t
YXBwaW5ncyAqaXZyc19kZXY7CisgICAgY29uc3Qgc3RydWN0IHBhZ2VfaW5m
byAqcm9vdF9wZzsKKyAgICBkb21pZF90IGRvbWlkOwogCi0gICAgaWYgKCBR
VUFSQU5USU5FX1NLSVAoZG9tYWluKSApCisgICAgaWYgKCBRVUFSQU5USU5F
X1NLSVAoZG9tYWluLCBwZGV2KSApCiAgICAgICAgIHJldHVybiAwOwogCiAg
ICAgQlVHX09OKCFoZC0+YXJjaC5hbWQucGFnaW5nX21vZGUgfHwgIWlvbW11
LT5kZXZfdGFibGUuYnVmZmVyKTsKQEAgLTE0NywxNCArMTQ5LDI1IEBAIHN0
YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAgICBk
dGUgPSAmdGFibGVbcmVxX2lkXTsKICAgICBpdnJzX2RldiA9ICZnZXRfaXZy
c19tYXBwaW5ncyhpb21tdS0+c2VnKVtyZXFfaWRdOwogCisgICAgaWYgKCBk
b21haW4gIT0gZG9tX2lvICkKKyAgICB7CisgICAgICAgIHJvb3RfcGcgPSBo
ZC0+YXJjaC5hbWQucm9vdF90YWJsZTsKKyAgICAgICAgZG9taWQgPSBkb21h
aW4tPmRvbWFpbl9pZDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAg
ICAgcm9vdF9wZyA9IHBkZXYtPmFyY2guYW1kLnJvb3RfdGFibGU7CisgICAg
ICAgIGRvbWlkID0gcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQ7CisgICAgfQor
CiAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmlvbW11LT5sb2NrLCBmbGFncyk7
CiAKICAgICBpZiAoICFkdGUtPnYgfHwgIWR0ZS0+dHYgKQogICAgIHsKICAg
ICAgICAgLyogYmluZCBEVEUgdG8gZG9tYWluIHBhZ2UtdGFibGVzICovCiAg
ICAgICAgIHJjID0gYW1kX2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUoCi0g
ICAgICAgICAgICAgICAgIGR0ZSwgcGFnZV90b19tYWRkcihoZC0+YXJjaC5h
bWQucm9vdF90YWJsZSksCi0gICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9t
YWluX2lkLCBoZC0+YXJjaC5hbWQucGFnaW5nX21vZGUsIHNyX2ZsYWdzKTsK
KyAgICAgICAgICAgICAgICAgZHRlLCBwYWdlX3RvX21hZGRyKHJvb3RfcGcp
LCBkb21pZCwKKyAgICAgICAgICAgICAgICAgaGQtPmFyY2guYW1kLnBhZ2lu
Z19tb2RlLCBzcl9mbGFncyk7CiAgICAgICAgIGlmICggcmMgKQogICAgICAg
ICB7CiAgICAgICAgICAgICBBU1NFUlQocmMgPCAwKTsKQEAgLTE4MSw3ICsx
OTQsNyBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfc2V0
dXBfCiAKICAgICAgICAgYW1kX2lvbW11X2ZsdXNoX2RldmljZShpb21tdSwg
cmVxX2lkKTsKICAgICB9Ci0gICAgZWxzZSBpZiAoIGR0ZS0+cHRfcm9vdCAh
PSBtZm5feChwYWdlX3RvX21mbihoZC0+YXJjaC5hbWQucm9vdF90YWJsZSkp
ICkKKyAgICBlbHNlIGlmICggZHRlLT5wdF9yb290ICE9IG1mbl94KHBhZ2Vf
dG9fbWZuKHJvb3RfcGcpKSApCiAgICAgewogICAgICAgICAvKgogICAgICAg
ICAgKiBTdHJpY3RseSBzcGVha2luZyBpZiB0aGUgZGV2aWNlIGlzIHRoZSBv
bmx5IG9uZSB3aXRoIHRoaXMgcmVxdWVzdG9yCkBAIC0xOTQsOCArMjA3LDgg
QEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldHVwXwog
ICAgICAgICAgICAgcmMgPSAtRU9QTk9UU1VQUDsKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgcmMgPSBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJs
ZSgKLSAgICAgICAgICAgICAgICAgICAgIGR0ZSwgcGFnZV90b19tYWRkciho
ZC0+YXJjaC5hbWQucm9vdF90YWJsZSksCi0gICAgICAgICAgICAgICAgICAg
ICBkb21haW4tPmRvbWFpbl9pZCwgaGQtPmFyY2guYW1kLnBhZ2luZ19tb2Rl
LCBzcl9mbGFncyk7CisgICAgICAgICAgICAgICAgICAgICBkdGUsIHBhZ2Vf
dG9fbWFkZHIocm9vdF9wZyksIGRvbWlkLAorICAgICAgICAgICAgICAgICAg
ICAgaGQtPmFyY2guYW1kLnBhZ2luZ19tb2RlLCBzcl9mbGFncyk7CiAgICAg
ICAgIGlmICggcmMgPCAwICkKICAgICAgICAgewogICAgICAgICAgICAgc3Bp
bl91bmxvY2tfaXJxcmVzdG9yZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsKQEAg
LTIxNCw2ICsyMjcsNyBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBhbWRf
aW9tbXVfc2V0dXBfCiAgICAgICAgICAgICAgICogaW50ZW5kZWQgYW55d2F5
LgogICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgICFwZGV2LT5kb21h
aW4tPmlzX2R5aW5nICYmCisgICAgICAgICAgICAgcGRldi0+ZG9tYWluICE9
IGRvbV9pbyAmJgogICAgICAgICAgICAgIChhbnlfcGRldl9iZWhpbmRfaW9t
bXUocGRldi0+ZG9tYWluLCBwZGV2LCBpb21tdSkgfHwKICAgICAgICAgICAg
ICAgcGRldi0+cGhhbnRvbV9zdHJpZGUpICkKICAgICAgICAgICAgIEFNRF9J
T01NVV9XQVJOKCIgJXBwOiByZWFzc2lnbm1lbnQgbWF5IGNhdXNlICVwZCBk
YXRhIGNvcnJ1cHRpb25cbiIsCkBAIC0yNDYsOSArMjYwLDggQEAgc3RhdGlj
IGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldHVwXwogICAgIEFNRF9J
T01NVV9ERUJVRygiU2V0dXAgSS9PIHBhZ2UgdGFibGU6IGRldmljZSBpZCA9
ICUjeCwgdHlwZSA9ICUjeCwgIgogICAgICAgICAgICAgICAgICAgICAicm9v
dCB0YWJsZSA9ICUjIlBSSXg2NCIsICIKICAgICAgICAgICAgICAgICAgICAg
ImRvbWFpbiA9ICVkLCBwYWdpbmcgbW9kZSA9ICVkXG4iLAotICAgICAgICAg
ICAgICAgICAgICByZXFfaWQsIHBkZXYtPnR5cGUsCi0gICAgICAgICAgICAg
ICAgICAgIHBhZ2VfdG9fbWFkZHIoaGQtPmFyY2guYW1kLnJvb3RfdGFibGUp
LAotICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwgaGQt
PmFyY2guYW1kLnBhZ2luZ19tb2RlKTsKKyAgICAgICAgICAgICAgICAgICAg
cmVxX2lkLCBwZGV2LT50eXBlLCBwYWdlX3RvX21hZGRyKHJvb3RfcGcpLAor
ICAgICAgICAgICAgICAgICAgICBkb21pZCwgaGQtPmFyY2guYW1kLnBhZ2lu
Z19tb2RlKTsKIAogICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKIApA
QCAtMzI3LDcgKzM0MCw3IEBAIGludCBhbWRfaW9tbXVfYWxsb2Nfcm9vdChz
dHJ1Y3QgZG9tYWluICoKIHsKICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpo
ZCA9IGRvbV9pb21tdShkKTsKIAotICAgIGlmICggdW5saWtlbHkoIWhkLT5h
cmNoLmFtZC5yb290X3RhYmxlKSApCisgICAgaWYgKCB1bmxpa2VseSghaGQt
PmFyY2guYW1kLnJvb3RfdGFibGUpICYmIGQgIT0gZG9tX2lvICkKICAgICB7
CiAgICAgICAgIGhkLT5hcmNoLmFtZC5yb290X3RhYmxlID0gaW9tbXVfYWxs
b2NfcGd0YWJsZShoZCk7CiAgICAgICAgIGlmICggIWhkLT5hcmNoLmFtZC5y
b290X3RhYmxlICkKQEAgLTM5MSw3ICs0MDQsNyBAQCBzdGF0aWMgdm9pZCBh
bWRfaW9tbXVfZGlzYWJsZV9kb21haW5fZGV2CiAgICAgaW50IHJlcV9pZDsK
ICAgICB1OCBidXMgPSBwZGV2LT5idXM7CiAKLSAgICBpZiAoIFFVQVJBTlRJ
TkVfU0tJUChkb21haW4pICkKKyAgICBpZiAoIFFVQVJBTlRJTkVfU0tJUChk
b21haW4sIHBkZXYpICkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJU
KHBjaWRldnNfbG9ja2VkKCkpOwpAQCAtNDMwLDcgKzQ0Myw3IEBAIHN0YXRp
YyB2b2lkIGFtZF9pb21tdV9kaXNhYmxlX2RvbWFpbl9kZXYKIAogICAgICAg
ICBBTURfSU9NTVVfREVCVUcoIkRpc2FibGU6IGRldmljZSBpZCA9ICUjeCwg
IgogICAgICAgICAgICAgICAgICAgICAgICAgImRvbWFpbiA9ICVkLCBwYWdp
bmcgbW9kZSA9ICVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgcmVx
X2lkLCAgZG9tYWluLT5kb21haW5faWQsCisgICAgICAgICAgICAgICAgICAg
ICAgICByZXFfaWQsIGR0ZS0+ZG9tYWluX2lkLAogICAgICAgICAgICAgICAg
ICAgICAgICAgZG9tX2lvbW11KGRvbWFpbiktPmFyY2guYW1kLnBhZ2luZ19t
b2RlKTsKICAgICB9CiAgICAgZWxzZQpAQCAtNDUzLDcgKzQ2Niw3IEBAIHN0
YXRpYyBpbnQgcmVhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4KICAgICAg
ICAgcmV0dXJuIC1FTk9ERVY7CiAgICAgfQogCi0gICAgaWYgKCAhUVVBUkFO
VElORV9TS0lQKHRhcmdldCkgKQorICAgIGlmICggIVFVQVJBTlRJTkVfU0tJ
UCh0YXJnZXQsIHBkZXYpICkKICAgICB7CiAgICAgICAgIHJjID0gYW1kX2lv
bW11X3NldHVwX2RvbWFpbl9kZXZpY2UodGFyZ2V0LCBpb21tdSwgZGV2Zm4s
IHBkZXYpOwogICAgICAgICBpZiAoIHJjICkKQEAgLTY1NSw2ICs2NjgsOCBA
QCBzdGF0aWMgaW50IGFtZF9pb21tdV9yZW1vdmVfZGV2aWNlKHU4IGRlCiAg
ICAgICAgIEFNRF9JT01NVV9XQVJOKCIlcGQ6IHVuaXR5IHVubWFwcGluZyBm
YWlsZWQgZm9yICVwcFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgcGRl
di0+ZG9tYWluLCAmcGRldi0+c2JkZik7CiAKKyAgICBhbWRfaW9tbXVfcXVh
cmFudGluZV90ZWFyZG93bihwZGV2KTsKKwogICAgIGlvbW11X2ZyZWVfZG9t
aWQocGRldi0+YXJjaC5wc2V1ZG9fZG9taWQsIGlvbW11LT5kb21pZF9tYXAp
OwogICAgIHBkZXYtPmFyY2gucHNldWRvX2RvbWlkID0gRE9NSURfSU5WQUxJ
RDsKIAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCisr
KyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKQEAgLTQ0Mywy
MSArNDQzLDIyIEBAIGludCBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0
IGRvbWFpbgogICAgIHJldHVybiByYzsKIH0KIAotc3RhdGljIGludCBfX2lu
aXQgaW9tbXVfcXVhcmFudGluZV9pbml0KHZvaWQpCitpbnQgaW9tbXVfcXVh
cmFudGluZV9kZXZfaW5pdChkZXZpY2VfdCAqZGV2KQogewogICAgIGNvbnN0
IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbV9pbyk7
Ci0gICAgaW50IHJjOwogCi0gICAgZG9tX2lvLT5vcHRpb25zIHw9IFhFTl9E
T01DVExfQ0RGX2lvbW11OworICAgIGlmICggIWlvbW11X3F1YXJhbnRpbmUg
fHwgIWhkLT5wbGF0Zm9ybV9vcHMtPnF1YXJhbnRpbmVfaW5pdCApCisgICAg
ICAgIHJldHVybiAwOwogCi0gICAgcmMgPSBpb21tdV9kb21haW5faW5pdChk
b21faW8sIDApOwotICAgIGlmICggcmMgfHwgaW9tbXVfcXVhcmFudGluZSA8
IElPTU1VX3F1YXJhbnRpbmVfc2NyYXRjaF9wYWdlICkKLSAgICAgICAgcmV0
dXJuIHJjOworICAgIHJldHVybiBpb21tdV9jYWxsKGhkLT5wbGF0Zm9ybV9v
cHMsIHF1YXJhbnRpbmVfaW5pdCwKKyAgICAgICAgICAgICAgICAgICAgICBk
ZXYsIGlvbW11X3F1YXJhbnRpbmUgPT0gSU9NTVVfcXVhcmFudGluZV9zY3Jh
dGNoX3BhZ2UpOworfQogCi0gICAgaWYgKCAhaGQtPnBsYXRmb3JtX29wcy0+
cXVhcmFudGluZV9pbml0ICkKLSAgICAgICAgcmV0dXJuIDA7CitzdGF0aWMg
aW50IF9faW5pdCBpb21tdV9xdWFyYW50aW5lX2luaXQodm9pZCkKK3sKKyAg
ICBkb21faW8tPm9wdGlvbnMgfD0gWEVOX0RPTUNUTF9DREZfaW9tbXU7CiAK
LSAgICByZXR1cm4gaGQtPnBsYXRmb3JtX29wcy0+cXVhcmFudGluZV9pbml0
KGRvbV9pbyk7CisgICAgcmV0dXJuIGlvbW11X2RvbWFpbl9pbml0KGRvbV9p
bywgMCk7CiB9CiAKIGludCBfX2luaXQgaW9tbXVfc2V0dXAodm9pZCkKLS0t
IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMKKysrIGIveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMKQEAgLTg1Miw5ICs4NTIsMTYgQEAg
c3RhdGljIGludCBkZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGRvbWFpbgogICAg
ICAgICByZXR1cm4gLUVOT0RFVjsKIAogICAgIC8qIERlLWFzc2lnbm1lbnQg
ZnJvbSBkb21faW8gc2hvdWxkIGRlLXF1YXJhbnRpbmUgdGhlIGRldmljZSAq
LwotICAgIHRhcmdldCA9ICgocGRldi0+cXVhcmFudGluZSB8fCBpb21tdV9x
dWFyYW50aW5lKSAmJgotICAgICAgICAgICAgICBwZGV2LT5kb21haW4gIT0g
ZG9tX2lvKSA/Ci0gICAgICAgIGRvbV9pbyA6IGhhcmR3YXJlX2RvbWFpbjsK
KyAgICBpZiAoIChwZGV2LT5xdWFyYW50aW5lIHx8IGlvbW11X3F1YXJhbnRp
bmUpICYmIHBkZXYtPmRvbWFpbiAhPSBkb21faW8gKQorICAgIHsKKyAgICAg
ICAgcmV0ID0gaW9tbXVfcXVhcmFudGluZV9kZXZfaW5pdChwY2lfdG9fZGV2
KHBkZXYpKTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICByZXR1
cm4gcmV0OworCisgICAgICAgIHRhcmdldCA9IGRvbV9pbzsKKyAgICB9Cisg
ICAgZWxzZQorICAgICAgICB0YXJnZXQgPSBoYXJkd2FyZV9kb21haW47CiAK
ICAgICB3aGlsZSAoIHBkZXYtPnBoYW50b21fc3RyaWRlICkKICAgICB7CkBA
IC0xNDI0LDYgKzE0MzEsMTMgQEAgc3RhdGljIGludCBhc3NpZ25fZGV2aWNl
KHN0cnVjdCBkb21haW4gKgogICAgIGlmICggcmMgKQogICAgICAgICBnb3Rv
IGRvbmU7CiAKKyAgICBpZiAoIHBkZXYtPmRvbWFpbiAhPSBkb21faW8gKQor
ICAgIHsKKyAgICAgICAgcmMgPSBpb21tdV9xdWFyYW50aW5lX2Rldl9pbml0
KHBjaV90b19kZXYocGRldikpOworICAgICAgICBpZiAoIHJjICkKKyAgICAg
ICAgICAgIGdvdG8gZG9uZTsKKyAgICB9CisKICAgICBwZGV2LT5mYXVsdC5j
b3VudCA9IDA7CiAKICAgICBpZiAoIChyYyA9IGhkLT5wbGF0Zm9ybV9vcHMt
PmFzc2lnbl9kZXZpY2UoZCwgZGV2Zm4sIHBjaV90b19kZXYocGRldiksIGZs
YWcpKSApCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21t
dS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5j
CkBAIC00NSw2ICs0NSwxMSBAQAogCiAvKiBkb21faW8gaXMgdXNlZCBhcyBh
IHNlbnRpbmVsIGZvciBxdWFyYW50aW5lZCBkZXZpY2VzICovCiAjZGVmaW5l
IFFVQVJBTlRJTkVfU0tJUChkLCBwZ2RfbWFkZHIpICgoZCkgPT0gZG9tX2lv
ICYmICEocGdkX21hZGRyKSkKKyNkZWZpbmUgREVWSUNFX0RPTUlEKGQsIHBk
ZXYpICgoZCkgIT0gZG9tX2lvID8gKGQpLT5kb21haW5faWQgXAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAocGRl
diktPmFyY2gucHNldWRvX2RvbWlkKQorI2RlZmluZSBERVZJQ0VfUEdUQUJM
RShkLCBwZGV2KSAoKGQpICE9IGRvbV9pbyBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA/IGRvbV9pb21tdShkKS0+YXJjaC52dGQucGdk
X21hZGRyIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDog
KHBkZXYpLT5hcmNoLnZ0ZC5wZ2RfbWFkZHIpCiAKIC8qIFBvc3NpYmxlIHVu
ZmlsdGVyZWQgTEFQSUMvTVNJIG1lc3NhZ2VzIGZyb20gdW50cnVzdGVkIHNv
dXJjZXM/ICovCiBib29sIF9fcmVhZF9tb3N0bHkgdW50cnVzdGVkX21zaTsK
QEAgLTg4LDEzICs5MywxOCBAQCBzdGF0aWMgaW50IGdldF9pb21tdV9kaWQo
ZG9taWRfdCBkb21pZCwKIAogI2RlZmluZSBESURfRklFTERfV0lEVEggMTYK
ICNkZWZpbmUgRElEX0hJR0hfT0ZGU0VUIDgKKworLyoKKyAqIFRoaXMgZnVu
Y3Rpb24gbWF5IGhhdmUgImNvbnRleHQiIHBhc3NlZCBhcyBOVUxMLCB0byBt
ZXJlbHkgb2J0YWluIGEgRElECisgKiBmb3IgImRvbWlkIi4KKyAqLwogc3Rh
dGljIGludCBjb250ZXh0X3NldF9kb21haW5faWQoc3RydWN0IGNvbnRleHRf
ZW50cnkgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkb21pZF90IGRvbWlkLCBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkK
IHsKICAgICB1bnNpZ25lZCBsb25nIG5yX2RvbSwgaTsKICAgICBpbnQgZm91
bmQgPSAwOwogCi0gICAgQVNTRVJUKHNwaW5faXNfbG9ja2VkKCZpb21tdS0+
bG9jaykpOworICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKIAogICAg
IG5yX2RvbSA9IGNhcF9uZG9tcyhpb21tdS0+Y2FwKTsKICAgICBpID0gZmlu
ZF9maXJzdF9iaXQoaW9tbXUtPmRvbWlkX2JpdG1hcCwgbnJfZG9tKTsKQEAg
LTEyMCw4ICsxMzAsMTMgQEAgc3RhdGljIGludCBjb250ZXh0X3NldF9kb21h
aW5faWQoc3RydWN0CiAgICAgfQogCiAgICAgc2V0X2JpdChpLCBpb21tdS0+
ZG9taWRfYml0bWFwKTsKLSAgICBjb250ZXh0LT5oaSAmPSB+KCgoMSA8PCBE
SURfRklFTERfV0lEVEgpIC0gMSkgPDwgRElEX0hJR0hfT0ZGU0VUKTsKLSAg
ICBjb250ZXh0LT5oaSB8PSAoaSAmICgoMSA8PCBESURfRklFTERfV0lEVEgp
IC0gMSkpIDw8IERJRF9ISUdIX09GRlNFVDsKKworICAgIGlmICggY29udGV4
dCApCisgICAgeworICAgICAgICBjb250ZXh0LT5oaSAmPSB+KCgoMSA8PCBE
SURfRklFTERfV0lEVEgpIC0gMSkgPDwgRElEX0hJR0hfT0ZGU0VUKTsKKyAg
ICAgICAgY29udGV4dC0+aGkgfD0gKGkgJiAoKDEgPDwgRElEX0ZJRUxEX1dJ
RFRIKSAtIDEpKSA8PCBESURfSElHSF9PRkZTRVQ7CisgICAgfQorCiAgICAg
cmV0dXJuIDA7CiB9CiAKQEAgLTE3MSw4ICsxODYsMTIgQEAgc3RhdGljIHZv
aWQgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAoY29ucwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHBjaV9kZXYg
KmV4Y2x1ZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkKIHsKLSAgICBib29sIGZvdW5k
ID0gYW55X3BkZXZfYmVoaW5kX2lvbW11KGQsIGV4Y2x1ZGUsIGlvbW11KTsK
KyAgICBib29sIGZvdW5kOworCisgICAgaWYgKCBkID09IGRvbV9pbyApCisg
ICAgICAgIHJldHVybjsKIAorICAgIGZvdW5kID0gYW55X3BkZXZfYmVoaW5k
X2lvbW11KGQsIGV4Y2x1ZGUsIGlvbW11KTsKICAgICAvKgogICAgICAqIEhp
ZGRlbiBkZXZpY2VzIGFyZSBhc3NvY2lhdGVkIHdpdGggRG9tWEVOIGJ1dCB1
c2FibGUgYnkgdGhlIGhhcmR3YXJlCiAgICAgICogZG9tYWluLiBIZW5jZSB0
aGV5IG5lZWQgY29uc2lkZXJpbmcgaGVyZSBhcyB3ZWxsLgpAQCAtMTQyNiw3
ICsxNDQ1LDcgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAog
ICAgICAgICBkb21pZCA9IGlvbW11LT5kb21pZF9tYXBbcHJldl9kaWRdOwog
ICAgICAgICBpZiAoIGRvbWlkIDwgRE9NSURfRklSU1RfUkVTRVJWRUQgKQog
ICAgICAgICAgICAgcHJldl9kb20gPSByY3VfbG9ja19kb21haW5fYnlfaWQo
ZG9taWQpOwotICAgICAgICBlbHNlIGlmICggZG9taWQgPT0gRE9NSURfSU8g
KQorICAgICAgICBlbHNlIGlmICggcGRldiA/IGRvbWlkID09IHBkZXYtPmFy
Y2gucHNldWRvX2RvbWlkIDogZG9taWQgPiBET01JRF9NQVNLICkKICAgICAg
ICAgICAgIHByZXZfZG9tID0gcmN1X2xvY2tfZG9tYWluKGRvbV9pbyk7CiAg
ICAgICAgIGlmICggIXByZXZfZG9tICkKICAgICAgICAgewpAQCAtMTU4Miwx
NSArMTYwMSwxMiBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUo
CiAgICAgewogICAgICAgICBpZiAoICFwcmV2X2RvbSApCiAgICAgICAgICAg
ICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21t
dSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX0RPTUlE
KGRvbWFpbiwgcGRldikpOwogICAgICAgICBlbHNlIGlmICggcHJldl9kb20g
IT0gZG9tYWluICkgLyogQXZvaWQgaW5maW5pdGUgcmVjdXJzaW9uLiAqLwot
ICAgICAgICB7Ci0gICAgICAgICAgICBoZCA9IGRvbV9pb21tdShwcmV2X2Rv
bSk7CiAgICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5n
X29uZShwcmV2X2RvbSwgaW9tbXUsIGJ1cywgZGV2Zm4sIHBkZXYsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21h
aW4tPmRvbWFpbl9pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhkLT5hcmNoLnZ0ZC5wZ2RfbWFkZHIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZJ
Q0VfRE9NSUQocHJldl9kb20sIHBkZXYpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX1BHVEFCTEUocHJl
dl9kb20sIHBkZXYpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbW9kZSAmIE1BUF9XSVRIX1JNUlIpIDwgMDsKLSAg
ICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXQgPSAxOwog
CkBAIC0xNjEyLDcgKzE2MjgsNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250
ZXh0X21hcHBpbmcoc3RydWN0CiB7CiAgICAgY29uc3Qgc3RydWN0IGFjcGlf
ZHJoZF91bml0ICpkcmhkID0gYWNwaV9maW5kX21hdGNoZWRfZHJoZF91bml0
KHBkZXYpOwogICAgIGNvbnN0IHN0cnVjdCBhY3BpX3JtcnJfdW5pdCAqcm1y
cjsKLSAgICBwYWRkcl90IHBnZF9tYWRkciA9IGRvbV9pb21tdShkb21haW4p
LT5hcmNoLnZ0ZC5wZ2RfbWFkZHI7CisgICAgcGFkZHJfdCBwZ2RfbWFkZHIg
PSBERVZJQ0VfUEdUQUJMRShkb21haW4sIHBkZXYpOwogICAgIGRvbWlkX3Qg
b3JpZ19kb21pZCA9IHBkZXYtPmFyY2gucHNldWRvX2RvbWlkOwogICAgIGlu
dCByZXQgPSAwOwogICAgIHVuc2lnbmVkIGludCBpLCBtb2RlID0gMDsKQEAg
LTE2NDEsNyArMTY1Nyw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRf
bWFwcGluZyhzdHJ1Y3QKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAg
aWYgKCBkb21haW4gIT0gcGRldi0+ZG9tYWluICkKKyAgICBpZiAoIGRvbWFp
biAhPSBwZGV2LT5kb21haW4gJiYgcGRldi0+ZG9tYWluICE9IGRvbV9pbyAp
CiAgICAgewogICAgICAgICBpZiAoIHBkZXYtPmRvbWFpbi0+aXNfZHlpbmcg
KQogICAgICAgICAgICAgbW9kZSB8PSBNQVBfT1dORVJfRFlJTkc7CkBAIC0x
NjgzLDggKzE2OTksOCBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21h
cHBpbmcoc3RydWN0CiAgICAgICAgIGlmICggaW9tbXVfZGVidWcgKQogICAg
ICAgICAgICAgcHJpbnRrKFZURFBSRUZJWCAiJXBkOlBDSWU6IG1hcCAlcHBc
biIsCiAgICAgICAgICAgICAgICAgICAgZG9tYWluLCAmUENJX1NCREYzKHNl
ZywgYnVzLCBkZXZmbikpOwotICAgICAgICByZXQgPSBkb21haW5fY29udGV4
dF9tYXBwaW5nX29uZShkb21haW4sIGRyaGQtPmlvbW11LCBidXMsIGRldmZu
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
ZGV2LCBkb21haW4tPmRvbWFpbl9pZCwgcGdkX21hZGRyLAorICAgICAgICBy
ZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21haW4sIGRyaGQt
PmlvbW11LCBidXMsIGRldmZuLCBwZGV2LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBw
ZGV2KSwgcGdkX21hZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtb2RlKTsKICAgICAgICAgaWYgKCByZXQgPiAwICkK
ICAgICAgICAgICAgIHJldCA9IDA7CkBAIC0xNzEwLDggKzE3MjYsOCBAQCBz
dGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAg
ICAgICAgICAgICAgICAgZG9tYWluLCAmUENJX1NCREYzKHNlZywgYnVzLCBk
ZXZmbikpOwogCiAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBp
bmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYsIGRv
bWFpbi0+ZG9tYWluX2lkLCBwZ2RfbWFkZHIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZGV2LCBERVZJQ0VfRE9N
SUQoZG9tYWluLCBwZGV2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGdkX21hZGRyLCBtb2RlKTsKICAgICAgICAgaWYg
KCByZXQgPCAwICkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBwcmV2
X3ByZXNlbnQgPSByZXQ7CkBAIC0xNzM5LDggKzE3NTUsOCBAQCBzdGF0aWMg
aW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgICAq
LwogICAgICAgICBpZiAoIHJldCA+PSAwICkKICAgICAgICAgICAgIHJldCA9
IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+aW9t
bXUsIGJ1cywgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBOVUxMLCBkb21haW4tPmRvbWFpbl9pZCwgcGdk
X21hZGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbW9kZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBOVUxMLCBERVZJQ0VfRE9NSUQoZG9tYWluLCBw
ZGV2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBnZF9tYWRkciwgbW9kZSk7CiAKICAgICAgICAgLyoKICAgICAg
ICAgICogRGV2aWNlcyBiZWhpbmQgUENJZS10by1QQ0kvUENJeCBicmlkZ2Ug
bWF5IGdlbmVyYXRlIGRpZmZlcmVudApAQCAtMTc1NSw4ICsxNzcxLDggQEAg
c3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAg
ICAgICBpZiAoICFyZXQgJiYgcGRldl90eXBlKHNlZywgYnVzLCBkZXZmbikg
PT0gREVWX1RZUEVfUENJZTJQQ0lfQlJJREdFICYmCiAgICAgICAgICAgICAg
KHNlY2J1cyAhPSBwZGV2LT5idXMgfHwgcGRldi0+ZGV2Zm4gIT0gMCkgKQog
ICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUo
ZG9tYWluLCBkcmhkLT5pb21tdSwgc2VjYnVzLCAwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgZG9tYWlu
LT5kb21haW5faWQsIHBnZF9tYWRkciwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgREVWSUNF
X0RPTUlEKGRvbWFpbiwgcGRldiksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwZ2RfbWFkZHIsIG1vZGUpOwogCiAg
ICAgICAgIGlmICggcmV0ICkKICAgICAgICAgewpAQCAtMTc5OCw5ICsxODE0
LDYgQEAgaW50IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZSgKICAgICBpbnQg
aW9tbXVfZG9taWQsIHJjLCByZXQ7CiAgICAgYm9vbF90IGZsdXNoX2Rldl9p
b3RsYjsKIAotICAgIGlmICggUVVBUkFOVElORV9TS0lQKGRvbWFpbiwgZG9t
X2lvbW11KGRvbWFpbiktPmFyY2gudnRkLnBnZF9tYWRkcikgKQotICAgICAg
ICByZXR1cm4gMDsKLQogICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsK
ICAgICBzcGluX2xvY2soJmlvbW11LT5sb2NrKTsKIApAQCAtMTkwMiw3ICsx
OTE1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAq
ZG9tYQogICAgICAgICAgICAgcHJpbnRrKFZURFBSRUZJWCAiJXBkOlBDSWU6
IHVubWFwICVwcFxuIiwKICAgICAgICAgICAgICAgICAgICBkb21haW4sICZQ
Q0lfU0JERjMoc2VnLCBidXMsIGRldmZuKSk7CiAgICAgICAgIHJldCA9IGRv
bWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCBidXMsIGRl
dmZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG9tYWluLT5kb21haW5faWQpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgREVWSUNFX0RPTUlEKGRvbWFpbiwgcGRldikpOwog
ICAgICAgICBpZiAoICFyZXQgJiYgZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYg
YXRzX2RldmljZShwZGV2LCBkcmhkKSA+IDAgKQogICAgICAgICAgICAgZGlz
YWJsZV9hdHNfZGV2aWNlKHBkZXYpOwogCkBAIC0xOTE2LDcgKzE5MjksNyBA
QCBzdGF0aWMgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkb21hCiAg
ICAgICAgICAgICBwcmludGsoVlREUFJFRklYICIlcGQ6UENJOiB1bm1hcCAl
cHBcbiIsCiAgICAgICAgICAgICAgICAgICAgZG9tYWluLCAmUENJX1NCREYz
KHNlZywgYnVzLCBkZXZmbikpOwogICAgICAgICByZXQgPSBkb21haW5fY29u
dGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgYnVzLCBkZXZmbiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+
ZG9tYWluX2lkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIERFVklDRV9ET01JRChkb21haW4sIHBkZXYpKTsKICAgICAgICAg
aWYgKCByZXQgKQogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTE5MzksMTgg
KzE5NTIsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5p
dCAqZG9tYQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAorICAg
ICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBp
b21tdSwgdG1wX2J1cywgdG1wX2RldmZuLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgREVWSUNFX0RPTUlEKGRvbWFpbiwgcGRl
dikpOwogICAgICAgICAvKiBQQ0llIHRvIFBDSS9QQ0l4IGJyaWRnZSAqLwot
ICAgICAgICBpZiAoIHBkZXZfdHlwZShzZWcsIHRtcF9idXMsIHRtcF9kZXZm
bikgPT0gREVWX1RZUEVfUENJZTJQQ0lfQlJJREdFICkKLSAgICAgICAgewot
ICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRv
bWFpbiwgaW9tbXUsIHRtcF9idXMsIHRtcF9kZXZmbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFp
bl9pZCk7Ci0gICAgICAgICAgICBpZiAoICFyZXQgKQotICAgICAgICAgICAg
ICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlv
bW11LCBzZWNidXMsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKLSAgICAg
ICAgfQotICAgICAgICBlbHNlIC8qIExlZ2FjeSBQQ0kgYnJpZGdlICovCi0g
ICAgICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9t
YWluLCBpb21tdSwgdG1wX2J1cywgdG1wX2RldmZuLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWlu
X2lkKTsKKyAgICAgICAgaWYgKCAhcmV0ICYmIHBkZXZfdHlwZShzZWcsIHRt
cF9idXMsIHRtcF9kZXZmbikgPT0gREVWX1RZUEVfUENJZTJQQ0lfQlJJREdF
ICkKKyAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29u
ZShkb21haW4sIGlvbW11LCBzZWNidXMsIDAsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX0RPTUlEKGRvbWFp
biwgcGRldikpOwogCiAgICAgICAgIGJyZWFrOwogCkBAIC0xOTYxLDcgKzE5
NjgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpk
b21hCiAgICAgfQogCiAgICAgaWYgKCAhcmV0ICYmIHBkZXYtPmRldmZuID09
IGRldmZuICYmCi0gICAgICAgICAhUVVBUkFOVElORV9TS0lQKGRvbWFpbiwg
ZG9tX2lvbW11KGRvbWFpbiktPmFyY2gudnRkLnBnZF9tYWRkcikgKQorICAg
ICAgICAgIVFVQVJBTlRJTkVfU0tJUChkb21haW4sIHBkZXYtPmFyY2gudnRk
LnBnZF9tYWRkcikgKQogICAgICAgICBjaGVja19jbGVhbnVwX2RvbWlkX21h
cChkb21haW4sIHBkZXYsIGlvbW11KTsKIAogICAgIHJldHVybiBkcmhkOwpA
QCAtMTk5NCw2ICsyMDAxLDI2IEBAIHN0YXRpYyB2b2lkIGlvbW11X2RvbWFp
bl90ZWFyZG93bihzdHJ1Y3QKICAgICBYRlJFRShoZC0+YXJjaC52dGQuaW9t
bXVfYml0bWFwKTsKIH0KIAorc3RhdGljIHZvaWQgcXVhcmFudGluZV90ZWFy
ZG93bihzdHJ1Y3QgcGNpX2RldiAqcGRldiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpk
cmhkKQoreworICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lv
bW11KGRvbV9pbyk7CisKKyAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7
CisKKyAgICBpZiAoICFwZGV2LT5hcmNoLnZ0ZC5wZ2RfbWFkZHIgKQorICAg
ICAgICByZXR1cm47CisKKyAgICBBU1NFUlQocGFnZV9saXN0X2VtcHR5KCZo
ZC0+YXJjaC5wZ3RhYmxlcy5saXN0KSk7CisgICAgcGFnZV9saXN0X21vdmUo
JmhkLT5hcmNoLnBndGFibGVzLmxpc3QsICZwZGV2LT5hcmNoLnBndGFibGVz
X2xpc3QpOworICAgIHdoaWxlICggaW9tbXVfZnJlZV9wZ3RhYmxlcyhkb21f
aW8pID09IC1FUkVTVEFSVCApCisgICAgICAgIC8qIG5vdGhpbmcgKi87Cisg
ICAgcGRldi0+YXJjaC52dGQucGdkX21hZGRyID0gMDsKKworICAgIGlmICgg
ZHJoZCApCisgICAgICAgIGNsZWFudXBfZG9taWRfbWFwKHBkZXYtPmFyY2gu
cHNldWRvX2RvbWlkLCBkcmhkLT5pb21tdSk7Cit9CisKIHN0YXRpYyBpbnQg
X19tdXN0X2NoZWNrIGludGVsX2lvbW11X21hcF9wYWdlKHN0cnVjdCBkb21h
aW4gKmQsIGRmbl90IGRmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1mbl90IG1mbiwgdW5zaWduZWQgaW50IGZs
YWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50ICpmbHVzaF9mbGFncykKQEAgLTIyMTgsNiAr
MjI0NSw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfcmVtb3ZlX2Rldmlj
ZSh1OAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJtcnItPmVu
ZF9hZGRyZXNzLCAwKTsKICAgICB9CiAKKyAgICBxdWFyYW50aW5lX3RlYXJk
b3duKHBkZXYsIGRyaGQpOworCiAgICAgaWYgKCBkcmhkICkKICAgICB7CiAg
ICAgICAgIGlvbW11X2ZyZWVfZG9taWQocGRldi0+YXJjaC5wc2V1ZG9fZG9t
aWQsCkBAIC0yNTc2LDcgKzI2MDUsNyBAQCBzdGF0aWMgaW50IHJlYXNzaWdu
X2RldmljZV9vd25lcnNoaXAoCiB7CiAgICAgaW50IHJldDsKIAotICAgIGlm
ICggIVFVQVJBTlRJTkVfU0tJUCh0YXJnZXQsIGRvbV9pb21tdSh0YXJnZXQp
LT5hcmNoLnZ0ZC5wZ2RfbWFkZHIpICkKKyAgICBpZiAoICFRVUFSQU5USU5F
X1NLSVAodGFyZ2V0LCBwZGV2LT5hcmNoLnZ0ZC5wZ2RfbWFkZHIpICkKICAg
ICB7CiAgICAgICAgIGlmICggIWhhc19hcmNoX3BkZXZzKHRhcmdldCkgKQog
ICAgICAgICAgICAgdm14X3BpX2hvb2tzX2Fzc2lnbih0YXJnZXQpOwpAQCAt
MjU5Miw3ICsyNjIxLDcgQEAgc3RhdGljIGludCByZWFzc2lnbl9kZXZpY2Vf
b3duZXJzaGlwKAogICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBw
aW5nKHRhcmdldCwgZGV2Zm4sIHBkZXYpOwogCiAgICAgICAgIGlmICggIXJl
dCAmJiBwZGV2LT5kZXZmbiA9PSBkZXZmbiAmJgotICAgICAgICAgICAgICFR
VUFSQU5USU5FX1NLSVAoc291cmNlLCBkb21faW9tbXUoc291cmNlKS0+YXJj
aC52dGQucGdkX21hZGRyKSApCisgICAgICAgICAgICAgIVFVQVJBTlRJTkVf
U0tJUChzb3VyY2UsIHBkZXYtPmFyY2gudnRkLnBnZF9tYWRkcikgKQogICAg
ICAgICB7CiAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3Vu
aXQgKmRyaGQgPSBhY3BpX2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7
CiAKQEAgLTI5MTMsNjkgKzI5NDIsMTM1IEBAIHN0YXRpYyB2b2lkIHZ0ZF9k
dW1wX3BhZ2VfdGFibGVzKHN0cnVjdAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWdhd190b19sZXZlbChoZC0+YXJjaC52dGQuYWdhdyksIDAs
IDApOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBpbnRlbF9pb21tdV9xdWFy
YW50aW5lX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKK3N0YXRpYyBpbnQgZmls
bF9xcHQoc3RydWN0IGRtYV9wdGUgKnRoaXMsIHVuc2lnbmVkIGludCBsZXZl
bCwKKyAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGdz
WzZdKQogewotICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lv
bW11KGQpOworICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lv
bW11KGRvbV9pbyk7CisgICAgdW5zaWduZWQgaW50IGk7CisgICAgaW50IHJj
ID0gMDsKKworICAgIGZvciAoIGkgPSAwOyAhcmMgJiYgaSA8IFBURV9OVU07
ICsraSApCisgICAgeworICAgICAgICBzdHJ1Y3QgZG1hX3B0ZSAqcHRlID0g
JnRoaXNbaV0sICpuZXh0OworCisgICAgICAgIGlmICggIWRtYV9wdGVfcHJl
c2VudCgqcHRlKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggIXBn
c1tsZXZlbF0gKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8q
CisgICAgICAgICAgICAgICAgICogVGhlIHBndGFibGUgYWxsb2NhdG9yIGlz
IGZpbmUgZm9yIHRoZSBsZWFmIHBhZ2UsIGFzIHdlbGwgYXMKKyAgICAgICAg
ICAgICAgICAgKiBwYWdlIHRhYmxlIHBhZ2VzLCBhbmQgdGhlIHJlc3VsdGlu
ZyBhbGxvY2F0aW9ucyBhcmUgYWx3YXlzCisgICAgICAgICAgICAgICAgICog
emVyb2VkLgorICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAg
IHBnc1tsZXZlbF0gPSBpb21tdV9hbGxvY19wZ3RhYmxlKGhkKTsKKyAgICAg
ICAgICAgICAgICBpZiAoICFwZ3NbbGV2ZWxdICkKKyAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgIHJjID0gLUVOT01FTTsKKyAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAgICAgaWYgKCBsZXZlbCApCisgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICBuZXh0ID0gbWFwX3Z0ZF9kb21haW5f
cGFnZShwYWdlX3RvX21hZGRyKHBnc1tsZXZlbF0pKTsKKyAgICAgICAgICAg
ICAgICAgICAgcmMgPSBmaWxsX3FwdChuZXh0LCBsZXZlbCAtIDEsIHBncyk7
CisgICAgICAgICAgICAgICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShu
ZXh0KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGRtYV9zZXRfcHRlX2FkZHIoKnB0ZSwgcGFnZV90b19tYWRk
cihwZ3NbbGV2ZWxdKSk7CisgICAgICAgICAgICBkbWFfc2V0X3B0ZV9yZWFk
YWJsZSgqcHRlKTsKKyAgICAgICAgICAgIGRtYV9zZXRfcHRlX3dyaXRhYmxl
KCpwdGUpOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKCBsZXZlbCAm
JiAhZG1hX3B0ZV9zdXBlcnBhZ2UoKnB0ZSkgKQorICAgICAgICB7CisgICAg
ICAgICAgICBuZXh0ID0gbWFwX3Z0ZF9kb21haW5fcGFnZShkbWFfcHRlX2Fk
ZHIoKnB0ZSkpOworICAgICAgICAgICAgcmMgPSBmaWxsX3FwdChuZXh0LCBs
ZXZlbCAtIDEsIHBncyk7CisgICAgICAgICAgICB1bm1hcF92dGRfZG9tYWlu
X3BhZ2UobmV4dCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4g
cmM7Cit9CisKK3N0YXRpYyBpbnQgaW50ZWxfaW9tbXVfcXVhcmFudGluZV9p
bml0KHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBib29sIHNjcmF0Y2hfcGFnZSkK
K3sKKyAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShk
b21faW8pOwogICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnOwotICAgIHN0cnVj
dCBkbWFfcHRlICpwYXJlbnQ7CiAgICAgdW5zaWduZWQgaW50IGFnYXcgPSB3
aWR0aF90b19hZ2F3KERFRkFVTFRfRE9NQUlOX0FERFJFU1NfV0lEVEgpOwog
ICAgIHVuc2lnbmVkIGludCBsZXZlbCA9IGFnYXdfdG9fbGV2ZWwoYWdhdyk7
Ci0gICAgaW50IHJjID0gMDsKKyAgICBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhk
X3VuaXQgKmRyaGQ7CisgICAgY29uc3Qgc3RydWN0IGFjcGlfcm1ycl91bml0
ICpybXJyOworICAgIHVuc2lnbmVkIGludCBpLCBiZGY7CisgICAgYm9vbCBy
bXJyX2ZvdW5kID0gZmFsc2U7CisgICAgaW50IHJjOwogCi0gICAgc3Bpbl9s
b2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOworICAgIEFTU0VSVChwY2lk
ZXZzX2xvY2tlZCgpKTsKKyAgICBBU1NFUlQoIWhkLT5hcmNoLnZ0ZC5wZ2Rf
bWFkZHIpOworICAgIEFTU0VSVChwYWdlX2xpc3RfZW1wdHkoJmhkLT5hcmNo
LnBndGFibGVzLmxpc3QpKTsKIAotICAgIGlmICggaGQtPmFyY2gudnRkLnBn
ZF9tYWRkciApCisgICAgaWYgKCBwZGV2LT5hcmNoLnZ0ZC5wZ2RfbWFkZHIg
KQogICAgIHsKLSAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7Ci0gICAg
ICAgIGdvdG8gb3V0OworICAgICAgICBjbGVhcl9kb21haW5fcGFnZShwZGV2
LT5hcmNoLmxlYWZfbWZuKTsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgfQog
Ci0gICAgcGcgPSBpb21tdV9hbGxvY19wZ3RhYmxlKGhkKTsKKyAgICBkcmhk
ID0gYWNwaV9maW5kX21hdGNoZWRfZHJoZF91bml0KHBkZXYpOworICAgIGlm
ICggIWRyaGQgKQorICAgICAgICByZXR1cm4gLUVOT0RFVjsKIAotICAgIHJj
ID0gLUVOT01FTTsKKyAgICBwZyA9IGlvbW11X2FsbG9jX3BndGFibGUoaGQp
OwogICAgIGlmICggIXBnICkKLSAgICAgICAgZ290byBvdXQ7CisgICAgICAg
IHJldHVybiAtRU5PTUVNOwogCisgICAgcmMgPSBjb250ZXh0X3NldF9kb21h
aW5faWQoTlVMTCwgcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQsIGRyaGQtPmlv
bW11KTsKKworICAgIC8qIFRyYW5zaWVudGx5IGluc3RhbGwgdGhlIHJvb3Qg
aW50byBEb21JTywgZm9yIGlvbW11X2lkZW50aXR5X21hcHBpbmcoKS4gKi8K
ICAgICBoZC0+YXJjaC52dGQucGdkX21hZGRyID0gcGFnZV90b19tYWRkcihw
Zyk7CiAKLSAgICBwYXJlbnQgPSBtYXBfdnRkX2RvbWFpbl9wYWdlKGhkLT5h
cmNoLnZ0ZC5wZ2RfbWFkZHIpOwotICAgIHdoaWxlICggbGV2ZWwgKQorICAg
IGZvcl9lYWNoX3JtcnJfZGV2aWNlICggcm1yciwgYmRmLCBpICkKICAgICB7
Ci0gICAgICAgIHVpbnQ2NF90IG1hZGRyOwotICAgICAgICB1bnNpZ25lZCBp
bnQgb2Zmc2V0OwotCi0gICAgICAgIC8qCi0gICAgICAgICAqIFRoZSBwZ3Rh
YmxlIGFsbG9jYXRvciBpcyBmaW5lIGZvciB0aGUgbGVhZiBwYWdlLCBhcyB3
ZWxsIGFzCi0gICAgICAgICAqIHBhZ2UgdGFibGUgcGFnZXMsIGFuZCB0aGUg
cmVzdWx0aW5nIGFsbG9jYXRpb25zIGFyZSBhbHdheXMKLSAgICAgICAgICog
emVyb2VkLgotICAgICAgICAgKi8KLSAgICAgICAgcGcgPSBpb21tdV9hbGxv
Y19wZ3RhYmxlKGhkKTsKLQotICAgICAgICBpZiAoICFwZyApCi0gICAgICAg
ICAgICBnb3RvIG91dDsKKyAgICAgICAgaWYgKCByYyApCisgICAgICAgICAg
ICBicmVhazsKIAotICAgICAgICBtYWRkciA9IHBhZ2VfdG9fbWFkZHIocGcp
OwotICAgICAgICBmb3IgKCBvZmZzZXQgPSAwOyBvZmZzZXQgPCBQVEVfTlVN
OyBvZmZzZXQrKyApCisgICAgICAgIGlmICggcm1yci0+c2VnbWVudCA9PSBw
ZGV2LT5zZWcgJiYgYmRmID09IHBkZXYtPnNiZGYuYmRmICkKICAgICAgICAg
ewotICAgICAgICAgICAgc3RydWN0IGRtYV9wdGUgKnB0ZSA9ICZwYXJlbnRb
b2Zmc2V0XTsKKyAgICAgICAgICAgIHJtcnJfZm91bmQgPSB0cnVlOwogCi0g
ICAgICAgICAgICBkbWFfc2V0X3B0ZV9hZGRyKCpwdGUsIG1hZGRyKTsKLSAg
ICAgICAgICAgIGRtYV9zZXRfcHRlX3JlYWRhYmxlKCpwdGUpOworICAgICAg
ICAgICAgcmMgPSBpb21tdV9pZGVudGl0eV9tYXBwaW5nKGRvbV9pbywgcDJt
X2FjY2Vzc19ydywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBybXJyLT5iYXNlX2FkZHJlc3MsIHJtcnItPmVuZF9hZGRyZXNz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAp
OworICAgICAgICAgICAgaWYgKCByYyApCisgICAgICAgICAgICAgICAgcHJp
bnRrKFhFTkxPR19FUlIgVlREUFJFRklYCisgICAgICAgICAgICAgICAgICAg
ICAgICIlcHA6IFJNUlIgcXVhcmFudGluZSBtYXBwaW5nIGZhaWxlZFxuIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgJnBkZXYtPnNiZGYpOwogICAgICAg
ICB9Ci0gICAgICAgIGlvbW11X3N5bmNfY2FjaGUocGFyZW50LCBQQUdFX1NJ
WkUpOworICAgIH0KIAotICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2Uo
cGFyZW50KTsKLSAgICAgICAgcGFyZW50ID0gbWFwX3Z0ZF9kb21haW5fcGFn
ZShtYWRkcik7Ci0gICAgICAgIGxldmVsLS07CisgICAgaW9tbXVfaWRlbnRp
dHlfbWFwX3RlYXJkb3duKGRvbV9pbyk7CisgICAgaGQtPmFyY2gudnRkLnBn
ZF9tYWRkciA9IDA7CisgICAgcGRldi0+YXJjaC52dGQucGdkX21hZGRyID0g
cGFnZV90b19tYWRkcihwZyk7CisKKyAgICBpZiAoICFyYyAmJiBzY3JhdGNo
X3BhZ2UgKQorICAgIHsKKyAgICAgICAgc3RydWN0IGRtYV9wdGUgKnJvb3Q7
CisgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnc1s2XSA9IHt9OworCisg
ICAgICAgIHNwaW5fbG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKKwor
ICAgICAgICByb290ID0gbWFwX3Z0ZF9kb21haW5fcGFnZShwZGV2LT5hcmNo
LnZ0ZC5wZ2RfbWFkZHIpOworICAgICAgICByYyA9IGZpbGxfcXB0KHJvb3Qs
IGxldmVsIC0gMSwgcGdzKTsKKyAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9w
YWdlKHJvb3QpOworCisgICAgICAgIHBkZXYtPmFyY2gubGVhZl9tZm4gPSBw
YWdlX3RvX21mbihwZ3NbMF0pOworCisgICAgICAgIHNwaW5fdW5sb2NrKCZo
ZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogICAgIH0KLSAgICB1bm1hcF92dGRf
ZG9tYWluX3BhZ2UocGFyZW50KTsKIAotICAgIHJjID0gMDsKKyAgICBwYWdl
X2xpc3RfbW92ZSgmcGRldi0+YXJjaC5wZ3RhYmxlc19saXN0LCAmaGQtPmFy
Y2gucGd0YWJsZXMubGlzdCk7CiAKLSBvdXQ6Ci0gICAgc3Bpbl91bmxvY2so
JmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CisgICAgaWYgKCByYyB8fCAoIXNj
cmF0Y2hfcGFnZSAmJiAhcm1ycl9mb3VuZCkgKQorICAgICAgICBxdWFyYW50
aW5lX3RlYXJkb3duKHBkZXYsIGRyaGQpOwogCi0gICAgLyogUGFnZXMgbWF5
IGJlIGxlYWtlZCBpbiBmYWlsdXJlIGNhc2UgKi8KICAgICByZXR1cm4gcmM7
CiB9CiAKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmgK
QEAgLTQ4Miw3ICs0ODIsNyBAQCBzdHJ1Y3QgdnRkX2lvbW11IHsKICAgICB1
MzIgbnJfcHRfbGV2ZWxzOwogICAgIHU2NAljYXA7CiAgICAgdTY0CWVjYXA7
Ci0gICAgc3BpbmxvY2tfdCBsb2NrOyAvKiBwcm90ZWN0IGNvbnRleHQsIGRv
bWFpbiBpZHMgKi8KKyAgICBzcGlubG9ja190IGxvY2s7IC8qIHByb3RlY3Qg
Y29udGV4dCAqLwogICAgIHNwaW5sb2NrX3QgcmVnaXN0ZXJfbG9jazsgLyog
cHJvdGVjdCBpb21tdSByZWdpc3RlciBoYW5kbGluZyAqLwogICAgIHU2NCBy
b290X21hZGRyOyAvKiByb290IGVudHJ5IG1hY2hpbmUgYWRkcmVzcyAqLwog
ICAgIG5vZGVpZF90IG5vZGU7Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21t
dS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCkBAIC0yMzMsNyAr
MjMzLDcgQEAgdHlwZWRlZiBpbnQgaW9tbXVfZ3JkbV90KHhlbl9wZm5fdCBz
dGFydAogc3RydWN0IGlvbW11X29wcyB7CiAgICAgaW50ICgqaW5pdCkoc3Ry
dWN0IGRvbWFpbiAqZCk7CiAgICAgdm9pZCAoKmh3ZG9tX2luaXQpKHN0cnVj
dCBkb21haW4gKmQpOwotICAgIGludCAoKnF1YXJhbnRpbmVfaW5pdCkoc3Ry
dWN0IGRvbWFpbiAqZCk7CisgICAgaW50ICgqcXVhcmFudGluZV9pbml0KShk
ZXZpY2VfdCAqZGV2LCBib29sIHNjcmF0Y2hfcGFnZSk7CiAgICAgaW50ICgq
YWRkX2RldmljZSkodTggZGV2Zm4sIGRldmljZV90ICpkZXYpOwogICAgIGlu
dCAoKmVuYWJsZV9kZXZpY2UpKGRldmljZV90ICpkZXYpOwogICAgIGludCAo
KnJlbW92ZV9kZXZpY2UpKHU4IGRldmZuLCBkZXZpY2VfdCAqZGV2KTsKQEAg
LTM1MCw2ICszNTAsNyBAQCBpbnQgX19tdXN0X2NoZWNrIGlvbW11X3N1c3Bl
bmQodm9pZCk7CiB2b2lkIGlvbW11X3Jlc3VtZSh2b2lkKTsKIHZvaWQgaW9t
bXVfY3Jhc2hfc2h1dGRvd24odm9pZCk7CiBpbnQgaW9tbXVfZ2V0X3Jlc2Vy
dmVkX2RldmljZV9tZW1vcnkoaW9tbXVfZ3JkbV90ICosIHZvaWQgKik7Citp
bnQgaW9tbXVfcXVhcmFudGluZV9kZXZfaW5pdChkZXZpY2VfdCAqZGV2KTsK
IAogI2lmZGVmIENPTkZJR19IQVNfUENJCiBpbnQgaW9tbXVfZG9fcGNpX2Rv
bWN0bChzdHJ1Y3QgeGVuX2RvbWN0bCAqLCBzdHJ1Y3QgZG9tYWluICpkLAo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBkcm9wIG93bmVyc2hpcCBjaGVja2luZyBmcm9tIGRvbWFpbl9j
b250ZXh0X21hcHBpbmdfb25lKCkKCkRlc3BpdGUgcHV0dGluZyBpbiBxdWl0
ZSBhIGJpdCBvZiBlZmZvcnQgaXQgd2FzIG5vdCBwb3NzaWJsZSB0bwplc3Rh
Ymxpc2ggd2h5IGV4YWN0bHkgdGhpcyBjb2RlIGV4aXN0cyAoYmV5b25kIHBv
c3NpYmx5IHNhbml0eQpjaGVja2luZykuIEluc3RlYWQgb2YgYSBzdWJzZXF1
ZW50IGNoYW5nZSBmdXJ0aGVyIGNvbXBsaWNhdGluZyB0aGlzCmxvZ2ljLCBz
aW1wbHkgZ2V0IHJpZCBvZiBpdC4KClRha2UgdGhlIG9wcG9ydHVuaXR5IGFu
ZCBtb3ZlIHRoZSByZXNwZWN0aXZlIHVubWFwX3Z0ZF9kb21haW5fcGFnZSgp
IG91dApvZiB0aGUgbG9ja2VkIHJlZ2lvbi4KClNpZ25lZC1vZmYtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJv
Z2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpSZXZpZXdl
ZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+ClJldmlld2VkLWJ5
OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KLS0tCnY0OiBO
ZXcuCgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUu
YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpA
QCAtMTQyLDI4ICsxNDIsNiBAQCBzdGF0aWMgaW50IGNvbnRleHRfc2V0X2Rv
bWFpbl9pZChzdHJ1Y3QKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGlu
dCBjb250ZXh0X2dldF9kb21haW5faWQoY29uc3Qgc3RydWN0IGNvbnRleHRf
ZW50cnkgKmNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkKLXsKLSAgICBp
bnQgZG9taWQgPSAtMTsKLQotICAgIGlmICggaW9tbXUgJiYgY29udGV4dCAp
Ci0gICAgewotICAgICAgICB1bnNpZ25lZCBpbnQgZG9tX2luZGV4ID0gY29u
dGV4dF9kb21haW5faWQoKmNvbnRleHQpOwotCi0gICAgICAgIGRvbWlkID0g
ZGlkX3RvX2RvbWFpbl9pZChpb21tdSwgZG9tX2luZGV4KTsKLSAgICAgICAg
aWYgKCBkb21pZCA9PSBET01JRF9JTlZBTElEICkKLSAgICAgICAgewotICAg
ICAgICAgICAgZHByaW50ayhYRU5MT0dfREVCVUcgVlREUFJFRklYLAotICAg
ICAgICAgICAgICAgICAgICAibm8gZG9taWQgZm9yIGRpZCAldSAobnJfZG9t
ICV1KVxuIiwKLSAgICAgICAgICAgICAgICAgICAgZG9tX2luZGV4LCBjYXBf
bmRvbXMoaW9tbXUtPmNhcCkpOwotICAgICAgICAgICAgZG9taWQgPSAtMTsK
LSAgICAgICAgfQotICAgIH0KLQotICAgIHJldHVybiBkb21pZDsKLX0KLQog
c3RhdGljIHZvaWQgY2xlYW51cF9kb21pZF9tYXAoc3RydWN0IGRvbWFpbiAq
ZG9tYWluLCBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkKIHsKICAgICBpbnQg
aW9tbXVfZG9taWQ7CkBAIC0xNDEwLDQ0ICsxMzg4LDkgQEAgaW50IGRvbWFp
bl9jb250ZXh0X21hcHBpbmdfb25lKAogCiAgICAgaWYgKCBjb250ZXh0X3By
ZXNlbnQoKmNvbnRleHQpICkKICAgICB7Ci0gICAgICAgIGludCByZXMgPSAw
OwotCi0gICAgICAgIC8qIFRyeSB0byBnZXQgZG9tYWluIG93bmVyc2hpcCBm
cm9tIGRldmljZSBzdHJ1Y3R1cmUuICBJZiB0aGF0J3MKLSAgICAgICAgICog
bm90IGF2YWlsYWJsZSwgdHJ5IHRvIHJlYWQgaXQgZnJvbSB0aGUgY29udGV4
dCBpdHNlbGYuICovCi0gICAgICAgIGlmICggcGRldiApCi0gICAgICAgIHsK
LSAgICAgICAgICAgIGlmICggcGRldi0+ZG9tYWluICE9IGRvbWFpbiApCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19H
X0lORk8gVlREUFJFRklYICIlcGQ6ICVwcCBvd25lZCBieSAlcGQiLAotICAg
ICAgICAgICAgICAgICAgICAgICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBi
dXMsIGRldmZuKSwKLSAgICAgICAgICAgICAgICAgICAgICAgcGRldi0+ZG9t
YWluKTsKLSAgICAgICAgICAgICAgICByZXMgPSAtRUlOVkFMOwotICAgICAg
ICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgewot
ICAgICAgICAgICAgaW50IGNkb21haW47Ci0gICAgICAgICAgICBjZG9tYWlu
ID0gY29udGV4dF9nZXRfZG9tYWluX2lkKGNvbnRleHQsIGlvbW11KTsKLSAg
ICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCBjZG9tYWluIDwgMCApCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19H
X1dBUk5JTkcgVlREUFJFRklYCi0gICAgICAgICAgICAgICAgICAgICAgICIl
cGQ6ICVwcCBtYXBwZWQsIGJ1dCBjYW4ndCBmaW5kIG93bmVyXG4iLAotICAg
ICAgICAgICAgICAgICAgICAgICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBi
dXMsIGRldmZuKSk7Ci0gICAgICAgICAgICAgICAgcmVzID0gLUVJTlZBTDsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgaWYgKCBjZG9tYWlu
ICE9IGRvbWFpbi0+ZG9tYWluX2lkICkKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfSU5GTyBWVERQUkVGSVgKLSAg
ICAgICAgICAgICAgICAgICAgICAgIiVwZDogJXBwIGFscmVhZHkgbWFwcGVk
IHRvIGQlZCIsCi0gICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbiwgJlBD
SV9TQkRGMyhzZWcsIGJ1cywgZGV2Zm4pLCBjZG9tYWluKTsKLSAgICAgICAg
ICAgICAgICByZXMgPSAtRUlOVkFMOwotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0KLSAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRleHRf
ZW50cmllcyk7CiAgICAgICAgIHNwaW5fdW5sb2NrKCZpb21tdS0+bG9jayk7
Ci0gICAgICAgIHJldHVybiByZXM7CisgICAgICAgIHVubWFwX3Z0ZF9kb21h
aW5fcGFnZShjb250ZXh0X2VudHJpZXMpOworICAgICAgICByZXR1cm4gMDsK
ICAgICB9CiAKICAgICBpZiAoIGlvbW11X2h3ZG9tX3Bhc3N0aHJvdWdoICYm
IGlzX2hhcmR3YXJlX2RvbWFpbihkb21haW4pICkK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiByZS1hc3NpZ24gZGV2aWNlcyBkaXJlY3RseQoKRGV2aWNlcyB3
aXRoIFJNUlJzLCBkdWUgdG8gaXQgYmVpbmcgdW5zcGVjaWZpZWQgaG93L3do
ZW4gdGhlIHNwZWNpZmllZAptZW1vcnkgcmVnaW9ucyBtYXkgZ2V0IGFjY2Vz
c2VkLCBtYXkgbm90IGJlIGxlZnQgZGlzY29ubmVjdGVkIGZyb20gdGhlaXIK
cmVzcGVjdGl2ZSBtYXBwaW5ncyAoYXMgbG9uZyBhcyBpdCdzIG5vdCBjZXJ0
YWluIHRoYXQgdGhlIGRldmljZSBoYXMKYmVlbiBmdWxseSBxdWllc2NlZCku
IEhlbmNlIHJhdGhlciB0aGFuIHVubWFwcGluZyB0aGUgb2xkIGNvbnRleHQg
YW5kCnRoZW4gbWFwcGluZyB0aGUgbmV3IG9uZSwgcmUtYXNzaWdubWVudCBu
ZWVkcyB0byBiZSBkb25lIGluIGEgc2luZ2xlCnN0ZXAuCgpUaGlzIGlzIENW
RS0yMDIyLTI2MzU5IC8gcGFydCBvZiBYU0EtNDAwLgoKUmVwb3J0ZWQtYnk6
IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKU2lt
aWxhcmx5IHF1YXJhbnRpbmluZyBzY3JhdGNoLXBhZ2UgbW9kZSByZWxpZXMg
b24gcGFnZSB0YWJsZXMgdG8gYmUKY29udGludW91c2x5IHdpcmVkIHVwLgoK
VG8gYXZvaWQgY29tcGxpY2F0aW5nIHRoaW5ncyBtb3JlIHRoYW4gbmVjZXNz
YXJ5LCB0cmVhdCBhbGwgZGV2aWNlcwptb3N0bHkgZXF1YWxseSwgaS5lLiBy
ZWdhcmRsZXNzIG9mIHRoZWlyIGFzc29jaWF0aW9uIHdpdGggYW55IFJNUlJz
LiBUaGUKbWFpbiBkaWZmZXJlbmNlIGlzIHdoZW4gaXQgY29tZXMgdG8gdXBk
YXRpbmcgY29udGV4dCBlbnRyaWVzLCB3aGljaCBuZWVkCnRvIGJlIGF0b21p
YyB3aGVuIHRoZXJlIGFyZSBSTVJScy4gWWV0IGF0b21pY2l0eSBjYW4gb25s
eSBiZSBhY2hpZXZlZAp3aXRoIENNUFhDSEcxNkIsIGF2YWlsYWJpbGl0eSBv
ZiB3aGljaCB3ZSBjYW4ndCB0YWtlIGZvciBnaXZlbi4KClRoZSBzZWVtaW5n
bHkgY29tcGxpY2F0ZWQgY2hvaWNlIG9mIG5vbi1uZWdhdGl2ZSByZXR1cm4g
dmFsdWVzIGZvcgpkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgpIGlzIHRv
IGxpbWl0IGNvZGUgY2h1cm46IFRoaXMgd2F5IGNhbGxlcnMKcGFzc2luZyBO
VUxMIGZvciBwZGV2IGRvbid0IG5lZWQgZmlkZGxpbmcgd2l0aC4KClNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2
aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpS
ZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJp
eC5jb20+Ci0tLQp2NzogUmUtYmFzZS4KdjY6IEFsc28gaW5jbHVkZSBkZXZp
Y2VzIHdpdGggcGhhbnRvbSBmdW5jdGlvbnMgaW4gdGhlIG5vdC1zaW5nbGUt
ZGV2aWNlCiAgICBjaGVjay4gU2hvcnRlbiBCREYgY29tcGFyaXNvbiBpbiBk
b21haW5fY29udGV4dF9tYXBwaW5nKCkuCnY1OiBSZWZ1c2UgcmUtYXNzaWdu
bWVudCBvZiBQQ0kgZGV2aWNlcyBiZWhpbmQgYSBicmlkZ2UgYW5kIHdpdGgg
Uk1SUi4KICAgIFNocmluayBhZGp1c3RtZW50IHRvIGNvbnRleHRfc2V0X2Rv
bWFpbl9pZCgpLiBTa2lwIGFjdHVhbCB3cml0ZSBpbgogICAgZG9tYWluX2Nv
bnRleHRfbWFwcGluZ19vbmUoKSBmb3IgInNhbWUgZG9tYWluIiBjYXNlLiBD
b252ZXJ0CiAgICBhc3NlcnRpbmcgb2YgQ1gxNiBzdWNjZXNzIHRvIGVycm9y
IHJldHVybi4gUHJlZmVyCiAgICBhbnlfcGRldl9iZWhpbmRfaW9tbXUoKSBv
dmVyIGxpc3Rfe2ZpcnN0LGxhc3R9X2VudHJ5X29yX251bGwoKS4KICAgIFJl
ZmluZSB3YXJuaW5nIG1lc3NhZ2UgdGV4dCBhbmQgdXNlIFBDSV9TQkRGMygp
IHRoZXJlLiBVc2UgY29ycmVjdAogICAgZG9tYWluIHRvIGRlY2lkZSB3aGV0
aGVyIHRvIHdhcm4uIE1vdmUgI2RlZmluZS1zIHRvIHZ0ZC5oLgp2NDogVXNl
IGF0b21pYyBjb250ZXh0IGVudHJ5IHVwZGF0ZXMgd2hlbiBwb3NzaWJsZS4g
UmUtYmFzZSBvdmVyIG5ldwogICAgZWFybGllciBwYXRjaC4KdjM6IFVubWFw
IG9uIGVycm9yIHdoZW4gdGhlIGRldmljZSB3YXMgcHJldmlvdXNseSB1bm1h
cHBlZC4KdjI6IE5ldy4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo
L3Z0ZC9leHRlcm4uaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92
dGQvZXh0ZXJuLmgKQEAgLTgxLDcgKzgxLDggQEAgdm9pZCBmcmVlX3BndGFi
bGVfbWFkZHIodTY0IG1hZGRyKTsKIHZvaWQgKm1hcF92dGRfZG9tYWluX3Bh
Z2UodTY0IG1hZGRyKTsKIHZvaWQgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNv
bnN0IHZvaWQgKnZhKTsKIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29u
ZShzdHJ1Y3QgZG9tYWluICpkb21haW4sIHN0cnVjdCB2dGRfaW9tbXUgKmlv
bW11LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGJ1cywg
dTggZGV2Zm4sIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICopOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgYnVzLCB1aW50OF90IGRl
dmZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBwY2lfZGV2ICpwZGV2LCB1bnNpZ25lZCBpbnQgbW9kZSk7CiBpbnQg
ZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKHN0cnVjdCBkb21haW4gKmRvbWFp
biwgc3RydWN0IHZ0ZF9pb21tdSAqaW9tbXUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHU4IGJ1cywgdTggZGV2Zm4pOwogaW50IGNmX2NoZWNr
IGludGVsX2lvbW11X2dldF9yZXNlcnZlZF9kZXZpY2VfbWVtb3J5KApAQCAt
MTAzLDggKzEwNCw4IEBAIGJvb2wgaXNfYXphbGlhX3RsYl9lbmFibGVkKGNv
bnN0IHN0cnVjdAogdm9pZCBwbGF0Zm9ybV9xdWlya3NfaW5pdCh2b2lkKTsK
IHZvaWQgdnRkX29wc19wcmVhbWJsZV9xdWlyayhzdHJ1Y3QgdnRkX2lvbW11
ICppb21tdSk7CiB2b2lkIHZ0ZF9vcHNfcG9zdGFtYmxlX3F1aXJrKHN0cnVj
dCB2dGRfaW9tbXUgKmlvbW11KTsKLWludCBfX211c3RfY2hlY2sgbWVfd2lm
aV9xdWlyayhzdHJ1Y3QgZG9tYWluICpkb21haW4sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdTggYnVzLCB1OCBkZXZmbiwgaW50IG1hcCk7
CitpbnQgX19tdXN0X2NoZWNrIG1lX3dpZmlfcXVpcmsoc3RydWN0IGRvbWFp
biAqZG9tYWluLCB1aW50OF90IGJ1cywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1aW50OF90IGRldmZuLCB1bnNpZ25lZCBpbnQgbW9kZSk7
CiB2b2lkIHBjaV92dGRfcXVpcmsoY29uc3Qgc3RydWN0IHBjaV9kZXYgKik7
CiB2b2lkIHF1aXJrX2lvbW11X2NhcHMoc3RydWN0IHZ0ZF9pb21tdSAqaW9t
bXUpOwogCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21t
dS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5j
CkBAIC0xMzgsNiArMTM4LDcgQEAgc3RhdGljIGludCBjb250ZXh0X3NldF9k
b21haW5faWQoc3RydWN0CiAgICAgZWxzZQogICAgICAgICBpID0gY29udmVy
dF9kb21pZChpb21tdSwgZC0+ZG9tYWluX2lkKTsKIAorICAgIGNvbnRleHQt
PmhpICY9IH4oKCgxIDw8IERJRF9GSUVMRF9XSURUSCkgLSAxKSA8PCBESURf
SElHSF9PRkZTRVQpOwogICAgIGNvbnRleHQtPmhpIHw9IChpICYgKCgxIDw8
IERJRF9GSUVMRF9XSURUSCkgLSAxKSkgPDwgRElEX0hJR0hfT0ZGU0VUOwog
ICAgIHJldHVybiAwOwogfQpAQCAtMTM2NSwxNSArMTM2NiwyNyBAQCBzdGF0
aWMgdm9pZCBfX2h3ZG9tX2luaXQgY2ZfY2hlY2sgaW50ZWxfCiAgICAgfQog
fQogCisvKgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5zCisgKiAtIGEgbmVn
YXRpdmUgZXJybm8gdmFsdWUgdXBvbiBlcnJvciwKKyAqIC0gemVybyB1cG9u
IHN1Y2Nlc3Mgd2hlbiBwcmV2aW91c2x5IHRoZSBlbnRyeSB3YXMgbm9uLXBy
ZXNlbnQsIG9yIHRoaXMgaXNuJ3QKKyAqICAgdGhlICJtYWluIiByZXF1ZXN0
IGZvciBhIGRldmljZSAocGRldiA9PSBOVUxMKSwgb3IgZm9yIG5vLW9wIHF1
YXJhbnRpbmluZworICogICBhc3NpZ25tZW50cywKKyAqIC0gcG9zaXRpdmUg
KG9uZSkgdXBvbiBzdWNjZXNzIHdoZW4gcHJldmlvdXNseSB0aGUgZW50cnkg
d2FzIHByZXNlbnQgYW5kIHRoaXMKKyAqICAgaXMgdGhlICJtYWluIiByZXF1
ZXN0IGZvciBhIGRldmljZSAocGRldiAhPSBOVUxMKS4KKyAqLwogaW50IGRv
bWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgIHN0cnVjdCBkb21haW4g
KmRvbWFpbiwKICAgICBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSwKLSAgICB1
OCBidXMsIHU4IGRldmZuLCBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRldikK
KyAgICB1aW50OF90IGJ1cywgdWludDhfdCBkZXZmbiwgY29uc3Qgc3RydWN0
IHBjaV9kZXYgKnBkZXYsCisgICAgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAg
ICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZG9tYWlu
KTsKLSAgICBzdHJ1Y3QgY29udGV4dF9lbnRyeSAqY29udGV4dCwgKmNvbnRl
eHRfZW50cmllczsKKyAgICBzdHJ1Y3QgY29udGV4dF9lbnRyeSAqY29udGV4
dCwgKmNvbnRleHRfZW50cmllcywgbGN0eHQ7CisgICAgX191aW50MTI4X3Qg
b2xkOwogICAgIHU2NCBtYWRkciwgcGdkX21hZGRyOwotICAgIHUxNiBzZWcg
PSBpb21tdS0+ZHJoZC0+c2VnbWVudDsKKyAgICB1aW50MTZfdCBzZWcgPSBp
b21tdS0+ZHJoZC0+c2VnbWVudCwgcHJldl9kaWQgPSAwOworICAgIHN0cnVj
dCBkb21haW4gKnByZXZfZG9tID0gTlVMTDsKICAgICBpbnQgcmMsIHJldDsK
ICAgICBib29sX3QgZmx1c2hfZGV2X2lvdGxiOwogCkBAIC0xMzg1LDE3ICsx
Mzk4LDMyIEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAg
ICBtYWRkciA9IGJ1c190b19jb250ZXh0X21hZGRyKGlvbW11LCBidXMpOwog
ICAgIGNvbnRleHRfZW50cmllcyA9IChzdHJ1Y3QgY29udGV4dF9lbnRyeSAq
KW1hcF92dGRfZG9tYWluX3BhZ2UobWFkZHIpOwogICAgIGNvbnRleHQgPSAm
Y29udGV4dF9lbnRyaWVzW2RldmZuXTsKKyAgICBvbGQgPSAobGN0eHQgPSAq
Y29udGV4dCkuZnVsbDsKIAotICAgIGlmICggY29udGV4dF9wcmVzZW50KCpj
b250ZXh0KSApCisgICAgaWYgKCBjb250ZXh0X3ByZXNlbnQobGN0eHQpICkK
ICAgICB7Ci0gICAgICAgIHNwaW5fdW5sb2NrKCZpb21tdS0+bG9jayk7Ci0g
ICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShjb250ZXh0X2VudHJpZXMp
OwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgZG9taWRfdCBkb21pZDsK
KworICAgICAgICBwcmV2X2RpZCA9IGNvbnRleHRfZG9tYWluX2lkKGxjdHh0
KTsKKyAgICAgICAgZG9taWQgPSBkaWRfdG9fZG9tYWluX2lkKGlvbW11LCBw
cmV2X2RpZCk7CisgICAgICAgIGlmICggZG9taWQgPCBET01JRF9GSVJTVF9S
RVNFUlZFRCApCisgICAgICAgICAgICBwcmV2X2RvbSA9IHJjdV9sb2NrX2Rv
bWFpbl9ieV9pZChkb21pZCk7CisgICAgICAgIGVsc2UgaWYgKCBkb21pZCA9
PSBET01JRF9JTyApCisgICAgICAgICAgICBwcmV2X2RvbSA9IHJjdV9sb2Nr
X2RvbWFpbihkb21faW8pOworICAgICAgICBpZiAoICFwcmV2X2RvbSApCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHNwaW5fdW5sb2NrKCZpb21tdS0+bG9j
ayk7CisgICAgICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoY29udGV4
dF9lbnRyaWVzKTsKKyAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0RFQlVH
IFZURFBSRUZJWCwKKyAgICAgICAgICAgICAgICAgICAgIm5vIGRvbWFpbiBm
b3IgZGlkICV1IChucl9kb20gJXUpXG4iLAorICAgICAgICAgICAgICAgICAg
ICBwcmV2X2RpZCwgY2FwX25kb21zKGlvbW11LT5jYXApKTsKKyAgICAgICAg
ICAgIHJldHVybiAtRVNSQ0g7CisgICAgICAgIH0KICAgICB9CiAKICAgICBp
ZiAoIGlvbW11X2h3ZG9tX3Bhc3N0aHJvdWdoICYmIGlzX2hhcmR3YXJlX2Rv
bWFpbihkb21haW4pICkKICAgICB7Ci0gICAgICAgIGNvbnRleHRfc2V0X3Ry
YW5zbGF0aW9uX3R5cGUoKmNvbnRleHQsIENPTlRFWFRfVFRfUEFTU19USFJV
KTsKKyAgICAgICAgY29udGV4dF9zZXRfdHJhbnNsYXRpb25fdHlwZShsY3R4
dCwgQ09OVEVYVF9UVF9QQVNTX1RIUlUpOwogICAgIH0KICAgICBlbHNlCiAg
ICAgewpAQCAtMTQwNywzNyArMTQzNSwxMDggQEAgaW50IGRvbWFpbl9jb250
ZXh0X21hcHBpbmdfb25lKAogICAgICAgICAgICAgc3Bpbl91bmxvY2soJmhk
LT5hcmNoLm1hcHBpbmdfbG9jayk7CiAgICAgICAgICAgICBzcGluX3VubG9j
aygmaW9tbXUtPmxvY2spOwogICAgICAgICAgICAgdW5tYXBfdnRkX2RvbWFp
bl9wYWdlKGNvbnRleHRfZW50cmllcyk7CisgICAgICAgICAgICBpZiAoIHBy
ZXZfZG9tICkKKyAgICAgICAgICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihw
cmV2X2RvbSk7CiAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKICAgICAg
ICAgfQogCi0gICAgICAgIGNvbnRleHRfc2V0X2FkZHJlc3Nfcm9vdCgqY29u
dGV4dCwgcGdkX21hZGRyKTsKKyAgICAgICAgY29udGV4dF9zZXRfYWRkcmVz
c19yb290KGxjdHh0LCBwZ2RfbWFkZHIpOwogICAgICAgICBpZiAoIGF0c19l
bmFibGVkICYmIGVjYXBfZGV2X2lvdGxiKGlvbW11LT5lY2FwKSApCi0gICAg
ICAgICAgICBjb250ZXh0X3NldF90cmFuc2xhdGlvbl90eXBlKCpjb250ZXh0
LCBDT05URVhUX1RUX0RFVl9JT1RMQik7CisgICAgICAgICAgICBjb250ZXh0
X3NldF90cmFuc2xhdGlvbl90eXBlKGxjdHh0LCBDT05URVhUX1RUX0RFVl9J
T1RMQik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGNvbnRleHRfc2V0
X3RyYW5zbGF0aW9uX3R5cGUoKmNvbnRleHQsIENPTlRFWFRfVFRfTVVMVElf
TEVWRUwpOworICAgICAgICAgICAgY29udGV4dF9zZXRfdHJhbnNsYXRpb25f
dHlwZShsY3R4dCwgQ09OVEVYVF9UVF9NVUxUSV9MRVZFTCk7CiAKICAgICAg
ICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CiAgICAg
fQogCi0gICAgcmMgPSBjb250ZXh0X3NldF9kb21haW5faWQoY29udGV4dCwg
ZG9tYWluLCBpb21tdSk7CisgICAgcmMgPSBjb250ZXh0X3NldF9kb21haW5f
aWQoJmxjdHh0LCBkb21haW4sIGlvbW11KTsKICAgICBpZiAoIHJjICkKICAg
ICB7CisgICAgdW5sb2NrOgogICAgICAgICBzcGluX3VubG9jaygmaW9tbXUt
PmxvY2spOwogICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoY29udGV4
dF9lbnRyaWVzKTsKKyAgICAgICAgaWYgKCBwcmV2X2RvbSApCisgICAgICAg
ICAgICByY3VfdW5sb2NrX2RvbWFpbihwcmV2X2RvbSk7CiAgICAgICAgIHJl
dHVybiByYzsKICAgICB9CiAKLSAgICBjb250ZXh0X3NldF9hZGRyZXNzX3dp
ZHRoKCpjb250ZXh0LCBsZXZlbF90b19hZ2F3KGlvbW11LT5ucl9wdF9sZXZl
bHMpKTsKLSAgICBjb250ZXh0X3NldF9mYXVsdF9lbmFibGUoKmNvbnRleHQp
OwotICAgIGNvbnRleHRfc2V0X3ByZXNlbnQoKmNvbnRleHQpOworICAgIGlm
ICggIXByZXZfZG9tICkKKyAgICB7CisgICAgICAgIGNvbnRleHRfc2V0X2Fk
ZHJlc3Nfd2lkdGgobGN0eHQsIGxldmVsX3RvX2FnYXcoaW9tbXUtPm5yX3B0
X2xldmVscykpOworICAgICAgICBjb250ZXh0X3NldF9mYXVsdF9lbmFibGUo
bGN0eHQpOworICAgICAgICBjb250ZXh0X3NldF9wcmVzZW50KGxjdHh0KTsK
KyAgICB9CisgICAgZWxzZSBpZiAoIHByZXZfZG9tID09IGRvbWFpbiApCisg
ICAgeworICAgICAgICBBU1NFUlQobGN0eHQuZnVsbCA9PSBjb250ZXh0LT5m
dWxsKTsKKyAgICAgICAgcmMgPSAhIXBkZXY7CisgICAgICAgIGdvdG8gdW5s
b2NrOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBBU1NFUlQo
Y29udGV4dF9hZGRyZXNzX3dpZHRoKGxjdHh0KSA9PQorICAgICAgICAgICAg
ICAgbGV2ZWxfdG9fYWdhdyhpb21tdS0+bnJfcHRfbGV2ZWxzKSk7CisgICAg
ICAgIEFTU0VSVCghY29udGV4dF9mYXVsdF9kaXNhYmxlKGxjdHh0KSk7Cisg
ICAgfQorCisgICAgaWYgKCBjcHVfaGFzX2N4MTYgKQorICAgIHsKKyAgICAg
ICAgX191aW50MTI4X3QgcmVzID0gY21weGNoZzE2Yihjb250ZXh0LCAmb2xk
LCAmbGN0eHQuZnVsbCk7CisKKyAgICAgICAgLyoKKyAgICAgICAgICogSGFy
ZHdhcmUgZG9lcyBub3QgdXBkYXRlIHRoZSBjb250ZXh0IGVudHJ5IGJlaGlu
ZCBvdXIgYmFja3MsCisgICAgICAgICAqIHNvIHRoZSByZXR1cm4gdmFsdWUg
c2hvdWxkIG1hdGNoICJvbGQiLgorICAgICAgICAgKi8KKyAgICAgICAgaWYg
KCByZXMgIT0gb2xkICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCBw
ZGV2ICkKKyAgICAgICAgICAgICAgICBjaGVja19jbGVhbnVwX2RvbWlkX21h
cChkb21haW4sIHBkZXYsIGlvbW11KTsKKyAgICAgICAgICAgIHByaW50ayhY
RU5MT0dfRVJSCisgICAgICAgICAgICAgICAgICAgIiVwcDogdW5leHBlY3Rl
ZCBjb250ZXh0IGVudHJ5ICUwMTZseF8lMDE2bHggKGV4cGVjdGVkICUwMTZs
eF8lMDE2bHgpXG4iLAorICAgICAgICAgICAgICAgICAgICZQQ0lfU0JERjMo
cGRldi0+c2VnLCBwZGV2LT5idXMsIGRldmZuKSwKKyAgICAgICAgICAgICAg
ICAgICAodWludDY0X3QpKHJlcyA+PiA2NCksICh1aW50NjRfdClyZXMsCisg
ICAgICAgICAgICAgICAgICAgKHVpbnQ2NF90KShvbGQgPj4gNjQpLCAodWlu
dDY0X3Qpb2xkKTsKKyAgICAgICAgICAgIHJjID0gLUVJTFNFUTsKKyAgICAg
ICAgICAgIGdvdG8gdW5sb2NrOworICAgICAgICB9CisgICAgfQorICAgIGVs
c2UgaWYgKCAhcHJldl9kb20gfHwgIShtb2RlICYgTUFQX1dJVEhfUk1SUikg
KQorICAgIHsKKyAgICAgICAgY29udGV4dF9jbGVhcl9wcmVzZW50KCpjb250
ZXh0KTsKKyAgICAgICAgaW9tbXVfc3luY19jYWNoZShjb250ZXh0LCBzaXpl
b2YoKmNvbnRleHQpKTsKKworICAgICAgICB3cml0ZV9hdG9taWMoJmNvbnRl
eHQtPmhpLCBsY3R4dC5oaSk7CisgICAgICAgIC8qIE5vIGJhcnJpZXIgc2hv
dWxkIGJlIG5lZWRlZCBiZXR3ZWVuIHRoZXNlIHR3by4gKi8KKyAgICAgICAg
d3JpdGVfYXRvbWljKCZjb250ZXh0LT5sbywgbGN0eHQubG8pOworICAgIH0K
KyAgICBlbHNlIC8qIEJlc3QgZWZmb3J0LCB1cGRhdGluZyBESUQgbGFzdC4g
Ki8KKyAgICB7CisgICAgICAgICAvKgorICAgICAgICAgICogQnkgbm9uLWF0
b21pY2FsbHkgdXBkYXRpbmcgdGhlIGNvbnRleHQgZW50cnkncyBESUQgZmll
bGQgbGFzdCwKKyAgICAgICAgICAqIGR1cmluZyBhIHNob3J0IHdpbmRvdyBp
biB0aW1lIFRMQiBlbnRyaWVzIHdpdGggdGhlIG9sZCBkb21haW4gSUQKKyAg
ICAgICAgICAqIGJ1dCB0aGUgbmV3IHBhZ2UgdGFibGVzIG1heSBiZSBpbnNl
cnRlZC4gIFRoaXMgY291bGQgYWZmZWN0IEkvTworICAgICAgICAgICogb2Yg
b3RoZXIgZGV2aWNlcyB1c2luZyB0aGlzIHNhbWUgKG9sZCkgZG9tYWluIElE
LiAgU3VjaCB1cGRhdGluZworICAgICAgICAgICogdGhlcmVmb3JlIGlzIG5v
dCBhIHByb2JsZW0gaWYgdGhpcyB3YXMgdGhlIG9ubHkgZGV2aWNlIGFzc29j
aWF0ZWQKKyAgICAgICAgICAqIHdpdGggdGhlIG9sZCBkb21haW4gSUQuICBE
aXZlcnRpbmcgSS9PIG9mIGFueSBvZiBhIGR5aW5nIGRvbWFpbidzCisgICAg
ICAgICAgKiBkZXZpY2VzIHRvIHRoZSBxdWFyYW50aW5lIHBhZ2UgdGFibGVz
IGlzIGludGVuZGVkIGFueXdheS4KKyAgICAgICAgICAqLworICAgICAgICBp
ZiAoICEobW9kZSAmIChNQVBfT1dORVJfRFlJTkcgfCBNQVBfU0lOR0xFX0RF
VklDRSkpICkKKyAgICAgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyBW
VERQUkVGSVgKKyAgICAgICAgICAgICAgICAgICAiICVwcDogcmVhc3NpZ25t
ZW50IG1heSBjYXVzZSAlcGQgZGF0YSBjb3JydXB0aW9uXG4iLAorICAgICAg
ICAgICAgICAgICAgICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZuKSwgcHJl
dl9kb20pOworCisgICAgICAgIHdyaXRlX2F0b21pYygmY29udGV4dC0+bG8s
IGxjdHh0LmxvKTsKKyAgICAgICAgLyogTm8gYmFycmllciBzaG91bGQgYmUg
bmVlZGVkIGJldHdlZW4gdGhlc2UgdHdvLiAqLworICAgICAgICB3cml0ZV9h
dG9taWMoJmNvbnRleHQtPmhpLCBsY3R4dC5oaSk7CisgICAgfQorCiAgICAg
aW9tbXVfc3luY19jYWNoZShjb250ZXh0LCBzaXplb2Yoc3RydWN0IGNvbnRl
eHRfZW50cnkpKTsKICAgICBzcGluX3VubG9jaygmaW9tbXUtPmxvY2spOwog
Ci0gICAgLyogQ29udGV4dCBlbnRyeSB3YXMgcHJldmlvdXNseSBub24tcHJl
c2VudCAod2l0aCBkb21pZCAwKS4gKi8KLSAgICByYyA9IGlvbW11X2ZsdXNo
X2NvbnRleHRfZGV2aWNlKGlvbW11LCAwLCBQQ0lfQkRGMihidXMsIGRldmZu
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9D
Q01EX01BU0tfTk9CSVQsIDEpOworICAgIHJjID0gaW9tbXVfZmx1c2hfY29u
dGV4dF9kZXZpY2UoaW9tbXUsIHByZXZfZGlkLCBQQ0lfQkRGMihidXMsIGRl
dmZuKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERN
QV9DQ01EX01BU0tfTk9CSVQsICFwcmV2X2RvbSk7CiAgICAgZmx1c2hfZGV2
X2lvdGxiID0gISFmaW5kX2F0c19kZXZfZHJoZChpb21tdSk7Ci0gICAgcmV0
ID0gaW9tbXVfZmx1c2hfaW90bGJfZHNpKGlvbW11LCAwLCAxLCBmbHVzaF9k
ZXZfaW90bGIpOworICAgIHJldCA9IGlvbW11X2ZsdXNoX2lvdGxiX2RzaShp
b21tdSwgcHJldl9kaWQsICFwcmV2X2RvbSwgZmx1c2hfZGV2X2lvdGxiKTsK
IAogICAgIC8qCiAgICAgICogVGhlIGN1cnJlbnQgbG9naWMgZm9yIHJldHVy
bnM6CkBAIC0xNDU4LDE3ICsxNTU3LDI2IEBAIGludCBkb21haW5fY29udGV4
dF9tYXBwaW5nX29uZSgKICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UoY29u
dGV4dF9lbnRyaWVzKTsKIAogICAgIGlmICggIXNlZyAmJiAhcmMgKQotICAg
ICAgICByYyA9IG1lX3dpZmlfcXVpcmsoZG9tYWluLCBidXMsIGRldmZuLCBN
QVBfTUVfUEhBTlRPTV9GVU5DKTsKKyAgICAgICAgcmMgPSBtZV93aWZpX3F1
aXJrKGRvbWFpbiwgYnVzLCBkZXZmbiwgbW9kZSk7CiAKICAgICBpZiAoIHJj
ICkKICAgICB7Ci0gICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFw
X29uZShkb21haW4sIGlvbW11LCBidXMsIGRldmZuKTsKKyAgICAgICAgaWYg
KCAhcHJldl9kb20gKQorICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRl
eHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4pOworICAg
ICAgICBlbHNlIGlmICggcHJldl9kb20gIT0gZG9tYWluICkgLyogQXZvaWQg
aW5maW5pdGUgcmVjdXJzaW9uLiAqLworICAgICAgICAgICAgcmV0ID0gZG9t
YWluX2NvbnRleHRfbWFwcGluZ19vbmUocHJldl9kb20sIGlvbW11LCBidXMs
IGRldmZuLCBwZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbW9kZSAmIE1BUF9XSVRIX1JNUlIpIDwgMDsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgcmV0ID0gMTsKIAogICAgICAgICBp
ZiAoICFyZXQgJiYgcGRldiAmJiBwZGV2LT5kZXZmbiA9PSBkZXZmbiApCiAg
ICAgICAgICAgICBjaGVja19jbGVhbnVwX2RvbWlkX21hcChkb21haW4sIHBk
ZXYsIGlvbW11KTsKICAgICB9CiAKLSAgICByZXR1cm4gcmM7CisgICAgaWYg
KCBwcmV2X2RvbSApCisgICAgICAgIHJjdV91bmxvY2tfZG9tYWluKHByZXZf
ZG9tKTsKKworICAgIHJldHVybiByYyA/OiBwZGV2ICYmIHByZXZfZG9tOwog
fQogCiBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X3VubWFwKHN0cnVjdCBk
b21haW4gKmQsIHVpbnQ4X3QgZGV2Zm4sCkBAIC0xNDc4LDggKzE1ODYsMTAg
QEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwY2lf
ZGV2ICpwZGV2KQogewogICAgIGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5p
dCAqZHJoZCA9IGFjcGlfZmluZF9tYXRjaGVkX2RyaGRfdW5pdChwZGV2KTsK
KyAgICBjb25zdCBzdHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnI7CiAgICAg
aW50IHJldCA9IDA7Ci0gICAgdWludDE2X3Qgc2VnID0gcGRldi0+c2VnOwor
ICAgIHVuc2lnbmVkIGludCBpLCBtb2RlID0gMDsKKyAgICB1aW50MTZfdCBz
ZWcgPSBwZGV2LT5zZWcsIGJkZjsKICAgICB1aW50OF90IGJ1cyA9IHBkZXYt
PmJ1cywgc2VjYnVzOwogCiAgICAgLyoKQEAgLTE0OTUsOCArMTYwNSwyOSBA
QCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAK
ICAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7CiAKKyAgICBmb3JfZWFj
aF9ybXJyX2RldmljZSggcm1yciwgYmRmLCBpICkKKyAgICB7CisgICAgICAg
IGlmICggcm1yci0+c2VnbWVudCAhPSBwZGV2LT5zZWcgfHwgYmRmICE9IHBk
ZXYtPnNiZGYuYmRmICkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg
ICAgIG1vZGUgfD0gTUFQX1dJVEhfUk1SUjsKKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorCisgICAgaWYgKCBkb21haW4gIT0gcGRldi0+ZG9tYWluICkKKyAg
ICB7CisgICAgICAgIGlmICggcGRldi0+ZG9tYWluLT5pc19keWluZyApCisg
ICAgICAgICAgICBtb2RlIHw9IE1BUF9PV05FUl9EWUlORzsKKyAgICAgICAg
ZWxzZSBpZiAoIGRyaGQgJiYKKyAgICAgICAgICAgICAgICAgICFhbnlfcGRl
dl9iZWhpbmRfaW9tbXUocGRldi0+ZG9tYWluLCBwZGV2LCBkcmhkLT5pb21t
dSkgJiYKKyAgICAgICAgICAgICAgICAgICFwZGV2LT5waGFudG9tX3N0cmlk
ZSApCisgICAgICAgICAgICBtb2RlIHw9IE1BUF9TSU5HTEVfREVWSUNFOwor
ICAgIH0KKwogICAgIHN3aXRjaCAoIHBkZXYtPnR5cGUgKQogICAgIHsKKyAg
ICAgICAgYm9vbCBwcmV2X3ByZXNlbnQ7CisKICAgICBjYXNlIERFVl9UWVBF
X1BDSV9IT1NUX0JSSURHRToKICAgICAgICAgaWYgKCBpb21tdV9kZWJ1ZyAp
CiAgICAgICAgICAgICBwcmludGsoVlREUFJFRklYICIlcGQ6SG9zdGJyaWRn
ZTogc2tpcCAlcHAgbWFwXG4iLApAQCAtMTUxOCw3ICsxNjQ5LDkgQEAgc3Rh
dGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0cnVjdAogICAgICAg
ICAgICAgcHJpbnRrKFZURFBSRUZJWCAiJXBkOlBDSWU6IG1hcCAlcHBcbiIs
CiAgICAgICAgICAgICAgICAgICAgZG9tYWluLCAmUENJX1NCREYzKHNlZywg
YnVzLCBkZXZmbikpOwogICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF9t
YXBwaW5nX29uZShkb21haW4sIGRyaGQtPmlvbW11LCBidXMsIGRldmZuLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZGV2
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGRldiwgbW9kZSk7CisgICAgICAgIGlmICggcmV0ID4gMCApCisgICAgICAg
ICAgICByZXQgPSAwOwogICAgICAgICBpZiAoICFyZXQgJiYgZGV2Zm4gPT0g
cGRldi0+ZGV2Zm4gJiYgYXRzX2RldmljZShwZGV2LCBkcmhkKSA+IDAgKQog
ICAgICAgICAgICAgZW5hYmxlX2F0c19kZXZpY2UocGRldiwgJmRyaGQtPmlv
bW11LT5hdHNfZGV2aWNlcyk7CiAKQEAgLTE1MzMsOSArMTY2NiwxMCBAQCBz
dGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAg
ICAgICAgICAgICAgICAgZG9tYWluLCAmUENJX1NCREYzKHNlZywgYnVzLCBk
ZXZmbikpOwogCiAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBp
bmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYpOwot
ICAgICAgICBpZiAoIHJldCApCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBkZXYsIG1vZGUpOworICAgICAgICBpZiAoIHJl
dCA8IDAgKQogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHByZXZfcHJl
c2VudCA9IHJldDsKIAogICAgICAgICBpZiAoIChyZXQgPSBmaW5kX3Vwc3Ry
ZWFtX2JyaWRnZShzZWcsICZidXMsICZkZXZmbiwgJnNlY2J1cykpIDwgMSAp
CiAgICAgICAgIHsKQEAgLTE1NDMsNiArMTY3NywxNSBAQCBzdGF0aWMgaW50
IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICByZXQgPSAtRU5YSU87CiAgICAgICAg
IH0KKyAgICAgICAgLyoKKyAgICAgICAgICogU3RyaWN0bHkgc3BlYWtpbmcg
aWYgdGhlIGRldmljZSBpcyB0aGUgb25seSBvbmUgYmVoaW5kIHRoaXMgYnJp
ZGdlCisgICAgICAgICAqIGFuZCB0aGUgb25seSBvbmUgd2l0aCB0aGlzIChz
ZWNidXMsMCwwKSB0dXBsZSwgaXQgY291bGQgYmUgYWxsb3dlZAorICAgICAg
ICAgKiB0byBiZSByZS1hc3NpZ25lZCByZWdhcmRsZXNzIG9mIFJNUlIgcHJl
c2VuY2UuICBCdXQgbGV0J3MgZGVhbCB3aXRoCisgICAgICAgICAqIHRoYXQg
Y2FzZSBvbmx5IGlmIGl0IGlzIGFjdHVhbGx5IGZvdW5kIGluIHRoZSB3aWxk
LgorICAgICAgICAgKi8KKyAgICAgICAgZWxzZSBpZiAoIHByZXZfcHJlc2Vu
dCAmJiAobW9kZSAmIE1BUF9XSVRIX1JNUlIpICYmCisgICAgICAgICAgICAg
ICAgICBkb21haW4gIT0gcGRldi0+ZG9tYWluICkKKyAgICAgICAgICAgIHJl
dCA9IC1FT1BOT1RTVVBQOwogCiAgICAgICAgIC8qCiAgICAgICAgICAqIE1h
cHBpbmcgYSBicmlkZ2Ugc2hvdWxkLCBpZiBhbnl0aGluZywgcGFzcyB0aGUg
c3RydWN0IHBjaV9kZXYgb2YKQEAgLTE1NTEsNyArMTY5NCw3IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAg
ICovCiAgICAgICAgIGlmICggcmV0ID49IDAgKQogICAgICAgICAgICAgcmV0
ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5p
b21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgbW9kZSk7CiAKICAg
ICAgICAgLyoKICAgICAgICAgICogRGV2aWNlcyBiZWhpbmQgUENJZS10by1Q
Q0kvUENJeCBicmlkZ2UgbWF5IGdlbmVyYXRlIGRpZmZlcmVudApAQCAtMTU2
NiwxMCArMTcwOSwxNSBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X21h
cHBpbmcoc3RydWN0CiAgICAgICAgIGlmICggIXJldCAmJiBwZGV2X3R5cGUo
c2VnLCBidXMsIGRldmZuKSA9PSBERVZfVFlQRV9QQ0llMlBDSV9CUklER0Ug
JiYKICAgICAgICAgICAgICAoc2VjYnVzICE9IHBkZXYtPmJ1cyB8fCBwZGV2
LT5kZXZmbiAhPSAwKSApCiAgICAgICAgICAgICByZXQgPSBkb21haW5fY29u
dGV4dF9tYXBwaW5nX29uZShkb21haW4sIGRyaGQtPmlvbW11LCBzZWNidXMs
IDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5VTEwsIG1vZGUpOwogCiAgICAgICAgIGlmICggcmV0
ICkKLSAgICAgICAgICAgIGRvbWFpbl9jb250ZXh0X3VubWFwKGRvbWFpbiwg
ZGV2Zm4sIHBkZXYpOworICAgICAgICB7CisgICAgICAgICAgICBpZiAoICFw
cmV2X3ByZXNlbnQgKQorICAgICAgICAgICAgICAgIGRvbWFpbl9jb250ZXh0
X3VubWFwKGRvbWFpbiwgZGV2Zm4sIHBkZXYpOworICAgICAgICAgICAgZWxz
ZSBpZiAoIHBkZXYtPmRvbWFpbiAhPSBkb21haW4gKSAvKiBBdm9pZCBpbmZp
bml0ZSByZWN1cnNpb24uICovCisgICAgICAgICAgICAgICAgZG9tYWluX2Nv
bnRleHRfbWFwcGluZyhwZGV2LT5kb21haW4sIGRldmZuLCBwZGV2KTsKKyAg
ICAgICAgfQogCiAgICAgICAgIGJyZWFrOwogCkBAIC0yMzU4LDkgKzI1MDYs
NDcgQEAgc3RhdGljIGludCBjZl9jaGVjayByZWFzc2lnbl9kZXZpY2Vfb3du
ZQogewogICAgIGludCByZXQ7CiAKLSAgICByZXQgPSBkb21haW5fY29udGV4
dF91bm1hcChzb3VyY2UsIGRldmZuLCBwZGV2KTsKKyAgICBpZiAoICFRVUFS
QU5USU5FX1NLSVAodGFyZ2V0KSApCisgICAgeworICAgICAgICBpZiAoICFo
YXNfYXJjaF9wZGV2cyh0YXJnZXQpICkKKyAgICAgICAgICAgIHZteF9waV9o
b29rc19hc3NpZ24odGFyZ2V0KTsKKworICAgICAgICAvKgorICAgICAgICAg
KiBEZXZpY2VzIGFzc2lnbmVkIHRvIHVudHJ1c3RlZCBkb21haW5zIChoZXJl
IGFzc3VtZWQgdG8gYmUgYW55IGRvbVUpCisgICAgICAgICAqIGNhbiBhdHRl
bXB0IHRvIHNlbmQgYXJiaXRyYXJ5IExBUElDL01TSSBtZXNzYWdlcy4gV2Ug
YXJlIHVucHJvdGVjdGVkCisgICAgICAgICAqIGJ5IHRoZSByb290IGNvbXBs
ZXggdW5sZXNzIGludGVycnVwdCByZW1hcHBpbmcgaXMgZW5hYmxlZC4KKyAg
ICAgICAgICovCisgICAgICAgIGlmICggIWlvbW11X2ludHJlbWFwICYmICFp
c19oYXJkd2FyZV9kb21haW4odGFyZ2V0KSAmJgorICAgICAgICAgICAgICFp
c19zeXN0ZW1fZG9tYWluKHRhcmdldCkgKQorICAgICAgICAgICAgdW50cnVz
dGVkX21zaSA9IHRydWU7CisKKyAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRl
eHRfbWFwcGluZyh0YXJnZXQsIGRldmZuLCBwZGV2KTsKKworICAgICAgICBp
ZiAoICFyZXQgJiYgIVFVQVJBTlRJTkVfU0tJUChzb3VyY2UpICYmIHBkZXYt
PmRldmZuID09IGRldmZuICkKKyAgICAgICAgeworICAgICAgICAgICAgY29u
c3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkID0gYWNwaV9maW5kX21h
dGNoZWRfZHJoZF91bml0KHBkZXYpOworCisgICAgICAgICAgICBpZiAoIGRy
aGQgKQorICAgICAgICAgICAgICAgIGNoZWNrX2NsZWFudXBfZG9taWRfbWFw
KHNvdXJjZSwgcGRldiwgZHJoZC0+aW9tbXUpOworICAgICAgICB9CisgICAg
fQorICAgIGVsc2UKKyAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5t
YXAoc291cmNlLCBkZXZmbiwgcGRldik7CiAgICAgaWYgKCByZXQgKQorICAg
IHsKKyAgICAgICAgaWYgKCAhaGFzX2FyY2hfcGRldnModGFyZ2V0KSApCisg
ICAgICAgICAgICB2bXhfcGlfaG9va3NfZGVhc3NpZ24odGFyZ2V0KTsKICAg
ICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKKyAgICBpZiAoIGRldmZuID09
IHBkZXYtPmRldmZuICYmIHBkZXYtPmRvbWFpbiAhPSB0YXJnZXQgKQorICAg
IHsKKyAgICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5fbGlzdCwgJnRh
cmdldC0+cGRldl9saXN0KTsKKyAgICAgICAgcGRldi0+ZG9tYWluID0gdGFy
Z2V0OworICAgIH0KKworICAgIGlmICggIWhhc19hcmNoX3BkZXZzKHNvdXJj
ZSkgKQorICAgICAgICB2bXhfcGlfaG9va3NfZGVhc3NpZ24oc291cmNlKTsK
IAogICAgIC8qCiAgICAgICogSWYgdGhlIGRldmljZSBiZWxvbmdzIHRvIHRo
ZSBoYXJkd2FyZSBkb21haW4sIGFuZCBpdCBoYXMgUk1SUiwgZG9uJ3QKQEAg
LTIzOTAsNDMgKzI1NzYsNyBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIHJlYXNz
aWduX2RldmljZV9vd25lCiAgICAgICAgICAgICB9CiAgICAgfQogCi0gICAg
aWYgKCBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBwZGV2LT5kb21haW4gIT0g
ZG9tX2lvICkKLSAgICB7Ci0gICAgICAgIGxpc3RfbW92ZSgmcGRldi0+ZG9t
YWluX2xpc3QsICZkb21faW8tPnBkZXZfbGlzdCk7Ci0gICAgICAgIHBkZXYt
PmRvbWFpbiA9IGRvbV9pbzsKLSAgICB9Ci0KLSAgICBpZiAoICFoYXNfYXJj
aF9wZGV2cyhzb3VyY2UpICkKLSAgICAgICAgdm14X3BpX2hvb2tzX2RlYXNz
aWduKHNvdXJjZSk7Ci0KLSAgICBpZiAoICFoYXNfYXJjaF9wZGV2cyh0YXJn
ZXQpICkKLSAgICAgICAgdm14X3BpX2hvb2tzX2Fzc2lnbih0YXJnZXQpOwot
Ci0gICAgLyoKLSAgICAgKiBEZXZpY2VzIGFzc2lnbmVkIHRvIHVudHJ1c3Rl
ZCBkb21haW5zIChoZXJlIGFzc3VtZWQgdG8gYmUgYW55IGRvbVUpCi0gICAg
ICogY2FuIGF0dGVtcHQgdG8gc2VuZCBhcmJpdHJhcnkgTEFQSUMvTVNJIG1l
c3NhZ2VzLiBXZSBhcmUgdW5wcm90ZWN0ZWQKLSAgICAgKiBieSB0aGUgcm9v
dCBjb21wbGV4IHVubGVzcyBpbnRlcnJ1cHQgcmVtYXBwaW5nIGlzIGVuYWJs
ZWQuCi0gICAgICovCi0gICAgaWYgKCAhaW9tbXVfaW50cmVtYXAgJiYgIWlz
X2hhcmR3YXJlX2RvbWFpbih0YXJnZXQpICYmCi0gICAgICAgICAhaXNfc3lz
dGVtX2RvbWFpbih0YXJnZXQpICkKLSAgICAgICAgdW50cnVzdGVkX21zaSA9
IHRydWU7Ci0KLSAgICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nKHRh
cmdldCwgZGV2Zm4sIHBkZXYpOwotICAgIGlmICggcmV0ICkKLSAgICB7Ci0g
ICAgICAgIGlmICggIWhhc19hcmNoX3BkZXZzKHRhcmdldCkgKQotICAgICAg
ICAgICAgdm14X3BpX2hvb2tzX2RlYXNzaWduKHRhcmdldCk7Ci0KLSAgICAg
ICAgcmV0dXJuIHJldDsKLSAgICB9Ci0KLSAgICBpZiAoIGRldmZuID09IHBk
ZXYtPmRldmZuICYmIHBkZXYtPmRvbWFpbiAhPSB0YXJnZXQgKQotICAgIHsK
LSAgICAgICAgbGlzdF9tb3ZlKCZwZGV2LT5kb21haW5fbGlzdCwgJnRhcmdl
dC0+cGRldl9saXN0KTsKLSAgICAgICAgcGRldi0+ZG9tYWluID0gdGFyZ2V0
OwotICAgIH0KLQotICAgIHJldHVybiByZXQ7CisgICAgcmV0dXJuIDA7CiB9
CiAKIHN0YXRpYyBpbnQgY2ZfY2hlY2sgaW50ZWxfaW9tbXVfYXNzaWduX2Rl
dmljZSgKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmgK
QEAgLTE5Nyw4ICsxOTcsMTIgQEAgc3RydWN0IHJvb3RfZW50cnkgewogICAg
IGRvIHsocm9vdCkudmFsIHw9ICgodmFsdWUpICYgUEFHRV9NQVNLXzRLKTt9
IHdoaWxlKDApCiAKIHN0cnVjdCBjb250ZXh0X2VudHJ5IHsKLSAgICB1NjQg
bG87Ci0gICAgdTY0IGhpOworICAgIHVuaW9uIHsKKyAgICAgICAgc3RydWN0
IHsKKyAgICAgICAgICAgIHVpbnQ2NF90IGxvLCBoaTsKKyAgICAgICAgfTsK
KyAgICAgICAgX191aW50MTI4X3QgZnVsbDsKKyAgICB9OwogfTsKICNkZWZp
bmUgUk9PVF9FTlRSWV9OUiAoUEFHRV9TSVpFXzRLL3NpemVvZihzdHJ1Y3Qg
cm9vdF9lbnRyeSkpCiAjZGVmaW5lIGNvbnRleHRfcHJlc2VudChjKSAoKGMp
LmxvICYgMSkKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3F1
aXJrcy5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xdWly
a3MuYwpAQCAtNDA3LDcgKzQwNyw4IEBAIHZvaWQgX19pbml0IHBsYXRmb3Jt
X3F1aXJrc19pbml0KHZvaWQpCiAgKi8KIAogc3RhdGljIGludCBfX211c3Rf
Y2hlY2sgbWFwX21lX3BoYW50b21fZnVuY3Rpb24oc3RydWN0IGRvbWFpbiAq
ZG9tYWluLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdTMyIGRldiwgaW50IG1hcCkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu
dCBkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKICAgICBzdHJ1Y3Qg
YWNwaV9kcmhkX3VuaXQgKmRyaGQ7CiAgICAgc3RydWN0IHBjaV9kZXYgKnBk
ZXY7CkBAIC00MTgsOSArNDE5LDkgQEAgc3RhdGljIGludCBfX211c3RfY2hl
Y2sgbWFwX21lX3BoYW50b21fZgogICAgIGRyaGQgPSBhY3BpX2ZpbmRfbWF0
Y2hlZF9kcmhkX3VuaXQocGRldik7CiAKICAgICAvKiBtYXAgb3IgdW5tYXAg
TUUgcGhhbnRvbSBmdW5jdGlvbiAqLwotICAgIGlmICggbWFwICkKKyAgICBp
ZiAoICEobW9kZSAmIFVOTUFQX01FX1BIQU5UT01fRlVOQykgKQogICAgICAg
ICByYyA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJo
ZC0+aW9tbXUsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUENJX0RFVkZOKGRldiwgNyksIE5VTEwpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9ERVZGTihkZXYs
IDcpLCBOVUxMLCBtb2RlKTsKICAgICBlbHNlCiAgICAgICAgIHJjID0gZG9t
YWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIDAs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9E
RVZGTihkZXYsIDcpKTsKQEAgLTQyOCw3ICs0MjksOCBAQCBzdGF0aWMgaW50
IF9fbXVzdF9jaGVjayBtYXBfbWVfcGhhbnRvbV9mCiAgICAgcmV0dXJuIHJj
OwogfQogCi1pbnQgbWVfd2lmaV9xdWlyayhzdHJ1Y3QgZG9tYWluICpkb21h
aW4sIHU4IGJ1cywgdTggZGV2Zm4sIGludCBtYXApCitpbnQgbWVfd2lmaV9x
dWlyayhzdHJ1Y3QgZG9tYWluICpkb21haW4sIHVpbnQ4X3QgYnVzLCB1aW50
OF90IGRldmZuLAorICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1v
ZGUpCiB7CiAgICAgdTMyIGlkOwogICAgIGludCByYyA9IDA7CkBAIC00NTIs
NyArNDU0LDcgQEAgaW50IG1lX3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAq
ZG9tYWluLAogICAgICAgICAgICAgY2FzZSAweDQyM2I4MDg2OgogICAgICAg
ICAgICAgY2FzZSAweDQyM2M4MDg2OgogICAgICAgICAgICAgY2FzZSAweDQy
M2Q4MDg2OgotICAgICAgICAgICAgICAgIHJjID0gbWFwX21lX3BoYW50b21f
ZnVuY3Rpb24oZG9tYWluLCAzLCBtYXApOworICAgICAgICAgICAgICAgIHJj
ID0gbWFwX21lX3BoYW50b21fZnVuY3Rpb24oZG9tYWluLCAzLCBtb2RlKTsK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6
CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC00NzgsNyArNDgwLDcgQEAg
aW50IG1lX3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLAogICAg
ICAgICAgICAgY2FzZSAweDQyMzg4MDg2OiAgICAgICAgLyogUHVtYSBQZWFr
ICovCiAgICAgICAgICAgICBjYXNlIDB4NDIyYjgwODY6CiAgICAgICAgICAg
ICBjYXNlIDB4NDIyYzgwODY6Ci0gICAgICAgICAgICAgICAgcmMgPSBtYXBf
bWVfcGhhbnRvbV9mdW5jdGlvbihkb21haW4sIDIyLCBtYXApOworICAgICAg
ICAgICAgICAgIHJjID0gbWFwX21lX3BoYW50b21fZnVuY3Rpb24oZG9tYWlu
LCAyMiwgbW9kZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwotLS0gYS94
ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvdnRkLmgKKysrIGIveGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvdnRkL3Z0ZC5oCkBAIC0yMiw4ICsyMiwxNCBA
QAogCiAjaW5jbHVkZSA8eGVuL2lvbW11Lmg+CiAKLSNkZWZpbmUgTUFQX01F
X1BIQU5UT01fRlVOQyAgICAgIDEKLSNkZWZpbmUgVU5NQVBfTUVfUEhBTlRP
TV9GVU5DICAgIDAKKy8qCisgKiBWYWx1ZXMgZm9yIGRvbWFpbl9jb250ZXh0
X21hcHBpbmdfb25lKCkncyBhbmQgbWVfd2lmaV9xdWlyaygpJ3MgIm1vZGUi
CisgKiBwYXJhbWV0ZXJzLgorICovCisjZGVmaW5lIE1BUF9XSVRIX1JNUlIg
ICAgICAgICAoMXUgPDwgMCkKKyNkZWZpbmUgTUFQX09XTkVSX0RZSU5HICAg
ICAgICgxdSA8PCAxKQorI2RlZmluZSBNQVBfU0lOR0xFX0RFVklDRSAgICAg
KDF1IDw8IDIpCisjZGVmaW5lIFVOTUFQX01FX1BIQU5UT01fRlVOQyAoMXUg
PDwgMykKIAogLyogQWxsb3cgZm9yIGJvdGggSU9BUElDIGFuZCBJT1NBUElD
LiAqLwogI2RlZmluZSBJT194QVBJQ19yb3V0ZV9lbnRyeSBJT19BUElDX3Jv
dXRlX2VudHJ5Cg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IHJlLWFzc2lnbiBkZXZpY2VzIGRpcmVjdGx5CgpEZXZp
Y2VzIHdpdGggdW5pdHkgbWFwIHJhbmdlcywgZHVlIHRvIGl0IGJlaW5nIHVu
c3BlY2lmaWVkIGhvdy93aGVuCnRoZXNlIG1lbW9yeSByYW5nZXMgbWF5IGdl
dCBhY2Nlc3NlZCwgbWF5IG5vdCBiZSBsZWZ0IGRpc2Nvbm5lY3RlZCBmcm9t
CnRoZWlyIHVuaXR5IG1hcHBpbmdzIChhcyBsb25nIGFzIGl0J3Mgbm90IGNl
cnRhaW4gdGhhdCB0aGUgZGV2aWNlIGhhcwpiZWVuIGZ1bGx5IHF1aWVzY2Vk
KS4gSGVuY2UgcmF0aGVyIHRoYW4gdGVhcmluZyBkb3duIHRoZSBvbGQgcm9v
dCBwYWdlCnRhYmxlIHBvaW50ZXIgYW5kIHRoZW4gZXN0YWJsaXNoaW5nIHRo
ZSBuZXcgb25lLCByZS1hc3NpZ25tZW50IG5lZWRzIHRvCmJlIGRvbmUgaW4g
YSBzaW5nbGUgc3RlcC4KClRoaXMgaXMgQ1ZFLTIwMjItMjYzNjAgLyBwYXJ0
IG9mIFhTQS00MDAuCgpSZXBvcnRlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8
cm9nZXIucGF1QGNpdHJpeC5jb20+CgpTaW1pbGFybHkgcXVhcmFudGluaW5n
IHNjcmF0Y2gtcGFnZSBtb2RlIHJlbGllcyBvbiBwYWdlIHRhYmxlcyB0byBi
ZQpjb250aW51b3VzbHkgd2lyZWQgdXAuCgpUbyBhdm9pZCBjb21wbGljYXRp
bmcgdGhpbmdzIG1vcmUgdGhhbiBuZWNlc3NhcnksIHRyZWF0IGFsbCBkZXZp
Y2VzCm1vc3RseSBlcXVhbGx5LCBpLmUuIHJlZ2FyZGxlc3Mgb2YgdGhlaXIg
YXNzb2NpYXRpb24gd2l0aCBhbnkgdW5pdHkgbWFwCnJhbmdlcy4gIFRoZSBt
YWluIGRpZmZlcmVuY2UgaXMgd2hlbiBpdCBjb21lcyB0byB1cGRhdGluZyBE
VEVzLCB3aGljaCBuZWVkCnRvIGJlIGF0b21pYyB3aGVuIHRoZXJlIGFyZSB1
bml0eSBtYXBwaW5ncy4gWWV0IGF0b21pY2l0eSBjYW4gb25seSBiZQphY2hp
ZXZlZCB3aXRoIENNUFhDSEcxNkIsIGF2YWlsYWJpbGl0eSBvZiB3aGljaCB3
ZSBjYW4ndCB0YWtlIGZvciBnaXZlbi4KClNpZ25lZC1vZmYtYnk6IEphbiBC
ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFBhdWwg
RHVycmFudCA8cGF1bEB4ZW4ub3JnPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1
IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+Ci0tLQp2NjogQWxzbyBp
bmNsdWRlIGRldmljZXMgd2l0aCBwaGFudG9tIGZ1bmN0aW9ucyBpbiB0aGUg
bm90LXNpbmdsZS1kZXZpY2UKICAgIGNoZWNrLiBBZGQgY29tbWVudCBhaGVh
ZCBvZiBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJsZSgpLgp2NTogUmVm
dXNlIHJlLWFzc2lnbm1lbnQgb2YgZGV2aWNlcyB3aXRoIHJlcXVlc3RvciBJ
RCBkaWZmZXJlbnQgZnJvbSBCREYKICAgIGFuZCB3aXRoIHVuaXR5IG1hcC4g
Q29udmVydCBhc3NlcnRpbmcgb2YgQ1gxNiBzdWNjZXNzIHRvIGVycm9yCiAg
ICByZXR1cm4uIEludHJvZHVjZSBhbmQgdXNlIGFueV9wZGV2X2JlaGluZF9p
b21tdSgpLiBSZWZpbmUgd2FybmluZwogICAgbWVzc2FnZSB0ZXh0IGFuZCB1
c2UgUENJX1NCREYzKCkgdGhlcmUuIFVzZSBjb3JyZWN0IGRvbWFpbiB0byBk
ZWNpZGUKICAgIHdoZXRoZXIgdG8gd2Fybi4KdjQ6IFJlZmluZSB3aGVuIHRv
IGF0dGVtcHQgYXRvbWljIERURSB1cGRhdGUuIEFkZCB3YXJuaW5nLgp2Mzog
UmVwbGFjZSBzbXBfd21iKCkgYnkgY29tbWVudC4gRHJvcCBhIHJlZHVuZGFu
dCBhc3NpZ25tZW50Lgp2MjogTmV3LgoKLS0tIGEveGVuL2RyaXZlcnMvcGFz
c3Rocm91Z2gvYW1kL2lvbW11LmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvYW1kL2lvbW11LmgKQEAgLTI2Myw5ICsyNjMsMTMgQEAgdm9pZCBh
bWRfaW9tbXVfc2V0X2ludHJlbWFwX3RhYmxlKHN0cnVjdAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKnB0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
YW1kX2lvbW11ICppb21tdSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sIHZhbGlkKTsKLXZvaWQgYW1kX2lvbW11X3NldF9yb290
X3BhZ2VfdGFibGUoc3RydWN0IGFtZF9pb21tdV9kdGUgKmR0ZSwKLQkJCQkg
ICB1aW50NjRfdCByb290X3B0ciwgdWludDE2X3QgZG9tYWluX2lkLAotCQkJ
CSAgIHVpbnQ4X3QgcGFnaW5nX21vZGUsIGJvb2wgdmFsaWQpOworI2RlZmlu
ZSBTRVRfUk9PVF9WQUxJRCAgICAgICAgICAoMXUgPDwgMCkKKyNkZWZpbmUg
U0VUX1JPT1RfV0lUSF9VTklUWV9NQVAgKDF1IDw8IDEpCitpbnQgX19tdXN0
X2NoZWNrIGFtZF9pb21tdV9zZXRfcm9vdF9wYWdlX3RhYmxlKHN0cnVjdCBh
bWRfaW9tbXVfZHRlICpkdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHJvb3RfcHRyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MTZfdCBkb21haW5faWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgcGFnaW5nX21vZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGludCBmbGFncyk7CiB2b2lkIGlvbW11X2R0ZV9hZGRfZGV2
aWNlX2VudHJ5KHN0cnVjdCBhbWRfaW9tbXVfZHRlICpkdGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBpdnJzX21h
cHBpbmdzICppdnJzX2Rldik7CiAKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvYW1kL2lvbW11X21hcC5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL2FtZC9pb21tdV9tYXAuYwpAQCAtMTE0LDEwICsxMTQsNjkgQEAg
c3RhdGljIHVuc2lnbmVkIGludCBzZXRfaW9tbXVfcHRlc19wcmVzZQogICAg
IHJldHVybiBmbHVzaF9mbGFnczsKIH0KIAotdm9pZCBhbWRfaW9tbXVfc2V0
X3Jvb3RfcGFnZV90YWJsZShzdHJ1Y3QgYW1kX2lvbW11X2R0ZSAqZHRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBy
b290X3B0ciwgdWludDE2X3QgZG9tYWluX2lkLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50OF90IHBhZ2luZ19tb2RlLCBib29s
IHZhbGlkKQorLyoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucworICogLSAt
ZXJybm8gZm9yIGVycm9ycywKKyAqIC0gMCBmb3IgYSBzdWNjZXNzZnVsIHVw
ZGF0ZSwgYXRvbWljIHdoZW4gbmVjZXNzYXJ5CisgKiAtIDEgZm9yIGEgc3Vj
Y2Vzc2Z1bCBidXQgbm9uLWF0b21pYyB1cGRhdGUsIHdoaWNoIG1heSBuZWVk
IHRvIGJlIHdhcm5lZAorICogICBhYm91dCBieSB0aGUgY2FsbGVyLgorICov
CitpbnQgYW1kX2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUoc3RydWN0IGFt
ZF9pb21tdV9kdGUgKmR0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50NjRfdCByb290X3B0ciwgdWludDE2X3QgZG9tYWluX2lk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qg
cGFnaW5nX21vZGUsIHVuc2lnbmVkIGludCBmbGFncykKIHsKKyAgICBib29s
IHZhbGlkID0gZmxhZ3MgJiBTRVRfUk9PVF9WQUxJRDsKKworICAgIGlmICgg
ZHRlLT52ICYmIGR0ZS0+dHYgJiYKKyAgICAgICAgIChjcHVfaGFzX2N4MTYg
fHwgKGZsYWdzICYgU0VUX1JPT1RfV0lUSF9VTklUWV9NQVApKSApCisgICAg
eworICAgICAgICB1bmlvbiB7CisgICAgICAgICAgICBzdHJ1Y3QgYW1kX2lv
bW11X2R0ZSBkdGU7CisgICAgICAgICAgICB1aW50NjRfdCByYXc2NFs0XTsK
KyAgICAgICAgICAgIF9fdWludDEyOF90IHJhdzEyOFsyXTsKKyAgICAgICAg
fSBsZHRlID0geyAuZHRlID0gKmR0ZSB9OworICAgICAgICBfX3VpbnQxMjhf
dCBvbGQgPSBsZHRlLnJhdzEyOFswXTsKKyAgICAgICAgaW50IHJldCA9IDA7
CisKKyAgICAgICAgbGR0ZS5kdGUuZG9tYWluX2lkID0gZG9tYWluX2lkOwor
ICAgICAgICBsZHRlLmR0ZS5wdF9yb290ID0gcGFkZHJfdG9fcGZuKHJvb3Rf
cHRyKTsKKyAgICAgICAgbGR0ZS5kdGUuaXcgPSB0cnVlOworICAgICAgICBs
ZHRlLmR0ZS5pciA9IHRydWU7CisgICAgICAgIGxkdGUuZHRlLnBhZ2luZ19t
b2RlID0gcGFnaW5nX21vZGU7CisgICAgICAgIGxkdGUuZHRlLnYgPSB2YWxp
ZDsKKworICAgICAgICBpZiAoIGNwdV9oYXNfY3gxNiApCisgICAgICAgIHsK
KyAgICAgICAgICAgIF9fdWludDEyOF90IHJlcyA9IGNtcHhjaGcxNmIoZHRl
LCAmb2xkLCAmbGR0ZS5yYXcxMjhbMF0pOworCisgICAgICAgICAgICAvKgor
ICAgICAgICAgICAgICogSGFyZHdhcmUgZG9lcyBub3QgdXBkYXRlIHRoZSBE
VEUgYmVoaW5kIG91ciBiYWNrcywgc28gdGhlCisgICAgICAgICAgICAgKiBy
ZXR1cm4gdmFsdWUgc2hvdWxkIG1hdGNoICJvbGQiLgorICAgICAgICAgICAg
ICovCisgICAgICAgICAgICBpZiAoIHJlcyAhPSBvbGQgKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSCisgICAg
ICAgICAgICAgICAgICAgICAgICJEb20lZDogdW5leHBlY3RlZCBEVEUgJTAx
Nmx4XyUwMTZseCAoZXhwZWN0ZWQgJTAxNmx4XyUwMTZseClcbiIsCisgICAg
ICAgICAgICAgICAgICAgICAgIGRvbWFpbl9pZCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgKHVpbnQ2NF90KShyZXMgPj4gNjQpLCAodWludDY0X3QpcmVz
LAorICAgICAgICAgICAgICAgICAgICAgICAodWludDY0X3QpKG9sZCA+PiA2
NCksICh1aW50NjRfdClvbGQpOworICAgICAgICAgICAgICAgIHJldCA9IC1F
SUxTRVE7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxz
ZSAvKiBCZXN0IGVmZm9ydCwgdXBkYXRpbmcgZG9tYWluX2lkIGxhc3QuICov
CisgICAgICAgIHsKKyAgICAgICAgICAgIHVpbnQ2NF90ICpwdHIgPSAodm9p
ZCAqKWR0ZTsKKworICAgICAgICAgICAgd3JpdGVfYXRvbWljKHB0ciArIDAs
IGxkdGUucmF3NjRbMF0pOworICAgICAgICAgICAgLyogTm8gYmFycmllciBz
aG91bGQgYmUgbmVlZGVkIGJldHdlZW4gdGhlc2UgdHdvLiAqLworICAgICAg
ICAgICAgd3JpdGVfYXRvbWljKHB0ciArIDEsIGxkdGUucmF3NjRbMV0pOwor
CisgICAgICAgICAgICByZXQgPSAxOworICAgICAgICB9CisKKyAgICAgICAg
cmV0dXJuIHJldDsKKyAgICB9CisKICAgICBpZiAoIHZhbGlkIHx8IGR0ZS0+
diApCiAgICAgewogICAgICAgICBkdGUtPnR2ID0gZmFsc2U7CkBAIC0xMzIs
NiArMTkxLDggQEAgdm9pZCBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJs
ZShzdHJ1YwogICAgIHNtcF93bWIoKTsKICAgICBkdGUtPnR2ID0gdHJ1ZTsK
ICAgICBkdGUtPnYgPSB2YWxpZDsKKworICAgIHJldHVybiAwOwogfQogCiB2
b2lkIGFtZF9pb21tdV9zZXRfaW50cmVtYXBfdGFibGUoCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9wY2lfYW1kX2lvbW11LmMKKysrIGIv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYwpA
QCAtOTYsMTMgKzk2LDMyIEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFs
bG9jYXRlX2RvbWFpbl8KICAgICByZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyBi
b29sIGFueV9wZGV2X2JlaGluZF9pb21tdShjb25zdCBzdHJ1Y3QgZG9tYWlu
ICpkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBwY2lfZGV2ICpleGNsdWRlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11
KQoreworICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2OworCisgICAg
Zm9yX2VhY2hfcGRldiAoIGQsIHBkZXYgKQorICAgIHsKKyAgICAgICAgaWYg
KCBwZGV2ID09IGV4Y2x1ZGUgKQorICAgICAgICAgICAgY29udGludWU7CisK
KyAgICAgICAgaWYgKCBmaW5kX2lvbW11X2Zvcl9kZXZpY2UocGRldi0+c2Vn
LCBwZGV2LT5zYmRmLmJkZikgPT0gaW9tbXUgKQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBz
dGF0aWMgaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfc2V0dXBfZG9tYWlu
X2RldmljZSgKICAgICBzdHJ1Y3QgZG9tYWluICpkb21haW4sIHN0cnVjdCBh
bWRfaW9tbXUgKmlvbW11LAogICAgIHVpbnQ4X3QgZGV2Zm4sIHN0cnVjdCBw
Y2lfZGV2ICpwZGV2KQogewogICAgIHN0cnVjdCBhbWRfaW9tbXVfZHRlICp0
YWJsZSwgKmR0ZTsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwotICAgIGlu
dCByZXFfaWQsIHZhbGlkID0gMSwgcmM7CisgICAgdW5zaWduZWQgaW50IHJl
cV9pZCwgc3JfZmxhZ3M7CisgICAgaW50IHJjOwogICAgIHU4IGJ1cyA9IHBk
ZXYtPmJ1czsKICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9p
b21tdShkb21haW4pOwogICAgIGNvbnN0IHN0cnVjdCBpdnJzX21hcHBpbmdz
ICppdnJzX2RldjsKQEAgLTExNiw4ICsxMzUsMTEgQEAgc3RhdGljIGludCBf
X211c3RfY2hlY2sgYW1kX2lvbW11X3NldHVwXwogICAgIGlmICggcmMgKQog
ICAgICAgICByZXR1cm4gcmM7CiAKLSAgICBpZiAoIGlvbW11X2h3ZG9tX3Bh
c3N0aHJvdWdoICYmIGlzX2hhcmR3YXJlX2RvbWFpbihkb21haW4pICkKLSAg
ICAgICAgdmFsaWQgPSAwOworICAgIHJlcV9pZCA9IGdldF9kbWFfcmVxdWVz
dG9yX2lkKGlvbW11LT5zZWcsIHBkZXYtPnNiZGYuYmRmKTsKKyAgICBpdnJz
X2RldiA9ICZnZXRfaXZyc19tYXBwaW5ncyhpb21tdS0+c2VnKVtyZXFfaWRd
OworICAgIHNyX2ZsYWdzID0gKGlvbW11X2h3ZG9tX3Bhc3N0aHJvdWdoICYm
IGlzX2hhcmR3YXJlX2RvbWFpbihkb21haW4pCisgICAgICAgICAgICAgICAg
PyAwIDogU0VUX1JPT1RfVkFMSUQpCisgICAgICAgICAgICAgICB8IChpdnJz
X2Rldi0+dW5pdHlfbWFwID8gU0VUX1JPT1RfV0lUSF9VTklUWV9NQVAgOiAw
KTsKIAogICAgIC8qIGdldCBkZXZpY2UtdGFibGUgZW50cnkgKi8KICAgICBy
ZXFfaWQgPSBnZXRfZG1hX3JlcXVlc3Rvcl9pZChpb21tdS0+c2VnLCBQQ0lf
QkRGMihidXMsIGRldmZuKSk7CkBAIC0xMzAsOSArMTUyLDE1IEBAIHN0YXRp
YyBpbnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAgICBpZiAo
ICFkdGUtPnYgfHwgIWR0ZS0+dHYgKQogICAgIHsKICAgICAgICAgLyogYmlu
ZCBEVEUgdG8gZG9tYWluIHBhZ2UtdGFibGVzICovCi0gICAgICAgIGFtZF9p
b21tdV9zZXRfcm9vdF9wYWdlX3RhYmxlKAotICAgICAgICAgICAgZHRlLCBw
YWdlX3RvX21hZGRyKGhkLT5hcmNoLmFtZC5yb290X3RhYmxlKSwKLSAgICAg
ICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkLCBoZC0+YXJjaC5hbWQucGFnaW5n
X21vZGUsIHZhbGlkKTsKKyAgICAgICAgcmMgPSBhbWRfaW9tbXVfc2V0X3Jv
b3RfcGFnZV90YWJsZSgKKyAgICAgICAgICAgICAgICAgZHRlLCBwYWdlX3Rv
X21hZGRyKGhkLT5hcmNoLmFtZC5yb290X3RhYmxlKSwKKyAgICAgICAgICAg
ICAgICAgZG9tYWluLT5kb21haW5faWQsIGhkLT5hcmNoLmFtZC5wYWdpbmdf
bW9kZSwgc3JfZmxhZ3MpOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAg
eworICAgICAgICAgICAgQVNTRVJUKHJjIDwgMCk7CisgICAgICAgICAgICBz
cGluX3VubG9ja19pcnFyZXN0b3JlKCZpb21tdS0+bG9jaywgZmxhZ3MpOwor
ICAgICAgICAgICAgcmV0dXJuIHJjOworICAgICAgICB9CiAKICAgICAgICAg
LyogVW5kbyB3aGF0IGFtZF9pb21tdV9kaXNhYmxlX2RvbWFpbl9kZXZpY2Uo
KSBtYXkgaGF2ZSBkb25lLiAqLwogICAgICAgICBpZiAoIGR0ZS0+aXRfcm9v
dCApCkBAIC0xNTIsMTcgKzE4MCw3NiBAQCBzdGF0aWMgaW50IF9fbXVzdF9j
aGVjayBhbWRfaW9tbXVfc2V0dXBfCiAgICAgICAgIHNwaW5fdW5sb2NrX2ly
cXJlc3RvcmUoJmlvbW11LT5sb2NrLCBmbGFncyk7CiAKICAgICAgICAgYW1k
X2lvbW11X2ZsdXNoX2RldmljZShpb21tdSwgcmVxX2lkKTsKKyAgICB9Cisg
ICAgZWxzZSBpZiAoIGR0ZS0+cHRfcm9vdCAhPSBtZm5feChwYWdlX3RvX21m
bihoZC0+YXJjaC5hbWQucm9vdF90YWJsZSkpICkKKyAgICB7CisgICAgICAg
IC8qCisgICAgICAgICAqIFN0cmljdGx5IHNwZWFraW5nIGlmIHRoZSBkZXZp
Y2UgaXMgdGhlIG9ubHkgb25lIHdpdGggdGhpcyByZXF1ZXN0b3IKKyAgICAg
ICAgICogSUQsIGl0IGNvdWxkIGJlIGFsbG93ZWQgdG8gYmUgcmUtYXNzaWdu
ZWQgcmVnYXJkbGVzcyBvZiB1bml0eSBtYXAKKyAgICAgICAgICogcHJlc2Vu
Y2UuICBCdXQgbGV0J3MgZGVhbCB3aXRoIHRoYXQgY2FzZSBvbmx5IGlmIGl0
IGlzIGFjdHVhbGx5CisgICAgICAgICAqIGZvdW5kIGluIHRoZSB3aWxkLgor
ICAgICAgICAgKi8KKyAgICAgICAgaWYgKCByZXFfaWQgIT0gUENJX0JERjIo
YnVzLCBkZXZmbikgJiYKKyAgICAgICAgICAgICAoc3JfZmxhZ3MgJiBTRVRf
Uk9PVF9XSVRIX1VOSVRZX01BUCkgKQorICAgICAgICAgICAgcmMgPSAtRU9Q
Tk9UU1VQUDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmMgPSBhbWRf
aW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJsZSgKKyAgICAgICAgICAgICAgICAg
ICAgIGR0ZSwgcGFnZV90b19tYWRkcihoZC0+YXJjaC5hbWQucm9vdF90YWJs
ZSksCisgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwg
aGQtPmFyY2guYW1kLnBhZ2luZ19tb2RlLCBzcl9mbGFncyk7CisgICAgICAg
IGlmICggcmMgPCAwICkKKyAgICAgICAgeworICAgICAgICAgICAgc3Bpbl91
bmxvY2tfaXJxcmVzdG9yZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsKKyAgICAg
ICAgICAgIHJldHVybiByYzsKKyAgICAgICAgfQorICAgICAgICBpZiAoIHJj
ICYmCisgICAgICAgICAgICAgZG9tYWluICE9IHBkZXYtPmRvbWFpbiAmJgor
ICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICogQnkgbm9uLWF0b21p
Y2FsbHkgdXBkYXRpbmcgdGhlIERURSdzIGRvbWFpbiBJRCBmaWVsZCBsYXN0
LAorICAgICAgICAgICAgICAqIGR1cmluZyBhIHNob3J0IHdpbmRvdyBpbiB0
aW1lIFRMQiBlbnRyaWVzIHdpdGggdGhlIG9sZCBkb21haW4KKyAgICAgICAg
ICAgICAgKiBJRCBidXQgdGhlIG5ldyBwYWdlIHRhYmxlcyBtYXkgaGF2ZSBi
ZWVuIGluc2VydGVkLiAgVGhpcyBjb3VsZAorICAgICAgICAgICAgICAqIGFm
ZmVjdCBJL08gb2Ygb3RoZXIgZGV2aWNlcyB1c2luZyB0aGlzIHNhbWUgKG9s
ZCkgZG9tYWluIElELgorICAgICAgICAgICAgICAqIFN1Y2ggdXBkYXRpbmcg
dGhlcmVmb3JlIGlzIG5vdCBhIHByb2JsZW0gaWYgdGhpcyB3YXMgdGhlIG9u
bHkKKyAgICAgICAgICAgICAgKiBkZXZpY2UgYXNzb2NpYXRlZCB3aXRoIHRo
ZSBvbGQgZG9tYWluIElELiAgRGl2ZXJ0aW5nIEkvTyBvZiBhbnkKKyAgICAg
ICAgICAgICAgKiBvZiBhIGR5aW5nIGRvbWFpbidzIGRldmljZXMgdG8gdGhl
IHF1YXJhbnRpbmUgcGFnZSB0YWJsZXMgaXMKKyAgICAgICAgICAgICAgKiBp
bnRlbmRlZCBhbnl3YXkuCisgICAgICAgICAgICAgICovCisgICAgICAgICAg
ICAgIXBkZXYtPmRvbWFpbi0+aXNfZHlpbmcgJiYKKyAgICAgICAgICAgICAo
YW55X3BkZXZfYmVoaW5kX2lvbW11KHBkZXYtPmRvbWFpbiwgcGRldiwgaW9t
bXUpIHx8CisgICAgICAgICAgICAgIHBkZXYtPnBoYW50b21fc3RyaWRlKSAp
CisgICAgICAgICAgICBBTURfSU9NTVVfV0FSTigiICVwcDogcmVhc3NpZ25t
ZW50IG1heSBjYXVzZSAlcGQgZGF0YSBjb3JydXB0aW9uXG4iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJlBDSV9TQkRGMyhwZGV2LT5zZWcsIGJ1
cywgZGV2Zm4pLCBwZGV2LT5kb21haW4pOworCisgICAgICAgIC8qCisgICAg
ICAgICAqIENoZWNrIHJlbWFpbmluZyBzZXR0aW5ncyBhcmUgc3RpbGwgaW4g
cGxhY2UgZnJvbSBhbiBlYXJsaWVyIGNhbGwKKyAgICAgICAgICogaGVyZS4g
VGhleSdyZSBhbGwgaW5kZXBlbmRlbnQgb2YgdGhlIGRvbWFpbiwgc28gc2hv
dWxkIG5vdCBoYXZlCisgICAgICAgICAqIGNoYW5nZWQuCisgICAgICAgICAq
LworICAgICAgICBpZiAoIGR0ZS0+aXRfcm9vdCApCisgICAgICAgICAgICBB
U1NFUlQoZHRlLT5pbnRfY3RsID09IElPTU1VX0RFVl9UQUJMRV9JTlRfQ09O
VFJPTF9UUkFOU0xBVEVEKTsKKyAgICAgICAgQVNTRVJUKGR0ZS0+aXYgPT0g
aW9tbXVfaW50cmVtYXApOworICAgICAgICBBU1NFUlQoZHRlLT5leCA9PSBp
dnJzX2Rldi0+ZHRlX2FsbG93X2V4Y2x1c2lvbik7CisgICAgICAgIEFTU0VS
VChkdGUtPnN5c19tZ3QgPT0gTUFTS19FWFRSKGl2cnNfZGV2LT5kZXZpY2Vf
ZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEFDUElfSVZIRF9TWVNURU1fTUdNVCkpOwogCi0gICAgICAgIEFNRF9J
T01NVV9ERUJVRygiU2V0dXAgSS9PIHBhZ2UgdGFibGU6IGRldmljZSBpZCA9
ICUjeCwgdHlwZSA9ICUjeCwgIgotICAgICAgICAgICAgICAgICAgICAgICAg
InJvb3QgdGFibGUgPSAlIyJQUkl4NjQiLCAiCi0gICAgICAgICAgICAgICAg
ICAgICAgICAiZG9tYWluID0gJWQsIHBhZ2luZyBtb2RlID0gJWRcbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICByZXFfaWQsIHBkZXYtPnR5cGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBwYWdlX3RvX21hZGRyKGhkLT5hcmNo
LmFtZC5yb290X3RhYmxlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGRv
bWFpbi0+ZG9tYWluX2lkLCBoZC0+YXJjaC5hbWQucGFnaW5nX21vZGUpOwor
ICAgICAgICBpZiAoIHBjaV9hdHNfZGV2aWNlKGlvbW11LT5zZWcsIGJ1cywg
cGRldi0+ZGV2Zm4pICYmCisgICAgICAgICAgICAgIWl2cnNfZGV2LT5ibG9j
a19hdHMgJiYKKyAgICAgICAgICAgICBpb21tdV9oYXNfY2FwKGlvbW11LCBQ
Q0lfQ0FQX0lPVExCX1NISUZUKSApCisgICAgICAgICAgICBBU1NFUlQoZHRl
LT5pID09IGF0c19lbmFibGVkKTsKKworICAgICAgICBzcGluX3VubG9ja19p
cnFyZXN0b3JlKCZpb21tdS0+bG9jaywgZmxhZ3MpOworCisgICAgICAgIGFt
ZF9pb21tdV9mbHVzaF9kZXZpY2UoaW9tbXUsIHJlcV9pZCk7CiAgICAgfQog
ICAgIGVsc2UKICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9t
bXUtPmxvY2ssIGZsYWdzKTsKIAorICAgIEFNRF9JT01NVV9ERUJVRygiU2V0
dXAgSS9PIHBhZ2UgdGFibGU6IGRldmljZSBpZCA9ICUjeCwgdHlwZSA9ICUj
eCwgIgorICAgICAgICAgICAgICAgICAgICAicm9vdCB0YWJsZSA9ICUjIlBS
SXg2NCIsICIKKyAgICAgICAgICAgICAgICAgICAgImRvbWFpbiA9ICVkLCBw
YWdpbmcgbW9kZSA9ICVkXG4iLAorICAgICAgICAgICAgICAgICAgICByZXFf
aWQsIHBkZXYtPnR5cGUsCisgICAgICAgICAgICAgICAgICAgIHBhZ2VfdG9f
bWFkZHIoaGQtPmFyY2guYW1kLnJvb3RfdGFibGUpLAorICAgICAgICAgICAg
ICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwgaGQtPmFyY2guYW1kLnBhZ2lu
Z19tb2RlKTsKKwogICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKIAog
ICAgIGlmICggcGNpX2F0c19kZXZpY2UoaW9tbXUtPnNlZywgYnVzLCBwZGV2
LT5kZXZmbikgJiYKQEAgLTM2Nyw3ICs0NTQsMjAgQEAgc3RhdGljIGludCBj
Zl9jaGVjayByZWFzc2lnbl9kZXZpY2UoCiAgICAgICAgIHJldHVybiAtRU5P
REVWOwogICAgIH0KIAotICAgIGFtZF9pb21tdV9kaXNhYmxlX2RvbWFpbl9k
ZXZpY2Uoc291cmNlLCBpb21tdSwgZGV2Zm4sIHBkZXYpOworICAgIGlmICgg
IVFVQVJBTlRJTkVfU0tJUCh0YXJnZXQpICkKKyAgICB7CisgICAgICAgIHJj
ID0gYW1kX2lvbW11X3NldHVwX2RvbWFpbl9kZXZpY2UodGFyZ2V0LCBpb21t
dSwgZGV2Zm4sIHBkZXYpOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAg
ICAgIHJldHVybiByYzsKKyAgICB9CisgICAgZWxzZQorICAgICAgICBhbWRf
aW9tbXVfZGlzYWJsZV9kb21haW5fZGV2aWNlKHNvdXJjZSwgaW9tbXUsIGRl
dmZuLCBwZGV2KTsKKworICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4g
JiYgcGRldi0+ZG9tYWluICE9IHRhcmdldCApCisgICAgeworICAgICAgICBs
aXN0X21vdmUoJnBkZXYtPmRvbWFpbl9saXN0LCAmdGFyZ2V0LT5wZGV2X2xp
c3QpOworICAgICAgICBwZGV2LT5kb21haW4gPSB0YXJnZXQ7CisgICAgfQog
CiAgICAgLyoKICAgICAgKiBJZiB0aGUgZGV2aWNlIGJlbG9uZ3MgdG8gdGhl
IGhhcmR3YXJlIGRvbWFpbiwgYW5kIGl0IGhhcyBhIHVuaXR5IG1hcHBpbmcs
CkBAIC0zODMsMjUgKzQ4Myw5IEBAIHN0YXRpYyBpbnQgY2ZfY2hlY2sgcmVh
c3NpZ25fZGV2aWNlKAogICAgICAgICAgICAgcmV0dXJuIHJjOwogICAgIH0K
IAotICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+ZG9t
YWluICE9IGRvbV9pbyApCi0gICAgewotICAgICAgICBsaXN0X21vdmUoJnBk
ZXYtPmRvbWFpbl9saXN0LCAmZG9tX2lvLT5wZGV2X2xpc3QpOwotICAgICAg
ICBwZGV2LT5kb21haW4gPSBkb21faW87Ci0gICAgfQotCi0gICAgcmMgPSBh
bWRfaW9tbXVfc2V0dXBfZG9tYWluX2RldmljZSh0YXJnZXQsIGlvbW11LCBk
ZXZmbiwgcGRldik7Ci0gICAgaWYgKCByYyApCi0gICAgICAgIHJldHVybiBy
YzsKLQogICAgIEFNRF9JT01NVV9ERUJVRygiUmUtYXNzaWduICVwcCBmcm9t
IGRvbSVkIHRvIGRvbSVkXG4iLAogICAgICAgICAgICAgICAgICAgICAmcGRl
di0+c2JkZiwgc291cmNlLT5kb21haW5faWQsIHRhcmdldC0+ZG9tYWluX2lk
KTsKIAotICAgIGlmICggZGV2Zm4gPT0gcGRldi0+ZGV2Zm4gJiYgcGRldi0+
ZG9tYWluICE9IHRhcmdldCApCi0gICAgewotICAgICAgICBsaXN0X21vdmUo
JnBkZXYtPmRvbWFpbl9saXN0LCAmdGFyZ2V0LT5wZGV2X2xpc3QpOwotICAg
ICAgICBwZGV2LT5kb21haW4gPSB0YXJnZXQ7Ci0gICAgfQotCiAgICAgcmV0
dXJuIDA7CiB9CiAK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBwcmVwYXJlIGZvciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFn
ZSB0YWJsZXMgKHBhcnQgSSkKCkFycmFuZ2UgZm9yIGRvbWFpbiBJRCBhbmQg
cGFnZSB0YWJsZSByb290IHRvIGJlIHBhc3NlZCBhcm91bmQsIHRoZSBsYXR0
ZXIgaW4KcGFydGljdWxhciB0byBkb21haW5fcGdkX21hZGRyKCkgc3VjaCB0
aGF0IHRha2luZyBpdCBmcm9tIHRoZSBwZXItZG9tYWluCmZpZWxkcyBjYW4g
YmUgb3ZlcnJpZGRlbi4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVk
LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5A
aW50ZWwuY29tPgotLS0Kdjc6IFJlLWJhc2UuCnY1OiBBbHNvIHBhc3MgYXJv
dW5kIGRvbWFpbiBJRC4KdjQ6IERyb3Agc3RyYXkgaW5zZXJ0aW9uIG9mIGEg
YmxhbmsgbGluZSBpbiB0aGUgbWlkZGxlIG9mIGEgY29tbWVudC4KICAgIFJl
LWJhc2Ugb3ZlciBuZXcgZWFybGllciBwYXRjaCBhbmQgb3RoZXIgY2hhbmdl
cyBlYXJsaWVyIGluIHRoZQogICAgc2VyaWVzLgp2MzogUmUtYmFzZSBvdmVy
IGNoYW5nZXMgZWFybGllciBpbiB0aGUgc2VyaWVzLgp2MjogTmV3LgoKLS0t
IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2V4dGVybi5oCisrKyBi
L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9leHRlcm4uaApAQCAtODIs
OSArODIsMTAgQEAgdm9pZCAqbWFwX3Z0ZF9kb21haW5fcGFnZSh1NjQgbWFk
ZHIpOwogdm9pZCB1bm1hcF92dGRfZG9tYWluX3BhZ2UoY29uc3Qgdm9pZCAq
dmEpOwogaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKHN0cnVjdCBk
b21haW4gKmRvbWFpbiwgc3RydWN0IHZ0ZF9pb21tdSAqaW9tbXUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBidXMsIHVpbnQ4
X3QgZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVuc2lnbmVkIGludCBtb2RlKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
cGNpX2RldiAqcGRldiwgZG9taWRfdCBkb21pZCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYWRkcl90IHBnZF9tYWRkciwgdW5zaWduZWQg
aW50IG1vZGUpOwogaW50IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShzdHJ1
Y3QgZG9tYWluICpkb21haW4sIHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBidXMsIHU4IGRldmZu
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBidXMs
IHVpbnQ4X3QgZGV2Zm4sIGRvbWlkX3QgZG9taWQpOwogaW50IGNmX2NoZWNr
IGludGVsX2lvbW11X2dldF9yZXNlcnZlZF9kZXZpY2VfbWVtb3J5KAogICAg
IGlvbW11X2dyZG1fdCAqZnVuYywgdm9pZCAqY3R4dCk7CiAKQEAgLTEwNSw3
ICsxMDYsOCBAQCB2b2lkIHBsYXRmb3JtX3F1aXJrc19pbml0KHZvaWQpOwog
dm9pZCB2dGRfb3BzX3ByZWFtYmxlX3F1aXJrKHN0cnVjdCB2dGRfaW9tbXUg
KmlvbW11KTsKIHZvaWQgdnRkX29wc19wb3N0YW1ibGVfcXVpcmsoc3RydWN0
IHZ0ZF9pb21tdSAqaW9tbXUpOwogaW50IF9fbXVzdF9jaGVjayBtZV93aWZp
X3F1aXJrKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdWludDhfdCBidXMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBkZXZmbiwg
dW5zaWduZWQgaW50IG1vZGUpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQ4X3QgZGV2Zm4sIGRvbWlkX3QgZG9taWQsIHBhZGRyX3Qg
cGdkX21hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGludCBtb2RlKTsKIHZvaWQgcGNpX3Z0ZF9xdWlyayhjb25zdCBz
dHJ1Y3QgcGNpX2RldiAqKTsKIHZvaWQgcXVpcmtfaW9tbXVfY2FwcyhzdHJ1
Y3QgdnRkX2lvbW11ICppb21tdSk7CiAKLS0tIGEveGVuL2RyaXZlcnMvcGFz
c3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvdnRkL2lvbW11LmMKQEAgLTQzLDcgKzQzLDcgQEAKICNpbmNsdWRl
ICIuLi9hdHMuaCIKIAogLyogZG9tX2lvIGlzIHVzZWQgYXMgYSBzZW50aW5l
bCBmb3IgcXVhcmFudGluZWQgZGV2aWNlcyAqLwotI2RlZmluZSBRVUFSQU5U
SU5FX1NLSVAoZCkgKChkKSA9PSBkb21faW8gJiYgIWRvbV9pb21tdShkKS0+
YXJjaC52dGQucGdkX21hZGRyKQorI2RlZmluZSBRVUFSQU5USU5FX1NLSVAo
ZCwgcGdkX21hZGRyKSAoKGQpID09IGRvbV9pbyAmJiAhKHBnZF9tYWRkcikp
CiAKIC8qIFBvc3NpYmxlIHVuZmlsdGVyZWQgTEFQSUMvTVNJIG1lc3NhZ2Vz
IGZyb20gdW50cnVzdGVkIHNvdXJjZXM/ICovCiBib29sIF9fcmVhZF9tb3N0
bHkgdW50cnVzdGVkX21zaTsKQEAgLTM0NiwxNSArMzQ2LDE3IEBAIHN0YXRp
YyB1NjQgYWRkcl90b19kbWFfcGFnZV9tYWRkcihzdHJ1Y3QKICAgICByZXR1
cm4gcHRlX21hZGRyOwogfQogCi1zdGF0aWMgdWludDY0X3QgZG9tYWluX3Bn
ZF9tYWRkcihzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgbnJfcHRf
bGV2ZWxzKQorc3RhdGljIHBhZGRyX3QgZG9tYWluX3BnZF9tYWRkcihzdHJ1
Y3QgZG9tYWluICpkLCBwYWRkcl90IHBnZF9tYWRkciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG5yX3B0X2xldmVs
cykKIHsKICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21t
dShkKTsKLSAgICB1aW50NjRfdCBwZ2RfbWFkZHI7CiAgICAgdW5zaWduZWQg
aW50IGFnYXc7CiAKICAgICBBU1NFUlQoc3Bpbl9pc19sb2NrZWQoJmhkLT5h
cmNoLm1hcHBpbmdfbG9jaykpOwogCi0gICAgaWYgKCBpb21tdV91c2VfaGFw
X3B0KGQpICkKKyAgICBpZiAoIHBnZF9tYWRkciApCisgICAgICAgIC8qIG5v
dGhpbmcgKi87CisgICAgZWxzZSBpZiAoIGlvbW11X3VzZV9oYXBfcHQoZCkg
KQogICAgIHsKICAgICAgICAgcGFnZXRhYmxlX3QgcGd0ID0gcDJtX2dldF9w
YWdldGFibGUocDJtX2dldF9ob3N0cDJtKGQpKTsKIApAQCAtMTM3OSwxOCAr
MTM4MSwxOCBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAg
ICAgc3RydWN0IGRvbWFpbiAqZG9tYWluLAogICAgIHN0cnVjdCB2dGRfaW9t
bXUgKmlvbW11LAogICAgIHVpbnQ4X3QgYnVzLCB1aW50OF90IGRldmZuLCBj
b25zdCBzdHJ1Y3QgcGNpX2RldiAqcGRldiwKLSAgICB1bnNpZ25lZCBpbnQg
bW9kZSkKKyAgICBkb21pZF90IGRvbWlkLCBwYWRkcl90IHBnZF9tYWRkciwg
dW5zaWduZWQgaW50IG1vZGUpCiB7CiAgICAgc3RydWN0IGRvbWFpbl9pb21t
dSAqaGQgPSBkb21faW9tbXUoZG9tYWluKTsKICAgICBzdHJ1Y3QgY29udGV4
dF9lbnRyeSAqY29udGV4dCwgKmNvbnRleHRfZW50cmllcywgbGN0eHQ7CiAg
ICAgX191aW50MTI4X3Qgb2xkOwotICAgIHU2NCBtYWRkciwgcGdkX21hZGRy
OworICAgIHVpbnQ2NF90IG1hZGRyOwogICAgIHVpbnQxNl90IHNlZyA9IGlv
bW11LT5kcmhkLT5zZWdtZW50LCBwcmV2X2RpZCA9IDA7CiAgICAgc3RydWN0
IGRvbWFpbiAqcHJldl9kb20gPSBOVUxMOwogICAgIGludCByYywgcmV0Owog
ICAgIGJvb2xfdCBmbHVzaF9kZXZfaW90bGI7CiAKLSAgICBpZiAoIFFVQVJB
TlRJTkVfU0tJUChkb21haW4pICkKKyAgICBpZiAoIFFVQVJBTlRJTkVfU0tJ
UChkb21haW4sIHBnZF9tYWRkcikgKQogICAgICAgICByZXR1cm4gMDsKIAog
ICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKQEAgLTE0MjcsMTAgKzE0
MjksMTIgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAg
IH0KICAgICBlbHNlCiAgICAgeworICAgICAgICBwYWRkcl90IHJvb3Q7CisK
ICAgICAgICAgc3Bpbl9sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwog
Ci0gICAgICAgIHBnZF9tYWRkciA9IGRvbWFpbl9wZ2RfbWFkZHIoZG9tYWlu
LCBpb21tdS0+bnJfcHRfbGV2ZWxzKTsKLSAgICAgICAgaWYgKCAhcGdkX21h
ZGRyICkKKyAgICAgICAgcm9vdCA9IGRvbWFpbl9wZ2RfbWFkZHIoZG9tYWlu
LCBwZ2RfbWFkZHIsIGlvbW11LT5ucl9wdF9sZXZlbHMpOworICAgICAgICBp
ZiAoICFyb290ICkKICAgICAgICAgewogICAgICAgICAgICAgc3Bpbl91bmxv
Y2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CiAgICAgICAgICAgICBzcGlu
X3VubG9jaygmaW9tbXUtPmxvY2spOwpAQCAtMTQ0MCw3ICsxNDQ0LDcgQEAg
aW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAogICAgICAgICAgICAg
cmV0dXJuIC1FTk9NRU07CiAgICAgICAgIH0KIAotICAgICAgICBjb250ZXh0
X3NldF9hZGRyZXNzX3Jvb3QobGN0eHQsIHBnZF9tYWRkcik7CisgICAgICAg
IGNvbnRleHRfc2V0X2FkZHJlc3Nfcm9vdChsY3R4dCwgcm9vdCk7CiAgICAg
ICAgIGlmICggYXRzX2VuYWJsZWQgJiYgZWNhcF9kZXZfaW90bGIoaW9tbXUt
PmVjYXApICkKICAgICAgICAgICAgIGNvbnRleHRfc2V0X3RyYW5zbGF0aW9u
X3R5cGUobGN0eHQsIENPTlRFWFRfVFRfREVWX0lPVExCKTsKICAgICAgICAg
ZWxzZQpAQCAtMTU1NywxNSArMTU2MSwyMSBAQCBpbnQgZG9tYWluX2NvbnRl
eHRfbWFwcGluZ19vbmUoCiAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNv
bnRleHRfZW50cmllcyk7CiAKICAgICBpZiAoICFzZWcgJiYgIXJjICkKLSAg
ICAgICAgcmMgPSBtZV93aWZpX3F1aXJrKGRvbWFpbiwgYnVzLCBkZXZmbiwg
bW9kZSk7CisgICAgICAgIHJjID0gbWVfd2lmaV9xdWlyayhkb21haW4sIGJ1
cywgZGV2Zm4sIGRvbWlkLCBwZ2RfbWFkZHIsIG1vZGUpOwogCiAgICAgaWYg
KCByYyApCiAgICAgewogICAgICAgICBpZiAoICFwcmV2X2RvbSApCi0gICAg
ICAgICAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWlu
LCBpb21tdSwgYnVzLCBkZXZmbik7CisgICAgICAgICAgICByZXQgPSBkb21h
aW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwgYnVzLCBkZXZm
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkb21haW4tPmRvbWFpbl9pZCk7CiAgICAgICAgIGVsc2UgaWYgKCBwcmV2
X2RvbSAhPSBkb21haW4gKSAvKiBBdm9pZCBpbmZpbml0ZSByZWN1cnNpb24u
ICovCisgICAgICAgIHsKKyAgICAgICAgICAgIGhkID0gZG9tX2lvbW11KHBy
ZXZfZG9tKTsKICAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21h
cHBpbmdfb25lKHByZXZfZG9tLCBpb21tdSwgYnVzLCBkZXZmbiwgcGRldiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRvbWFpbi0+ZG9tYWluX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGQtPmFyY2gudnRkLnBnZF9tYWRkciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1vZGUgJiBNQVBfV0lUSF9STVJSKSA8IDA7CisgICAgICAgIH0KICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgcmV0ID0gMTsKIApAQCAtMTU4Nyw2ICsx
NTk3LDcgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0
cnVjdAogewogICAgIGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJo
ZCA9IGFjcGlfZmluZF9tYXRjaGVkX2RyaGRfdW5pdChwZGV2KTsKICAgICBj
b25zdCBzdHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnI7CisgICAgcGFkZHJf
dCBwZ2RfbWFkZHIgPSBkb21faW9tbXUoZG9tYWluKS0+YXJjaC52dGQucGdk
X21hZGRyOwogICAgIGludCByZXQgPSAwOwogICAgIHVuc2lnbmVkIGludCBp
LCBtb2RlID0gMDsKICAgICB1aW50MTZfdCBzZWcgPSBwZGV2LT5zZWcsIGJk
ZjsKQEAgLTE2NDksNyArMTY2MCw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2Nv
bnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICAgIHByaW50ayhWVERQ
UkVGSVggIiVwZDpQQ0llOiBtYXAgJXBwXG4iLAogICAgICAgICAgICAgICAg
ICAgIGRvbWFpbiwgJlBDSV9TQkRGMyhzZWcsIGJ1cywgZGV2Zm4pKTsKICAg
ICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWlu
LCBkcmhkLT5pb21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGRldiwgbW9kZSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYsIGRvbWFp
bi0+ZG9tYWluX2lkLCBwZ2RfbWFkZHIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1vZGUpOwogICAgICAgICBpZiAoIHJl
dCA+IDAgKQogICAgICAgICAgICAgcmV0ID0gMDsKICAgICAgICAgaWYgKCAh
cmV0ICYmIGRldmZuID09IHBkZXYtPmRldmZuICYmIGF0c19kZXZpY2UocGRl
diwgZHJoZCkgPiAwICkKQEAgLTE2NjYsNyArMTY3OCw4IEBAIHN0YXRpYyBp
bnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICAg
ICAgICAgICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZuKSk7
CiAKICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUo
ZG9tYWluLCBkcmhkLT5pb21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRldiwgbW9kZSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYs
IGRvbWFpbi0+ZG9tYWluX2lkLCBwZ2RfbWFkZHIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUpOwogICAgICAgICBp
ZiAoIHJldCA8IDAgKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHBy
ZXZfcHJlc2VudCA9IHJldDsKQEAgLTE2OTQsNyArMTcwNyw4IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAg
ICovCiAgICAgICAgIGlmICggcmV0ID49IDAgKQogICAgICAgICAgICAgcmV0
ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5p
b21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwsIG1vZGUpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgZG9tYWlu
LT5kb21haW5faWQsIHBnZF9tYWRkciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUpOwogCiAgICAgICAgIC8q
CiAgICAgICAgICAqIERldmljZXMgYmVoaW5kIFBDSWUtdG8tUENJL1BDSXgg
YnJpZGdlIG1heSBnZW5lcmF0ZSBkaWZmZXJlbnQKQEAgLTE3MDksNyArMTcy
Myw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1
Y3QKICAgICAgICAgaWYgKCAhcmV0ICYmIHBkZXZfdHlwZShzZWcsIGJ1cywg
ZGV2Zm4pID09IERFVl9UWVBFX1BDSWUyUENJX0JSSURHRSAmJgogICAgICAg
ICAgICAgIChzZWNidXMgIT0gcGRldi0+YnVzIHx8IHBkZXYtPmRldmZuICE9
IDApICkKICAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBp
bmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIHNlY2J1cywgMCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEws
IG1vZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTlVMTCwgZG9tYWluLT5kb21haW5faWQsIHBnZF9tYWRkciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1vZGUpOwogCiAgICAgICAgIGlmICggcmV0ICkKICAgICAgICAgewpAQCAt
MTczNywxNCArMTc1MiwxNCBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0
X21hcHBpbmcoc3RydWN0CiBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXBfb25l
KAogICAgIHN0cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICBzdHJ1Y3QgdnRk
X2lvbW11ICppb21tdSwKLSAgICB1OCBidXMsIHU4IGRldmZuKQorICAgIHVp
bnQ4X3QgYnVzLCB1aW50OF90IGRldmZuLCBkb21pZF90IGRvbWlkKQogewog
ICAgIHN0cnVjdCBjb250ZXh0X2VudHJ5ICpjb250ZXh0LCAqY29udGV4dF9l
bnRyaWVzOwogICAgIHU2NCBtYWRkcjsKICAgICBpbnQgaW9tbXVfZG9taWQs
IHJjLCByZXQ7CiAgICAgYm9vbF90IGZsdXNoX2Rldl9pb3RsYjsKIAotICAg
IGlmICggUVVBUkFOVElORV9TS0lQKGRvbWFpbikgKQorICAgIGlmICggUVVB
UkFOVElORV9TS0lQKGRvbWFpbiwgZG9tX2lvbW11KGRvbWFpbiktPmFyY2gu
dnRkLnBnZF9tYWRkcikgKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEFT
U0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKQEAgLTE3OTgsNyArMTgxMyw3IEBA
IGludCBkb21haW5fY29udGV4dF91bm1hcF9vbmUoCiAgICAgdW5tYXBfdnRk
X2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7CiAKICAgICBpZiAoICFp
b21tdS0+ZHJoZC0+c2VnbWVudCAmJiAhcmMgKQotICAgICAgICByYyA9IG1l
X3dpZmlfcXVpcmsoZG9tYWluLCBidXMsIGRldmZuLCBVTk1BUF9NRV9QSEFO
VE9NX0ZVTkMpOworICAgICAgICByYyA9IG1lX3dpZmlfcXVpcmsoZG9tYWlu
LCBidXMsIGRldmZuLCBkb21pZCwgMCwgVU5NQVBfTUVfUEhBTlRPTV9GVU5D
KTsKIAogICAgIGlmICggcmMgJiYgIWlzX2hhcmR3YXJlX2RvbWFpbihkb21h
aW4pICYmIGRvbWFpbiAhPSBkb21faW8gKQogICAgIHsKQEAgLTE4NDUsNyAr
MTg2MCw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXAoc3Ry
dWN0IGQKICAgICAgICAgaWYgKCBpb21tdV9kZWJ1ZyApCiAgICAgICAgICAg
ICBwcmludGsoVlREUFJFRklYICIlcGQ6UENJZTogdW5tYXAgJXBwXG4iLAog
ICAgICAgICAgICAgICAgICAgIGRvbWFpbiwgJlBDSV9TQkRGMyhzZWcsIGJ1
cywgZGV2Zm4pKTsKLSAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5t
YXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4pOworICAgICAgICBy
ZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwg
YnVzLCBkZXZmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKICAgICAgICAgaWYgKCAhcmV0
ICYmIGRldmZuID09IHBkZXYtPmRldmZuICYmIGF0c19kZXZpY2UocGRldiwg
ZHJoZCkgPiAwICkKICAgICAgICAgICAgIGRpc2FibGVfYXRzX2RldmljZShw
ZGV2KTsKIApAQCAtMTg1OCw3ICsxODc0LDggQEAgc3RhdGljIGludCBkb21h
aW5fY29udGV4dF91bm1hcChzdHJ1Y3QgZAogICAgICAgICBpZiAoIGlvbW11
X2RlYnVnICkKICAgICAgICAgICAgIHByaW50ayhWVERQUkVGSVggIiVwZDpQ
Q0k6IHVubWFwICVwcFxuIiwKICAgICAgICAgICAgICAgICAgICBkb21haW4s
ICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZuKSk7Ci0gICAgICAgIHJldCA9
IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCBidXMs
IGRldmZuKTsKKyAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBf
b25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCk7
CiAgICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIGJyZWFrOwogCkBA
IC0xODg0LDEyICsxOTAxLDE1IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRl
eHRfdW5tYXAoc3RydWN0IGQKICAgICAgICAgLyogUENJZSB0byBQQ0kvUENJ
eCBicmlkZ2UgKi8KICAgICAgICAgaWYgKCBwZGV2X3R5cGUoc2VnLCB0bXBf
YnVzLCB0bXBfZGV2Zm4pID09IERFVl9UWVBFX1BDSWUyUENJX0JSSURHRSAp
CiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0
X3VubWFwX29uZShkb21haW4sIGlvbW11LCB0bXBfYnVzLCB0bXBfZGV2Zm4p
OworICAgICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25l
KGRvbWFpbiwgaW9tbXUsIHRtcF9idXMsIHRtcF9kZXZmbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRv
bWFpbl9pZCk7CiAgICAgICAgICAgICBpZiAoICFyZXQgKQotICAgICAgICAg
ICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4s
IGlvbW11LCBzZWNidXMsIDApOworICAgICAgICAgICAgICAgIHJldCA9IGRv
bWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCBzZWNidXMs
IDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKICAgICAgICAgfQogICAgICAg
ICBlbHNlIC8qIExlZ2FjeSBQQ0kgYnJpZGdlICovCi0gICAgICAgICAgICBy
ZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21tdSwg
dG1wX2J1cywgdG1wX2RldmZuKTsKKyAgICAgICAgICAgIHJldCA9IGRvbWFp
bl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCB0bXBfYnVzLCB0
bXBfZGV2Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOwogCiAgICAgICAgIGJyZWFr
OwogCkBAIC0xODk5LDcgKzE5MTksOCBAQCBzdGF0aWMgaW50IGRvbWFpbl9j
b250ZXh0X3VubWFwKHN0cnVjdCBkCiAgICAgICAgIHJldHVybiAtRUlOVkFM
OwogICAgIH0KIAotICAgIGlmICggIXJldCAmJiAhUVVBUkFOVElORV9TS0lQ
KGRvbWFpbikgJiYgcGRldi0+ZGV2Zm4gPT0gZGV2Zm4gKQorICAgIGlmICgg
IXJldCAmJiBwZGV2LT5kZXZmbiA9PSBkZXZmbiAmJgorICAgICAgICAgIVFV
QVJBTlRJTkVfU0tJUChkb21haW4sIGRvbV9pb21tdShkb21haW4pLT5hcmNo
LnZ0ZC5wZ2RfbWFkZHIpICkKICAgICAgICAgY2hlY2tfY2xlYW51cF9kb21p
ZF9tYXAoZG9tYWluLCBwZGV2LCBpb21tdSk7CiAKICAgICByZXR1cm4gcmV0
OwpAQCAtMjUwNiw3ICsyNTI3LDcgQEAgc3RhdGljIGludCBjZl9jaGVjayBy
ZWFzc2lnbl9kZXZpY2Vfb3duZQogewogICAgIGludCByZXQ7CiAKLSAgICBp
ZiAoICFRVUFSQU5USU5FX1NLSVAodGFyZ2V0KSApCisgICAgaWYgKCAhUVVB
UkFOVElORV9TS0lQKHRhcmdldCwgZG9tX2lvbW11KHRhcmdldCktPmFyY2gu
dnRkLnBnZF9tYWRkcikgKQogICAgIHsKICAgICAgICAgaWYgKCAhaGFzX2Fy
Y2hfcGRldnModGFyZ2V0KSApCiAgICAgICAgICAgICB2bXhfcGlfaG9va3Nf
YXNzaWduKHRhcmdldCk7CkBAIC0yNTIyLDcgKzI1NDMsOCBAQCBzdGF0aWMg
aW50IGNmX2NoZWNrIHJlYXNzaWduX2RldmljZV9vd25lCiAKICAgICAgICAg
cmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZyh0YXJnZXQsIGRldmZuLCBw
ZGV2KTsKIAotICAgICAgICBpZiAoICFyZXQgJiYgIVFVQVJBTlRJTkVfU0tJ
UChzb3VyY2UpICYmIHBkZXYtPmRldmZuID09IGRldmZuICkKKyAgICAgICAg
aWYgKCAhcmV0ICYmIHBkZXYtPmRldmZuID09IGRldmZuICYmCisgICAgICAg
ICAgICAgIVFVQVJBTlRJTkVfU0tJUChzb3VyY2UsIGRvbV9pb21tdShzb3Vy
Y2UpLT5hcmNoLnZ0ZC5wZ2RfbWFkZHIpICkKICAgICAgICAgewogICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkID0gYWNw
aV9maW5kX21hdGNoZWRfZHJoZF91bml0KHBkZXYpOwogCi0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xdWlya3MuYworKysgYi94ZW4vZHJp
dmVycy9wYXNzdGhyb3VnaC92dGQvcXVpcmtzLmMKQEAgLTQwOCw2ICs0MDgs
OCBAQCB2b2lkIF9faW5pdCBwbGF0Zm9ybV9xdWlya3NfaW5pdCh2b2lkKQog
CiBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBtYXBfbWVfcGhhbnRvbV9mdW5j
dGlvbihzdHJ1Y3QgZG9tYWluICpkb21haW4sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg
ZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG9taWRfdCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3QgcGdkX21hZGRy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAgICAgc3RydWN0IGFjcGlf
ZHJoZF91bml0ICpkcmhkOwpAQCAtNDIxLDE2ICs0MjMsMTcgQEAgc3RhdGlj
IGludCBfX211c3RfY2hlY2sgbWFwX21lX3BoYW50b21fZgogICAgIC8qIG1h
cCBvciB1bm1hcCBNRSBwaGFudG9tIGZ1bmN0aW9uICovCiAgICAgaWYgKCAh
KG1vZGUgJiBVTk1BUF9NRV9QSEFOVE9NX0ZVTkMpICkKICAgICAgICAgcmMg
PSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21haW4sIGRyaGQtPmlv
bW11LCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFBDSV9ERVZGTihkZXYsIDcpLCBOVUxMLCBtb2RlKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfREVWRk4oZGV2
LCA3KSwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkb21pZCwgcGdkX21hZGRyLCBtb2RlKTsKICAgICBlbHNlCiAg
ICAgICAgIHJjID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwg
ZHJoZC0+aW9tbXUsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFBDSV9ERVZGTihkZXYsIDcpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUENJX0RFVkZOKGRldiwgNyksIGRv
bWlkKTsKIAogICAgIHJldHVybiByYzsKIH0KIAogaW50IG1lX3dpZmlfcXVp
cmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1aW50OF90IGJ1cywgdWludDhf
dCBkZXZmbiwKLSAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtb2Rl
KQorICAgICAgICAgICAgICAgICAgZG9taWRfdCBkb21pZCwgcGFkZHJfdCBw
Z2RfbWFkZHIsIHVuc2lnbmVkIGludCBtb2RlKQogewogICAgIHUzMiBpZDsK
ICAgICBpbnQgcmMgPSAwOwpAQCAtNDU0LDcgKzQ1Nyw3IEBAIGludCBtZV93
aWZpX3F1aXJrKHN0cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICAgICAgICAg
IGNhc2UgMHg0MjNiODA4NjoKICAgICAgICAgICAgIGNhc2UgMHg0MjNjODA4
NjoKICAgICAgICAgICAgIGNhc2UgMHg0MjNkODA4NjoKLSAgICAgICAgICAg
ICAgICByYyA9IG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKGRvbWFpbiwgMywg
bW9kZSk7CisgICAgICAgICAgICAgICAgcmMgPSBtYXBfbWVfcGhhbnRvbV9m
dW5jdGlvbihkb21haW4sIDMsIGRvbWlkLCBwZ2RfbWFkZHIsIG1vZGUpOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoK
ICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTQ4MCw3ICs0ODMsNyBAQCBp
bnQgbWVfd2lmaV9xdWlyayhzdHJ1Y3QgZG9tYWluICpkb21haW4sCiAgICAg
ICAgICAgICBjYXNlIDB4NDIzODgwODY6ICAgICAgICAvKiBQdW1hIFBlYWsg
Ki8KICAgICAgICAgICAgIGNhc2UgMHg0MjJiODA4NjoKICAgICAgICAgICAg
IGNhc2UgMHg0MjJjODA4NjoKLSAgICAgICAgICAgICAgICByYyA9IG1hcF9t
ZV9waGFudG9tX2Z1bmN0aW9uKGRvbWFpbiwgMjIsIG1vZGUpOworICAgICAg
ICAgICAgICAgIHJjID0gbWFwX21lX3BoYW50b21fZnVuY3Rpb24oZG9tYWlu
LCAyMiwgZG9taWQsIHBnZF9tYWRkciwgbW9kZSk7CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAg
ICAgIGJyZWFrOwo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBWVC1kOiBwcmVwYXJlIGZvciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFn
ZSB0YWJsZXMgKHBhcnQgSUkpCgpSZXBsYWNlIHRoZSBwYXNzaW5nIG9mIHN0
cnVjdCBkb21haW4gKiBieSBkb21pZF90IGluIHByZXBhcmF0aW9uIG9mCnBl
ci1kZXZpY2UgcXVhcmFudGluZSBwYWdlIHRhYmxlcyBhbHNvIHJlcXVpcmlu
ZyBwZXItZGV2aWNlIHBzZXVkbwpkb21haW4gSURzLCB3aGljaCBhcmVuJ3Qg
Z29pbmcgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGFueSBzdHJ1Y3QgZG9tYWlu
Cmluc3RhbmNlcy4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkIChl
eGNlcHQgZm9yIHNsaWdodGx5IGFkanVzdGVkIGxvZyBtZXNzYWdlCnRleHQp
LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPgpSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsQHhlbi5vcmc+
ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNv
bT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj
aXRyaXguY29tPgotLS0KdjY6IGNvbnRleHRfc2V0X2RvbWFpbl9pZCgpJ3Mg
QVNTRVJUKCkgY2hhbmdlIG1vdmVkIHRvIGEgbGF0ZXIgcGF0Y2guCnY1OiBO
ZXcuCgotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUu
YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpA
QCAtNzksMjggKzc5LDI4IEBAIHN0YXRpYyBkb21pZF90IGNvbnZlcnRfZG9t
aWQoY29uc3Qgc3RydWMKICAgICByZXR1cm4gIWNhcF9jYWNoaW5nX21vZGUo
aW9tbXUtPmNhcCkgPyBkb21pZCA6IH5kb21pZDsKIH0KIAotc3RhdGljIGlu
dCBkb21haW5faW9tbXVfZG9taWQoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB2
dGRfaW9tbXUgKmlvbW11KQorc3RhdGljIGludCBnZXRfaW9tbXVfZGlkKGRv
bWlkX3QgZG9taWQsIGNvbnN0IHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11LAor
ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgd2FybikKIHsKICAgICB1
bnNpZ25lZCBpbnQgbnJfZG9tLCBpOwogCiAgICAgaWYgKCAhZG9taWRfbWFw
cGluZyhpb21tdSkgKQotICAgICAgICByZXR1cm4gY29udmVydF9kb21pZChp
b21tdSwgZC0+ZG9tYWluX2lkKTsKKyAgICAgICAgcmV0dXJuIGNvbnZlcnRf
ZG9taWQoaW9tbXUsIGRvbWlkKTsKIAogICAgIG5yX2RvbSA9IGNhcF9uZG9t
cyhpb21tdS0+Y2FwKTsKICAgICBpID0gZmluZF9maXJzdF9iaXQoaW9tbXUt
PmRvbWlkX2JpdG1hcCwgbnJfZG9tKTsKICAgICB3aGlsZSAoIGkgPCBucl9k
b20gKQogICAgIHsKLSAgICAgICAgaWYgKCBpb21tdS0+ZG9taWRfbWFwW2ld
ID09IGQtPmRvbWFpbl9pZCApCisgICAgICAgIGlmICggaW9tbXUtPmRvbWlk
X21hcFtpXSA9PSBkb21pZCApCiAgICAgICAgICAgICByZXR1cm4gaTsKIAog
ICAgICAgICBpID0gZmluZF9uZXh0X2JpdChpb21tdS0+ZG9taWRfYml0bWFw
LCBucl9kb20sIGkgKyAxKTsKICAgICB9CiAKLSAgICBpZiAoICFkLT5pc19k
eWluZyApCisgICAgaWYgKCB3YXJuICkKICAgICAgICAgZHByaW50ayhYRU5M
T0dfRVJSIFZURFBSRUZJWCwKLSAgICAgICAgICAgICAgICAiQ2Fubm90IGdl
dCB2YWxpZCBpb21tdSAldSBkb21pZDogJXBkXG4iLAotICAgICAgICAgICAg
ICAgIGlvbW11LT5pbmRleCwgZCk7CisgICAgICAgICAgICAgICAgIk5vIHZh
bGlkIGlvbW11ICV1IGRvbWlkIGZvciBEb20lZFxuIiwKKyAgICAgICAgICAg
ICAgICBpb21tdS0+aW5kZXgsIGRvbWlkKTsKIAogICAgIHJldHVybiAtMTsK
IH0KQEAgLTEwOCw4ICsxMDgsNyBAQCBzdGF0aWMgaW50IGRvbWFpbl9pb21t
dV9kb21pZChjb25zdCBzdHJ1CiAjZGVmaW5lIERJRF9GSUVMRF9XSURUSCAx
NgogI2RlZmluZSBESURfSElHSF9PRkZTRVQgOAogc3RhdGljIGludCBjb250
ZXh0X3NldF9kb21haW5faWQoc3RydWN0IGNvbnRleHRfZW50cnkgKmNvbnRl
eHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgZG9tYWluICpkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IHZ0ZF9pb21tdSAqaW9tbXUpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkb21pZF90IGRvbWlkLCBzdHJ1Y3QgdnRk
X2lvbW11ICppb21tdSkKIHsKICAgICB1bnNpZ25lZCBpbnQgaTsKIApAQCAt
MTIwLDcgKzExOSw3IEBAIHN0YXRpYyBpbnQgY29udGV4dF9zZXRfZG9tYWlu
X2lkKHN0cnVjdAogICAgICAgICB1bnNpZ25lZCBpbnQgbnJfZG9tID0gY2Fw
X25kb21zKGlvbW11LT5jYXApOwogCiAgICAgICAgIGkgPSBmaW5kX2ZpcnN0
X2JpdChpb21tdS0+ZG9taWRfYml0bWFwLCBucl9kb20pOwotICAgICAgICB3
aGlsZSAoIGkgPCBucl9kb20gJiYgaW9tbXUtPmRvbWlkX21hcFtpXSAhPSBk
LT5kb21haW5faWQgKQorICAgICAgICB3aGlsZSAoIGkgPCBucl9kb20gJiYg
aW9tbXUtPmRvbWlkX21hcFtpXSAhPSBkb21pZCApCiAgICAgICAgICAgICBp
ID0gZmluZF9uZXh0X2JpdChpb21tdS0+ZG9taWRfYml0bWFwLCBucl9kb20s
IGkgKyAxKTsKIAogICAgICAgICBpZiAoIGkgPj0gbnJfZG9tICkKQEAgLTEz
MSwyNiArMTMwLDI2IEBAIHN0YXRpYyBpbnQgY29udGV4dF9zZXRfZG9tYWlu
X2lkKHN0cnVjdAogICAgICAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0VS
UiBWVERQUkVGSVgsICJJT01NVTogbm8gZnJlZSBkb21haW4gaWRcbiIpOwog
ICAgICAgICAgICAgICAgIHJldHVybiAtRUJVU1k7CiAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICBpb21tdS0+ZG9taWRfbWFwW2ldID0gZC0+ZG9tYWlu
X2lkOworICAgICAgICAgICAgaW9tbXUtPmRvbWlkX21hcFtpXSA9IGRvbWlk
OwogICAgICAgICAgICAgc2V0X2JpdChpLCBpb21tdS0+ZG9taWRfYml0bWFw
KTsKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlCi0gICAgICAgIGkgPSBj
b252ZXJ0X2RvbWlkKGlvbW11LCBkLT5kb21haW5faWQpOworICAgICAgICBp
ID0gY29udmVydF9kb21pZChpb21tdSwgZG9taWQpOwogCiAgICAgY29udGV4
dC0+aGkgJj0gfigoKDEgPDwgRElEX0ZJRUxEX1dJRFRIKSAtIDEpIDw8IERJ
RF9ISUdIX09GRlNFVCk7CiAgICAgY29udGV4dC0+aGkgfD0gKGkgJiAoKDEg
PDwgRElEX0ZJRUxEX1dJRFRIKSAtIDEpKSA8PCBESURfSElHSF9PRkZTRVQ7
CiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGNsZWFudXBfZG9t
aWRfbWFwKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgc3RydWN0IHZ0ZF9pb21t
dSAqaW9tbXUpCitzdGF0aWMgdm9pZCBjbGVhbnVwX2RvbWlkX21hcChkb21p
ZF90IGRvbWlkLCBzdHJ1Y3QgdnRkX2lvbW11ICppb21tdSkKIHsKICAgICBp
bnQgaW9tbXVfZG9taWQ7CiAKICAgICBpZiAoICFkb21pZF9tYXBwaW5nKGlv
bW11KSApCiAgICAgICAgIHJldHVybjsKIAotICAgIGlvbW11X2RvbWlkID0g
ZG9tYWluX2lvbW11X2RvbWlkKGRvbWFpbiwgaW9tbXUpOworICAgIGlvbW11
X2RvbWlkID0gZ2V0X2lvbW11X2RpZChkb21pZCwgaW9tbXUsIGZhbHNlKTsK
IAogICAgIGlmICggaW9tbXVfZG9taWQgPj0gMCApCiAgICAgewpAQCAtMTkw
LDcgKzE4OSw3IEBAIHN0YXRpYyBib29sIGFueV9wZGV2X2JlaGluZF9pb21t
dShjb25zdAogICogSWYgbm8gb3RoZXIgZGV2aWNlcyB1bmRlciB0aGUgc2Ft
ZSBpb21tdSBvd25lZCBieSB0aGlzIGRvbWFpbiwKICAqIGNsZWFyIGlvbW11
IGluIGlvbW11X2JpdG1hcCBhbmQgY2xlYXIgZG9tYWluX2lkIGluIGRvbWlk
X2JpdG1hcC4KICAqLwotc3RhdGljIHZvaWQgY2hlY2tfY2xlYW51cF9kb21p
ZF9tYXAoc3RydWN0IGRvbWFpbiAqZCwKK3N0YXRpYyB2b2lkIGNoZWNrX2Ns
ZWFudXBfZG9taWRfbWFwKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
cGNpX2RldiAqZXhjbHVkZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCB2dGRfaW9tbXUgKmlvbW11KQogewpAQCAtMjA2
LDcgKzIwNSw3IEBAIHN0YXRpYyB2b2lkIGNoZWNrX2NsZWFudXBfZG9taWRf
bWFwKHN0cnUKICAgICBpZiAoICFmb3VuZCApCiAgICAgewogICAgICAgICBj
bGVhcl9iaXQoaW9tbXUtPmluZGV4LCBkb21faW9tbXUoZCktPmFyY2gudnRk
LmlvbW11X2JpdG1hcCk7Ci0gICAgICAgIGNsZWFudXBfZG9taWRfbWFwKGQs
IGlvbW11KTsKKyAgICAgICAgY2xlYW51cF9kb21pZF9tYXAoZC0+ZG9tYWlu
X2lkLCBpb21tdSk7CiAgICAgfQogfQogCkBAIC02NjcsNyArNjY2LDcgQEAg
c3RhdGljIGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfaW90bAogICAg
ICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgZmx1c2hfZGV2X2lvdGxi
ID0gISFmaW5kX2F0c19kZXZfZHJoZChpb21tdSk7Ci0gICAgICAgIGlvbW11
X2RvbWlkPSBkb21haW5faW9tbXVfZG9taWQoZCwgaW9tbXUpOworICAgICAg
ICBpb21tdV9kb21pZCA9IGdldF9pb21tdV9kaWQoZC0+ZG9tYWluX2lkLCBp
b21tdSwgIWQtPmlzX2R5aW5nKTsKICAgICAgICAgaWYgKCBpb21tdV9kb21p
ZCA9PSAtMSApCiAgICAgICAgICAgICBjb250aW51ZTsKIApAQCAtMTQ1Myw3
ICsxNDUyLDcgQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKAog
ICAgICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsK
ICAgICB9CiAKLSAgICByYyA9IGNvbnRleHRfc2V0X2RvbWFpbl9pZCgmbGN0
eHQsIGRvbWFpbiwgaW9tbXUpOworICAgIHJjID0gY29udGV4dF9zZXRfZG9t
YWluX2lkKCZsY3R4dCwgZG9taWQsIGlvbW11KTsKICAgICBpZiAoIHJjICkK
ICAgICB7CiAgICAgdW5sb2NrOgpAQCAtMTc4MCw3ICsxNzc5LDcgQEAgaW50
IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZSgKICAgICBjb250ZXh0X2NsZWFy
X2VudHJ5KCpjb250ZXh0KTsKICAgICBpb21tdV9zeW5jX2NhY2hlKGNvbnRl
eHQsIHNpemVvZihzdHJ1Y3QgY29udGV4dF9lbnRyeSkpOwogCi0gICAgaW9t
bXVfZG9taWQ9IGRvbWFpbl9pb21tdV9kb21pZChkb21haW4sIGlvbW11KTsK
KyAgICBpb21tdV9kb21pZCA9IGdldF9pb21tdV9kaWQoZG9taWQsIGlvbW11
LCAhZG9tYWluLT5pc19keWluZyk7CiAgICAgaWYgKCBpb21tdV9kb21pZCA9
PSAtMSApCiAgICAgewogICAgICAgICBzcGluX3VubG9jaygmaW9tbXUtPmxv
Y2spOwpAQCAtMTk0OCw3ICsxOTQ3LDcgQEAgc3RhdGljIHZvaWQgY2ZfY2hl
Y2sgaW9tbXVfZG9tYWluX3RlYXJkbwogICAgIEFTU0VSVCghaGQtPmFyY2gu
dnRkLnBnZF9tYWRkcik7CiAKICAgICBmb3JfZWFjaF9kcmhkX3VuaXQgKCBk
cmhkICkKLSAgICAgICAgY2xlYW51cF9kb21pZF9tYXAoZCwgZHJoZC0+aW9t
bXUpOworICAgICAgICBjbGVhbnVwX2RvbWlkX21hcChkLT5kb21haW5faWQs
IGRyaGQtPmlvbW11KTsKIAogICAgIFhGUkVFKGhkLT5hcmNoLnZ0ZC5pb21t
dV9iaXRtYXApOwogfQo=

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IG1haW50YWluIGEgcGVyLWRldmljZSBwc2V1ZG8gZG9t
YWluIElECgpJbiBvcmRlciB0byBzdWJzZXF1ZW50bHkgZW5hYmxlIHBlci1k
ZXZpY2UgcXVhcmFudGluZSBwYWdlIHRhYmxlcywgd2UnbGwKbmVlZCBkb21h
aW4tSUQtbGlrZSBpZGVudGlmaWVycyB0byBiZSBpbnNlcnRlZCBpbiB0aGUg
cmVzcGVjdGl2ZSBkZXZpY2UKKEFNRCkgb3IgY29udGV4dCAoSW50ZWwpIHRh
YmxlIGVudHJpZXMgYWxvbmdzaWRlIHRoZSBwZXItZGV2aWNlIHBhZ2UKdGFi
bGUgcm9vdCBhZGRyZXNzZXMuCgpNYWtlIHVzZSBvZiAicmVhbCIgZG9tYWlu
IElEcyBvY2N1cHlpbmcgb25seSBoYWxmIG9mIHRoZSB2YWx1ZSByYW5nZQpj
b3ZlcmFibGUgYnkgZG9taWRfdC4KCk5vdGUgdGhhdCBpbiBWVC1kJ3MgaW9t
bXVfYWxsb2MoKSBJIGRpZG4ndCB3YW50IHRvIGludHJvZHVjZSBuZXcgbWVt
b3J5CmxlYWtzIGluIGNhc2Ugb2YgZXJyb3IsIGJ1dCBleGlzdGluZyBvbmVz
IGRvbid0IGdldCBwbHVnZ2VkIC0gdGhhdCdsbCBiZQp0aGUgc3ViamVjdCBv
ZiBhIGxhdGVyIGNoYW5nZS4KClRoZSBWVC1kIGNoYW5nZXMgYXJlIHNsaWdo
dGx5IGFzeW1tZXRyaWMsIGJ1dCB0aGlzIHdheSB3ZSBjYW4gYXZvaWQKYXNz
aWduaW5nIHBzZXVkbyBkb21haW4gSURzIHRvIGRldmljZXMgd2hpY2ggd291
bGQgbmV2ZXIgYmUgbWFwcGVkIHdoaWxlCnN0aWxsIGF2b2lkaW5nIHRvIGFk
ZCBhIG5ldyBwYXJhbWV0ZXIgdG8gZG9tYWluX2NvbnRleHRfdW5tYXAoKS4K
ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4KUmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpS
ZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+
ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0
cml4LmNvbT4KLS0tCnY3OiBSZS1iYXNlLgp2NjogQWxzbyBhZGp1c3QgbnJf
ZG9tIHJhbmdlIGNoZWNrIGluIGlvbW11X2FsbG9jKCkuCnY1OiBOZXcuCgot
LS0gYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaW9tbXUuaAorKysgYi94
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaW9tbXUuaApAQCAtMTQxLDYgKzE0
MSwxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW9tbXVfc3luY19jYWNoZShj
b25zCiAgICAgICAgIGNhY2hlX3dyaXRlYmFjayhhZGRyLCBzaXplKTsKIH0K
IAordW5zaWduZWQgbG9uZyAqaW9tbXVfaW5pdF9kb21pZChkb21pZF90IHJl
c2VydmUpOworZG9taWRfdCBpb21tdV9hbGxvY19kb21pZCh1bnNpZ25lZCBs
b25nICptYXApOwordm9pZCBpb21tdV9mcmVlX2RvbWlkKGRvbWlkX3QgZG9t
aWQsIHVuc2lnbmVkIGxvbmcgKm1hcCk7CisKIGludCBfX211c3RfY2hlY2sg
aW9tbXVfZnJlZV9wZ3RhYmxlcyhzdHJ1Y3QgZG9tYWluICpkKTsKIHN0cnVj
dCBkb21haW5faW9tbXU7CiBzdHJ1Y3QgcGFnZV9pbmZvICpfX211c3RfY2hl
Y2sgaW9tbXVfYWxsb2NfcGd0YWJsZShzdHJ1Y3QgZG9tYWluX2lvbW11ICpo
ZCk7Ci0tLSBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wY2kuaAorKysg
Yi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vcGNpLmgKQEAgLTEzLDYgKzEz
LDEyIEBACiAKIHN0cnVjdCBhcmNoX3BjaV9kZXYgewogICAgIHZtYXNrX3Qg
dXNlZF92ZWN0b3JzOworICAgIC8qCisgICAgICogVGhlc2UgZmllbGRzIGFy
ZSAoZGUpaW5pdGlhbGl6ZWQgdW5kZXIgcGNpZGV2cy1sb2NrLiBPdGhlciB1
c2VzIG9mCisgICAgICogdGhlbSBkb24ndCByYWNlIChkZSlpbml0aWFsaXph
dGlvbiBhbmQgaGVuY2UgZG9uJ3Qgc3RyaWN0bHkgbmVlZCBhbnkKKyAgICAg
KiBsb2NraW5nLgorICAgICAqLworICAgIGRvbWlkX3QgcHNldWRvX2RvbWlk
OwogfTsKIAogaW50IHBjaV9jb25mX3dyaXRlX2ludGVyY2VwdCh1bnNpZ25l
ZCBpbnQgc2VnLCB1bnNpZ25lZCBpbnQgYmRmLApAQCAtMzYsNiArNDIsNiBA
QCBzdGF0aWMgYWx3YXlzX2lubGluZSBib29sIGlzX3BjaV9wYXNzdGhyCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBhcmNo
X3BjaV9pbml0X3BkZXYoc3RydWN0IHBjaV9kZXYgKnBkZXYpIHt9Cit2b2lk
IGFyY2hfcGNpX2luaXRfcGRldihzdHJ1Y3QgcGNpX2RldiAqcGRldik7CiAK
ICNlbmRpZiAvKiBfX1g4Nl9QQ0lfSF9fICovCi0tLSBhL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL2FtZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bh
c3N0aHJvdWdoL2FtZC9pb21tdS5oCkBAIC05Niw2ICs5Niw3IEBAIHN0cnVj
dCBhbWRfaW9tbXUgewogICAgIHN0cnVjdCByaW5nX2J1ZmZlciBjbWRfYnVm
ZmVyOwogICAgIHN0cnVjdCByaW5nX2J1ZmZlciBldmVudF9sb2c7CiAgICAg
c3RydWN0IHJpbmdfYnVmZmVyIHBwcl9sb2c7CisgICAgdW5zaWduZWQgbG9u
ZyAqZG9taWRfbWFwOwogCiAgICAgaW50IGV4Y2x1c2lvbl9lbmFibGU7CiAg
ICAgaW50IGV4Y2x1c2lvbl9hbGxvd19hbGw7Ci0tLSBhL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9kZXRlY3QuYworKysgYi94ZW4vZHJp
dmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfZGV0ZWN0LmMKQEAgLTIyMyw2
ICsyMjMsMTEgQEAgaW50IF9faW5pdCBhbWRfaW9tbXVfZGV0ZWN0X29uZV9h
Y3BpKAogICAgIGlmICggcnQgKQogICAgICAgICBnb3RvIG91dDsKIAorICAg
IGlvbW11LT5kb21pZF9tYXAgPSBpb21tdV9pbml0X2RvbWlkKERPTUlEX0lO
VkFMSUQpOworICAgIHJ0ID0gLUVOT01FTTsKKyAgICBpZiAoICFpb21tdS0+
ZG9taWRfbWFwICkKKyAgICAgICAgZ290byBvdXQ7CisKICAgICBydCA9IHBj
aV9yb19kZXZpY2UoaW9tbXUtPnNlZywgYnVzLCBQQ0lfREVWRk4oZGV2LCBm
dW5jKSk7CiAgICAgaWYgKCBydCApCiAgICAgICAgIHByaW50ayhYRU5MT0df
RVJSICJDb3VsZCBub3QgbWFyayBjb25maWcgc3BhY2Ugb2YgJXBwIHJlYWQt
b25seSAoJWQpXG4iLApAQCAtMjMzLDcgKzIzOCwxMCBAQCBpbnQgX19pbml0
IGFtZF9pb21tdV9kZXRlY3Rfb25lX2FjcGkoCiAKICBvdXQ6CiAgICAgaWYg
KCBydCApCisgICAgeworICAgICAgICB4ZnJlZShpb21tdS0+ZG9taWRfbWFw
KTsKICAgICAgICAgeGZyZWUoaW9tbXUpOworICAgIH0KIAogICAgIHJldHVy
biBydDsKIH0KLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3Bj
aV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9h
bWQvcGNpX2FtZF9pb21tdS5jCkBAIC01MzksNiArNTM5LDggQEAgc3RhdGlj
IGludCBjZl9jaGVjayBhbWRfaW9tbXVfYWRkX2RldmljZQogICAgIHN0cnVj
dCBhbWRfaW9tbXUgKmlvbW11OwogICAgIHUxNiBiZGY7CiAgICAgc3RydWN0
IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFwcGluZ3M7CisgICAgYm9vbCBmcmVz
aF9kb21pZCA9IGZhbHNlOworICAgIGludCByZXQ7CiAKICAgICBpZiAoICFw
ZGV2LT5kb21haW4gKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKQEAgLTYw
Niw3ICs2MDgsMjIgQEAgc3RhdGljIGludCBjZl9jaGVjayBhbWRfaW9tbXVf
YWRkX2RldmljZQogICAgICAgICBBTURfSU9NTVVfV0FSTigiJXBkOiB1bml0
eSBtYXBwaW5nIGZhaWxlZCBmb3IgJXBwXG4iLAogICAgICAgICAgICAgICAg
ICAgICAgICBwZGV2LT5kb21haW4sICZwZGV2LT5zYmRmKTsKIAotICAgIHJl
dHVybiBhbWRfaW9tbXVfc2V0dXBfZG9tYWluX2RldmljZShwZGV2LT5kb21h
aW4sIGlvbW11LCBkZXZmbiwgcGRldik7CisgICAgaWYgKCBpb21tdV9xdWFy
YW50aW5lICYmIHBkZXYtPmFyY2gucHNldWRvX2RvbWlkID09IERPTUlEX0lO
VkFMSUQgKQorICAgIHsKKyAgICAgICAgcGRldi0+YXJjaC5wc2V1ZG9fZG9t
aWQgPSBpb21tdV9hbGxvY19kb21pZChpb21tdS0+ZG9taWRfbWFwKTsKKyAg
ICAgICAgaWYgKCBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9PSBET01JRF9J
TlZBTElEICkKKyAgICAgICAgICAgIHJldHVybiAtRU5PU1BDOworICAgICAg
ICBmcmVzaF9kb21pZCA9IHRydWU7CisgICAgfQorCisgICAgcmV0ID0gYW1k
X2lvbW11X3NldHVwX2RvbWFpbl9kZXZpY2UocGRldi0+ZG9tYWluLCBpb21t
dSwgZGV2Zm4sIHBkZXYpOworICAgIGlmICggcmV0ICYmIGZyZXNoX2RvbWlk
ICkKKyAgICB7CisgICAgICAgIGlvbW11X2ZyZWVfZG9taWQocGRldi0+YXJj
aC5wc2V1ZG9fZG9taWQsIGlvbW11LT5kb21pZF9tYXApOworICAgICAgICBw
ZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9IERPTUlEX0lOVkFMSUQ7CisgICAg
fQorCisgICAgcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBjZl9jaGVj
ayBhbWRfaW9tbXVfcmVtb3ZlX2RldmljZSh1OCBkZXZmbiwgc3RydWN0IHBj
aV9kZXYgKnBkZXYpCkBAIC02MzgsNiArNjU1LDkgQEAgc3RhdGljIGludCBj
Zl9jaGVjayBhbWRfaW9tbXVfcmVtb3ZlX2RldgogICAgICAgICBBTURfSU9N
TVVfV0FSTigiJXBkOiB1bml0eSB1bm1hcHBpbmcgZmFpbGVkIGZvciAlcHBc
biIsCiAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYtPmRvbWFpbiwgJnBk
ZXYtPnNiZGYpOwogCisgICAgaW9tbXVfZnJlZV9kb21pZChwZGV2LT5hcmNo
LnBzZXVkb19kb21pZCwgaW9tbXUtPmRvbWlkX21hcCk7CisgICAgcGRldi0+
YXJjaC5wc2V1ZG9fZG9taWQgPSBET01JRF9JTlZBTElEOworCiAgICAgaWYg
KCBhbWRfaW9tbXVfcGVyZGV2X2ludHJlbWFwICYmCiAgICAgICAgICBpdnJz
X21hcHBpbmdzW2JkZl0uZHRlX3JlcXVlc3Rvcl9pZCA9PSBiZGYgJiYKICAg
ICAgICAgIGl2cnNfbWFwcGluZ3NbYmRmXS5pbnRyZW1hcF90YWJsZSApCi0t
LSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBiL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCkBAIC0xMzQyLDkgKzEzNDIsMTQg
QEAgc3RhdGljIGludCBjZl9jaGVjayBfZHVtcF9wY2lfZGV2aWNlcyhzdAog
CiAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSAoIHBkZXYsICZwc2VnLT5hbGxk
ZXZzX2xpc3QsIGFsbGRldnNfbGlzdCApCiAgICAgewotICAgICAgICBwcmlu
dGsoIiVwcCAtICVwZCAtIG5vZGUgJS0zZCIsCi0gICAgICAgICAgICAgICAm
cGRldi0+c2JkZiwgcGRldi0+ZG9tYWluLAotICAgICAgICAgICAgICAgKHBk
ZXYtPm5vZGUgIT0gTlVNQV9OT19OT0RFKSA/IHBkZXYtPm5vZGUgOiAtMSk7
CisgICAgICAgIHByaW50aygiJXBwIC0gIiwgJnBkZXYtPnNiZGYpOworI2lm
ZGVmIENPTkZJR19YODYKKyAgICAgICAgaWYgKCBwZGV2LT5kb21haW4gPT0g
ZG9tX2lvICkKKyAgICAgICAgICAgIHByaW50aygiRG9tSU86JXgiLCBwZGV2
LT5hcmNoLnBzZXVkb19kb21pZCk7CisgICAgICAgIGVsc2UKKyNlbmRpZgor
ICAgICAgICAgICAgcHJpbnRrKCIlcGQiLCBwZGV2LT5kb21haW4pOworICAg
ICAgICBwcmludGsoIiAtIG5vZGUgJS0zZCIsIChwZGV2LT5ub2RlICE9IE5V
TUFfTk9fTk9ERSkgPyBwZGV2LT5ub2RlIDogLTEpOwogICAgICAgICBwZGV2
X2R1bXBfbXNpKHBkZXYpOwogICAgICAgICBwcmludGsoIlxuIik7CiAgICAg
fQotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwor
KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpAQCAt
MjIsNiArMjIsNyBAQAogI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgogI2luY2x1
ZGUgPHhlbi94bWFsbG9jLmg+CiAjaW5jbHVkZSA8eGVuL2RvbWFpbl9wYWdl
Lmg+CisjaW5jbHVkZSA8eGVuL2Vyci5oPgogI2luY2x1ZGUgPHhlbi9pb2Nh
cC5oPgogI2luY2x1ZGUgPHhlbi9pb21tdS5oPgogI2luY2x1ZGUgPHhlbi9u
dW1hLmg+CkBAIC0xMTk5LDYgKzEyMDAsOCBAQCBpbnQgX19pbml0IGlvbW11
X2FsbG9jKHN0cnVjdCBhY3BpX2RyaGRfCiB7CiAgICAgc3RydWN0IHZ0ZF9p
b21tdSAqaW9tbXU7CiAgICAgdW5zaWduZWQgaW50IHNhZ2F3LCBhZ2F3ID0g
MCwgbnJfZG9tOworICAgIGRvbWlkX3QgcmVzZXJ2ZWRfZG9taWQgPSBET01J
RF9JTlZBTElEOworICAgIGludCByYzsKIAogICAgIGlvbW11ID0geHphbGxv
YyhzdHJ1Y3QgdnRkX2lvbW11KTsKICAgICBpZiAoIGlvbW11ID09IE5VTEwg
KQpAQCAtMTI2OSw3ICsxMjcyLDcgQEAgaW50IF9faW5pdCBpb21tdV9hbGxv
YyhzdHJ1Y3QgYWNwaV9kcmhkXwogCiAgICAgbnJfZG9tID0gY2FwX25kb21z
KGlvbW11LT5jYXApOwogCi0gICAgaWYgKCBucl9kb20gPD0gRE9NSURfTUFT
SyArIGNhcF9jYWNoaW5nX21vZGUoaW9tbXUtPmNhcCkgKQorICAgIGlmICgg
bnJfZG9tIDw9IERPTUlEX01BU0sgKiAyICsgY2FwX2NhY2hpbmdfbW9kZShp
b21tdS0+Y2FwKSApCiAgICAgewogICAgICAgICAvKiBBbGxvY2F0ZSBkb21h
aW4gaWQgKGJpdCkgbWFwcy4gKi8KICAgICAgICAgaW9tbXUtPmRvbWlkX2Jp
dG1hcCA9IHh6YWxsb2NfYXJyYXkodW5zaWduZWQgbG9uZywKQEAgLTEyOTMs
OSArMTI5NiwyNCBAQCBpbnQgX19pbml0IGlvbW11X2FsbG9jKHN0cnVjdCBh
Y3BpX2RyaGRfCiAgICAgICAgIC8qIERvbid0IGxlYXZlIGRhbmdsaW5nIE5V
TEwgcG9pbnRlcnMuICovCiAgICAgICAgIGlvbW11LT5kb21pZF9iaXRtYXAg
PSBaRVJPX0JMT0NLX1BUUjsKICAgICAgICAgaW9tbXUtPmRvbWlkX21hcCA9
IFpFUk9fQkxPQ0tfUFRSOworCisgICAgICAgIC8qCisgICAgICAgICAqIElm
IENhY2hpbmcgbW9kZSBpcyBzZXQsIHRoZW4gaW52YWxpZCB0cmFuc2xhdGlv
bnMgYXJlIHRhZ2dlZAorICAgICAgICAgKiB3aXRoIGRvbWFpbiBpZCAwLiBI
ZW5jZSByZXNlcnZlIHRoZSBJRCB0YWtpbmcgdXAgYml0L3Nsb3QgMC4KKyAg
ICAgICAgICovCisgICAgICAgIHJlc2VydmVkX2RvbWlkID0gY29udmVydF9k
b21pZChpb21tdSwgMCkgPzogRE9NSURfSU5WQUxJRDsKICAgICB9CiAKKyAg
ICBpb21tdS0+cHNldWRvX2RvbWlkX21hcCA9IGlvbW11X2luaXRfZG9taWQo
cmVzZXJ2ZWRfZG9taWQpOworICAgIHJjID0gLUVOT01FTTsKKyAgICBpZiAo
ICFpb21tdS0+cHNldWRvX2RvbWlkX21hcCApCisgICAgICAgIGdvdG8gZnJl
ZTsKKwogICAgIHJldHVybiAwOworCisgZnJlZToKKyAgICBpb21tdV9mcmVl
KGRyaGQpOworICAgIHJldHVybiByYzsKIH0KIAogdm9pZCBfX2luaXQgaW9t
bXVfZnJlZShzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQpCkBAIC0xMzE4
LDYgKzEzMzYsNyBAQCB2b2lkIF9faW5pdCBpb21tdV9mcmVlKHN0cnVjdCBh
Y3BpX2RyaGRfCiAKICAgICB4ZnJlZShpb21tdS0+ZG9taWRfYml0bWFwKTsK
ICAgICB4ZnJlZShpb21tdS0+ZG9taWRfbWFwKTsKKyAgICB4ZnJlZShpb21t
dS0+cHNldWRvX2RvbWlkX21hcCk7CiAKICAgICBpZiAoIGlvbW11LT5tc2ku
aXJxID49IDAgKQogICAgICAgICBkZXN0cm95X2lycShpb21tdS0+bXNpLmly
cSk7CkBAIC0xNTg4LDggKzE2MDcsOCBAQCBpbnQgZG9tYWluX2NvbnRleHRf
bWFwcGluZ19vbmUoCiAgICAgcmV0dXJuIHJjID86IHBkZXYgJiYgcHJldl9k
b207CiB9CiAKLXN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXAoc3Ry
dWN0IGRvbWFpbiAqZCwgdWludDhfdCBkZXZmbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0IHBjaV9kZXYgKnBkZXYpOworc3Rh
dGljIGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZG9tYWluX2NvbnRl
eHRfdW5tYXAoCisgICAgc3RydWN0IGRvbWFpbiAqZCwgdWludDhfdCBkZXZm
biwgc3RydWN0IHBjaV9kZXYgKnBkZXYpOwogCiBzdGF0aWMgaW50IGRvbWFp
bl9jb250ZXh0X21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1OCBk
ZXZmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1
Y3QgcGNpX2RldiAqcGRldikKQEAgLTE1OTcsNiArMTYxNiw3IEBAIHN0YXRp
YyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICBjb25z
dCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQgPSBhY3BpX2ZpbmRfbWF0
Y2hlZF9kcmhkX3VuaXQocGRldik7CiAgICAgY29uc3Qgc3RydWN0IGFjcGlf
cm1ycl91bml0ICpybXJyOwogICAgIHBhZGRyX3QgcGdkX21hZGRyID0gZG9t
X2lvbW11KGRvbWFpbiktPmFyY2gudnRkLnBnZF9tYWRkcjsKKyAgICBkb21p
ZF90IG9yaWdfZG9taWQgPSBwZGV2LT5hcmNoLnBzZXVkb19kb21pZDsKICAg
ICBpbnQgcmV0ID0gMDsKICAgICB1bnNpZ25lZCBpbnQgaSwgbW9kZSA9IDA7
CiAgICAgdWludDE2X3Qgc2VnID0gcGRldi0+c2VnLCBiZGY7CkBAIC0xNjU1
LDYgKzE2NzUsMTQgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBw
aW5nKHN0cnVjdAogICAgICAgICBpZiAoICFkcmhkICkKICAgICAgICAgICAg
IHJldHVybiAtRU5PREVWOwogCisgICAgICAgIGlmICggaW9tbXVfcXVhcmFu
dGluZSAmJiBvcmlnX2RvbWlkID09IERPTUlEX0lOVkFMSUQgKQorICAgICAg
ICB7CisgICAgICAgICAgICBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9Cisg
ICAgICAgICAgICAgICAgaW9tbXVfYWxsb2NfZG9taWQoZHJoZC0+aW9tbXUt
PnBzZXVkb19kb21pZF9tYXApOworICAgICAgICAgICAgaWYgKCBwZGV2LT5h
cmNoLnBzZXVkb19kb21pZCA9PSBET01JRF9JTlZBTElEICkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gLUVOT1NQQzsKKyAgICAgICAgfQorCiAgICAgICAg
IGlmICggaW9tbXVfZGVidWcgKQogICAgICAgICAgICAgcHJpbnRrKFZURFBS
RUZJWCAiJXBkOlBDSWU6IG1hcCAlcHBcbiIsCiAgICAgICAgICAgICAgICAg
ICAgZG9tYWluLCAmUENJX1NCREYzKHNlZywgYnVzLCBkZXZmbikpOwpAQCAt
MTY3Miw2ICsxNzAwLDE0IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRf
bWFwcGluZyhzdHJ1Y3QKICAgICAgICAgaWYgKCAhZHJoZCApCiAgICAgICAg
ICAgICByZXR1cm4gLUVOT0RFVjsKIAorICAgICAgICBpZiAoIGlvbW11X3F1
YXJhbnRpbmUgJiYgb3JpZ19kb21pZCA9PSBET01JRF9JTlZBTElEICkKKyAg
ICAgICAgeworICAgICAgICAgICAgcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQg
PQorICAgICAgICAgICAgICAgIGlvbW11X2FsbG9jX2RvbWlkKGRyaGQtPmlv
bW11LT5wc2V1ZG9fZG9taWRfbWFwKTsKKyAgICAgICAgICAgIGlmICggcGRl
di0+YXJjaC5wc2V1ZG9fZG9taWQgPT0gRE9NSURfSU5WQUxJRCApCisgICAg
ICAgICAgICAgICAgcmV0dXJuIC1FTk9TUEM7CisgICAgICAgIH0KKwogICAg
ICAgICBpZiAoIGlvbW11X2RlYnVnICkKICAgICAgICAgICAgIHByaW50ayhW
VERQUkVGSVggIiVwZDpQQ0k6IG1hcCAlcHBcbiIsCiAgICAgICAgICAgICAg
ICAgICAgZG9tYWluLCAmUENJX1NCREYzKHNlZywgYnVzLCBkZXZmbikpOwpA
QCAtMTc0NSw2ICsxNzgxLDEzIEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRl
eHRfbWFwcGluZyhzdHJ1Y3QKICAgICBpZiAoICFyZXQgJiYgZGV2Zm4gPT0g
cGRldi0+ZGV2Zm4gKQogICAgICAgICBwY2lfdnRkX3F1aXJrKHBkZXYpOwog
CisgICAgaWYgKCByZXQgJiYgZHJoZCAmJiBvcmlnX2RvbWlkID09IERPTUlE
X0lOVkFMSUQgKQorICAgIHsKKyAgICAgICAgaW9tbXVfZnJlZV9kb21pZChw
ZGV2LT5hcmNoLnBzZXVkb19kb21pZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICBkcmhkLT5pb21tdS0+cHNldWRvX2RvbWlkX21hcCk7CisgICAgICAg
IHBkZXYtPmFyY2gucHNldWRvX2RvbWlkID0gRE9NSURfSU5WQUxJRDsKKyAg
ICB9CisKICAgICByZXR1cm4gcmV0OwogfQogCkBAIC0xODMwLDggKzE4NzMs
MTAgQEAgaW50IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZSgKICAgICByZXR1
cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXAo
c3RydWN0IGRvbWFpbiAqZG9tYWluLCB1OCBkZXZmbiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBjaV9kZXYgKnBkZXYpCitz
dGF0aWMgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkb21haW5fY29u
dGV4dF91bm1hcCgKKyAgICBzdHJ1Y3QgZG9tYWluICpkb21haW4sCisgICAg
dWludDhfdCBkZXZmbiwKKyAgICBzdHJ1Y3QgcGNpX2RldiAqcGRldikKIHsK
ICAgICBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQgPSBhY3Bp
X2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7CiAgICAgc3RydWN0IHZ0
ZF9pb21tdSAqaW9tbXUgPSBkcmhkID8gZHJoZC0+aW9tbXUgOiBOVUxMOwpA
QCAtMTg0NSwxNiArMTg5MCwxNiBAQCBzdGF0aWMgaW50IGRvbWFpbl9jb250
ZXh0X3VubWFwKHN0cnVjdCBkCiAgICAgICAgIGlmICggaW9tbXVfZGVidWcg
KQogICAgICAgICAgICAgcHJpbnRrKFZURFBSRUZJWCAiJXBkOkhvc3Ricmlk
Z2U6IHNraXAgJXBwIHVubWFwXG4iLAogICAgICAgICAgICAgICAgICAgIGRv
bWFpbiwgJlBDSV9TQkRGMyhzZWcsIGJ1cywgZGV2Zm4pKTsKLSAgICAgICAg
cmV0dXJuIGlzX2hhcmR3YXJlX2RvbWFpbihkb21haW4pID8gMCA6IC1FUEVS
TTsKKyAgICAgICAgcmV0dXJuIEVSUl9QVFIoaXNfaGFyZHdhcmVfZG9tYWlu
KGRvbWFpbikgPyAwIDogLUVQRVJNKTsKIAogICAgIGNhc2UgREVWX1RZUEVf
UENJZV9CUklER0U6CiAgICAgY2FzZSBERVZfVFlQRV9QQ0llMlBDSV9CUklE
R0U6CiAgICAgY2FzZSBERVZfVFlQRV9MRUdBQ1lfUENJX0JSSURHRToKLSAg
ICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBFUlJfUFRSKDApOwog
CiAgICAgY2FzZSBERVZfVFlQRV9QQ0llX0VORFBPSU5UOgogICAgICAgICBp
ZiAoICFpb21tdSApCi0gICAgICAgICAgICByZXR1cm4gLUVOT0RFVjsKKyAg
ICAgICAgICAgIHJldHVybiBFUlJfUFRSKC1FTk9ERVYpOwogCiAgICAgICAg
IGlmICggaW9tbXVfZGVidWcgKQogICAgICAgICAgICAgcHJpbnRrKFZURFBS
RUZJWCAiJXBkOlBDSWU6IHVubWFwICVwcFxuIiwKQEAgLTE4NjgsNyArMTkx
Myw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXAoc3RydWN0
IGQKIAogICAgIGNhc2UgREVWX1RZUEVfUENJOgogICAgICAgICBpZiAoICFp
b21tdSApCi0gICAgICAgICAgICByZXR1cm4gLUVOT0RFVjsKKyAgICAgICAg
ICAgIHJldHVybiBFUlJfUFRSKC1FTk9ERVYpOwogCiAgICAgICAgIGlmICgg
aW9tbXVfZGVidWcgKQogICAgICAgICAgICAgcHJpbnRrKFZURFBSRUZJWCAi
JXBkOlBDSTogdW5tYXAgJXBwXG4iLApAQCAtMTkxNSwxNCArMTk2MCwxNCBA
QCBzdGF0aWMgaW50IGRvbWFpbl9jb250ZXh0X3VubWFwKHN0cnVjdCBkCiAg
ICAgZGVmYXVsdDoKICAgICAgICAgZHByaW50ayhYRU5MT0dfRVJSIFZURFBS
RUZJWCwgIiVwZDp1bmtub3duKCV1KTogJXBwXG4iLAogICAgICAgICAgICAg
ICAgIGRvbWFpbiwgcGRldi0+dHlwZSwgJlBDSV9TQkRGMyhzZWcsIGJ1cywg
ZGV2Zm4pKTsKLSAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgICAgIHJl
dHVybiBFUlJfUFRSKC1FSU5WQUwpOwogICAgIH0KIAogICAgIGlmICggIXJl
dCAmJiBwZGV2LT5kZXZmbiA9PSBkZXZmbiAmJgogICAgICAgICAgIVFVQVJB
TlRJTkVfU0tJUChkb21haW4sIGRvbV9pb21tdShkb21haW4pLT5hcmNoLnZ0
ZC5wZ2RfbWFkZHIpICkKICAgICAgICAgY2hlY2tfY2xlYW51cF9kb21pZF9t
YXAoZG9tYWluLCBwZGV2LCBpb21tdSk7CiAKLSAgICByZXR1cm4gcmV0Owor
ICAgIHJldHVybiBkcmhkOwogfQogCiBzdGF0aWMgdm9pZCBjZl9jaGVjayBp
b21tdV9jbGVhcl9yb290X3BndGFibGUoc3RydWN0IGRvbWFpbiAqZCkKQEAg
LTIxNDksMTYgKzIxOTQsMTcgQEAgc3RhdGljIGludCBjZl9jaGVjayBpbnRl
bF9pb21tdV9lbmFibGVfZAogCiBzdGF0aWMgaW50IGNmX2NoZWNrIGludGVs
X2lvbW11X3JlbW92ZV9kZXZpY2UodTggZGV2Zm4sIHN0cnVjdCBwY2lfZGV2
ICpwZGV2KQogeworICAgIGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAq
ZHJoZDsKICAgICBzdHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnI7CiAgICAg
dTE2IGJkZjsKLSAgICBpbnQgcmV0LCBpOworICAgIHVuc2lnbmVkIGludCBp
OwogCiAgICAgaWYgKCAhcGRldi0+ZG9tYWluICkKICAgICAgICAgcmV0dXJu
IC1FSU5WQUw7CiAKLSAgICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcChw
ZGV2LT5kb21haW4sIGRldmZuLCBwZGV2KTsKLSAgICBpZiAoIHJldCApCi0g
ICAgICAgIHJldHVybiByZXQ7CisgICAgZHJoZCA9IGRvbWFpbl9jb250ZXh0
X3VubWFwKHBkZXYtPmRvbWFpbiwgZGV2Zm4sIHBkZXYpOworICAgIGlmICgg
SVNfRVJSKGRyaGQpICkKKyAgICAgICAgcmV0dXJuIFBUUl9FUlIoZHJoZCk7
CiAKICAgICBmb3JfZWFjaF9ybXJyX2RldmljZSAoIHJtcnIsIGJkZiwgaSAp
CiAgICAgewpAQCAtMjE3NSw2ICsyMjIxLDEzIEBAIHN0YXRpYyBpbnQgY2Zf
Y2hlY2sgaW50ZWxfaW9tbXVfcmVtb3ZlX2QKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBybXJyLT5lbmRfYWRkcmVzcywgMCk7CiAgICAgfQog
CisgICAgaWYgKCBkcmhkICkKKyAgICB7CisgICAgICAgIGlvbW11X2ZyZWVf
ZG9taWQocGRldi0+YXJjaC5wc2V1ZG9fZG9taWQsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgZHJoZC0+aW9tbXUtPnBzZXVkb19kb21pZF9tYXApOwor
ICAgICAgICBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCA9IERPTUlEX0lOVkFM
SUQ7CisgICAgfQorCiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTI1NTIsNyAr
MjYwNSwxMiBAQCBzdGF0aWMgaW50IGNmX2NoZWNrIHJlYXNzaWduX2Rldmlj
ZV9vd25lCiAgICAgICAgIH0KICAgICB9CiAgICAgZWxzZQotICAgICAgICBy
ZXQgPSBkb21haW5fY29udGV4dF91bm1hcChzb3VyY2UsIGRldmZuLCBwZGV2
KTsKKyAgICB7CisgICAgICAgIGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5p
dCAqZHJoZDsKKworICAgICAgICBkcmhkID0gZG9tYWluX2NvbnRleHRfdW5t
YXAoc291cmNlLCBkZXZmbiwgcGRldik7CisgICAgICAgIHJldCA9IElTX0VS
UihkcmhkKSA/IFBUUl9FUlIoZHJoZCkgOiAwOworICAgIH0KICAgICBpZiAo
IHJldCApCiAgICAgewogICAgICAgICBpZiAoICFoYXNfYXJjaF9wZGV2cyh0
YXJnZXQpICkKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv
bW11LmgKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11
LmgKQEAgLTUwMyw2ICs1MDMsNyBAQCBzdHJ1Y3QgdnRkX2lvbW11IHsKICAg
ICB9IGZsdXNoOwogCiAgICAgc3RydWN0IGxpc3RfaGVhZCBhdHNfZGV2aWNl
czsKKyAgICB1bnNpZ25lZCBsb25nICpwc2V1ZG9fZG9taWRfbWFwOyAvKiAi
cHNldWRvIiBkb21haW4gaWQgYml0bWFwICovCiAgICAgdW5zaWduZWQgbG9u
ZyAqZG9taWRfYml0bWFwOyAgLyogZG9tYWluIGlkIGJpdG1hcCAqLwogICAg
IGRvbWlkX3QgKmRvbWlkX21hcDsgICAgICAgICAgIC8qIGRvbWFpbiBpZCBt
YXBwaW5nIGFycmF5ICovCiAgICAgdWludDMyX3QgdmVyc2lvbjsKLS0tIGEv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gveDg2L2lvbW11LmMKKysrIGIveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gveDg2L2lvbW11LmMKQEAgLTM5MSw2ICsz
OTEsNjYgQEAgdm9pZCBfX2h3ZG9tX2luaXQgYXJjaF9pb21tdV9od2RvbV9p
bml0KAogICAgICAgICByZXR1cm47CiB9CiAKK3ZvaWQgYXJjaF9wY2lfaW5p
dF9wZGV2KHN0cnVjdCBwY2lfZGV2ICpwZGV2KQoreworICAgIHBkZXYtPmFy
Y2gucHNldWRvX2RvbWlkID0gRE9NSURfSU5WQUxJRDsKK30KKwordW5zaWdu
ZWQgbG9uZyAqX19pbml0IGlvbW11X2luaXRfZG9taWQoZG9taWRfdCByZXNl
cnZlKQoreworICAgIHVuc2lnbmVkIGxvbmcgKm1hcDsKKworICAgIGlmICgg
IWlvbW11X3F1YXJhbnRpbmUgKQorICAgICAgICByZXR1cm4gWkVST19CTE9D
S19QVFI7CisKKyAgICBCVUlMRF9CVUdfT04oRE9NSURfTUFTSyAqIDJVID49
IFVJTlQxNl9NQVgpOworCisgICAgbWFwID0geHphbGxvY19hcnJheSh1bnNp
Z25lZCBsb25nLCBCSVRTX1RPX0xPTkdTKFVJTlQxNl9NQVggLSBET01JRF9N
QVNLKSk7CisgICAgaWYgKCBtYXAgJiYgcmVzZXJ2ZSAhPSBET01JRF9JTlZB
TElEICkKKyAgICB7CisgICAgICAgIEFTU0VSVChyZXNlcnZlID4gRE9NSURf
TUFTSyk7CisgICAgICAgIF9fc2V0X2JpdChyZXNlcnZlICYgRE9NSURfTUFT
SywgbWFwKTsKKyAgICB9CisKKyAgICByZXR1cm4gbWFwOworfQorCitkb21p
ZF90IGlvbW11X2FsbG9jX2RvbWlkKHVuc2lnbmVkIGxvbmcgKm1hcCkKK3sK
KyAgICAvKgorICAgICAqIFRoaXMgaXMgdXNlZCB1bmlmb3JtbHkgYWNyb3Nz
IGFsbCBJT01NVXMsIHN1Y2ggdGhhdCBvbiB0eXBpY2FsCisgICAgICogc3lz
dGVtcyB3ZSB3b3VsZG4ndCByZS11c2UgdGhlIHNhbWUgSUQgdmVyeSBxdWlj
a2x5IChwZXJoYXBzIG5ldmVyKS4KKyAgICAgKi8KKyAgICBzdGF0aWMgdW5z
aWduZWQgaW50IHN0YXJ0OworICAgIHVuc2lnbmVkIGludCBpZHggPSBmaW5k
X25leHRfemVyb19iaXQobWFwLCBVSU5UMTZfTUFYIC0gRE9NSURfTUFTSywg
c3RhcnQpOworCisgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOworCisg
ICAgaWYgKCBpZHggPj0gVUlOVDE2X01BWCAtIERPTUlEX01BU0sgKQorICAg
ICAgICBpZHggPSBmaW5kX2ZpcnN0X3plcm9fYml0KG1hcCwgVUlOVDE2X01B
WCAtIERPTUlEX01BU0spOworICAgIGlmICggaWR4ID49IFVJTlQxNl9NQVgg
LSBET01JRF9NQVNLICkKKyAgICAgICAgcmV0dXJuIERPTUlEX0lOVkFMSUQ7
CisKKyAgICBfX3NldF9iaXQoaWR4LCBtYXApOworCisgICAgc3RhcnQgPSBp
ZHggKyAxOworCisgICAgcmV0dXJuIGlkeCB8IChET01JRF9NQVNLICsgMSk7
Cit9CisKK3ZvaWQgaW9tbXVfZnJlZV9kb21pZChkb21pZF90IGRvbWlkLCB1
bnNpZ25lZCBsb25nICptYXApCit7CisgICAgQVNTRVJUKHBjaWRldnNfbG9j
a2VkKCkpOworCisgICAgaWYgKCBkb21pZCA9PSBET01JRF9JTlZBTElEICkK
KyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKGRvbWlkID4gRE9NSURf
TUFTSyk7CisKKyAgICBpZiAoICFfX3Rlc3RfYW5kX2NsZWFyX2JpdChkb21p
ZCAmIERPTUlEX01BU0ssIG1hcCkgKQorICAgICAgICBCVUcoKTsKK30KKwog
aW50IGlvbW11X2ZyZWVfcGd0YWJsZXMoc3RydWN0IGRvbWFpbiAqZCkKIHsK
ICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsK

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IGRyb3AgVExCIGZsdXNoZXMgZnJvbSBxdWFyYW50aW5l
X2luaXQoKSBob29rcwoKVGhlIHBhZ2UgdGFibGVzIGp1c3QgY3JlYXRlZCBh
cmVuJ3QgaG9va2VkIHVwIHlldCBhbnl3aGVyZSwgc28gdGhlcmUncwpub3Ro
aW5nIHRoYXQgY291bGQgYmUgcHJlc2VudCBpbiBhbnkgVExCLCBhbmQgaGVu
Y2Ugbm90aGluZyB0byBmbHVzaC4KRHJvcHBpbmcgdGhpcyBmbHVzaCBpcywg
YXQgbGVhc3Qgb24gdGhlIFZULWQgc2lkZSwgYSBwcmVyZXEgdG8gcGVyLQpk
ZXZpY2UgZG9tYWluIElEIHVzZSB3aGVuIHF1YXJhbnRpbmluZyBkZXZpY2Vz
LCBhcyBkb21faW8gaXNuJ3QgZ29pbmcKdG8gYmUgYXNzaWduZWQgYSBESUQg
YW55bW9yZTogVGhlIHdhcm5pbmcgaW4gZ2V0X2lvbW11X2RpZCgpIHdvdWxk
CnRyaWdnZXIuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxp
Y2hAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxA
eGVuLm9yZz4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2
aW4udGlhbkBpbnRlbC5jb20+Ci0tLQp2NTogVGhpcyAocHJldmlvdXNseSBm
b2xsb3ctb24pIHBhdGNoIGlzIG5vdyBwYXJ0IG9mIHRoaXMgc2VyaWVzLgoK
LS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5j
CisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAu
YwpAQCAtNjU2LDggKzY1Niw2IEBAIGludCBfX2luaXQgY2ZfY2hlY2sgYW1k
X2lvbW11X3F1YXJhbnRpbmUKICBvdXQ6CiAgICAgc3Bpbl91bmxvY2soJmhk
LT5hcmNoLm1hcHBpbmdfbG9jayk7CiAKLSAgICBhbWRfaW9tbXVfZmx1c2hf
YWxsX3BhZ2VzKGQpOwotCiAgICAgLyogUGFnZXMgbGVha2VkIGluIGZhaWx1
cmUgY2FzZSAqLwogICAgIHJldHVybiBsZXZlbCA/IC1FTk9NRU0gOiAwOwog
fQotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwor
KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpAQCAt
Mjk4MCw5ICsyOTgwLDYgQEAgc3RhdGljIGludCBfX2luaXQgY2ZfY2hlY2sg
aW50ZWxfaW9tbXVfcQogIG91dDoKICAgICBzcGluX3VubG9jaygmaGQtPmFy
Y2gubWFwcGluZ19sb2NrKTsKIAotICAgIGlmICggIXJjICkKLSAgICAgICAg
cmMgPSBpb21tdV9mbHVzaF9pb3RsYl9hbGwoZCk7Ci0KICAgICAvKiBQYWdl
cyBtYXkgYmUgbGVha2VkIGluIGZhaWx1cmUgY2FzZSAqLwogICAgIHJldHVy
biByYzsKIH0K

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBBTUQvSU9NTVU6IGFic3RyYWN0IG1heGltdW0gbnVtYmVyIG9mIHBhZ2Ug
dGFibGUgbGV2ZWxzCgpXZSB3aWxsIHdhbnQgdG8gdXNlIHRoZSBjb25zdGFu
dCBlbHNld2hlcmUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+ClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBh
dWxAeGVuLm9yZz4KLS0tCnY3OiBOZXcuCgotLS0gYS94ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC9hbWQvaW9tbXUtZGVmcy5oCisrKyBiL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL2FtZC9pb21tdS1kZWZzLmgKQEAgLTEwNiw2ICsxMDYs
NyBAQCBzdHJ1Y3QgYW1kX2lvbW11X2R0ZSB7CiAgICAgYm9vbCB0djoxOwog
ICAgIHVuc2lnbmVkIGludCA6NTsKICAgICB1bnNpZ25lZCBpbnQgaGFkOjI7
CisjZGVmaW5lIElPTU1VX01BWF9QVF9MRVZFTFMgNgogICAgIHVuc2lnbmVk
IGludCBwYWdpbmdfbW9kZTozOwogICAgIHVpbnQ2NF90IHB0X3Jvb3Q6NDA7
CiAgICAgYm9vbCBwcHI6MTsKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNz
dGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC0zMzcsNyArMzM3LDcg
QEAgaW50IGFtZF9pb21tdV9hbGxvY19yb290KHN0cnVjdCBkb21haW4gKgog
ICAgIHJldHVybiAwOwogfQogCi11bnNpZ25lZCBpbnQgX19yZWFkX21vc3Rs
eSBhbWRfaW9tbXVfbWF4X3BhZ2luZ19tb2RlID0gNjsKK3Vuc2lnbmVkIGlu
dCBfX3JlYWRfbW9zdGx5IGFtZF9pb21tdV9tYXhfcGFnaW5nX21vZGUgPSBJ
T01NVV9NQVhfUFRfTEVWRUxTOwogaW50IF9fcmVhZF9tb3N0bHkgYW1kX2lv
bW11X21pbl9wYWdpbmdfbW9kZSA9IDE7CiAKIHN0YXRpYyBpbnQgY2ZfY2hl
Y2sgYW1kX2lvbW11X2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpCg==

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

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiBJT01NVS94ODY6IHVzZSBwZXItZGV2aWNlIHBhZ2UgdGFibGVzIGZvciBx
dWFyYW50aW5pbmcKCkRldmljZXMgd2l0aCBSTVJScyAvIHVuaXR5IG1hcHBl
ZCByZWdpb25zLCBkdWUgdG8gaXQgYmVpbmcgdW5zcGVjaWZpZWQKaG93L3do
ZW4gdGhlc2UgbWVtb3J5IHJlZ2lvbnMgbWF5IGJlIGFjY2Vzc2VkLCBtYXkg
bm90IGJlIGxlZnQKZGlzY29ubmVjdGVkIGZyb20gdGhlIG1hcHBpbmdzIG9m
IHRoZXNlIHJlZ2lvbnMgKGFzIGxvbmcgYXMgaXQncyBub3QKY2VydGFpbiB0
aGF0IHRoZSBkZXZpY2UgaGFzIGJlZW4gZnVsbHkgcXVpZXNjZWQpLiBIZW5j
ZSBldmVuIHRoZSBwYWdlCnRhYmxlcyB1c2VkIHdoZW4gcXVhcmFudGluaW5n
IHN1Y2ggZGV2aWNlcyBuZWVkIHRvIGhhdmUgbWFwcGluZ3Mgb2YKdGhvc2Ug
cmVnaW9ucy4gVGhpcyBpbXBsaWVzIGluc3RhbGxpbmcgcGFnZSB0YWJsZXMg
aW4gdGhlIGZpcnN0IHBsYWNlCmV2ZW4gd2hlbiBub3QgaW4gc2NyYXRjaC1w
YWdlIHF1YXJhbnRpbmluZyBtb2RlLgoKVGhpcyBpcyBDVkUtMjAyMi0yNjM2
MSAvIHBhcnQgb2YgWFNBLTQwMC4KCldoaWxlIGZvciB0aGUgcHVycG9zZSBo
ZXJlIGl0IHdvdWxkIGJlIHN1ZmZpY2llbnQgdG8gaGF2ZSBkZXZpY2VzIHdp
dGgKUk1SUnMgLyB1bml0eSBtYXBwZWQgcmVnaW9ucyB1c2UgcGVyLWRldmlj
ZSBwYWdlIHRhYmxlcywgZXh0ZW5kIHRoaXMgdG8KYWxsIGRldmljZXMgKGlu
IHNjcmF0Y2gtcGFnZSBxdWFyYW50aW5pbmcgbW9kZSkuIFRoaXMgYWxsb3dz
IHRoZSBsZWFmCnBhZ2VzIHRvIGJlIG1hcHBlZCByL3csIHRodXMgY292ZXJp
bmcgYWxzbyBtZW1vcnkgd3JpdGVzIChyYXRoZXIgdGhhbgpqdXN0IHJlYWRz
KSBpc3N1ZWQgYnkgbm9uLXF1aWVzY2VudCBkZXZpY2VzLgoKU2V0IHVwIHF1
YXJhbnRpbmUgcGFnZSB0YWJsZXMgYXMgbGF0ZSBhcyBwb3NzaWJsZSwgeWV0
IGVhcmx5IGVub3VnaCB0bwpub3QgZW5jb3VudGVyIGZhaWx1cmUgZHVyaW5n
IGRlLWFzc2lnbi4gVGhpcyBtZWFucyBzZXR1cCBnZW5lcmFsbHkKaGFwcGVu
cyBpbiBhc3NpZ25fZGV2aWNlKCksIHdoaWxlIChmb3Igbm93KSB0aGUgb25l
IGluIGRlYXNzaWduX2RldmljZSgpCmlzIHRoZXJlIG1haW5seSB0byBiZSBv
biB0aGUgc2FmZSBzaWRlLgoKQXMgdG8gdGhlIHJlbW92YWwgb2YgUVVBUkFO
VElORV9TS0lQKCkgZnJvbSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoKToK
SSB0aGluayB0aGlzIHdhcyBuZXZlciByZWFsbHkgbmVlZGVkIHRoZXJlLCBh
cyB0aGUgZnVuY3Rpb24gZXhwbGljaXRseQpkZWFscyB3aXRoIGZpbmRpbmcg
YSBub24tcHJlc2VudCBjb250ZXh0IGVudHJ5LiBMZWF2aW5nIGl0IHRoZXJl
IHdvdWxkCnJlcXVpcmUgcHJvcGFnYXRpbmcgcGdkX21hZGRyIGludG8gdGhl
IGZ1bmN0aW9uIChsaWtlIHdhcyBkb25lIGJ5ICJWVC1kOgpwcmVwYXJlIGZv
ciBwZXItZGV2aWNlIHF1YXJhbnRpbmUgcGFnZSB0YWJsZXMiIGZvcgpkb21h
aW5fY29udGV4dF9tYXBwaW5nX29uZSgpKS4KCkluIFZULWQncyBESUQgYWxs
b2NhdGlvbiBmdW5jdGlvbiBkb24ndCByZXF1aXJlIHRoZSBJT01NVSBsb2Nr
IHRvIGJlCmhlbGQgYW55bW9yZTogQWxsIGludm9sdmVkIGNvZGUgcGF0aHMg
aG9sZCBwY2lkZXZzX2xvY2ssIHNvIHRoaXMgd2F5IHdlCmF2b2lkIHRoZSBu
ZWVkIHRvIGFjcXVpcmUgdGhlIElPTU1VIGxvY2sgYXJvdW5kIHRoZSBuZXcg
Y2FsbCB0bwpjb250ZXh0X3NldF9kb21haW5faWQoKS4KClNpZ25lZC1vZmYt
Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQt
Ynk6IFBhdWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpSZXZpZXdlZC1ieTog
S2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5
OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0t
CnY3OiBBZGQgY29tbWVudCBhaGVhZCBvZiBjb250ZXh0X3NldF9kb21haW5f
aWQoKS4gVXNlCiAgICBJT01NVV9NQVhfUFRfTEVWRUxTLiBSZS1iYXNlLgp2
NjogY29udGV4dF9zZXRfZG9tYWluX2lkKCkncyBBU1NFUlQoKSBjaGFuZ2Ug
bW92ZWQgaGVyZSAoZnJvbSBlYXJsaWVyCiAgICBwYXRjaCkuIFNob3J0ZW4g
QkRGIGNvbXBhcmlzb24gaW4gaW50ZWxfaW9tbXVfcXVhcmFudGluZV9pbml0
KCkuIFJlLQogICAgYmFzZSBvdmVyIGNoYW5nZXMgZWFybGllciBpbiB0aGUg
c2VyaWVzLgp2NTogQWxzbyB1c2UgcGVyLWRldmljZSAocHNldWRvKSBkb21h
aW4gSUQuIFN1cHByZXNzIGNvcnJ1cHRpb24gd2FybmluZwogICAgZm9yIERv
bUlPLiBSZS1iYXNlIG92ZXIgY2hhbmdlcyB0byBlYXJsaWVyIHBhdGNoZXMu
CnY0OiBSZS1iYXNlIG92ZXIgbmV3IGVhcmxpZXIgcGF0Y2guCnYzOiBObyBz
cGlubmluZyBpbiBxdWFyYW50aW5lX2luaXQoKSBob29rcyB3aGVuIHRyYW5z
aWVudGx5IHBvcHVsYXRpbmcKICAgIGRvbV9pbydzIHBhZ2UgdGFibGUgcm9v
dC4gcXVhcmFudGluZV90ZWFyZG93bigpIGFuZCBhcnJhbmdlbWVudHMgZm9y
CiAgICB0aGVtIHJlZG9uZS4gUmUtYmFzZSBvdmVyIGNoYW5nZXMgZWFybGll
ciBpbiB0aGUgc2VyaWVzLiBFeHRlbmQgYQogICAgY29tbWVudC4gSW50cm9k
dWNlIERFVklDRV9QR1RBQkxFKCkuIFJlLWJhc2UuCnYyOiBOZXcuCgotLS0g
YS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vcGNpLmgKKysrIGIveGVuL2Fy
Y2gveDg2L2luY2x1ZGUvYXNtL3BjaS5oCkBAIC0xLDYgKzEsOCBAQAogI2lm
bmRlZiBfX1g4Nl9QQ0lfSF9fCiAjZGVmaW5lIF9fWDg2X1BDSV9IX18KIAor
I2luY2x1ZGUgPHhlbi9tbS5oPgorCiAjZGVmaW5lIENGOF9CREYoY2Y4KSAg
ICAgKCAgKChjZjgpICYgMHgwMGZmZmYwMCkgPj4gOCkKICNkZWZpbmUgQ0Y4
X0FERFJfTE8oY2Y4KSAoICAgKGNmOCkgJiAweDAwMDAwMGZjKQogI2RlZmlu
ZSBDRjhfQUREUl9ISShjZjgpICggICgoY2Y4KSAmIDB4MGYwMDAwMDApID4+
IDE2KQpAQCAtMTgsNyArMjAsMTggQEAgc3RydWN0IGFyY2hfcGNpX2RldiB7
CiAgICAgICogdGhlbSBkb24ndCByYWNlIChkZSlpbml0aWFsaXphdGlvbiBh
bmQgaGVuY2UgZG9uJ3Qgc3RyaWN0bHkgbmVlZCBhbnkKICAgICAgKiBsb2Nr
aW5nLgogICAgICAqLworICAgIHVuaW9uIHsKKyAgICAgICAgLyogU3Vic2V0
IG9mIHN0cnVjdCBhcmNoX2lvbW11J3MgZmllbGRzLCB0byBiZSB1c2VkIGlu
IGRvbV9pby4gKi8KKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIHVp
bnQ2NF90IHBnZF9tYWRkcjsKKyAgICAgICAgfSB2dGQ7CisgICAgICAgIHN0
cnVjdCB7CisgICAgICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpyb290X3Rh
YmxlOworICAgICAgICB9IGFtZDsKKyAgICB9OwogICAgIGRvbWlkX3QgcHNl
dWRvX2RvbWlkOworICAgIG1mbl90IGxlYWZfbWZuOworICAgIHN0cnVjdCBw
YWdlX2xpc3RfaGVhZCBwZ3RhYmxlc19saXN0OwogfTsKIAogaW50IHBjaV9j
b25mX3dyaXRlX2ludGVyY2VwdCh1bnNpZ25lZCBpbnQgc2VnLCB1bnNpZ25l
ZCBpbnQgYmRmLAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQv
aW9tbXUuaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t
bXUuaApAQCAtMjM3LDcgKzIzNyw4IEBAIGludCBhbWRfaW9tbXVfaW5pdF9s
YXRlKHZvaWQpOwogaW50IGFtZF9pb21tdV91cGRhdGVfaXZyc19tYXBwaW5n
X2FjcGkodm9pZCk7CiBpbnQgY2ZfY2hlY2sgaW92X2FkanVzdF9pcnFfYWZm
aW5pdGllcyh2b2lkKTsKIAotaW50IGNmX2NoZWNrIGFtZF9pb21tdV9xdWFy
YW50aW5lX2luaXQoc3RydWN0IGRvbWFpbiAqZCk7CitpbnQgY2ZfY2hlY2sg
YW1kX2lvbW11X3F1YXJhbnRpbmVfaW5pdChzdHJ1Y3QgcGNpX2RldiAqcGRl
diwgYm9vbCBzY3JhdGNoX3BhZ2UpOwordm9pZCBhbWRfaW9tbXVfcXVhcmFu
dGluZV90ZWFyZG93bihzdHJ1Y3QgcGNpX2RldiAqcGRldik7CiAKIC8qIG1h
cHBpbmcgZnVuY3Rpb25zICovCiBpbnQgX19tdXN0X2NoZWNrIGNmX2NoZWNr
IGFtZF9pb21tdV9tYXBfcGFnZSgKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Ro
cm91Z2gvYW1kL2lvbW11X21hcC5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL2FtZC9pb21tdV9tYXAuYwpAQCAtNjAwLDY0ICs2MDAsMTM4IEBA
IGludCBjZl9jaGVjayBhbWRfaW9tbXVfZ2V0X3Jlc2VydmVkX2RldmkKICAg
ICByZXR1cm4gMDsKIH0KIAotaW50IF9faW5pdCBjZl9jaGVjayBhbWRfaW9t
bXVfcXVhcmFudGluZV9pbml0KHN0cnVjdCBkb21haW4gKmQpCitzdGF0aWMg
aW50IGZpbGxfcXB0KHVuaW9uIGFtZF9pb21tdV9wdGUgKnRoaXMsIHVuc2ln
bmVkIGludCBsZXZlbCwKKyAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBh
Z2VfaW5mbyAqcGdzW0lPTU1VX01BWF9QVF9MRVZFTFNdKQogewotICAgIHN0
cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOworICAgIHN0
cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbV9pbyk7Cisg
ICAgdW5zaWduZWQgaW50IGk7CisgICAgaW50IHJjID0gMDsKKworICAgIGZv
ciAoIGkgPSAwOyAhcmMgJiYgaSA8IFBURV9QRVJfVEFCTEVfU0laRTsgKytp
ICkKKyAgICB7CisgICAgICAgIHVuaW9uIGFtZF9pb21tdV9wdGUgKnB0ZSA9
ICZ0aGlzW2ldLCAqbmV4dDsKKworICAgICAgICBpZiAoICFwdGUtPnByICkK
KyAgICAgICAgeworICAgICAgICAgICAgaWYgKCAhcGdzW2xldmVsXSApCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAg
ICAgICAgKiBUaGUgcGd0YWJsZSBhbGxvY2F0b3IgaXMgZmluZSBmb3IgdGhl
IGxlYWYgcGFnZSwgYXMgd2VsbCBhcworICAgICAgICAgICAgICAgICAqIHBh
Z2UgdGFibGUgcGFnZXMsIGFuZCB0aGUgcmVzdWx0aW5nIGFsbG9jYXRpb25z
IGFyZSBhbHdheXMKKyAgICAgICAgICAgICAgICAgKiB6ZXJvZWQuCisgICAg
ICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgcGdzW2xldmVsXSA9
IGlvbW11X2FsbG9jX3BndGFibGUoaGQpOworICAgICAgICAgICAgICAgIGlm
ICggIXBnc1tsZXZlbF0gKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgcmMgPSAtRU5PTUVNOworICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAg
ICBpZiAoIGxldmVsICkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgICAgIG5leHQgPSBfX21hcF9kb21haW5fcGFnZShwZ3NbbGV2ZWxd
KTsKKyAgICAgICAgICAgICAgICAgICAgcmMgPSBmaWxsX3FwdChuZXh0LCBs
ZXZlbCAtIDEsIHBncyk7CisgICAgICAgICAgICAgICAgICAgIHVubWFwX2Rv
bWFpbl9wYWdlKG5leHQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFBERXMg
YXJlIGVzc2VudGlhbGx5IGEgc3Vic2V0IG9mIFBURXMsIHNvIHRoaXMgZnVu
Y3Rpb24KKyAgICAgICAgICAgICAqIGlzIGZpbmUgdG8gdXNlIGV2ZW4gYXQg
dGhlIGxlYWYuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIHNldF9p
b21tdV9wZGVfcHJlc2VudChwdGUsIG1mbl94KHBhZ2VfdG9fbWZuKHBnc1ts
ZXZlbF0pKSwgbGV2ZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdHJ1ZSwgdHJ1ZSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBp
ZiAoIGxldmVsICYmIHB0ZS0+bmV4dF9sZXZlbCApCisgICAgICAgIHsKKyAg
ICAgICAgICAgIG5leHQgPSBtYXBfZG9tYWluX3BhZ2UoX21mbihwdGUtPm1m
bikpOworICAgICAgICAgICAgcmMgPSBmaWxsX3FwdChuZXh0LCBsZXZlbCAt
IDEsIHBncyk7CisgICAgICAgICAgICB1bm1hcF9kb21haW5fcGFnZShuZXh0
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiByYzsKK30KKwor
aW50IGNmX2NoZWNrIGFtZF9pb21tdV9xdWFyYW50aW5lX2luaXQoc3RydWN0
IHBjaV9kZXYgKnBkZXYsIGJvb2wgc2NyYXRjaF9wYWdlKQoreworICAgIHN0
cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbV9pbyk7CiAg
ICAgdW5zaWduZWQgbG9uZyBlbmRfZ2ZuID0KICAgICAgICAgMXVsIDw8IChE
RUZBVUxUX0RPTUFJTl9BRERSRVNTX1dJRFRIIC0gUEFHRV9TSElGVCk7CiAg
ICAgdW5zaWduZWQgaW50IGxldmVsID0gYW1kX2lvbW11X2dldF9wYWdpbmdf
bW9kZShlbmRfZ2ZuKTsKLSAgICB1bmlvbiBhbWRfaW9tbXVfcHRlICp0YWJs
ZTsKKyAgICB1bnNpZ25lZCBpbnQgcmVxX2lkID0gZ2V0X2RtYV9yZXF1ZXN0
b3JfaWQocGRldi0+c2VnLCBwZGV2LT5zYmRmLmJkZik7CisgICAgY29uc3Qg
c3RydWN0IGl2cnNfbWFwcGluZ3MgKml2cnNfbWFwcGluZ3MgPSBnZXRfaXZy
c19tYXBwaW5ncyhwZGV2LT5zZWcpOworICAgIGludCByYzsKKworICAgIEFT
U0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKKyAgICBBU1NFUlQoIWhkLT5hcmNo
LmFtZC5yb290X3RhYmxlKTsKKyAgICBBU1NFUlQocGFnZV9saXN0X2VtcHR5
KCZoZC0+YXJjaC5wZ3RhYmxlcy5saXN0KSk7CiAKLSAgICBpZiAoIGhkLT5h
cmNoLmFtZC5yb290X3RhYmxlICkKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9V
TlJFQUNIQUJMRSgpOworICAgIGlmICggIXNjcmF0Y2hfcGFnZSAmJiAhaXZy
c19tYXBwaW5nc1tyZXFfaWRdLnVuaXR5X21hcCApCiAgICAgICAgIHJldHVy
biAwOwotICAgIH0KIAotICAgIHNwaW5fbG9jaygmaGQtPmFyY2gubWFwcGlu
Z19sb2NrKTsKKyAgICBBU1NFUlQocGRldi0+YXJjaC5wc2V1ZG9fZG9taWQg
IT0gRE9NSURfSU5WQUxJRCk7CiAKLSAgICBoZC0+YXJjaC5hbWQucm9vdF90
YWJsZSA9IGlvbW11X2FsbG9jX3BndGFibGUoaGQpOwotICAgIGlmICggIWhk
LT5hcmNoLmFtZC5yb290X3RhYmxlICkKLSAgICAgICAgZ290byBvdXQ7Cisg
ICAgaWYgKCBwZGV2LT5hcmNoLmFtZC5yb290X3RhYmxlICkKKyAgICB7Cisg
ICAgICAgIGNsZWFyX2RvbWFpbl9wYWdlKHBkZXYtPmFyY2gubGVhZl9tZm4p
OworICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAKLSAgICB0YWJsZSA9IF9f
bWFwX2RvbWFpbl9wYWdlKGhkLT5hcmNoLmFtZC5yb290X3RhYmxlKTsKLSAg
ICB3aGlsZSAoIGxldmVsICkKKyAgICBwZGV2LT5hcmNoLmFtZC5yb290X3Rh
YmxlID0gaW9tbXVfYWxsb2NfcGd0YWJsZShoZCk7CisgICAgaWYgKCAhcGRl
di0+YXJjaC5hbWQucm9vdF90YWJsZSApCisgICAgICAgIHJldHVybiAtRU5P
TUVNOworCisgICAgLyogVHJhbnNpZW50bHkgaW5zdGFsbCB0aGUgcm9vdCBp
bnRvIERvbUlPLCBmb3IgaW9tbXVfaWRlbnRpdHlfbWFwcGluZygpLiAqLwor
ICAgIGhkLT5hcmNoLmFtZC5yb290X3RhYmxlID0gcGRldi0+YXJjaC5hbWQu
cm9vdF90YWJsZTsKKworICAgIHJjID0gYW1kX2lvbW11X3Jlc2VydmVfZG9t
YWluX3VuaXR5X21hcChkb21faW8sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGl2cnNfbWFwcGluZ3NbcmVxX2lkXS51
bml0eV9tYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDApOworCisgICAgaW9tbXVfaWRlbnRpdHlfbWFwX3RlYXJk
b3duKGRvbV9pbyk7CisgICAgaGQtPmFyY2guYW1kLnJvb3RfdGFibGUgPSBO
VUxMOworCisgICAgaWYgKCByYyApCisgICAgICAgIEFNRF9JT01NVV9XQVJO
KCIlcHA6IHF1YXJhbnRpbmUgdW5pdHkgbWFwcGluZyBmYWlsZWRcbiIsICZw
ZGV2LT5zYmRmKTsKKyAgICBlbHNlIGlmICggc2NyYXRjaF9wYWdlICkKICAg
ICB7Ci0gICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnOwotICAgICAgICB1
bnNpZ25lZCBpbnQgaTsKKyAgICAgICAgdW5pb24gYW1kX2lvbW11X3B0ZSAq
cm9vdDsKKyAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGdzW0lPTU1VX01B
WF9QVF9MRVZFTFNdID0ge307CiAKLSAgICAgICAgLyoKLSAgICAgICAgICog
VGhlIHBndGFibGUgYWxsb2NhdG9yIGlzIGZpbmUgZm9yIHRoZSBsZWFmIHBh
Z2UsIGFzIHdlbGwgYXMKLSAgICAgICAgICogcGFnZSB0YWJsZSBwYWdlcywg
YW5kIHRoZSByZXN1bHRpbmcgYWxsb2NhdGlvbnMgYXJlIGFsd2F5cwotICAg
ICAgICAgKiB6ZXJvZWQuCi0gICAgICAgICAqLwotICAgICAgICBwZyA9IGlv
bW11X2FsbG9jX3BndGFibGUoaGQpOwotICAgICAgICBpZiAoICFwZyApCi0g
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgc3Bpbl9sb2NrKCZoZC0+YXJj
aC5tYXBwaW5nX2xvY2spOwogCi0gICAgICAgIGZvciAoIGkgPSAwOyBpIDwg
UFRFX1BFUl9UQUJMRV9TSVpFOyBpKysgKQotICAgICAgICB7Ci0gICAgICAg
ICAgICB1bmlvbiBhbWRfaW9tbXVfcHRlICpwZGUgPSAmdGFibGVbaV07Cisg
ICAgICAgIHJvb3QgPSBfX21hcF9kb21haW5fcGFnZShwZGV2LT5hcmNoLmFt
ZC5yb290X3RhYmxlKTsKKyAgICAgICAgcmMgPSBmaWxsX3FwdChyb290LCBs
ZXZlbCAtIDEsIHBncyk7CisgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKHJv
b3QpOwogCi0gICAgICAgICAgICAvKgotICAgICAgICAgICAgICogUERFcyBh
cmUgZXNzZW50aWFsbHkgYSBzdWJzZXQgb2YgUFRFcywgc28gdGhpcyBmdW5j
dGlvbgotICAgICAgICAgICAgICogaXMgZmluZSB0byB1c2UgZXZlbiBhdCB0
aGUgbGVhZi4KLSAgICAgICAgICAgICAqLwotICAgICAgICAgICAgc2V0X2lv
bW11X3BkZV9wcmVzZW50KHBkZSwgbWZuX3gocGFnZV90b19tZm4ocGcpKSwg
bGV2ZWwgLSAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZhbHNlLCB0cnVlKTsKLSAgICAgICAgfQorICAgICAgICBwZGV2LT5hcmNo
LmxlYWZfbWZuID0gcGFnZV90b19tZm4ocGdzWzBdKTsKIAotICAgICAgICB1
bm1hcF9kb21haW5fcGFnZSh0YWJsZSk7Ci0gICAgICAgIHRhYmxlID0gX19t
YXBfZG9tYWluX3BhZ2UocGcpOwotICAgICAgICBsZXZlbC0tOworICAgICAg
ICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKICAgICB9
Ci0gICAgdW5tYXBfZG9tYWluX3BhZ2UodGFibGUpOwogCi0gb3V0OgotICAg
IHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOworICAgIHBh
Z2VfbGlzdF9tb3ZlKCZwZGV2LT5hcmNoLnBndGFibGVzX2xpc3QsICZoZC0+
YXJjaC5wZ3RhYmxlcy5saXN0KTsKKworICAgIGlmICggcmMgKQorICAgICAg
ICBhbWRfaW9tbXVfcXVhcmFudGluZV90ZWFyZG93bihwZGV2KTsKKworICAg
IHJldHVybiByYzsKK30KKwordm9pZCBhbWRfaW9tbXVfcXVhcmFudGluZV90
ZWFyZG93bihzdHJ1Y3QgcGNpX2RldiAqcGRldikKK3sKKyAgICBzdHJ1Y3Qg
ZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkb21faW8pOworCisgICAg
QVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOworCisgICAgaWYgKCAhcGRldi0+
YXJjaC5hbWQucm9vdF90YWJsZSApCisgICAgICAgIHJldHVybjsKIAotICAg
IC8qIFBhZ2VzIGxlYWtlZCBpbiBmYWlsdXJlIGNhc2UgKi8KLSAgICByZXR1
cm4gbGV2ZWwgPyAtRU5PTUVNIDogMDsKKyAgICBBU1NFUlQocGFnZV9saXN0
X2VtcHR5KCZoZC0+YXJjaC5wZ3RhYmxlcy5saXN0KSk7CisgICAgcGFnZV9s
aXN0X21vdmUoJmhkLT5hcmNoLnBndGFibGVzLmxpc3QsICZwZGV2LT5hcmNo
LnBndGFibGVzX2xpc3QpOworICAgIHdoaWxlICggaW9tbXVfZnJlZV9wZ3Rh
Ymxlcyhkb21faW8pID09IC1FUkVTVEFSVCApCisgICAgICAgIC8qIG5vdGhp
bmcgKi87CisgICAgcGRldi0+YXJjaC5hbWQucm9vdF90YWJsZSA9IE5VTEw7
CiB9CiAKIC8qCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9w
Y2lfYW1kX2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv
YW1kL3BjaV9hbWRfaW9tbXUuYwpAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1
ZGUgIi4uL2F0cy5oIgogCiAvKiBkb21faW8gaXMgdXNlZCBhcyBhIHNlbnRp
bmVsIGZvciBxdWFyYW50aW5lZCBkZXZpY2VzICovCi0jZGVmaW5lIFFVQVJB
TlRJTkVfU0tJUChkKSAoKGQpID09IGRvbV9pbyAmJiAhZG9tX2lvbW11KGQp
LT5hcmNoLmFtZC5yb290X3RhYmxlKQorI2RlZmluZSBRVUFSQU5USU5FX1NL
SVAoZCwgcCkgKChkKSA9PSBkb21faW8gJiYgIShwKS0+YXJjaC5hbWQucm9v
dF90YWJsZSkKIAogc3RhdGljIGJvb2xfdCBfX3JlYWRfbW9zdGx5IGluaXRf
ZG9uZTsKIApAQCAtMTI1LDggKzEyNSwxMCBAQCBzdGF0aWMgaW50IF9fbXVz
dF9jaGVjayBhbWRfaW9tbXVfc2V0dXBfCiAgICAgdTggYnVzID0gcGRldi0+
YnVzOwogICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11
KGRvbWFpbik7CiAgICAgY29uc3Qgc3RydWN0IGl2cnNfbWFwcGluZ3MgKml2
cnNfZGV2OworICAgIGNvbnN0IHN0cnVjdCBwYWdlX2luZm8gKnJvb3RfcGc7
CisgICAgZG9taWRfdCBkb21pZDsKIAotICAgIGlmICggUVVBUkFOVElORV9T
S0lQKGRvbWFpbikgKQorICAgIGlmICggUVVBUkFOVElORV9TS0lQKGRvbWFp
biwgcGRldikgKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEJVR19PTigh
aGQtPmFyY2guYW1kLnBhZ2luZ19tb2RlIHx8ICFpb21tdS0+ZGV2X3RhYmxl
LmJ1ZmZlcik7CkBAIC0xNDcsMTQgKzE0OSwyNSBAQCBzdGF0aWMgaW50IF9f
bXVzdF9jaGVjayBhbWRfaW9tbXVfc2V0dXBfCiAgICAgZHRlID0gJnRhYmxl
W3JlcV9pZF07CiAgICAgaXZyc19kZXYgPSAmZ2V0X2l2cnNfbWFwcGluZ3Mo
aW9tbXUtPnNlZylbcmVxX2lkXTsKIAorICAgIGlmICggZG9tYWluICE9IGRv
bV9pbyApCisgICAgeworICAgICAgICByb290X3BnID0gaGQtPmFyY2guYW1k
LnJvb3RfdGFibGU7CisgICAgICAgIGRvbWlkID0gZG9tYWluLT5kb21haW5f
aWQ7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHJvb3RfcGcg
PSBwZGV2LT5hcmNoLmFtZC5yb290X3RhYmxlOworICAgICAgICBkb21pZCA9
IHBkZXYtPmFyY2gucHNldWRvX2RvbWlkOworICAgIH0KKwogICAgIHNwaW5f
bG9ja19pcnFzYXZlKCZpb21tdS0+bG9jaywgZmxhZ3MpOwogCiAgICAgaWYg
KCAhZHRlLT52IHx8ICFkdGUtPnR2ICkKICAgICB7CiAgICAgICAgIC8qIGJp
bmQgRFRFIHRvIGRvbWFpbiBwYWdlLXRhYmxlcyAqLwogICAgICAgICByYyA9
IGFtZF9pb21tdV9zZXRfcm9vdF9wYWdlX3RhYmxlKAotICAgICAgICAgICAg
ICAgICBkdGUsIHBhZ2VfdG9fbWFkZHIoaGQtPmFyY2guYW1kLnJvb3RfdGFi
bGUpLAotICAgICAgICAgICAgICAgICBkb21haW4tPmRvbWFpbl9pZCwgaGQt
PmFyY2guYW1kLnBhZ2luZ19tb2RlLCBzcl9mbGFncyk7CisgICAgICAgICAg
ICAgICAgIGR0ZSwgcGFnZV90b19tYWRkcihyb290X3BnKSwgZG9taWQsCisg
ICAgICAgICAgICAgICAgIGhkLT5hcmNoLmFtZC5wYWdpbmdfbW9kZSwgc3Jf
ZmxhZ3MpOwogICAgICAgICBpZiAoIHJjICkKICAgICAgICAgewogICAgICAg
ICAgICAgQVNTRVJUKHJjIDwgMCk7CkBAIC0xODEsNyArMTk0LDcgQEAgc3Rh
dGljIGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldHVwXwogCiAgICAg
ICAgIGFtZF9pb21tdV9mbHVzaF9kZXZpY2UoaW9tbXUsIHJlcV9pZCk7CiAg
ICAgfQotICAgIGVsc2UgaWYgKCBkdGUtPnB0X3Jvb3QgIT0gbWZuX3gocGFn
ZV90b19tZm4oaGQtPmFyY2guYW1kLnJvb3RfdGFibGUpKSApCisgICAgZWxz
ZSBpZiAoIGR0ZS0+cHRfcm9vdCAhPSBtZm5feChwYWdlX3RvX21mbihyb290
X3BnKSkgKQogICAgIHsKICAgICAgICAgLyoKICAgICAgICAgICogU3RyaWN0
bHkgc3BlYWtpbmcgaWYgdGhlIGRldmljZSBpcyB0aGUgb25seSBvbmUgd2l0
aCB0aGlzIHJlcXVlc3RvcgpAQCAtMTk0LDggKzIwNyw4IEBAIHN0YXRpYyBp
bnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAgICAgICAgICAg
IHJjID0gLUVPUE5PVFNVUFA7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IHJjID0gYW1kX2lvbW11X3NldF9yb290X3BhZ2VfdGFibGUoCi0gICAgICAg
ICAgICAgICAgICAgICBkdGUsIHBhZ2VfdG9fbWFkZHIoaGQtPmFyY2guYW1k
LnJvb3RfdGFibGUpLAotICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5k
b21haW5faWQsIGhkLT5hcmNoLmFtZC5wYWdpbmdfbW9kZSwgc3JfZmxhZ3Mp
OworICAgICAgICAgICAgICAgICAgICAgZHRlLCBwYWdlX3RvX21hZGRyKHJv
b3RfcGcpLCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgIGhkLT5hcmNo
LmFtZC5wYWdpbmdfbW9kZSwgc3JfZmxhZ3MpOwogICAgICAgICBpZiAoIHJj
IDwgMCApCiAgICAgICAgIHsKICAgICAgICAgICAgIHNwaW5fdW5sb2NrX2ly
cXJlc3RvcmUoJmlvbW11LT5sb2NrLCBmbGFncyk7CkBAIC0yMTQsNiArMjI3
LDcgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3NldHVw
XwogICAgICAgICAgICAgICAqIGludGVuZGVkIGFueXdheS4KICAgICAgICAg
ICAgICAgKi8KICAgICAgICAgICAgICAhcGRldi0+ZG9tYWluLT5pc19keWlu
ZyAmJgorICAgICAgICAgICAgIHBkZXYtPmRvbWFpbiAhPSBkb21faW8gJiYK
ICAgICAgICAgICAgICAoYW55X3BkZXZfYmVoaW5kX2lvbW11KHBkZXYtPmRv
bWFpbiwgcGRldiwgaW9tbXUpIHx8CiAgICAgICAgICAgICAgIHBkZXYtPnBo
YW50b21fc3RyaWRlKSApCiAgICAgICAgICAgICBBTURfSU9NTVVfV0FSTigi
ICVwcDogcmVhc3NpZ25tZW50IG1heSBjYXVzZSAlcGQgZGF0YSBjb3JydXB0
aW9uXG4iLApAQCAtMjQ2LDkgKzI2MCw4IEBAIHN0YXRpYyBpbnQgX19tdXN0
X2NoZWNrIGFtZF9pb21tdV9zZXR1cF8KICAgICBBTURfSU9NTVVfREVCVUco
IlNldHVwIEkvTyBwYWdlIHRhYmxlOiBkZXZpY2UgaWQgPSAlI3gsIHR5cGUg
PSAlI3gsICIKICAgICAgICAgICAgICAgICAgICAgInJvb3QgdGFibGUgPSAl
IyJQUkl4NjQiLCAiCiAgICAgICAgICAgICAgICAgICAgICJkb21haW4gPSAl
ZCwgcGFnaW5nIG1vZGUgPSAlZFxuIiwKLSAgICAgICAgICAgICAgICAgICAg
cmVxX2lkLCBwZGV2LT50eXBlLAotICAgICAgICAgICAgICAgICAgICBwYWdl
X3RvX21hZGRyKGhkLT5hcmNoLmFtZC5yb290X3RhYmxlKSwKLSAgICAgICAg
ICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQsIGhkLT5hcmNoLmFtZC5w
YWdpbmdfbW9kZSk7CisgICAgICAgICAgICAgICAgICAgIHJlcV9pZCwgcGRl
di0+dHlwZSwgcGFnZV90b19tYWRkcihyb290X3BnKSwKKyAgICAgICAgICAg
ICAgICAgICAgZG9taWQsIGhkLT5hcmNoLmFtZC5wYWdpbmdfbW9kZSk7CiAK
ICAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7CiAKQEAgLTMyNyw3ICsz
NDAsNyBAQCBpbnQgYW1kX2lvbW11X2FsbG9jX3Jvb3Qoc3RydWN0IGRvbWFp
biAqCiB7CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9t
bXUoZCk7CiAKLSAgICBpZiAoIHVubGlrZWx5KCFoZC0+YXJjaC5hbWQucm9v
dF90YWJsZSkgKQorICAgIGlmICggdW5saWtlbHkoIWhkLT5hcmNoLmFtZC5y
b290X3RhYmxlKSAmJiBkICE9IGRvbV9pbyApCiAgICAgewogICAgICAgICBo
ZC0+YXJjaC5hbWQucm9vdF90YWJsZSA9IGlvbW11X2FsbG9jX3BndGFibGUo
aGQpOwogICAgICAgICBpZiAoICFoZC0+YXJjaC5hbWQucm9vdF90YWJsZSAp
CkBAIC0zOTEsNyArNDA0LDcgQEAgc3RhdGljIHZvaWQgYW1kX2lvbW11X2Rp
c2FibGVfZG9tYWluX2RldgogICAgIGludCByZXFfaWQ7CiAgICAgdTggYnVz
ID0gcGRldi0+YnVzOwogCi0gICAgaWYgKCBRVUFSQU5USU5FX1NLSVAoZG9t
YWluKSApCisgICAgaWYgKCBRVUFSQU5USU5FX1NLSVAoZG9tYWluLCBwZGV2
KSApCiAgICAgICAgIHJldHVybjsKIAogICAgIEFTU0VSVChwY2lkZXZzX2xv
Y2tlZCgpKTsKQEAgLTQzMCw3ICs0NDMsNyBAQCBzdGF0aWMgdm9pZCBhbWRf
aW9tbXVfZGlzYWJsZV9kb21haW5fZGV2CiAKICAgICAgICAgQU1EX0lPTU1V
X0RFQlVHKCJEaXNhYmxlOiBkZXZpY2UgaWQgPSAlI3gsICIKICAgICAgICAg
ICAgICAgICAgICAgICAgICJkb21haW4gPSAlZCwgcGFnaW5nIG1vZGUgPSAl
ZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcV9pZCwgIGRvbWFp
bi0+ZG9tYWluX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgcmVxX2lk
LCBkdGUtPmRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgIGRv
bV9pb21tdShkb21haW4pLT5hcmNoLmFtZC5wYWdpbmdfbW9kZSk7CiAgICAg
fQogICAgIGVsc2UKQEAgLTQ1NCw3ICs0NjcsNyBAQCBzdGF0aWMgaW50IGNm
X2NoZWNrIHJlYXNzaWduX2RldmljZSgKICAgICAgICAgcmV0dXJuIC1FTk9E
RVY7CiAgICAgfQogCi0gICAgaWYgKCAhUVVBUkFOVElORV9TS0lQKHRhcmdl
dCkgKQorICAgIGlmICggIVFVQVJBTlRJTkVfU0tJUCh0YXJnZXQsIHBkZXYp
ICkKICAgICB7CiAgICAgICAgIHJjID0gYW1kX2lvbW11X3NldHVwX2RvbWFp
bl9kZXZpY2UodGFyZ2V0LCBpb21tdSwgZGV2Zm4sIHBkZXYpOwogICAgICAg
ICBpZiAoIHJjICkKQEAgLTY1NSw2ICs2NjgsOCBAQCBzdGF0aWMgaW50IGNm
X2NoZWNrIGFtZF9pb21tdV9yZW1vdmVfZGV2CiAgICAgICAgIEFNRF9JT01N
VV9XQVJOKCIlcGQ6IHVuaXR5IHVubWFwcGluZyBmYWlsZWQgZm9yICVwcFxu
IiwKICAgICAgICAgICAgICAgICAgICAgICAgcGRldi0+ZG9tYWluLCAmcGRl
di0+c2JkZik7CiAKKyAgICBhbWRfaW9tbXVfcXVhcmFudGluZV90ZWFyZG93
bihwZGV2KTsKKwogICAgIGlvbW11X2ZyZWVfZG9taWQocGRldi0+YXJjaC5w
c2V1ZG9fZG9taWQsIGlvbW11LT5kb21pZF9tYXApOwogICAgIHBkZXYtPmFy
Y2gucHNldWRvX2RvbWlkID0gRE9NSURfSU5WQUxJRDsKIAotLS0gYS94ZW4v
ZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL2lvbW11LmMKQEAgLTQ2NiwyMSArNDY2LDIyIEBAIGlu
dCBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbgogICAgIHJl
dHVybiByYzsKIH0KIAotc3RhdGljIGludCBfX2luaXQgaW9tbXVfcXVhcmFu
dGluZV9pbml0KHZvaWQpCitpbnQgaW9tbXVfcXVhcmFudGluZV9kZXZfaW5p
dChkZXZpY2VfdCAqZGV2KQogewogICAgIGNvbnN0IHN0cnVjdCBkb21haW5f
aW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbV9pbyk7Ci0gICAgaW50IHJjOwog
Ci0gICAgZG9tX2lvLT5vcHRpb25zIHw9IFhFTl9ET01DVExfQ0RGX2lvbW11
OworICAgIGlmICggIWlvbW11X3F1YXJhbnRpbmUgfHwgIWhkLT5wbGF0Zm9y
bV9vcHMtPnF1YXJhbnRpbmVfaW5pdCApCisgICAgICAgIHJldHVybiAwOwog
Ci0gICAgcmMgPSBpb21tdV9kb21haW5faW5pdChkb21faW8sIDApOwotICAg
IGlmICggcmMgfHwgaW9tbXVfcXVhcmFudGluZSA8IElPTU1VX3F1YXJhbnRp
bmVfc2NyYXRjaF9wYWdlICkKLSAgICAgICAgcmV0dXJuIHJjOworICAgIHJl
dHVybiBpb21tdV9jYWxsKGhkLT5wbGF0Zm9ybV9vcHMsIHF1YXJhbnRpbmVf
aW5pdCwKKyAgICAgICAgICAgICAgICAgICAgICBkZXYsIGlvbW11X3F1YXJh
bnRpbmUgPT0gSU9NTVVfcXVhcmFudGluZV9zY3JhdGNoX3BhZ2UpOworfQog
Ci0gICAgaWYgKCAhaGQtPnBsYXRmb3JtX29wcy0+cXVhcmFudGluZV9pbml0
ICkKLSAgICAgICAgcmV0dXJuIDA7CitzdGF0aWMgaW50IF9faW5pdCBpb21t
dV9xdWFyYW50aW5lX2luaXQodm9pZCkKK3sKKyAgICBkb21faW8tPm9wdGlv
bnMgfD0gWEVOX0RPTUNUTF9DREZfaW9tbXU7CiAKLSAgICByZXR1cm4gaGQt
PnBsYXRmb3JtX29wcy0+cXVhcmFudGluZV9pbml0KGRvbV9pbyk7CisgICAg
cmV0dXJuIGlvbW11X2RvbWFpbl9pbml0KGRvbV9pbywgMCk7CiB9CiAKIGlu
dCBfX2luaXQgaW9tbXVfc2V0dXAodm9pZCkKLS0tIGEveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvcGNpLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91
Z2gvcGNpLmMKQEAgLTkyMSw5ICs5MjEsMTYgQEAgc3RhdGljIGludCBkZWFz
c2lnbl9kZXZpY2Uoc3RydWN0IGRvbWFpbgogICAgICAgICByZXR1cm4gLUVO
T0RFVjsKIAogICAgIC8qIERlLWFzc2lnbm1lbnQgZnJvbSBkb21faW8gc2hv
dWxkIGRlLXF1YXJhbnRpbmUgdGhlIGRldmljZSAqLwotICAgIHRhcmdldCA9
ICgocGRldi0+cXVhcmFudGluZSB8fCBpb21tdV9xdWFyYW50aW5lKSAmJgot
ICAgICAgICAgICAgICBwZGV2LT5kb21haW4gIT0gZG9tX2lvKSA/Ci0gICAg
ICAgIGRvbV9pbyA6IGhhcmR3YXJlX2RvbWFpbjsKKyAgICBpZiAoIChwZGV2
LT5xdWFyYW50aW5lIHx8IGlvbW11X3F1YXJhbnRpbmUpICYmIHBkZXYtPmRv
bWFpbiAhPSBkb21faW8gKQorICAgIHsKKyAgICAgICAgcmV0ID0gaW9tbXVf
cXVhcmFudGluZV9kZXZfaW5pdChwY2lfdG9fZGV2KHBkZXYpKTsKKyAgICAg
ICAgaWYgKCByZXQgKQorICAgICAgICAgICByZXR1cm4gcmV0OworCisgICAg
ICAgIHRhcmdldCA9IGRvbV9pbzsKKyAgICB9CisgICAgZWxzZQorICAgICAg
ICB0YXJnZXQgPSBoYXJkd2FyZV9kb21haW47CiAKICAgICB3aGlsZSAoIHBk
ZXYtPnBoYW50b21fc3RyaWRlICkKICAgICB7CkBAIC0xNDk4LDYgKzE1MDUs
MTMgQEAgc3RhdGljIGludCBhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4g
KgogICAgIGlmICggcmMgKQogICAgICAgICBnb3RvIGRvbmU7CiAKKyAgICBp
ZiAoIHBkZXYtPmRvbWFpbiAhPSBkb21faW8gKQorICAgIHsKKyAgICAgICAg
cmMgPSBpb21tdV9xdWFyYW50aW5lX2Rldl9pbml0KHBjaV90b19kZXYocGRl
dikpOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGdvdG8gZG9u
ZTsKKyAgICB9CisKICAgICBwZGV2LT5mYXVsdC5jb3VudCA9IDA7CiAKICAg
ICBpZiAoIChyYyA9IGlvbW11X2NhbGwoaGQtPnBsYXRmb3JtX29wcywgYXNz
aWduX2RldmljZSwgZCwgZGV2Zm4sCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv
dWdoL3Z0ZC9pb21tdS5jCkBAIC00NSw2ICs0NSwxMSBAQAogCiAvKiBkb21f
aW8gaXMgdXNlZCBhcyBhIHNlbnRpbmVsIGZvciBxdWFyYW50aW5lZCBkZXZp
Y2VzICovCiAjZGVmaW5lIFFVQVJBTlRJTkVfU0tJUChkLCBwZ2RfbWFkZHIp
ICgoZCkgPT0gZG9tX2lvICYmICEocGdkX21hZGRyKSkKKyNkZWZpbmUgREVW
SUNFX0RPTUlEKGQsIHBkZXYpICgoZCkgIT0gZG9tX2lvID8gKGQpLT5kb21h
aW5faWQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOiAocGRldiktPmFyY2gucHNldWRvX2RvbWlkKQorI2RlZmlu
ZSBERVZJQ0VfUEdUQUJMRShkLCBwZGV2KSAoKGQpICE9IGRvbV9pbyBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGRvbV9pb21tdShk
KS0+YXJjaC52dGQucGdkX21hZGRyIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDogKHBkZXYpLT5hcmNoLnZ0ZC5wZ2RfbWFkZHIpCiAK
IC8qIFBvc3NpYmxlIHVuZmlsdGVyZWQgTEFQSUMvTVNJIG1lc3NhZ2VzIGZy
b20gdW50cnVzdGVkIHNvdXJjZXM/ICovCiBib29sIF9fcmVhZF9tb3N0bHkg
dW50cnVzdGVkX21zaTsKQEAgLTEwOCwxMiArMTEzLDE3IEBAIHN0YXRpYyBp
bnQgZ2V0X2lvbW11X2RpZChkb21pZF90IGRvbWlkLAogCiAjZGVmaW5lIERJ
RF9GSUVMRF9XSURUSCAxNgogI2RlZmluZSBESURfSElHSF9PRkZTRVQgOAor
CisvKgorICogVGhpcyBmdW5jdGlvbiBtYXkgaGF2ZSAiY29udGV4dCIgcGFz
c2VkIGFzIE5VTEwsIHRvIG1lcmVseSBvYnRhaW4gYSBESUQKKyAqIGZvciAi
ZG9taWQiLgorICovCiBzdGF0aWMgaW50IGNvbnRleHRfc2V0X2RvbWFpbl9p
ZChzdHJ1Y3QgY29udGV4dF9lbnRyeSAqY29udGV4dCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgZG9taWQsIHN0cnVjdCB2
dGRfaW9tbXUgKmlvbW11KQogewogICAgIHVuc2lnbmVkIGludCBpOwogCi0g
ICAgQVNTRVJUKHNwaW5faXNfbG9ja2VkKCZpb21tdS0+bG9jaykpOworICAg
IEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKIAogICAgIGlmICggZG9taWRf
bWFwcGluZyhpb21tdSkgKQogICAgIHsKQEAgLTEzOCw4ICsxNDgsMTIgQEAg
c3RhdGljIGludCBjb250ZXh0X3NldF9kb21haW5faWQoc3RydWN0CiAgICAg
ZWxzZQogICAgICAgICBpID0gY29udmVydF9kb21pZChpb21tdSwgZG9taWQp
OwogCi0gICAgY29udGV4dC0+aGkgJj0gfigoKDEgPDwgRElEX0ZJRUxEX1dJ
RFRIKSAtIDEpIDw8IERJRF9ISUdIX09GRlNFVCk7Ci0gICAgY29udGV4dC0+
aGkgfD0gKGkgJiAoKDEgPDwgRElEX0ZJRUxEX1dJRFRIKSAtIDEpKSA8PCBE
SURfSElHSF9PRkZTRVQ7CisgICAgaWYgKCBjb250ZXh0ICkKKyAgICB7Cisg
ICAgICAgIGNvbnRleHQtPmhpICY9IH4oKCgxIDw8IERJRF9GSUVMRF9XSURU
SCkgLSAxKSA8PCBESURfSElHSF9PRkZTRVQpOworICAgICAgICBjb250ZXh0
LT5oaSB8PSAoaSAmICgoMSA8PCBESURfRklFTERfV0lEVEgpIC0gMSkpIDw8
IERJRF9ISUdIX09GRlNFVDsKKyAgICB9CisKICAgICByZXR1cm4gMDsKIH0K
IApAQCAtMTk0LDggKzIwOCwxMiBAQCBzdGF0aWMgdm9pZCBjaGVja19jbGVh
bnVwX2RvbWlkX21hcChjb25zCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldiAqZXhjbHVkZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2dGRf
aW9tbXUgKmlvbW11KQogewotICAgIGJvb2wgZm91bmQgPSBhbnlfcGRldl9i
ZWhpbmRfaW9tbXUoZCwgZXhjbHVkZSwgaW9tbXUpOworICAgIGJvb2wgZm91
bmQ7CisKKyAgICBpZiAoIGQgPT0gZG9tX2lvICkKKyAgICAgICAgcmV0dXJu
OwogCisgICAgZm91bmQgPSBhbnlfcGRldl9iZWhpbmRfaW9tbXUoZCwgZXhj
bHVkZSwgaW9tbXUpOwogICAgIC8qCiAgICAgICogSGlkZGVuIGRldmljZXMg
YXJlIGFzc29jaWF0ZWQgd2l0aCBEb21YRU4gYnV0IHVzYWJsZSBieSB0aGUg
aGFyZHdhcmUKICAgICAgKiBkb21haW4uIEhlbmNlIHRoZXkgbmVlZCBjb25z
aWRlcmluZyBoZXJlIGFzIHdlbGwuCkBAIC0yMTIsNyArMjMwLDcgQEAgc3Rh
dGljIHZvaWQgY2hlY2tfY2xlYW51cF9kb21pZF9tYXAoY29ucwogCiBkb21p
ZF90IGRpZF90b19kb21haW5faWQoY29uc3Qgc3RydWN0IHZ0ZF9pb21tdSAq
aW9tbXUsIHVuc2lnbmVkIGludCBkaWQpCiB7Ci0gICAgaWYgKCBkaWQgPj0g
bWluKGNhcF9uZG9tcyhpb21tdS0+Y2FwKSwgRE9NSURfTUFTSyArIDEpICkK
KyAgICBpZiAoIGRpZCA+PSBjYXBfbmRvbXMoaW9tbXUtPmNhcCkgKQogICAg
ICAgICByZXR1cm4gRE9NSURfSU5WQUxJRDsKIAogICAgIGlmICggIWRvbWlk
X21hcHBpbmcoaW9tbXUpICkKQEAgLTE0MjgsNyArMTQ0Niw3IEBAIGludCBk
b21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAgICAgICAgZG9taWQgPSBk
aWRfdG9fZG9tYWluX2lkKGlvbW11LCBwcmV2X2RpZCk7CiAgICAgICAgIGlm
ICggZG9taWQgPCBET01JRF9GSVJTVF9SRVNFUlZFRCApCiAgICAgICAgICAg
ICBwcmV2X2RvbSA9IHJjdV9sb2NrX2RvbWFpbl9ieV9pZChkb21pZCk7Ci0g
ICAgICAgIGVsc2UgaWYgKCBkb21pZCA9PSBET01JRF9JTyApCisgICAgICAg
IGVsc2UgaWYgKCBwZGV2ID8gZG9taWQgPT0gcGRldi0+YXJjaC5wc2V1ZG9f
ZG9taWQgOiBkb21pZCA+IERPTUlEX01BU0sgKQogICAgICAgICAgICAgcHJl
dl9kb20gPSByY3VfbG9ja19kb21haW4oZG9tX2lvKTsKICAgICAgICAgaWYg
KCAhcHJldl9kb20gKQogICAgICAgICB7CkBAIC0xNTg1LDE1ICsxNjAzLDEy
IEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAgICB7CiAg
ICAgICAgIGlmICggIXByZXZfZG9tICkKICAgICAgICAgICAgIHJldCA9IGRv
bWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCBidXMsIGRl
dmZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBw
ZGV2KSk7CiAgICAgICAgIGVsc2UgaWYgKCBwcmV2X2RvbSAhPSBkb21haW4g
KSAvKiBBdm9pZCBpbmZpbml0ZSByZWN1cnNpb24uICovCi0gICAgICAgIHsK
LSAgICAgICAgICAgIGhkID0gZG9tX2lvbW11KHByZXZfZG9tKTsKICAgICAg
ICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25lKHByZXZf
ZG9tLCBpb21tdSwgYnVzLCBkZXZmbiwgcGRldiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWlu
X2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGQtPmFyY2gudnRkLnBnZF9tYWRkciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFVklDRV9ET01JRChw
cmV2X2RvbSwgcGRldiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBERVZJQ0VfUEdUQUJMRShwcmV2X2RvbSwgcGRl
diksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtb2RlICYgTUFQX1dJVEhfUk1SUikgPCAwOwotICAgICAgICB9CiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIHJldCA9IDE7CiAKQEAgLTE2MTUs
NyArMTYzMCw3IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGlu
ZyhzdHJ1Y3QKIHsKICAgICBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQg
KmRyaGQgPSBhY3BpX2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7CiAg
ICAgY29uc3Qgc3RydWN0IGFjcGlfcm1ycl91bml0ICpybXJyOwotICAgIHBh
ZGRyX3QgcGdkX21hZGRyID0gZG9tX2lvbW11KGRvbWFpbiktPmFyY2gudnRk
LnBnZF9tYWRkcjsKKyAgICBwYWRkcl90IHBnZF9tYWRkciA9IERFVklDRV9Q
R1RBQkxFKGRvbWFpbiwgcGRldik7CiAgICAgZG9taWRfdCBvcmlnX2RvbWlk
ID0gcGRldi0+YXJjaC5wc2V1ZG9fZG9taWQ7CiAgICAgaW50IHJldCA9IDA7
CiAgICAgdW5zaWduZWQgaW50IGksIG1vZGUgPSAwOwpAQCAtMTY0NCw3ICsx
NjU5LDcgQEAgc3RhdGljIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nKHN0
cnVjdAogICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBpZiAoIGRvbWFp
biAhPSBwZGV2LT5kb21haW4gKQorICAgIGlmICggZG9tYWluICE9IHBkZXYt
PmRvbWFpbiAmJiBwZGV2LT5kb21haW4gIT0gZG9tX2lvICkKICAgICB7CiAg
ICAgICAgIGlmICggcGRldi0+ZG9tYWluLT5pc19keWluZyApCiAgICAgICAg
ICAgICBtb2RlIHw9IE1BUF9PV05FUl9EWUlORzsKQEAgLTE2ODYsOCArMTcw
MSw4IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1
Y3QKICAgICAgICAgaWYgKCBpb21tdV9kZWJ1ZyApCiAgICAgICAgICAgICBw
cmludGsoVlREUFJFRklYICIlcGQ6UENJZTogbWFwICVwcFxuIiwKICAgICAg
ICAgICAgICAgICAgICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBidXMsIGRl
dmZuKSk7Ci0gICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X21hcHBpbmdf
b25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkZXYsIGRvbWFp
bi0+ZG9tYWluX2lkLCBwZ2RfbWFkZHIsCisgICAgICAgIHJldCA9IGRvbWFp
bl9jb250ZXh0X21hcHBpbmdfb25lKGRvbWFpbiwgZHJoZC0+aW9tbXUsIGJ1
cywgZGV2Zm4sIHBkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIERFVklDRV9ET01JRChkb21haW4sIHBkZXYpLCBwZ2Rf
bWFkZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1vZGUpOwogICAgICAgICBpZiAoIHJldCA+IDAgKQogICAgICAgICAg
ICAgcmV0ID0gMDsKQEAgLTE3MTMsOCArMTcyOCw4IEBAIHN0YXRpYyBpbnQg
ZG9tYWluX2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICAgICAg
ICAgICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBidXMsIGRldmZuKSk7CiAK
ICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9t
YWluLCBkcmhkLT5pb21tdSwgYnVzLCBkZXZmbiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRldiwgZG9tYWluLT5kb21h
aW5faWQsIHBnZF9tYWRkciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbW9kZSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBkZXYsIERFVklDRV9ET01JRChkb21haW4s
IHBkZXYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwZ2RfbWFkZHIsIG1vZGUpOwogICAgICAgICBpZiAoIHJldCA8IDAg
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHByZXZfcHJlc2VudCA9
IHJldDsKQEAgLTE3NDIsOCArMTc1Nyw4IEBAIHN0YXRpYyBpbnQgZG9tYWlu
X2NvbnRleHRfbWFwcGluZyhzdHJ1Y3QKICAgICAgICAgICovCiAgICAgICAg
IGlmICggcmV0ID49IDAgKQogICAgICAgICAgICAgcmV0ID0gZG9tYWluX2Nv
bnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgYnVzLCBk
ZXZmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwsIGRvbWFpbi0+ZG9tYWluX2lkLCBwZ2RfbWFkZHIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
b2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5VTEwsIERFVklDRV9ET01JRChkb21haW4sIHBkZXYpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGdk
X21hZGRyLCBtb2RlKTsKIAogICAgICAgICAvKgogICAgICAgICAgKiBEZXZp
Y2VzIGJlaGluZCBQQ0llLXRvLVBDSS9QQ0l4IGJyaWRnZSBtYXkgZ2VuZXJh
dGUgZGlmZmVyZW50CkBAIC0xNzU4LDggKzE3NzMsOCBAQCBzdGF0aWMgaW50
IGRvbWFpbl9jb250ZXh0X21hcHBpbmcoc3RydWN0CiAgICAgICAgIGlmICgg
IXJldCAmJiBwZGV2X3R5cGUoc2VnLCBidXMsIGRldmZuKSA9PSBERVZfVFlQ
RV9QQ0llMlBDSV9CUklER0UgJiYKICAgICAgICAgICAgICAoc2VjYnVzICE9
IHBkZXYtPmJ1cyB8fCBwZGV2LT5kZXZmbiAhPSAwKSApCiAgICAgICAgICAg
ICByZXQgPSBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZShkb21haW4sIGRy
aGQtPmlvbW11LCBzZWNidXMsIDAsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBkb21haW4tPmRvbWFpbl9p
ZCwgcGdkX21hZGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbW9kZSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBERVZJQ0VfRE9NSUQoZG9t
YWluLCBwZGV2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBnZF9tYWRkciwgbW9kZSk7CiAKICAgICAgICAgaWYg
KCByZXQgKQogICAgICAgICB7CkBAIC0xODAxLDkgKzE4MTYsNiBAQCBpbnQg
ZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKAogICAgIGludCBpb21tdV9kb21p
ZCwgcmMsIHJldDsKICAgICBib29sX3QgZmx1c2hfZGV2X2lvdGxiOwogCi0g
ICAgaWYgKCBRVUFSQU5USU5FX1NLSVAoZG9tYWluLCBkb21faW9tbXUoZG9t
YWluKS0+YXJjaC52dGQucGdkX21hZGRyKSApCi0gICAgICAgIHJldHVybiAw
OwotCiAgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOwogICAgIHNwaW5f
bG9jaygmaW9tbXUtPmxvY2spOwogCkBAIC0xOTA1LDcgKzE5MTcsNyBAQCBz
dGF0aWMgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkb21hCiAgICAg
ICAgICAgICBwcmludGsoVlREUFJFRklYICIlcGQ6UENJZTogdW5tYXAgJXBw
XG4iLAogICAgICAgICAgICAgICAgICAgIGRvbWFpbiwgJlBDSV9TQkRGMyhz
ZWcsIGJ1cywgZGV2Zm4pKTsKICAgICAgICAgcmV0ID0gZG9tYWluX2NvbnRl
eHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIGJ1cywgZGV2Zm4sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4tPmRv
bWFpbl9pZCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSk7CiAgICAgICAgIGlm
ICggIXJldCAmJiBkZXZmbiA9PSBwZGV2LT5kZXZmbiAmJiBhdHNfZGV2aWNl
KHBkZXYsIGRyaGQpID4gMCApCiAgICAgICAgICAgICBkaXNhYmxlX2F0c19k
ZXZpY2UocGRldik7CiAKQEAgLTE5MTksNyArMTkzMSw3IEBAIHN0YXRpYyBj
b25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRvbWEKICAgICAgICAgICAg
IHByaW50ayhWVERQUkVGSVggIiVwZDpQQ0k6IHVubWFwICVwcFxuIiwKICAg
ICAgICAgICAgICAgICAgICBkb21haW4sICZQQ0lfU0JERjMoc2VnLCBidXMs
IGRldmZuKSk7CiAgICAgICAgIHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFw
X29uZShkb21haW4sIGlvbW11LCBidXMsIGRldmZuLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVW
SUNFX0RPTUlEKGRvbWFpbiwgcGRldikpOwogICAgICAgICBpZiAoIHJldCAp
CiAgICAgICAgICAgICBicmVhazsKIApAQCAtMTk0MiwxOCArMTk1NCwxMiBA
QCBzdGF0aWMgY29uc3Qgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkb21hCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCisgICAgICAgIHJldCA9
IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11LCB0bXBf
YnVzLCB0bXBfZGV2Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSk7CiAgICAg
ICAgIC8qIFBDSWUgdG8gUENJL1BDSXggYnJpZGdlICovCi0gICAgICAgIGlm
ICggcGRldl90eXBlKHNlZywgdG1wX2J1cywgdG1wX2RldmZuKSA9PSBERVZf
VFlQRV9QQ0llMlBDSV9CUklER0UgKQotICAgICAgICB7Ci0gICAgICAgICAg
ICByZXQgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWluLCBpb21t
dSwgdG1wX2J1cywgdG1wX2RldmZuLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbi0+ZG9tYWluX2lkKTsKLSAg
ICAgICAgICAgIGlmICggIXJldCApCi0gICAgICAgICAgICAgICAgcmV0ID0g
ZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwgaW9tbXUsIHNlY2J1
cywgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOwotICAgICAgICB9Ci0gICAg
ICAgIGVsc2UgLyogTGVnYWN5IFBDSSBicmlkZ2UgKi8KLSAgICAgICAgICAg
IHJldCA9IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZShkb21haW4sIGlvbW11
LCB0bXBfYnVzLCB0bXBfZGV2Zm4sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZG9tYWluLT5kb21haW5faWQpOworICAg
ICAgICBpZiAoICFyZXQgJiYgcGRldl90eXBlKHNlZywgdG1wX2J1cywgdG1w
X2RldmZuKSA9PSBERVZfVFlQRV9QQ0llMlBDSV9CUklER0UgKQorICAgICAg
ICAgICAgcmV0ID0gZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKGRvbWFpbiwg
aW9tbXUsIHNlY2J1cywgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBERVZJQ0VfRE9NSUQoZG9tYWluLCBwZGV2KSk7
CiAKICAgICAgICAgYnJlYWs7CiAKQEAgLTE5NjQsNyArMTk3MCw3IEBAIHN0
YXRpYyBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRvbWEKICAgICB9
CiAKICAgICBpZiAoICFyZXQgJiYgcGRldi0+ZGV2Zm4gPT0gZGV2Zm4gJiYK
LSAgICAgICAgICFRVUFSQU5USU5FX1NLSVAoZG9tYWluLCBkb21faW9tbXUo
ZG9tYWluKS0+YXJjaC52dGQucGdkX21hZGRyKSApCisgICAgICAgICAhUVVB
UkFOVElORV9TS0lQKGRvbWFpbiwgcGRldi0+YXJjaC52dGQucGdkX21hZGRy
KSApCiAgICAgICAgIGNoZWNrX2NsZWFudXBfZG9taWRfbWFwKGRvbWFpbiwg
cGRldiwgaW9tbXUpOwogCiAgICAgcmV0dXJuIGRyaGQ7CkBAIC0xOTk3LDYg
KzIwMDMsMjYgQEAgc3RhdGljIHZvaWQgY2ZfY2hlY2sgaW9tbXVfZG9tYWlu
X3RlYXJkbwogICAgIFhGUkVFKGhkLT5hcmNoLnZ0ZC5pb21tdV9iaXRtYXAp
OwogfQogCitzdGF0aWMgdm9pZCBxdWFyYW50aW5lX3RlYXJkb3duKHN0cnVj
dCBwY2lfZGV2ICpwZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQpCit7Cisg
ICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZG9tX2lv
KTsKKworICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKKworICAgIGlm
ICggIXBkZXYtPmFyY2gudnRkLnBnZF9tYWRkciApCisgICAgICAgIHJldHVy
bjsKKworICAgIEFTU0VSVChwYWdlX2xpc3RfZW1wdHkoJmhkLT5hcmNoLnBn
dGFibGVzLmxpc3QpKTsKKyAgICBwYWdlX2xpc3RfbW92ZSgmaGQtPmFyY2gu
cGd0YWJsZXMubGlzdCwgJnBkZXYtPmFyY2gucGd0YWJsZXNfbGlzdCk7Cisg
ICAgd2hpbGUgKCBpb21tdV9mcmVlX3BndGFibGVzKGRvbV9pbykgPT0gLUVS
RVNUQVJUICkKKyAgICAgICAgLyogbm90aGluZyAqLzsKKyAgICBwZGV2LT5h
cmNoLnZ0ZC5wZ2RfbWFkZHIgPSAwOworCisgICAgaWYgKCBkcmhkICkKKyAg
ICAgICAgY2xlYW51cF9kb21pZF9tYXAocGRldi0+YXJjaC5wc2V1ZG9fZG9t
aWQsIGRyaGQtPmlvbW11KTsKK30KKwogc3RhdGljIGludCBfX211c3RfY2hl
Y2sgY2ZfY2hlY2sgaW50ZWxfaW9tbXVfbWFwX3BhZ2UoCiAgICAgc3RydWN0
IGRvbWFpbiAqZCwgZGZuX3QgZGZuLCBtZm5fdCBtZm4sIHVuc2lnbmVkIGlu
dCBmbGFncywKICAgICB1bnNpZ25lZCBpbnQgKmZsdXNoX2ZsYWdzKQpAQCAt
MjIyMSw2ICsyMjQ3LDggQEAgc3RhdGljIGludCBjZl9jaGVjayBpbnRlbF9p
b21tdV9yZW1vdmVfZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJtcnItPmVuZF9hZGRyZXNzLCAwKTsKICAgICB9CiAKKyAgICBxdWFyYW50
aW5lX3RlYXJkb3duKHBkZXYsIGRyaGQpOworCiAgICAgaWYgKCBkcmhkICkK
ICAgICB7CiAgICAgICAgIGlvbW11X2ZyZWVfZG9taWQocGRldi0+YXJjaC5w
c2V1ZG9fZG9taWQsCkBAIC0yNTc5LDcgKzI2MDcsNyBAQCBzdGF0aWMgaW50
IGNmX2NoZWNrIHJlYXNzaWduX2RldmljZV9vd25lCiB7CiAgICAgaW50IHJl
dDsKIAotICAgIGlmICggIVFVQVJBTlRJTkVfU0tJUCh0YXJnZXQsIGRvbV9p
b21tdSh0YXJnZXQpLT5hcmNoLnZ0ZC5wZ2RfbWFkZHIpICkKKyAgICBpZiAo
ICFRVUFSQU5USU5FX1NLSVAodGFyZ2V0LCBwZGV2LT5hcmNoLnZ0ZC5wZ2Rf
bWFkZHIpICkKICAgICB7CiAgICAgICAgIGlmICggIWhhc19hcmNoX3BkZXZz
KHRhcmdldCkgKQogICAgICAgICAgICAgdm14X3BpX2hvb2tzX2Fzc2lnbih0
YXJnZXQpOwpAQCAtMjU5Niw3ICsyNjI0LDcgQEAgc3RhdGljIGludCBjZl9j
aGVjayByZWFzc2lnbl9kZXZpY2Vfb3duZQogICAgICAgICByZXQgPSBkb21h
aW5fY29udGV4dF9tYXBwaW5nKHRhcmdldCwgZGV2Zm4sIHBkZXYpOwogCiAg
ICAgICAgIGlmICggIXJldCAmJiBwZGV2LT5kZXZmbiA9PSBkZXZmbiAmJgot
ICAgICAgICAgICAgICFRVUFSQU5USU5FX1NLSVAoc291cmNlLCBkb21faW9t
bXUoc291cmNlKS0+YXJjaC52dGQucGdkX21hZGRyKSApCisgICAgICAgICAg
ICAgIVFVQVJBTlRJTkVfU0tJUChzb3VyY2UsIHBkZXYtPmFyY2gudnRkLnBn
ZF9tYWRkcikgKQogICAgICAgICB7CiAgICAgICAgICAgICBjb25zdCBzdHJ1
Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQgPSBhY3BpX2ZpbmRfbWF0Y2hlZF9k
cmhkX3VuaXQocGRldik7CiAKQEAgLTI5MTgsNjkgKzI5NDYsMTM2IEBAIHN0
YXRpYyB2b2lkIGNmX2NoZWNrIHZ0ZF9kdW1wX3BhZ2VfdGFibGUKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGFnYXdfdG9fbGV2ZWwoaGQtPmFy
Y2gudnRkLmFnYXcpLCAwLCAwKTsKIH0KIAotc3RhdGljIGludCBfX2luaXQg
Y2ZfY2hlY2sgaW50ZWxfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cnVjdCBk
b21haW4gKmQpCitzdGF0aWMgaW50IGZpbGxfcXB0KHN0cnVjdCBkbWFfcHRl
ICp0aGlzLCB1bnNpZ25lZCBpbnQgbGV2ZWwsCisgICAgICAgICAgICAgICAg
ICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnc1s2XSkKIHsKLSAgICBzdHJ1Y3Qg
ZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKKyAgICBzdHJ1Y3Qg
ZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkb21faW8pOworICAgIHVu
c2lnbmVkIGludCBpOworICAgIGludCByYyA9IDA7CisKKyAgICBmb3IgKCBp
ID0gMDsgIXJjICYmIGkgPCBQVEVfTlVNOyArK2kgKQorICAgIHsKKyAgICAg
ICAgc3RydWN0IGRtYV9wdGUgKnB0ZSA9ICZ0aGlzW2ldLCAqbmV4dDsKKwor
ICAgICAgICBpZiAoICFkbWFfcHRlX3ByZXNlbnQoKnB0ZSkgKQorICAgICAg
ICB7CisgICAgICAgICAgICBpZiAoICFwZ3NbbGV2ZWxdICkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAq
IFRoZSBwZ3RhYmxlIGFsbG9jYXRvciBpcyBmaW5lIGZvciB0aGUgbGVhZiBw
YWdlLCBhcyB3ZWxsIGFzCisgICAgICAgICAgICAgICAgICogcGFnZSB0YWJs
ZSBwYWdlcywgYW5kIHRoZSByZXN1bHRpbmcgYWxsb2NhdGlvbnMgYXJlIGFs
d2F5cworICAgICAgICAgICAgICAgICAqIHplcm9lZC4KKyAgICAgICAgICAg
ICAgICAgKi8KKyAgICAgICAgICAgICAgICBwZ3NbbGV2ZWxdID0gaW9tbXVf
YWxsb2NfcGd0YWJsZShoZCk7CisgICAgICAgICAgICAgICAgaWYgKCAhcGdz
W2xldmVsXSApCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICByYyA9IC1FTk9NRU07CisgICAgICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICgg
bGV2ZWwgKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg
ICAgbmV4dCA9IG1hcF92dGRfZG9tYWluX3BhZ2UocGFnZV90b19tYWRkcihw
Z3NbbGV2ZWxdKSk7CisgICAgICAgICAgICAgICAgICAgIHJjID0gZmlsbF9x
cHQobmV4dCwgbGV2ZWwgLSAxLCBwZ3MpOworICAgICAgICAgICAgICAgICAg
ICB1bm1hcF92dGRfZG9tYWluX3BhZ2UobmV4dCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBkbWFfc2V0X3B0
ZV9hZGRyKCpwdGUsIHBhZ2VfdG9fbWFkZHIocGdzW2xldmVsXSkpOworICAg
ICAgICAgICAgZG1hX3NldF9wdGVfcmVhZGFibGUoKnB0ZSk7CisgICAgICAg
ICAgICBkbWFfc2V0X3B0ZV93cml0YWJsZSgqcHRlKTsKKyAgICAgICAgfQor
ICAgICAgICBlbHNlIGlmICggbGV2ZWwgJiYgIWRtYV9wdGVfc3VwZXJwYWdl
KCpwdGUpICkKKyAgICAgICAgeworICAgICAgICAgICAgbmV4dCA9IG1hcF92
dGRfZG9tYWluX3BhZ2UoZG1hX3B0ZV9hZGRyKCpwdGUpKTsKKyAgICAgICAg
ICAgIHJjID0gZmlsbF9xcHQobmV4dCwgbGV2ZWwgLSAxLCBwZ3MpOworICAg
ICAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKG5leHQpOworICAgICAg
ICB9CisgICAgfQorCisgICAgcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50
IGNmX2NoZWNrIGludGVsX2lvbW11X3F1YXJhbnRpbmVfaW5pdChzdHJ1Y3Qg
cGNpX2RldiAqcGRldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgc2NyYXRjaF9wYWdlKQoreworICAg
IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbV9pbyk7
CiAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGc7Ci0gICAgc3RydWN0IGRtYV9w
dGUgKnBhcmVudDsKICAgICB1bnNpZ25lZCBpbnQgYWdhdyA9IHdpZHRoX3Rv
X2FnYXcoREVGQVVMVF9ET01BSU5fQUREUkVTU19XSURUSCk7CiAgICAgdW5z
aWduZWQgaW50IGxldmVsID0gYWdhd190b19sZXZlbChhZ2F3KTsKLSAgICBp
bnQgcmMgPSAwOworICAgIGNvbnN0IHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAq
ZHJoZDsKKyAgICBjb25zdCBzdHJ1Y3QgYWNwaV9ybXJyX3VuaXQgKnJtcnI7
CisgICAgdW5zaWduZWQgaW50IGksIGJkZjsKKyAgICBib29sIHJtcnJfZm91
bmQgPSBmYWxzZTsKKyAgICBpbnQgcmM7CiAKLSAgICBzcGluX2xvY2soJmhk
LT5hcmNoLm1hcHBpbmdfbG9jayk7CisgICAgQVNTRVJUKHBjaWRldnNfbG9j
a2VkKCkpOworICAgIEFTU0VSVCghaGQtPmFyY2gudnRkLnBnZF9tYWRkcik7
CisgICAgQVNTRVJUKHBhZ2VfbGlzdF9lbXB0eSgmaGQtPmFyY2gucGd0YWJs
ZXMubGlzdCkpOwogCi0gICAgaWYgKCBoZC0+YXJjaC52dGQucGdkX21hZGRy
ICkKKyAgICBpZiAoIHBkZXYtPmFyY2gudnRkLnBnZF9tYWRkciApCiAgICAg
ewotICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKLSAgICAgICAgZ290
byBvdXQ7CisgICAgICAgIGNsZWFyX2RvbWFpbl9wYWdlKHBkZXYtPmFyY2gu
bGVhZl9tZm4pOworICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBw
ZyA9IGlvbW11X2FsbG9jX3BndGFibGUoaGQpOworICAgIGRyaGQgPSBhY3Bp
X2ZpbmRfbWF0Y2hlZF9kcmhkX3VuaXQocGRldik7CisgICAgaWYgKCAhZHJo
ZCApCisgICAgICAgIHJldHVybiAtRU5PREVWOwogCi0gICAgcmMgPSAtRU5P
TUVNOworICAgIHBnID0gaW9tbXVfYWxsb2NfcGd0YWJsZShoZCk7CiAgICAg
aWYgKCAhcGcgKQotICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgcmV0dXJu
IC1FTk9NRU07CisKKyAgICByYyA9IGNvbnRleHRfc2V0X2RvbWFpbl9pZChO
VUxMLCBwZGV2LT5hcmNoLnBzZXVkb19kb21pZCwgZHJoZC0+aW9tbXUpOwog
CisgICAgLyogVHJhbnNpZW50bHkgaW5zdGFsbCB0aGUgcm9vdCBpbnRvIERv
bUlPLCBmb3IgaW9tbXVfaWRlbnRpdHlfbWFwcGluZygpLiAqLwogICAgIGhk
LT5hcmNoLnZ0ZC5wZ2RfbWFkZHIgPSBwYWdlX3RvX21hZGRyKHBnKTsKIAot
ICAgIHBhcmVudCA9IG1hcF92dGRfZG9tYWluX3BhZ2UoaGQtPmFyY2gudnRk
LnBnZF9tYWRkcik7Ci0gICAgd2hpbGUgKCBsZXZlbCApCisgICAgZm9yX2Vh
Y2hfcm1ycl9kZXZpY2UgKCBybXJyLCBiZGYsIGkgKQogICAgIHsKLSAgICAg
ICAgdWludDY0X3QgbWFkZHI7Ci0gICAgICAgIHVuc2lnbmVkIGludCBvZmZz
ZXQ7Ci0KLSAgICAgICAgLyoKLSAgICAgICAgICogVGhlIHBndGFibGUgYWxs
b2NhdG9yIGlzIGZpbmUgZm9yIHRoZSBsZWFmIHBhZ2UsIGFzIHdlbGwgYXMK
LSAgICAgICAgICogcGFnZSB0YWJsZSBwYWdlcywgYW5kIHRoZSByZXN1bHRp
bmcgYWxsb2NhdGlvbnMgYXJlIGFsd2F5cwotICAgICAgICAgKiB6ZXJvZWQu
Ci0gICAgICAgICAqLwotICAgICAgICBwZyA9IGlvbW11X2FsbG9jX3BndGFi
bGUoaGQpOwotCi0gICAgICAgIGlmICggIXBnICkKLSAgICAgICAgICAgIGdv
dG8gb3V0OworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFr
OwogCi0gICAgICAgIG1hZGRyID0gcGFnZV90b19tYWRkcihwZyk7Ci0gICAg
ICAgIGZvciAoIG9mZnNldCA9IDA7IG9mZnNldCA8IFBURV9OVU07IG9mZnNl
dCsrICkKKyAgICAgICAgaWYgKCBybXJyLT5zZWdtZW50ID09IHBkZXYtPnNl
ZyAmJiBiZGYgPT0gcGRldi0+c2JkZi5iZGYgKQogICAgICAgICB7Ci0gICAg
ICAgICAgICBzdHJ1Y3QgZG1hX3B0ZSAqcHRlID0gJnBhcmVudFtvZmZzZXRd
OworICAgICAgICAgICAgcm1ycl9mb3VuZCA9IHRydWU7CiAKLSAgICAgICAg
ICAgIGRtYV9zZXRfcHRlX2FkZHIoKnB0ZSwgbWFkZHIpOwotICAgICAgICAg
ICAgZG1hX3NldF9wdGVfcmVhZGFibGUoKnB0ZSk7CisgICAgICAgICAgICBy
YyA9IGlvbW11X2lkZW50aXR5X21hcHBpbmcoZG9tX2lvLCBwMm1fYWNjZXNz
X3J3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJtcnItPmJhc2VfYWRkcmVzcywgcm1yci0+ZW5kX2FkZHJlc3MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCk7CisgICAg
ICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgICAgICBwcmludGsoWEVO
TE9HX0VSUiBWVERQUkVGSVgKKyAgICAgICAgICAgICAgICAgICAgICAgIiVw
cDogUk1SUiBxdWFyYW50aW5lIG1hcHBpbmcgZmFpbGVkXG4iLAorICAgICAg
ICAgICAgICAgICAgICAgICAmcGRldi0+c2JkZik7CiAgICAgICAgIH0KLSAg
ICAgICAgaW9tbXVfc3luY19jYWNoZShwYXJlbnQsIFBBR0VfU0laRSk7Cisg
ICAgfQogCi0gICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShwYXJlbnQp
OwotICAgICAgICBwYXJlbnQgPSBtYXBfdnRkX2RvbWFpbl9wYWdlKG1hZGRy
KTsKLSAgICAgICAgbGV2ZWwtLTsKKyAgICBpb21tdV9pZGVudGl0eV9tYXBf
dGVhcmRvd24oZG9tX2lvKTsKKyAgICBoZC0+YXJjaC52dGQucGdkX21hZGRy
ID0gMDsKKyAgICBwZGV2LT5hcmNoLnZ0ZC5wZ2RfbWFkZHIgPSBwYWdlX3Rv
X21hZGRyKHBnKTsKKworICAgIGlmICggIXJjICYmIHNjcmF0Y2hfcGFnZSAp
CisgICAgeworICAgICAgICBzdHJ1Y3QgZG1hX3B0ZSAqcm9vdDsKKyAgICAg
ICAgc3RydWN0IHBhZ2VfaW5mbyAqcGdzWzZdID0ge307CisKKyAgICAgICAg
c3Bpbl9sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOworCisgICAgICAg
IHJvb3QgPSBtYXBfdnRkX2RvbWFpbl9wYWdlKHBkZXYtPmFyY2gudnRkLnBn
ZF9tYWRkcik7CisgICAgICAgIHJjID0gZmlsbF9xcHQocm9vdCwgbGV2ZWwg
LSAxLCBwZ3MpOworICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2Uocm9v
dCk7CisKKyAgICAgICAgcGRldi0+YXJjaC5sZWFmX21mbiA9IHBhZ2VfdG9f
bWZuKHBnc1swXSk7CisKKyAgICAgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNo
Lm1hcHBpbmdfbG9jayk7CiAgICAgfQotICAgIHVubWFwX3Z0ZF9kb21haW5f
cGFnZShwYXJlbnQpOwogCi0gICAgcmMgPSAwOworICAgIHBhZ2VfbGlzdF9t
b3ZlKCZwZGV2LT5hcmNoLnBndGFibGVzX2xpc3QsICZoZC0+YXJjaC5wZ3Rh
Ymxlcy5saXN0KTsKIAotIG91dDoKLSAgICBzcGluX3VubG9jaygmaGQtPmFy
Y2gubWFwcGluZ19sb2NrKTsKKyAgICBpZiAoIHJjIHx8ICghc2NyYXRjaF9w
YWdlICYmICFybXJyX2ZvdW5kKSApCisgICAgICAgIHF1YXJhbnRpbmVfdGVh
cmRvd24ocGRldiwgZHJoZCk7CiAKLSAgICAvKiBQYWdlcyBtYXkgYmUgbGVh
a2VkIGluIGZhaWx1cmUgY2FzZSAqLwogICAgIHJldHVybiByYzsKIH0KIAot
LS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaAorKysg
Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaApAQCAtNDc3
LDcgKzQ3Nyw3IEBAIHN0cnVjdCB2dGRfaW9tbXUgewogICAgIHUzMiBucl9w
dF9sZXZlbHM7CiAgICAgdTY0CWNhcDsKICAgICB1NjQJZWNhcDsKLSAgICBz
cGlubG9ja190IGxvY2s7IC8qIHByb3RlY3QgY29udGV4dCwgZG9tYWluIGlk
cyAqLworICAgIHNwaW5sb2NrX3QgbG9jazsgLyogcHJvdGVjdCBjb250ZXh0
ICovCiAgICAgc3BpbmxvY2tfdCByZWdpc3Rlcl9sb2NrOyAvKiBwcm90ZWN0
IGlvbW11IHJlZ2lzdGVyIGhhbmRsaW5nICovCiAgICAgdTY0IHJvb3RfbWFk
ZHI7IC8qIHJvb3QgZW50cnkgbWFjaGluZSBhZGRyZXNzICovCiAgICAgbm9k
ZWlkX3Qgbm9kZTsKLS0tIGEveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKKysr
IGIveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKQEAgLTIzMyw3ICsyMzMsNyBA
QCB0eXBlZGVmIGludCBpb21tdV9ncmRtX3QoeGVuX3Bmbl90IHN0YXJ0CiBz
dHJ1Y3QgaW9tbXVfb3BzIHsKICAgICBpbnQgKCppbml0KShzdHJ1Y3QgZG9t
YWluICpkKTsKICAgICB2b2lkICgqaHdkb21faW5pdCkoc3RydWN0IGRvbWFp
biAqZCk7Ci0gICAgaW50ICgqcXVhcmFudGluZV9pbml0KShzdHJ1Y3QgZG9t
YWluICpkKTsKKyAgICBpbnQgKCpxdWFyYW50aW5lX2luaXQpKGRldmljZV90
ICpkZXYsIGJvb2wgc2NyYXRjaF9wYWdlKTsKICAgICBpbnQgKCphZGRfZGV2
aWNlKSh1OCBkZXZmbiwgZGV2aWNlX3QgKmRldik7CiAgICAgaW50ICgqZW5h
YmxlX2RldmljZSkoZGV2aWNlX3QgKmRldik7CiAgICAgaW50ICgqcmVtb3Zl
X2RldmljZSkodTggZGV2Zm4sIGRldmljZV90ICpkZXYpOwpAQCAtMzQ5LDYg
KzM0OSw3IEBAIGludCBfX211c3RfY2hlY2sgaW9tbXVfc3VzcGVuZCh2b2lk
KTsKIHZvaWQgaW9tbXVfcmVzdW1lKHZvaWQpOwogdm9pZCBpb21tdV9jcmFz
aF9zaHV0ZG93bih2b2lkKTsKIGludCBpb21tdV9nZXRfcmVzZXJ2ZWRfZGV2
aWNlX21lbW9yeShpb21tdV9ncmRtX3QgKiwgdm9pZCAqKTsKK2ludCBpb21t
dV9xdWFyYW50aW5lX2Rldl9pbml0KGRldmljZV90ICpkZXYpOwogCiAjaWZk
ZWYgQ09ORklHX0hBU19QQ0kKIGludCBpb21tdV9kb19wY2lfZG9tY3RsKHN0
cnVjdCB4ZW5fZG9tY3RsICosIHN0cnVjdCBkb21haW4gKmQsCg==

--=separator--


From xen-users-bounces@lists.xenproject.org Tue Apr 05 23:46:46 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 05 Apr 2022 23:46:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.299343.509995 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nbsru-0000Bb-Ch; Tue, 05 Apr 2022 23:45:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 299343.509995; Tue, 05 Apr 2022 23:45:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nbsru-0000BS-8q; Tue, 05 Apr 2022 23:45:50 +0000
Received: by outflank-mailman (input) for mailman id 299343;
 Tue, 05 Apr 2022 23:45:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Fqdt=UP=bellsouth.net=jim_burn@srs-se1.protection.inumbo.net>)
 id 1nbsrt-0000BM-6e
 for xen-users@lists.xen.org; Tue, 05 Apr 2022 23:45:49 +0000
Received: from sonic304-13.consmr.mail.bf2.yahoo.com
 (sonic304-13.consmr.mail.bf2.yahoo.com [74.6.128.36])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 831d64b0-b53a-11ec-a405-831a346695d4;
 Wed, 06 Apr 2022 01:45:46 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic304.consmr.mail.bf2.yahoo.com with HTTP; Tue, 5 Apr 2022 23:45:45 +0000
Received: by kubenode529.mail-prod1.omega.ne1.yahoo.com (VZM Hermes SMTP
 Server) with ESMTPA ID 048e7674c3c657ad45247400ea9a124e; 
 Tue, 05 Apr 2022 23:45:42 +0000 (UTC)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 831d64b0-b53a-11ec-a405-831a346695d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bellsouth.net; s=s2048; t=1649202345; bh=nIMB99aP6JezWuPHp0igjuh5nYIksTl39jpLSVPUbEY=; h=From:To:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=XLP0qoVgbHobz8YWJYBXETNzL/9IURialQbl9eIwN2yja629yeX4RqxVlszA9rwRFrT5LWPy6VUFyGpMKsVhdoj/emz98HuGX9vfuSV1rXiC7qhRk3nLbLexI9GS5YLgUy6++yxCqxU0qA93lAvbrtHEi84RuYoHXWZ1s6H0y0+qnibCQrdXO1xDPkdrYvvGo1tkVgOnxHzEOj47XZUvF+tJFNIgwREEY1HOcSlUPP4VCdrXIgN8ansZNvGcROcpd+ish0LuW1mUJCNHNsACGt4Fb9+Pcxo/9+uxCP5SXIk3WHwHDSSZQFFOzVkIX5iOFGoMYpsyejQjDAnK1jcwbw==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1649202345; bh=junEXCVPL4ft+DymvKuqnt2jLv1IkCZXjn0pyOhcbIi=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=SBGMJBe2yWyy9YjpajHibidd3Wh/Ozu61QGev7C4hXp4z61dAl0wB+ez4HhptVStdf1VDQ3jVG1v69xsYJVVzrv5w+zg5vELxEHPIE+LK+qYfMhgIRn7pm0oenZORSMZ/x2l4j86s5HB4IE2WsaMkJNbeaZbtPCXdyex+Rr653WVdSu1Undnu2o8EfADASUZSyCqhc9KoluHxKnB5Z5BrOvWFDk4Wlmf5L6qXOtfalH9+t0qikINesDX1inxSz0sKMzXEGC96mAyd6N22IzrZEXl3ljjOL8dbaEad+08/PvcFZrbNG/ExEwT4m1BxxSlX2ndtIKWjycMZgxPH7mHJw==
X-YMail-OSG: 4MsIx.UVM1mujhUX5EyDdeh9qTTv1l8TU7WLqwJnyHojMVN_qyfsLhItXRMKO9p
 9LpufHwXnT.tANoXdYp8h5xxc96q_QCvJugp9OsxjZnFXBwFbr8EssJRufoif9qAQi.EFgFCydci
 V8sq0aEmAreyKOPiJzpPeT7o8ULXIiEpK33pbYe7rEqviC1BQkkrEj7K5olMmDqDG4ZmegxN1W.U
 YR3cOAdSBrHUlxABPW_RNwGXA7qbSEQ9XAdGyjSqlhqNOJ5zsguiNRyVZZOfMoZuFDiEdQy.Y2H6
 IdLcjGQFubVacfLW8EKcjkqUiCtoQuP35FD2elSrdneoNy4lzZFUjgiubjXoFFmKiHBQJQ9tjZzR
 biRRzahDZd7w5msYzt9cZD90s1lbGK_.Hn3RIar3zYhTanHE9r499pP2ECu_wgkCilAWXSa1NMwB
 il4hkIbZNe2.S5tizELbljK21OpI131tYPLwVbZN2715.6BZhMQV6JBxqL8FgHYusXtfQcPQ1vjo
 cxSI3003WIk94R__MhjF6h.Bgt.fuRNyBVxg0d349F19CgjEk33tByXVsgCoYH4gMZVVfWybaGPA
 2aVbsDCnpD1CKBY.3CJZWhGZexP3NRW5iUjIBaXTcC4bZgeX.eFSXTXoiYw5Bmd8RiCSFS8H87Tp
 xrpyVfNI.WDS5xe7H_hTNhSf_jIIInw.wzg7u.Rxn3TDUX56WWCgMy2.BkB6C_rwSqOO42hgkBzF
 b8xz2oiQ2lx6ee3fklB709RRAsGsVnH4fNyCubru3NSGjlt81NtiznayfAL_ypQEyDDCWPVOT6iy
 DxqXtAXRdKu3_Rr3rjIoSCr48nVIVoPb4uFXVadRqwQgPmCpsR3FsRdgEtTlNCPIv1VPwuqDji0B
 FOWwmrSzoiQIINVMRj_ukDg69MYAJTpMpu8hOeR05ASeQLCg95SEospGBMXgiCGZwdd4e0jBHy2W
 oy80rgxY1eR6f_NdwFCt5DT0RlQyi6uNJEtjIQv8Ut6JsE9xene_QabUjg_yZpMz3XXC8kqCgEfq
 TUe68TqFK9mN3ZLzGtnDKkZSEbTs_HI.7zkNL0151AryEfjmK6JmfY1PT3Lb2O1_3fmIr_bFxlix
 ndluM75Y3IzAuoQSCy1Astlplqvi_m6o8ZznO6yiLhBL8WJSucK8dctJUF9xUBRNjp9KlMXYEF_W
 oYHSG2GpgBM72Pbf36xFSqMdGLNLZP6ubOKmIcG71zkmysC9iLRu6ZCe3.4XUXc4U8OGXz1pmC2f
 eKRn7i9h8_cMlgg6Ye.2vazRRsI5Tntr6qPIjTM7UaSQXeLLbqzB6QHaKGcp1IzKmvTUs3wYs5mi
 NMyBt5ZhfZvGsq90dMtuxZewSPtEOhrGqdbNalGuvYlZT2B1kmgZMEvFy7zesLTEJpXP0VCocuOB
 V.SeJtTqJPQ9AByZV7DDzYJWvbTGPfczq.Fsa6cVifyztC4nYHM71_PMgDjQ4zjhV2aiAn9ntY2f
 ZgtfOYuxAaIeVZFYHeA.2gBM_u82SMlGV3zoxi7DQs_U_ZV1de0sTawzsOmE_EcLzFWVs_QjZycC
 kO6MJ2ZMF09MHIEAyvsVeGpwGnF1ERlwyJTbb8yexxj6v969btoblmwP_A2TaJTPqzoZPFhWxNmh
 YkLyM3IvXAPiEBY3sB2pFt7OvrWHTbOeY1tFBI127cJpcF1S7Fef8ufREjS2cLXteQYAk0JpGvAd
 S8Awd6mY4z.6iowS66Y.iREQ1A7BxJ6b1mxUNW_ZPe6pycukM3agWBPz8mRWN4mQbcRw0Jj6PVNA
 0wYYa8vmSyHLigty7cYBBSgGVjjZC3njE2s0QdGS5UcNAGxT87Wn84sdry7znN4i9sUcGoEBXhsm
 3vmW.KRb5.bj.8nFh6X9ROrPgUbMCUf3J1KQXaWi_h.WP7SSMWOsoJpqE9WEGJ7wVDzEyshaLJeK
 gKluzlQJjX_ym0DOiEjyP5ofvJ3ZTAXTIn5gU8sT3tRY1z1ReCdOLmCrJsYmCoN49NTHLvgoKcIG
 31gko3cJ1KufjUerzvXou6jNmEezE7Z..kInkZ5FZAUDEnse.MLvVB.K9g0YyDP_jFiRzOIo5hIR
 wI4Yr20ZT7_crpxGvlJW_vH68_6kKjMRBtJVehffnA9EvD3uHKzQYdLDN0uTqJCtskU6DWSruSwi
 Fmv14Nu4bpszNJzUga7kzbOJyJpbfWfzzJZFJdc9uLE49YFo9TU6LTeSgaFuRKF97lq2LmUxIYWB
 haWHkmBdNOpTL2jFxbOh9jpHH3bgQsjOoJfODN5XF7zshsYBovu1gtJjgRQxkWcN.lMcAgGs-
X-Sonic-MF: <jim_burn@bellsouth.net>
From: jim burns <jim_burn@bellsouth.net>
To: Michael Young <m.a.young@durham.ac.uk>, xen-users@lists.xen.org
Subject: Re: Where is fedora xen-4.16.0.efi?
Date: Tue, 05 Apr 2022 19:45:37 -0400
Message-ID: <3180458.44csPzL39Z@insp3847>
In-Reply-To: <22503571.6Emhk5qWAg@insp3847>
References: <CAHnBbQ8sT1gUAqVRue-OwVkSGCbNox9fqKqwoDewHwfje0sbJw@mail.gmail.com> <fa7e32a5-7726-1b62-939c-dbb7f65e7e5@austen5.home> <22503571.6Emhk5qWAg@insp3847>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="nextPart8059892.T7Z3S40VBb"
Content-Transfer-Encoding: 7Bit
X-Mailer: WebService/1.1.20001 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo
Content-Length: 5105

This is a multi-part message in MIME format.

--nextPart8059892.T7Z3S40VBb
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Pls cc: me, as I am not subscribed.

On Thursday, 13 January 2022, 15:50:08 EDT, jim burns wrote:
> On Thursday, 13 January 2022, 15:00:51 EST, Michael Young wrote:
> > On Thu, 13 Jan 2022, jim burns wrote:
> > > Still want to know why MYoung omitted the efi blob from the official
> > > packages. Is this a new direction for xen 4.16?
> > 
> > It went from the efi partition following the xen 4.16 code change that
> > put it there. I considered bringing it back elsewhere but haven't done
> 
> so
> 
> > so far.
> > 
> >  	Michael Young
> 
> That would be appreciated. As I said in the OP, it's nice to have an
> alternative to grub, if something goes FUBAR. Thanx for the info.

Finally tried booting on your xen-4.16.0.efi you provided in your latest update 
(after copying to /boot/ef/EFI/fedora). Xen booted correctly (with grub), printing its 
log on the console, but then it went blank when loading dom0. This happened with 
both kernel-5.18.0-0.rc1.18.fc37 and 5.17.1-300.fc36. After 5 min, it was still 
unresponsive.  However, dom0 came up correctly with 5.16.18-200.fc35.

What's interesting about the more recent kernels is they have simpledrm enabled, 
and 5.16 doesn't. Is there some new grub parameter I need for the console for xen 
or the kernel that would work better?

Also, less important, why is xen-4.16.0.efi so large now? It used to be 2.7M - now it 
is 33M. It limits what else I can have on my EFI system partition.

Thanx. 

--nextPart8059892.T7Z3S40VBb
Content-Transfer-Encoding: 7Bit
Content-Type: text/html; charset="us-ascii"

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"><span style="font-size:0.75em;">Pls cc: me, as I am not subscribed.</span></p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">On Thursday, 13 January 2022, 15:50:08 EDT, jim burns wrote:</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; On Thursday, 13 January 2022, 15:00:51 EST, Michael Young wrote:</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; On Thu, 13 Jan 2022, jim burns wrote:</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; &gt; Still want to know why MYoung omitted the efi blob from the official</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; &gt; packages. Is this a new direction for xen 4.16?</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; It went from the efi partition following the xen 4.16 code change that</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; put it there. I considered bringing it back elsewhere but haven't done</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; so</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; so far.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt;&nbsp; &nbsp;&nbsp;&nbsp; Michael Young</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; That would be appreciated. As I said in the OP, it's nice to have an</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; alternative to grub, if something goes FUBAR. Thanx for the info.</p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Finally tried booting on your xen-4.16.0.efi you provided in your latest update (after copying to /boot/ef/EFI/fedora). Xen booted correctly (with grub), printing its log on the console, but then it went blank when loading dom0. This happened with both kernel-5.18.0-0.rc1.18.fc37 and 5.17.1-300.fc36. After 5 min, it was still unresponsive.&nbsp; However, dom0 came up correctly with 5.16.18-200.fc35.</p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">What's interesting about the more recent kernels is they have simpledrm enabled, and 5.16 doesn't. Is there some new grub parameter I need for the console for xen or the kernel that would work better?</p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Also, less important, why is xen-4.16.0.efi so large now? It used to be 2.7M - now it is 33M. It limits what else I can have on my EFI system partition.</p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Thanx. </p>
</body>
</html>
--nextPart8059892.T7Z3S40VBb--





From xen-users-bounces@lists.xenproject.org Wed Apr 06 02:07:14 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 06 Apr 2022 02:07:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.299407.510107 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nbv3t-0004Si-IO; Wed, 06 Apr 2022 02:06:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 299407.510107; Wed, 06 Apr 2022 02:06:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nbv3t-0004SX-BZ; Wed, 06 Apr 2022 02:06:21 +0000
Received: by outflank-mailman (input) for mailman id 299407;
 Wed, 06 Apr 2022 02:06:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mP4/=UQ=bellsouth.net=jim_burn@srs-se1.protection.inumbo.net>)
 id 1nbv3s-0004SR-HO
 for xen-users@lists.xen.org; Wed, 06 Apr 2022 02:06:20 +0000
Received: from sonic302-4.consmr.mail.bf2.yahoo.com
 (sonic302-4.consmr.mail.bf2.yahoo.com [74.6.135.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 24686c9b-b54e-11ec-a405-831a346695d4;
 Wed, 06 Apr 2022 04:06:17 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic302.consmr.mail.bf2.yahoo.com with HTTP; Wed, 6 Apr 2022 02:06:16 +0000
Received: by kubenode520.mail-prod1.omega.gq1.yahoo.com (VZM Hermes SMTP
 Server) with ESMTPA ID dc3f7f54ce128962d2622563cdf4d840; 
 Wed, 06 Apr 2022 02:06:12 +0000 (UTC)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 24686c9b-b54e-11ec-a405-831a346695d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bellsouth.net; s=s2048; t=1649210776; bh=qdDjtFwuUa2m3UdeWUXwZpQZYJGCBjLKU9biDhhRu+c=; h=From:To:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=rPS7dy2sF4az5GYxNLXV2gpGn8ICzktwF7oVUtiA5slQAaNETMhNaaws8aDF44tF5W5f41/gfPFOEcxpM234Cr+Kx/FRFbPilSIuDJxlo2ZDlTYjDF+HFKNCIgrXsXJ9Eqp5HWGDJ1ZWl1nGvyoUaeMdfYkR1al7sj/C0LUZ4RKvvoEmY/Wy7B9XRKI1S/8BOWdkzk9VhxlBFVZ1qjWZPLGNiHn8BV9nCPCCgvTl4B9h0eiVSwFSDt8XW8hPmTWw/GlMNqolaceX08Z0a+D17M6foPzhGz+YwaG8R62OfNspZbV22EsrICE9iI98Gr3EBxUuq72A5oxljHysQMobWQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1649210776; bh=dFEVi7AUajUqTFw0NroB7i8Bk9b85u+9Ex3HuMElrYk=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=hXLjvnuTirRBEZs5gcxEwJL7nDzpeyrFi/NDruGgVNlPv5tW717bCINKhZTUa4DKnFJFErjw1psGeHUAmUX/bWcYrAnnWyw97Kwa65DEGrbPIxbq9DHbmhjaObdT/qoXLO+LZuhXdiJRN/tEtlBmPRZJlaD0+ANj0BxpLAx/7NekQnCHu79dXbilx1y8uNU3OVoFCsPIJzi5T63SblsE3Gg37J7YF9QwHsC68jEXyTKkYdVmQhpae2kFL485Q0jiF3GEl24lVpIiTy9xj4+a3jXTB27S0cfjD5iAvH1bQIZB4PdtOuvc0f7svuUeIPvLZNl6hQ5yg1bQxqc/Oc5TUg==
X-YMail-OSG: 0UH2LOQVM1mkyAH6XRAJBWqoqOsPZS3YIJ1D_qv1nRRXG_3ykZ3.Og7YviDbJDi
 uDh6rG80i8EZMJWp.7Zf1H8mCAl8wJxBWQmVyZALF62ui.YBiHm.QDrDoWdKnFSu813osm5JALsQ
 uL7Fun3HGhIKvaiJarFJ2QmzGUve8RIBqJc7xMlpEpmAOaDV7nRij6eFKhzRLeSrCziyErgnfE4q
 CPvu4LATdDx09gtXlyLwtMx.oG0CysBA6eSTWRr6jjQSfjWzUk7p3PF0y8iIHIF0eMijllow_QJL
 rOb8z5klsoqdCh_oLIBoAgn9SPnfxeGHZaHD.qfQBLNa5uAJNVvpYaIX02SCEQwa6VHKfiHgbU8a
 kWCCkIxHTQ8LSgsPtd9rn3CjLgL1yHCIZvhqx4o44n7Oe.8hwgLtLxSqJrQ9qTaeT9qvJ985Q1Ib
 3Gb2GJLELw26_Nl1YQecidEdDJzCMYkFfclc2WX_Lri0orIBpBZZz8XS.piUiSb4Hg.u0qTWGUoL
 32mcP0MAnDwS4kJEGBJTQn57sHbzVvEbSK_FzV_pfE9CjcQwEhisSnTWjQgbc2gEfGD2YBZUWTut
 Ge0z_.0Uy2XKM4XyiJQ8_eVLn_gsO4m2d7o35XeYQuyBwcnow__9qE9xsMM8_JybipiBJtAPVOCn
 c5WddpjDvlUObBgofopIsB4j7910ptr74HGmUIm2Sj72kbvrkWEOmbokT.khZlQsDCggZK4iE9.9
 v6U78hAL4zBVLgyhiDsE3aDEk2Cvw6K4U0iO_ik3Fmb35AnLOtTmMB4qlEORFly3tQDB9ZfDGF9F
 rMpcf6FuV5C6C6O8.mATtHbh2VXRA4s6GuUjsPCqx2JehSh8Oa1WFYIKlIhLMwXsJm5RSrSveKfn
 zXqr9wI9gCpPnyC1PPL0euTFmtedvDCriLCPNOhrI4Xqr_KwOdn08nnccxsihDlmCOPEv7gLjgbZ
 qmNu_hCM0qjK5F3..sJ4azDnM_GYs.kuUhmXVjEOZFss3lIalp3uc6_mhZdvCgFatorgcth4cCQ6
 7bi0wm3j92Nramb3__ZMtDViZ8DDN1MUg5SigBcM4uJdLCTxhCLm0dtTl_myL0dJNsh0DEHlFNl_
 NTOTysGK76Z1zFTgw1HREitjO7a22zjIXCJp2ANEWovW8DtvXk4Lz867I4ElMapr9Puhk4dDc8eG
 XSQYVFYRAtrPsSlIJQIlo7i6i0dXcuDUmQxzEHsWXIf5LWIF97J6Jz6I_WG1cfo.S5iFSx3fiWeM
 Ie50r341sBrJWXdwYJ3_rLX8ubfIawRizpJqDIy8_TkHiOXcws_sfsrzeNP.C8qBU5bvKqmj7vQm
 8xY7pVQdiUu7BxrQx.BtGzrffocgTTFBJJEK9e8lQotz4aYNSxmw895B5BsKuFXVL3QjPsk407Ga
 zMCm1_ys4sYQNxvh8eZefJyXKKkFFFV8F0WG8TFQWrHdiC2_Qgt9yHbd.mN_pNT7xWhI2fRAlzyr
 KM9SzGxp3jfme.0TfV9khjTJBU72F_C4drY15tAC0GkMBOQPnTKQRKEReN22v16CkkESjYGuTwpG
 vSz4Zf6IwiLV.RgXtQOyePJoFmXyWChVzVyxdoWwuzt0XD6b03k9HDoGzswPY7ITBmFLlHaZwieN
 IGBjrSRc4yRnGWqkWdGZ27Ns3r8r_yHMWHGUigHj4WGHiS0T2Rc6ClSykHjxWMyB4FG6I2_uV5f_
 SPBU1T8kYWUJQb4BzttR04hpwCgRXMWurH8t28ji3B0QwIbzMzA.LHcQE8bo7fMg_goLFp66RbRg
 iKDA79YknbaC1rCuN3sbzSO2D4B9Q3U_2Fe7rIeARzMm7bGI2623sG0czzDLiJuBmjQNoNCbx.wU
 A9xTG4JA0LwrdhcF7joyAAS.YB6xdQ957n2EtJFQZLZMd2yWpadNWs28uvh4wNapwRR_Ve9ZgzGP
 Jy0yTUwqWdOJez8dBsgUXoCv.IVFIWaOcz5Ife4yPBwuxSTV1K9PLiWWnO40FhmKNYGhwvvUOZp4
 BWgePUIPu9n8qAfe8HFT9Kyho.l6L5vwk3kPF2b9Q_SoZ0RWVFUhW2PRyfw4gFSR515K_CPJeHX6
 NP3Uwx0HluZ63kY7oKKWPXfpiiUqaJDKfXXdBdK5QB_inynD1zVF5cdaX5fOhGR8H3BXBd8jJ8EW
 ijtGWYLtj54NPvgJ_BdVGdAnp3igf6UkBEoYdw6CvMQx7RrM9RGZFMHyjsMrejH9I9ArDIKBnzQ8
 DFhl3HJDbOXZODe4avQDeVWGs_ZH5ZlMpxkq3tGGS2pXmVpTj.KOOIhz4jIXG4_8WmVV4gknd
X-Sonic-MF: <jim_burn@bellsouth.net>
From: jim burns <jim_burn@bellsouth.net>
To: Michael Young <m.a.young@durham.ac.uk>, xen-users@lists.xen.org
Subject: Re: Where is fedora xen-4.16.0.efi?
Date: Tue, 05 Apr 2022 22:06:07 -0400
Message-ID: <3436602.iIbC2pHGDl@insp3847>
In-Reply-To: <3180458.44csPzL39Z@insp3847>
References: <CAHnBbQ8sT1gUAqVRue-OwVkSGCbNox9fqKqwoDewHwfje0sbJw@mail.gmail.com> <22503571.6Emhk5qWAg@insp3847> <3180458.44csPzL39Z@insp3847>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="nextPart8929655.CDJkKcVGEf"
Content-Transfer-Encoding: 7Bit
X-Mailer: WebService/1.1.20001 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo
Content-Length: 6737

This is a multi-part message in MIME format.

--nextPart8929655.CDJkKcVGEf
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

On Tuesday, 5 April 2022, 19:45:37 EDT, jim burns wrote:
> Pls cc: me, as I am not subscribed.
> 
> On Thursday, 13 January 2022, 15:50:08 EDT, jim burns wrote:
> > On Thursday, 13 January 2022, 15:00:51 EST, Michael Young wrote:
> > > On Thu, 13 Jan 2022, jim burns wrote:
> > > > Still want to know why MYoung omitted the efi blob from the official
> > > > packages. Is this a new direction for xen 4.16?
> > > 
> > > It went from the efi partition following the xen 4.16 code change that
> > > put it there. I considered bringing it back elsewhere but haven't done
> > 
> > so
> > 
> > > so far.
> > > 
> > >  	Michael Young
> > 
> > That would be appreciated. As I said in the OP, it's nice to have an
> > alternative to grub, if something goes FUBAR. Thanx for the info.
> 
> Finally tried booting on your xen-4.16.0.efi you provided in your latest
> update (after copying to /boot/ef/EFI/fedora). Xen booted correctly (with
> grub), printing its log on the console, but then it went blank when loading
> dom0. This happened with both kernel-5.18.0-0.rc1.18.fc37 and
> 5.17.1-300.fc36. After 5 min, it was still unresponsive.  However, dom0
> came up correctly with 5.16.18-200.fc35.
> 
> What's interesting about the more recent kernels is they have simpledrm
> enabled, and 5.16 doesn't. Is there some new grub parameter I need for the
> console for xen or the kernel that would work better?

Oops, yeah - this part doesn't have anything to do with the .efi blob, since it's grub. 
Still curious why I didn't get any output, tho'. Thanx. 

> Also, less important, why is xen-4.16.0.efi so large now? It used to be 2.7M
> - now it is 33M. It limits what else I can have on my EFI system partition.
> 
> Thanx.



--nextPart8929655.CDJkKcVGEf
Content-Transfer-Encoding: 7Bit
Content-Type: text/html; charset="us-ascii"

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">On Tuesday, 5 April 2022, 19:45:37 EDT, jim burns wrote:</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; Pls cc: me, as I am not subscribed.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; On Thursday, 13 January 2022, 15:50:08 EDT, jim burns wrote:</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; On Thursday, 13 January 2022, 15:00:51 EST, Michael Young wrote:</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; &gt; On Thu, 13 Jan 2022, jim burns wrote:</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; &gt; &gt; Still want to know why MYoung omitted the efi blob from the official</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; &gt; &gt; packages. Is this a new direction for xen 4.16?</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; &gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; &gt; It went from the efi partition following the xen 4.16 code change that</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; &gt; put it there. I considered bringing it back elsewhere but haven't done</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; so</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; &gt; so far.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; &gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; &gt;&nbsp; &nbsp;&nbsp;&nbsp; Michael Young</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; That would be appreciated. As I said in the OP, it's nice to have an</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; &gt; alternative to grub, if something goes FUBAR. Thanx for the info.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; Finally tried booting on your xen-4.16.0.efi you provided in your latest</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; update (after copying to /boot/ef/EFI/fedora). Xen booted correctly (with</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; grub), printing its log on the console, but then it went blank when loading</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; dom0. This happened with both kernel-5.18.0-0.rc1.18.fc37 and</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; 5.17.1-300.fc36. After 5 min, it was still unresponsive.&nbsp; However, dom0</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; came up correctly with 5.16.18-200.fc35.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; What's interesting about the more recent kernels is they have simpledrm</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; enabled, and 5.16 doesn't. Is there some new grub parameter I need for the</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; console for xen or the kernel that would work better?</p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Oops, yeah - this part doesn't have anything to do with the .efi blob, since it's grub. Still curious why I didn't get any output, tho'. Thanx. </p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; Also, less important, why is xen-4.16.0.efi so large now? It used to be 2.7M</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; - now it is 33M. It limits what else I can have on my EFI system partition.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">&gt; Thanx.</p>
<br /><br /></body>
</html>
--nextPart8929655.CDJkKcVGEf--





From xen-users-bounces@lists.xenproject.org Wed Apr 06 21:30:33 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 06 Apr 2022 21:30:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.300136.511757 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1ncDDc-0002G6-DM; Wed, 06 Apr 2022 21:29:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 300136.511757; Wed, 06 Apr 2022 21:29:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1ncDDc-0002Fy-9m; Wed, 06 Apr 2022 21:29:36 +0000
Received: by outflank-mailman (input) for mailman id 300136;
 Wed, 06 Apr 2022 21:29:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=m1tw=UQ=durham.ac.uk=m.a.young@srs-se1.protection.inumbo.net>)
 id 1ncDDa-0002Fs-SU
 for xen-users@lists.xen.org; Wed, 06 Apr 2022 21:29:35 +0000
Received: from GBR01-LO2-obe.outbound.protection.outlook.com
 (mail-lo2gbr01on0721.outbound.protection.outlook.com
 [2a01:111:f400:fe15::721])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a442a740-b5f0-11ec-a405-831a346695d4;
 Wed, 06 Apr 2022 23:29:32 +0200 (CEST)
Received: from LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:1d1::5)
 by CWLP265MB3860.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:10b::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31; Wed, 6 Apr
 2022 21:29:28 +0000
Received: from LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM
 ([fe80::c404:36d4:f36c:991c]) by LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM
 ([fe80::c404:36d4:f36c:991c%3]) with mapi id 15.20.5144.022; Wed, 6 Apr 2022
 21:29:28 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: a442a740-b5f0-11ec-a405-831a346695d4
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iJp2YpM7GzFXZuwujg6G41GI7kvqOja85nlYvWcG0GHCRUbtJh2JSRDqTE1MVF3iGsrTxB6rpLGtyer86VSLhF62cVXXNlLH/RR4VzR5EIiS/DkjgZTgXJSWlBs3OpmAU+yubWNBlW2r0hp0rrxPPHab7EiBnBNCHVxXDU3oNbYsWbUU2cefkbtuXkVbmXHA+X+GcZ+1kTYBN4FcxqeH7AN94ZVkrf0b0qENrnqYhicjruqT4cm8913WltXq7j3ootOX1nIOTJAQMChbARePt1dCuj3fc27hXlbT9Z9EmlZusBWk3pgvTGZdT/ew40Jav5iU2UqLkBHlNkkWdETctA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0Oalx13OSME6ReBNpBEf1j3gN+vrr5Qtgxzp5vI8iRQ=;
 b=jM+ZmM4T27smEJXBjZ5FMuAgEpTBEKa3kP0qJ/JkOotapxwvqLaHI1IfbRclKPwJSXdlhe9pHtip/szdmPdL6K0oty6X9jMJzJY9qkczQq947kyit1SgFmDrr1wvwClOCOCIhjdlu0/9ZUKGvhsnwsShUnZFFLPaHSK12v995DlBm32g7DQ6dvYhcBVf6wmautNSm//fTBfO77bz0bpBX0stZv11+yeYVax77xthwmglBbIWJRTg0HqAfpQTf3SgOPX6qDz0m1CiBV2B67pK0HZarU0CwiHNqUWBFKYXsLcrJ4LoC8xGSBO2/smDzJQQdC+TZUb9G7iCCN6F2bVffQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=durham.ac.uk; dmarc=pass action=none header.from=durham.ac.uk;
 dkim=pass header.d=durham.ac.uk; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=durhamuniversity.onmicrosoft.com;
 s=selector2-durhamuniversity-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0Oalx13OSME6ReBNpBEf1j3gN+vrr5Qtgxzp5vI8iRQ=;
 b=Go5yOQ17WeAk3HW6G8DR5Opbf6uzjsegy9LnMufEfyic7hABhRB2C9YbywhdbJok8QJIiSt940sEOazcSk9391loi1wrjpe5+MrtqVnGHzrv7jvFb6b/3QoBlIJlP68XXcimdwY3PAQx2ZOM76CHWt1CZaJSBy1sAJa23OccEAY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=durham.ac.uk;
Date: Wed, 6 Apr 2022 22:29:27 +0100 (BST)
From: Michael Young <m.a.young@durham.ac.uk>
To: jim burns <jim_burn@bellsouth.net>
cc: xen-users@lists.xen.org
Subject: Re: Where is fedora xen-4.16.0.efi?
In-Reply-To: <3436602.iIbC2pHGDl@insp3847>
Message-ID: <3383e87f-608e-fd9b-3aeb-14d3cd6266f5@austen5.home>
References: <CAHnBbQ8sT1gUAqVRue-OwVkSGCbNox9fqKqwoDewHwfje0sbJw@mail.gmail.com> <22503571.6Emhk5qWAg@insp3847> <3180458.44csPzL39Z@insp3847> <3436602.iIbC2pHGDl@insp3847>
Content-Type: text/plain; charset=US-ASCII; format=flowed
X-ClientProxiedBy: LO4P123CA0423.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18b::14) To LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:1d1::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 01e8b271-daf3-4ef0-68cb-08da1814879b
X-MS-TrafficTypeDiagnostic: CWLP265MB3860:EE_
X-Microsoft-Antispam-PRVS:
	<CWLP265MB38606F7834239917DB2605A087E79@CWLP265MB3860.GBRP265.PROD.OUTLOOK.COM>
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	X3iiiHNkWGseby6ualNRB9gh88htTCrvYHy4yKuLre4S3AuboDsjXSBQIZ3/pmoW9s6T/MPyY2H5A9RZMwV1h/J8tg65TOCvi4l1xu7zxTF617PaG8aBDT63xA6N6o5/qsSxX6d25mCqgsLwOEcRP6gjTHtD4yweWlqiKSltflSmHSOFOqCpHnOoChO9M4MJ0yHMpUUTyl+srVKRJQiu/eNWvU+1s2B5eY/kOr36XMD4D0SwB/KBgO5lDIPRRRkW1OH/E0hUHH6eAm9irNakwbQladJcv5QeZibGxvuGR8e1UwTuQ/Ljg3mKg2bvMGLErdGkaDOI3kFhAL8XNFcrt8Oqa2q/2iLDP6LfEKHJe4b0VxPX1+NEL7Dw4vtBD6xSVAPln/YTqpR0ePBdfH2EwtofBIVeartkd1C6EUEug+FtiTr9EOD+NgWW0Jb+Z3sU/Bd9vUS3TUZLPsZo0azE4mWueFXfaUc97u2Xi1JOPK1mNOWx707VsUp1WzNeb36Z3LdSDc0R8bQ9dCp+asl1+M6kTD/bMPxIV48iVEkBIdQE01cOAySw/VjtpVdYvjDrgn8Pos2vNkdCa8wEvwQKqH0jcjOmPF4TFLcWRMkKRpy5Y55MuCO3nDWy3CY2x2xHo4KIt3TXf1lXzyBLYuexsSxENJEnalwx0RHFrWCw3FkHGTRuO7CKakpNZSGmZ2uAeMyd3vs5++WhcFLWn8D8JN1WtHU3c+jcTbkLcgTCzH8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(66946007)(66556008)(66476007)(38100700002)(31686004)(4744005)(5660300002)(83380400001)(36756003)(8936002)(8676002)(86362001)(6486002)(4326008)(9686003)(6512007)(316002)(186003)(6916009)(6506007)(2906002)(508600001)(966005)(31696002)(786003);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?sJQM9bKebg5tttfwzWVgRq4seDHmmOuMow7Wz+5Vpehb8bvRTlL97qno236k?=
 =?us-ascii?Q?n87WGnaH3+BpBUMrOG2Ypvr7XJP1/nN+NNyfe8YaESh8QWun/hhE5g5qXOHM?=
 =?us-ascii?Q?hKJtI8cEBWQuZpPH4uqY8SuAHnsBRDU6MEWnJz4tznlYMiyejRsPIAAGchU0?=
 =?us-ascii?Q?ZKYPmCb/OS3ra2xxsXuH1Tkuf9XzaphAZKetWEo2KHH7X0GMYyjZ6/4w4zVz?=
 =?us-ascii?Q?iuZ1ZDeeUC56v46n00xZv8FcpbtKOCjKERfTjMIz7kww14sY3MT3frzz7ZKL?=
 =?us-ascii?Q?UH+Yx8154u9Mbiu98bQPbrpZHjYhB7wzqbmGcsO8TkIOnkab/luIzRfBR9YE?=
 =?us-ascii?Q?lpAYWC6bdb4gIsIWUzqEaDwN3VXm2oZba7/gepBFXP1m7PtPtDiSFSCnPC5v?=
 =?us-ascii?Q?Qw9CF1hnyo/ZwmAvBd4+QTUAC7yNq7WrUaeNEDGnZvcXsE+4K1tb6RyoNCJC?=
 =?us-ascii?Q?+jGvQSDs384jRWe3KIQ44tFSQa6Qn729mYAaNcGJ2jkKLoQLKFgdRK1cGkdz?=
 =?us-ascii?Q?TBmQANvzzrZStRIzzSz/AZnhr3IoKtFQM99ULN+WmZlLOI4kEzCmaFJ0DwSc?=
 =?us-ascii?Q?SXwcIHgyN+zHwfBm6ihTSvhPHRl8CrPfR8fQsL77PLLNsx1KBcs159jsPE9M?=
 =?us-ascii?Q?IBXzddXUUU5pQ86pKoJDrXhIfd4p8IFTDPNsA+HetdLq5hNvPz36/JcjiBhm?=
 =?us-ascii?Q?fvlVg4GZjqX6p1B32WO4qome9hXuNnvzHGUwvbxmtRVU4PWI1A8lQckDJk5R?=
 =?us-ascii?Q?7PG3m5rHHB47FhS2EnzDTytbpS6Vrh8uB+oVSijAjYknU4jE5nQJjPAvzFtX?=
 =?us-ascii?Q?D/mRe6pxXCPi2Mw0AkPVTS0l6E22lrVK48gMZW5mZgKbOgp0KCXQZttH9nqA?=
 =?us-ascii?Q?F7bWiP7yPyPr0JZrvNL/NHvgTjE4tFkTtm24r4MNKv+3sCrKFLt0+hVkelF+?=
 =?us-ascii?Q?2dz8aK4jmQFP8A5rCkBOHdC5VB3gmxWq93r+oA98tOoiQHw/+It9ugPmUQi2?=
 =?us-ascii?Q?z46pzc41H202f1p52CzhNbomCLrNbLGydGsLURrm3L1NpUhSoohwm6Lg++6u?=
 =?us-ascii?Q?vT2HtiaEcCU+LtEsTi9cbIwCEWtHRoTfeT3RKV3D/g7AWxbWgWv6F6miiJG9?=
 =?us-ascii?Q?YcKGctQZmUjnsukszkDl9LuWyfIN8CZUvcX5jA/KxSMnqlr0lvaut9eSdl1q?=
 =?us-ascii?Q?o4c7iJjZEb/pKfuTM4ImbRGoBfC7gz07vIbHdiCkuddioihQE1RETn9qI36T?=
 =?us-ascii?Q?Cy6jjm30+F9GC8Gw7S/owRTVbUrzReyepriCWeiOBqyQBkxonTjn1zjf/MpJ?=
 =?us-ascii?Q?ZkBBDrPd8KXgRdq0bOy3mRe8rRsOrBcS4YNL9gz6h8ZdyPsxk3dZmppa+xYf?=
 =?us-ascii?Q?MrlaRwMSuNfoMwDmydueFZvKQSW2JMbghMwuSuP1TkdO3hH1X/urLwe1oLi+?=
 =?us-ascii?Q?NgLLhyj6Qg3PDvL70KPMrlP+lcE7Tgq8xVEQTUBMyXsZPcqqfWz4SUF7t0MQ?=
 =?us-ascii?Q?/OgyMxf9tLDOeAGdCE0AWR8o6/JXGeX4/clyQdyAJfD04Agk3vHP+aNdZiy+?=
 =?us-ascii?Q?0ijA3lXiwa8papBw3t3MSU0fS5Hh71RoVS7YWlUDzL8Vkd6+oTsFaJStSzDQ?=
 =?us-ascii?Q?Bush1CaO3Mk0gD94oYI90KvQcQO5s+PlpYwS8TsN+Z8ns85Pc0ZbjqmzkPKt?=
 =?us-ascii?Q?0wXX4PGpOcePkon+LueuzjabJWdhnLW+5CI0T7Kk+FIC58HlsIcKJgGaDgbq?=
 =?us-ascii?Q?i9nUwvU/NIQIwRncpuZvebkLq5C0EwOInSfCSmSw7ZO+whaAVt8v/2zTiVkV?=
X-MS-Exchange-AntiSpam-MessageData-1: 2ckBFZ0hX95S1WqY0B2RW719AFGXMhi76NA=
X-OriginatorOrg: durham.ac.uk
X-MS-Exchange-CrossTenant-Network-Message-Id: 01e8b271-daf3-4ef0-68cb-08da1814879b
X-MS-Exchange-CrossTenant-AuthSource: LO4P265MB3790.GBRP265.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Apr 2022 21:29:28.1586
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7250d88b-4b68-4529-be44-d59a2d8a6f94
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9N7faCejCig0SlXtmdtWDR29B//yVgWMO9MaB6pBvT1wyrLZGpBhP4Q4A8ngi7d7/3p0J8sbGc3Jx57kSQSMKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CWLP265MB3860



On Wed, 6 Apr 2022, jim burns wrote:

> > Also, less important, why is xen-4.16.0.efi so large now? It used to be
> 2.7M
> 
> > - now it is 33M. It limits what else I can have on my EFI system
> partition.

The size is likely to be related to the note.package change
https://fedoraproject.org/wiki/Changes/Package_information_on_ELF_objects
and what I had to do to get xen EFI to build. I will have a look at it
once I have sorted out the latest issue which is that xen no longer builds
on F37 (and probably F36) for i686 as one of packages that xen uses to
build has dropped its i686 support. I suspect the solution will also be to
drop i686 builds on xen as well, though I want to make sure that is the
right option before I commit to it.

         Michael Young


From xen-users-bounces@lists.xenproject.org Thu Apr 07 10:11:38 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 07 Apr 2022 10:11:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.300625.512885 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1ncP6N-0003Y8-Kr; Thu, 07 Apr 2022 10:10:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 300625.512885; Thu, 07 Apr 2022 10:10:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1ncP6N-0003Y0-GV; Thu, 07 Apr 2022 10:10:55 +0000
Received: by outflank-mailman (input) for mailman id 300625;
 Thu, 07 Apr 2022 10:10:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=X5I2=UR=gmail.com=dunlapg@srs-se1.protection.inumbo.net>)
 id 1ncP6L-0003Xu-Vi
 for xen-users@lists.xen.org; Thu, 07 Apr 2022 10:10:54 +0000
Received: from mail-yw1-x1136.google.com (mail-yw1-x1136.google.com
 [2607:f8b0:4864:20::1136])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 00d48a07-b65b-11ec-a405-831a346695d4;
 Thu, 07 Apr 2022 12:10:52 +0200 (CEST)
Received: by mail-yw1-x1136.google.com with SMTP id
 00721157ae682-2eb9412f11dso56124137b3.4
 for <xen-users@lists.xen.org>; Thu, 07 Apr 2022 03:10:52 -0700 (PDT)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 00d48a07-b65b-11ec-a405-831a346695d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=umich.edu; s=google-2016-06-03;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=Xr58/rwellYQCmlXvI18XeRo+gZVbTStoYyD+bxKzYc=;
        b=rrUhx0XbYxeuQnXDL+Lv3q6pMbD3XoVYS/fIg0y8ADYUZBmjhu2qSxVrXCBRFl2YGK
         78qf/iq8xXT1AmI6U3A9679SA/Rq/agH5nocidBO6kvB9yKq88gU0oJHHR71oFw8zPz2
         Hm1zrAOX4gAjWcNx1umabo126tOYskS1qq5FLITWtsOrdInlsKT/LI24BsR+6Mtp+HIv
         msTMod67mkU/wYV0YcHh4mXbQV3XPTn5O/IiEx6/Drnnly2Ou14vdgMqXfe+6wzUFA75
         rjZh+P6QYP3CKd4BT9hnSzeoHURPv+HluaCAXycAsAhXXsYcYCXDJlxi0zozDi4MZXsK
         3IPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=Xr58/rwellYQCmlXvI18XeRo+gZVbTStoYyD+bxKzYc=;
        b=izSojpNdYzEwdJhTeL+NPhKOSccyEPWLdSmm8JyMqb19axc93zYOyuq7lcNM7a1CvY
         jPO2Q/PdEL21mzDiRavn6kmfm+7FuNBtX8K/3msOgMjDtad1xfW2uX6rLBpvb5+QI8nz
         dE6BhIwEfE+xojeKwlZZ56Gk2Lcoxi9ynkl5emXZup1MNKNAOKL23khg3ceVvC2y5dnt
         meRd3NoEg3ST0HIR3qyvMCK6fpjTn/K9k8FIqzkC1bgzPDHEdPTWwCKQ0dK6K3UnPkB0
         hl6Vuu52yzF6FDhUYtAB28UMbVmt9qawEH50l3TAX5JM0Dcc3k8PgC+dJ/vLqv1qoy1S
         Zhng==
X-Gm-Message-State: AOAM531RjQz1PkBOs3zV+yDsDoL6KJwEprCP8KrP3KdF2hvUyWEMFaEJ
	K+Q6nDIx523NzsD+9vF/ux7iU+GkwzYHIeCI/iA=
X-Google-Smtp-Source: ABdhPJzprCi96tz3uTCooL5YUAg39khmjylRNcH6VkleJRMKZP46hj+k+LKhbStr32l7SMXLbpjujETBkQqxmvbsmO4=
X-Received: by 2002:a81:ff06:0:b0:2e6:d7bc:c812 with SMTP id
 k6-20020a81ff06000000b002e6d7bcc812mr10410426ywn.122.1649326250899; Thu, 07
 Apr 2022 03:10:50 -0700 (PDT)
MIME-Version: 1.0
References: <74C3CB5E-BFF2-43F2-B8A3-43D7CDE25926@thehobsons.co.uk>
In-Reply-To: <74C3CB5E-BFF2-43F2-B8A3-43D7CDE25926@thehobsons.co.uk>
From: George Dunlap <dunlapg@umich.edu>
Date: Thu, 7 Apr 2022 11:10:39 +0100
Message-ID: <CAFLBxZYJpnpbQQattFRt6j6RZFB0+KjvkFkBb5cJQ-OqDFZHyw@mail.gmail.com>
Subject: Re: Effect in guest of a hard read error from the host's storage ?
To: Simon Hobson <simon@thehobsons.co.uk>, Juergen Gross <jgross@suse.com>, 
	Anthony Perard <anthony.perard@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-users <xen-users@lists.xen.org>, George Dunlap <george.dunlap@citrix.com>
Content-Type: multipart/alternative; boundary="0000000000004dbec205dc0db19e"

--0000000000004dbec205dc0db19e
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sat, Apr 2, 2022 at 8:28 PM Simon Hobson <simon@thehobsons.co.uk> wrote:

> Not having experienced it on any of my Xen systems I=E2=80=99ve managed i=
n the
> past, I just wanted to check what happens when the host=E2=80=99s storage
> encounters an unrecoverable read error ?
> My expectation would be that the error would be passed up the chain
> (host=E2=80=99s OS, virtual disk emulator, guest OS disk driver, guest OS
> filesystem, guest OS program), appear as an unrecoverable error to the
> guest, and hence passed up to the program attempting to read the file - s=
o
> really nothing different to the same error on bare metal.
>
> Has anyone encountered this, and can confirm if that=E2=80=99s how Xen+Li=
nux
> handles it ?
>

Juergen / Roger / Anthony -- any idea what would happen with either blkback
or qdisk on a hard read error?  (Or blktap, for that matter?)


> The reason for asking is that I also use Parallels on a Mac and have this
> situation. Cloning the host=E2=80=99s drive (Carbon Copy Cloner) =E2=80=
=9Cdoes the right
> thing=E2=80=9D - CCC copies the files it can and reports the ones it can=
=E2=80=99t. A
> couple of the ones it can=E2=80=99t are virtual disk files for Parallels =
guests.
> When I try to recover what I can (and any unreadable files might not be
> important anyway but I don=E2=80=99t know which they are) using the same =
technique
> in the guest, Parallels doesn=E2=80=99t behave like that. It pops up a di=
alog to
> say a critical error has occurred, with two options - retry (which of
> course doesn=E2=80=99t do anything useful), or to stop the guest. So the =
guest OS
> never gets to see the error, it just gets killed. Thus meaningful recover=
y
> is impossible as the guest gets stopped without being able to tell me wha=
t
> file(s) is affected.
> I=E2=80=99ve been =E2=80=9Cdiscussing=E2=80=9D this with Parallels suppor=
t and at the moment I=E2=80=99ve
> reached the point where they=E2=80=99re telling me that this is normal wh=
en things
> are virtualised - which is setting off the BS detector for me.
>

I think it probably depends on a lot of factors; it wouldn't surprise me if
more consumer-grade virtual machine software, like Parallels or VirtualBox
don't do the hard work of writing and testing those sorts of paths, while
more enterprise-grade software might.  That said, I don't think I've ever
heard anyone ask the question of Xen, so it's possible that it simply
hasn't been considered.

Another thing to consider is that the ability to pass the error on to the
guest in a system like Parallels depends not only on the correctness of its
own block datapath in the presence of errors, but also the correctness of
the surrounding operating system.  If the host OS doesn't handle those
kinds of errors gracefully in a reliable fashion, there's nothing Parallels
can really do to make up for it.

 -George

--0000000000004dbec205dc0db19e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Sat, Apr 2, 2022 at 8:28 PM Simon =
Hobson &lt;<a href=3D"mailto:simon@thehobsons.co.uk">simon@thehobsons.co.uk=
</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:=
0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">=
Not having experienced it on any of my Xen systems I=E2=80=99ve managed in =
the past, I just wanted to check what happens when the host=E2=80=99s stora=
ge encounters an unrecoverable read error ?<br>
My expectation would be that the error would be passed up the chain (host=
=E2=80=99s OS, virtual disk emulator, guest OS disk driver, guest OS filesy=
stem, guest OS program), appear as an unrecoverable error to the guest, and=
 hence passed up to the program attempting to read the file - so really not=
hing different to the same error on bare metal.<br>
<br>
Has anyone encountered this, and can confirm if that=E2=80=99s how Xen+Linu=
x handles it ?<br></blockquote><div><br></div><div>Juergen / Roger / Anthon=
y -- any idea what would happen with either blkback or qdisk on a hard read=
 error?=C2=A0 (Or blktap, for that matter?)<br></div><div>=C2=A0</div><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:=
1px solid rgb(204,204,204);padding-left:1ex">
The reason for asking is that I also use Parallels on a Mac and have this s=
ituation. Cloning the host=E2=80=99s drive (Carbon Copy Cloner) =E2=80=9Cdo=
es the right thing=E2=80=9D - CCC copies the files it can and reports the o=
nes it can=E2=80=99t. A couple of the ones it can=E2=80=99t are virtual dis=
k files for Parallels guests.<br>
When I try to recover what I can (and any unreadable files might not be imp=
ortant anyway but I don=E2=80=99t know which they are) using the same techn=
ique in the guest, Parallels doesn=E2=80=99t behave like that. It pops up a=
 dialog to say a critical error has occurred, with two options - retry (whi=
ch of course doesn=E2=80=99t do anything useful), or to stop the guest. So =
the guest OS never gets to see the error, it just gets killed. Thus meaning=
ful recovery is impossible as the guest gets stopped without being able to =
tell me what file(s) is affected.<br>
I=E2=80=99ve been =E2=80=9Cdiscussing=E2=80=9D this with Parallels support =
and at the moment I=E2=80=99ve reached the point where they=E2=80=99re tell=
ing me that this is normal when things are virtualised - which is setting o=
ff the BS detector for me.<br></blockquote><div><br></div>I think it probab=
ly depends on a lot of factors; it wouldn&#39;t surprise me if more consume=
r-grade virtual machine software, like Parallels or VirtualBox don&#39;t do=
 the hard work of writing and testing those sorts of paths, while more ente=
rprise-grade software might.=C2=A0 That said, I don&#39;t think I&#39;ve ev=
er heard anyone ask the question of Xen, so it&#39;s possible that it simpl=
y hasn&#39;t been considered.</div><div class=3D"gmail_quote"><br></div><di=
v class=3D"gmail_quote">Another thing to consider is that the ability to pa=
ss the error on to the guest in a system like Parallels depends not only on=
 the correctness of its own block datapath in the presence of errors, but a=
lso the correctness of the surrounding operating system.=C2=A0 If the host =
OS doesn&#39;t handle those kinds of errors gracefully in a reliable fashio=
n, there&#39;s nothing Parallels can really do to make up for it.</div><div=
 class=3D"gmail_quote"><br></div><div class=3D"gmail_quote">=C2=A0-George<b=
r></div><div class=3D"gmail_quote"><br></div><div class=3D"gmail_quote"><br=
></div></div>

--0000000000004dbec205dc0db19e--


From xen-users-bounces@lists.xenproject.org Thu Apr 07 10:20:40 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 07 Apr 2022 10:20:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.300653.512903 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1ncPFe-0005hC-N7; Thu, 07 Apr 2022 10:20:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 300653.512903; Thu, 07 Apr 2022 10:20:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1ncPFe-0005h4-Ir; Thu, 07 Apr 2022 10:20:30 +0000
Received: by outflank-mailman (input) for mailman id 300653;
 Thu, 07 Apr 2022 10:20:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Mzit=UR=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ncPFd-0005gy-Of
 for xen-users@lists.xen.org; Thu, 07 Apr 2022 10:20:29 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 58c4c710-b65c-11ec-8fbc-03012f2f19d4;
 Thu, 07 Apr 2022 12:20:28 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 328E81F85A;
 Thu,  7 Apr 2022 10:20:28 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id EF74C13485;
 Thu,  7 Apr 2022 10:20:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 7fYeOeu6TmLLSAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 07 Apr 2022 10:20:27 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 58c4c710-b65c-11ec-8fbc-03012f2f19d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1649326828; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=i0492HtzLybFKDzqyFW/njgdfZnOqtzcA3+4Oz/++bA=;
	b=E9z+K4sA53yAuJqYDsPSihbnoBq/Hu2DMtdm+ge7EycvUPUDh8lbSNfdhC6HUjKF9oJrkO
	htmfvqEM5kTbvZYJgYJ/bgFh4bmMJQYQ5WNsIHzt48BJJW0DkYOemoKzFcOGi0HY/qg+Tz
	ZVYfWsejNXzwoO6lQBDtbrxBPLmTIkA=
Message-ID: <8dd691a1-3359-4dbc-f4eb-9fa98e1262d9@suse.com>
Date: Thu, 7 Apr 2022 12:20:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.7.0
Subject: Re: Effect in guest of a hard read error from the host's storage ?
Content-Language: en-US
To: George Dunlap <dunlapg@umich.edu>, Simon Hobson <simon@thehobsons.co.uk>,
 Anthony Perard <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: xen-users <xen-users@lists.xen.org>,
 George Dunlap <george.dunlap@citrix.com>
References: <74C3CB5E-BFF2-43F2-B8A3-43D7CDE25926@thehobsons.co.uk>
 <CAFLBxZYJpnpbQQattFRt6j6RZFB0+KjvkFkBb5cJQ-OqDFZHyw@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <CAFLBxZYJpnpbQQattFRt6j6RZFB0+KjvkFkBb5cJQ-OqDFZHyw@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------7M3mJ1w60Vz4vLsRycYHePHg"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------7M3mJ1w60Vz4vLsRycYHePHg
Content-Type: multipart/mixed; boundary="------------XaghQguDxaKsReDi0KJU2IfR";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: George Dunlap <dunlapg@umich.edu>, Simon Hobson <simon@thehobsons.co.uk>,
 Anthony Perard <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: xen-users <xen-users@lists.xen.org>,
 George Dunlap <george.dunlap@citrix.com>
Message-ID: <8dd691a1-3359-4dbc-f4eb-9fa98e1262d9@suse.com>
Subject: Re: Effect in guest of a hard read error from the host's storage ?
References: <74C3CB5E-BFF2-43F2-B8A3-43D7CDE25926@thehobsons.co.uk>
 <CAFLBxZYJpnpbQQattFRt6j6RZFB0+KjvkFkBb5cJQ-OqDFZHyw@mail.gmail.com>
In-Reply-To: <CAFLBxZYJpnpbQQattFRt6j6RZFB0+KjvkFkBb5cJQ-OqDFZHyw@mail.gmail.com>

--------------XaghQguDxaKsReDi0KJU2IfR
Content-Type: multipart/mixed; boundary="------------048DekcynOW0gjyhFRQp0cio"

--------------048DekcynOW0gjyhFRQp0cio
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDcuMDQuMjIgMTI6MTAsIEdlb3JnZSBEdW5sYXAgd3JvdGU6DQo+IA0KPiANCj4gT24g
U2F0LCBBcHIgMiwgMjAyMiBhdCA4OjI4IFBNIFNpbW9uIEhvYnNvbiA8c2ltb25AdGhlaG9i
c29ucy5jby51ayANCj4gPG1haWx0bzpzaW1vbkB0aGVob2Jzb25zLmNvLnVrPj4gd3JvdGU6
DQo+IA0KPiAgICAgTm90IGhhdmluZyBleHBlcmllbmNlZCBpdCBvbiBhbnkgb2YgbXkgWGVu
IHN5c3RlbXMgSeKAmXZlIG1hbmFnZWQgaW4gdGhlIHBhc3QsDQo+ICAgICBJIGp1c3Qgd2Fu
dGVkIHRvIGNoZWNrIHdoYXQgaGFwcGVucyB3aGVuIHRoZSBob3N04oCZcyBzdG9yYWdlIGVu
Y291bnRlcnMgYW4NCj4gICAgIHVucmVjb3ZlcmFibGUgcmVhZCBlcnJvciA/DQo+ICAgICBN
eSBleHBlY3RhdGlvbiB3b3VsZCBiZSB0aGF0IHRoZSBlcnJvciB3b3VsZCBiZSBwYXNzZWQg
dXAgdGhlIGNoYWluIChob3N04oCZcw0KPiAgICAgT1MsIHZpcnR1YWwgZGlzayBlbXVsYXRv
ciwgZ3Vlc3QgT1MgZGlzayBkcml2ZXIsIGd1ZXN0IE9TIGZpbGVzeXN0ZW0sIGd1ZXN0DQo+
ICAgICBPUyBwcm9ncmFtKSwgYXBwZWFyIGFzIGFuIHVucmVjb3ZlcmFibGUgZXJyb3IgdG8g
dGhlIGd1ZXN0LCBhbmQgaGVuY2UgcGFzc2VkDQo+ICAgICB1cCB0byB0aGUgcHJvZ3JhbSBh
dHRlbXB0aW5nIHRvIHJlYWQgdGhlIGZpbGUgLSBzbyByZWFsbHkgbm90aGluZyBkaWZmZXJl
bnQNCj4gICAgIHRvIHRoZSBzYW1lIGVycm9yIG9uIGJhcmUgbWV0YWwuDQo+IA0KPiAgICAg
SGFzIGFueW9uZSBlbmNvdW50ZXJlZCB0aGlzLCBhbmQgY2FuIGNvbmZpcm0gaWYgdGhhdOKA
mXMgaG93IFhlbitMaW51eCBoYW5kbGVzDQo+ICAgICBpdCA/DQo+IA0KPiANCj4gSnVlcmdl
biAvIFJvZ2VyIC8gQW50aG9ueSAtLSBhbnkgaWRlYSB3aGF0IHdvdWxkIGhhcHBlbiB3aXRo
IGVpdGhlciBibGtiYWNrIG9yIA0KPiBxZGlzayBvbiBhIGhhcmQgcmVhZCBlcnJvcj/CoCAo
T3IgYmxrdGFwLCBmb3IgdGhhdCBtYXR0ZXI/KQ0KDQpBbnkgSS9PIGVycm9yIGZvciBhIHJl
cXVlc3QgaXNzdWVkIHZpYSB0aGUgUFYgYmxvY2sgZGV2aWNlIHByb3RvY29sIHdpbGwgYmUN
CmhhbmRlZCBiYWNrIHRvIHRoZSBmcm9udGVuZCB2aWEgYSBnZW5lcmljIGVycm9yICJCTEtJ
Rl9SU1BfRVJST1IiLCB3aGljaCBpcw0KaGFuZGVkIGJhY2sgdG8gdGhlIGJsb2NrIGxheWVy
IGFzIEkvTyBlcnJvciBvbiB0aGUgZ3Vlc3Qgc2lkZS4NCg0KDQpKdWVyZ2VuDQo=
--------------048DekcynOW0gjyhFRQp0cio
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------048DekcynOW0gjyhFRQp0cio--

--------------XaghQguDxaKsReDi0KJU2IfR--

--------------7M3mJ1w60Vz4vLsRycYHePHg
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmJOuusFAwAAAAAACgkQsN6d1ii/Ey+E
GAf/TayeEx3LnFc6eXc7EYkYvULQfW9PEI+wNlWMPr6Xx0Og+/KgzFSrFVBNbgzdgCS2ZGK9EVk7
FOEwqif6cvgH0FNwgrbVf4U9pRU/rfRicic+SF5lbRn7/C47hed7OaGuIB4d8nVv5kA9pkXlITJt
DEfXm+I3CqQZdrQ2RmjQ1/KDDvuMybahwwxksfeGW0hCAd+yxo16cArwfPahC4jYypYbcB0UM3Tv
66pgxOAOgWUQLeX9yHmqa0xes5twyDzZ2vUMqtESTXj+muN/IxiA9uayHYx04gY/obBuSUzyBSOC
6FdpxJAgadowhHqgjoKTZlgrep8EjGnjxeEsvG/d0w==
=TXBR
-----END PGP SIGNATURE-----

--------------7M3mJ1w60Vz4vLsRycYHePHg--


From xen-users-bounces@lists.xenproject.org Thu Apr 07 16:43:21 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 07 Apr 2022 16:43:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.300968.513547 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1ncVDP-0008Vo-Hg; Thu, 07 Apr 2022 16:42:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 300968.513547; Thu, 07 Apr 2022 16:42:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1ncVDP-0008Vg-Eb; Thu, 07 Apr 2022 16:42:35 +0000
Received: by outflank-mailman (input) for mailman id 300968;
 Thu, 07 Apr 2022 16:42:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=03oA=UR=gmail.com=pryorm09@srs-se1.protection.inumbo.net>)
 id 1ncVDN-0008Va-HJ
 for xen-users@lists.xenproject.org; Thu, 07 Apr 2022 16:42:33 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b78d2ce2-b691-11ec-8fbc-03012f2f19d4;
 Thu, 07 Apr 2022 18:42:32 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id q20so3952146wmq.1
 for <xen-users@lists.xenproject.org>; Thu, 07 Apr 2022 09:42:31 -0700 (PDT)
Received: by 2002:a5d:4648:0:0:0:0:0 with HTTP;
 Thu, 7 Apr 2022 09:42:29 -0700 (PDT)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: b78d2ce2-b691-11ec-8fbc-03012f2f19d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:from:date:message-id:subject:to:cc;
        bh=+fCsD/+laguJ2/p+VU+zP6zFgkRgcxprALyU1Kg1asE=;
        b=P1WHYX4McFhBhukvFU3lJSU3QCCEulAL35Qmiued4eMke8MKMLXySNcYqgs1fPTynh
         UnUIF5HjprhPxPT/4FO3Fvx9Vp86TIuX/ybWovcGVeGWBF/WKPuwZWmtUUEFtCH14Ix7
         eaHIuKhipgCHOftZ8+bqUNSVGBNIAVKkkWdGwrZt6mizuMI6zUEBruVe7skfXLAUdh9z
         rS8Z20KbhMYP3pxp8LhjPDn3RLY4LcVHy4xGqHnStXLpU+CgjdrTV2lVqyR11OHEs6nj
         deB7ceBQFTBS11NxQ2pM7VJKC96i4R6YQQKtYYCzvbiDhMHAXRXUSBkFakO9FwkUyFkD
         kGhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc;
        bh=+fCsD/+laguJ2/p+VU+zP6zFgkRgcxprALyU1Kg1asE=;
        b=xu1xb3kLVYwZ+DGNS2EBaQO8k6rvqDv0+HFBABoTKhQKTidaTAA3B6ijws8Ls29j2A
         jbvISqF8ucuDVGJG4Dwi47Yd6hemxkRWhKsc8QXwGbyCk0JulIkwoSl6XHEUOTnLU9br
         ZDdZRPx2hg0Gpm7xwO3IhqAmwTSVKLeOcFRCmp4BAKUHoihqFnAReZovfc4IK3R2OsEi
         T60AdaJE06nqYX4ADpc2qnAOtade0e1ysSCYIqD1OFXVP5pWc8Ru299KLDaaKFS8I70H
         YPeZvYzLIXnUow+Vxc0R7PVQgHYIAuBJkmwYYMgmo1RHnFE0pfdJ2mr+AaT5UPi8L4Uw
         C57w==
X-Gm-Message-State: AOAM530E/qrwKr3hwDk1FrgAcmIAxXbQJPUxXqljGxUgxgoGNdP3CsmL
	Vx93RnUpn8f8XbkPF48yV/rXB67FZJQpwFaCEao6HWPH
X-Google-Smtp-Source: ABdhPJwlZ+s6ASpy6o5lvuC84RVxqH/V9ubVYjSO/RACe8OF63koaQ6y6qYlYW54XB6077uPr+ByqAUO5ENGMy0pyr4=
X-Received: by 2002:a7b:c8c7:0:b0:38e:978c:dd23 with SMTP id
 f7-20020a7bc8c7000000b0038e978cdd23mr3209657wml.82.1649349750356; Thu, 07 Apr
 2022 09:42:30 -0700 (PDT)
MIME-Version: 1.0
From: Pry Mar <pryorm09@gmail.com>
Date: Thu, 7 Apr 2022 09:42:29 -0700
Message-ID: <CAHnBbQ8XHfeZNapENFO0X8MrhajxbsU1+=6uyhKzyELuPX7JfQ@mail.gmail.com>
Subject: blowup: new debug symbols for PE-64 in EFI blob, xen-4.16 , fc36
To: "m.a.young" <m.a.young@durham.ac.uk>
Cc: xen-users <xen-users@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"

Mike,

everyone has seen how the EFI blob blows up in fc36, so Andrew Cooper
has found a whole new set of symbols in the blob, that can be removed
with `strip -s`

Here is our irc chat:

<ChmEarl>  33431286 Mar 21 05:51 /usr/lib64/efi/xen-4.16.0.efi
<ChmEarl> ^ EFI blob in fc36 is so large, used to be 2.7 MB
<ChmEarl> looking at the xen.spec I can't see why
<andyhhp> debug symbols?
<andyhhp> there's been quite a bit of -pep work going on in binutils
upstream recently
<andyhhp> and I could entirely we've been depending on side effects of
incomplete implementations
<ChmEarl>  objdump *xen-4.16.0.efi  -> 27672 Apr  7 08:04 hyp-note
<ChmEarl> the .note.package is < 1MB
<ChmEarl> oh, didn't check for the debug flag
<ChmEarl> in xen.hypervisor.config,  # CONFIG_DEBUG is not set
<andyhhp> I meant general debug symbols.  does `strip -s` make it
substantially smaller
<andyhhp> if not, best reporting it on xen-devel@ identifying which
version of binutils you've got
<ChmEarl> yes, 6MB now, 6386978 Apr  7 08:14 xen-4.16.0.efi
<ChmEarl> 33MB -> 6MB
<ChmEarl> the strip command changed it in-place
<andyhhp> ok - bug report on xen-devel please
<andyhhp> we want to rename that to xen-syms.efi, and strip the thing
which gets eventually called xen-4.16.0.efi
<andyhhp> exactly like we do on the ELF side too
<andyhhp> but yeah - that will be a side effect of newer binutils
knowing how to generate PE64-compatbile debug info

cheers,
Prymar56


From xen-users-bounces@lists.xenproject.org Fri Apr 08 15:50:26 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 08 Apr 2022 15:50:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.301638.514865 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1ncqrc-0003dE-Tz; Fri, 08 Apr 2022 15:49:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 301638.514865; Fri, 08 Apr 2022 15:49:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1ncqrc-0003d6-Q2; Fri, 08 Apr 2022 15:49:32 +0000
Received: by outflank-mailman (input) for mailman id 301638;
 Fri, 08 Apr 2022 15:49:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DXVu=US=citrix.com=prvs=090e341e7=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ncqrb-0003d0-Bz
 for xen-users@lists.xen.org; Fri, 08 Apr 2022 15:49:31 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 788e6389-b753-11ec-8fbc-03012f2f19d4;
 Fri, 08 Apr 2022 17:49:29 +0200 (CEST)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 788e6389-b753-11ec-8fbc-03012f2f19d4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1649432969;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=U9YK4BTGcJ9Osz/nNFI6tfT+dC4u5MUOcbzmregoqHQ=;
  b=Fw5RJi+eYwIZa9NgeS2E57z1lYeCfiC7sfkga+KH72DFtydldO+LZ8Qv
   vdKnLgnqZGsfuD3J/cnNrvITCxGRtTXjo96pfmONlNDfhWT9PLqWYW3JC
   jIFwHKb3a8IqdY9oBD3NiZ26dfg/I9k21c+pLJTlsVL3sCmntEy951w2m
   M=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 68784635
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:GiOOYKt8+lTy1Mfpm2qKPa0iJefnVEZeMUV32f8akzHdYApBsoF/q
 tZmKWyCPvbeZWryeN9zYNm0ox4F78TVxtc3GwNlpSkzH3gb+JbJXdiXEBz9bniYRiHhoOOLz
 Cm8hv3odp1coqr0/0/1WlTZhSAgk/nOHNIQMcacUsxLbVYMpBwJ1FQyw4bVvqYy2YLjW1/V6
 YuoyyHiEATNNwBcYzp8B52r8HuDjNyq0N/PlgVjDRzjlAa2e0g9VPrzF4noR5fLatA88tqBb
 /TC1NmEElbxpH/BPD8HfoHTKSXmSpaKVeSHZ+E/t6KK2nCurQRquko32WZ1he66RFxlkvgoo
 Oihu6BcRi87YaPdpONGDCBSOB5HF5NXpoXFLHKw5Jn7I03uKxMAwt1rBUAye4YZ5vx2ESdF8
 vlwxDIlN07ZwbjsmfTiF7cq1p9LwMrDZevzvllpyy3ZCvA3B4jOWazQ6fdT3Ssqh9AIFvHbD
 yYcQWQ/M0ScPUYSUrsRIK4Us/mzhkjfSh4ClneH9YBr82bo3SUkhdABN/KKI4fXFK25hH2wv
 WPD+GLRHhEXNNuV0j2D6TSnganSnkvTSI8UUaCj++RxqFmS3XAITg0bUx28u/bRokyxQdVEM
 GQP5zEj66M18SSDQsT7WxSgr1aZux8XW5xdH/BS1e2W4vOKuUDDXDFCF2MfLox93CMredA0/
 k3WkcLVAmcwibe+dku3yKbKlzG/MydAeAfuehQ4ZQcC5tDipqQ6gRTOUstvHcaJszHlJd3j6
 2vU9XZj3t3/meZOjvzmpg6f31pAs7CTFmYIChPrsnVJB++TTKqsfMSW5FfS9p6sx67JHwDa7
 BDodyVzhd3i7K1hdgTQGI3h/5nzvp5p1QEwZ3Y1QvHNEBz3phaekXh4um0WGauQGp9slcXVS
 EHSoxhNw5RYIWGna6R6C6roVZh7l/i9SIS6CamNBjarXnSXXFXalM2JTRTOt10BbWB2yf1vU
 XtlWZjE4Ykm5VRPk2PtGrZ1PU4DzSEi32LDLa0XPDz8uYdykEW9EO9fWHPXN7hRxPrd/G39r
 oYOX+PXmk43eLCvPUHqHXs7cAliwY4TXsut9aS6t4erf2JbJY3WI6OJmuN+JtY9xsy4VI7gp
 xmAZ6OR83Kn7VWvFOlAQisLhG/HNXqnkU8GAA==
IronPort-HdrOrdr: A9a23:NIXs26gxoDCo5sQUVjoOcqF2unBQXuYji2hC6mlwRA09TyX+rb
 HLoB17726QtN9/YgBCpTntAsi9qBDnm6Kdg7NhWotKNTOO0AHEEGgL1/qF/9SKIVydygcy78
 ddmoFFeaTN5QcQt63HCXODfOrIauP3iJxA/t2z80tQ
X-IronPort-AV: E=Sophos;i="5.90,245,1643691600"; 
   d="scan'208";a="68784635"
Date: Fri, 8 Apr 2022 16:49:18 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: George Dunlap <dunlapg@umich.edu>, Simon Hobson <simon@thehobsons.co.uk>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, xen-users
	<xen-users@lists.xen.org>, George Dunlap <george.dunlap@citrix.com>
Subject: Re: Effect in guest of a hard read error from the host's storage ?
Message-ID: <YlBZfr9pyKaGZ04k@perard.uk.xensource.com>
References: <74C3CB5E-BFF2-43F2-B8A3-43D7CDE25926@thehobsons.co.uk>
 <CAFLBxZYJpnpbQQattFRt6j6RZFB0+KjvkFkBb5cJQ-OqDFZHyw@mail.gmail.com>
 <8dd691a1-3359-4dbc-f4eb-9fa98e1262d9@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <8dd691a1-3359-4dbc-f4eb-9fa98e1262d9@suse.com>

On Thu, Apr 07, 2022 at 12:20:27PM +0200, Juergen Gross wrote:
> On 07.04.22 12:10, George Dunlap wrote:
> > 
> > 
> > On Sat, Apr 2, 2022 at 8:28 PM Simon Hobson <simon@thehobsons.co.uk
> > <mailto:simon@thehobsons.co.uk>> wrote:
> > 
> >     Not having experienced it on any of my Xen systems I’ve managed in the past,
> >     I just wanted to check what happens when the host’s storage encounters an
> >     unrecoverable read error ?
> >     My expectation would be that the error would be passed up the chain (host’s
> >     OS, virtual disk emulator, guest OS disk driver, guest OS filesystem, guest
> >     OS program), appear as an unrecoverable error to the guest, and hence passed
> >     up to the program attempting to read the file - so really nothing different
> >     to the same error on bare metal.
> > 
> >     Has anyone encountered this, and can confirm if that’s how Xen+Linux handles
> >     it ?
> > 
> > 
> > Juergen / Roger / Anthony -- any idea what would happen with either
> > blkback or qdisk on a hard read error?  (Or blktap, for that matter?)
> 
> Any I/O error for a request issued via the PV block device protocol will be
> handed back to the frontend via a generic error "BLKIF_RSP_ERROR", which is
> handed back to the block layer as I/O error on the guest side.

It seems to be the same when the backend is "qdisk", QEMU sets the
request status to BLKIF_RSP_ERROR on I/O error.

-- 
Anthony PERARD


From xen-users-bounces@lists.xenproject.org Wed Apr 13 16:35:21 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 13 Apr 2022 16:35:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.304234.518849 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nefwz-0005D7-PU; Wed, 13 Apr 2022 16:34:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 304234.518849; Wed, 13 Apr 2022 16:34:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nefwz-0005Cz-Lo; Wed, 13 Apr 2022 16:34:37 +0000
Received: by outflank-mailman (input) for mailman id 304234;
 Wed, 13 Apr 2022 16:34:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wdIO=UX=thehobsons.co.uk=simon@srs-se1.protection.inumbo.net>)
 id 1nefwx-0005Ch-Ob
 for xen-users@lists.xen.org; Wed, 13 Apr 2022 16:34:35 +0000
Received: from patsy.thehobsons.co.uk (patsy.thehobsons.co.uk [80.229.10.150])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 99506829-bb47-11ec-8fbd-03012f2f19d4;
 Wed, 13 Apr 2022 18:34:34 +0200 (CEST)
Received: from smtpclient.apple (MacBook-Pro.thehobsons.co.uk
 [192.168.137.121])
 by patsy.thehobsons.co.uk (Postfix) with ESMTPSA id DA346110001;
 Wed, 13 Apr 2022 16:34:28 +0000 (UTC)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 99506829-bb47-11ec-8fbd-03012f2f19d4
X-Virus-Scanned: Debian amavisd-new at patsy.thehobsons.co.uk
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\))
Subject: Re: Effect in guest of a hard read error from the host's storage ?
From: Simon Hobson <simon@thehobsons.co.uk>
In-Reply-To: <CAFLBxZYJpnpbQQattFRt6j6RZFB0+KjvkFkBb5cJQ-OqDFZHyw@mail.gmail.com>
Date: Wed, 13 Apr 2022 17:34:28 +0100
Cc: Juergen Gross <jgross@suse.com>,
 Anthony Perard <anthony.perard@citrix.com>,
 =?utf-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 George Dunlap <dunlapg@umich.edu>
Content-Transfer-Encoding: quoted-printable
Message-Id: <E12A84A3-D8AA-43B9-AA36-7E18C9F336DE@thehobsons.co.uk>
References: <74C3CB5E-BFF2-43F2-B8A3-43D7CDE25926@thehobsons.co.uk>
 <CAFLBxZYJpnpbQQattFRt6j6RZFB0+KjvkFkBb5cJQ-OqDFZHyw@mail.gmail.com>
To: xen-users <xen-users@lists.xen.org>
X-Mailer: Apple Mail (2.3654.120.0.1.13)



George Dunlap <dunlapg@umich.edu> wrote:

>> On Sat, Apr 2, 2022 at 8:28 PM Simon Hobson <simon@thehobsons.co.uk> =
wrote:
>> Not having experienced it on any of my Xen systems I=E2=80=99ve =
managed in the past, I just wanted to check what happens when the =
host=E2=80=99s storage encounters an unrecoverable read error ?
>> My expectation would be that the error would be passed up the chain =
(host=E2=80=99s OS, virtual disk emulator, guest OS disk driver, guest =
OS filesystem, guest OS program), appear as an unrecoverable error to =
the guest, and hence passed up to the program attempting to read the =
file - so really nothing different to the same error on bare metal.
>>=20
>> Has anyone encountered this, and can confirm if that=E2=80=99s how =
Xen+Linux handles it ?
>>=20
> Juergen / Roger / Anthony -- any idea what would happen with either =
blkback or qdisk on a hard read error?  (Or blktap, for that matter?)
> =20
>> The reason for asking is that I also use Parallels on a Mac and have =
this situation. Cloning the host=E2=80=99s drive (Carbon Copy Cloner) =
=E2=80=9Cdoes the right thing=E2=80=9D - CCC copies the files it can and =
reports the ones it can=E2=80=99t. A couple of the ones it can=E2=80=99t =
are virtual disk files for Parallels guests.
>> When I try to recover what I can (and any unreadable files might not =
be important anyway but I don=E2=80=99t know which they are) using the =
same technique in the guest, Parallels doesn=E2=80=99t behave like that. =
It pops up a dialog to say a critical error has occurred, with two =
options - retry (which of course doesn=E2=80=99t do anything useful), or =
to stop the guest. So the guest OS never gets to see the error, it just =
gets killed. Thus meaningful recovery is impossible as the guest gets =
stopped without being able to tell me what file(s) is affected.
>> I=E2=80=99ve been =E2=80=9Cdiscussing=E2=80=9D this with Parallels =
support and at the moment I=E2=80=99ve reached the point where they=E2=80=99=
re telling me that this is normal when things are virtualised - which is =
setting off the BS detector for me.
>>=20
> I think it probably depends on a lot of factors; it wouldn't surprise =
me if more consumer-grade virtual machine software, like Parallels or =
VirtualBox don't do the hard work of writing and testing those sorts of =
paths, while more enterprise-grade software might.  That said, I don't =
think I've ever heard anyone ask the question of Xen, so it's possible =
that it simply hasn't been considered.
>=20
> Another thing to consider is that the ability to pass the error on to =
the guest in a system like Parallels depends not only on the correctness =
of its own block datapath in the presence of errors, but also the =
correctness of the surrounding operating system.  If the host OS doesn't =
handle those kinds of errors gracefully in a reliable fashion, there's =
nothing Parallels can really do to make up for it.

Yes, I imagine it=E2=80=99s =E2=80=9Cquite complicated=E2=80=9D to catch =
all the possible exceptions.
But given that they do some versions which are definitely not =
=E2=80=9Cconsumer orientated=E2=80=9D and they have been doing it for a =
long time* I=E2=80=99d have expected better.

* I vaguely recall having been using it since an architecture change =
(dropping of a different endian emulation ?) between PowerPC 4 and =
PowerPC 5 stopped the old Virtual-PC emulator working. Something like 20 =
years ago.



Juergen Gross <jgross@suse.com> wrote:

> Any I/O error for a request issued via the PV block device protocol =
will be
> handed back to the frontend via a generic error "BLKIF_RSP_ERROR", =
which is
> handed back to the block layer as I/O error on the guest side.

Thanks, that sounds like exactly what I=E2=80=99d expect to happen.



Anthony PERARD <anthony.perard@citrix.com> wrote:

> It seems to be the same when the backend is "qdisk", QEMU sets the
> request status to BLKIF_RSP_ERROR on I/O error.




Thanks all for taking the time to reply - and apologies for the delay in =
responding.

I had a third remote session with a support agent today (Indian ? call =
centre - nothing against them personally, but the old saying about =
=E2=80=9Cpay peanuts, get monkeys=E2=80=9D comes to mind) - and as =
I=E2=80=99ve come to expect he=E2=80=99d not read all the notes, I had =
to explain yet again what the problem is, tactfully explain that "no =
none of this is inherent in virtualisation and it=E2=80=99s only =
Parallels implementation that makes it fail in this way=E2=80=9D. Today =
I had the =E2=80=9Cpleasure=E2=80=9D of demonstrating that no I can=E2=80=99=
t just copy the whole virtual disk file (it fails when it hits the =
unreadable block) and no I can=E2=80=99t just copy files using Finder =
within the guest (triggers Parallels to pop up the same critical warning =
error and only give options to retry, as if that=E2=80=99s going to do =
any different, or to kill the guest).
It will be interesting to see whether my request for escalation to a =
higher level gets noticed.
Almost as much fun as dealing with the hell desk when I have a problem =
with the Windows laptop I have to use for ${day_job} !


Thanks, Simon



From xen-users-bounces@lists.xenproject.org Wed Apr 13 23:06:52 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 13 Apr 2022 23:06:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.304353.518984 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nem3l-0005yH-T4; Wed, 13 Apr 2022 23:06:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 304353.518984; Wed, 13 Apr 2022 23:06:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nem3l-0005y9-P6; Wed, 13 Apr 2022 23:06:01 +0000
Received: by outflank-mailman (input) for mailman id 304353;
 Wed, 13 Apr 2022 23:06:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vymk=UX=gmail.com=thebearak@srs-se1.protection.inumbo.net>)
 id 1nem3k-0005y3-Pf
 for xen-users@lists.xenproject.org; Wed, 13 Apr 2022 23:06:00 +0000
Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com
 [2607:f8b0:4864:20::1030])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46eca260-bb7e-11ec-8fbd-03012f2f19d4;
 Thu, 14 Apr 2022 01:05:58 +0200 (CEST)
Received: by mail-pj1-x1030.google.com with SMTP id o5so3492652pjr.0
 for <xen-users@lists.xenproject.org>; Wed, 13 Apr 2022 16:05:58 -0700 (PDT)
Received: from [192.168.66.66] (29-121-237-24.static.gci.net. [24.237.121.29])
 by smtp.gmail.com with ESMTPSA id
 h5-20020a17090a648500b001cd5137217fsm106933pjj.47.2022.04.13.16.05.55
 for <xen-users@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 13 Apr 2022 16:05:55 -0700 (PDT)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 46eca260-bb7e-11ec-8fbd-03012f2f19d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=message-id:date:mime-version:user-agent:reply-to:subject
         :content-language:to:references:from:organization:in-reply-to
         :content-transfer-encoding;
        bh=jv/uwypLo9ZdMmrwv9udMMD7KzXr9txeEO1SaIvt0NY=;
        b=lr/FzZxvVNs2cBzcqxYQ4OStZLEU5I7hATcITcfMUDBdmwLebiEqBfrrBFkFPgxmbz
         kP24zj/TMyzIf+YAUWazDVrI/SWRaiT/cgODU/6yawvBsyLp/WvVXcEhIkYTPiPR8RU6
         X8MVy+dfPROWA+edcDUJdfkrr2W4O6HPL7R7IiChuQYdsDGkkr9iKG1fDiXu/ZYC9KSY
         8XsgTnXzG94moAUKbkMo6khZNcKmqISIFoSO3HD+AkPmB0EbUoQFBqusuPHpL9YP5RHj
         yhFOvpY6meA4ix2GAtYNC9mEmQ9kUt3tvS9rHWUD7Mxl0d51ALo1KAxySxsyLa9x1yX1
         dpeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:message-id:date:mime-version:user-agent:reply-to
         :subject:content-language:to:references:from:organization
         :in-reply-to:content-transfer-encoding;
        bh=jv/uwypLo9ZdMmrwv9udMMD7KzXr9txeEO1SaIvt0NY=;
        b=O/qWqWsE0LZfDHXsijTj6RkVjWHwr6skYPkLx1NbKDwNfkJMh20jy95bA6PuMliMt9
         Tzo9CxSUOd0InswKZAAuGkpw6fJvxdt4WExJMB/XbRA9C9vre4JHYDO7dyDK/MAbz361
         4/CkapVQ1373x9pe2SNH8EdTnePyrRp30C5lw8CsO+/cD/Wr8OD/oFojBde/WIun42EU
         QGSoUMkCbv6OSOI+hh0ddYzqRXjnN4aFOicJmKs1QQUui4NaOt71ZxhKcxmPMOANf9dO
         O9g0lSADXDgOXqCPdizihgbT9rb4naRu0j3Xcusq+LN8YogYG5RYqijGmkbmrroOJczf
         DhRA==
X-Gm-Message-State: AOAM533DQj623X9txVkxMiz43OQseB4yIekFeG+9BzYVcchuwIYySD/f
	gfLg8VaM+AZ+uIfohbOKwJNAJf5zm0UCVA==
X-Google-Smtp-Source: ABdhPJxGdgohcrx3hMPZ1e6dPsBGDYVLxQFF6RlsVxw5/AckMlRc3b4Z2l1SVt14fdUMYRPceKxG6A==
X-Received: by 2002:a17:90a:c484:b0:1ca:8896:5db9 with SMTP id j4-20020a17090ac48400b001ca88965db9mr486042pjt.143.1649891156352;
        Wed, 13 Apr 2022 16:05:56 -0700 (PDT)
Message-ID: <c0e22258-b7be-f239-fbe1-4c234b43a808@gmail.com>
Date: Wed, 13 Apr 2022 15:05:53 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
 Gecko/20100101 Thunderbird/91.8.0
Reply-To: mattb@summittelephonecompany.com
Subject: Thanks.
Content-Language: en-US
To: xen-users@lists.xenproject.org
References: <74C3CB5E-BFF2-43F2-B8A3-43D7CDE25926@thehobsons.co.uk>
 <CAFLBxZYJpnpbQQattFRt6j6RZFB0+KjvkFkBb5cJQ-OqDFZHyw@mail.gmail.com>
 <E12A84A3-D8AA-43B9-AA36-7E18C9F336DE@thehobsons.co.uk>
From: TheBearAK <thebearak@gmail.com>
Organization: Summit Telephone Company
In-Reply-To: <E12A84A3-D8AA-43B9-AA36-7E18C9F336DE@thehobsons.co.uk>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

I'm signing off the list, but I wanted to thank everyone that helped out 
trying to solve the slowness and memory issues I was having.

Some of the ideas worked, but in the end, two key VMs were simply not 
performing like they should.  I even tried shutting down all the others 
to see if it was just was memory full or HD access issues and it didn't 
help.

After fighting this off and on for about a year now, I've moved over to 
using KVM.    Holy smokes is the performance difference amazing.   And 
it is a lot easier to set up non-host OS VMs (like Windows VM on Linux 
host).

Matt



From xen-users-bounces@lists.xenproject.org Fri Apr 15 10:53:26 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 15 Apr 2022 10:53:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.305692.520787 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nfJZ5-00011N-LH; Fri, 15 Apr 2022 10:52:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 305692.520787; Fri, 15 Apr 2022 10:52:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nfJZ5-00011F-HG; Fri, 15 Apr 2022 10:52:35 +0000
Received: by outflank-mailman (input) for mailman id 305692;
 Fri, 15 Apr 2022 10:52:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4CzB=UZ=gmail.com=marco.cacre@srs-se1.protection.inumbo.net>)
 id 1nfJZ3-000119-IK
 for xen-users@lists.xenproject.org; Fri, 15 Apr 2022 10:52:33 +0000
Received: from mail-oi1-x22e.google.com (mail-oi1-x22e.google.com
 [2607:f8b0:4864:20::22e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2594c957-bcaa-11ec-a405-831a346695d4;
 Fri, 15 Apr 2022 12:52:32 +0200 (CEST)
Received: by mail-oi1-x22e.google.com with SMTP id e4so8109015oif.2
 for <xen-users@lists.xenproject.org>; Fri, 15 Apr 2022 03:52:31 -0700 (PDT)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 2594c957-bcaa-11ec-a405-831a346695d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:from:date:message-id:subject:to;
        bh=ig/7PxPHSedPGLdXUIQ4hb6kZVzCrg6+0Ak1Jmwq708=;
        b=UkZUf7ujcA4mrg2uAXmdoyJutERnWe1MFEvNuomncXCmRGPt9Y8b8DiEEbYuBZS4+B
         cb8N+1kUM1cMxZ3LVn2+lUD+BTTI2vH87KbZmhhUal+y7uGTNs995mRjFEhI7I2A1f/U
         rVrEb/8yXd4XYTu8M+TKYM5RlLQvtL3lBpZpNiBDZ619GQYq/NgmdajDiRrxHn3RA6Fn
         KCffomIWr/0+KNYWB1bxfouwbqaB8puTo5JmUJZeS01shLQM5McOhWz5O5t/z/X+KnS5
         1CZY86PXaoesTSnVB6NMfeiqiY2+5yplgdm2SqvxB6Yhk+yfoEfRfk87kEjdZXBfS3g4
         sYDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
        bh=ig/7PxPHSedPGLdXUIQ4hb6kZVzCrg6+0Ak1Jmwq708=;
        b=q/Zn+EaTmO7OUXC9ZHnpZ79vxvMVwTZGqVquHphZkcedna8QvWKu6mNdDg5bylQEy/
         fmH46UcEeEv7/1CAbl/6mFR/WBb7R8KPoOhnP+Up6PI6cYSrCT7O6lLkBNYozouCF0kY
         HkbJatIfRo517kYTeu65/lAnIhwCeftCJpPZvg9I2Qg22r936Zy2HHZ4DDzbb5w0VhGu
         KlYx6KHPAzjphoYpu2yNmXVcb1cCDFrH1e5IYOGRlpeCxcpwL9koMC7BYXakOCyrn9Pt
         W3p2GMd35NtCkHjQEYjJ7GAixaxKbPSB+/45nqCmSwdWGjcLMIs9iaXriCoNnH+FA9LW
         ma9A==
X-Gm-Message-State: AOAM533ePbodhvuINlpKjgb6mpjGrCMxVwzpO4VYV9ckNsKLy+eUE/0Z
	XsNvIHA5pUI1yBRcoXXiXndg4GwmtiSd1WgR+k+pVyI5hlE=
X-Google-Smtp-Source: ABdhPJyuJYPXKZz8j1ir2VA0Noja7E2AN2fCEDukBkKZL094CNyc1bRX13KlQEZTcr5wCPZ3Pl71trOYsflWCvnT8XI=
X-Received: by 2002:a05:6808:f0c:b0:322:3432:ad40 with SMTP id
 m12-20020a0568080f0c00b003223432ad40mr1305741oiw.260.1650019949732; Fri, 15
 Apr 2022 03:52:29 -0700 (PDT)
MIME-Version: 1.0
From: Marco Cacre <marco.cacre@gmail.com>
Date: Fri, 15 Apr 2022 12:52:19 +0200
Message-ID: <CAGHctbaYqjCYrSQjavvf+9TdYBKkDcvgPSoEjVYmenD2FWgerA@mail.gmail.com>
Subject: Problem creating domU guest on arm64
To: xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000f9e7f705dcaf34cd"

--000000000000f9e7f705dcaf34cd
Content-Type: text/plain; charset="UTF-8"

Hi all,

I'm facing two kind of problem trying to create a Xen guest domain on
rockpro64 (arm64).

I have successfully built uboot, xen (4.14.4) and dom0 linux kernel with
xen tool stack, these two last starting from buildroot (with linux kernel
version 5.15.33 and xen toolstack version 4.14.4)

These are the process of Xen:

177 root    /usr/sbin/xenwatchdogd 30 15
203 root    /usr/sbin/xenstored --pid-file /var/run/xen/xenstored.pid
208 root    /usr/sbin/xenconsoled --pid-file=/var/run/xen/xenconsoled.pid
214 root    /usr/lib/xen/bin/qemu-system-i386 -xen-domid 0 -xen-attach
-name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
-serial/dev/nul -parallel/dev/null -pidfile/var/run/xen/qemu-dom0.pid

and the drivers loaded as a module:
# lsmod
Module                  Size  Used by    Tainted: G
xen_netback            65536  0
xen_blkback            49152  0

Xen and dom0 Image boot up successfully, at the end:
================================================
>xl list
Name                                        ID  Mem VCPUs State Time(s)
Domain-0                                    0  1024    2    r-----    4000.3

# uname -a
Linux rockpro64 5.15.33 #3 SMP PREEMPT Fri Apr 15 11:01:37 CEST 2022
aarch64 GNU/Linux
================================================

when I try to create a domU domain I have problem with disk backend, I have
made several attempts trying with different domU linux and I always get the
following error :

================================================
Parsing config from ./alpine_xen_domu.config

libxl: error: libxl_aoutils.c:539:async_exec_timeout: killing execution of
/etc/xen/scripts/block add because of timeout
libxl: error: libxl_create.c:1608:domcreate_launch_dm: Domain 2:unable to
add disk devices
libxl: error: libxl_aoutils.c:539:async_exec_timeout: killing execution of
/etc/xen/scripts/block remove because of timeout
libxl: error: libxl_domain.c:1182:libxl__destroy_domid: Domain
2:Non-existant domain
libxl: error: libxl_domain.c:1136:domain_destroy_callback: Domain 2:Unable
to destroy guest
libxl: error: libxl_domain.c:1063:domain_destroy_cb: Domain 2:Destruction
of domain failed
================================================

The last try was with alpine domU linux with the following config:
================================================

# Alpine Linux PV DomU
# Kernel paths for install
kernel = "/home/xen/vmlinuz-virt"
ramdisk = "/home/xen/initramfs-virt"
extra="modules=loop,squashfs console=hvc0"
# Path to HDD and iso file
disk = [ 'format=raw, vdev=xvda, access=w, target=/data/a1.img',
        'format=raw, vdev=xvdc, access=r, devtype=cdrom,
target=/home/xen/alpine-virt-3.15.3-armv7.iso'  ]
# Network configuration
vif = ['bridge=br0']
# DomU settings

memory = 512

name = "alpine-a1"

vcpus = 1

maxvcpus = 1
================================================

thanks a lot in advance
Best regards
Marco

--000000000000f9e7f705dcaf34cd
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+SGkgYWxsLDxicj48YnI+SSYjMzk7bSBmYWNpbmcgdHdvIGtpbmQgb2Yg
cHJvYmxlbSB0cnlpbmcgdG8gY3JlYXRlIGEgWGVuIGd1ZXN0IGRvbWFpbiBvbiByb2NrcHJvNjQg
KGFybTY0KS48YnI+PGJyPkkgaGF2ZSBzdWNjZXNzZnVsbHkgYnVpbHQgdWJvb3QsIHhlbiAoNC4x
NC40KSBhbmQgZG9tMCBsaW51eCBrZXJuZWwgd2l0aCB4ZW4gdG9vbCBzdGFjaywgdGhlc2UgdHdv
IGxhc3Qgc3RhcnRpbmcgZnJvbSBidWlsZHJvb3QgKHdpdGggbGludXgga2VybmVsIHZlcnNpb24g
NS4xNS4zMyBhbmQgeGVuIHRvb2xzdGFjayB2ZXJzaW9uIDQuMTQuNCk8YnI+PGJyPlRoZXNlIGFy
ZSB0aGUgcHJvY2VzcyBvZiBYZW46PGJyPjxicj4xNzcgcm9vdCDCoCDCoC91c3Ivc2Jpbi94ZW53
YXRjaGRvZ2QgMzAgMTU8YnI+MjAzIHJvb3QgwqAgwqAvdXNyL3NiaW4veGVuc3RvcmVkIC0tcGlk
LWZpbGUgL3Zhci9ydW4veGVuL3hlbnN0b3JlZC5waWQ8YnI+MjA4IHJvb3QgwqAgwqAvdXNyL3Ni
aW4veGVuY29uc29sZWQgLS1waWQtZmlsZT0vdmFyL3J1bi94ZW4veGVuY29uc29sZWQucGlkPGJy
PjIxNCByb290IMKgIMKgL3Vzci9saWIveGVuL2Jpbi9xZW11LXN5c3RlbS1pMzg2IC14ZW4tZG9t
aWQgMCAteGVuLWF0dGFjaCAtbmFtZSBkb20wIC1ub2dyYXBoaWMgLU0geGVucHYgLWRhZW1vbml6
ZSAtbW9uaXRvciAvZGV2L251bGwgLXNlcmlhbC9kZXYvbnVsIC1wYXJhbGxlbC9kZXYvbnVsbCAt
cGlkZmlsZS92YXIvcnVuL3hlbi9xZW11LWRvbTAucGlkPGJyPjxicj5hbmQgdGhlIGRyaXZlcnMg
bG9hZGVkIGFzIGEgbW9kdWxlOjxicj4jIGxzbW9kPGJyPk1vZHVsZSDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoFNpemUgwqBVc2VkIGJ5IMKgIMKgVGFpbnRlZDogRyA8YnI+eGVuX25ldGJhY2sg
wqAgwqAgwqAgwqAgwqAgwqA2NTUzNiDCoDA8YnI+eGVuX2Jsa2JhY2sgwqAgwqAgwqAgwqAgwqAg
wqA0OTE1MiDCoDA8YnI+PGJyPlhlbiBhbmQgZG9tMCBJbWFnZSBib290IHVwIHN1Y2Nlc3NmdWxs
eSwgYXQgdGhlIGVuZDo8YnI+PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PGJyPiZndDt4bCBsaXN0PGJyPk5hbWUgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBJRCDCoE1lbSBWQ1BVcyBTdGF0ZSBU
aW1lKHMpPGJyPkRvbWFpbi0wIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgMCDCoDEwMjQgwqAgwqAyIMKgIMKgci0tLS0tIMKgIMKgNDAwMC4zPGJy
Pjxicj4jIHVuYW1lIC1hPGJyPkxpbnV4IHJvY2twcm82NCA1LjE1LjMzICMzIFNNUCBQUkVFTVBU
IEZyaSBBcHIgMTUgMTE6MDE6MzcgQ0VTVCAyMDIyIGFhcmNoNjQgR05VL0xpbnV4PGJyPj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTxicj48YnI+d2hlbiBJ
IHRyeSB0byBjcmVhdGUgYSBkb21VIGRvbWFpbiBJIGhhdmUgcHJvYmxlbSB3aXRoIGRpc2sgYmFj
a2VuZCwgSSBoYXZlIG1hZGUgc2V2ZXJhbCBhdHRlbXB0cyB0cnlpbmcgd2l0aCBkaWZmZXJlbnQg
ZG9tVSBsaW51eCBhbmQgSSBhbHdheXMgZ2V0IHRoZSBmb2xsb3dpbmcgZXJyb3IgOjxicj48YnI+
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PGJyPlBhcnNp
bmcgY29uZmlnIGZyb20gLi9hbHBpbmVfeGVuX2RvbXUuY29uZmlnPGJyPjxicj5saWJ4bDogZXJy
b3I6IGxpYnhsX2FvdXRpbHMuYzo1Mzk6YXN5bmNfZXhlY190aW1lb3V0OiBraWxsaW5nIGV4ZWN1
dGlvbiBvZiAvZXRjL3hlbi9zY3JpcHRzL2Jsb2NrIGFkZCBiZWNhdXNlIG9mIHRpbWVvdXQ8YnI+
bGlieGw6IGVycm9yOiBsaWJ4bF9jcmVhdGUuYzoxNjA4OmRvbWNyZWF0ZV9sYXVuY2hfZG06IERv
bWFpbiAyOnVuYWJsZSB0byBhZGQgZGlzayBkZXZpY2VzPGJyPmxpYnhsOiBlcnJvcjogbGlieGxf
YW91dGlscy5jOjUzOTphc3luY19leGVjX3RpbWVvdXQ6IGtpbGxpbmcgZXhlY3V0aW9uIG9mIC9l
dGMveGVuL3NjcmlwdHMvYmxvY2sgcmVtb3ZlIGJlY2F1c2Ugb2YgdGltZW91dDxicj5saWJ4bDog
ZXJyb3I6IGxpYnhsX2RvbWFpbi5jOjExODI6bGlieGxfX2Rlc3Ryb3lfZG9taWQ6IERvbWFpbiAy
Ok5vbi1leGlzdGFudCBkb21haW48YnI+bGlieGw6IGVycm9yOiBsaWJ4bF9kb21haW4uYzoxMTM2
OmRvbWFpbl9kZXN0cm95X2NhbGxiYWNrOiBEb21haW4gMjpVbmFibGUgdG8gZGVzdHJveSBndWVz
dDxicj5saWJ4bDogZXJyb3I6IGxpYnhsX2RvbWFpbi5jOjEwNjM6ZG9tYWluX2Rlc3Ryb3lfY2I6
IERvbWFpbiAyOkRlc3RydWN0aW9uIG9mIGRvbWFpbiBmYWlsZWQ8YnI+PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PGJyPjxicj5UaGUgbGFzdCB0cnkgd2Fz
IHdpdGggYWxwaW5lIGRvbVUgbGludXggd2l0aCB0aGUgZm9sbG93aW5nIGNvbmZpZzo8YnI+PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PGJyPjxicj4jIEFs
cGluZSBMaW51eCBQViBEb21VPGJyPiMgS2VybmVsIHBhdGhzIGZvciBpbnN0YWxsPGJyPmtlcm5l
bCA9ICZxdW90Oy9ob21lL3hlbi92bWxpbnV6LXZpcnQmcXVvdDs8YnI+cmFtZGlzayA9ICZxdW90
Oy9ob21lL3hlbi9pbml0cmFtZnMtdmlydCZxdW90Ozxicj5leHRyYT0mcXVvdDttb2R1bGVzPWxv
b3Asc3F1YXNoZnMgY29uc29sZT1odmMwJnF1b3Q7PGJyPiMgUGF0aCB0byBIREQgYW5kIGlzbyBm
aWxlPGJyPmRpc2sgPSBbICYjMzk7Zm9ybWF0PXJhdywgdmRldj14dmRhLCBhY2Nlc3M9dywgdGFy
Z2V0PS9kYXRhL2ExLmltZyYjMzk7LDxicj7CoCDCoCDCoCDCoCAmIzM5O2Zvcm1hdD1yYXcsIHZk
ZXY9eHZkYywgYWNjZXNzPXIsIGRldnR5cGU9Y2Ryb20sIHRhcmdldD0vaG9tZS94ZW4vYWxwaW5l
LXZpcnQtMy4xNS4zLWFybXY3LmlzbyYjMzk7IMKgXTxicj4jIE5ldHdvcmsgY29uZmlndXJhdGlv
biDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCA8YnI+dmlmID0gWyYjMzk7YnJpZGdlPWJyMCYjMzk7XSA8YnI+IyBEb21VIHNldHRpbmdz
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDxicj5tZW1vcnkgPSA1MTIgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPm5hbWUgPSAmcXVvdDth
bHBpbmUtYTEmcXVvdDsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPnZjcHVz
ID0gMSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YnI+bWF4
dmNwdXMgPSAxPGJyPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PTxicj48YnI+dGhhbmtzIGEgbG90IGluIGFkdmFuY2U8YnI+QmVzdCByZWdhcmRzPGJyPk1h
cmNvPGJyPjwvZGl2Pg0K
--000000000000f9e7f705dcaf34cd--


From xen-users-bounces@lists.xenproject.org Wed Apr 20 10:56:51 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 20 Apr 2022 10:56:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.309100.525149 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nh80F-00016C-TL; Wed, 20 Apr 2022 10:56:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 309100.525149; Wed, 20 Apr 2022 10:56:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nh80F-000164-O0; Wed, 20 Apr 2022 10:56:07 +0000
Received: by outflank-mailman (input) for mailman id 309100;
 Wed, 20 Apr 2022 10:56:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aiw3=U6=gmail.com=marco.cacre@srs-se1.protection.inumbo.net>)
 id 1nh80E-00015u-3Y
 for xen-users@lists.xenproject.org; Wed, 20 Apr 2022 10:56:06 +0000
Received: from mail-oi1-x22e.google.com (mail-oi1-x22e.google.com
 [2607:f8b0:4864:20::22e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77eae9de-c098-11ec-a405-831a346695d4;
 Wed, 20 Apr 2022 12:56:04 +0200 (CEST)
Received: by mail-oi1-x22e.google.com with SMTP id a10so1568376oif.9
 for <xen-users@lists.xenproject.org>; Wed, 20 Apr 2022 03:56:02 -0700 (PDT)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 77eae9de-c098-11ec-a405-831a346695d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
        bh=BSv9zoQi47YdKbkyWnCQtoXDdkg3jwoMIoiSKVyEZYQ=;
        b=pCZ0ZyChUw5uO7x8vp6v8HBssskNCIJ0KoGTprr24w/fp0qL2l5wSCNTkK+iZMfyAJ
         AadAtyNvq+kHGpXKapyEqZT1CFqhRMkOtDsiIKesDqx7WjnJJbwBXaYeShQNIuOvWYLI
         7auREF8m5Yigf752B5WIFV/ZbMRaL2Pwo0p/3Mor91oQRLg1y7Lxg0KmHoLI+VMj2tRZ
         gGuevYLSU607w0hYUMQOxdsgihqh28/eJRbvHzV/kugQkngcweV53fuN1rfcgSTpjuqS
         6OOheMeskpjjEYc9JEWwUDEuliI5fUcxqAxmLwTeZVbHmmLH793Viza6yDckOYRKkmOs
         yJRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to;
        bh=BSv9zoQi47YdKbkyWnCQtoXDdkg3jwoMIoiSKVyEZYQ=;
        b=KxoFYdVtJVrS2Wyh1U0gif5S8rKPAo7jaWGgKExswwEKBS9EbKZDfu7LyLXclQgB3N
         2bWmtflvSq9XxR9OamgZ6a2Ql5mMpK/FSFMI0TlIhHsl8PDcUH9GUAG0YgOb/fU41lOv
         3JFKjxz5gkttzRFJGEQxA2Zmv1I3wAXJlu12Z+SymuiwdxsBaRrPHkwtNSzgwmip94Do
         n5LfvKXngQbzdbBBPINRR/Hlix96kDXOAE5+jUrMO8q/WrBfHaT8/S5gbWCTGSuYcQmq
         xJph3QAXVue4wJRTpjVj3jlbh6JmpuZw6h+MGLxKpXoNDV1h6BJV8exZt0rdiRZUjfrD
         bXig==
X-Gm-Message-State: AOAM531+oQ+kCKwVIw7WNoPzYUhS9v5Z6r3ags3nEuOTw0ESPE0dZjG9
	KGU8KAdn46ch03zxd7P6vIkyEbdeq88pqIgjn5/FQFDAUPU=
X-Google-Smtp-Source: ABdhPJyeq6n4wq79NtSP4l2DuEuZFeaRb6Nbz64R1AkBHdWxp3HIQ1x7o+pkoo3ojhIIkfeSnvHbvQMS3Zw7x9IuBm4=
X-Received: by 2002:a05:6808:1306:b0:2ec:c798:d150 with SMTP id
 y6-20020a056808130600b002ecc798d150mr1323582oiv.59.1650452161678; Wed, 20 Apr
 2022 03:56:01 -0700 (PDT)
MIME-Version: 1.0
References: <CAGHctbaYqjCYrSQjavvf+9TdYBKkDcvgPSoEjVYmenD2FWgerA@mail.gmail.com>
In-Reply-To: <CAGHctbaYqjCYrSQjavvf+9TdYBKkDcvgPSoEjVYmenD2FWgerA@mail.gmail.com>
From: Marco Cacre <marco.cacre@gmail.com>
Date: Wed, 20 Apr 2022 12:55:50 +0200
Message-ID: <CAGHctbYVJ88dvkC0PEwA0zLqVd37KPpghApa7=c7-Ned0RvTkQ@mail.gmail.com>
Subject: Re: Problem creating domU guest on arm64
To: xen-users@lists.xenproject.org
Content-Type: multipart/mixed; boundary="000000000000d0e08505dd13d6cd"

--000000000000d0e08505dd13d6cd
Content-Type: multipart/alternative; boundary="000000000000d0e08305dd13d6cb"

--000000000000d0e08305dd13d6cb
Content-Type: text/plain; charset="UTF-8"

Hi  all,



I did further attempts but I have always problems with disk backend setup
during creation of domU domain.



The latest attempt was using deban arm64 image with this configuration:



memory = 512
name = "debian"
vcpus = 1
maxvcpus = 1

kernel = "/home/xen/vmlinuz"
ramdisk = "/home/xen/initrd.img"
disk = ["phy:/dev/loop0,xvda,rw"]
extra = "root=/dev/xvda rw console=hvc0 earlyprintk=xen"



kernel and ramdisk boot up successfully and I can attach to the domU
console, but when I try to define the disk backend with the debian rootfs
the creation of the domain fails.



rootfs is attached to loop device as follow:



losetup /dev/loop0 /home/xen/rootfs.img



I attached to this mail the verbose trace of the command xl create



Thanks a lot in advance for any kind of help

Best Regards

Marco

Il giorno ven 15 apr 2022 alle ore 12:52 Marco Cacre <marco.cacre@gmail.com>
ha scritto:

> Hi all,
>
> I'm facing two kind of problem trying to create a Xen guest domain on
> rockpro64 (arm64).
>
> I have successfully built uboot, xen (4.14.4) and dom0 linux kernel with
> xen tool stack, these two last starting from buildroot (with linux kernel
> version 5.15.33 and xen toolstack version 4.14.4)
>
> These are the process of Xen:
>
> 177 root    /usr/sbin/xenwatchdogd 30 15
> 203 root    /usr/sbin/xenstored --pid-file /var/run/xen/xenstored.pid
> 208 root    /usr/sbin/xenconsoled --pid-file=/var/run/xen/xenconsoled.pid
> 214 root    /usr/lib/xen/bin/qemu-system-i386 -xen-domid 0 -xen-attach
> -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
> -serial/dev/nul -parallel/dev/null -pidfile/var/run/xen/qemu-dom0.pid
>
> and the drivers loaded as a module:
> # lsmod
> Module                  Size  Used by    Tainted: G
> xen_netback            65536  0
> xen_blkback            49152  0
>
> Xen and dom0 Image boot up successfully, at the end:
> ================================================
> >xl list
> Name                                        ID  Mem VCPUs State Time(s)
> Domain-0                                    0  1024    2    r-----
>  4000.3
>
> # uname -a
> Linux rockpro64 5.15.33 #3 SMP PREEMPT Fri Apr 15 11:01:37 CEST 2022
> aarch64 GNU/Linux
> ================================================
>
> when I try to create a domU domain I have problem with disk backend, I
> have made several attempts trying with different domU linux and I always
> get the following error :
>
> ================================================
> Parsing config from ./alpine_xen_domu.config
>
> libxl: error: libxl_aoutils.c:539:async_exec_timeout: killing execution of
> /etc/xen/scripts/block add because of timeout
> libxl: error: libxl_create.c:1608:domcreate_launch_dm: Domain 2:unable to
> add disk devices
> libxl: error: libxl_aoutils.c:539:async_exec_timeout: killing execution of
> /etc/xen/scripts/block remove because of timeout
> libxl: error: libxl_domain.c:1182:libxl__destroy_domid: Domain
> 2:Non-existant domain
> libxl: error: libxl_domain.c:1136:domain_destroy_callback: Domain 2:Unable
> to destroy guest
> libxl: error: libxl_domain.c:1063:domain_destroy_cb: Domain 2:Destruction
> of domain failed
> ================================================
>
> The last try was with alpine domU linux with the following config:
> ================================================
>
> # Alpine Linux PV DomU
> # Kernel paths for install
> kernel = "/home/xen/vmlinuz-virt"
> ramdisk = "/home/xen/initramfs-virt"
> extra="modules=loop,squashfs console=hvc0"
> # Path to HDD and iso file
> disk = [ 'format=raw, vdev=xvda, access=w, target=/data/a1.img',
>         'format=raw, vdev=xvdc, access=r, devtype=cdrom,
> target=/home/xen/alpine-virt-3.15.3-armv7.iso'  ]
> # Network configuration
> vif = ['bridge=br0']
> # DomU settings
>
> memory = 512
>
> name = "alpine-a1"
>
> vcpus = 1
>
> maxvcpus = 1
> ================================================
>
> thanks a lot in advance
> Best regards
> Marco
>

--000000000000d0e08305dd13d6cb
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><p class=3D"MsoNormal">Hi=C2=A0 all,<u></u><u></u></p><div=
><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div><div><p class=3D"MsoN=
ormal">I did further attempts but I have always problems with disk backend =
setup during creation of domU domain.<u></u><u></u></p></div><div><p class=
=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div><div><p class=3D"MsoNormal">Th=
e latest attempt was using deban arm64 image with this configuration:<u></u=
><u></u></p></div><div><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div=
><div><p class=3D"MsoNormal">memory =3D 512<br>name =3D &quot;debian&quot;<=
br>vcpus =3D 1<br>maxvcpus =3D 1<u></u><u></u></p></div><div><p class=3D"Ms=
oNormal">kernel =3D &quot;/home/xen/vmlinuz&quot;<br>ramdisk =3D &quot;/hom=
e/xen/initrd.img&quot;<br>disk =3D [&quot;phy:/dev/loop0,xvda,rw&quot;]<br>=
extra =3D &quot;root=3D/dev/xvda rw console=3Dhvc0 earlyprintk=3Dxen&quot;<=
u></u><u></u></p></div><div><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>=
</div><div><p class=3D"MsoNormal">kernel and ramdisk boot up successfully a=
nd I can attach to the domU console, but when I try to define the disk back=
end with the debian rootfs the creation of the domain fails.<u></u><u></u><=
/p></div><div><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div><div><p =
class=3D"MsoNormal">rootfs is attached to loop device as follow:<u></u><u><=
/u></p></div><div><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div><div=
><p class=3D"MsoNormal">losetup /dev/loop0 /home/xen/rootfs.img<u></u><u></=
u></p></div><div><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div><div>=
<p class=3D"MsoNormal">I attached to this mail the verbose trace of the com=
mand xl create<u></u><u></u></p></div><div><p class=3D"MsoNormal"><u></u>=
=C2=A0<u></u></p></div><div><p class=3D"MsoNormal">Thanks a lot in advance =
for any kind of help<u></u></p></div><div><p class=3D"MsoNormal">Best Regar=
ds<u></u><u></u></p></div><div><p class=3D"MsoNormal">Marco</p></div></div>=
<br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">Il gio=
rno ven 15 apr 2022 alle ore 12:52 Marco Cacre &lt;<a href=3D"mailto:marco.=
cacre@gmail.com">marco.cacre@gmail.com</a>&gt; ha scritto:<br></div><blockq=
uote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1p=
x solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">Hi all,<br><br>=
I&#39;m facing two kind of problem trying to create a Xen guest domain on r=
ockpro64 (arm64).<br><br>I have successfully built uboot, xen (4.14.4) and =
dom0 linux kernel with xen tool stack, these two last starting from buildro=
ot (with linux kernel version 5.15.33 and xen toolstack version 4.14.4)<br>=
<br>These are the process of Xen:<br><br>177 root =C2=A0 =C2=A0/usr/sbin/xe=
nwatchdogd 30 15<br>203 root =C2=A0 =C2=A0/usr/sbin/xenstored --pid-file /v=
ar/run/xen/xenstored.pid<br>208 root =C2=A0 =C2=A0/usr/sbin/xenconsoled --p=
id-file=3D/var/run/xen/xenconsoled.pid<br>214 root =C2=A0 =C2=A0/usr/lib/xe=
n/bin/qemu-system-i386 -xen-domid 0 -xen-attach -name dom0 -nographic -M xe=
npv -daemonize -monitor /dev/null -serial/dev/nul -parallel/dev/null -pidfi=
le/var/run/xen/qemu-dom0.pid<br><br>and the drivers loaded as a module:<br>=
# lsmod<br>Module =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0Size =C2=A0Used by =C2=A0 =C2=A0Tainted: G <br>xen_netback =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A065536 =C2=A00<br>xen_blkback =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A049152 =C2=A00<br><br>Xen and dom0 Image boot up =
successfully, at the end:<br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D<br>&gt;xl list<br>Name =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ID =C2=A0Mem VCPUs State Time(s)<br>D=
omain-0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A00 =C2=A01024 =C2=
=A0 =C2=A02 =C2=A0 =C2=A0r----- =C2=A0 =C2=A04000.3<br><br># uname -a<br>Li=
nux rockpro64 5.15.33 #3 SMP PREEMPT Fri Apr 15 11:01:37 CEST 2022 aarch64 =
GNU/Linux<br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D<br><br>when I try to create a domU domain I have problem with dis=
k backend, I have made several attempts trying with different domU linux an=
d I always get the following error :<br><br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>Parsing config from ./alpine_xen=
_domu.config<br><br>libxl: error: libxl_aoutils.c:539:async_exec_timeout: k=
illing execution of /etc/xen/scripts/block add because of timeout<br>libxl:=
 error: libxl_create.c:1608:domcreate_launch_dm: Domain 2:unable to add dis=
k devices<br>libxl: error: libxl_aoutils.c:539:async_exec_timeout: killing =
execution of /etc/xen/scripts/block remove because of timeout<br>libxl: err=
or: libxl_domain.c:1182:libxl__destroy_domid: Domain 2:Non-existant domain<=
br>libxl: error: libxl_domain.c:1136:domain_destroy_callback: Domain 2:Unab=
le to destroy guest<br>libxl: error: libxl_domain.c:1063:domain_destroy_cb:=
 Domain 2:Destruction of domain failed<br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br><br>The last try was with alpine do=
mU linux with the following config:<br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br><br># Alpine Linux PV DomU<br># Kernel=
 paths for install<br>kernel =3D &quot;/home/xen/vmlinuz-virt&quot;<br>ramd=
isk =3D &quot;/home/xen/initramfs-virt&quot;<br>extra=3D&quot;modules=3Dloo=
p,squashfs console=3Dhvc0&quot;<br># Path to HDD and iso file<br>disk =3D [=
 &#39;format=3Draw, vdev=3Dxvda, access=3Dw, target=3D/data/a1.img&#39;,<br=
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 &#39;format=3Draw, vdev=3Dxvdc, access=3Dr, de=
vtype=3Dcdrom, target=3D/home/xen/alpine-virt-3.15.3-armv7.iso&#39; =C2=A0]=
<br># Network configuration =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 <br>vif =3D [&#39;bridge=3Dbr0&#39;] <br># DomU settin=
gs =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <=
br>memory =3D 512 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 <br>name =3D &quot;alpine-a1&quot; =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <br>vcpus =3D 1 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 <br>maxvcpus =3D 1<br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D<br><br>thanks a lot in advance<br>Best regards<=
br>Marco<br></div>
</blockquote></div>

--000000000000d0e08305dd13d6cb--
--000000000000d0e08505dd13d6cd
Content-Type: text/plain; charset="US-ASCII"; name="xl_create_trace.txt"
Content-Disposition: attachment; filename="xl_create_trace.txt"
Content-Transfer-Encoding: base64
Content-ID: <f_l27glc4y0>
X-Attachment-Id: f_l27glc4y0

IyB4bCAtdnZ2IGNyZWF0ZSAuL2xpbnV4LmNvbmZpZyAKUGFyc2luZyBjb25maWcgZnJvbSAuL2xp
bnV4LmNvbmZpZwpsaWJ4bDogZGVidWc6IGxpYnhsX2NyZWF0ZS5jOjIwMTc6ZG9fZG9tYWluX2Ny
ZWF0ZTogYW8gMHg1NWI3ODZlMjgwOiBjcmVhdGU6IGhvdz0obmlsKSBjYWxsYmFjaz0obmlsKSBw
b2xsZXI9MHg1NWI3ODZlM2QwCmxpYnhsOiBkZXRhaWw6IGxpYnhsX2NyZWF0ZS5jOjYyMjpsaWJ4
bF9fZG9tYWluX21ha2U6IHBhc3N0aHJvdWdoOiBkaXNhYmxlZApsaWJ4bDogZGVidWc6IGxpYnhs
X2FybS5jOjcxOmxpYnhsX19hcmNoX2RvbWFpbl9wcmVwYXJlX2NvbmZpZzogQ29uZmlndXJlIHRo
ZSBkb21haW4KbGlieGw6IGRlYnVnOiBsaWJ4bF9hcm0uYzo3NDpsaWJ4bF9fYXJjaF9kb21haW5f
cHJlcGFyZV9jb25maWc6ICAtIEFsbG9jYXRlIDAgU1BJcwpsaWJ4bDogZGVidWc6IGxpYnhsX2Rl
dmljZS5jOjM3OTpsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0X2JhY2tlbmQ6IERpc2sgdmRldj14dmRh
IHNwZWMuYmFja2VuZD11bmtub3duCmxpYnhsOiBkZWJ1ZzogbGlieGxfZGV2aWNlLmM6NDEzOmxp
YnhsX19kZXZpY2VfZGlza19zZXRfYmFja2VuZDogRGlzayB2ZGV2PXh2ZGEsIHVzaW5nIGJhY2tl
bmQgcGh5CmxpYnhsOiBkZWJ1ZzogbGlieGxfY3JlYXRlLmM6MTI3OTppbml0aWF0ZV9kb21haW5f
Y3JlYXRlOiBEb21haW4gNjpydW5uaW5nIGJvb3Rsb2FkZXIKbGlieGw6IGRlYnVnOiBsaWJ4bF9i
b290bG9hZGVyLmM6MzM0OmxpYnhsX19ib290bG9hZGVyX3J1bjogRG9tYWluIDY6bm8gYm9vdGxv
YWRlciBjb25maWd1cmVkLCB1c2luZyB1c2VyIHN1cHBsaWVkIGtlcm5lbApsaWJ4bDogZGVidWc6
IGxpYnhsX2V2ZW50LmM6ODY0OmxpYnhsX19ldl94c3dhdGNoX2RlcmVnaXN0ZXI6IHdhdGNoIHc9
MHg1NWI3ODZmYTU4OiBkZXJlZ2lzdGVyIHVucmVnaXN0ZXJlZApsaWJ4bDogZGVidWc6IGxpYnhs
X3NjaGVkLmM6ODE6bGlieGxfX3NldF92Y3B1YWZmaW5pdHk6IERvbWFpbiA2Ok5ldyBzb2Z0IGFm
ZmluaXR5IGZvciB2Y3B1IDAgaGFzIHVucmVhY2hhYmxlIGNwdXMKZG9tYWluYnVpbGRlcjogZGV0
YWlsOiB4Y19kb21fYWxsb2NhdGU6IGNtZGxpbmU9InJvb3Q9L2Rldi94dmRhIHJ3IGNvbnNvbGU9
aHZjMCBlYXJseXByaW50az14ZW4iLCBmZWF0dXJlcz0iIgpkb21haW5idWlsZGVyOiBkZXRhaWw6
IHhjX2RvbV9rZXJuZWxfZmlsZTogZmlsZW5hbWU9Ii9ob21lL3hlbi92bWxpbnV6Igpkb21haW5i
dWlsZGVyOiBkZXRhaWw6IHhjX2RvbV9tYWxsb2NfZmlsZW1hcCAgICA6IDI2ODg5IGtCCmRvbWFp
bmJ1aWxkZXI6IGRldGFpbDogeGNfZG9tX21vZHVsZV9maWxlOiBmaWxlbmFtZT0iL2hvbWUveGVu
L2luaXRyZC5pbWciCmRvbWFpbmJ1aWxkZXI6IGRldGFpbDogeGNfZG9tX21hbGxvY19maWxlbWFw
ICAgIDogNDAgTUIKZG9tYWluYnVpbGRlcjogZGV0YWlsOiB4Y19kb21fYm9vdF94ZW5faW5pdDog
dmVyIDQuMTQsIGNhcHMgeGVuLTMuMC1hYXJjaDY0IHhlbi0zLjAtYXJtdjdsIApkb21haW5idWls
ZGVyOiBkZXRhaWw6IHhjX2RvbV9yYW1iYXNlX2luaXQ6IFJBTSBzdGFydHMgYXQgNDAwMDAKZG9t
YWluYnVpbGRlcjogZGV0YWlsOiB4Y19kb21fcGFyc2VfaW1hZ2U6IGNhbGxlZApkb21haW5idWls
ZGVyOiBkZXRhaWw6IHhjX2RvbV9maW5kX2xvYWRlcjogdHJ5aW5nIG11bHRpYm9vdC1iaW5hcnkg
bG9hZGVyIC4uLiAKZG9tYWluYnVpbGRlcjogZGV0YWlsOiBsb2FkZXIgcHJvYmUgZmFpbGVkCmRv
bWFpbmJ1aWxkZXI6IGRldGFpbDogeGNfZG9tX2ZpbmRfbG9hZGVyOiB0cnlpbmcgTGludXggeklt
YWdlIChBUk02NCkgbG9hZGVyIC4uLiAKZG9tYWluYnVpbGRlcjogZGV0YWlsOiBsb2FkZXIgcHJv
YmUgT0sKZG9tYWluYnVpbGRlcjogZGV0YWlsOiB4Y19kb21fcGFyc2VfemltYWdlNjRfa2VybmVs
OiBjYWxsZWQKZG9tYWluYnVpbGRlcjogZGV0YWlsOiB4Y19kb21fcGFyc2VfemltYWdlNjRfa2Vy
bmVsOiB4ZW4tMy4wLWFhcmNoNjQ6IDB4NDAwMDAwMDAgLT4gMHg0MWE0Mjc4MApsaWJ4bDogZGVi
dWc6IGxpYnhsX2FybS5jOjg3MjpsaWJ4bF9fcHJlcGFyZV9kdGI6IGNvbnN0cnVjdGluZyBEVEIg
Zm9yIFhlbiB2ZXJzaW9uIDQuMTQgZ3Vlc3QKbGlieGw6IGRlYnVnOiBsaWJ4bF9hcm0uYzo4NzQ6
bGlieGxfX3ByZXBhcmVfZHRiOiAgLSB2R0lDIHZlcnNpb246IFYzCmxpYnhsOiBkZWJ1ZzogbGli
eGxfYXJtLmM6MzEyOm1ha2VfY2hvc2VuX25vZGU6IC9jaG9zZW4vYm9vdGFyZ3MgPSByb290PS9k
ZXYveHZkYSBydyBjb25zb2xlPWh2YzAgZWFybHlwcmludGs9eGVuCmxpYnhsOiBkZWJ1ZzogbGli
eGxfYXJtLmM6MzE5Om1ha2VfY2hvc2VuX25vZGU6IC9jaG9zZW4gYWRkaW5nIHBsYWNlaG9sZGVy
IGxpbnV4LGluaXRyZCBwcm9wZXJ0aWVzCmxpYnhsOiBkZWJ1ZzogbGlieGxfYXJtLmM6NDU5Om1h
a2VfbWVtb3J5X25vZGVzOiBDcmVhdGluZyBwbGFjZWhvbGRlciBub2RlIC9tZW1vcnlANDAwMDAw
MDAKbGlieGw6IGRlYnVnOiBsaWJ4bF9hcm0uYzo0NTk6bWFrZV9tZW1vcnlfbm9kZXM6IENyZWF0
aW5nIHBsYWNlaG9sZGVyIG5vZGUgL21lbW9yeUAyMDAwMDAwMDAKbGlieGw6IGRlYnVnOiBsaWJ4
bF9hcm0uYzo5NzU6bGlieGxfX3ByZXBhcmVfZHRiOiBmZHQgdG90YWwgc2l6ZSAxMzM4CmRvbWFp
bmJ1aWxkZXI6IGRldGFpbDogeGNfZG9tX2RldmljZXRyZWVfbWVtOiBjYWxsZWQKbGlieGw6IGRl
YnVnOiBsaWJ4bF9hcm0uYzoxMDIwOmxpYnhsX19hcmNoX2RvbWFpbl9pbml0X2h3X2Rlc2NyaXB0
aW9uOiBHZW5lcmF0aW5nIEFDUEkgdGFibGVzIGlzIGRpc2FibGVkIGJ5IHVzZXIuCmRvbWFpbmJ1
aWxkZXI6IGRldGFpbDogeGNfZG9tX21lbV9pbml0OiBtZW0gNTEyIE1CLCBwYWdlcyAweDIwMDAw
IHBhZ2VzLCA0ayBlYWNoCmRvbWFpbmJ1aWxkZXI6IGRldGFpbDogeGNfZG9tX21lbV9pbml0OiAw
eDIwMDAwIHBhZ2VzCmRvbWFpbmJ1aWxkZXI6IGRldGFpbDogeGNfZG9tX2Jvb3RfbWVtX2luaXQ6
IGNhbGxlZApkb21haW5idWlsZGVyOiBkZXRhaWw6IHNldF9tb2RlOiBndWVzdCB4ZW4tMy4wLWFh
cmNoNjQsIGFkZHJlc3Mgc2l6ZSA2NApkb21haW5idWlsZGVyOiBkZXRhaWw6IHBvcHVsYXRlX2d1
ZXN0X21lbW9yeTogcG9wdWxhdGluZyBSQU0gQCAwMDAwMDAwMDQwMDAwMDAwLTAwMDAwMDAwNjAw
MDAwMDAgKDUxMk1CKQpkb21haW5idWlsZGVyOiBkZXRhaWw6IHBvcHVsYXRlX29uZV9zaXplOiBw
b3B1bGF0ZWQgMHgxMDAvMHgxMDAgZW50cmllcyB3aXRoIHNoaWZ0IDkKZG9tYWluYnVpbGRlcjog
ZGV0YWlsOiBtZW1pbml0OiBwbGFjaW5nIGJvb3QgbW9kdWxlcyBhdCAweDQ4MDAwMDAwCmRvbWFp
bmJ1aWxkZXI6IGRldGFpbDogbWVtaW5pdDogcmFtZGlzazogMHg0ODAwMDAwMCAtPiAweDRhODFm
MDAwCmRvbWFpbmJ1aWxkZXI6IGRldGFpbDogbWVtaW5pdDogZGV2aWNldHJlZTogMHg0YTgxZjAw
MCAtPiAweDRhODIwMDAwCmxpYnhsOiBkZWJ1ZzogbGlieGxfYXJtLmM6MTA4NzpsaWJ4bF9fYXJj
aF9kb21haW5fZmluYWxpc2VfaHdfZGVzY3JpcHRpb246IC9jaG9zZW4gdXBkYXRpbmcgaW5pdHJk
IHByb3BlcnRpZXMgdG8gY292ZXIgNDgwMDAwMDAtNGE4MWYwMDAKbGlieGw6IGRlYnVnOiBsaWJ4
bF9hcm0uYzoxMDU0OmZpbmFsaXNlX29uZV9ub2RlOiBQb3B1bGF0aW5nIHBsYWNlaG9sZGVyIG5v
ZGUgL21lbW9yeUA0MDAwMDAwMApsaWJ4bDogZGVidWc6IGxpYnhsX2FybS5jOjEwNDg6ZmluYWxp
c2Vfb25lX25vZGU6IE5vcHBpbmcgb3V0IHBsYWNlaG9sZGVyIG5vZGUgL21lbW9yeUAyMDAwMDAw
MDAKZG9tYWluYnVpbGRlcjogZGV0YWlsOiB4Y19kb21fYnVpbGRfaW1hZ2U6IGNhbGxlZApkb21h
aW5idWlsZGVyOiBkZXRhaWw6IHhjX2RvbV9tYWxsb2MgICAgICAgICAgICA6IDE1NyBrQgpkb21h
aW5idWlsZGVyOiBkZXRhaWw6IHhjX2RvbV9wZm5fdG9fcHRyX3JldGNvdW50OiBkb21VIG1hcHBp
bmc6IHBmbiAweDQwMDAwKzB4MWE0MyBhdCAweDdmYTA3M2MwMDAKZG9tYWluYnVpbGRlcjogZGV0
YWlsOiB4Y19kb21fYWxsb2Nfc2VnbWVudDogICBrZXJuZWwgICAgICAgOiAweDQwMDAwMDAwIC0+
IDB4NDFhNDMwMDAgIChwZm4gMHg0MDAwMCArIDB4MWE0MyBwYWdlcykKZG9tYWluYnVpbGRlcjog
ZGV0YWlsOiB4Y19kb21fbG9hZF96aW1hZ2Vfa2VybmVsOiBjYWxsZWQKZG9tYWluYnVpbGRlcjog
ZGV0YWlsOiB4Y19kb21fbG9hZF96aW1hZ2Vfa2VybmVsOiBrZXJuZWwgc2VnIDB4NDAwMDAwMDAt
MHg0MWE0MzAwMApkb21haW5idWlsZGVyOiBkZXRhaWw6IHhjX2RvbV9sb2FkX3ppbWFnZV9rZXJu
ZWw6IGNvcHkgMjc1MzUyMzIgYnl0ZXMgZnJvbSBibG9iIDB4N2ZhNDk5ZTAwMCB0byBkc3QgMHg3
ZmEwNzNjMDAwCmRvbWFpbmJ1aWxkZXI6IGRldGFpbDogeGNfZG9tX21hbGxvYyAgICAgICAgICAg
IDogMjQwIGtCCmRvbWFpbmJ1aWxkZXI6IGRldGFpbDogeGNfZG9tX3Bmbl90b19wdHJfcmV0Y291
bnQ6IGRvbVUgbWFwcGluZzogcGZuIDB4NDgwMDArMHgyODFmIGF0IDB4N2Y5ZGYxZDAwMApkb21h
aW5idWlsZGVyOiBkZXRhaWw6IHhjX2RvbV9hbGxvY19zZWdtZW50OiAgIG1vZHVsZTAgICAgICA6
IDB4NDgwMDAwMDAgLT4gMHg0YTgxZjAwMCAgKHBmbiAweDQ4MDAwICsgMHgyODFmIHBhZ2VzKQpk
b21haW5idWlsZGVyOiBkZXRhaWw6IHhjX2RvbV9wZm5fdG9fcHRyX3JldGNvdW50OiBkb21VIG1h
cHBpbmc6IHBmbiAweDRhODFmKzB4MSBhdCAweDdmYTY3MTUwMDAKZG9tYWluYnVpbGRlcjogZGV0
YWlsOiB4Y19kb21fYWxsb2Nfc2VnbWVudDogICBkZXZpY2V0cmVlICAgOiAweDRhODFmMDAwIC0+
IDB4NGE4MjAwMDAgIChwZm4gMHg0YTgxZiArIDB4MSBwYWdlcykKZG9tYWluYnVpbGRlcjogZGV0
YWlsOiBhbGxvY19tYWdpY19wYWdlczogY2FsbGVkCmRvbWFpbmJ1aWxkZXI6IGRldGFpbDogeGNf
ZG9tX2J1aWxkX2ltYWdlICA6IHZpcnRfYWxsb2NfZW5kIDogMHg0YTgyMDAwMApkb21haW5idWls
ZGVyOiBkZXRhaWw6IHhjX2RvbV9idWlsZF9pbWFnZSAgOiB2aXJ0X3BndGFiX2VuZCA6IDB4MApk
b21haW5idWlsZGVyOiBkZXRhaWw6IHhjX2RvbV9ib290X2ltYWdlOiBjYWxsZWQKZG9tYWluYnVp
bGRlcjogZGV0YWlsOiBib290ZWFybHk6IGRvaW5nIG5vdGhpbmcKZG9tYWluYnVpbGRlcjogZGV0
YWlsOiB4Y19kb21fY29tcGF0X2NoZWNrOiBzdXBwb3J0ZWQgZ3Vlc3QgdHlwZTogeGVuLTMuMC1h
YXJjaDY0IDw9IG1hdGNoZXMKZG9tYWluYnVpbGRlcjogZGV0YWlsOiB4Y19kb21fY29tcGF0X2No
ZWNrOiBzdXBwb3J0ZWQgZ3Vlc3QgdHlwZTogeGVuLTMuMC1hcm12N2wKZG9tYWluYnVpbGRlcjog
ZGV0YWlsOiBzdGFydF9pbmZvX2FybTogY2FsbGVkCmRvbWFpbmJ1aWxkZXI6IGRldGFpbDogZG9t
YWluIGJ1aWxkZXIgbWVtb3J5IGZvb3RwcmludApkb21haW5idWlsZGVyOiBkZXRhaWw6ICAgIGFs
bG9jYXRlZApkb21haW5idWlsZGVyOiBkZXRhaWw6ICAgICAgIG1hbGxvYyAgICAgICAgICAgICA6
IDQwMSBrQgpkb21haW5idWlsZGVyOiBkZXRhaWw6ICAgICAgIGFub24gbW1hcCAgICAgICAgICA6
IDAgYnl0ZXMKZG9tYWluYnVpbGRlcjogZGV0YWlsOiAgICBtYXBwZWQKZG9tYWluYnVpbGRlcjog
ZGV0YWlsOiAgICAgICBmaWxlIG1tYXAgICAgICAgICAgOiA2NiBNQgpkb21haW5idWlsZGVyOiBk
ZXRhaWw6ICAgICAgIGRvbVUgbW1hcCAgICAgICAgICA6IDY2IE1CCmRvbWFpbmJ1aWxkZXI6IGRl
dGFpbDogdmNwdV9hcm02NDogY2FsbGVkCmRvbWFpbmJ1aWxkZXI6IGRldGFpbDogRFRCIDRhODFm
MDAwCmRvbWFpbmJ1aWxkZXI6IGRldGFpbDogSW5pdGlhbCBzdGF0ZSBDUFNSIDB4MWM1IFBDIDB4
NDAwMDAwMDAKZG9tYWluYnVpbGRlcjogZGV0YWlsOiBjb21wYXRfZ250dGFiX2h2bV9zZWVkOiBk
NjogcGZuPTB4MzgwMDAKZG9tYWluYnVpbGRlcjogZGV0YWlsOiB4Y19kb21fc2V0X2dudHRhYl9l
bnRyeTogZDYgZ250WzBdIC0+IGQwIDB4MzkwMDAKZG9tYWluYnVpbGRlcjogZGV0YWlsOiB4Y19k
b21fc2V0X2dudHRhYl9lbnRyeTogZDYgZ250WzFdIC0+IGQwIDB4MzkwMDEKZG9tYWluYnVpbGRl
cjogZGV0YWlsOiB4Y19kb21fcmVsZWFzZTogY2FsbGVkCmxpYnhsOiBkZWJ1ZzogbGlieGxfZGV2
aWNlLmM6Mzc5OmxpYnhsX19kZXZpY2VfZGlza19zZXRfYmFja2VuZDogRGlzayB2ZGV2PXh2ZGEg
c3BlYy5iYWNrZW5kPXBoeQpsaWJ4bDogZGVidWc6IGxpYnhsX2V2ZW50LmM6ODEzOmxpYnhsX19l
dl94c3dhdGNoX3JlZ2lzdGVyOiB3YXRjaCB3PTB4NTViNzg3NDA1MCB3cGF0aD0vbG9jYWwvZG9t
YWluLzAvYmFja2VuZC92YmQvNi81MTcxMi9zdGF0ZSB0b2tlbj0zLzA6IHJlZ2lzdGVyIHNsb3Ru
dW09MwpsaWJ4bDogZGVidWc6IGxpYnhsX2NyZWF0ZS5jOjIwNTU6ZG9fZG9tYWluX2NyZWF0ZTog
YW8gMHg1NWI3ODZlMjgwOiBpbnByb2dyZXNzOiBwb2xsZXI9MHg1NWI3ODZlM2QwLCBmbGFncz1p
CmxpYnhsOiBkZWJ1ZzogbGlieGxfZXZlbnQuYzo3NTA6d2F0Y2hmZF9jYWxsYmFjazogd2F0Y2gg
dz0weDU1Yjc4NzQwNTAgd3BhdGg9L2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQvdmJkLzYvNTE3MTIv
c3RhdGUgdG9rZW49My8wOiBldmVudCBlcGF0aD0vbG9jYWwvZG9tYWluLzAvYmFja2VuZC92YmQv
Ni81MTcxMi9zdGF0ZQpsaWJ4bDogZGVidWc6IGxpYnhsX2V2ZW50LmM6MTA1MjpkZXZzdGF0ZV9j
YWxsYmFjazogYmFja2VuZCAvbG9jYWwvZG9tYWluLzAvYmFja2VuZC92YmQvNi81MTcxMi9zdGF0
ZSB3YW50ZWQgc3RhdGUgMiBvawpsaWJ4bDogZGVidWc6IGxpYnhsX2V2ZW50LmM6ODUwOmxpYnhs
X19ldl94c3dhdGNoX2RlcmVnaXN0ZXI6IHdhdGNoIHc9MHg1NWI3ODc0MDUwIHdwYXRoPS9sb2Nh
bC9kb21haW4vMC9iYWNrZW5kL3ZiZC82LzUxNzEyL3N0YXRlIHRva2VuPTMvMDogZGVyZWdpc3Rl
ciBzbG90bnVtPTMKbGlieGw6IGRlYnVnOiBsaWJ4bF9kZXZpY2UuYzoxMDkwOmRldmljZV9iYWNr
ZW5kX2NhbGxiYWNrOiBEb21haW4gNjpjYWxsaW5nIGRldmljZV9iYWNrZW5kX2NsZWFudXAKbGli
eGw6IGRlYnVnOiBsaWJ4bF9ldmVudC5jOjg2NDpsaWJ4bF9fZXZfeHN3YXRjaF9kZXJlZ2lzdGVy
OiB3YXRjaCB3PTB4NTViNzg3NDA1MDogZGVyZWdpc3RlciB1bnJlZ2lzdGVyZWQKbGlieGw6IGRl
YnVnOiBsaWJ4bF9saW51eC5jOjE5NDpsaWJ4bF9faG90cGx1Z19kaXNrOiBEb21haW4gNjpBcmdz
IGFuZCBlbnZpcm9ubWVudCByZWFkeQpsaWJ4bDogZGVidWc6IGxpYnhsX2RldmljZS5jOjExOTE6
ZGV2aWNlX2hvdHBsdWc6IERvbWFpbiA2OmNhbGxpbmcgaG90cGx1ZyBzY3JpcHQ6IC9ldGMveGVu
L3NjcmlwdHMvYmxvY2sgYWRkCmxpYnhsOiBkZWJ1ZzogbGlieGxfZGV2aWNlLmM6MTE5MjpkZXZp
Y2VfaG90cGx1ZzogRG9tYWluIDY6ZXh0cmEgYXJnczoKbGlieGw6IGRlYnVnOiBsaWJ4bF9kZXZp
Y2UuYzoxMjAwOmRldmljZV9ob3RwbHVnOiBEb21haW4gNjplbnY6CmxpYnhsOiBkZWJ1ZzogbGli
eGxfZGV2aWNlLmM6MTIwNzpkZXZpY2VfaG90cGx1ZzogRG9tYWluIDY6CXNjcmlwdDogL2V0Yy94
ZW4vc2NyaXB0cy9ibG9jawpsaWJ4bDogZGVidWc6IGxpYnhsX2RldmljZS5jOjEyMDc6ZGV2aWNl
X2hvdHBsdWc6IERvbWFpbiA2OglYRU5CVVNfVFlQRTogdmJkCmxpYnhsOiBkZWJ1ZzogbGlieGxf
ZGV2aWNlLmM6MTIwNzpkZXZpY2VfaG90cGx1ZzogRG9tYWluIDY6CVhFTkJVU19QQVRIOiBiYWNr
ZW5kL3ZiZC82LzUxNzEyCmxpYnhsOiBkZWJ1ZzogbGlieGxfZGV2aWNlLmM6MTIwNzpkZXZpY2Vf
aG90cGx1ZzogRG9tYWluIDY6CVhFTkJVU19CQVNFX1BBVEg6IGJhY2tlbmQKbGlieGw6IGRlYnVn
OiBsaWJ4bF9hb3V0aWxzLmM6NTkzOmxpYnhsX19hc3luY19leGVjX3N0YXJ0OiBmb3JraW5nIHRv
IGV4ZWN1dGU6IC9ldGMveGVuL3NjcmlwdHMvYmxvY2sgYWRkIApsaWJ4bDogZGVidWc6IGxpYnhs
X2V2ZW50LmM6NzIwOndhdGNoZmRfY2FsbGJhY2s6IHdhdGNoIGVwYXRoPS9sb2NhbC9kb21haW4v
MC9iYWNrZW5kL3ZiZC82LzUxNzEyL3N0YXRlIHRva2VuPTMvMDogZW1wdHkgc2xvdApsaWJ4bDog
ZXJyb3I6IGxpYnhsX2FvdXRpbHMuYzo1Mzk6YXN5bmNfZXhlY190aW1lb3V0OiBraWxsaW5nIGV4
ZWN1dGlvbiBvZiAvZXRjL3hlbi9zY3JpcHRzL2Jsb2NrIGFkZCBiZWNhdXNlIG9mIHRpbWVvdXQK
bGlieGw6IGRlYnVnOiBsaWJ4bF9ldmVudC5jOjg2NDpsaWJ4bF9fZXZfeHN3YXRjaF9kZXJlZ2lz
dGVyOiB3YXRjaCB3PTB4NTViNzg3NDE1MDogZGVyZWdpc3RlciB1bnJlZ2lzdGVyZWQKbGlieGw6
IGRlYnVnOiBsaWJ4bF9ldmVudC5jOjg2NDpsaWJ4bF9fZXZfeHN3YXRjaF9kZXJlZ2lzdGVyOiB3
YXRjaCB3PTB4NTViNzg3NDE1MDogZGVyZWdpc3RlciB1bnJlZ2lzdGVyZWQKbGlieGw6IGVycm9y
OiBsaWJ4bF9jcmVhdGUuYzoxNjA4OmRvbWNyZWF0ZV9sYXVuY2hfZG06IERvbWFpbiA2OnVuYWJs
ZSB0byBhZGQgZGlzayBkZXZpY2VzCmxpYnhsOiBkZWJ1ZzogbGlieGxfZXZlbnQuYzo4NjQ6bGli
eGxfX2V2X3hzd2F0Y2hfZGVyZWdpc3Rlcjogd2F0Y2ggdz0weDU1Yjc4NzE0MDg6IGRlcmVnaXN0
ZXIgdW5yZWdpc3RlcmVkCmxpYnhsOiBkZWJ1ZzogbGlieGxfZXZlbnQuYzo4MTM6bGlieGxfX2V2
X3hzd2F0Y2hfcmVnaXN0ZXI6IHdhdGNoIHc9MHg1NWI3ODcyMTAwIHdwYXRoPS9sb2NhbC9kb21h
aW4vMC9iYWNrZW5kL3ZiZC82LzUxNzEyL3N0YXRlIHRva2VuPTMvMTogcmVnaXN0ZXIgc2xvdG51
bT0zCmxpYnhsOiBkZWJ1ZzogbGlieGxfZXZlbnQuYzo3NTA6d2F0Y2hmZF9jYWxsYmFjazogd2F0
Y2ggdz0weDU1Yjc4NzIxMDAgd3BhdGg9L2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQvdmJkLzYvNTE3
MTIvc3RhdGUgdG9rZW49My8xOiBldmVudCBlcGF0aD0vbG9jYWwvZG9tYWluLzAvYmFja2VuZC92
YmQvNi81MTcxMi9zdGF0ZQpsaWJ4bDogZGVidWc6IGxpYnhsX2V2ZW50LmM6MTA1MjpkZXZzdGF0
ZV9jYWxsYmFjazogYmFja2VuZCAvbG9jYWwvZG9tYWluLzAvYmFja2VuZC92YmQvNi81MTcxMi9z
dGF0ZSB3YW50ZWQgc3RhdGUgNiBvawpsaWJ4bDogZGVidWc6IGxpYnhsX2V2ZW50LmM6ODUwOmxp
YnhsX19ldl94c3dhdGNoX2RlcmVnaXN0ZXI6IHdhdGNoIHc9MHg1NWI3ODcyMTAwIHdwYXRoPS9s
b2NhbC9kb21haW4vMC9iYWNrZW5kL3ZiZC82LzUxNzEyL3N0YXRlIHRva2VuPTMvMTogZGVyZWdp
c3RlciBzbG90bnVtPTMKbGlieGw6IGRlYnVnOiBsaWJ4bF9kZXZpY2UuYzoxMDkwOmRldmljZV9i
YWNrZW5kX2NhbGxiYWNrOiBEb21haW4gNjpjYWxsaW5nIGRldmljZV9iYWNrZW5kX2NsZWFudXAK
bGlieGw6IGRlYnVnOiBsaWJ4bF9ldmVudC5jOjg2NDpsaWJ4bF9fZXZfeHN3YXRjaF9kZXJlZ2lz
dGVyOiB3YXRjaCB3PTB4NTViNzg3MjEwMDogZGVyZWdpc3RlciB1bnJlZ2lzdGVyZWQKbGlieGw6
IGRlYnVnOiBsaWJ4bF9saW51eC5jOjE5NDpsaWJ4bF9faG90cGx1Z19kaXNrOiBEb21haW4gNjpB
cmdzIGFuZCBlbnZpcm9ubWVudCByZWFkeQpsaWJ4bDogZGVidWc6IGxpYnhsX2RldmljZS5jOjEx
OTE6ZGV2aWNlX2hvdHBsdWc6IERvbWFpbiA2OmNhbGxpbmcgaG90cGx1ZyBzY3JpcHQ6IC9ldGMv
eGVuL3NjcmlwdHMvYmxvY2sgcmVtb3ZlCmxpYnhsOiBkZWJ1ZzogbGlieGxfZGV2aWNlLmM6MTE5
MjpkZXZpY2VfaG90cGx1ZzogRG9tYWluIDY6ZXh0cmEgYXJnczoKbGlieGw6IGRlYnVnOiBsaWJ4
bF9kZXZpY2UuYzoxMjAwOmRldmljZV9ob3RwbHVnOiBEb21haW4gNjplbnY6CmxpYnhsOiBkZWJ1
ZzogbGlieGxfZGV2aWNlLmM6MTIwNzpkZXZpY2VfaG90cGx1ZzogRG9tYWluIDY6CXNjcmlwdDog
L2V0Yy94ZW4vc2NyaXB0cy9ibG9jawpsaWJ4bDogZGVidWc6IGxpYnhsX2RldmljZS5jOjEyMDc6
ZGV2aWNlX2hvdHBsdWc6IERvbWFpbiA2OglYRU5CVVNfVFlQRTogdmJkCmxpYnhsOiBkZWJ1Zzog
bGlieGxfZGV2aWNlLmM6MTIwNzpkZXZpY2VfaG90cGx1ZzogRG9tYWluIDY6CVhFTkJVU19QQVRI
OiBiYWNrZW5kL3ZiZC82LzUxNzEyCmxpYnhsOiBkZWJ1ZzogbGlieGxfZGV2aWNlLmM6MTIwNzpk
ZXZpY2VfaG90cGx1ZzogRG9tYWluIDY6CVhFTkJVU19CQVNFX1BBVEg6IGJhY2tlbmQKbGlieGw6
IGRlYnVnOiBsaWJ4bF9hb3V0aWxzLmM6NTkzOmxpYnhsX19hc3luY19leGVjX3N0YXJ0OiBmb3Jr
aW5nIHRvIGV4ZWN1dGU6IC9ldGMveGVuL3NjcmlwdHMvYmxvY2sgcmVtb3ZlIApsaWJ4bDogZGVi
dWc6IGxpYnhsX2V2ZW50LmM6ODY0OmxpYnhsX19ldl94c3dhdGNoX2RlcmVnaXN0ZXI6IHdhdGNo
IHc9MHg1NWI3ODcyMjAwOiBkZXJlZ2lzdGVyIHVucmVnaXN0ZXJlZApsaWJ4bDogZGVidWc6IGxp
YnhsX2xpbnV4LmM6MjExOmxpYnhsX19nZXRfaG90cGx1Z19zY3JpcHRfaW5mbzogRG9tYWluIDY6
bnVtX2V4ZWMgMSwgbm90IHJ1bm5pbmcgaG90cGx1ZyBzY3JpcHRzCmxpYnhsOiBkZWJ1ZzogbGli
eGxfZGV2aWNlLmM6MTE3NjpkZXZpY2VfaG90cGx1ZzogRG9tYWluIDY6Tm8gaG90cGx1ZyBzY3Jp
cHQgdG8gZXhlY3V0ZQpsaWJ4bDogZGVidWc6IGxpYnhsX2V2ZW50LmM6ODY0OmxpYnhsX19ldl94
c3dhdGNoX2RlcmVnaXN0ZXI6IHdhdGNoIHc9MHg1NWI3ODcyMjAwOiBkZXJlZ2lzdGVyIHVucmVn
aXN0ZXJlZApsaWJ4bDogZGVidWc6IGxpYnhsX2RvbWFpbi5jOjE1OTY6ZGV2aWNlc19kZXN0cm95
X2NiOiBEb21haW4gNjpGb3JrZWQgcGlkIDI0MTQ1IGZvciBkZXN0cm95IG9mIGRvbWFpbgpsaWJ4
bDogZGVidWc6IGxpYnhsX2V2ZW50LmM6MjA2NjpsaWJ4bF9fYW9fY29tcGxldGU6IGFvIDB4NTVi
Nzg2ZTI4MDogY29tcGxldGUsIHJjPS0zCmxpYnhsOiBkZWJ1ZzogbGlieGxfZXZlbnQuYzoyMDM1
OmxpYnhsX19hb19fZGVzdHJveTogYW8gMHg1NWI3ODZlMjgwOiBkZXN0cm95CmxpYnhsOiBkZWJ1
ZzogbGlieGxfZG9tYWluLmM6MTA0NTpsaWJ4bF9kb21haW5fZGVzdHJveTogRG9tYWluIDY6YW8g
MHg1NWI3ODZlMjgwOiBjcmVhdGU6IGhvdz0obmlsKSBjYWxsYmFjaz0obmlsKSBwb2xsZXI9MHg1
NWI3ODZlM2QwCmxpYnhsOiBlcnJvcjogbGlieGxfZG9tYWluLmM6MTE4MjpsaWJ4bF9fZGVzdHJv
eV9kb21pZDogRG9tYWluIDY6Tm9uLWV4aXN0YW50IGRvbWFpbgpsaWJ4bDogZXJyb3I6IGxpYnhs
X2RvbWFpbi5jOjExMzY6ZG9tYWluX2Rlc3Ryb3lfY2FsbGJhY2s6IERvbWFpbiA2OlVuYWJsZSB0
byBkZXN0cm95IGd1ZXN0CmxpYnhsOiBlcnJvcjogbGlieGxfZG9tYWluLmM6MTA2Mzpkb21haW5f
ZGVzdHJveV9jYjogRG9tYWluIDY6RGVzdHJ1Y3Rpb24gb2YgZG9tYWluIGZhaWxlZApsaWJ4bDog
ZGVidWc6IGxpYnhsX2V2ZW50LmM6MjA2NjpsaWJ4bF9fYW9fY29tcGxldGU6IGFvIDB4NTViNzg2
ZTI4MDogY29tcGxldGUsIHJjPS0yMQpsaWJ4bDogZGVidWc6IGxpYnhsX2RvbWFpbi5jOjEwNTQ6
bGlieGxfZG9tYWluX2Rlc3Ryb3k6IERvbWFpbiA2OmFvIDB4NTViNzg2ZTI4MDogaW5wcm9ncmVz
czogcG9sbGVyPTB4NTViNzg2ZTNkMCwgZmxhZ3M9aWMKbGlieGw6IGRlYnVnOiBsaWJ4bF9ldmVu
dC5jOjIwMzU6bGlieGxfX2FvX19kZXN0cm95OiBhbyAweDU1Yjc4NmUyODA6IGRlc3Ryb3kKeGVu
Y2FsbDpidWZmZXI6IGRlYnVnOiB0b3RhbCBhbGxvY2F0aW9uczoxMTcgdG90YWwgcmVsZWFzZXM6
MTE3CnhlbmNhbGw6YnVmZmVyOiBkZWJ1ZzogY3VycmVudCBhbGxvY2F0aW9uczowIG1heGltdW0g
YWxsb2NhdGlvbnM6Mwp4ZW5jYWxsOmJ1ZmZlcjogZGVidWc6IGNhY2hlIGN1cnJlbnQgc2l6ZToz
CnhlbmNhbGw6YnVmZmVyOiBkZWJ1ZzogY2FjaGUgaGl0czoxMDIgbWlzc2VzOjMgdG9vYmlnOjEy
CnhlbmNhbGw6YnVmZmVyOiBkZWJ1ZzogdG90YWwgYWxsb2NhdGlvbnM6MCB0b3RhbCByZWxlYXNl
czowCnhlbmNhbGw6YnVmZmVyOiBkZWJ1ZzogY3VycmVudCBhbGxvY2F0aW9uczowIG1heGltdW0g
YWxsb2NhdGlvbnM6MAp4ZW5jYWxsOmJ1ZmZlcjogZGVidWc6IGNhY2hlIGN1cnJlbnQgc2l6ZTow
CnhlbmNhbGw6YnVmZmVyOiBkZWJ1ZzogY2FjaGUgaGl0czowIG1pc3NlczowIHRvb2JpZzowCg==
--000000000000d0e08505dd13d6cd--


From xen-users-bounces@lists.xenproject.org Wed Apr 20 11:09:42 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 20 Apr 2022 11:09:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.309140.525177 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nh8DF-0003xb-Fz; Wed, 20 Apr 2022 11:09:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 309140.525177; Wed, 20 Apr 2022 11:09:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nh8DF-0003xT-Cx; Wed, 20 Apr 2022 11:09:33 +0000
Received: by outflank-mailman (input) for mailman id 309140;
 Wed, 20 Apr 2022 11:09:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Rx8o=U6=syndicat.com=nd@srs-se1.protection.inumbo.net>)
 id 1nh8DD-0003xN-P4
 for xen-users@lists.xenproject.org; Wed, 20 Apr 2022 11:09:32 +0000
Received: from mail.syndicat.com (mail.syndicat.com [62.146.89.62])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 599c2085-c09a-11ec-a405-831a346695d4;
 Wed, 20 Apr 2022 13:09:30 +0200 (CEST)
Received: from localhost.syndicat.com ([127.0.0.1]:59713 helo=localhost)
 by mail.syndicat.com with esmtp (Syndicat PostHamster 11.1 4.94)
 (envelope-from <nd@syndicat.com>) id 1nh8DB-0000BH-Ud
 for xen-users@lists.xenproject.org; Wed, 20 Apr 2022 13:09:29 +0200
Received: from mail.syndicat.com ([127.0.0.1])
 by localhost (mail.syndicat.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 8-O9dedqy4mo for <xen-users@lists.xenproject.org>;
 Wed, 20 Apr 2022 13:09:29 +0200 (CEST)
Received: from pd9ebb435.dip0.t-ipconnect.de ([217.235.180.53]:39846
 helo=gongov.localnet)
 by mail.syndicat.com with esmtpsa  (TLS1.3) tls TLS_AES_256_GCM_SHA384
 (Syndicat PostHamster 11.1 4.94) (envelope-from <nd@syndicat.com>)
 id 1nh8DB-0004Na-GD
 for xen-users@lists.xenproject.org; Wed, 20 Apr 2022 13:09:29 +0200
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 599c2085-c09a-11ec-a405-831a346695d4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=syndicat.com; s=x; h=Content-Type:Content-Transfer-Encoding:MIME-Version:
	References:In-Reply-To:Message-ID:Date:Subject:To:From:Sender:Reply-To:Cc:
	Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
	Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
	List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=2LjO3AJigoLPe5PmEabC2ZhhWz2Mh7R28Y8bEt+j4f8=; b=EfSGvVSk9GvbVs0cXNqKDjoB6H
	H4XCD9wWFFg+tEOlJYvgWqPskU+MgE9NnnqW6VbUYUXCUwGfkIRCldM8bj8OIN43wENSezVEu2P71
	wblgS2X9jkiJHMyLnX2kiBYCK9dbJZN76dXdaREn1cUmndg269jv7VTYPlE3eMwpELJA=;
X-Virus-Scanned: amavisd-new at syndicat.com
From: Niels Dettenbach <nd@syndicat.com>
To: xen-users@lists.xenproject.org
Subject: Re: Problem creating domU guest on arm64
Date: Wed, 20 Apr 2022 13:01:16 +0200
Message-ID: <2047124.BFZWjSADLM@gongov>
Organization: Syndicat IT&Internet
Disposition-Notification-To: Niels Dettenbach <nd@syndicat.com>
In-Reply-To: <CAGHctbYVJ88dvkC0PEwA0zLqVd37KPpghApa7=c7-Ned0RvTkQ@mail.gmail.com>
References: <CAGHctbaYqjCYrSQjavvf+9TdYBKkDcvgPSoEjVYmenD2FWgerA@mail.gmail.com> <CAGHctbYVJ88dvkC0PEwA0zLqVd37KPpghApa7=c7-Ned0RvTkQ@mail.gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
X-Report-Abuse-To: abuse@syndicat.com (see https://www.syndicat.com/kontakt/kontakte/)
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - mail.syndicat.com
X-AntiAbuse: Original Domain - lists.xenproject.org
X-AntiAbuse: Sender Address Domain - syndicat.com

Am Mittwoch, 20. April 2022, 12:55:50 CEST schrieb Marco Cacre:
> disk = ["phy:/dev/loop0,xvda,rw"]
why not using an xen tap / aio to connect the disk image file - i.e.:

disk = ['tap:aio:/xen/XenGuest1.img,xvda1,w', 'tap:aio:/xen/XenGuest1.swap,xvda2,w']

https://www.virtuatopia.com/index.php?title=Building_a_Xen_Virtual_Guest_Filesystem_on_a_Disk_Image_(Cloning_Host_System)


best regards,


niels.

-- 
 ---
 Niels Dettenbach
 Syndicat IT & Internet
 https://www.syndicat.com
 PGP: https://syndicat.com/pub_key.asc
 ---
 








From xen-users-bounces@lists.xenproject.org Mon Apr 25 15:39:33 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 25 Apr 2022 15:39:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.312275.530577 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nj0nV-00023h-RO; Mon, 25 Apr 2022 15:38:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 312275.530577; Mon, 25 Apr 2022 15:38:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nj0nV-00023Z-O7; Mon, 25 Apr 2022 15:38:45 +0000
Received: by outflank-mailman (input) for mailman id 312275;
 Sun, 24 Apr 2022 23:00:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mTfp=VC=yahoo.com=brenthowie133@srs-se1.protection.inumbo.net>)
 id 1nilDd-0006P2-Mx
 for xen-users@lists.xenproject.org; Sun, 24 Apr 2022 23:00:41 +0000
Received: from sonic306-48.consmr.mail.gq1.yahoo.com
 (sonic306-48.consmr.mail.gq1.yahoo.com [98.137.68.111])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 59e87cae-c422-11ec-8fc2-03012f2f19d4;
 Mon, 25 Apr 2022 01:00:39 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic306.consmr.mail.gq1.yahoo.com with HTTP; Sun, 24 Apr 2022 23:00:35 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 59e87cae-c422-11ec-8fc2-03012f2f19d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1650841235; bh=CI2cSSrPDEkyofJdsps8NNC0lGGHKq+Nrx2046pVEJs=; h=Date:From:To:Subject:References:From:Subject:Reply-To; b=mjmQQ27zRTtU7E8ItJtm+f15mmLyE7VrQdUxH5ERp+Z3nZmCMB5n7XKMrni0KQP9xq1cBIJ7f8jUqlH2DWcgnlFITGnlObNxG8iSMQVlJxEB+oVrfGoKOSszuUqhs7ocg7fj3iMTxeTi2TMJ2rsYV1BgxmZ5cys3ACKY331VJVCccrZz5s77vLWcZ17drXeZGVyzdNuXp04bTedVGyppuUyGuSuZnW7xWplCjAd9OTzvJvZmhmEVPS+co/RdAthpZ4LIvI5/pUZltcXCYCZl4uIGsXCC7pzufmNLfTQjPgB98lSrepgRLQxaJ/IzNEVmdoeRdj3W/a/tDmB3bxuerQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1650841235; bh=6IR/SyswJhBOTm4GGoRknCyi88CrFUbPO8Nr1iIlr7P=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=TiPsdt5vzFOR4oNrrFupX/IPUmVY9s47lDSibfvJROSzs+LAuOJfBoQhtITOrtZE2/RZy9Xgq9lMuZRzfdgE62OOAVRyUrUWCIR+wEi1kvvcEAzOkkKN32cpbye6U+zyPTmKhPyNX9sY7btcQ+kV42DO+dsuFr5sEo5lZ1abOWyUF3zyewxfNoqINvZc7em+zPQcJFijqsmvHQkvs9ZKqcBp7hxqTE8lomeQY4vkCyuW5CvGmuCXH0jyjBmiMau+EegDDjd6dX59tcCrOsSmRFlrHxLqzkAm4PLi91cYiQWzKH35C0978WI3uTBoU6cxgDwq5gRqtMp0qBJBen0Baw==
X-YMail-OSG: Nl37znAVM1l.KKF1Kq88ukQ1Ev9m9YzNgmsahLuaZVBjE5B8DgqXJvM_MGxKjhN
 kkkqHIykr3OFnFKN2u8FzGEx_wluY.76dsvnXfRXVQglKddlc.zAuBjJUE64DmweWxQbyhmeKuVt
 6rToxUVuHQT5Lq.sXldHComtuuDfman0AbyBvIJZzcHbagUgE8gmm6_GKkWKTNpXaNsFUwzYcfyz
 H37B5eBgegz7nmBkq5a.GVvqHgWirwVjwJJIy.CIq8QTIZN9tXM6PZflq_eWeuVpp4aq5_vtv5k0
 GxOTIgNsHdZ91HNXrBRcN8jx3vJoAkSNmODtuFfwDcT_EkSyY_qUbBESsBr8LPqksDbi_orx5wwm
 cafLSeeVGMLmiNatnlP0dJesGeIZlgN7jwFBOwtDYKPO7lrkx50GUHnJ7ejRJrj356wdQ3VnsdxM
 bwn17NrqASoU4eGdUWUM_xlN1shLSM3Icb2cItheuZlLPivvVFA6LPEPczUlP7_lvW.CplfpXbhY
 Sxb9oCxPY4N6dod9dL0Ey7B5HtsZKgEy8YBkiHvbvuAvSECveLs9dpRRF6Wkfx5C8XKYXf_H.aDQ
 9KDe2VsK7BomD.H1hryEwx5wg0idDlZCj.S9IbQlCeq0qaKhHbwH7PZCjNyeI.zBBr9nKE8obL73
 c4tzDwl8yl7Z8Npa_S.O6K447hIxyxmOsENBaPo6MkeUnKvye4ikOGTHGktonMSHIgKTao5yS_AE
 OU8fBJ5eHOqMST6.kheqcH153zYTKMZJIqjVozys4Zmd3X.Q30Vqg5Fe3_qasdB2NGwJeF11YOlL
 YOnlTHZORlmw3jlkfk55g6wUuMRz2etJxB6Z39YLB7BY9OcrUn9Ufhjlr2rgySDtQ8cRurJJoPzA
 qdNEZyluErh4hJd.XdRHhghE9u6a3dKJKaw3kKGwCuvSDauzIe5yqDmfW2Lzf_l.EfPZoVSSI_Yj
 6dGxjRU6LiTP7L_Yk8UfN7t49JqYBAbO1Ky7ngBxD8OAEFUZfhbpmDJhwP7OQnOmgDhKHvGmqkdm
 X3my1ipxkuFEKXu263nUUUzdFjG1wwYd9crf06nvu24Qa0hbsb.hDVdURz4osZE8QbqLgMHIOPkd
 BYTtPuGipw2_1fYSYN3WsT49bhXTE8Gyx_oXgDE5lHBc0gT8aJxp2gWO1PVEPvW.GemIfsLW.h0k
 Ia8k8bIsMbSA8d5r2DhO6Vjp8Xk6Zks5ixUmZzSB2xjbVawqJPlRiG9zADLEr132WcGUzYVpHjXq
 IQQFfiKki1WhUQ6QHXBB3RXLqGDrD4WO1ga28VcoMrQsoMDSwmoPVu3GhcT2uM4E.WMvu4pkrvXR
 X9IUKgyY7SAMQLgSm5J28t31ZYvFP6ZDe5HYAFyWTNJbpqnhAJJbofhOskCFirC8L820nzHzKKvQ
 p5MsN.pwm8He4BCYCIFSP8jkmegldUptaNIxTmrwlhAdyNGj2smdPxuG5SwL026EC62KK66g2Yvf
 JkRYQRKClDABmyvdAFY.fpTL0KDernuVlXCkkQ6e7dT14Qsb3FPznEFpwog5ktSfZT2qOIsaRSNi
 wfCmitFm5JJWKOz0BEVlQcycRgnFfKEvQJFMjrZBhTV0JGt7Gb1ngrbUhfYrSjfpPKtQ1gtLpevw
 45az3Yui8nfOL7qTDltSRAnVoT95_azbx_1UbwLrV52OgmOoTWhSVk3xSaPE826nJo_xvDA9oK6m
 amNqYYRktBSjDZq6HFeYC9.TNX7x9jdItWmvJEqotYFTmo4.i7jruB3jVI9hiQK4W2XS89s.APUV
 sA8tFRqJanS9wR.iOhGn_Mg4TAFLRKOi87obuTYfnq5LCAlJ428H2PWpwO_FckH.XnBKdMrMjbjM
 0g6_13Tzt_gg5alLrTYllxn.0aI8xvGaJVUsDWr7p25OyOjrg.JFjPRjJpbplqPO3dRuoD5cYyWV
 ubxk56v1647KltonYvNOom35E5tYEDnFU6NVh.6DO5hMQ3UzNJrqk1OQlhEArs24fyD_0Cf8sSQ.
 yoAvrw_M9UiNKg26EKqLeu85aSj210GtCH3rzyx2dwG_3ItTrcJuG2a83xat2pQZgl1O4B3fTXrJ
 6b6DdhjnjzkB7p4PDIEDsxhRniUlD53HQjJ_NNouVWbVaM_NoFsc9s49AoKpz5cQKP72IIa7n3yp
 iqwsFRwJiDLU8j5FaFwwaW.X_r7WO4lglw1LluWMjemkdJqG0tnkX22k0B.p1kTDpWch7fO7z.Bv
 b1bnzU987Vuiq_5IeCge5EGRuQsMN1mIR
X-Sonic-MF: <brenthowie133@yahoo.com>
Date: Sun, 24 Apr 2022 22:58:34 +0000 (UTC)
From: Brent Lee <brenthowie133@yahoo.com>
To: "xen-users@lists.xenproject.org" <xen-users@lists.xenproject.org>
Message-ID: <1367578505.653614.1650841114057@mail.yahoo.com>
Subject: Question
MIME-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_653613_1460769320.1650841114056"
References: <1367578505.653614.1650841114057.ref@mail.yahoo.com>
X-Mailer: WebService/1.1.20118 YMailNorrin
Content-Length: 1385

------=_Part_653613_1460769320.1650841114056
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Is the Zen3 Ryzen 9 still a far off route for being compatible with Xen?

(XEN) ACPI: 32/64X FACS address mismatch in FADT
xenoprof: initialization failed. AMD Processor family 25 is not supported
ELF: Not an ELF binary
Panic on CPU 0
Could not set up DOM0 guest OS

------=_Part_653613_1460769320.1650841114056
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<html><head></head><body><div class="yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div dir="ltr" data-setdir="false">Is the Zen3 Ryzen 9 still a far off route for being compatible with Xen?<br><div><br></div><div dir="ltr" data-setdir="false">(XEN) ACPI: 32/64X FACS address mismatch in FADT</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">xenoprof: initialization failed. AMD Processor family 25 is not supported</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">ELF: Not an ELF binary</div><div dir="ltr" data-setdir="false"><br></div><div dir="ltr" data-setdir="false">Panic on CPU 0</div><div dir="ltr" data-setdir="false"><br><div>Could not set up DOM0 guest OS<br></div></div></div></div></body></html>
------=_Part_653613_1460769320.1650841114056--


From xen-users-bounces@lists.xenproject.org Mon Apr 25 21:47:10 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 25 Apr 2022 21:47:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.313299.530816 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nj6XK-0003qI-SK; Mon, 25 Apr 2022 21:46:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 313299.530816; Mon, 25 Apr 2022 21:46:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nj6XK-0003qA-P1; Mon, 25 Apr 2022 21:46:26 +0000
Received: by outflank-mailman (input) for mailman id 313299;
 Mon, 25 Apr 2022 21:46:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mj7xKY=VD=schramm.by=lists@ulnar.ocb.by>)
 id 1nj6XI-0003q4-7z
 for xen-users@lists.xenproject.org; Mon, 25 Apr 2022 21:46:25 +0000
Received: from ulnar.ocb.by (ulnar.ocb.by [2a01:4f8:c17:823a::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 23e95278-c4e1-11ec-8fc2-03012f2f19d4;
 Mon, 25 Apr 2022 23:46:22 +0200 (CEST)
Received: from [IPV6:2a02:8106:f:37fc:af41:fc63:ad43:ea98] (unknown
 [IPv6:2a02:8106:f:37fc:af41:fc63:ad43:ea98])
 (Authenticated sender: lists@schramm.by)
 by ulnar.ocb.by (Postfix) with ESMTPSA id 3FAEDBFA20
 for <xen-users@lists.xenproject.org>; Mon, 25 Apr 2022 23:46:17 +0200 (CEST)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 23e95278-c4e1-11ec-8fc2-03012f2f19d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=schramm.by;
	s=20200415; t=1650923177;
	bh=Uwzm7BE+3idTGeL/kBSLAJ6q1lltkENot2/Egq8DQoQ=;
	h=Message-ID:Date:To:From:Subject:From;
	b=eg++8Ty9/L9zqv616MTvN6H0TbxZFWmD7FkQmr9gwqODbF3Vgh1Gy6N/6u2KjbSDU
	 NmjRgwO3Aw4+Tz9qHfvpz5WkTsiK7z9F211jHQDv97nTDrpxMdmsPNW7FYVJ7wDxSF
	 qRkjiiBDandBnxFVAQSnJXeAfy2cGS0Bi3A7zYNmGPTvbJI2sENWpTeV8x2G9LeO3h
	 GxDofaMbEbknX91vQkXsQUp6L6mmc7monJWPzWFWMHqhA4ZJ0mGK0aCs9Qsmub5KpS
	 iwEzItmI0q088aIR33OtLLCWB2Z7a/nL2iWoi6CUmUtWa+2bE/1irRZ8waSKczQ8vg
	 AwFrDDXGwqx1g==
Message-ID: <14b3de96-ab09-fc83-4776-ad695e0258c2@schramm.by>
Date: Mon, 25 Apr 2022 23:46:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.8.1
Content-Language: en-US
To: xen-users@lists.xenproject.org
From: Holger Schramm <lists@schramm.by>
Subject: Xen 4.14, mpt3sas + HBA 9400-16i
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


Hi folks,

I am struggling with Xen 4.14 on Debian Bullseye to get an Broadcom HBA 
9400-16i Controller working. Used Kernel: Debian Standard 5.10.0-13 and 
a self baked one as of 5.15.35 with derived default config from debian.

If I boot the system in normal mode, without Xen everything works fine.
As soon as I am booting into Xen, the Problems are starting.

The boot process floods the dmesg with

[  940.815488] mpt3sas_cm0: sending diag reset !!
[  941.548926] mpt3sas_cm0: diag reset: SUCCESS
[  941.799450] mpt3sas_cm0: CurrentHostPageSize is 0: Setting default 
host page size to 4k
[  941.931194] mpt3sas_cm0: _base_display_fwpkg_version: complete
[  941.931756] mpt3sas_cm0: FW Package Ver(19.00.00.00)
[  956.936874] mpt3sas_cm0: config_request: manufacturing(0), action(0), 
form(0x00000000), smid(6140)
[  956.937394] mpt3sas_cm0: _config_request: command timeout
[  956.937819] mpt3sas_cm0: Command Timeout

[ 1017.358576] mpt3sas_cm0: _config_request: attempting retry (2)
[ 1032.455458] mpt3sas_cm0: config_request: manufacturing(11), 
action(0), form(0x00000000), smid(6140)
[ 1032.455959] mpt3sas_cm0: _config_request: command timeout
[ 1032.456375] mpt3sas_cm0: Command Timeout
[ 1032.456788] mf:

[ 1032.456790] 04000000
[ 1032.457581] 00000000
[ 1032.457977] 00000000
[ 1032.458372] 00000000
[ 1032.458737] 00000000
[ 1032.459084] 090b0000
[ 1032.459487] 00000000
[ 1032.459708] d3000000
[ 1032.459857]

[ 1032.460005] ffffffff
[ 1032.460299] ffffffff
[ 1032.460450] 00000000


I tried to set the msix to disabled via modprobe.d


/etc/modprobe.d/mpt3sas.conf:
----------- >8 ---------------

options mpt3sas msix_disable=1

----------- 8< ---------------

but this doesn't either work.

Then i tried to install the driver directly from broadcom but this 
doesn't work too. I got another error:

[   33.856072] mpt3sas_cm0: failure at 
/var/lib/dkms/mpt3sas/41.00.00.00/build/mpt3sas_scsih.c:16229/_scsih_probe()!

In all states of "error" I am not able to connect to the HBA via 
storcli, except in normal mode. If I try it wile running xen:


CLI Version = 007.1613.0000.0000 Oct 29, 2020
Operating system = Linux 5.10.0-13-amd64
Status Code = 0
Status = Success
Description = None

Number of Controllers = 0
Host Name = xm1010-neu
Operating System  = Linux 5.10.0-13-amd64
StoreLib IT Version = 07.1700.0200.0000
StoreLib IR3 Version = 16.14-0

storcli.log

Mon Apr 25 23:43:17.159 2022 : CtMain::main processing for command=show
Mon Apr 25 23:43:17.162 2022 : Entering MWCliRootCp::process 
ver=007.2103.0000.0000 Dec 08, 2021 copyright=2021
Mon Apr 25 23:43:17.162 2022 : Entering ShowSystemCp::process
Mon Apr 25 23:43:17.162 2022 : Entering LinuxControllerExplorer::explore
Mon Apr 25 23:43:17.162 2022 : Entering 
LinuxControllerExplorer::getCtrlCount
Mon Apr 25 23:43:17.163 2022 : LinuxControllerExplorer::getCtrlCount 
_hDvr=-1 _hDvrSwr =-1
Mon Apr 25 23:43:17.163 2022 : LinuxControllerExplorer::explore ctrlCount=1
Mon Apr 25 23:43:17.163 2022 : returning 
LinuxControllerExplorer::explore ctrlIdListPtr
Mon Apr 25 23:43:17.163 2022 : SlItControllerExplorer::explore - Entering
Mon Apr 25 23:43:17.163 2022 : StorelibItDp::processLibCommand SL 
request sent
Mon Apr 25 23:43:17.165 2022 : StorelibItDp::processLibCommand SL 
responded with retcode=0
Mon Apr 25 23:43:17.165 2022 : StorelibItDp::processLibCommand SL 
request sent
Mon Apr 25 23:43:17.165 2022 : StorelibItDp::processLibCommand SL 
responded with retcode=0
Mon Apr 25 23:43:17.165 2022 : SlItControllerExplorer::explore - Getting 
the StoreLIB instance for SAS3.5 IT controller
Mon Apr 25 23:43:17.165 2022 : StorelibItDp::processLibCommand SL 
request sent
Mon Apr 25 23:43:17.206 2022 : StorelibItDp::processLibCommand SL 
responded with retcode=0
Mon Apr 25 23:43:17.206 2022 : SlItControllerExplorer::explore - Issuing 
SL_GET_CTRL_LIST to SLIT
Mon Apr 25 23:43:17.206 2022 : StorelibItDp::processLibCommand SL 
request sent
Mon Apr 25 23:43:17.206 2022 : StorelibItDp::processLibCommand SL 
responded with retcode=0
Mon Apr 25 23:43:17.206 2022 : SlItControllerExplorer::explore - Issuing 
SL_GET_CTRL_LIST to SLIT - retCode:0x0
Mon Apr 25 23:43:17.206 2022 : SlItControllerExplorer::explore - 
Controller count:0
Mon Apr 25 23:43:17.206 2022 : LinuxMfiDataProvider::fireIoctl 
DCMD=1010000 mbox.w[0]=1 mbox.w[1]=0 mbox.w[2]=0
Mon Apr 25 23:43:17.206 2022 : LinuxMfiDataProvider::fireIoctl 
send_ioctl retcode=-1 cmdStatus=255
Mon Apr 25 23:43:17.206 2022 : LinuxMfiDataProvider::fireIoctl returning 
with =-1 errno=9
Mon Apr 25 23:43:17.206 2022 : the property ctrlBusy is set to 0
Mon Apr 25 23:43:17.206 2022 : Entering ShowSystemCp::ShowSystemSummary
Mon Apr 25 23:43:17.206 2022 : Entering ShowSystemCp::getHeadline
Mon Apr 25 23:43:17.206 2022 : StorelibItDp::processLibCommand SL 
request sent
Mon Apr 25 23:43:17.206 2022 : StorelibItDp::processLibCommand SL 
responded with retcode=0
Mon Apr 25 23:43:17.206 2022 : Entering ShowSystemCp::getSLITVersion = 
07.2103.0200.0000
Mon Apr 25 23:43:17.206 2022 : StorelibItDp::processLibCommand SL 
request sent
Mon Apr 25 23:43:17.206 2022 : StorelibItDp::processLibCommand SL 
responded with retcode=0
Mon Apr 25 23:43:17.207 2022 : Entering ShowSystemCp::getSLIR3Version = 
16.14-0
Mon Apr 25 23:43:17.207 2022 : MWCliRootCp::process processed for 
subtokenID=14 errorCode=0
Mon Apr 25 23:43:17.207 2022 : Entering MWCliRootCp::handleOuput 
retCode=0, DriveFull=0
Mon Apr 25 23:43:17.207 2022 : StorelibItDp::processLibCommand SL 
request sent
Mon Apr 25 23:43:17.207 2022 : StorelibItDp::processLibCommand SL 
responded with retcode=0
Mon Apr 25 23:43:17.207 2022 : StorelibItDp::processLibCommand SL 
request sent
Mon Apr 25 23:43:17.207 2022 : StorelibItDp::processLibCommand SL 
responded with retcode=0
Mon Apr 25 23:43:17.207 2022 : CtMain::main command completed with retcode=0

How can I get this controller working with xen?

Kind regards,

~Holger


From xen-users-bounces@lists.xenproject.org Tue Apr 26 22:02:51 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 26 Apr 2022 22:02:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.314179.532143 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1njTFx-0008DT-Ku; Tue, 26 Apr 2022 22:02:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 314179.532143; Tue, 26 Apr 2022 22:02:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1njTFx-0008DL-Gp; Tue, 26 Apr 2022 22:02:01 +0000
Received: by outflank-mailman (input) for mailman id 314179;
 Tue, 26 Apr 2022 22:02:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GrdA=VE=nic.at=klaus.darilion@srs-se1.protection.inumbo.net>)
 id 1njTFw-0008DF-8F
 for xen-users@lists.xenproject.org; Tue, 26 Apr 2022 22:02:00 +0000
Received: from mail.sbg.nic.at (mail.sbg.nic.at [83.136.33.227])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7cf58ec0-c5ac-11ec-8fc2-03012f2f19d4;
 Wed, 27 Apr 2022 00:01:58 +0200 (CEST)
Received: from nics-exch3.sbg.nic.at ([10.17.175.2]) by mail.sbg.nic.at
 over TLS secured channel (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128)
 with XWall v3.56 ; Wed, 27 Apr 2022 00:01:55 +0200
Received: from nics-exch3.sbg.nic.at (10.17.175.2) by nics-exch3.sbg.nic.at
 (10.17.175.2) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.12; Wed, 27 Apr
 2022 00:01:55 +0200
Received: from nics-exch3.sbg.nic.at ([fe80::3079:e311:a6d4:792b]) by
 nics-exch3.sbg.nic.at ([fe80::3079:e311:a6d4:792b%2]) with mapi id
 15.01.2375.012; Wed, 27 Apr 2022 00:01:55 +0200
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 7cf58ec0-c5ac-11ec-8fc2-03012f2f19d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=nic.at; s=it2019;
	h=From:From:To:CC:Subject:Date:Message-Id:Content-Type:Received:Received:Received;
	bh=D8NPx9WTKRI8/Ol1c8RbEqiLhVq7WIjsN+l8mwBxw5M=;
	b=Z4knnF7mIHokzsztYocTSIQQX/JXtdSipkzlKcfPZkZn4DxQlkw3cwEy14m4Y59V8umkj0CrKuWXFRpEcJcJtrOpFyKJWNQScrf/EAMdRNpKDKt8sxELZA8vjx+EXAVtWdD72mC/MkTmgyyGNisUP5u+5z0jw227Kul07l3CBwqUm6taNeipyVIgsB/n0jbNLFJpqDjQ2YJda6hvks1QC6Wll4mqEGaCdkLmcYH1wuQ9wjs/NpvHU/QsKFp0I507xzbjuY2oVBiUVxwlIcFodZ7RHg6c811EUeQ4kKcdfqUV8LYipVY7oIHHgmcnuyxTTzCjM60UpknGME0Wnb3hhA==;
Thread-Topic: Problems booting Ubuntu Jammy 22.04 PV domU from Jammy dom0
Thread-Index: AdhZt44GPD+/yq9lSTyDUUPcC3XTrQ==
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.22.0.1]
From: Klaus Darilion <klaus.darilion@nic.at>
To: "xen-users@lists.xenproject.org" <xen-users@lists.xenproject.org>
Subject: Problems booting Ubuntu Jammy 22.04 PV domU from Jammy dom0
Date: Wed, 27 Apr 2022 00:01:54 +0200
X-Assembled-By: XWall v3.56
Message-ID: <5674e05ad1d0446e99c9861088ba76e4@nic.at>
X-XWALL-BCKS: auto
Mime-Version: 1.0
Content-Type: multipart/alternative;
	boundary="_NextPart_1_5u6w8dtteHbNlHSeRlAmjnwQKzg"

This is a multi part MIME message.

--_NextPart_1_5u6w8dtteHbNlHSeRlAmjnwQKzg
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hello! Our setup ir probably antic but reliable. We build PV domU with xen-c=
reate-image (fuly automatic with Puppet).

Just today I built the first Jammy domU on a Jammy dom0 (Linux 5.15 with xen=
-hypervisor-4.16-amd64 and xen-tools 4.9.1). Building the domU worked fine, =
but I can not start the domU:

When using pygrub the error is:
xc: error: panic: xg_dom_bzimageloader.c:619: xc_try_zstd_decode: ZSTD decom=
press support unavailable

So it seems that pygrub does not support the ZSTD compressed kernel.

So I tried to boot the domU with pvgrub2 by setting:
kernel =3D "/usr/lib/grub-xen/grub-x86_64-xen.bin"

This brings me to a Grub shell, and manuall booting just leads to:
grub> linux /boot/vmlinuz root=3D/dev/xvda2
error: not xen image.

https://wiki.xenproject.org/wiki/Xen_Project_4.15_Feature_List states "Suppo=
rt for zstd-compressed dom0 (x86) and domU kernels.".

So I need some advice/confirmations:
Can I boot Linux 5.15 (ZSTD kernel) with pygrub? If not, is it planned to ad=
d ZSTD support to pygrub?

If pygrub will not support ZSTD, what are my options? Should it work with pv=
grub2 and I am doing something wrong? How to correctly use pvgrub2.

If pvgrub2 does not support ZSTD, what are my options? Would it help to move=
 from PV to PVH,PVHVM,...? Can I automate building domUs similar to xen-crea=
te-image also with non-PV domUs?

Thanks
Klaus

--_NextPart_1_5u6w8dtteHbNlHSeRlAmjnwQKzg
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micro=
soft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" xm=
lns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http://w=
ww.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
=09{font-family:"Cambria Math";
=09panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
=09{font-family:Calibri;
=09panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
=09{margin:0cm;
=09margin-bottom:.0001pt;
=09font-size:11.0pt;
=09font-family:"Calibri",sans-serif;
=09mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
=09{mso-style-priority:99;
=09color:#0563C1;
=09text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
=09{mso-style-priority:99;
=09color:#954F72;
=09text-decoration:underline;}
span.E-MailFormatvorlage17
=09{mso-style-type:personal-compose;
=09font-family:"Calibri",sans-serif;
=09color:windowtext;}
=2EMsoChpDefault
=09{mso-style-type:export-only;
=09mso-fareast-language:EN-US;}
@page WordSection1
=09{size:612.0pt 792.0pt;
=09margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
=09{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"DE-AT" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hello! Our setup ir probably antic but reliable. We b=
uild PV domU with xen-create-image (fuly automatic with Puppet).<o:p></o:p><=
/p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Just today I built the first Jammy domU on a Jammy do=
m0 (Linux 5.15 with xen-hypervisor-4.16-amd64 and xen-tools 4.9.1). Building=
 the domU worked fine, but I can not start the domU:<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">When using pygrub the error is:<o:p></o:p></p>
<p class=3D"MsoNormal">xc: error: panic: xg_dom_bzimageloader.c:619: xc_try_=
zstd_decode: ZSTD decompress support unavailable<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">So it seems that pygrub does not support the ZSTD com=
pressed kernel.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">So I tried to boot the domU with pvgrub2 by setting:<=
o:p></o:p></p>
<p class=3D"MsoNormal">kernel =3D &quot;/usr/lib/grub-xen/grub-x86_64-xen.bi=
n&quot;<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">This brings me to a Grub shell, and manuall booting j=
ust leads to:<o:p></o:p></p>
<p class=3D"MsoNormal">grub&gt; linux /boot/vmlinuz root=3D/dev/xvda2<o:p></=
o:p></p>
<p class=3D"MsoNormal">error: not xen image.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><span style=3D"mso-fareast-language:DE-AT"><a href=3D=
"https://wiki.xenproject.org/wiki/Xen_Project_4.15_Feature_List">https://wik=
i.xenproject.org/wiki/Xen_Project_4.15_Feature_List</a> states &quot;Support=
 for zstd-compressed dom0 (x86) and domU
=20kernels.&quot;.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-fareast-language:DE-AT"><o:p>&nbsp=
;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-fareast-language:DE-AT">So I need =
some advice/confirmations:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-fareast-language:DE-AT">Can I boot=
 Linux 5.15 (ZSTD kernel) with pygrub? If not, is it planned to add ZSTD sup=
port to pygrub?<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-fareast-language:DE-AT"><o:p>&nbsp=
;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-fareast-language:DE-AT">If pygrub =
will not support ZSTD, what are my options? Should it work with pvgrub2 and =
I am doing something wrong? How to correctly use pvgrub2.<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"mso-fareast-language:DE-AT"><o:p>&nbsp=
;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-fareast-language:DE-AT">If pvgrub2=
 does not support ZSTD, what are my options? Would it help to move from PV t=
o PVH,PVHVM,&#8230;? Can I automate building domUs similar to xen-create-ima=
ge also with non-PV domUs?<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-fareast-language:DE-AT"><o:p>&nbsp=
;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-fareast-language:DE-AT">Thanks<o:p=
></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"mso-fareast-language:DE-AT">Klaus</spa=
n><o:p></o:p></p>
</div>
</body>
</html>

--_NextPart_1_5u6w8dtteHbNlHSeRlAmjnwQKzg--


From xen-users-bounces@lists.xenproject.org Wed Apr 27 07:11:36 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 27 Apr 2022 07:11:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.314416.532481 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1njbp6-0008EQ-IN; Wed, 27 Apr 2022 07:10:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 314416.532481; Wed, 27 Apr 2022 07:10:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1njbp6-0008EF-Ce; Wed, 27 Apr 2022 07:10:52 +0000
Received: by outflank-mailman (input) for mailman id 314416;
 Wed, 27 Apr 2022 07:10:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=noPO=VF=dingwall.me.uk=james@srs-se1.protection.inumbo.net>)
 id 1njbp5-0008DM-5E
 for xen-users@lists.xenproject.org; Wed, 27 Apr 2022 07:10:51 +0000
Received: from smarthost01c.ixn.mail.zen.net.uk
 (smarthost01c.ixn.mail.zen.net.uk [212.23.1.22])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29624d96-c5f9-11ec-8fc2-03012f2f19d4;
 Wed, 27 Apr 2022 09:10:47 +0200 (CEST)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01c.ixn.mail.zen.net.uk with esmtpsa
 (TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1)
 (envelope-from <james@dingwall.me.uk>)
 id 1njbp0-0007Lz-S1; Wed, 27 Apr 2022 07:10:46 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id 8C6DD38D0E0;
 Wed, 27 Apr 2022 08:10:46 +0100 (BST)
Received: from mail0.xen.dingwall.me.uk ([IPv6:::1])
 by localhost (mail0.xen.dingwall.me.uk [IPv6:::1]) (amavisd-new, port 10024)
 with ESMTP id yTlSu6Ds1GNy; Wed, 27 Apr 2022 08:10:46 +0100 (BST)
Received: from ghoul.dingwall.me.uk (ghoul.dingwall.me.uk
 [IPv6:2a02:8010:698e:302::c0a8:1c8])
 by dingwall.me.uk (Postfix) with ESMTP id 6D85C38D0DD;
 Wed, 27 Apr 2022 08:10:46 +0100 (BST)
Received: by ghoul.dingwall.me.uk (Postfix, from userid 1000)
 id 61F387A0; Wed, 27 Apr 2022 08:10:46 +0100 (BST)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 29624d96-c5f9-11ec-8fc2-03012f2f19d4
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
Date: Wed, 27 Apr 2022 08:10:46 +0100
From: James Dingwall <james-xen@dingwall.me.uk>
To: Klaus Darilion <klaus.darilion@nic.at>
Cc: "xen-users@lists.xenproject.org" <xen-users@lists.xenproject.org>
Subject: Re: Problems booting Ubuntu Jammy 22.04 PV domU from Jammy dom0
Message-ID: <20220427071046.GA1121237@dingwall.me.uk>
References: <5674e05ad1d0446e99c9861088ba76e4@nic.at>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5674e05ad1d0446e99c9861088ba76e4@nic.at>
X-Originating-smarthost01c-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189

On Wed, Apr 27, 2022 at 12:01:54AM +0200, Klaus Darilion wrote:
> Hello! Our setup ir probably antic but reliable. We build PV domU with xen-create-image (fuly automatic with Puppet).
> 
> Just today I built the first Jammy domU on a Jammy dom0 (Linux 5.15 with xen-hypervisor-4.16-amd64 and xen-tools 4.9.1). Building the domU worked fine, but I can not start the domU:
> 
> When using pygrub the error is:
> xc: error: panic: xg_dom_bzimageloader.c:619: xc_try_zstd_decode: ZSTD decompress support unavailable
> 
> So it seems that pygrub does not support the ZSTD compressed kernel.
> 
> So I tried to boot the domU with pvgrub2 by setting:
> kernel = "/usr/lib/grub-xen/grub-x86_64-xen.bin"
> 
> This brings me to a Grub shell, and manuall booting just leads to:
> grub> linux /boot/vmlinuz root=/dev/xvda2
> error: not xen image.
> 
> https://wiki.xenproject.org/wiki/Xen_Project_4.15_Feature_List states "Support for zstd-compressed dom0 (x86) and domU kernels.".
> 
> So I need some advice/confirmations:
> Can I boot Linux 5.15 (ZSTD kernel) with pygrub? If not, is it planned to add ZSTD support to pygrub?
> 
> If pygrub will not support ZSTD, what are my options? Should it work with pvgrub2 and I am doing something wrong? How to correctly use pvgrub2.
> 
> If pvgrub2 does not support ZSTD, what are my options? Would it help to move from PV to PVH,PVHVM,...? Can I automate building domUs similar to xen-create-image also with non-PV domUs?
> 
> Thanks
> Klaus

For my focal based environment I can boot guests with the HWE kernel using
zstd with these options:

  type = 'pvh'
  kernel = '/usr/lib/grub-xen/grub-i386-xen_pvh.bin'

For guests that need to be 'pv' then I've had to decompress the kernel image
using the extract-vmlinux which is part of the kernel sources.

James


From xen-users-bounces@lists.xenproject.org Wed Apr 27 21:54:55 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 27 Apr 2022 21:54:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.315471.534037 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1njpbq-00025b-QE; Wed, 27 Apr 2022 21:54:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 315471.534037; Wed, 27 Apr 2022 21:54:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1njpbq-00025T-N2; Wed, 27 Apr 2022 21:54:06 +0000
Received: by outflank-mailman (input) for mailman id 315471;
 Wed, 27 Apr 2022 21:54:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5iaf=VF=strugglers.net=andy@srs-se1.protection.inumbo.net>)
 id 1njpbp-00025N-4v
 for xen-users@lists.xenproject.org; Wed, 27 Apr 2022 21:54:05 +0000
Received: from mail.bitfolk.com (mail.bitfolk.com [2001:ba8:1f1:f019::25])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8bfaa760-c674-11ec-8fc3-03012f2f19d4;
 Wed, 27 Apr 2022 23:54:02 +0200 (CEST)
Received: from andy by mail.bitfolk.com with local (Exim 4.89)
 (envelope-from <andy@strugglers.net>) id 1njpbk-0003In-Ar
 for xen-users@lists.xenproject.org; Wed, 27 Apr 2022 21:54:00 +0000
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bfaa760-c674-11ec-8fc3-03012f2f19d4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bitfolk.com
	; s=alpha; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:
	Subject:To:From:Date:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID:
	Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
	:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
	List-Post:List-Owner:List-Archive;
	bh=z+Y6jUilJbwTYFFUPz91DMa+k3eEc1VuqRjOrjAT57M=; b=IDWocByHCUQpHgj9Cu6yZ/IbMq
	tFJQCo55B0lebtJMpqWLxbRjwCpz2UgLsIgJkDvUIGQ8GLLQjd2xxdepmKgJaJrANUSb4/7w6M+KS
	dDh0yUaH2KnaOJ2WMUwV6aKGO3neX4GQ5DEY13kYZA3rrl2a515Xlx5binL0+KoDaPzDZPZGhPV12
	tJaLHmO0r64uU8pNE3DIqvGlYSXuPcQLEJEBD11+261E7GBKasKH7pmr1Kb07l++GmX6iq8TWCk5u
	CiFY86b8nilHLbANQyNAQtyVB4qIkgU4homXPRX3wIRH+Fgx4iNe9zogmq/Up3D4VjRdJLA3Y8HY0
	3D6snzDw==;
Date: Wed, 27 Apr 2022 21:54:00 +0000
From: Andy Smith <andy@strugglers.net>
To: xen-users@lists.xenproject.org
Subject: Re: Problems booting Ubuntu Jammy 22.04 PV domU from Jammy dom0
Message-ID: <20220427215400.ljuapxqbcpzdexfx@bitfolk.com>
References: <5674e05ad1d0446e99c9861088ba76e4@nic.at>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5674e05ad1d0446e99c9861088ba76e4@nic.at>
OpenPGP: id=BF15490B; url=http://strugglers.net/~andy/pubkey.asc
X-URL: http://strugglers.net/wiki/User:Andy
User-Agent: NeoMutt/20170113 (1.7.2)
X-SA-Exim-Connect-IP: <locally generated>
X-SA-Exim-Mail-From: andy@strugglers.net
X-SA-Exim-Scanned: No (on mail.bitfolk.com); SAEximRunCond expanded to false

Hi Klaus,

On Wed, Apr 27, 2022 at 12:01:54AM +0200, Klaus Darilion wrote:
> When using pygrub the error is:
> xc: error: panic: xg_dom_bzimageloader.c:619: xc_try_zstd_decode: ZSTD decompress support unavailable
> 
> So it seems that pygrub does not support the ZSTD compressed kernel.

pygrub extracts a kernel and initrd from the guest block device and
then Xen direct boots it. Your Xen does not support zstd-compressed
kernels for direct boot so that doesn't work.

You can use the extract-vmlinux script to decompress a guest kernel
to vmlinux and direct boot that. It isn't hard to bodge a test into
pygrub for zstd (and lz4) compressed kernels and automatically call
extract-vmlinux on them, then boot the resulting vmlinux.

However, pygrub is a really really bad way to boot guests, so you
would be much better off figuring out how to stop using it
altogether. Maybe now is a good time for that, since you're going to
have to make some changes anyway?

TL;DR: PVH mode is probably your saviour as long as you don't need
to boot anything older than kernel version 4.20 or so.

> So I tried to boot the domU with pvgrub2 by setting:
> kernel = "/usr/lib/grub-xen/grub-x86_64-xen.bin"

pvgrub also doesn't support LZ4 or zstd compressed kernels. It seems
to be abandoned in that no one is interested in adding such support
to it.

Again you can lash something together that decompresses the kernels
first. This time a bit different since it needs to run in guest
context due to pvgrub. Here's something I came up with to make the
guest decompress its kernel when the kernel is installed:

    https://github.com/bitfolk/decompress-lz4-kernels

> https://wiki.xenproject.org/wiki/Xen_Project_4.15_Feature_List states "Support for zstd-compressed dom0 (x86) and domU kernels.".
> 
> So I need some advice/confirmations:
> Can I boot Linux 5.15 (ZSTD kernel) with pygrub? If not, is it planned to add ZSTD support to pygrub?

pygrub doesn't boot the kernel, Xen does, so if your Xen supports
direct booting LZ4/zstd then that will work. It's not a question of
what pygrub supports as pygrub does not parse or manipulate the
kernel file in any way, it just passes it to Xen.

However you'd still be using pygrub, which is bad.

> If pygrub will not support ZSTD, what are my options? Should it
> work with pvgrub2 and I am doing something wrong? How to correctly
> use pvgrub2.

pvgrub seems to be a dead end for guests using LZ4/zstd kernels as
there seems to be no interest in supporting that.

> If pvgrub2 does not support ZSTD, what are my options? Would it
> help to move from PV to PVH,PVHVM,...?

Yes. Every guest that uses LZ4 or zstd kernels also supports being
booted in PVH mode, so I switched to PVH for every guest that
supports it and stopped using my extract kernel hack that was
necessary for getting pvgrub to boot them.

One of the other reasons why pvhgrub is better is that it uses the
standard parts of grub for loading images, so if grub supports the
compression format then pvhgrub does too. So no problem loading
lz4/zstd compressed kernels, as long as the grub package you started
with is new enough.

> Can I automate building
> domUs similar to xen-create-image also with non-PV domUs?

As far as I know xen-tools and xen-create-image are also dead
upstream so it would be best not to rely on them. Maybe a project
for a later time though, as I can't see any reason why something
that xen-create-image makes would not boot under PVH mode.

For Debian/Ubuntu-based guests you can just boot the installer
kernel/initrd in PVH mode and run through a normal text mode
install. Or you can use debootstrap from your dom0 to download
everything you need into a directory. Which is basically what
xen-create-image is doing.

(This all changed with Ubuntu >= 21.10 as they have moved away from
the Debian installer. For newer Ubuntu it's going to be either
debootstrap or download the Ubuntu cloud image and boot that (with
optional cloud-init for any configuration you need).)

Cheers,
Andy


From xen-users-bounces@lists.xenproject.org Thu Apr 28 04:17:22 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 28 Apr 2022 04:17:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.315948.534647 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1njvZw-0008PJ-Vr; Thu, 28 Apr 2022 04:16:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 315948.534647; Thu, 28 Apr 2022 04:16:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1njvZw-0008P8-Qe; Thu, 28 Apr 2022 04:16:32 +0000
Received: by outflank-mailman (input) for mailman id 315948;
 Thu, 28 Apr 2022 04:16:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UIGe=VG=gmail.com=pryorm09@srs-se1.protection.inumbo.net>)
 id 1njvZv-0008P2-Ae
 for xen-users@lists.xenproject.org; Thu, 28 Apr 2022 04:16:31 +0000
Received: from mail-yb1-xb2b.google.com (mail-yb1-xb2b.google.com
 [2607:f8b0:4864:20::b2b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f96105f4-c6a9-11ec-8fc3-03012f2f19d4;
 Thu, 28 Apr 2022 06:16:30 +0200 (CEST)
Received: by mail-yb1-xb2b.google.com with SMTP id i38so6838204ybj.13
 for <xen-users@lists.xenproject.org>; Wed, 27 Apr 2022 21:16:28 -0700 (PDT)
Received: by 2002:a25:ad8d:0:0:0:0:0 with HTTP; Wed, 27 Apr 2022 21:16:26
 -0700 (PDT)
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: f96105f4-c6a9-11ec-8fc3-03012f2f19d4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:from:date:message-id:subject:to;
        bh=UhrnxJlibZqNN5r/k2wvLq2BvhwXgsOTYNBzuG+GP6M=;
        b=O9NvYrECMyLzY93ExgAdRNnm5QQ9omfbanSQ1EFkVq9CSE6yLzrbN7YOpGOJ3Beddz
         v7MvizkN/5ZOoAGOLT6A1c5l3P0xQU5PwdWuSQdUa/kd1eKHRn//Lknx1bn1pfQoSoNq
         ujMZaMWnU+74IZYLsH9GicV3s5yAkCiFqcBA+c2PWKGGCnvIfg39hbDfnX2ueuQ5bBDz
         u/VJn36SMGHEoj4Q5nUs1kKZsXemTJ+L2IBgNI/khs7DQ7kcb3ZLrJ8OmViE59Xkc7nG
         6NTWT13iRQBmQ/muRjkwqZBPpGqyXi52M5BzM5/r0pQOPiPGrlkx8wrHVMsylMX0JGut
         AgCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
        bh=UhrnxJlibZqNN5r/k2wvLq2BvhwXgsOTYNBzuG+GP6M=;
        b=HKbBBPKf8Vkgg//CQdJs4NIn9UPjXGVS7p1744WHlaTBNgY86gc4rPvUsSZT6UepZN
         iF/hbUkeDlY8pIYv6XsrlNzRpgMVM333KqigVxCKyP2ePi0i7iItD28jjOtu0nZd0FoF
         GSPoLbrg1qXePIZLEfoOg/i4tvi9W8wQXsFIYasU86jUJw/MdTomYH7/cv59OI27RPjC
         Nh2au5hByGCd4Va/c9ff8Saq+gmy8FhIs1ByDt5HtCl0VHfVrUKiGj42w4H45ZlQ3oDO
         EZHiK4G+qbZWleBOmmgCNGCuSG2E97tT2GjllPUzW21cIFQD3YkFfaJ9DjpEZyZbe0Rz
         FaxQ==
X-Gm-Message-State: AOAM5304kzP1TLLQH4HoNZruzSU9P+huE+wqsSeY0mNWdhjFSjhkrKK9
	7Kg0iP3ZzsSbbZQsbe2b7lApcJ0v1xkSGlbI+iCasiYe
X-Google-Smtp-Source: ABdhPJy6VwzV0EA8tUkQCcCIbSNvQf3Bo6sAeI+pJulUg1IFMrmZCgwqiDnPQN0lwpJbVVYaxi5Pbr3+Dl/K/lAh6dw=
X-Received: by 2002:a25:764d:0:b0:648:dc27:e870 with SMTP id
 r74-20020a25764d000000b00648dc27e870mr5076021ybc.150.1651119387239; Wed, 27
 Apr 2022 21:16:27 -0700 (PDT)
MIME-Version: 1.0
From: Pry Mar <pryorm09@gmail.com>
Date: Wed, 27 Apr 2022 21:16:26 -0700
Message-ID: <CAHnBbQ_q_Yafk8MUnYHh5XSZrc6-7SSGrN-mO-WEG8vMSAumcw@mail.gmail.com>
Subject: Re: Problems booting Ubuntu Jammy 22.04 PV domU from Jammy dom0
To: xen-users <xen-users@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"

Just tested booting a Jammy domU as pv using pygrub from the build
below (works):

> sudo rpm -qa | grep -P 'xen|qemu'
xen-hypervisor-4.15.2-1.el8.x86_64
xen-doc-4.15.2-1.el8.x86_64
xen-4.15.2-1.el8.x86_64
xen-licenses-4.15.2-1.el8.x86_64
qemut-0.10.2+2-1.el8.x86_64
xen-libs-4.15.2-1.el8.x86_64
qemuu-img-5.1.0+2-1.el8.x86_64
xen-ocaml-4.15.2-1.el8.x86_64
qemuu-5.1.0+2-1.el8.x86_64
ipxe-roms-qemu-20181214-8.git133f4c47.el8.noarch
xen-runtime-4.15.2-1.el8.x86_64

We also boot with the pvgrub from the included stubdom.  Both of them
work with zstd compressed kernels dom0+domU since they use the same
xen libraries with latest patches.

Our fedora domU with zstd compressed kernels also work with pygrub and
pvgrub (stubdom).

Your dom0 seems problematic since you don't make clear if you
self-build xen-4.16 or use the Jammy packages from the Universe repo.

best wishes,
PryMar56
As mentioned by Andy S. the grub xen support has no lz4/zstd for
direct kernel boot, as done with pvgrub2.


From xen-users-bounces@lists.xenproject.org Fri Apr 29 01:21:19 2022
Return-path: <xen-users-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 29 Apr 2022 01:21:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.315442.535953 (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nkFJ2-0006Fs-2C; Fri, 29 Apr 2022 01:20:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 315442.535953; Fri, 29 Apr 2022 01:20:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-users-bounces@lists.xenproject.org>)
	id 1nkFJ1-0006Fh-Ub; Fri, 29 Apr 2022 01:20:23 +0000
Received: by outflank-mailman (input) for mailman id 315442;
 Wed, 27 Apr 2022 20:36:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qc0d=VF=teksavvy.com=davidwhodgins@srs-se1.protection.inumbo.net>)
 id 1njoOQ-0001by-45
 for xen-users@lists.xenproject.org; Wed, 27 Apr 2022 20:36:10 +0000
Received: from pmta11.teksavvy.com (pmta11.teksavvy.com [76.10.157.34])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7f9672e-c669-11ec-a405-831a346695d4;
 Wed, 27 Apr 2022 22:36:06 +0200 (CEST)
Received: from unknown (HELO x3.hodgins.homeip.net)
 ([IPv6:2607:f2c0:e776:21::1004])
 by smtp11.teksavvy.com with ESMTP/TLS/DHE-RSA-AES128-SHA256;
 27 Apr 2022 16:35:43 -0400
X-BeenThere: xen-users@lists.xenproject.org
List-Id: Xen user discussion <xen-users.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xenproject.org>
List-Help: <mailto:xen-users-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-users>,
 <mailto:xen-users-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-users-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-users" <xen-users-bounces@lists.xenproject.org>
X-Inumbo-ID: a7f9672e-c669-11ec-a405-831a346695d4
IronPort-SDR: g37cOA7EnpTeLk5ckYezigftjqiD1qO8HASJMIhFgXJVCGb9uwxp3b0+3aTTcmJUmFeN/ft1+/
 G+dQ+zqduiSQ==
IronPort-Data: =?us-ascii?q?A9a23=3AavMRiqpDonMnmW3887krXCuPagZeBmLUZxIvg?=
 =?us-ascii?q?KrLsJaIsI4StFCztgarIBnXOf+MM2Lyf48lO4vgph5Sv5SEx4MxSgVqrSlnF?=
 =?us-ascii?q?X5B95acVYWSI27OZC7DdceroGCLTyk9hngsFC29J5Pljk/F3oPJ8D8tjclke?=
 =?us-ascii?q?pKmULSeYnwrGlc+IMscoUsLd9AR09YAbeeRXlvlVePa+6UzCXf9s9JGGjt8B?=
 =?us-ascii?q?5Gr8nuDiM/PVAYw5TTSUxzrUGj2zBH5BLpHTU24wuCRroN8RoZWTM6bpF21E?=
 =?us-ascii?q?/+wE77A17qYfrjHnk0iGtY+PCCe0TxWXKStgx5Z4Cw116s6LLwaZFs/Zzehx?=
 =?us-ascii?q?Y4pl4dD75foGwp2YfOewr1PAUAAS30W0a5uodcrJVCzuNKSw1LGdHfjwvN1J?=
 =?us-ascii?q?F07PpYR5PhmR2pJ8JT0LRhUPk7b2L7mme/Tpu5Ew55LwNPQFJMSvDR91jzDF?=
 =?us-ascii?q?t4iQIvfWOPa6NlAxjAyi8tSW/HEaKIkhZBHBPjbS0cRYghFBsg1xLWl2SahI?=
 =?us-ascii?q?WcB+gDM/fJri1U/BTdZiNDFWOc5sPTULSmNonulmw=3D=3D?=
IronPort-HdrOrdr: =?us-ascii?q?A9a23=3Ahq7UEazCeU9zbtMCg0pLKrPwNb1zdoMgy1?=
 =?us-ascii?q?knxilNoHtuHPBw9vrEoB1173XJYVoqOU3I+uruBEDjexPhHPdOiOEs1NyZMD?=
 =?us-ascii?q?UO1lHEEGgv1/qA/wHd?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A+HOBAADqWli/8DyByaOu9iAIQCgBFq?=
 =?us-ascii?q?BCYsjp0iGUIFoCwEBAQEBAQEBAQlCBAEBih8mOBMBAgQBAQESAQEBBQEBAQE?=
 =?us-ascii?q?BBwQCAoEYhXWGdRVpDQIFIQIRAbQMgTEaAmWJfoERLI8agg2EEAEuhGpmgwm?=
 =?us-ascii?q?CZQTCfp8HBwODSgWgESCDYpMQA5FehW+EaowHpxuBeIF/cIM6UBmdG4EUAgY?=
 =?us-ascii?q?LAQEDCY41AQE?=
X-IPAS-Result: =?us-ascii?q?A+HOBAADqWli/8DyByaOu9iAIQCgBFqBCYsjp0iGUIFoC?=
 =?us-ascii?q?wEBAQEBAQEBAQlCBAEBih8mOBMBAgQBAQESAQEBBQEBAQEBBwQCAoEYhXWGd?=
 =?us-ascii?q?RVpDQIFIQIRAbQMgTEaAmWJfoERLI8agg2EEAEuhGpmgwmCZQTCfp8HBwODS?=
 =?us-ascii?q?gWgESCDYpMQA5FehW+EaowHpxuBeIF/cIM6UBmdG4EUAgYLAQEDCY41AQE?=
X-IronPort-AV: E=Sophos;i="5.90,294,1643691600"; 
   d="scan'208";a="186074815"
Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes
Date: Wed, 27 Apr 2022 16:35:42 -0400
To: xen-users@lists.xenproject.org
Subject: Reporting bugs
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: "David W. Hodgins" <davidwhodgins@teksavvy.com>
Message-ID: <op.1lawts17lem0m7@x3.hodgins.homeip.net>
User-Agent: Opera Mail/12.16 (Linux)

Is this the right place to discuss bugs in xen?

With the xen hypervisor running with ...
$ rpm -q xen qemu
xen-4.16.1-1.2.mga8
qemu-5.2.0-4.2.mga8
With Mageia 8 linux, I'd forgotten that I'd booted into the hypervisor instead
of directly into the linux kernel, and tried to start a VirtualBox guest. That
resulted in a hard reset of the host system.

I don't expect to be able to run a virtual machine system inside of a virtual
machine system, but also don't expect it to cause a hard reset of the physical
machine.

Regards, Dave Hodgins


