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>