Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Feb 2016 23:17:40 +0000
From:      Jac Backus <j.backus@bugworks.com>
To:        'Dexuan Cui' <decui@microsoft.com>, "Sephe Qiao (Wicresoft)" <v-yanqia@microsoft.com>, Kylie Liang <kyliel@microsoft.com>, "'freebsd-virtualization@freebsd.org'" <freebsd-virtualization@freebsd.org>, BSD Integration Components for Hyper-V <bsdic@microsoft.com>
Subject:   RE: Hyper-V networking: problem after upgrade to 10.2
Message-ID:  <53238096372f4362b436382a430bde57@ORTELIUS.internal.bugworks.com>
In-Reply-To: <17b639f383df4f42b1e050f6e40d1ad2@HKXPR3004MB0088.064d.mgd.msft.net>
References:  <cdb46889a0164856987da43537a104de@ORTELIUS.internal.bugworks.com> <8572369fcc3b408891fc1a5a7d11e892@SG2PR3002MB0107.064d.mgd.msft.net> <bcca15b9c5cd4e0db3d80b40bde7405a@HKXPR3004MB0088.064d.mgd.msft.net> <1430812ff38c4e08a4b91ea25fdb5a7b@HKXPR3004MB0088.064d.mgd.msft.net> <1fdbb9b939c54e31ac00329f61bf6f41@ORTELIUS.internal.bugworks.com> <2323532a95934cdfae0142a9d6f88fd8@SG2PR3004MB0090.064d.mgd.msft.net> <2b22a9544c6c4ff3b017133a346e75e2@SG2PR3004MB0090.064d.mgd.msft.net> <7df41cc958ee408297487d4ffbb91903@HKXPR3004MB0088.064d.mgd.msft.net> <4e85ad234a0b4618ae5862fbcd266e3d@ORTELIUS.internal.bugworks.com> <0f761afc10864ad3aeb89ee7c9b6e8ac@HKXPR3004MB0088.064d.mgd.msft.net> <d1f0f7492a8d4bcca6acc4e7062e7855@ORTELIUS.internal.bugworks.com> <4105829efb1e4b3a91bc17f7fbdf8ac8@HKXPR3004MB0088.064d.mgd.msft.net> <0ce04bf413204478b1e7cc71ac28ecac@ORTELIUS.internal.bugworks.com> <1aba0d827b9041b79b85a09cf70e52b1@HKXPR3004MB0088.064d.mgd.msft.net> <dab71654578744c99e0ca2f800df7929@ORTELIUS.internal.bugworks.com> <d4e895d3f7324773bbe3459bc6522dd3@HKXPR3004MB0088.064d.mgd.msft.net> <e23579410d8240fd92e21cbd5bec98ac@ORTELIUS.internal.bugworks.com> <4a98b41221ed4c3b84a8c733aa23f24d@HKXPR3004MB0088.064d.mgd.msft.net> <d9312cab2a514d2790d4ad6e452b1c05@ORTELIUS.internal.bugworks.com> <da559e9f67414d6baa0a57267a64d837@HKXPR3004MB0088.064d.mgd.msft.net> <5a09277abe094f5989fb145c12a511df@ORTELIUS.internal.bugworks.com> <17b639f383df4f42b1e050f6e40d1ad2@HKXPR3004MB0088.064d.mgd.msft.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--_007_53238096372f4362b436382a430bde57ORTELIUSinternalbugwork_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hello Dexuan,

The first patch gives no messages.
When trying the second:

112 # patch -sp1 < 1e469c559048fe6ec3641da3bb21ab87215c6506.patch
1 out of 7 hunks failed--saving rejects to sys/dev/hyperv/vmbus/hv_channel_=
mgmt.c.rej

Attached you find the patched file (as a session log).

With kind regards,

Jac



Van: Dexuan Cui [mailto:decui@microsoft.com]
Verzonden: woensdag 3 februari 2016 10:05
Aan: Jac Backus; Sephe Qiao (Wicresoft); Kylie Liang; 'freebsd-virtualizati=
on@freebsd.org'; BSD Integration Components for Hyper-V
Onderwerp: RE: Hyper-V networking: problem after upgrade to 10.2

Thanks for the confirmation, Jac.

I might be wrong with 10.1 - it may not have the issue.
In 10.2 we made a lot of changes and I think the race condition was introdu=
ced.

To test the 2 patches, you can do something like

cd /usr/src
(supposing the 10.2 kernel code is in the sys/ sub-directory)
wget https://github.com/freebsd/freebsd/commit/850d0994e48b0ef68d33875e2632=
6d44931fcf1e.patch
patch -sp1 < 850d0994e48b0ef68d33875e26326d44931fcf1e.patch
wget https://github.com/freebsd/freebsd/commit/1e469c559048fe6ec3641da3bb21=
ab87215c6506.patch
patch -sp1 < 1e469c559048fe6ec3641da3bb21ab87215c6506.patch
make buildkernel KERNCONF=3DGENERIC -j8
make installkernel
reboot

You may get a small issue when applying the second patch as I did:
1 out of 8 hunks failed--saving rejects to sys/dev/hyperv/vmbus/hv_channel_=
mgmt.c.rej
You can fix this by checking the .patch/.c files and manually editing the .=
c file.

Thanks,
-- Dexuan

From: Jac Backus [mailto:j.backus@bugworks.com]
Sent: Wednesday, February 3, 2016 16:10
To: Dexuan Cui <decui@microsoft.com<mailto:decui@microsoft.com>>; Sephe Qia=
o (Wicresoft) <v-yanqia@microsoft.com<mailto:v-yanqia@microsoft.com>>; Kyli=
e Liang <kyliel@microsoft.com<mailto:kyliel@microsoft.com>>; 'freebsd-virtu=
alization@freebsd.org' <freebsd-virtualization@freebsd.org<mailto:freebsd-v=
irtualization@freebsd.org>>; BSD Integration Components for Hyper-V <bsdic@=
microsoft.com<mailto:bsdic@microsoft.com>>
Subject: RE: Hyper-V networking: problem after upgrade to 10.2

Good day Dexuan,

I think it is.
I should like to test. Are there some instructions for patching the 10.2 ke=
rnel source?
You mention 10.1 too, but I never had the problem with 10.1.

Thanks very for your kind help!

With kind regards,

Jac

Van: Dexuan Cui [mailto:decui@microsoft.com]
Verzonden: woensdag 3 februari 2016 1:50
Aan: Jac Backus; Sephe Qiao (Wicresoft); Kylie Liang; 'freebsd-virtualizati=
on@freebsd.org'; BSD Integration Components for Hyper-V
Onderwerp: RE: Hyper-V networking: problem after upgrade to 10.2

Jac, really great news!

So, can I think the whole issue in your side is caused by Bug 205156?
The fix to the bug has been in the 10/stable branch and should be in the co=
ming 10.3.
For 10.1 and 10.2 , I'm afraid you'll have to manually apply the patches an=
d build a new kernel.

BTW, the bug is actually a race condition when the netvsc driver registers =
multiple NIC devices, so sometimes we can easily repro the issue and someti=
mes we can't.

Thanks,
-- Dexuan

From: Jac Backus [mailto:j.backus@bugworks.com]
Sent: Wednesday, February 3, 2016 2:28
To: Dexuan Cui <decui@microsoft.com<mailto:decui@microsoft.com>>; Sephe Qia=
o (Wicresoft) <v-yanqia@microsoft.com<mailto:v-yanqia@microsoft.com>>; Kyli=
e Liang <kyliel@microsoft.com<mailto:kyliel@microsoft.com>>; 'freebsd-virtu=
alization@freebsd.org' <freebsd-virtualization@freebsd.org<mailto:freebsd-v=
irtualization@freebsd.org>>; BSD Integration Components for Hyper-V <bsdic@=
microsoft.com<mailto:bsdic@microsoft.com>>
Subject: RE: Hyper-V networking: problem after upgrade to 10.2

Dexuan, you are briljant!
That is the problem: Hn0 has the mac address of hn1, hn1 of hn2 and hn2 of =
hn0. So they have shifted one position to the left.

With kind regards,

Jac

Van: Dexuan Cui [mailto:decui@microsoft.com]
Verzonden: maandag 1 februari 2016 10:41
Aan: Jac Backus; Sephe Qiao (Wicresoft); Kylie Liang; 'freebsd-virtualizati=
on@freebsd.org'; BSD Integration Components for Hyper-V
Onderwerp: RE: Hyper-V networking: problem after upgrade to 10.2

Hmm, it's really strange... what's the difference between your existing 10.=
1 VM and a fresh 10.1 VM... :(

BTW,  please check if you are seeing this bug (it looks in your side the ne=
twork can stop working after a VM reboot):
Bug 205156 - [Hyper-V] NICs' (hn0, hn1) MAC addresses can appear in an unce=
rtain way across reboot (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=
=3D205156<https://na01.safelinks.protection.outlook.com/?url=3Dhttps%3a%2f%=
2fbugs.freebsd.org%2fbugzilla%2fshow_bug.cgi%3fid%3d205156&data=3D01%7c01%7=
cdecui%40064d.mgd.microsoft.com%7ce1d0508d7e1a475e9c5d08d32bfef518%7c72f988=
bf86f141af91ab2d7cd011db47%7c1&sdata=3DSIv6Bi0qESksmQD3f1UKYUkoV9yGRL1xajG6=
K1qSdZA%3d>)?

Thanks,
-- Dexuan

From: Jac Backus [mailto:j.backus@bugworks.com]
Sent: Monday, February 1, 2016 17:17
To: Dexuan Cui <decui@microsoft.com<mailto:decui@microsoft.com>>; Sephe Qia=
o (Wicresoft) <v-yanqia@microsoft.com<mailto:v-yanqia@microsoft.com>>; Kyli=
e Liang <kyliel@microsoft.com<mailto:kyliel@microsoft.com>>; 'freebsd-virtu=
alization@freebsd.org' <freebsd-virtualization@freebsd.org<mailto:freebsd-v=
irtualization@freebsd.org>>; BSD Integration Components for Hyper-V <bsdic@=
microsoft.com<mailto:bsdic@microsoft.com>>
Subject: RE: Hyper-V networking: problem after upgrade to 10.2

Good day Dexuan,

I did. Unfortunately, no difference.
And at the moment the server is running on the 10.2 kernel:

uname -a
FreeBSD roadrunner.acme.inc 10.2-RELEASE-p9 FreeBSD 10.2-RELEASE-p9 #0: Thu=
 Jan 14 01:32:46 UTC 2016     root@amd64-builder.daemonology.net:/usr/obj/u=
sr/src/sys/GENERIC<mailto:root@amd64-builder.daemonology.net:/usr/obj/usr/s=
rc/sys/GENERIC>  amd64

But there is a big chance, that after a reboot, the network is gone again.
I will see if, when it works, it keeps working. I suppose it does.

With kind regards,

Jac

Van: Dexuan Cui [mailto:decui@microsoft.com]
Verzonden: maandag 1 februari 2016 3:07
Aan: Jac Backus; Sephe Qiao (Wicresoft); Kylie Liang; 'freebsd-virtualizati=
on@freebsd.org'; BSD Integration Components for Hyper-V
Onderwerp: RE: Hyper-V networking: problem after upgrade to 10.2

Hi Jac,
Good to know this!
It looks to me something in the VM or in the host might be causing the issu=
e???

Can you please do another quick test: shut down the "buggy" VM and remove i=
t in Hyper-V Manager (this will keep the .vhdx image) and then re-create th=
e VM with the .vhdx image?

Thanks,
-- Dexuan

From: Jac Backus [mailto:j.backus@bugworks.com]
Sent: Sunday, January 31, 2016 23:21
To: Dexuan Cui <decui@microsoft.com<mailto:decui@microsoft.com>>; Sephe Qia=
o (Wicresoft) <v-yanqia@microsoft.com<mailto:v-yanqia@microsoft.com>>; Kyli=
e Liang <kyliel@microsoft.com<mailto:kyliel@microsoft.com>>; 'freebsd-virtu=
alization@freebsd.org' <freebsd-virtualization@freebsd.org<mailto:freebsd-v=
irtualization@freebsd.org>>; BSD Integration Components for Hyper-V <bsdic@=
microsoft.com<mailto:bsdic@microsoft.com>>
Subject: RE: Hyper-V networking: problem after upgrade to 10.2

Hello Dexuan,

I did a fresh install of a 10.1 VM and upgraded it to 10.2. Is looks like i=
t works well.

With kind regards,

Jac


Van: Dexuan Cui [mailto:decui@microsoft.com]
Verzonden: zondag 31 januari 2016 7:07
Aan: Jac Backus; Sephe Qiao (Wicresoft); Kylie Liang; 'freebsd-virtualizati=
on@freebsd.org'; BSD Integration Components for Hyper-V
Onderwerp: RE: Hyper-V networking: problem after upgrade to 10.2

Hi Jac,
Good to know the information.

Since I can't repro the issue, it's difficult for me to debug it. :(
I'm guessing if it would help if you use a permanent ARP entry in the VM ("=
arp -s hostname ether_addr") for the other end - surely this is only for de=
bug purpose.

During the VM boot-up, can you keep pinging the VM from the other host. I m=
ean: it looks the NIC never works since it becomes UP in the VM?

BTW, I'm not sure if it's easy for you to do the same test as mine, i.e., d=
o a fresh installation of 10.1 VM and upgrade it to 10.2.

@Sephe, any idea?

Thanks,
-- Dexuan

From: Jac Backus [mailto:j.backus@bugworks.com]
Sent: Sunday, January 31, 2016 3:42
To: Dexuan Cui <decui@microsoft.com<mailto:decui@microsoft.com>>; Sephe Qia=
o (Wicresoft) <v-yanqia@microsoft.com<mailto:v-yanqia@microsoft.com>>; Kyli=
e Liang <kyliel@microsoft.com<mailto:kyliel@microsoft.com>>; 'freebsd-virtu=
alization@freebsd.org' <freebsd-virtualization@freebsd.org<mailto:freebsd-v=
irtualization@freebsd.org>>; BSD Integration Components for Hyper-V <bsdic@=
microsoft.com<mailto:bsdic@microsoft.com>>
Subject: RE: Hyper-V networking: problem after upgrade to 10.2

Good day Dexuan,

There is something wrong with getting mac addresses for host on the lan, it=
 seems.

When I ping the 10.2 server from a host on the net, I see on that host  arp=
 requests  (Wireshark: who has ... Tell ...) for the 10.2 server.

Arp -a on the 10.2 server itself says for the non-server entries
 ? <address> at (imcomplete) on hn0 expired [ethernet]

Tcpdump on the 10.2 server only shows arp requests:
ARP, Request who-has ... tell ...

Does this help?

With kind regards,

Jac
Van: Dexuan Cui [mailto:decui@microsoft.com]
Verzonden: vrijdag 29 januari 2016 9:59
Aan: Jac Backus; Sephe Qiao (Wicresoft); Kylie Liang; 'freebsd-virtualizati=
on@freebsd.org'; BSD Integration Components for Hyper-V
Onderwerp: RE: Hyper-V networking: problem after upgrade to 10.2

Hmm, it's strange we can't repro.

I suppose you can't ping the netgate VM (or machine) 's IP address either? =
When this happens, can you check the arp table in both sides?
Can you please run tcpdump in the VM and in the gateway to diagnose the iss=
ue?

Thanks,
-- Dexuan

From: Jac Backus [mailto:j.backus@bugworks.com]
Sent: Friday, January 29, 2016 15:36
To: Dexuan Cui <decui@microsoft.com<mailto:decui@microsoft.com>>; Sephe Qia=
o (Wicresoft) <v-yanqia@microsoft.com<mailto:v-yanqia@microsoft.com>>; Kyli=
e Liang <kyliel@microsoft.com<mailto:kyliel@microsoft.com>>; 'freebsd-virtu=
alization@freebsd.org' <freebsd-virtualization@freebsd.org<mailto:freebsd-v=
irtualization@freebsd.org>>; BSD Integration Components for Hyper-V <bsdic@=
microsoft.com<mailto:bsdic@microsoft.com>>
Subject: RE: Hyper-V networking: problem after upgrade to 10.2

Hello Dexuan,

That remarkable.
My uname -a is indentical.

I can ping local interfaces. Ping to other addresses in local subnet gives:=
 Ping: sendto: Host is down. Ping to other addresses gives: Ping: sendto: N=
o route to host.
Routing tables (netstat -rn) for both versions look the same.

Is there something I can test?

With kind regards,

Jac

Van: Dexuan Cui [mailto:decui@microsoft.com]
Verzonden: vrijdag 29 januari 2016 4:25
Aan: Jac Backus; Sephe Qiao (Wicresoft); Kylie Liang; 'freebsd-virtualizati=
on@freebsd.org'; BSD Integration Components for Hyper-V
Onderwerp: RE: Hyper-V networking: problem after upgrade to 10.2


Hi Jac,

I installed a 10.1 VM with FreeBSD-10.1-RELEASE-amd64-dvd1.iso and upgraded=
 it to 10.2 by running "freebsd-update upgrade -r 10.2-RELEASE".
Everything worked just fine. With the new kernel (see the below), ssh and s=
cp still works fine for me.

# uname -a
FreeBSD bsd101 10.2-RELEASE-p9 FreeBSD 10.2-RELEASE-p9 #0: Thu Jan 14 01:32=
:46 UTC 2016     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GE=
NERIC<mailto:root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERI=
C>  amd64

What's the specific symptom for "networking does not work anymore" in your =
side(upgrading from 10.1 to 10.2)?

Thanks,
-- Dexuan

From: Jac Backus [mailto:j.backus@bugworks.com]
Sent: Wednesday, January 27, 2016 17:35
To: Dexuan Cui <decui@microsoft.com<mailto:decui@microsoft.com>>; Sephe Qia=
o (Wicresoft) <v-yanqia@microsoft.com<mailto:v-yanqia@microsoft.com>>; Kyli=
e Liang <kyliel@microsoft.com<mailto:kyliel@microsoft.com>>; 'freebsd-virtu=
alization@freebsd.org' <freebsd-virtualization@freebsd.org<mailto:freebsd-v=
irtualization@freebsd.org>>; BSD Integration Components for Hyper-V <bsdic@=
microsoft.com<mailto:bsdic@microsoft.com>>
Subject: RE: Hyper-V networking: problem after upgrade to 10.2

Hello Dexuan,

Unfortunetely, no OACTIVE flag:

hn0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3D31b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,TSO4,TSO6>

With kind regards,

Jac

Van: Dexuan Cui [mailto:decui@microsoft.com]
Verzonden: woensdag 27 januari 2016 4:09
Aan: Sephe Qiao (Wicresoft); Jac Backus; Kylie Liang; 'freebsd-virtualizati=
on@freebsd.org'; BSD Integration Components for Hyper-V
Onderwerp: RE: Hyper-V networking: problem after upgrade to 10.2

Hi Jac,
Please show 'ifconfig -a' when the issue happens (when you upgrade 10.1 fro=
m 10.2).
We suspect it may be a known OACTIVE issue and "ifconfig -a' can confirm th=
is, the output has the string "OACTIVE".

It looks somehow the issue doesn't happen when we use a 10.2 fresh installa=
tion.

Thanks,
-- Dexuan

From: Sephe Qiao (Wicresoft)
Sent: Wednesday, January 27, 2016 9:13
To: Jac Backus <j.backus@bugworks.com<mailto:j.backus@bugworks.com>>; Dexua=
n Cui <decui@microsoft.com<mailto:decui@microsoft.com>>; Kylie Liang <kylie=
l@microsoft.com<mailto:kyliel@microsoft.com>>; 'freebsd-virtualization@free=
bsd.org' <freebsd-virtualization@freebsd.org<mailto:freebsd-virtualization@=
freebsd.org>>; BSD Integration Components for Hyper-V <bsdic@microsoft.com<=
mailto:bsdic@microsoft.com>>
Subject: RE: Hyper-V networking: problem after upgrade to 10.2

Oh, please ignore this, I think its solved :)

From: Sephe Qiao (Wicresoft)
Sent: Wednesday, January 27, 2016 9:10 AM
To: Jac Backus <j.backus@bugworks.com<mailto:j.backus@bugworks.com>>; Dexua=
n Cui <decui@microsoft.com<mailto:decui@microsoft.com>>; Kylie Liang <kylie=
l@microsoft.com<mailto:kyliel@microsoft.com>>; 'freebsd-virtualization@free=
bsd.org' <freebsd-virtualization@freebsd.org<mailto:freebsd-virtualization@=
freebsd.org>>; BSD Integration Components for Hyper-V <bsdic@microsoft.com<=
mailto:bsdic@microsoft.com>>
Subject: RE: Hyper-V networking: problem after upgrade to 10.2

Hi Jac,

What's the output of 'ifconfig -a' when this happened?

Thanks,
sephe

From: Jac Backus [mailto:j.backus@bugworks.com]
Sent: Tuesday, January 26, 2016 6:37 PM
To: Dexuan Cui <decui@microsoft.com<mailto:decui@microsoft.com>>; Kylie Lia=
ng <kyliel@microsoft.com<mailto:kyliel@microsoft.com>>; 'freebsd-virtualiza=
tion@freebsd.org' <freebsd-virtualization@freebsd.org<mailto:freebsd-virtua=
lization@freebsd.org>>; BSD Integration Components for Hyper-V <bsdic@micro=
soft.com<mailto:bsdic@microsoft.com>>
Subject: RE: Hyper-V networking: problem after upgrade to 10.2


Hello Dexuan,



It seems, it is not completely correct, although the effect is as if it is =
not working.

Systat -ifstat 1 shows this:

[cid:image001.png@01D159DA.65A3A0E0]



So something is happening. But I can not reach anything. And the server can=
 not be reached from the lan (hn0) or internet (hn1 and hn2).



I get a firewall message in /var/log/messages (first message from 11:18:55)=
:

[cid:image002.png@01D159DA.65A3A0E0]

But this is just caused by the problem?



If I can help with further information, please let me know.



Regarding Bug 187006, all interfaces have fixed addresses.



With kind regards,



Jac







-----Oorspronkelijk bericht-----
Van: Dexuan Cui [mailto:decui@microsoft.com]
Verzonden: dinsdag 26 januari 2016 7:55
Aan: Kylie Liang; Jac Backus; 'freebsd-virtualization@freebsd.org'; BSD Int=
egration Components for Hyper-V
Onderwerp: RE: Hyper-V networking: problem after upgrade to 10.2



Hi Jac,

BTW,  what do you mean by saying "networking does not work anymore" -- can =
you please check if your issue is the same as



Bug 187006 - [hyper-v] dynamic address (dhcp) obtaining doesn't work on HYP=
ER-V OS 2012 R2

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D187006<https://na01.saf=
elinks.protection.outlook.com/?url=3Dhttps%3a%2f%2fbugs.freebsd.org%2fbugzi=
lla%2fshow_bug.cgi%3fid%3d187006&data=3D01%7c01%7cv-yanqia%40064d.mgd.micro=
soft.com%7cef82474449e745da88c908d3263e7e48%7c72f988bf86f141af91ab2d7cd011d=
b47%7c1&sdata=3D1IyQb3x7ecm%2f6uESQmVAAyAyOQr4ZMJ3Fkawp93dZgQ%3d> ?



Thanks,

-- Dexuan





> -----Original Message-----

> From: Dexuan Cui

> Sent: Tuesday, January 26, 2016 14:49

> To: Kylie Liang <kyliel@microsoft.com<mailto:kyliel@microsoft.com>>; Jac =
Backus

> <j.backus@bugworks.com<mailto:j.backus@bugworks.com>>; 'freebsd-virtualiz=
ation@freebsd.org'

> <freebsd-virtualization@freebsd.org<mailto:freebsd-virtualization@freebsd=
.org>>; BSD Integration Components for

> Hyper-V <bsdic@microsoft.com<mailto:bsdic@microsoft.com>>

> Subject: RE: Hyper-V networking: problem after upgrade to 10.2

>

> Hi Jac,

> Kylie meant disabling TSO. Please try this ("ifconfig hn0 -tso").

>

> The message " hn0: unknown status 1073872902 received" should be an

> unnecessary warning only.

> My 10.2 VM can work fine even if I see the message too.

>

> Can you please install a 10.2 VM from the 10.2 .ISO file directly as I

> did and see if it works for you?

>

> I guess we never tried upgrading 10.1 from 10.2.

> Can you please list the steps how you did the upgrading? We'll try the

> same steps.

>

> Thanks,

> -- Dexuan

>

> > -----Original Message-----

> > From: Kylie Liang

> > Sent: Tuesday, January 26, 2016 8:01

> > To: Jac Backus <j.backus@bugworks.com<mailto:j.backus@bugworks.com>>; '=
freebsd-

> virtualization@freebsd.org<mailto:virtualization@freebsd.org>'

> > <freebsd-virtualization@freebsd.org<mailto:freebsd-virtualization@freeb=
sd.org>>; BSD Integration Components for

> > Hyper-

> V

> > <bsdic@microsoft.com<mailto:bsdic@microsoft.com>>

> > Subject: RE: Hyper-V networking: problem after upgrade to 10.2

> >

> > Hi Jac,

> >

> > Thank you for asking. To isolate your issue, could you please try

> > disabling SO

> on

> > your 10.2 system first? Thank you.

> >

> > And I would like to confirm with you

> > 1) You met issue for 10.2 kernel + 10.2 system

> > 2) No issue for 10.1 kernel + 10.1 system

> > 3) No issue for 10.1 kernel + 10.2 system

> >

> > Right? And add our engineers in the list.

> >

> > Thanks,

> > Kylie Liang

> >

> > -----Original Message-----

> > From: owner-freebsd-virtualization@freebsd.org<mailto:owner-freebsd-vir=
tualization@freebsd.org>

> > [mailto:owner-freebsd- virtualization@freebsd.org<mailto:virtualization=
@freebsd.org>] On Behalf Of Jac

> > Backus

> > Sent: Tuesday, January 26, 2016 5:56 AM

> > To: 'freebsd-virtualization@freebsd.org'

> > <freebsd-virtualization@freebsd.org<mailto:freebsd-virtualization@freeb=
sd.org>>

> > Subject: Hyper-V networking: problem after upgrade to 10.2

> >

> > Dear reader,

> >

> > Today, I did  upgrade  FreeBSD 10.1 to 10.2 running on Hyper-V on a

> > full

> patched

> > Windows Server 2012 R2 x64 version.

> >

> > After the update, networking does not work anymore.

> >

> > In /var/log/messages is this:

> >

> > Jan 25 21:02:01 mercurius kernel: hn0: <Synthetic Network Interface>

> > on

> > vmbus0 Jan 25 21:02:01 mercurius kernel: hn0: unknown status

> > 1073872902 received Jan 25 21:02:01 mercurius kernel: hn0: unknown

> > status 1073872902 received Jan 25 21:02:01 mercurius kernel: hn0: hv

> > send offload request succeeded Jan 25 21:02:01 mercurius kernel: hn0: U=
sing defaults for TSO:

> > 65518/35/2048 Jan 25 21:02:01 mercurius kernel: hn0: Ethernet address:

> > 00:15:5d:ac:11:08 Jan 25 21:02:01 mercurius kernel: hn1: <Synthetic

> > Network

> > Interface> on vmbus0 Jan 25 21:02:01 mercurius kernel: hn1: unknown

> > Interface> status

> > 1073872902 received Jan 25 21:02:01 mercurius kernel: hn1: unknown

> > status

> > 1073872902 received Jan 25 21:02:01 mercurius kernel: hn1: hv send

> > offload request succeeded Jan 25 21:02:01 mercurius kernel: hn1:

> > Using defaults for

> TSO:

> > 65518/35/2048 Jan 25 21:02:01 mercurius kernel: hn1: Ethernet address:

> > 00:15:5d:ac:11:09 Jan 25 21:02:01 mercurius kernel: hn2: <Synthetic

> > Network

> > Interface> on vmbus0 Jan 25 21:02:01 mercurius kernel: hn2: unknown

> > Interface> status

> > 1073872902 received Jan 25 21:02:01 mercurius kernel: hn2: unknown

> > status

> > 1073872902 received Jan 25 21:02:01 mercurius kernel: hn2: hv send

> > offload request succeeded Jan 25 21:02:01 mercurius kernel: hn2:

> > Using defaults for

> TSO:

> > 65518/35/2048 Jan 25 21:02:01 mercurius kernel: hn2: Ethernet address:

> > 00:15:5d:ac:11:07

> >

> > It worked fine with the 10.1 kernel, and when I boot this kernel, it wo=
rks again:

> >

> > Jan 25 22:20:02 mercurius kernel: hn0: <Synthetic Network Interface>

> > on

> > vmbus0 Jan 25 22:20:02 mercurius kernel: hn0: Ethernet address:

> > 00:15:5d:ac:11:07 Jan 25 22:20:02 mercurius kernel: hn1: <Synthetic

> > Network

> > Interface> on vmbus0 Jan 25 22:20:02 mercurius kernel: hn1: Ethernet ad=
dress:

> > 00:15:5d:ac:11:08 Jan 25 22:20:02 mercurius kernel: hn2: <Synthetic

> > Network

> > Interface> on vmbus0 Jan 25 22:20:02 mercurius kernel: hn2: Ethernet ad=
dress:

> > 00:15:5d:ac:11:09

> >

> > So I am running  a 10.2 system on a 10.1 kernel at the moment.

> >

> > I found nothing in /usr/src/UPDATING and not really anything on the net=
.

> >

> > So, could you tell why does this happen, and how can I solve this?

> >

> > Thanks for the help!

> >

> > With kind regards,

> >

> > Jac Backus

> >

> >

> >

> > _______________________________________________

> > freebsd-virtualization@freebsd.org<mailto:freebsd-virtualization@freebs=
d.org> mailing list

> >

> https://na01.safelinks.protection.outlook.com/?url=3Dhttps%3a%2f%2flists

> .freebs

> > d.org%2fmailman%2flistinfo%2ffreebsd-

> >

> virtualization&data=3D01%7c01%7ckyliel%40064d.mgd.microsoft.com%7cc9ca2e

> >

> 0d0fef482b553f08d325d3aefb%7c72f988bf86f141af91ab2d7cd011db47%7c1&s

> > data=3Do%2bMZGuBW0frrQhjAPkhrWlLgNEH8LJ7BiLUyiO4tvR0%3d

> > To unsubscribe, send any mail to "freebsd-virtualization-

> > unsubscribe@freebsd.org<mailto:unsubscribe@freebsd.org>"

--_007_53238096372f4362b436382a430bde57ORTELIUSinternalbugwork_
Content-Type: application/octet-stream; name="session001.log"
Content-Description: session001.log
Content-Disposition: attachment; filename="session001.log"; size=29592;
	creation-date="Wed, 03 Feb 2016 23:12:39 GMT";
	modification-date="Wed, 03 Feb 2016 23:14:28 GMT"
Content-Transfer-Encoding: base64

77u/ICMgY2F0IHN5cy9kZXYvaHlwZXJ2L3ZtYnVzL2h2X2NoYW5uZWxfbWdtdC5jDQovKi0NCiAq
IENvcHlyaWdodCAoYykgMjAwOS0yMDEyIE1pY3Jvc29mdCBDb3JwLg0KICogQ29weXJpZ2h0IChj
KSAyMDEyIE5ldEFwcCBJbmMuDQogKiBDb3B5cmlnaHQgKGMpIDIwMTIgQ2l0cml4IEluYy4NCiAq
IEFsbCByaWdodHMgcmVzZXJ2ZWQuDQogKg0KICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQogKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCiAq
IGFyZSBtZXQ6DQogKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KICogICAgbm90aWNlIHVubW9kaWZpZWQsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zLCBhbmQgdGhlIGZvbGxvd2luZw0KICogICAgZGlzY2xhaW1lci4NCiAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0DQogKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQogKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KICoNCiAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFO
WSBFWFBSRVNTIE9SDQogKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTDQogKiBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELg0KICog
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULA0KICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUDQogKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsDQogKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkNCiAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQNCiAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRg0KICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4N
CiAqLw0KDQojaW5jbHVkZSA8c3lzL2NkZWZzLmg+DQpfX0ZCU0RJRCgiJEZyZWVCU0Q6IHJlbGVu
Zy8xMC4yL3N5cy9kZXYvaHlwZXJ2L3ZtYnVzL2h2X2NoYW5uZWxfbWdtdC5jIDI4MzI4MCAyMDE1
LTA1LTIyIDA5OjAzOjU1WiB3aHUgJCIpOw0KDQojaW5jbHVkZSA8c3lzL3BhcmFtLmg+DQojaW5j
bHVkZSA8c3lzL21idWYuaD4NCg0KI2luY2x1ZGUgImh2X3ZtYnVzX3ByaXYuaCINCg0KLyoNCiAq
IEludGVybmFsIGZ1bmN0aW9ucw0KICovDQoNCnN0YXRpYyB2b2lkIHZtYnVzX2NoYW5uZWxfb25f
b2ZmZXIoaHZfdm1idXNfY2hhbm5lbF9tc2dfaGVhZGVyKiBoZHIpOw0Kc3RhdGljIHZvaWQgdm1i
dXNfY2hhbm5lbF9vbl9vcGVuX3Jlc3VsdChodl92bWJ1c19jaGFubmVsX21zZ19oZWFkZXIqIGhk
cik7DQpzdGF0aWMgdm9pZCB2bWJ1c19jaGFubmVsX29uX29mZmVyX3Jlc2NpbmQoaHZfdm1idXNf
Y2hhbm5lbF9tc2dfaGVhZGVyKiBoZHIpOw0Kc3RhdGljIHZvaWQgdm1idXNfY2hhbm5lbF9vbl9n
cGFkbF9jcmVhdGVkKGh2X3ZtYnVzX2NoYW5uZWxfbXNnX2hlYWRlciogaGRyKTsNCnN0YXRpYyB2
b2lkIHZtYnVzX2NoYW5uZWxfb25fZ3BhZGxfdG9ybmRvd24oaHZfdm1idXNfY2hhbm5lbF9tc2df
aGVhZGVyKiBoZHIpOw0Kc3RhdGljIHZvaWQgdm1idXNfY2hhbm5lbF9vbl9vZmZlcnNfZGVsaXZl
cmVkKGh2X3ZtYnVzX2NoYW5uZWxfbXNnX2hlYWRlciogaGRyKTsNCnN0YXRpYyB2b2lkIHZtYnVz
X2NoYW5uZWxfb25fdmVyc2lvbl9yZXNwb25zZShodl92bWJ1c19jaGFubmVsX21zZ19oZWFkZXIq
IGhkcik7DQpzdGF0aWMgdm9pZCB2bWJ1c19jaGFubmVsX3Byb2Nlc3Nfb2ZmZXIodm9pZCAqY29u
dGV4dCk7DQpzdHJ1Y3QgaHZfdm1idXNfY2hhbm5lbCoNCiAgICB2bWJ1c19zZWxlY3Rfb3V0Z29p
bmdfY2hhbm5lbChzdHJ1Y3QgaHZfdm1idXNfY2hhbm5lbCAqcHJvbWFyeSk7DQoNCi8qKg0KICog
Q2hhbm5lbCBtZXNzYWdlIGRpc3BhdGNoIHRhYmxlDQogKi8NCmh2X3ZtYnVzX2NoYW5uZWxfbXNn
X3RhYmxlX2VudHJ5DQogICAgZ19jaGFubmVsX21lc3NhZ2VfdGFibGVbSFZfQ0hBTk5FTF9NRVNT
QUdFX0NPVU5UXSA9IHsNCiAgICAgICAgeyBIVl9DSEFOTkVMX01FU1NBR0VfSU5WQUxJRCwNCiAg
ICAgICAgICAgICAgICAwLCBOVUxMIH0sDQogICAgICAgIHsgSFZfQ0hBTk5FTF9NRVNTQUdFX09G
RkVSX0NIQU5ORUwsDQogICAgICAgICAgICAgICAgMCwgdm1idXNfY2hhbm5lbF9vbl9vZmZlciB9
LA0KICAgICAgICB7IEhWX0NIQU5ORUxfTUVTU0FHRV9SRVNDSU5EX0NIQU5ORUxfT0ZGRVIsDQog
ICAgICAgICAgICAgICAgMCwgdm1idXNfY2hhbm5lbF9vbl9vZmZlcl9yZXNjaW5kIH0sDQogICAg
ICAgIHsgSFZfQ0hBTk5FTF9NRVNTQUdFX1JFUVVFU1RfT0ZGRVJTLA0KICAgICAgICAgICAgICAg
IDAsIE5VTEwgfSwNCiAgICAgICAgeyBIVl9DSEFOTkVMX01FU1NBR0VfQUxMX09GRkVSU19ERUxJ
VkVSRUQsDQogICAgICAgICAgICAgICAgMSwgdm1idXNfY2hhbm5lbF9vbl9vZmZlcnNfZGVsaXZl
cmVkIH0sDQogICAgICAgIHsgSFZfQ0hBTk5FTF9NRVNTQUdFX09QRU5fQ0hBTk5FTCwNCiAgICAg
ICAgICAgICAgICAwLCBOVUxMIH0sDQogICAgICAgIHsgSFZfQ0hBTk5FTF9NRVNTQUdFX09QRU5f
Q0hBTk5FTF9SRVNVTFQsDQogICAgICAgICAgICAgICAgMSwgdm1idXNfY2hhbm5lbF9vbl9vcGVu
X3Jlc3VsdCB9LA0KICAgICAgICB7IEhWX0NIQU5ORUxfTUVTU0FHRV9DTE9TRV9DSEFOTkVMLA0K
ICAgICAgICAgICAgICAgIDAsIE5VTEwgfSwNCiAgICAgICAgeyBIVl9DSEFOTkVMX01FU1NBR0VM
X0dQQURMX0hFQURFUiwNCiAgICAgICAgICAgICAgICAwLCBOVUxMIH0sDQogICAgICAgIHsgSFZf
Q0hBTk5FTF9NRVNTQUdFX0dQQURMX0JPRFksDQogICAgICAgICAgICAgICAgMCwgTlVMTCB9LA0K
ICAgICAgICB7IEhWX0NIQU5ORUxfTUVTU0FHRV9HUEFETF9DUkVBVEVELA0KICAgICAgICAgICAg
ICAgIDEsIHZtYnVzX2NoYW5uZWxfb25fZ3BhZGxfY3JlYXRlZCB9LA0KICAgICAgICB7IEhWX0NI
QU5ORUxfTUVTU0FHRV9HUEFETF9URUFSRE9XTiwNCiAgICAgICAgICAgICAgICAwLCBOVUxMIH0s
DQogICAgICAgIHsgSFZfQ0hBTk5FTF9NRVNTQUdFX0dQQURMX1RPUk5ET1dOLA0KICAgICAgICAg
ICAgICAgIDEsIHZtYnVzX2NoYW5uZWxfb25fZ3BhZGxfdG9ybmRvd24gfSwNCiAgICAgICAgeyBI
Vl9DSEFOTkVMX01FU1NBR0VfUkVMX0lEX1JFTEVBU0VELA0KICAgICAgICAgICAgICAgIDAsIE5V
TEwgfSwNCiAgICAgICAgeyBIVl9DSEFOTkVMX01FU1NBR0VfSU5JVElBVEVEX0NPTlRBQ1QsDQog
ICAgICAgICAgICAgICAgMCwgTlVMTCB9LA0KICAgICAgICB7IEhWX0NIQU5ORUxfTUVTU0FHRV9W
RVJTSU9OX1JFU1BPTlNFLA0KICAgICAgICAgICAgICAgIDEsIHZtYnVzX2NoYW5uZWxfb25fdmVy
c2lvbl9yZXNwb25zZSB9LA0KICAgICAgICB7IEhWX0NIQU5ORUxfTUVTU0FHRV9VTkxPQUQsDQog
ICAgICAgICAgICAgICAgMCwgTlVMTCB9DQp9Ow0KDQoNCi8qKg0KICogSW1wbGVtZW50YXRpb24g
b2YgdGhlIHdvcmsgYWJzdHJhY3Rpb24uDQogKi8NCnN0YXRpYyB2b2lkDQp3b3JrX2l0ZW1fY2Fs
bGJhY2sodm9pZCAqd29yaywgaW50IHBlbmRpbmcpDQp7DQogICAgICAgIHN0cnVjdCBodl93b3Jr
X2l0ZW0gKncgPSAoc3RydWN0IGh2X3dvcmtfaXRlbSAqKXdvcms7DQoNCiAgICAgICAgLyoNCiAg
ICAgICAgICogU2VyaWFsaXplIHdvcmsgZXhlY3V0aW9uLg0KICAgICAgICAgKi8NCiAgICAgICAg
aWYgKHctPndxLT53b3JrX3NlbWEgIT0gTlVMTCkgew0KICAgICAgICAgICAgICAgIHNlbWFfd2Fp
dCh3LT53cS0+d29ya19zZW1hKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHctPmNhbGxiYWNrKHct
PmNvbnRleHQpOw0KDQogICAgICAgIGlmICh3LT53cS0+d29ya19zZW1hICE9IE5VTEwpIHsNCiAg
ICAgICAgICAgICAgICBzZW1hX3Bvc3Qody0+d3EtPndvcmtfc2VtYSk7DQogICAgICAgIH0gDQoN
CiAgICAgICAgZnJlZSh3LCBNX0RFVkJVRik7DQp9DQoNCnN0cnVjdCBodl93b3JrX3F1ZXVlKg0K
aHZfd29ya19xdWV1ZV9jcmVhdGUoY2hhciogbmFtZSkNCnsNCiAgICAgICAgc3RhdGljIHVuc2ln
bmVkIGludCAgICAgcWlkID0gMDsNCiAgICAgICAgY2hhciAgICAgICAgICAgICAgICAgICAgcW5h
bWVbNjRdOw0KICAgICAgICBpbnQgICAgICAgICAgICAgICAgICAgICBwcmk7DQogICAgICAgIHN0
cnVjdCBodl93b3JrX3F1ZXVlKiAgIHdxOw0KDQogICAgICAgIHdxID0gbWFsbG9jKHNpemVvZihz
dHJ1Y3QgaHZfd29ya19xdWV1ZSksIE1fREVWQlVGLCBNX05PV0FJVCB8IE1fWkVSTyk7DQogICAg
ICAgIEtBU1NFUlQod3EgIT0gTlVMTCwgKCJFcnJvciBWTUJVUzogRmFpbGVkIHRvIGFsbG9jYXRl
IHdvcmtfcXVldWVcbiIpKTsNCiAgICAgICAgaWYgKHdxID09IE5VTEwpDQogICAgICAgICAgICBy
ZXR1cm4gKE5VTEwpOw0KDQogICAgICAgIC8qDQogICAgICAgICAqIFdlIHVzZSB3b3JrIGFic3Ry
YWN0aW9uIHRvIGhhbmRsZSBtZXNzYWdlcw0KICAgICAgICAgKiBjb21pbmcgZnJvbSB0aGUgaG9z
dCBhbmQgdGhlc2UgYXJlIHR5cGljYWxseSBvZmZlcnMuDQogICAgICAgICAqIFNvbWUgRnJlZUJz
ZCBkcml2ZXJzIGFwcGVhciB0byBoYXZlIGEgY29uY3VycmVuY3kgaXNzdWUNCiAgICAgICAgICog
d2hlcmUgcHJvYmUvYXR0YWNoIG5lZWRzIHRvIGJlIHNlcmlhbGl6ZWQuIFdlIGVuc3VyZSB0aGF0
DQogICAgICAgICAqIGJ5IGhhdmluZyBvbmx5IG9uZSB0aHJlYWQgcHJvY2VzcyB3b3JrIGVsZW1l
bnRzIGluIGEgDQogICAgICAgICAqIHNwZWNpZmljIHF1ZXVlIGJ5IHNlcmlhbGl6aW5nIHdvcmsg
ZXhlY3V0aW9uLg0KICAgICAgICAgKg0KICAgICAgICAgKi8NCiAgICAgICAgaWYgKHN0cmNtcChu
YW1lLCAidm1idXNRIikgPT0gMCkgew0KICAgICAgICAgICAgcHJpID0gUElfRElTSzsNCiAgICAg
ICAgfSBlbHNlIHsgLyogY29udHJvbCAqLw0KICAgICAgICAgICAgcHJpID0gUElfTkVUOw0KICAg
ICAgICAgICAgLyoNCiAgICAgICAgICAgICAqIEluaXRpYWxpemUgc2VtYXBob3JlIGZvciB0aGlz
IHF1ZXVlIGJ5IHBvaW50aW5nDQogICAgICAgICAgICAgKiB0byB0aGUgZ2xvYmFsZSBzZW1hcGhv
cmUgdXNlZCBmb3Igc3luY2hyb25pemluZyBhbGwNCiAgICAgICAgICAgICAqIGNvbnRyb2wgbWVz
c2FnZXMuDQogICAgICAgICAgICAgKi8NCiAgICAgICAgICAgIHdxLT53b3JrX3NlbWEgPSAmaHZf
dm1idXNfZ19jb25uZWN0aW9uLmNvbnRyb2xfc2VtYTsNCiAgICAgICAgfQ0KDQogICAgICAgIHNw
cmludGYocW5hbWUsICJodl8lc18ldSIsIG5hbWUsIHFpZCk7DQoNCiAgICAgICAgLyoNCiAgICAg
ICAgICogRml4bWU6ICBGcmVlQlNEIDguMiBoYXMgYSBkaWZmZXJlbnQgcHJvdG90eXBlIGZvcg0K
ICAgICAgICAgKiB0YXNrcXVldWVfY3JlYXRlKCksIGFuZCBmb3IgY2VydGFpbiBvdGhlciB0YXNr
cXVldWUgZnVuY3Rpb25zLg0KICAgICAgICAgKiBXZSBuZWVkIHRvIHJlc2VhcmNoIHRoZSBpbXBs
aWNhdGlvbnMgb2YgdGhlc2UgY2hhbmdlcy4NCiAgICAgICAgICogRml4bWU6ICBOb3Qgc3VyZSB3
aGVuIHRoZSBjaGFuZ2VzIHdlcmUgaW50cm9kdWNlZC4NCiAgICAgICAgICovDQogICAgICAgIHdx
LT5xdWV1ZSA9IHRhc2txdWV1ZV9jcmVhdGUocW5hbWUsIE1fTk9XQUlULCB0YXNrcXVldWVfdGhy
ZWFkX2VucXVldWUsDQogICAgICAgICAgICAmd3EtPnF1ZXVlDQogICAgICAgICAgICAjaWYgX19G
cmVlQlNEX3ZlcnNpb24gPCA4MDAwMDANCiAgICAgICAgICAgICwgJndxLT5wcm9jDQogICAgICAg
ICAgICAjZW5kaWYNCiAgICAgICAgICAgICk7DQoNCiAgICAgICAgaWYgKHdxLT5xdWV1ZSA9PSBO
VUxMKSB7DQogICAgICAgICAgICBmcmVlKHdxLCBNX0RFVkJVRik7DQogICAgICAgICAgICByZXR1
cm4gKE5VTEwpOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKHRhc2txdWV1ZV9zdGFydF90aHJl
YWRzKCZ3cS0+cXVldWUsIDEsIHByaSwgIiVzIHRhc2txIiwgcW5hbWUpKSB7DQogICAgICAgICAg
ICB0YXNrcXVldWVfZnJlZSh3cS0+cXVldWUpOw0KICAgICAgICAgICAgZnJlZSh3cSwgTV9ERVZC
VUYpOw0KICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHFp
ZCsrOw0KDQogICAgICAgIHJldHVybiAod3EpOw0KfQ0KDQp2b2lkDQpodl93b3JrX3F1ZXVlX2Ns
b3NlKHN0cnVjdCBodl93b3JrX3F1ZXVlICp3cSkNCnsNCiAgICAgICAgLyoNCiAgICAgICAgICog
S1lTOiBOZWVkIHRvIGRyYWluIHRoZSB0YXNrcXVldWUNCiAgICAgICAgICogYmVmb3JlIHdlIGNs
b3NlIHRoZSBodl93b3JrX3F1ZXVlLg0KICAgICAgICAgKi8NCiAgICAgICAgLypLWVM6IHRhc2tx
dWV1ZV9kcmFpbih3cS0+dHEsICk7ICovDQogICAgICAgIHRhc2txdWV1ZV9mcmVlKHdxLT5xdWV1
ZSk7DQogICAgICAgIGZyZWUod3EsIE1fREVWQlVGKTsNCn0NCg0KLyoqDQogKiBAYnJpZWYgQ3Jl
YXRlIHdvcmsgaXRlbQ0KICovDQppbnQNCmh2X3F1ZXVlX3dvcmtfaXRlbSgNCiAgICAgICAgc3Ry
dWN0IGh2X3dvcmtfcXVldWUgKndxLA0KICAgICAgICB2b2lkICgqY2FsbGJhY2spKHZvaWQgKiks
IHZvaWQgKmNvbnRleHQpDQp7DQogICAgICAgIHN0cnVjdCBodl93b3JrX2l0ZW0gKncgPSBtYWxs
b2Moc2l6ZW9mKHN0cnVjdCBodl93b3JrX2l0ZW0pLA0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE1fREVWQlVGLCBNX05PV0FJVCB8IE1fWkVSTyk7DQogICAgICAgIEtB
U1NFUlQodyAhPSBOVUxMLCAoIkVycm9yIFZNQlVTOiBGYWlsZWQgdG8gYWxsb2NhdGUgV29ya0l0
ZW1cbiIpKTsNCiAgICAgICAgaWYgKHcgPT0gTlVMTCkNCiAgICAgICAgICAgIHJldHVybiAoRU5P
TUVNKTsNCg0KICAgICAgICB3LT5jYWxsYmFjayA9IGNhbGxiYWNrOw0KICAgICAgICB3LT5jb250
ZXh0ID0gY29udGV4dDsNCiAgICAgICAgdy0+d3EgPSB3cTsNCg0KICAgICAgICBUQVNLX0lOSVQo
JnctPndvcmssIDAsIHdvcmtfaXRlbV9jYWxsYmFjaywgdyk7DQoNCiAgICAgICAgcmV0dXJuICh0
YXNrcXVldWVfZW5xdWV1ZSh3cS0+cXVldWUsICZ3LT53b3JrKSk7DQp9DQoNCg0KLyoqDQogKiBA
YnJpZWYgQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYSB2bWJ1cyBjaGFubmVsIG9iamVjdA0KICov
DQpodl92bWJ1c19jaGFubmVsKg0KaHZfdm1idXNfYWxsb2NhdGVfY2hhbm5lbCh2b2lkKQ0Kew0K
ICAgICAgICBodl92bWJ1c19jaGFubmVsKiBjaGFubmVsOw0KDQogICAgICAgIGNoYW5uZWwgPSAo
aHZfdm1idXNfY2hhbm5lbCopIG1hbGxvYygNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzaXplb2YoaHZfdm1idXNfY2hhbm5lbCksDQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTV9ERVZCVUYsDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTV9OT1dBSVQgfCBNX1pFUk8pOw0KICAgICAgICBLQVNTRVJUKGNoYW5u
ZWwgIT0gTlVMTCwgKCJFcnJvciBWTUJVUzogRmFpbGVkIHRvIGFsbG9jYXRlIGNoYW5uZWwhIikp
Ow0KICAgICAgICBpZiAoY2hhbm5lbCA9PSBOVUxMKQ0KICAgICAgICAgICAgcmV0dXJuIChOVUxM
KTsNCg0KICAgICAgICBtdHhfaW5pdCgmY2hhbm5lbC0+aW5ib3VuZF9sb2NrLCAiY2hhbm5lbCBp
bmJvdW5kIiwgTlVMTCwgTVRYX0RFRik7DQogICAgICAgIG10eF9pbml0KCZjaGFubmVsLT5zY19s
b2NrLCAidm1idXMgbXVsdGkgY2hhbm5lbCIsIE5VTEwsIE1UWF9ERUYpOw0KDQogICAgICAgIFRB
SUxRX0lOSVQoJmNoYW5uZWwtPnNjX2xpc3RfYW5jaG9yKTsNCg0KICAgICAgICByZXR1cm4gKGNo
YW5uZWwpOw0KfQ0KDQovKioNCiAqIEBicmllZiBSZWxlYXNlIHRoZSB2bWJ1cyBjaGFubmVsIG9i
amVjdCBpdHNlbGYNCiAqLw0Kc3RhdGljIGlubGluZSB2b2lkDQpSZWxlYXNlVm1idXNDaGFubmVs
KHZvaWQgKmNvbnRleHQpDQp7DQogICAgICAgIGh2X3ZtYnVzX2NoYW5uZWwqIGNoYW5uZWwgPSAo
aHZfdm1idXNfY2hhbm5lbCopIGNvbnRleHQ7DQogICAgICAgIGZyZWUoY2hhbm5lbCwgTV9ERVZC
VUYpOw0KfQ0KDQovKioNCiAqIEBicmllZiBSZWxlYXNlIHRoZSByZXNvdXJjZXMgdXNlZCBieSB0
aGUgdm1idXMgY2hhbm5lbCBvYmplY3QNCiAqLw0Kdm9pZA0KaHZfdm1idXNfZnJlZV92bWJ1c19j
aGFubmVsKGh2X3ZtYnVzX2NoYW5uZWwqIGNoYW5uZWwpDQp7DQogICAgICAgIG10eF9kZXN0cm95
KCZjaGFubmVsLT5zY19sb2NrKTsNCiAgICAgICAgbXR4X2Rlc3Ryb3koJmNoYW5uZWwtPmluYm91
bmRfbG9jayk7DQogICAgICAgIC8qDQogICAgICAgICAqIFdlIGhhdmUgdG8gcmVsZWFzZSB0aGUg
Y2hhbm5lbCdzIHdvcmtxdWV1ZS90aHJlYWQgaW4NCiAgICAgICAgICogIHRoZSB2bWJ1cydzIHdv
cmtxdWV1ZS90aHJlYWQgY29udGV4dA0KICAgICAgICAgKiBpZSB3ZSBjYW4ndCBkZXN0cm95IG91
cnNlbHZlcw0KICAgICAgICAgKi8NCiAgICAgICAgaHZfcXVldWVfd29ya19pdGVtKGh2X3ZtYnVz
X2dfY29ubmVjdGlvbi53b3JrX3F1ZXVlLA0KICAgICAgICAgICAgUmVsZWFzZVZtYnVzQ2hhbm5l
bCwgKHZvaWQgKikgY2hhbm5lbCk7DQp9DQoNCi8qKg0KICogQGJyaWVmIFByb2Nlc3MgdGhlIG9m
ZmVyIGJ5IGNyZWF0aW5nIGEgY2hhbm5lbC9kZXZpY2UNCiAqIGFzc29jaWF0ZWQgd2l0aCB0aGlz
IG9mZmVyDQogKi8NCnN0YXRpYyB2b2lkDQp2bWJ1c19jaGFubmVsX3Byb2Nlc3Nfb2ZmZXIoaHZf
dm1idXNfY2hhbm5lbCAqbmV3X2NoYW5uZWwpDQp7DQogICAgICAgIGJvb2xlYW5fdCAgICAgICAg
ICAgICAgIGZfbmV3Ow0KICAgICAgICBodl92bWJ1c19jaGFubmVsKiAgICAgICBjaGFubmVsOw0K
ICAgICAgICBpbnQgICAgICAgICAgICAgICAgICAgICByZXQ7DQoNCiAgICAgICAgZl9uZXcgPSBU
UlVFOw0KICAgICAgICBjaGFubmVsID0gTlVMTDsNCg0KICAgICAgICAvKg0KICAgICAgICAgKiBN
YWtlIHN1cmUgdGhpcyBpcyBhIG5ldyBvZmZlcg0KICAgICAgICAgKi8NCiAgICAgICAgbXR4X2xv
Y2soJmh2X3ZtYnVzX2dfY29ubmVjdGlvbi5jaGFubmVsX2xvY2spOw0KDQogICAgICAgIFRBSUxR
X0ZPUkVBQ0goY2hhbm5lbCwgJmh2X3ZtYnVzX2dfY29ubmVjdGlvbi5jaGFubmVsX2FuY2hvciwN
CiAgICAgICAgICAgIGxpc3RfZW50cnkpDQogICAgICAgIHsNCiAgICAgICAgICAgICAgICBpZiAo
bWVtY21wKCZjaGFubmVsLT5vZmZlcl9tc2cub2ZmZXIuaW50ZXJmYWNlX3R5cGUsDQogICAgICAg
ICAgICAgICAgICAgICZuZXdfY2hhbm5lbC0+b2ZmZXJfbXNnLm9mZmVyLmludGVyZmFjZV90eXBl
LA0KICAgICAgICAgICAgICAgICAgICBzaXplb2YoaHZfZ3VpZCkpID09IDAgJiYNCiAgICAgICAg
ICAgICAgICAgICAgbWVtY21wKCZjaGFubmVsLT5vZmZlcl9tc2cub2ZmZXIuaW50ZXJmYWNlX2lu
c3RhbmNlLA0KICAgICAgICAgICAgICAgICAgICAmbmV3X2NoYW5uZWwtPm9mZmVyX21zZy5vZmZl
ci5pbnRlcmZhY2VfaW5zdGFuY2UsDQogICAgICAgICAgICAgICAgICAgIHNpemVvZihodl9ndWlk
KSkgPT0gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgZl9uZXcgPSBGQUxTRTsNCiAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgfQ0K
DQogICAgICAgIGlmIChmX25ldykgew0KICAgICAgICAgICAgICAgIC8qIEluc2VydCBhdCB0YWls
ICovDQogICAgICAgICAgICAgICAgVEFJTFFfSU5TRVJUX1RBSUwoDQogICAgICAgICAgICAgICAg
ICAgICZodl92bWJ1c19nX2Nvbm5lY3Rpb24uY2hhbm5lbF9hbmNob3IsDQogICAgICAgICAgICAg
ICAgICAgIG5ld19jaGFubmVsLA0KICAgICAgICAgICAgICAgICAgICBsaXN0X2VudHJ5KTsNCiAg
ICAgICAgfQ0KICAgICAgICBtdHhfdW5sb2NrKCZodl92bWJ1c19nX2Nvbm5lY3Rpb24uY2hhbm5l
bF9sb2NrKTsNCg0KICAgICAgICAvKlhYWCBhZGQgbmV3IGNoYW5uZWwgdG8gcGVyY3B1X2xpc3Qg
Ki8NCg0KICAgICAgICBpZiAoIWZfbmV3KSB7DQogICAgICAgICAgICAgICAgLyoNCiAgICAgICAg
ICAgICAgICAgKiBDaGVjayBpZiB0aGlzIGlzIGEgc3ViIGNoYW5uZWwuDQogICAgICAgICAgICAg
ICAgICovDQogICAgICAgICAgICAgICAgaWYgKG5ld19jaGFubmVsLT5vZmZlcl9tc2cub2ZmZXIu
c3ViX2NoYW5uZWxfaW5kZXggIT0gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgLyoNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAqIEl0IGlzIGEgc3ViIGNoYW5uZWwgb2ZmZXIsIHByb2Nl
c3MgaXQuDQogICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAg
ICAgIG5ld19jaGFubmVsLT5wcmltYXJ5X2NoYW5uZWwgPSBjaGFubmVsOw0KICAgICAgICAgICAg
ICAgICAgICAgICAgbXR4X2xvY2soJmNoYW5uZWwtPnNjX2xvY2spOw0KICAgICAgICAgICAgICAg
ICAgICAgICAgVEFJTFFfSU5TRVJUX1RBSUwoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
JmNoYW5uZWwtPnNjX2xpc3RfYW5jaG9yLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5l
d19jaGFubmVsLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjX2xpc3RfZW50cnkpOw0K
ICAgICAgICAgICAgICAgICAgICAgICAgbXR4X3VubG9jaygmY2hhbm5lbC0+c2NfbG9jayk7DQoN
CiAgICAgICAgICAgICAgICAgICAgICAgIC8qIEluc2VydCBuZXcgY2hhbm5lbCBpbnRvIGNoYW5u
ZWxfYW5jaG9yLiAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJTdG9ydnNjIGdl
dCBtdWx0aS1jaGFubmVsIG9mZmVyLCByZWw9JXUuXG4iLA0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG5ld19jaGFubmVsLT5vZmZlcl9tc2cuY2hpbGRfcmVsX2lkKTsNCiAgICAgICAgICAg
ICAgICAgICAgICAgIG10eF9sb2NrKCZodl92bWJ1c19nX2Nvbm5lY3Rpb24uY2hhbm5lbF9sb2Nr
KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIFRBSUxRX0lOU0VSVF9UQUlMKCZodl92bWJ1c19n
X2Nvbm5lY3Rpb24uY2hhbm5lbF9hbmNob3IsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
bmV3X2NoYW5uZWwsIGxpc3RfZW50cnkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgbXR4X3Vu
bG9jaygmaHZfdm1idXNfZ19jb25uZWN0aW9uLmNoYW5uZWxfbG9jayk7DQoNCiAgICAgICAgICAg
ICAgICAgICAgICAgIGlmKGJvb3R2ZXJib3NlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwcmludGYoIlZNQlVTOiBuZXcgbXVsdGktY2hhbm5lbCBvZmZlciA8JXA+LlxuIiwNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19jaGFubmVsKTsNCg0KICAgICAg
ICAgICAgICAgICAgICAgICAgLypYWFggYWRkIGl0IHRvIHBlcmNwdV9saXN0ICovDQoNCiAgICAg
ICAgICAgICAgICAgICAgICAgIG5ld19jaGFubmVsLT5zdGF0ZSA9IEhWX0NIQU5ORUxfT1BFTl9T
VEFURTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGFubmVsLT5zY19jcmVhdGlvbl9j
YWxsYmFjayAhPSBOVUxMKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5u
ZWwtPnNjX2NyZWF0aW9uX2NhbGxiYWNrKG5ld19jaGFubmVsKTsNCiAgICAgICAgICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAg
ICB9DQoNCiAgICAgICAgICAgIGh2X3ZtYnVzX2ZyZWVfdm1idXNfY2hhbm5lbChuZXdfY2hhbm5l
bCk7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICBuZXdfY2hhbm5l
bC0+c3RhdGUgPSBIVl9DSEFOTkVMX09QRU5fU1RBVEU7DQoNCiAgICAgICAgLyoNCiAgICAgICAg
ICogU3RhcnQgdGhlIHByb2Nlc3Mgb2YgYmluZGluZyB0aGlzIG9mZmVyIHRvIHRoZSBkcml2ZXIN
CiAgICAgICAgICogKFdlIG5lZWQgdG8gc2V0IHRoZSBkZXZpY2UgZmllbGQgYmVmb3JlIGNhbGxp
bmcNCiAgICAgICAgICogaHZfdm1idXNfY2hpbGRfZGV2aWNlX2FkZCgpKQ0KICAgICAgICAgKi8N
CiAgICAgICAgbmV3X2NoYW5uZWwtPmRldmljZSA9IGh2X3ZtYnVzX2NoaWxkX2RldmljZV9jcmVh
dGUoDQogICAgICAgICAgICBuZXdfY2hhbm5lbC0+b2ZmZXJfbXNnLm9mZmVyLmludGVyZmFjZV90
eXBlLA0KICAgICAgICAgICAgbmV3X2NoYW5uZWwtPm9mZmVyX21zZy5vZmZlci5pbnRlcmZhY2Vf
aW5zdGFuY2UsIG5ld19jaGFubmVsKTsNCg0KICAgICAgICAvKg0KICAgICAgICAgKiBBZGQgdGhl
IG5ldyBkZXZpY2UgdG8gdGhlIGJ1cy4gVGhpcyB3aWxsIGtpY2sgb2ZmIGRldmljZS1kcml2ZXIN
CiAgICAgICAgICogYmluZGluZyB3aGljaCBldmVudHVhbGx5IGludm9rZXMgdGhlIGRldmljZSBk
cml2ZXIncyBBZGREZXZpY2UoKQ0KICAgICAgICAgKiBtZXRob2QuDQogICAgICAgICAqLw0KICAg
ICAgICByZXQgPSBodl92bWJ1c19jaGlsZF9kZXZpY2VfcmVnaXN0ZXIobmV3X2NoYW5uZWwtPmRl
dmljZSk7DQogICAgICAgIGlmIChyZXQgIT0gMCkgew0KICAgICAgICAgICAgICAgIG10eF9sb2Nr
KCZodl92bWJ1c19nX2Nvbm5lY3Rpb24uY2hhbm5lbF9sb2NrKTsNCiAgICAgICAgICAgICAgICBU
QUlMUV9SRU1PVkUoDQogICAgICAgICAgICAgICAgICAgICZodl92bWJ1c19nX2Nvbm5lY3Rpb24u
Y2hhbm5lbF9hbmNob3IsDQogICAgICAgICAgICAgICAgICAgIG5ld19jaGFubmVsLA0KICAgICAg
ICAgICAgICAgICAgICBsaXN0X2VudHJ5KTsNCiAgICAgICAgICAgICAgICBtdHhfdW5sb2NrKCZo
dl92bWJ1c19nX2Nvbm5lY3Rpb24uY2hhbm5lbF9sb2NrKTsNCiAgICAgICAgICAgICAgICBodl92
bWJ1c19mcmVlX3ZtYnVzX2NoYW5uZWwobmV3X2NoYW5uZWwpOw0KICAgICAgICB9DQp9DQoNCi8q
Kg0KICogQXJyYXkgb2YgZGV2aWNlIGd1aWRzIHRoYXQgYXJlIHBlcmZvcm1hbmNlIGNyaXRpY2Fs
LiBXZSB0cnkgdG8gZGlzdHJpYnV0ZQ0KICogdGhlIGludGVycnVwdCBsb2FkIGZvciB0aGVzZSBk
ZXZpY2VzIGFjcm9zcyBhbGwgb25saW5lIGNwdXMuIA0KICovDQpzdGF0aWMgY29uc3QgaHZfZ3Vp
ZCBoaWdoX3BlcmZfZGV2aWNlc1tdID0gew0KICAgICAgICB7SFZfTklDX0dVSUQsIH0sDQogICAg
ICAgIHtIVl9JREVfR1VJRCwgfSwNCiAgICAgICAge0hWX1NDU0lfR1VJRCwgfSwNCn07DQoNCmVu
dW0gew0KICAgICAgICBQRVJGX0NITl9OSUMgPSAwLA0KICAgICAgICBQRVJGX0NITl9JREUsDQog
ICAgICAgIFBFUkZfQ0hOX1NDU0ksDQogICAgICAgIE1BWF9QRVJGX0NITiwNCn07DQoNCi8qDQog
KiBXZSB1c2UgdGhpcyBzdGF0aWMgbnVtYmVyIHRvIGRpc3RyaWJ1dGUgdGhlIGNoYW5uZWwgaW50
ZXJydXB0IGxvYWQuDQogKi8NCnN0YXRpYyB1aW50MzJfdCBuZXh0X3ZjcHU7DQoNCi8qKg0KICog
U3RhcnRpbmcgd2l0aCBXaW44LCB3ZSBjYW4gc3RhdGljYWxseSBkaXN0cmlidXRlIHRoZSBpbmNv
bWluZw0KICogY2hhbm5lbCBpbnRlcnJ1cHQgbG9hZCBieSBiaW5kaW5nIGEgY2hhbm5lbCB0byBW
Q1BVLiBXZQ0KICogaW1wbGVtZW50IGhlcmUgYSBzaW1wbGUgcm91bmQgcm9iaW4gc2NoZW1lIGZv
ciBkaXN0cmlidXRpbmcNCiAqIHRoZSBpbnRlcnJ1cHQgbG9hZC4NCiAqIFdlIHdpbGwgYmluZCBj
aGFubmVscyB0aGF0IGFyZSBub3QgcGVyZm9ybWFuY2UgY3JpdGljYWwgdG8gY3B1IDAgYW5kDQog
KiBwZXJmb3JtYW5jZSBjcml0aWNhbCBjaGFubmVscyAoSURFLCBTQ1NJIGFuZCBOZXR3b3JrKSB3
aWxsIGJlIHVuaWZvcm1seQ0KICogZGlzdHJpYnV0ZWQgYWNyb3NzIGFsbCBhdmFpbGFibGUgQ1BV
cy4NCiAqLw0Kc3RhdGljIHZvaWQNCnZtYnVzX2NoYW5uZWxfc2VsZWN0X2NwdShodl92bWJ1c19j
aGFubmVsICpjaGFubmVsLCBodl9ndWlkICpndWlkKQ0Kew0KICAgICAgICB1aW50MzJfdCBjdXJy
ZW50X2NwdTsNCiAgICAgICAgaW50IGk7DQogICAgICAgIGJvb2xlYW5fdCBpc19wZXJmX2NoYW5u
ZWwgPSBGQUxTRTsNCg0KICAgICAgICBmb3IgKGkgPSBQRVJGX0NITl9OSUM7IGkgPCBNQVhfUEVS
Rl9DSE47IGkrKykgew0KICAgICAgICAgICAgICAgIGlmIChtZW1jbXAoZ3VpZC0+ZGF0YSwgaGln
aF9wZXJmX2RldmljZXNbaV0uZGF0YSwNCiAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGh2X2d1
aWQpKSA9PSAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpc19wZXJmX2NoYW5uZWwgPSBU
UlVFOw0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgfQ0K
ICAgICAgICB9DQoNCiAgICAgICAgaWYgKChodl92bWJ1c19wcm90b2NhbF92ZXJzaW9uID09IEhW
X1ZNQlVTX1ZFUlNJT05fV1MyMDA4KSB8fA0KICAgICAgICAgICAgKGh2X3ZtYnVzX3Byb3RvY2Fs
X3ZlcnNpb24gPT0gSFZfVk1CVVNfVkVSU0lPTl9XSU43KSB8fA0KICAgICAgICAgICAgKCFpc19w
ZXJmX2NoYW5uZWwpKSB7DQogICAgICAgICAgICAgICAgLyogSG9zdCdzIHZpZXcgb2YgZ3Vlc3Qg
Y3B1ICovDQogICAgICAgICAgICAgICAgY2hhbm5lbC0+dGFyZ2V0X3ZjcHUgPSAwOw0KICAgICAg
ICAgICAgICAgIC8qIEd1ZXN0J3Mgb3duIHZpZXcgb2YgY3B1ICovDQogICAgICAgICAgICAgICAg
Y2hhbm5lbC0+dGFyZ2V0X2NwdSA9IDA7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAg
ICB9DQogICAgICAgIC8qIG1wX25jcHVzIHNob3VsZCBoYXZlIHRoZSBudW1iZXIgY3B1cyBjdXJy
ZW50bHkgb25saW5lICovDQogICAgICAgIGN1cnJlbnRfY3B1ID0gKCsrbmV4dF92Y3B1ICUgbXBf
bmNwdXMpOw0KICAgICAgICBjaGFubmVsLT50YXJnZXRfY3B1ID0gY3VycmVudF9jcHU7DQogICAg
ICAgIGNoYW5uZWwtPnRhcmdldF92Y3B1ID0NCiAgICAgICAgICAgIGh2X3ZtYnVzX2dfY29udGV4
dC5odl92Y3B1X2luZGV4W2N1cnJlbnRfY3B1XTsNCiAgICAgICAgaWYgKGJvb3R2ZXJib3NlKQ0K
ICAgICAgICAgICAgICAgIHByaW50ZigiVk1CVVM6IFRvdGFsIG9ubGluZSBjcHVzICVkLCBhc3Np
Z24gcGVyZiBjaGFubmVsICVkICINCiAgICAgICAgICAgICAgICAgICAgInRvIHZjcHUgJWQsIGNw
dSAlZFxuIiwgbXBfbmNwdXMsIGksIGNoYW5uZWwtPnRhcmdldF92Y3B1LA0KICAgICAgICAgICAg
ICAgICAgICBjdXJyZW50X2NwdSk7DQp9DQoNCi8qKg0KICogQGJyaWVmIEhhbmRsZXIgZm9yIGNo
YW5uZWwgb2ZmZXJzIGZyb20gSHlwZXItVi9BenVyZQ0KICoNCiAqIEhhbmRsZXIgZm9yIGNoYW5u
ZWwgb2ZmZXJzIGZyb20gdm1idXMgaW4gcGFyZW50IHBhcnRpdGlvbi4gV2UgaWdub3JlDQogKiBh
bGwgb2ZmZXJzIGV4Y2VwdCBuZXR3b3JrIGFuZCBzdG9yYWdlIG9mZmVycy4gRm9yIGVhY2ggbmV0
d29yayBhbmQgc3RvcmFnZQ0KICogb2ZmZXJzLCB3ZSBjcmVhdGUgYSBjaGFubmVsIG9iamVjdCBh
bmQgcXVldWUgYSB3b3JrIGl0ZW0gdG8gdGhlIGNoYW5uZWwNCiAqIG9iamVjdCB0byBwcm9jZXNz
IHRoZSBvZmZlciBzeW5jaHJvbm91c2x5DQogKi8NCnN0YXRpYyB2b2lkDQp2bWJ1c19jaGFubmVs
X29uX29mZmVyKGh2X3ZtYnVzX2NoYW5uZWxfbXNnX2hlYWRlciogaGRyKQ0Kew0KICAgICAgICBo
dl92bWJ1c19jaGFubmVsX29mZmVyX2NoYW5uZWwqIG9mZmVyOw0KICAgICAgICBodl92bWJ1c19j
aGFubmVsKiBuZXdfY2hhbm5lbDsNCg0KICAgICAgICBvZmZlciA9IChodl92bWJ1c19jaGFubmVs
X29mZmVyX2NoYW5uZWwqKSBoZHI7DQoNCiAgICAgICAgaHZfZ3VpZCAqZ3VpZFR5cGU7DQogICAg
ICAgIGh2X2d1aWQgKmd1aWRJbnN0YW5jZTsNCg0KICAgICAgICBndWlkVHlwZSA9ICZvZmZlci0+
b2ZmZXIuaW50ZXJmYWNlX3R5cGU7DQogICAgICAgIGd1aWRJbnN0YW5jZSA9ICZvZmZlci0+b2Zm
ZXIuaW50ZXJmYWNlX2luc3RhbmNlOw0KDQogICAgICAgIC8qIEFsbG9jYXRlIHRoZSBjaGFubmVs
IG9iamVjdCBhbmQgc2F2ZSB0aGlzIG9mZmVyICovDQogICAgICAgIG5ld19jaGFubmVsID0gaHZf
dm1idXNfYWxsb2NhdGVfY2hhbm5lbCgpOw0KICAgICAgICBpZiAobmV3X2NoYW5uZWwgPT0gTlVM
TCkNCiAgICAgICAgICAgIHJldHVybjsNCg0KICAgICAgICAvKg0KICAgICAgICAgKiBCeSBkZWZh
dWx0IHdlIHNldHVwIHN0YXRlIHRvIGVuYWJsZSBiYXRjaGVkDQogICAgICAgICAqIHJlYWRpbmcu
IEEgc3BlY2lmaWMgc2VydmljZSBjYW4gY2hvb3NlIHRvDQogICAgICAgICAqIGRpc2FibGUgdGhp
cyBwcmlvciB0byBvcGVuaW5nIHRoZSBjaGFubmVsLg0KICAgICAgICAgKi8NCiAgICAgICAgbmV3
X2NoYW5uZWwtPmJhdGNoZWRfcmVhZGluZyA9IFRSVUU7DQoNCiAgICAgICAgbmV3X2NoYW5uZWwt
PnNpZ25hbF9ldmVudF9wYXJhbSA9DQogICAgICAgICAgICAoaHZfdm1idXNfaW5wdXRfc2lnbmFs
X2V2ZW50ICopDQogICAgICAgICAgICAoSFZfQUxJR05fVVAoKHVuc2lnbmVkIGxvbmcpDQogICAg
ICAgICAgICAgICAgJm5ld19jaGFubmVsLT5zaWduYWxfZXZlbnRfYnVmZmVyLA0KICAgICAgICAg
ICAgICAgIEhWX0hZUEVSQ0FMTF9QQVJBTV9BTElHTikpOw0KDQogICAgICAgIG5ld19jaGFubmVs
LT5zaWduYWxfZXZlbnRfcGFyYW0tPmNvbm5lY3Rpb25faWQuYXNfdWludDMyX3QgPSAwOw0KICAg
ICAgICBuZXdfY2hhbm5lbC0+c2lnbmFsX2V2ZW50X3BhcmFtLT5jb25uZWN0aW9uX2lkLnUuaWQg
PQ0KICAgICAgICAgICAgSFZfVk1CVVNfRVZFTlRfQ09OTkVDVElPTl9JRDsNCiAgICAgICAgbmV3
X2NoYW5uZWwtPnNpZ25hbF9ldmVudF9wYXJhbS0+ZmxhZ19udW1iZXIgPSAwOw0KICAgICAgICBu
ZXdfY2hhbm5lbC0+c2lnbmFsX2V2ZW50X3BhcmFtLT5yc3ZkX3ogPSAwOw0KDQogICAgICAgIGlm
IChodl92bWJ1c19wcm90b2NhbF92ZXJzaW9uICE9IEhWX1ZNQlVTX1ZFUlNJT05fV1MyMDA4KSB7
DQogICAgICAgICAgICAgICAgbmV3X2NoYW5uZWwtPmlzX2RlZGljYXRlZF9pbnRlcnJ1cHQgPQ0K
ICAgICAgICAgICAgICAgICAgICAob2ZmZXItPmlzX2RlZGljYXRlZF9pbnRlcnJ1cHQgIT0gMCk7
DQogICAgICAgICAgICAgICAgbmV3X2NoYW5uZWwtPnNpZ25hbF9ldmVudF9wYXJhbS0+Y29ubmVj
dGlvbl9pZC51LmlkID0NCiAgICAgICAgICAgICAgICAgICAgb2ZmZXItPmNvbm5lY3Rpb25faWQ7
DQogICAgICAgIH0NCg0KICAgICAgICAvKg0KICAgICAgICAgKiBCaW5kIHRoZSBjaGFubmVsIHRv
IGEgY2hvc2VuIGNwdS4NCiAgICAgICAgICovDQogICAgICAgIHZtYnVzX2NoYW5uZWxfc2VsZWN0
X2NwdShuZXdfY2hhbm5lbCwNCiAgICAgICAgICAgICZvZmZlci0+b2ZmZXIuaW50ZXJmYWNlX3R5
cGUpOw0KDQogICAgICAgIG1lbWNweSgmbmV3X2NoYW5uZWwtPm9mZmVyX21zZywgb2ZmZXIsDQog
ICAgICAgICAgICBzaXplb2YoaHZfdm1idXNfY2hhbm5lbF9vZmZlcl9jaGFubmVsKSk7DQogICAg
ICAgIG5ld19jaGFubmVsLT5tb25pdG9yX2dyb3VwID0gKHVpbnQ4X3QpIG9mZmVyLT5tb25pdG9y
X2lkIC8gMzI7DQogICAgICAgIG5ld19jaGFubmVsLT5tb25pdG9yX2JpdCA9ICh1aW50OF90KSBv
ZmZlci0+bW9uaXRvcl9pZCAlIDMyOw0KDQogICAgICAgIHZtYnVzX2NoYW5uZWxfcHJvY2Vzc19v
ZmZlcihuZXdfY2hhbm5lbCk7DQp9DQoNCi8qKg0KICogQGJyaWVmIFJlc2NpbmQgb2ZmZXIgaGFu
ZGxlci4NCiAqDQogKiBXZSBxdWV1ZSBhIHdvcmsgaXRlbSB0byBwcm9jZXNzIHRoaXMgb2ZmZXIN
CiAqIHN5bmNocm9ub3VzbHkNCiAqLw0Kc3RhdGljIHZvaWQNCnZtYnVzX2NoYW5uZWxfb25fb2Zm
ZXJfcmVzY2luZChodl92bWJ1c19jaGFubmVsX21zZ19oZWFkZXIqIGhkcikNCnsNCiAgICAgICAg
aHZfdm1idXNfY2hhbm5lbF9yZXNjaW5kX29mZmVyKiByZXNjaW5kOw0KICAgICAgICBodl92bWJ1
c19jaGFubmVsKiAgICAgICAgICAgICAgIGNoYW5uZWw7DQoNCiAgICAgICAgcmVzY2luZCA9ICho
dl92bWJ1c19jaGFubmVsX3Jlc2NpbmRfb2ZmZXIqKSBoZHI7DQoNCiAgICAgICAgY2hhbm5lbCA9
IGh2X3ZtYnVzX2dldF9jaGFubmVsX2Zyb21fcmVsX2lkKHJlc2NpbmQtPmNoaWxkX3JlbF9pZCk7
DQogICAgICAgIGlmIChjaGFubmVsID09IE5VTEwpIA0KICAgICAgICAgICAgcmV0dXJuOw0KDQog
ICAgICAgIGh2X3ZtYnVzX2NoaWxkX2RldmljZV91bnJlZ2lzdGVyKGNoYW5uZWwtPmRldmljZSk7
DQp9DQoNCi8qKg0KICoNCiAqIEBicmllZiBJbnZva2VkIHdoZW4gYWxsIG9mZmVycyBoYXZlIGJl
ZW4gZGVsaXZlcmVkLg0KICovDQpzdGF0aWMgdm9pZA0Kdm1idXNfY2hhbm5lbF9vbl9vZmZlcnNf
ZGVsaXZlcmVkKGh2X3ZtYnVzX2NoYW5uZWxfbXNnX2hlYWRlciogaGRyKQ0Kew0KfQ0KDQovKioN
CiAqIEBicmllZiBPcGVuIHJlc3VsdCBoYW5kbGVyLg0KICoNCiAqIFRoaXMgaXMgaW52b2tlZCB3
aGVuIHdlIHJlY2VpdmVkIGEgcmVzcG9uc2UNCiAqIHRvIG91ciBjaGFubmVsIG9wZW4gcmVxdWVz
dC4gRmluZCB0aGUgbWF0Y2hpbmcgcmVxdWVzdCwgY29weSB0aGUNCiAqIHJlc3BvbnNlIGFuZCBz
aWduYWwgdGhlIHJlcXVlc3RpbmcgdGhyZWFkLg0KICovDQpzdGF0aWMgdm9pZA0Kdm1idXNfY2hh
bm5lbF9vbl9vcGVuX3Jlc3VsdChodl92bWJ1c19jaGFubmVsX21zZ19oZWFkZXIqIGhkcikNCnsN
CiAgICAgICAgaHZfdm1idXNfY2hhbm5lbF9vcGVuX3Jlc3VsdCogICByZXN1bHQ7DQogICAgICAg
IGh2X3ZtYnVzX2NoYW5uZWxfbXNnX2luZm8qICAgICAgbXNnX2luZm87DQogICAgICAgIGh2X3Zt
YnVzX2NoYW5uZWxfbXNnX2hlYWRlciogICAgcmVxdWVzdEhlYWRlcjsNCiAgICAgICAgaHZfdm1i
dXNfY2hhbm5lbF9vcGVuX2NoYW5uZWwqICBvcGVuTXNnOw0KDQogICAgICAgIHJlc3VsdCA9ICho
dl92bWJ1c19jaGFubmVsX29wZW5fcmVzdWx0KikgaGRyOw0KDQogICAgICAgIC8qDQogICAgICAg
ICAqIEZpbmQgdGhlIG9wZW4gbXNnLCBjb3B5IHRoZSByZXN1bHQgYW5kIHNpZ25hbC91bmJsb2Nr
IHRoZSB3YWl0IGV2ZW50DQogICAgICAgICAqLw0KICAgICAgICBtdHhfbG9ja19zcGluKCZodl92
bWJ1c19nX2Nvbm5lY3Rpb24uY2hhbm5lbF9tc2dfbG9jayk7DQoNCiAgICAgICAgVEFJTFFfRk9S
RUFDSChtc2dfaW5mbywgJmh2X3ZtYnVzX2dfY29ubmVjdGlvbi5jaGFubmVsX21zZ19hbmNob3Is
DQogICAgICAgICAgICBtc2dfbGlzdF9lbnRyeSkgew0KICAgICAgICAgICAgcmVxdWVzdEhlYWRl
ciA9IChodl92bWJ1c19jaGFubmVsX21zZ19oZWFkZXIqKSBtc2dfaW5mby0+bXNnOw0KDQogICAg
ICAgICAgICBpZiAocmVxdWVzdEhlYWRlci0+bWVzc2FnZV90eXBlID09DQogICAgICAgICAgICAg
ICAgICAgIEhWX0NIQU5ORUxfTUVTU0FHRV9PUEVOX0NIQU5ORUwpIHsNCiAgICAgICAgICAgICAg
ICBvcGVuTXNnID0gKGh2X3ZtYnVzX2NoYW5uZWxfb3Blbl9jaGFubmVsKikgbXNnX2luZm8tPm1z
ZzsNCiAgICAgICAgICAgICAgICBpZiAob3Blbk1zZy0+Y2hpbGRfcmVsX2lkID09IHJlc3VsdC0+
Y2hpbGRfcmVsX2lkDQogICAgICAgICAgICAgICAgICAgICYmIG9wZW5Nc2ctPm9wZW5faWQgPT0g
cmVzdWx0LT5vcGVuX2lkKSB7DQogICAgICAgICAgICAgICAgICAgIG1lbWNweSgmbXNnX2luZm8t
PnJlc3BvbnNlLm9wZW5fcmVzdWx0LCByZXN1bHQsDQogICAgICAgICAgICAgICAgICAgICAgICBz
aXplb2YoaHZfdm1idXNfY2hhbm5lbF9vcGVuX3Jlc3VsdCkpOw0KICAgICAgICAgICAgICAgICAg
ICBzZW1hX3Bvc3QoJm1zZ19pbmZvLT53YWl0X3NlbWEpOw0KICAgICAgICAgICAgICAgICAgICBi
cmVhazsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAg
ICAgbXR4X3VubG9ja19zcGluKCZodl92bWJ1c19nX2Nvbm5lY3Rpb24uY2hhbm5lbF9tc2dfbG9j
ayk7DQoNCn0NCg0KLyoqDQogKiBAYnJpZWYgR1BBREwgY3JlYXRlZCBoYW5kbGVyLg0KICoNCiAq
IFRoaXMgaXMgaW52b2tlZCB3aGVuIHdlIHJlY2VpdmVkIGEgcmVzcG9uc2UNCiAqIHRvIG91ciBn
cGFkbCBjcmVhdGUgcmVxdWVzdC4gRmluZCB0aGUgbWF0Y2hpbmcgcmVxdWVzdCwgY29weSB0aGUN
CiAqIHJlc3BvbnNlIGFuZCBzaWduYWwgdGhlIHJlcXVlc3RpbmcgdGhyZWFkLg0KICovDQpzdGF0
aWMgdm9pZA0Kdm1idXNfY2hhbm5lbF9vbl9ncGFkbF9jcmVhdGVkKGh2X3ZtYnVzX2NoYW5uZWxf
bXNnX2hlYWRlciogaGRyKQ0Kew0KICAgICAgICBodl92bWJ1c19jaGFubmVsX2dwYWRsX2NyZWF0
ZWQqICAgICAgICAgZ3BhZGxfY3JlYXRlZDsNCiAgICAgICAgaHZfdm1idXNfY2hhbm5lbF9tc2df
aW5mbyogICAgICAgICAgICAgIG1zZ19pbmZvOw0KICAgICAgICBodl92bWJ1c19jaGFubmVsX21z
Z19oZWFkZXIqICAgICAgICAgICAgcmVxdWVzdF9oZWFkZXI7DQogICAgICAgIGh2X3ZtYnVzX2No
YW5uZWxfZ3BhZGxfaGVhZGVyKiAgICAgICAgICBncGFkbF9oZWFkZXI7DQoNCiAgICAgICAgZ3Bh
ZGxfY3JlYXRlZCA9IChodl92bWJ1c19jaGFubmVsX2dwYWRsX2NyZWF0ZWQqKSBoZHI7DQoNCiAg
ICAgICAgLyogRmluZCB0aGUgZXN0YWJsaXNoIG1zZywgY29weSB0aGUgcmVzdWx0IGFuZCBzaWdu
YWwvdW5ibG9jaw0KICAgICAgICAgKiB0aGUgd2FpdCBldmVudA0KICAgICAgICAgKi8NCiAgICAg
ICAgbXR4X2xvY2tfc3BpbigmaHZfdm1idXNfZ19jb25uZWN0aW9uLmNoYW5uZWxfbXNnX2xvY2sp
Ow0KICAgICAgICBUQUlMUV9GT1JFQUNIKG1zZ19pbmZvLCAmaHZfdm1idXNfZ19jb25uZWN0aW9u
LmNoYW5uZWxfbXNnX2FuY2hvciwNCiAgICAgICAgICAgICAgICBtc2dfbGlzdF9lbnRyeSkgew0K
ICAgICAgICAgICAgcmVxdWVzdF9oZWFkZXIgPSAoaHZfdm1idXNfY2hhbm5lbF9tc2dfaGVhZGVy
KikgbXNnX2luZm8tPm1zZzsNCiAgICAgICAgICAgIGlmIChyZXF1ZXN0X2hlYWRlci0+bWVzc2Fn
ZV90eXBlID09DQogICAgICAgICAgICAgICAgICAgIEhWX0NIQU5ORUxfTUVTU0FHRUxfR1BBRExf
SEVBREVSKSB7DQogICAgICAgICAgICAgICAgZ3BhZGxfaGVhZGVyID0NCiAgICAgICAgICAgICAg
ICAgICAgKGh2X3ZtYnVzX2NoYW5uZWxfZ3BhZGxfaGVhZGVyKikgcmVxdWVzdF9oZWFkZXI7DQoN
CiAgICAgICAgICAgICAgICBpZiAoKGdwYWRsX2NyZWF0ZWQtPmNoaWxkX3JlbF9pZCA9PSBncGFk
bF9oZWFkZXItPmNoaWxkX3JlbF9pZCkNCiAgICAgICAgICAgICAgICAgICAgJiYgKGdwYWRsX2Ny
ZWF0ZWQtPmdwYWRsID09IGdwYWRsX2hlYWRlci0+Z3BhZGwpKSB7DQogICAgICAgICAgICAgICAg
ICAgIG1lbWNweSgmbXNnX2luZm8tPnJlc3BvbnNlLmdwYWRsX2NyZWF0ZWQsDQogICAgICAgICAg
ICAgICAgICAgICAgICBncGFkbF9jcmVhdGVkLA0KICAgICAgICAgICAgICAgICAgICAgICAgc2l6
ZW9mKGh2X3ZtYnVzX2NoYW5uZWxfZ3BhZGxfY3JlYXRlZCkpOw0KICAgICAgICAgICAgICAgICAg
ICBzZW1hX3Bvc3QoJm1zZ19pbmZvLT53YWl0X3NlbWEpOw0KICAgICAgICAgICAgICAgICAgICBi
cmVhazsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAg
ICAgbXR4X3VubG9ja19zcGluKCZodl92bWJ1c19nX2Nvbm5lY3Rpb24uY2hhbm5lbF9tc2dfbG9j
ayk7DQp9DQoNCi8qKg0KICogQGJyaWVmIEdQQURMIHRvcm5kb3duIGhhbmRsZXIuDQogKg0KICog
VGhpcyBpcyBpbnZva2VkIHdoZW4gd2UgcmVjZWl2ZWQgYSByZXNwb25zDQogKiB0byBvdXIgZ3Bh
ZGwgdGVhcmRvd24gcmVxdWVzdC4gRmluZCB0aGUgbWF0Y2hpbmcgcmVxdWVzdCwgY29weSB0aGUN
CiAqIHJlc3BvbnNlIGFuZCBzaWduYWwgdGhlIHJlcXVlc3RpbmcgdGhyZWFkDQogKi8NCnN0YXRp
YyB2b2lkDQp2bWJ1c19jaGFubmVsX29uX2dwYWRsX3Rvcm5kb3duKGh2X3ZtYnVzX2NoYW5uZWxf
bXNnX2hlYWRlciogaGRyKQ0Kew0KICAgICAgICBodl92bWJ1c19jaGFubmVsX2dwYWRsX3Rvcm5k
b3duKiAgICAgICAgZ3BhZGxfdG9ybmRvd247DQogICAgICAgIGh2X3ZtYnVzX2NoYW5uZWxfbXNn
X2luZm8qICAgICAgICAgICAgICBtc2dfaW5mbzsNCiAgICAgICAgaHZfdm1idXNfY2hhbm5lbF9t
c2dfaGVhZGVyKiAgICAgICAgICAgIHJlcXVlc3RIZWFkZXI7DQogICAgICAgIGh2X3ZtYnVzX2No
YW5uZWxfZ3BhZGxfdGVhcmRvd24qICAgICAgICBncGFkbFRlYXJkb3duOw0KDQogICAgICAgIGdw
YWRsX3Rvcm5kb3duID0gKGh2X3ZtYnVzX2NoYW5uZWxfZ3BhZGxfdG9ybmRvd24qKWhkcjsNCg0K
ICAgICAgICAvKg0KICAgICAgICAgKiBGaW5kIHRoZSBvcGVuIG1zZywgY29weSB0aGUgcmVzdWx0
IGFuZCBzaWduYWwvdW5ibG9jayB0aGUNCiAgICAgICAgICogd2FpdCBldmVudC4NCiAgICAgICAg
ICovDQoNCiAgICAgICAgbXR4X2xvY2tfc3BpbigmaHZfdm1idXNfZ19jb25uZWN0aW9uLmNoYW5u
ZWxfbXNnX2xvY2spOw0KDQogICAgICAgIFRBSUxRX0ZPUkVBQ0gobXNnX2luZm8sICZodl92bWJ1
c19nX2Nvbm5lY3Rpb24uY2hhbm5lbF9tc2dfYW5jaG9yLA0KICAgICAgICAgICAgICAgIG1zZ19s
aXN0X2VudHJ5KSB7DQogICAgICAgICAgICByZXF1ZXN0SGVhZGVyID0gKGh2X3ZtYnVzX2NoYW5u
ZWxfbXNnX2hlYWRlciopIG1zZ19pbmZvLT5tc2c7DQoNCiAgICAgICAgICAgIGlmIChyZXF1ZXN0
SGVhZGVyLT5tZXNzYWdlX3R5cGUNCiAgICAgICAgICAgICAgICAgICAgPT0gSFZfQ0hBTk5FTF9N
RVNTQUdFX0dQQURMX1RFQVJET1dOKSB7DQogICAgICAgICAgICAgICAgZ3BhZGxUZWFyZG93biA9
DQogICAgICAgICAgICAgICAgICAgIChodl92bWJ1c19jaGFubmVsX2dwYWRsX3RlYXJkb3duKikg
cmVxdWVzdEhlYWRlcjsNCg0KICAgICAgICAgICAgICAgIGlmIChncGFkbF90b3JuZG93bi0+Z3Bh
ZGwgPT0gZ3BhZGxUZWFyZG93bi0+Z3BhZGwpIHsNCiAgICAgICAgICAgICAgICAgICAgbWVtY3B5
KCZtc2dfaW5mby0+cmVzcG9uc2UuZ3BhZGxfdG9ybmRvd24sDQogICAgICAgICAgICAgICAgICAg
ICAgICBncGFkbF90b3JuZG93biwNCiAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihodl92
bWJ1c19jaGFubmVsX2dwYWRsX3Rvcm5kb3duKSk7DQogICAgICAgICAgICAgICAgICAgIHNlbWFf
cG9zdCgmbXNnX2luZm8tPndhaXRfc2VtYSk7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0K
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIG10eF91bmxv
Y2tfc3BpbigmaHZfdm1idXNfZ19jb25uZWN0aW9uLmNoYW5uZWxfbXNnX2xvY2spOw0KfQ0KDQov
KioNCiAqIEBicmllZiBWZXJzaW9uIHJlc3BvbnNlIGhhbmRsZXIuDQogKg0KICogVGhpcyBpcyBp
bnZva2VkIHdoZW4gd2UgcmVjZWl2ZWQgYSByZXNwb25zZQ0KICogdG8gb3VyIGluaXRpYXRlIGNv
bnRhY3QgcmVxdWVzdC4gRmluZCB0aGUgbWF0Y2hpbmcgcmVxdWVzdCwgY29weSB0aA0KICogcmVz
cG9uc2UgYW5kIHNpZ25hbCB0aGUgcmVxdWVzdGluZyB0aHJlYWQuDQogKi8NCnN0YXRpYyB2b2lk
DQp2bWJ1c19jaGFubmVsX29uX3ZlcnNpb25fcmVzcG9uc2UoaHZfdm1idXNfY2hhbm5lbF9tc2df
aGVhZGVyKiBoZHIpDQp7DQogICAgICAgIGh2X3ZtYnVzX2NoYW5uZWxfbXNnX2luZm8qICAgICAg
ICAgICAgICBtc2dfaW5mbzsNCiAgICAgICAgaHZfdm1idXNfY2hhbm5lbF9tc2dfaGVhZGVyKiAg
ICAgICAgICAgIHJlcXVlc3RIZWFkZXI7DQogICAgICAgIGh2X3ZtYnVzX2NoYW5uZWxfaW5pdGlh
dGVfY29udGFjdCogICAgICBpbml0aWF0ZTsNCiAgICAgICAgaHZfdm1idXNfY2hhbm5lbF92ZXJz
aW9uX3Jlc3BvbnNlKiAgICAgIHZlcnNpb25SZXNwb25zZTsNCg0KICAgICAgICB2ZXJzaW9uUmVz
cG9uc2UgPSAoaHZfdm1idXNfY2hhbm5lbF92ZXJzaW9uX3Jlc3BvbnNlKiloZHI7DQoNCiAgICAg
ICAgbXR4X2xvY2tfc3BpbigmaHZfdm1idXNfZ19jb25uZWN0aW9uLmNoYW5uZWxfbXNnX2xvY2sp
Ow0KICAgICAgICBUQUlMUV9GT1JFQUNIKG1zZ19pbmZvLCAmaHZfdm1idXNfZ19jb25uZWN0aW9u
LmNoYW5uZWxfbXNnX2FuY2hvciwNCiAgICAgICAgICAgIG1zZ19saXN0X2VudHJ5KSB7DQogICAg
ICAgICAgICByZXF1ZXN0SGVhZGVyID0gKGh2X3ZtYnVzX2NoYW5uZWxfbXNnX2hlYWRlciopIG1z
Z19pbmZvLT5tc2c7DQogICAgICAgICAgICBpZiAocmVxdWVzdEhlYWRlci0+bWVzc2FnZV90eXBl
DQogICAgICAgICAgICAgICAgPT0gSFZfQ0hBTk5FTF9NRVNTQUdFX0lOSVRJQVRFRF9DT05UQUNU
KSB7DQogICAgICAgICAgICAgICAgaW5pdGlhdGUgPQ0KICAgICAgICAgICAgICAgICAgICAoaHZf
dm1idXNfY2hhbm5lbF9pbml0aWF0ZV9jb250YWN0KikgcmVxdWVzdEhlYWRlcjsNCiAgICAgICAg
ICAgICAgICBtZW1jcHkoJm1zZ19pbmZvLT5yZXNwb25zZS52ZXJzaW9uX3Jlc3BvbnNlLA0KICAg
ICAgICAgICAgICAgICAgICB2ZXJzaW9uUmVzcG9uc2UsDQogICAgICAgICAgICAgICAgICAgIHNp
emVvZihodl92bWJ1c19jaGFubmVsX3ZlcnNpb25fcmVzcG9uc2UpKTsNCiAgICAgICAgICAgICAg
ICBzZW1hX3Bvc3QoJm1zZ19pbmZvLT53YWl0X3NlbWEpOw0KICAgICAgICAgICAgfQ0KICAgICAg
ICB9DQogICAgbXR4X3VubG9ja19zcGluKCZodl92bWJ1c19nX2Nvbm5lY3Rpb24uY2hhbm5lbF9t
c2dfbG9jayk7DQoNCn0NCg0KLyoqDQogKiBAYnJpZWYgSGFuZGxlciBmb3IgY2hhbm5lbCBwcm90
b2NvbCBtZXNzYWdlcy4NCiAqDQogKiBUaGlzIGlzIGludm9rZWQgaW4gdGhlIHZtYnVzIHdvcmtl
ciB0aHJlYWQgY29udGV4dC4NCiAqLw0Kdm9pZA0KaHZfdm1idXNfb25fY2hhbm5lbF9tZXNzYWdl
KHZvaWQgKmNvbnRleHQpDQp7DQogICAgICAgIGh2X3ZtYnVzX21lc3NhZ2UqICAgICAgICAgICAg
ICAgbXNnOw0KICAgICAgICBodl92bWJ1c19jaGFubmVsX21zZ19oZWFkZXIqICAgIGhkcjsNCiAg
ICAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOw0KDQogICAgICAgIG1z
ZyA9IChodl92bWJ1c19tZXNzYWdlKikgY29udGV4dDsNCiAgICAgICAgaGRyID0gKGh2X3ZtYnVz
X2NoYW5uZWxfbXNnX2hlYWRlciopIG1zZy0+dS5wYXlsb2FkOw0KICAgICAgICBzaXplID0gbXNn
LT5oZWFkZXIucGF5bG9hZF9zaXplOw0KDQogICAgICAgIGlmIChoZHItPm1lc3NhZ2VfdHlwZSA+
PSBIVl9DSEFOTkVMX01FU1NBR0VfQ09VTlQpIHsNCiAgICAgICAgICAgIGZyZWUobXNnLCBNX0RF
VkJVRik7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoZ19j
aGFubmVsX21lc3NhZ2VfdGFibGVbaGRyLT5tZXNzYWdlX3R5cGVdLm1lc3NhZ2VIYW5kbGVyKSB7
DQogICAgICAgICAgICBnX2NoYW5uZWxfbWVzc2FnZV90YWJsZVtoZHItPm1lc3NhZ2VfdHlwZV0u
bWVzc2FnZUhhbmRsZXIoaGRyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIC8qIEZyZWUgdGhlIG1z
ZyB0aGF0IHdhcyBhbGxvY2F0ZWQgaW4gVm1idXNPbk1zZ0RQQygpICovDQogICAgICAgIGZyZWUo
bXNnLCBNX0RFVkJVRik7DQp9DQoNCi8qKg0KICogIEBicmllZiBTZW5kIGEgcmVxdWVzdCB0byBn
ZXQgYWxsIG91ciBwZW5kaW5nIG9mZmVycy4NCiAqLw0KaW50DQpodl92bWJ1c19yZXF1ZXN0X2No
YW5uZWxfb2ZmZXJzKHZvaWQpDQp7DQogICAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0Ow0KICAgICAgICBodl92bWJ1c19jaGFubmVsX21zZ19oZWFkZXIqICAgIG1zZzsN
CiAgICAgICAgaHZfdm1idXNfY2hhbm5lbF9tc2dfaW5mbyogICAgICBtc2dfaW5mbzsNCg0KICAg
ICAgICBtc2dfaW5mbyA9IChodl92bWJ1c19jaGFubmVsX21zZ19pbmZvICopDQogICAgICAgICAg
ICBtYWxsb2Moc2l6ZW9mKGh2X3ZtYnVzX2NoYW5uZWxfbXNnX2luZm8pDQogICAgICAgICAgICAg
ICAgICAgICsgc2l6ZW9mKGh2X3ZtYnVzX2NoYW5uZWxfbXNnX2hlYWRlciksIE1fREVWQlVGLCBN
X05PV0FJVCk7DQoNCiAgICAgICAgaWYgKG1zZ19pbmZvID09IE5VTEwpIHsNCiAgICAgICAgICAg
IGlmKGJvb3R2ZXJib3NlKQ0KICAgICAgICAgICAgICAgIHByaW50ZigiRXJyb3IgVk1CVVM6IG1h
bGxvYyBmYWlsZWQgZm9yIFJlcXVlc3QgT2ZmZXJzXG4iKTsNCiAgICAgICAgICAgIHJldHVybiAo
RU5PTUVNKTsNCiAgICAgICAgfQ0KDQogICAgICAgIG1zZyA9IChodl92bWJ1c19jaGFubmVsX21z
Z19oZWFkZXIqKSBtc2dfaW5mby0+bXNnOw0KICAgICAgICBtc2ctPm1lc3NhZ2VfdHlwZSA9IEhW
X0NIQU5ORUxfTUVTU0FHRV9SRVFVRVNUX09GRkVSUzsNCg0KICAgICAgICByZXQgPSBodl92bWJ1
c19wb3N0X21lc3NhZ2UobXNnLCBzaXplb2YoaHZfdm1idXNfY2hhbm5lbF9tc2dfaGVhZGVyKSk7
DQoNCiAgICAgICAgaWYgKG1zZ19pbmZvKQ0KICAgICAgICAgICAgZnJlZShtc2dfaW5mbywgTV9E
RVZCVUYpOw0KDQogICAgICAgIHJldHVybiAocmV0KTsNCn0NCg0KLyoqDQogKiBAYnJpZWYgUmVs
ZWFzZSBjaGFubmVscyB0aGF0IGFyZSB1bmF0dGFjaGVkL3VuY29ubmVjdGVkIChpLmUuLCBubyBk
cml2ZXJzIGFzc29jaWF0ZWQpDQogKi8NCnZvaWQNCmh2X3ZtYnVzX3JlbGVhc2VfdW5hdHRhY2hl
ZF9jaGFubmVscyh2b2lkKSANCnsNCiAgICAgICAgaHZfdm1idXNfY2hhbm5lbCAqY2hhbm5lbDsN
Cg0KICAgICAgICBtdHhfbG9jaygmaHZfdm1idXNfZ19jb25uZWN0aW9uLmNoYW5uZWxfbG9jayk7
DQoNCiAgICAgICAgd2hpbGUgKCFUQUlMUV9FTVBUWSgmaHZfdm1idXNfZ19jb25uZWN0aW9uLmNo
YW5uZWxfYW5jaG9yKSkgew0KICAgICAgICAgICAgY2hhbm5lbCA9IFRBSUxRX0ZJUlNUKCZodl92
bWJ1c19nX2Nvbm5lY3Rpb24uY2hhbm5lbF9hbmNob3IpOw0KICAgICAgICAgICAgVEFJTFFfUkVN
T1ZFKCZodl92bWJ1c19nX2Nvbm5lY3Rpb24uY2hhbm5lbF9hbmNob3IsDQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2hhbm5lbCwgbGlzdF9lbnRyeSk7DQoNCiAgICAgICAgICAgIGh2X3Zt
YnVzX2NoaWxkX2RldmljZV91bnJlZ2lzdGVyKGNoYW5uZWwtPmRldmljZSk7DQogICAgICAgICAg
ICBodl92bWJ1c19mcmVlX3ZtYnVzX2NoYW5uZWwoY2hhbm5lbCk7DQogICAgICAgIH0NCiAgICAg
ICAgbXR4X3VubG9jaygmaHZfdm1idXNfZ19jb25uZWN0aW9uLmNoYW5uZWxfbG9jayk7DQp9DQoN
Ci8qKg0KICogQGJyaWVmIFNlbGVjdCB0aGUgYmVzdCBvdXRnb2luZyBjaGFubmVsDQogKiANCiAq
IFRoZSBjaGFubmVsIHdob3NlIHZjcHUgYmluZGluZyBpcyBjbG9zZXN0IHRvIHRoZSBjdXJyZWN0
IHZjcHUgd2lsbA0KICogYmUgc2VsZWN0ZWQuDQogKiBJZiBubyBtdWx0aS1jaGFubmVsLCBhbHdh
eXMgc2VsZWN0IHByaW1hcnkgY2hhbm5lbA0KICogDQogKiBAcGFyYW0gcHJpbWFyeSAtIHByaW1h
cnkgY2hhbm5lbA0KICovDQpzdHJ1Y3QgaHZfdm1idXNfY2hhbm5lbCAqDQp2bWJ1c19zZWxlY3Rf
b3V0Z29pbmdfY2hhbm5lbChzdHJ1Y3QgaHZfdm1idXNfY2hhbm5lbCAqcHJpbWFyeSkNCnsNCiAg
ICAgICAgaHZfdm1idXNfY2hhbm5lbCAqbmV3X2NoYW5uZWwgPSBOVUxMOw0KICAgICAgICBodl92
bWJ1c19jaGFubmVsICpvdXRnb2luZ19jaGFubmVsID0gcHJpbWFyeTsNCiAgICAgICAgaW50IG9s
ZF9jcHVfZGlzdGFuY2UgPSAwOw0KICAgICAgICBpbnQgbmV3X2NwdV9kaXN0YW5jZSA9IDA7DQog
ICAgICAgIGludCBjdXJfdmNwdSA9IDA7DQogICAgICAgIGludCBzbXBfcHJvX2lkID0gUENQVV9H
RVQoY3B1aWQpOw0KDQogICAgICAgIGlmIChUQUlMUV9FTVBUWSgmcHJpbWFyeS0+c2NfbGlzdF9h
bmNob3IpKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG91dGdvaW5nX2NoYW5uZWw7DQogICAg
ICAgIH0NCg0KICAgICAgICBpZiAoc21wX3Byb19pZCA+PSBNQVhDUFUpIHsNCiAgICAgICAgICAg
ICAgICByZXR1cm4gb3V0Z29pbmdfY2hhbm5lbDsNCiAgICAgICAgfQ0KDQogICAgICAgIGN1cl92
Y3B1ID0gaHZfdm1idXNfZ19jb250ZXh0Lmh2X3ZjcHVfaW5kZXhbc21wX3Byb19pZF07DQoNCiAg
ICAgICAgVEFJTFFfRk9SRUFDSChuZXdfY2hhbm5lbCwgJnByaW1hcnktPnNjX2xpc3RfYW5jaG9y
LCBzY19saXN0X2VudHJ5KSB7DQogICAgICAgICAgICAgICAgaWYgKG5ld19jaGFubmVsLT5zdGF0
ZSAhPSBIVl9DSEFOTkVMX09QRU5FRF9TVEFURSl7DQogICAgICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBpZiAobmV3X2No
YW5uZWwtPnRhcmdldF92Y3B1ID09IGN1cl92Y3B1KXsNCiAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBuZXdfY2hhbm5lbDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg
ICBvbGRfY3B1X2Rpc3RhbmNlID0gKChvdXRnb2luZ19jaGFubmVsLT50YXJnZXRfdmNwdSA+IGN1
cl92Y3B1KSA/DQogICAgICAgICAgICAgICAgICAgIChvdXRnb2luZ19jaGFubmVsLT50YXJnZXRf
dmNwdSAtIGN1cl92Y3B1KSA6DQogICAgICAgICAgICAgICAgICAgIChjdXJfdmNwdSAtIG91dGdv
aW5nX2NoYW5uZWwtPnRhcmdldF92Y3B1KSk7DQoNCiAgICAgICAgICAgICAgICBuZXdfY3B1X2Rp
c3RhbmNlID0gKChuZXdfY2hhbm5lbC0+dGFyZ2V0X3ZjcHUgPiBjdXJfdmNwdSkgPw0KICAgICAg
ICAgICAgICAgICAgICAobmV3X2NoYW5uZWwtPnRhcmdldF92Y3B1IC0gY3VyX3ZjcHUpIDoNCiAg
ICAgICAgICAgICAgICAgICAgKGN1cl92Y3B1IC0gbmV3X2NoYW5uZWwtPnRhcmdldF92Y3B1KSk7
DQoNCiAgICAgICAgICAgICAgICBpZiAob2xkX2NwdV9kaXN0YW5jZSA8IG5ld19jcHVfZGlzdGFu
Y2UpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgICAgICAg
IH0NCg0KICAgICAgICAgICAgICAgIG91dGdvaW5nX2NoYW5uZWwgPSBuZXdfY2hhbm5lbDsNCiAg
ICAgICAgfQ0KDQogICAgICAgIHJldHVybihvdXRnb2luZ19jaGFubmVsKTsNCn0NCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAg

--_007_53238096372f4362b436382a430bde57ORTELIUSinternalbugwork_--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53238096372f4362b436382a430bde57>