From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Leonard Subject: Re: [PATCH] mini-os: enable compiler check for printk format types Date: Fri, 8 Aug 2014 09:50:12 +0100 Message-ID: References: <1407318240-1799-1-git-send-email-talex5@gmail.com> <20140807145509.GK3426@type.youpi.perso.aquilenet.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a11c2f26615859605001a4b33 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XFfsO-00078m-4l for xen-devel@lists.xenproject.org; Fri, 08 Aug 2014 08:50:16 +0000 Received: by mail-oi0-f50.google.com with SMTP id a141so3460354oig.23 for ; Fri, 08 Aug 2014 01:50:12 -0700 (PDT) In-Reply-To: <20140807145509.GK3426@type.youpi.perso.aquilenet.fr> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Samuel Thibault , Thomas Leonard , xen-devel@lists.xenproject.org, Anil Madhavapeddy , David Scott , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org --001a11c2f26615859605001a4b33 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 7 August 2014 15:55, Samuel Thibault wrot= e: > Thomas Leonard, le Wed 06 Aug 2014 10:44:00 +0100, a =C3=A9crit : >> @@ -326,7 +326,7 @@ static void set_readonly(void *text, void *etext) >> count++; >> } >> else >> - printk("skipped %p\n", start_address); >> + printk("skipped %lx\n", start_address); > > Please prepend 0x, and likewise further down. Mini-OS's printk doesn't add a 0x prefix for either %p or %lx, so doing this would change the behaviour (which might be good, but I don't think it should be part of this patch, which is only about fixing the types). >> @@ -369,21 +369,21 @@ int mem_test(unsigned long *start_va, unsigned lon= g *end_va, int verbose) >> /* write values and print page walks */ >> if ( verbose && (((unsigned long)start_va) & 0xfffff) ) >> { >> - printk("MemTest Start: 0x%lx\n", start_va); >> + printk("MemTest Start: 0x%p\n", start_va); > > Please drop 0x, and likewise further down. > >> @@ -516,7 +516,7 @@ void arch_init_demand_mapping_area(unsigned long cur= _pfn) >> >> demand_map_area_start =3D (unsigned long) pfn_to_virt(cur_pfn); >> cur_pfn +=3D DEMAND_MAP_PAGES; >> - printk("Demand map pfns at %lx-%lx.\n", >> + printk("Demand map pfns at %lx-%p.\n", > > Please prepend 0x to %lx too, to have coherency. > >> @@ -1421,7 +1421,7 @@ void sparse(unsigned long data, size_t size) >> mfns[i] =3D virtual_to_mfn(data + i * PAGE_SIZE); >> } >> >> - printk("sparsing %ldMB at %lx\n", size >> 20, data); >> + printk("sparsing %ldMB at %lx\n", (long) size >> 20, data); > > Please cast into long after the shift, not before. Fixed. >> @@ -236,7 +236,7 @@ sys_thread_t sys_thread_new(char *name, void (* thre= ad)(void *arg), void *arg, i >> { >> struct thread *t; >> if (stacksize > STACK_SIZE) { >> - printk("Can't start lwIP thread: stack size %d is too large for ou= r %d\n", stacksize, STACK_SIZE); >> + printk("Can't start lwIP thread: stack size %d is too large for ou= r %d\n", stacksize, (int) STACK_SIZE); > > Please rather cast to long and use %lu. OK. >> diff --git a/extras/mini-os/netfront.c b/extras/mini-os/netfront.c >> index 44c3995..6f335fe 100644 >> --- a/extras/mini-os/netfront.c >> +++ b/extras/mini-os/netfront.c >> @@ -327,8 +327,8 @@ struct netfront_dev *init_netfront(char *_nodename, = void (*thenetif_rx)(unsigned >> dev->fd =3D -1; >> #endif >> >> - printk("net TX ring size %d\n", NET_TX_RING_SIZE); >> - printk("net RX ring size %d\n", NET_RX_RING_SIZE); >> + printk("net TX ring size %llu\n", (unsigned long long) NET_TX_RING_= SIZE); >> + printk("net RX ring size %llu\n", (unsigned long long) NET_RX_RING_= SIZE); > > lib/printf.c does not actually support %ll yet, it uses %L instead. > We'd rather not write code using that until somebody fixes lib/printf.c. > Here casting to unsigned long and using %lu will be way enough anyway. Fixed. --=20 Dr Thomas Leonard http://0install.net/ GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 GPG: DA98 25AE CAD0 8975 7CDA BD8E 0713 3F96 CA74 D8BA --001a11c2f26615859605001a4b33 Content-Type: text/x-patch; charset=US-ASCII; name="0001-mini-os-enable-compiler-check-for-printk-format-type.patch" Content-Disposition: attachment; filename="0001-mini-os-enable-compiler-check-for-printk-format-type.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hyl9ve610 RnJvbSA1MmZmMzc0NGFjODE3ZGY5MDA4YTM5NWM1NTJhNjVjOGQ0ZGIxOWRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCA2IEF1ZyAyMDE0IDA5OjI1OjIwICswMTAwClN1YmplY3Q6IFtQQVRDSF0gbWluaS1v czogZW5hYmxlIGNvbXBpbGVyIGNoZWNrIGZvciBwcmludGsgZm9ybWF0IHR5cGVzCgpTaWduZWQt b2ZmLWJ5OiBUaG9tYXMgTGVvbmFyZCA8dGFsZXg1QGdtYWlsLmNvbT4KCi0tLQoKLSBjYXN0IGFm dGVyID4+LCBub3QgYmVmb3JlCi0gZm9ybWF0IFNUQUNLX1NJWkUgYXMgbG9uZwotIGF2b2lkIHVz aW5nICVsbHUgKHdoaWNoIGlzbid0IGltcGxlbWVudGVkKQotLS0KIGV4dHJhcy9taW5pLW9zL2Fy Y2gveDg2L21tLmMgICAgIHwgMjIgKysrKysrKysrKystLS0tLS0tLS0tLQogZXh0cmFzL21pbmkt b3MvYXJjaC94ODYvc2NoZWQuYyAgfCAgNCArKy0tCiBleHRyYXMvbWluaS1vcy9hcmNoL3g4Ni90 cmFwcy5jICB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQogZXh0cmFzL21pbmktb3MvYmxrZnJvbnQu YyAgICAgICAgfCAgMiArLQogZXh0cmFzL21pbmktb3MvaW5jbHVkZS9jb25zb2xlLmggfCAgNCAr Ky0tCiBleHRyYXMvbWluaS1vcy9saWIvc3lzLmMgICAgICAgICB8ICA0ICsrLS0KIGV4dHJhcy9t aW5pLW9zL2x3aXAtYXJjaC5jICAgICAgIHwgIDUgKysrLS0KIGV4dHJhcy9taW5pLW9zL21pbmlv cy5tayAgICAgICAgIHwgIDIgKy0KIGV4dHJhcy9taW5pLW9zL21tLmMgICAgICAgICAgICAgIHwg IDYgKysrKystCiBleHRyYXMvbWluaS1vcy9uZXRmcm9udC5jICAgICAgICB8ICA0ICsrLS0KIGV4 dHJhcy9taW5pLW9zL3NjaGVkLmMgICAgICAgICAgIHwgIDIgKy0KIGV4dHJhcy9taW5pLW9zL3Rl c3QuYyAgICAgICAgICAgIHwgIDYgKysrKy0tCiBleHRyYXMvbWluaS1vcy90cG1fdGlzLmMgICAg ICAgICB8ICA4ICsrKystLS0tCiBleHRyYXMvbWluaS1vcy94ZW5idXMveGVuYnVzLmMgICB8ICA0 ICsrLS0KIHN0dWJkb20vdnRwbW1nci9kaXNrX3JlYWQuYyAgICAgIHwgIDIgKy0KIDE1IGZpbGVz IGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2V4dHJhcy9taW5pLW9zL2FyY2gveDg2L21tLmMgYi9leHRyYXMvbWluaS1vcy9hcmNoL3g4Ni9t bS5jCmluZGV4IDljNmQxYjguLjE4NjY1OWQgMTAwNjQ0Ci0tLSBhL2V4dHJhcy9taW5pLW9zL2Fy Y2gveDg2L21tLmMKKysrIGIvZXh0cmFzL21pbmktb3MvYXJjaC94ODYvbW0uYwpAQCAtOTQsNyAr OTQsNyBAQCBzdGF0aWMgdm9pZCBuZXdfcHRfZnJhbWUodW5zaWduZWQgbG9uZyAqcHRfcGZuLCB1 bnNpZ25lZCBsb25nIHByZXZfbF9tZm4sCiAgICAgICAgIGJyZWFrOwogI2VuZGlmCiAgICAgZGVm YXVsdDoKLSAgICAgICAgcHJpbnRrKCJuZXdfcHRfZnJhbWUoKSBjYWxsZWQgd2l0aCBpbnZhbGlk IGxldmVsIG51bWJlciAlZFxuIiwgbGV2ZWwpOworICAgICAgICBwcmludGsoIm5ld19wdF9mcmFt ZSgpIGNhbGxlZCB3aXRoIGludmFsaWQgbGV2ZWwgbnVtYmVyICVsdVxuIiwgbGV2ZWwpOwogICAg ICAgICBkb19leGl0KCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTE4MSw3ICsxODEsNyBA QCBzdGF0aWMgaW50IG5lZWRfcHRfZnJhbWUodW5zaWduZWQgbG9uZyB2YSwgaW50IGxldmVsKQog ICAgICAgICBpZiAoIGxldmVsID09IEwxX0ZSQU1FICkKICAgICAgICAgICAgIHJldHVybiAxOwog Ci0gICAgcHJpbnRrKCJFUlJPUjogVW5rbm93biBmcmFtZSBsZXZlbCAlZCwgaHlwZXJ2aXNvciAl bGx4LCVsbHhcbiIsIAorICAgIHByaW50aygiRVJST1I6IFVua25vd24gZnJhbWUgbGV2ZWwgJWQs IGh5cGVydmlzb3IgJWx4LCVseFxuIiwgCiAgICAgICAgICAgIGxldmVsLCBoeXBfdmlydF9zdGFy dCwgaHlwX3ZpcnRfZW5kKTsKICAgICByZXR1cm4gLTE7CiB9CkBAIC0yMDYsMTEgKzIwNiwxMSBA QCBzdGF0aWMgdm9pZCBidWlsZF9wYWdldGFibGUodW5zaWduZWQgbG9uZyAqc3RhcnRfcGZuLCB1 bnNpZ25lZCBsb25nICptYXhfcGZuKQogICAgIGlmICggKm1heF9wZm4gPj0gdmlydF90b19wZm4o SFlQRVJWSVNPUl9WSVJUX1NUQVJUKSApCiAgICAgewogICAgICAgICBwcmludGsoIldBUk5JTkc6 IE1pbmktT1MgdHJ5aW5nIHRvIHVzZSBYZW4gdmlydHVhbCBzcGFjZS4gIgotICAgICAgICAgICAg ICAgIlRydW5jYXRpbmcgbWVtb3J5IGZyb20gJWRNQiB0byAiLAorICAgICAgICAgICAgICAgIlRy dW5jYXRpbmcgbWVtb3J5IGZyb20gJWx1TUIgdG8gIiwKICAgICAgICAgICAgICAgICgodW5zaWdu ZWQgbG9uZylwZm5fdG9fdmlydCgqbWF4X3BmbikgLQogICAgICAgICAgICAgICAgICh1bnNpZ25l ZCBsb25nKSZfdGV4dCk+PjIwKTsKICAgICAgICAgKm1heF9wZm4gPSB2aXJ0X3RvX3BmbihIWVBF UlZJU09SX1ZJUlRfU1RBUlQgLSBQQUdFX1NJWkUpOwotICAgICAgICBwcmludGsoIiVkTUJcbiIs CisgICAgICAgIHByaW50aygiJWx1TUJcbiIsCiAgICAgICAgICAgICAgICAoKHVuc2lnbmVkIGxv bmcpcGZuX3RvX3ZpcnQoKm1heF9wZm4pIC0gCiAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxv bmcpJl90ZXh0KT4+MjApOwogICAgIH0KQEAgLTMyNiw3ICszMjYsNyBAQCBzdGF0aWMgdm9pZCBz ZXRfcmVhZG9ubHkodm9pZCAqdGV4dCwgdm9pZCAqZXRleHQpCiAgICAgICAgICAgICBjb3VudCsr OwogICAgICAgICB9CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHByaW50aygic2tpcHBlZCAl cFxuIiwgc3RhcnRfYWRkcmVzcyk7CisgICAgICAgICAgICBwcmludGsoInNraXBwZWQgJWx4XG4i LCBzdGFydF9hZGRyZXNzKTsKIAogICAgICAgICBzdGFydF9hZGRyZXNzICs9IFBBR0VfU0laRTsK IApAQCAtMzY5LDIxICszNjksMjEgQEAgaW50IG1lbV90ZXN0KHVuc2lnbmVkIGxvbmcgKnN0YXJ0 X3ZhLCB1bnNpZ25lZCBsb25nICplbmRfdmEsIGludCB2ZXJib3NlKQogICAgIC8qIHdyaXRlIHZh bHVlcyBhbmQgcHJpbnQgcGFnZSB3YWxrcyAqLwogICAgIGlmICggdmVyYm9zZSAmJiAoKCh1bnNp Z25lZCBsb25nKXN0YXJ0X3ZhKSAmIDB4ZmZmZmYpICkKICAgICB7Ci0gICAgICAgIHByaW50aygi TWVtVGVzdCBTdGFydDogMHglbHhcbiIsIHN0YXJ0X3ZhKTsKKyAgICAgICAgcHJpbnRrKCJNZW1U ZXN0IFN0YXJ0OiAweCVwXG4iLCBzdGFydF92YSk7CiAgICAgICAgIHBhZ2Vfd2FsaygodW5zaWdu ZWQgbG9uZylzdGFydF92YSk7CiAgICAgfQogICAgIGZvciAoIHBvaW50ZXIgPSBzdGFydF92YTsg cG9pbnRlciA8IGVuZF92YTsgcG9pbnRlcisrICkKICAgICB7CiAgICAgICAgIGlmICggdmVyYm9z ZSAmJiAhKCgodW5zaWduZWQgbG9uZylwb2ludGVyKSAmIDB4ZmZmZmYpICkKICAgICAgICAgewot ICAgICAgICAgICAgcHJpbnRrKCJXcml0aW5nIHRvICVseFxuIiwgcG9pbnRlcik7CisgICAgICAg ICAgICBwcmludGsoIldyaXRpbmcgdG8gJXBcbiIsIHBvaW50ZXIpOwogICAgICAgICAgICAgcGFn ZV93YWxrKCh1bnNpZ25lZCBsb25nKXBvaW50ZXIpOwogICAgICAgICB9CiAgICAgICAgICpwb2lu dGVyID0gKHVuc2lnbmVkIGxvbmcpcG9pbnRlciAmIH5tYXNrOwogICAgIH0KICAgICBpZiAoIHZl cmJvc2UgJiYgKCgodW5zaWduZWQgbG9uZyllbmRfdmEpICYgMHhmZmZmZikgKQogICAgIHsKLSAg ICAgICAgcHJpbnRrKCJNZW1UZXN0IEVuZDogJWx4XG4iLCBlbmRfdmEtMSk7CisgICAgICAgIHBy aW50aygiTWVtVGVzdCBFbmQ6ICVwXG4iLCBlbmRfdmEtMSk7CiAgICAgICAgIHBhZ2Vfd2Fsaygo dW5zaWduZWQgbG9uZyllbmRfdmEtMSk7CiAgICAgfQogIApAQCAtNTE2LDcgKzUxNiw3IEBAIHZv aWQgYXJjaF9pbml0X2RlbWFuZF9tYXBwaW5nX2FyZWEodW5zaWduZWQgbG9uZyBjdXJfcGZuKQog CiAgICAgZGVtYW5kX21hcF9hcmVhX3N0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpIHBmbl90b192aXJ0 KGN1cl9wZm4pOwogICAgIGN1cl9wZm4gKz0gREVNQU5EX01BUF9QQUdFUzsKLSAgICBwcmludGso IkRlbWFuZCBtYXAgcGZucyBhdCAlbHgtJWx4LlxuIiwgCisgICAgcHJpbnRrKCJEZW1hbmQgbWFw IHBmbnMgYXQgJWx4LSVwLlxuIiwgCiAgICAgICAgICAgIGRlbWFuZF9tYXBfYXJlYV9zdGFydCwg cGZuX3RvX3ZpcnQoY3VyX3BmbikpOwogCiAjaWZkZWYgSEFWRV9MSUJDCkBAIC02MTksNyArNjE5 LDcgQEAgdm9pZCBkb19tYXBfZnJhbWVzKHVuc2lnbmVkIGxvbmcgdmEsCiAgICAgICAgICAgICAg ICAgaWYgKGVycikKICAgICAgICAgICAgICAgICAgICAgZXJyW2RvbmUgKiBzdHJpZGVdID0gcmM7 CiAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHByaW50aygiTWFw ICVsZCAoJWx4LCAuLi4pIGF0ICVwIGZhaWxlZDogJWQuXG4iLAorICAgICAgICAgICAgICAgICAg ICBwcmludGsoIk1hcCAlbGQgKCVseCwgLi4uKSBhdCAlbHggZmFpbGVkOiAlZC5cbiIsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0b2RvLCBtZm5zW2RvbmUgKiBzdHJpZGVdICsgZG9uZSAq IGluY3IsIHZhLCByYyk7CiAgICAgICAgICAgICAgICAgICAgIGRvX2V4aXQoKTsKICAgICAgICAg ICAgICAgICB9CkBAIC03OTMsNyArNzkzLDcgQEAgdW5zaWduZWQgbG9uZyBhbGxvY19jb250aWdf cGFnZXMoaW50IG9yZGVyLCB1bnNpZ25lZCBpbnQgYWRkcl9iaXRzKQogICAgIG91dF9mcmFtZXMg PSB2aXJ0X3RvX3Bmbihpbl92YSk7IC8qIFBGTnMgdG8gcG9wdWxhdGUgKi8KICAgICByZXQgPSBI WVBFUlZJU09SX21lbW9yeV9vcChYRU5NRU1fZXhjaGFuZ2UsICZleGNoYW5nZSk7CiAgICAgaWYg KCByZXQgKSB7Ci0gICAgICAgIHByaW50aygibWVtIGV4Y2hhbmdlZCBvcmRlcj0weCV4IGZhaWxl ZCB3aXRoIHJjPSVkLCBucl9leGNoYW5nZWQ9JWRcbiIsIAorICAgICAgICBwcmludGsoIm1lbSBl eGNoYW5nZWQgb3JkZXI9MHgleCBmYWlsZWQgd2l0aCByYz0lZCwgbnJfZXhjaGFuZ2VkPSVsdVxu IiwKICAgICAgICAgICAgICAgIG9yZGVyLCByZXQsIGV4Y2hhbmdlLm5yX2V4Y2hhbmdlZCk7CiAg ICAgICAgIC8qIHdlIHN0aWxsIG5lZWQgdG8gcmV0dXJuIHRoZSBhbGxvY2F0ZWQgcGFnZXMgYWJv dmUgdG8gdGhlIHBvb2wKICAgICAgICAgICogaWUuIG1hcCB0aGVtIGJhY2sgaW50byB0aGUgMTox IG1hcHBpbmcgZXRjLiBzbyB3ZSBjb250aW51ZSBidXQgCmRpZmYgLS1naXQgYS9leHRyYXMvbWlu aS1vcy9hcmNoL3g4Ni9zY2hlZC5jIGIvZXh0cmFzL21pbmktb3MvYXJjaC94ODYvc2NoZWQuYwpp bmRleCBlNGEzZGMyLi5lYzEzNjk0IDEwMDY0NAotLS0gYS9leHRyYXMvbWluaS1vcy9hcmNoL3g4 Ni9zY2hlZC5jCisrKyBiL2V4dHJhcy9taW5pLW9zL2FyY2gveDg2L3NjaGVkLmMKQEAgLTczLDcg KzczLDcgQEAgdm9pZCBkdW1wX3N0YWNrKHN0cnVjdCB0aHJlYWQgKnRocmVhZCkKICAgICBwcmlu dGsoIlRoZSBzdGFjayBmb3IgXCIlc1wiXG4iLCB0aHJlYWQtPm5hbWUpOwogICAgIGZvcihjb3Vu dCA9IDA7IGNvdW50IDwgMjUgJiYgcG9pbnRlciA8IGJvdHRvbTsgY291bnQgKyspCiAgICAgewot ICAgICAgICBwcmludGsoIlsweCVseF0gMHglbHhcbiIsIHBvaW50ZXIsICpwb2ludGVyKTsKKyAg ICAgICAgcHJpbnRrKCJbMHglcF0gMHglbHhcbiIsIHBvaW50ZXIsICpwb2ludGVyKTsKICAgICAg ICAgcG9pbnRlcisrOwogICAgIH0KICAgICAKQEAgLTEwMSw3ICsxMDEsNyBAQCBzdHJ1Y3QgdGhy ZWFkKiBhcmNoX2NyZWF0ZV90aHJlYWQoY2hhciAqbmFtZSwgdm9pZCAoKmZ1bmN0aW9uKSh2b2lk ICopLAogICAgIC8qIFdlIGNhbid0IHVzZSBsYXp5IGFsbG9jYXRpb24gaGVyZSBzaW5jZSB0aGUg dHJhcCBoYW5kbGVyIHJ1bnMgb24gdGhlIHN0YWNrICovCiAgICAgdGhyZWFkLT5zdGFjayA9IChj aGFyICopYWxsb2NfcGFnZXMoU1RBQ0tfU0laRV9QQUdFX09SREVSKTsKICAgICB0aHJlYWQtPm5h bWUgPSBuYW1lOwotICAgIHByaW50aygiVGhyZWFkIFwiJXNcIjogcG9pbnRlcjogMHglbHgsIHN0 YWNrOiAweCVseFxuIiwgbmFtZSwgdGhyZWFkLCAKKyAgICBwcmludGsoIlRocmVhZCBcIiVzXCI6 IHBvaW50ZXI6IDB4JXAsIHN0YWNrOiAweCVwXG4iLCBuYW1lLCB0aHJlYWQsIAogICAgICAgICAg ICAgdGhyZWFkLT5zdGFjayk7CiAgICAgCiAgICAgdGhyZWFkLT5zcCA9ICh1bnNpZ25lZCBsb25n KXRocmVhZC0+c3RhY2sgKyBTVEFDS19TSVpFOwpkaWZmIC0tZ2l0IGEvZXh0cmFzL21pbmktb3Mv YXJjaC94ODYvdHJhcHMuYyBiL2V4dHJhcy9taW5pLW9zL2FyY2gveDg2L3RyYXBzLmMKaW5kZXgg NTE2ZDEzMy4uNjM1MzcxOCAxMDA2NDQKLS0tIGEvZXh0cmFzL21pbmktb3MvYXJjaC94ODYvdHJh cHMuYworKysgYi9leHRyYXMvbWluaS1vcy9hcmNoL3g4Ni90cmFwcy5jCkBAIC0zNCwxNCArMzQs MTQgQEAgdm9pZCBkdW1wX3JlZ3Moc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAgICAgcHJpbnRr KCJUaHJlYWQ6ICVzXG4iLCBjdXJyZW50LT5uYW1lKTsKICNpZmRlZiBfX2kzODZfXyAgICAKLSAg ICBwcmludGsoIkVJUDogJXgsIEVGTEFHUyAleC5cbiIsIHJlZ3MtPmVpcCwgcmVncy0+ZWZsYWdz KTsKLSAgICBwcmludGsoIkVCWDogJTA4eCBFQ1g6ICUwOHggRURYOiAlMDh4XG4iLAorICAgIHBy aW50aygiRUlQOiAlbHgsIEVGTEFHUyAlbHguXG4iLCByZWdzLT5laXAsIHJlZ3MtPmVmbGFncyk7 CisgICAgcHJpbnRrKCJFQlg6ICUwOGx4IEVDWDogJTA4bHggRURYOiAlMDhseFxuIiwKIAkgICBy ZWdzLT5lYngsIHJlZ3MtPmVjeCwgcmVncy0+ZWR4KTsKLSAgICBwcmludGsoIkVTSTogJTA4eCBF REk6ICUwOHggRUJQOiAlMDh4IEVBWDogJTA4eFxuIiwKKyAgICBwcmludGsoIkVTSTogJTA4bHgg RURJOiAlMDhseCBFQlA6ICUwOGx4IEVBWDogJTA4bHhcbiIsCiAJICAgcmVncy0+ZXNpLCByZWdz LT5lZGksIHJlZ3MtPmVicCwgcmVncy0+ZWF4KTsKLSAgICBwcmludGsoIkRTOiAlMDR4IEVTOiAl MDR4IG9yaWdfZWF4OiAlMDh4LCBlaXA6ICUwOHhcbiIsCisgICAgcHJpbnRrKCJEUzogJTA0eCBF UzogJTA0eCBvcmlnX2VheDogJTA4bHgsIGVpcDogJTA4bHhcbiIsCiAJICAgcmVncy0+eGRzLCBy ZWdzLT54ZXMsIHJlZ3MtPm9yaWdfZWF4LCByZWdzLT5laXApOwotICAgIHByaW50aygiQ1M6ICUw NHggRUZMQUdTOiAlMDh4IGVzcDogJTA4eCBzczogJTA0eFxuIiwKKyAgICBwcmludGsoIkNTOiAl MDR4IEVGTEFHUzogJTA4bHggZXNwOiAlMDhseCBzczogJTA0eFxuIiwKIAkgICByZWdzLT54Y3Ms IHJlZ3MtPmVmbGFncywgcmVncy0+ZXNwLCByZWdzLT54c3MpOwogI2Vsc2UKICAgICBwcmludGso IlJJUDogJTA0bHg6WzwlMDE2bHg+XSAiLCByZWdzLT5jcyAmIDB4ZmZmZiwgcmVncy0+cmlwKTsK QEAgLTIxNCwxMCArMjE0LDEwIEBAIHZvaWQgZG9fcGFnZV9mYXVsdChzdHJ1Y3QgcHRfcmVncyAq cmVncywgdW5zaWduZWQgbG9uZyBlcnJvcl9jb2RlKQogICAgIGJhcnJpZXIoKTsKIAogI2lmIGRl ZmluZWQoX194ODZfNjRfXykKLSAgICBwcmludGsoIlBhZ2UgZmF1bHQgYXQgbGluZWFyIGFkZHJl c3MgJXAsIHJpcCAlcCwgcmVncyAlcCwgc3AgJXAsIG91cl9zcCAlcCwgY29kZSAlbHhcbiIsCisg ICAgcHJpbnRrKCJQYWdlIGZhdWx0IGF0IGxpbmVhciBhZGRyZXNzICVseCwgcmlwICVseCwgcmVn cyAlcCwgc3AgJWx4LCBvdXJfc3AgJXAsIGNvZGUgJWx4XG4iLAogICAgICAgICAgICBhZGRyLCBy ZWdzLT5yaXAsIHJlZ3MsIHJlZ3MtPnJzcCwgJmFkZHIsIGVycm9yX2NvZGUpOwogI2Vsc2UKLSAg ICBwcmludGsoIlBhZ2UgZmF1bHQgYXQgbGluZWFyIGFkZHJlc3MgJXAsIGVpcCAlcCwgcmVncyAl cCwgc3AgJXAsIG91cl9zcCAlcCwgY29kZSAlbHhcbiIsCisgICAgcHJpbnRrKCJQYWdlIGZhdWx0 IGF0IGxpbmVhciBhZGRyZXNzICVseCwgZWlwICVseCwgcmVncyAlcCwgc3AgJWx4LCBvdXJfc3Ag JXAsIGNvZGUgJWx4XG4iLAogICAgICAgICAgICBhZGRyLCByZWdzLT5laXAsIHJlZ3MsIHJlZ3Mt PmVzcCwgJmFkZHIsIGVycm9yX2NvZGUpOwogI2VuZGlmCiAKQEAgLTI0Myw5ICsyNDMsOSBAQCB2 b2lkIGRvX2dlbmVyYWxfcHJvdGVjdGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJv cl9jb2RlKQogewogICAgIHN0cnVjdCBzY2hlZF9zaHV0ZG93biBzY2hlZF9zaHV0ZG93biA9IHsg LnJlYXNvbiA9IFNIVVRET1dOX2NyYXNoIH07CiAjaWZkZWYgX19pMzg2X18KLSAgICBwcmludGso IkdQRiBlaXA6ICVwLCBlcnJvcl9jb2RlPSVseFxuIiwgcmVncy0+ZWlwLCBlcnJvcl9jb2RlKTsK KyAgICBwcmludGsoIkdQRiBlaXA6ICVseCwgZXJyb3JfY29kZT0lbHhcbiIsIHJlZ3MtPmVpcCwg ZXJyb3JfY29kZSk7CiAjZWxzZSAgICAKLSAgICBwcmludGsoIkdQRiByaXA6ICVwLCBlcnJvcl9j b2RlPSVseFxuIiwgcmVncy0+cmlwLCBlcnJvcl9jb2RlKTsKKyAgICBwcmludGsoIkdQRiByaXA6 ICVseCwgZXJyb3JfY29kZT0lbHhcbiIsIHJlZ3MtPnJpcCwgZXJyb3JfY29kZSk7CiAjZW5kaWYK ICAgICBkdW1wX3JlZ3MocmVncyk7CiAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKQpkaWZmIC0tZ2l0 IGEvZXh0cmFzL21pbmktb3MvYmxrZnJvbnQuYyBiL2V4dHJhcy9taW5pLW9zL2Jsa2Zyb250LmMK aW5kZXggNTllNTc2Zi4uYmRiNzc2NSAxMDA2NDQKLS0tIGEvZXh0cmFzL21pbmktb3MvYmxrZnJv bnQuYworKysgYi9leHRyYXMvbWluaS1vcy9ibGtmcm9udC5jCkBAIC0yMzYsNyArMjM2LDcgQEAg ZG9uZToKICAgICB9CiAgICAgdW5tYXNrX2V2dGNobihkZXYtPmV2dGNobik7CiAKLSAgICBwcmlu dGsoIiV1IHNlY3RvcnMgb2YgJXUgYnl0ZXNcbiIsIGRldi0+aW5mby5zZWN0b3JzLCBkZXYtPmlu Zm8uc2VjdG9yX3NpemUpOworICAgIHByaW50aygiJWx1IHNlY3RvcnMgb2YgJXUgYnl0ZXNcbiIs ICh1bnNpZ25lZCBsb25nKSBkZXYtPmluZm8uc2VjdG9ycywgZGV2LT5pbmZvLnNlY3Rvcl9zaXpl KTsKICAgICBwcmludGsoIioqKioqKioqKioqKioqKioqKioqKioqKioqXG4iKTsKIAogICAgIHJl dHVybiBkZXY7CmRpZmYgLS1naXQgYS9leHRyYXMvbWluaS1vcy9pbmNsdWRlL2NvbnNvbGUuaCBi L2V4dHJhcy9taW5pLW9zL2luY2x1ZGUvY29uc29sZS5oCmluZGV4IDM3NTViNjYuLmE3N2Y0N2Yg MTAwNjQ0Ci0tLSBhL2V4dHJhcy9taW5pLW9zL2luY2x1ZGUvY29uc29sZS5oCisrKyBiL2V4dHJh cy9taW5pLW9zL2luY2x1ZGUvY29uc29sZS5oCkBAIC02NCw4ICs2NCw4IEBAIHN0cnVjdCBjb25z ZnJvbnRfZGV2IHsKIAogCiB2b2lkIHByaW50KGludCBkaXJlY3QsIGNvbnN0IGNoYXIgKmZtdCwg dmFfbGlzdCBhcmdzKTsKLXZvaWQgcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKLXZvaWQg eHByaW50ayhjb25zdCBjaGFyICpmbXQsIC4uLik7Cit2b2lkIHByaW50ayhjb25zdCBjaGFyICpm bXQsIC4uLikgX19hdHRyaWJ1dGVfXyAoKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpOwordm9pZCB4 cHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fICgoZm9ybWF0IChwcmlu dGYsIDEsIDIpKSk7CiAKICNkZWZpbmUgdHByaW50ayhfZm10LCBfYXJncy4uLikgcHJpbnRrKCJb JXNdICIgX2ZtdCwgY3VycmVudC0+bmFtZSwgIyNfYXJncykgCiAKZGlmZiAtLWdpdCBhL2V4dHJh cy9taW5pLW9zL2xpYi9zeXMuYyBiL2V4dHJhcy9taW5pLW9zL2xpYi9zeXMuYwppbmRleCAxM2U3 ZTU5Li5mOGQ3YTdjIDEwMDY0NAotLS0gYS9leHRyYXMvbWluaS1vcy9saWIvc3lzLmMKKysrIGIv ZXh0cmFzL21pbmktb3MvbGliL3N5cy5jCkBAIC0xMzE5LDcgKzEzMTksNyBAQCBpbnQgY2xvY2tf Z2V0dGltZShjbG9ja2lkX3QgY2xrX2lkLCBzdHJ1Y3QgdGltZXNwZWMgKnRwKQogCSAgICBicmVh azsKIAl9CiAJZGVmYXVsdDoKLQkgICAgcHJpbnRfdW5zdXBwb3J0ZWQoImNsb2NrX2dldHRpbWUo JWQpIiwgY2xrX2lkKTsKKwkgICAgcHJpbnRfdW5zdXBwb3J0ZWQoImNsb2NrX2dldHRpbWUoJWxk KSIsIChsb25nKSBjbGtfaWQpOwogCSAgICBlcnJubyA9IEVJTlZBTDsKIAkgICAgcmV0dXJuIC0x OwogICAgIH0KQEAgLTE0MjEsNyArMTQyMSw3IEBAIHZvaWQgc3BhcnNlKHVuc2lnbmVkIGxvbmcg ZGF0YSwgc2l6ZV90IHNpemUpCiAgICAgICAgIG1mbnNbaV0gPSB2aXJ0dWFsX3RvX21mbihkYXRh ICsgaSAqIFBBR0VfU0laRSk7CiAgICAgfQogCi0gICAgcHJpbnRrKCJzcGFyc2luZyAlbGRNQiBh dCAlbHhcbiIsIHNpemUgPj4gMjAsIGRhdGEpOworICAgIHByaW50aygic3BhcnNpbmcgJWxkTUIg YXQgJWx4XG4iLCAoKGxvbmcpIHNpemUpID4+IDIwLCBkYXRhKTsKIAogICAgIG11bm1hcCgodm9p ZCAqKSBkYXRhLCBzaXplKTsKICAgICBmcmVlX3BoeXNpY2FsX3BhZ2VzKG1mbnMsIG4pOwpkaWZm IC0tZ2l0IGEvZXh0cmFzL21pbmktb3MvbHdpcC1hcmNoLmMgYi9leHRyYXMvbWluaS1vcy9sd2lw LWFyY2guYwppbmRleCBlNjM0ZWY0Li4xNTQ2MTdiIDEwMDY0NAotLS0gYS9leHRyYXMvbWluaS1v cy9sd2lwLWFyY2guYworKysgYi9leHRyYXMvbWluaS1vcy9sd2lwLWFyY2guYwpAQCAtMjM2LDgg KzIzNiw5IEBAIHN5c190aHJlYWRfdCBzeXNfdGhyZWFkX25ldyhjaGFyICpuYW1lLCB2b2lkICgq IHRocmVhZCkodm9pZCAqYXJnKSwgdm9pZCAqYXJnLCBpCiB7CiAgICAgc3RydWN0IHRocmVhZCAq dDsKICAgICBpZiAoc3RhY2tzaXplID4gU1RBQ0tfU0laRSkgewotCXByaW50aygiQ2FuJ3Qgc3Rh cnQgbHdJUCB0aHJlYWQ6IHN0YWNrIHNpemUgJWQgaXMgdG9vIGxhcmdlIGZvciBvdXIgJWRcbiIs IHN0YWNrc2l6ZSwgU1RBQ0tfU0laRSk7Ci0JZG9fZXhpdCgpOworICAgICAgICBwcmludGsoIkNh bid0IHN0YXJ0IGx3SVAgdGhyZWFkOiBzdGFjayBzaXplICVkIGlzIHRvbyBsYXJnZSBmb3Igb3Vy ICVsdVxuIiwKKyAgICAgICAgICAgICAgICBzdGFja3NpemUsICh1bnNpZ25lZCBsb25nKSBTVEFD S19TSVpFKTsKKyAgICAgICAgZG9fZXhpdCgpOwogICAgIH0KICAgICBsd2lwX3RocmVhZCA9IHQg PSBjcmVhdGVfdGhyZWFkKG5hbWUsIHRocmVhZCwgYXJnKTsKICAgICByZXR1cm4gdDsKZGlmZiAt LWdpdCBhL2V4dHJhcy9taW5pLW9zL21pbmlvcy5tayBiL2V4dHJhcy9taW5pLW9zL21pbmlvcy5t awppbmRleCBmNDJmNDhiLi4yMGJhNjRiIDEwMDY0NAotLS0gYS9leHRyYXMvbWluaS1vcy9taW5p b3MubWsKKysrIGIvZXh0cmFzL21pbmktb3MvbWluaW9zLm1rCkBAIC02LDcgKzYsNyBAQCBkZWJ1 ZyA9IHkKIAogIyBEZWZpbmUgc29tZSBkZWZhdWx0IGZsYWdzLgogIyBOQi4gJy1XY2FzdC1xdWFs JyBpcyBuYXN0eSwgc28gSSBvbWl0dGVkIGl0LgotREVGX0NGTEFHUyArPSAtZm5vLWJ1aWx0aW4g LVdhbGwgLVdlcnJvciAtV3JlZHVuZGFudC1kZWNscyAtV25vLWZvcm1hdCAtV25vLXJlZHVuZGFu dC1kZWNscworREVGX0NGTEFHUyArPSAtZm5vLWJ1aWx0aW4gLVdhbGwgLVdlcnJvciAtV3JlZHVu ZGFudC1kZWNscyAtV25vLWZvcm1hdCAtV25vLXJlZHVuZGFudC1kZWNscyAtV2Zvcm1hdAogREVG X0NGTEFHUyArPSAkKGNhbGwgY2Mtb3B0aW9uLCQoQ0MpLC1mbm8tc3RhY2stcHJvdGVjdG9yLCkK IERFRl9DRkxBR1MgKz0gJChjYWxsIGNjLW9wdGlvbiwkKENDKSwtZmdudTg5LWlubGluZSkKIERF Rl9DRkxBR1MgKz0gLVdzdHJpY3QtcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1XcG9pbnRl ci1hcml0aCAtV2lubGluZQpkaWZmIC0tZ2l0IGEvZXh0cmFzL21pbmktb3MvbW0uYyBiL2V4dHJh cy9taW5pLW9zL21tLmMKaW5kZXggNjRiMzI5Mi4uMzFhYWY4MyAxMDA2NDQKLS0tIGEvZXh0cmFz L21pbmktb3MvbW0uYworKysgYi9leHRyYXMvbWluaS1vcy9tbS5jCkBAIC0zNzksNyArMzc5LDEx IEBAIHZvaWQgKnNicmsocHRyZGlmZl90IGluY3JlbWVudCkKICAgICB1bnNpZ25lZCBsb25nIG5l d19icmsgPSBvbGRfYnJrICsgaW5jcmVtZW50OwogCiAgICAgaWYgKG5ld19icmsgPiBoZWFwX2Vu ZCkgewotCXByaW50aygiSGVhcCBleGhhdXN0ZWQ6ICVwICsgJWx4ID0gJXAgPiAlcFxuIiwgb2xk X2JyaywgaW5jcmVtZW50LCBuZXdfYnJrLCBoZWFwX2VuZCk7CisJcHJpbnRrKCJIZWFwIGV4aGF1 c3RlZDogJWx4ICsgJWx4ID0gJXAgPiAlcFxuIiwKKwkJCW9sZF9icmssCisJCQkodW5zaWduZWQg bG9uZykgaW5jcmVtZW50LAorCQkJKHZvaWQgKikgbmV3X2JyaywKKwkJCSh2b2lkICopIGhlYXBf ZW5kKTsKIAlyZXR1cm4gTlVMTDsKICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9leHRyYXMvbWlu aS1vcy9uZXRmcm9udC5jIGIvZXh0cmFzL21pbmktb3MvbmV0ZnJvbnQuYwppbmRleCA0NGMzOTk1 Li40ZTk0OTk3IDEwMDY0NAotLS0gYS9leHRyYXMvbWluaS1vcy9uZXRmcm9udC5jCisrKyBiL2V4 dHJhcy9taW5pLW9zL25ldGZyb250LmMKQEAgLTMyNyw4ICszMjcsOCBAQCBzdHJ1Y3QgbmV0ZnJv bnRfZGV2ICppbml0X25ldGZyb250KGNoYXIgKl9ub2RlbmFtZSwgdm9pZCAoKnRoZW5ldGlmX3J4 KSh1bnNpZ25lZAogICAgIGRldi0+ZmQgPSAtMTsKICNlbmRpZgogCi0gICAgcHJpbnRrKCJuZXQg VFggcmluZyBzaXplICVkXG4iLCBORVRfVFhfUklOR19TSVpFKTsKLSAgICBwcmludGsoIm5ldCBS WCByaW5nIHNpemUgJWRcbiIsIE5FVF9SWF9SSU5HX1NJWkUpOworICAgIHByaW50aygibmV0IFRY IHJpbmcgc2l6ZSAlbHVcbiIsICh1bnNpZ25lZCBsb25nKSBORVRfVFhfUklOR19TSVpFKTsKKyAg ICBwcmludGsoIm5ldCBSWCByaW5nIHNpemUgJWx1XG4iLCAodW5zaWduZWQgbG9uZykgTkVUX1JY X1JJTkdfU0laRSk7CiAgICAgaW5pdF9TRU1BUEhPUkUoJmRldi0+dHhfc2VtLCBORVRfVFhfUklO R19TSVpFKTsKICAgICBmb3IoaT0wO2k8TkVUX1RYX1JJTkdfU0laRTtpKyspCiAgICAgewpkaWZm IC0tZ2l0IGEvZXh0cmFzL21pbmktb3Mvc2NoZWQuYyBiL2V4dHJhcy9taW5pLW9zL3NjaGVkLmMK aW5kZXggZDBjNjA3ZS4uMWU4NDNkOSAxMDA2NDQKLS0tIGEvZXh0cmFzL21pbmktb3Mvc2NoZWQu YworKysgYi9leHRyYXMvbWluaS1vcy9zY2hlZC5jCkBAIC0yNzYsNyArMjc2LDcgQEAgdm9pZCB0 aF9mMih2b2lkICpkYXRhKQogewogICAgIGZvcig7OykKICAgICB7Ci0gICAgICAgIHByaW50aygi VGhyZWFkIE9USEVSIGV4ZWN1dGluZywgZGF0YSAweCVseFxuIiwgZGF0YSk7CisgICAgICAgIHBy aW50aygiVGhyZWFkIE9USEVSIGV4ZWN1dGluZywgZGF0YSAweCVwXG4iLCBkYXRhKTsKICAgICAg ICAgc2NoZWR1bGUoKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9leHRyYXMvbWluaS1vcy90ZXN0 LmMgYi9leHRyYXMvbWluaS1vcy90ZXN0LmMKaW5kZXggMjBkMzcyYi4uNjRhNDA1NyAxMDA2NDQK LS0tIGEvZXh0cmFzL21pbmktb3MvdGVzdC5jCisrKyBiL2V4dHJhcy9taW5pLW9zL3Rlc3QuYwpA QCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyB2b2lkIGJsa19yZWFkX2NvbXBsZXRlZChzdHJ1Y3Qg YmxrZnJvbnRfYWlvY2IgKmFpb2NiLCBpbnQgcmV0KQogewogICAgIHN0cnVjdCBibGtfcmVxICpy ZXEgPSBhaW9jYi0+ZGF0YTsKICAgICBpZiAocmV0KQotICAgICAgICBwcmludGsoImdvdCBlcnJv ciBjb2RlICVkIHdoZW4gcmVhZGluZyBhdCBvZmZzZXQgJWxkXG4iLCByZXQsIGFpb2NiLT5haW9f b2Zmc2V0KTsKKyAgICAgICAgcHJpbnRrKCJnb3QgZXJyb3IgY29kZSAlZCB3aGVuIHJlYWRpbmcg YXQgb2Zmc2V0ICVsZFxuIiwgcmV0LCAobG9uZykgYWlvY2ItPmFpb19vZmZzZXQpOwogICAgIGVs c2UKICAgICAgICAgYmxrX3NpemVfcmVhZCArPSBibGtfaW5mby5zZWN0b3Jfc2l6ZTsKICAgICBm cmVlKGFpb2NiLT5haW9fYnVmKTsKQEAgLTIzNyw3ICsyMzcsOSBAQCBzdGF0aWMgdm9pZCBibGtm cm9udF90aHJlYWQodm9pZCAqcCkKICAgICAgICAgYmxrZnJvbnRfYWlvX3BvbGwoYmxrX2Rldik7 CiAgICAgICAgIGdldHRpbWVvZmRheSgmdHYsIE5VTEwpOwogICAgICAgICBpZiAodHYudHZfc2Vj ID4gbGFzdHRpbWUgKyAxMCkgewotICAgICAgICAgICAgcHJpbnRrKCIlbGx1IHJlYWQsICVsbHUg d3JpdGVcbiIsIGJsa19zaXplX3JlYWQsIGJsa19zaXplX3dyaXRlKTsKKyAgICAgICAgICAgIHBy aW50aygiJWxsdSByZWFkLCAlbGx1IHdyaXRlXG4iLAorICAgICAgICAgICAgICAgICAgICAodW5z aWduZWQgbG9uZyBsb25nKSBibGtfc2l6ZV9yZWFkLAorICAgICAgICAgICAgICAgICAgICAodW5z aWduZWQgbG9uZyBsb25nKSBibGtfc2l6ZV93cml0ZSk7CiAgICAgICAgICAgICBsYXN0dGltZSA9 IHR2LnR2X3NlYzsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9leHRyYXMvbWluaS1vcy90cG1f dGlzLmMgYi9leHRyYXMvbWluaS1vcy90cG1fdGlzLmMKaW5kZXggZGM0MTM0YS4uOTM2ZTg1NCAx MDA2NDQKLS0tIGEvZXh0cmFzL21pbmktb3MvdHBtX3Rpcy5jCisrKyBiL2V4dHJhcy9taW5pLW9z L3RwbV90aXMuYwpAQCAtOTA2LDcgKzkwNiw3IEBAIHN0YXRpYyBzc2l6ZV90IHRwbV90cmFuc21p dChzdHJ1Y3QgdHBtX2NoaXAgKmNoaXAsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwKICAgIC8vZG93bigm Y2hpcC0+dHBtX211dGV4KTsKIAogICAgaWYgKChyYyA9IHRwbV90aXNfc2VuZChjaGlwLCAodWlu dDhfdCAqKSBidWYsIGNvdW50KSkgPCAwKSB7Ci0gICAgICBwcmludGsoInRwbV90cmFuc21pdDog dHBtX3NlbmQ6IGVycm9yICVsZFxuIiwgcmMpOworICAgICAgcHJpbnRrKCJ0cG1fdHJhbnNtaXQ6 IHRwbV9zZW5kOiBlcnJvciAlbGRcbiIsIChsb25nKSByYyk7CiAgICAgICBnb3RvIG91dDsKICAg IH0KIApAQCAtOTM4LDcgKzkzOCw3IEBAIHN0YXRpYyBzc2l6ZV90IHRwbV90cmFuc21pdChzdHJ1 Y3QgdHBtX2NoaXAgKmNoaXAsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwKIAogb3V0X3JlY3Y6CiAgICBp ZigocmMgPSB0cG1fdGlzX3JlY3YoY2hpcCwgKHVpbnQ4X3QgKikgYnVmLCBidWZzaXopKSA8IDAp IHsKLSAgICAgIHByaW50aygidHBtX3RyYW5zbWl0OiB0cG1fcmVjdjogZXJyb3IgJWRcbiIsIHJj KTsKKyAgICAgIHByaW50aygidHBtX3RyYW5zbWl0OiB0cG1fcmVjdjogZXJyb3IgJWRcbiIsIChp bnQpIHJjKTsKICAgIH0KIG91dDoKICAgIC8vdXAoJmNoaXAtPnRwbV9tdXRleCk7CkBAIC05Nzcs NyArOTc3LDcgQEAgaW50IHRwbV9nZXRfdGltZW91dHMoc3RydWN0IHRwbV9jaGlwICpjaGlwKQog CiAgICBpZigocmMgPSB0cmFuc21pdF9jbWQoY2hpcCwgJnRwbV9jbWQsIFRQTV9JTlRFUk5BTF9S RVNVTFRfU0laRSwKIAkgImF0dGVtcHRpbmcgdG8gZGV0ZXJtaW5lIHRoZSB0aW1lb3V0cyIpKSAh PSAwKSB7Ci0gICAgICBwcmludGsoInRyYW5zbWl0IGZhaWxlZCAlZFxuIiwgcmMpOworICAgICAg cHJpbnRrKCJ0cmFuc21pdCBmYWlsZWQgJWRcbiIsIChpbnQpIHJjKTsKICAgICAgIGdvdG8gZHVy YXRpb247CiAgICB9CiAKQEAgLTExMzIsNyArMTEzMiw3IEBAIHN0cnVjdCB0cG1fY2hpcCogaW5p dF90cG1fdGlzKHVuc2lnbmVkIGxvbmcgYmFzZWFkZHIsIGludCBsb2NhbGl0aWVzLCB1bnNpZ25l ZCBpCiAgICAgICBpZihsb2NhbGl0eV9lbmFibGVkKHRwbSwgaSkpIHsKIAkgLyogTWFwIHRoZSBw YWdlIGluIG5vdyAqLwogCSBpZigodHBtLT5wYWdlc1tpXSA9IGlvcmVtYXBfbm9jYWNoZShhZGRy LCBQQUdFX1NJWkUpKSA9PSBOVUxMKSB7Ci0JICAgIHByaW50aygiVW5hYmxlIHRvIG1hcCBpb21l bSBwYWdlIGEgYWRkcmVzcyAlcFxuIiwgYWRkcik7CisJICAgIHByaW50aygiVW5hYmxlIHRvIG1h cCBpb21lbSBwYWdlIGEgYWRkcmVzcyAlbHhcbiIsIGFkZHIpOwogCSAgICBnb3RvIGFib3J0X2Vn cmVzczsKIAkgfQogCmRpZmYgLS1naXQgYS9leHRyYXMvbWluaS1vcy94ZW5idXMveGVuYnVzLmMg Yi9leHRyYXMvbWluaS1vcy94ZW5idXMveGVuYnVzLmMKaW5kZXggOTM0ZjIzYi4uNDYxM2VkNiAx MDA2NDQKLS0tIGEvZXh0cmFzL21pbmktb3MveGVuYnVzL3hlbmJ1cy5jCisrKyBiL2V4dHJhcy9t aW5pLW9zL3hlbmJ1cy94ZW5idXMuYwpAQCAtMzM3LDggKzMzNyw4IEBAIHZvaWQgaW5pdF94ZW5i dXModm9pZCkKIAkJICAgICAgeGVuYnVzX2V2dGNobl9oYW5kbGVyLAogICAgICAgICAgICAgICBO VUxMKTsKICAgICB1bm1hc2tfZXZ0Y2huKHN0YXJ0X2luZm8uc3RvcmVfZXZ0Y2huKTsKLSAgICBw cmludGsoInhlbmJ1cyBpbml0aWFsaXNlZCBvbiBpcnEgJWQgbWZuICUjbHhcbiIsCi0JICAgZXJy LCBzdGFydF9pbmZvLnN0b3JlX21mbik7CisgICAgcHJpbnRrKCJ4ZW5idXMgaW5pdGlhbGlzZWQg b24gaXJxICVkIG1mbiAlI2xseFxuIiwKKwkgICBlcnIsICh1bnNpZ25lZCBsb25nIGxvbmcpIHN0 YXJ0X2luZm8uc3RvcmVfbWZuKTsKIH0KIAogdm9pZCBmaW5pX3hlbmJ1cyh2b2lkKQpkaWZmIC0t Z2l0IGEvc3R1YmRvbS92dHBtbWdyL2Rpc2tfcmVhZC5jIGIvc3R1YmRvbS92dHBtbWdyL2Rpc2tf cmVhZC5jCmluZGV4IDMzYWFjZGQuLmE0YzYzYzggMTAwNjQ0Ci0tLSBhL3N0dWJkb20vdnRwbW1n ci9kaXNrX3JlYWQuYworKysgYi9zdHViZG9tL3Z0cG1tZ3IvZGlza19yZWFkLmMKQEAgLTUzOCw3 ICs1MzgsNyBAQCBpbnQgdnRwbV9sb2FkX2Rpc2sodm9pZCkKIAlwcmludGsoIiByb290IHNlYWw6 ICVsdTsgc2VjdG9yIG9mICVkOiAlbHVcbiIsCiAJCXNpemVvZihzdHJ1Y3QgZGlza19yb290X3Nl YWxlZF9kYXRhKSwgU0VBTFNfUEVSX1JPT1RfU0VBTF9MSVNULCBzaXplb2Yoc3RydWN0IGRpc2tf c2VhbF9saXN0KSk7CiAJcHJpbnRrKCIgcm9vdDogJWx1IHY9JWx1XG4iLCBzaXplb2Yocm9vdDEp LCBzaXplb2Yocm9vdDEudikpOwotCXByaW50aygiIGl0cmVlOiAlbHU7IHNlY3RvciBvZiAlZDog JWx1XG4iLAorCXByaW50aygiIGl0cmVlOiAldTsgc2VjdG9yIG9mICVkOiAlbHVcbiIsCiAJCTQg KyAzMiwgTlJfRU5UUklFU19QRVJfSVRSRUUsIHNpemVvZihzdHJ1Y3QgZGlza19pdHJlZV9zZWN0 b3IpKTsKIAlwcmludGsoIiBncm91cDogJWx1IHY9JWx1IGlkPSVsdSBtZD0lbHVcbiIsCiAJCXNp emVvZihzdHJ1Y3QgZGlza19ncm91cF9zZWN0b3IpLCBzaXplb2Yoc3RydWN0IGRpc2tfZ3JvdXBf c2VjdG9yX21hYzNfYXJlYSksCi0tIAoyLjAuMwoK --001a11c2f26615859605001a4b33 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --001a11c2f26615859605001a4b33--