From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: Multipart/Mixed; charset="iso-8859-1"; boundary="------------Boundary-00=_DTXT9N6JES3HW1BYMIHU" From: "Kevin B. Hendricks" Reply-To: khendricks@ivey.uwo.ca To: pnilesh@in.ibm.com, khendricks@ivey.uwo.ca Subject: Re: strange sigaction () Date: Wed, 7 Mar 2001 08:36:49 -0500 Cc: linuxppc-dev@lists.linuxppc.org References: In-Reply-To: MIME-Version: 1.0 Message-Id: <01030708364900.17453@localhost> Sender: owner-linuxppc-dev@lists.linuxppc.org List-Id: --------------Boundary-00=_DTXT9N6JES3HW1BYMIHU Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Hi, > It did not work for me !! > Is the problem with kernel or it is elsewhere ? > Which kernel patch will fix this ? What kernel are you using? What version of glibc are you using? The patch to support siginfo and rt signals was added during the 2.2.14 series someplace and should be in both 2.2.16 and higher and 2.4.X. For example, my kernel is 2.2.17-pre10 and it has the necessary support. The glibc I am using is 2.1.3 latest from Franz Sirl. If you are using a 2.2.1X series kernel you may want to see if this patch is present in your kernel sources (see attached patch). p.s. I don't know how your previous code worked on Intel RedHat since it never loaded the SA_SIGINFO and handler into the sigaction structure before calling sigaction. If it worked, you were lucky. Technically without the handler being specified in the sigaction structure and without the SA_SIGINFO flag you should have been playing with a zero'd out act structure. Kevin > > > Try the following, it works for me: > > #include > #include > #include > > static struct sigaction act; > static void handler (int,siginfo_t *,void *); > > int > main () > { > act.sa_sigaction=handler; > act.sa_flags=SA_SIGINFO; > sigaction (SIGALRM,&act,NULL); > alarm (1); > sleep (2); > } > > void handler (int x, siginfo_t *s,void *v) > { > printf ("si_signo = %d, si_code = %d, si_errno = %d\n",s->si_signo, > s->si_code, s->si_errno); > } > > [kbhend@localhost kbhend]$ gcc -otest test.c > [kbhend@localhost kbhend]$ ./test > si_signo = 14, si_code = 0, si_errno = 0 > [kbhend@localhost kbhend]$ --------------Boundary-00=_DTXT9N6JES3HW1BYMIHU Content-Type: text/x-c; charset="iso-8859-1"; name="posix_stable.patch" Content-Disposition: attachment; filename="posix_stable.patch" Content-Transfer-Encoding: base64 LS0tIGFyY2gvcHBjL2tlcm5lbC9oZWFkLlMucHJldglXZWQgQXByIDI2IDEwOjM4OjI0IDIwMDAK KysrIGFyY2gvcHBjL2tlcm5lbC9oZWFkLlMJV2VkIEFwciAyNiAxMTowMjoxOCAyMDAwCkBAIC0y Myw2ICsyMywxMCBAQAogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgKiAgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uCiAgKiAgMiBvZiB0aGUgTGljZW5zZSwgb3Ig KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgMjAwMC0wNC0xMC4K KyAqICBBZGQgc3lzX3J0X3NpZ3JldHVybiBpbiBEb1N5c2NhbGwgSGFuZGxlci4KKyAqICBHaW92 YW5uYSBBbWJyb3NpbmkgKGFtYnJvc2luaUBsaWdodG5pbmcuY2gpLgogICoJCiAgKi8KIApAQCAt MjE2OSw2ICsyMTczLDggQEAKICNlbmRpZiAvKiBTSE9XX1NZU0NBTExTICovCiAJY21waQkwLHIw LDB4Nzc3NwkvKiBTcGVjaWFsIGNhc2UgZm9yICdzeXNfc2lncmV0dXJuJyAqLwogCWJlcS0JMTBm CisgICAgICAgIGNtcGkgICAgMCxyMCwweDY2NjYgICAgIC8qIFNwZWNpYWwgY2FzZSBmb3IgJ3N5 c19ydF9zaWdyZXR1cm4nICovCisgICAgICAgIGJlcS0gICAgMTZmCiAJbHd6CXIxMCxUQVNLX0ZM QUdTKHIyKQogCWFuZGkuCXIxMCxyMTAsUEZfVFJBQ0VTWVMKIAlibmUtCTUwZgpAQCAtMjIxNSw2 ICsyMjIxLDEyIEBACiAvKiBzeXNfc2lncmV0dXJuICovCiAxMDoJYWRkaQlyMyxyMSxTVEFDS19G UkFNRV9PVkVSSEVBRAogCWJsCXN5c19zaWdyZXR1cm4KKyAgICAgICAgY21waSAgICAwLHIzLDAg ICAgICAgICAgLyogQ2hlY2sgZm9yIHJlc3RhcnRlZCBzeXN0ZW0gY2FsbCAqLworICAgICAgICBi Z2UgICAgIGludF9yZXR1cm4KKyAgICAgICAgYiAgICAgICAyMGIKKy8qIHN5c19ydF9zaWdyZXR1 cm4gKi8KKzE2OiAgICAgYWRkaSAgICByMyxyMSxTVEFDS19GUkFNRV9PVkVSSEVBRAorICAgICAg ICBibCAgICAgIHN5c19ydF9zaWdyZXR1cm4KIAljbXBpCTAscjMsMAkJLyogQ2hlY2sgZm9yIHJl c3RhcnRlZCBzeXN0ZW0gY2FsbCAqLwogCWJnZQlpbnRfcmV0dXJuCiAJYgkyMGIKLS0tIGFyY2gv cHBjL2tlcm5lbC9zaWduYWwuYy5wcmV2CVdlZCBBcHIgMjYgMTA6Mzg6MzkgMjAwMAorKysgYXJj aC9wcGMva2VybmVsL3NpZ25hbC5jCVdlZCBBcHIgMjYgMTA6NTY6NDcgMjAwMApAQCAtMTQsNiAr MTQsMTYgQEAKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQogICogIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbgogICogIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICoKKyAqIDIwMDAtMDQtNy4KKyAq IERlZmluZSBhIHJlYWwtdGltZSBzaWduYWwgZnJhbWUgd2l0aCBzaWdpbmZvIGFuZCB1Y29udGV4 dAorICogc3RydWN0dXJlcyAoc2V0dXBfcnRfZnJhbWUoKSkuCisgKiBTdHVjayB1cCBhIHJlYWwt dGltZSBzaWduYWwgZnJhbWUgd2hlbiBzZXR0aW5nIHRoZSBzaWduYWwKKyAqIGZyYW1lIHdpdGgg U0FfU0lHSU5GTyBmbGFncy4KKyAqIEFkZCBzeXNfcnRfc2lncmV0dXJuKCkgdG8gdW5kbyB0aGUg c2lnbmFsIHN0YWNrLgorICoKKyAqIEdpb3Zhbm5hIEFtYnJvc2luaSAoYW1icm9zaW5pQGxpZ2h0 bmluZy5jaCkKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KQEAgLTEyMSwxMyArMTMx LDYgQEAKIH0KIAogCi1hc21saW5rYWdlIGludCBzeXNfcnRfc2lncmV0dXJuKHVuc2lnbmVkIGxv bmcgX191bnVzZWQpCi17Ci0JcHJpbnRrKCJzeXNfcnRfc2lncmV0dXJuKCk6ICVzLyVkIG5vdCB5 ZXQgaW1wbGVtZW50ZWQuXG4iLAotCSAgICAgICBjdXJyZW50LT5jb21tLGN1cnJlbnQtPnBpZCk7 Ci0JZG9fZXhpdChTSUdTRUdWKTsKLX0KLQogYXNtbGlua2FnZSBpbnQKIHN5c19zaWdhbHRzdGFj ayhjb25zdCBzdGFja190ICp1c3MsIHN0YWNrX3QgKnVvc3MpCiB7CkBAIC0xNzEsMTMgKzE3NCwx MSBAQAogICogV2hlbiB3ZSBoYXZlIHNpZ25hbHMgdG8gZGVsaXZlciwgd2Ugc2V0IHVwIG9uIHRo ZQogICogdXNlciBzdGFjaywgZ29pbmcgZG93biBmcm9tIHRoZSBvcmlnaW5hbCBzdGFjayBwb2lu dGVyOgogICoJYSBzaWdyZWdzIHN0cnVjdAotICoJb25lIG9yIG1vcmUgc2lnY29udGV4dCBzdHJ1 Y3RzCisgKiBvbmUgb3IgbW9yZSBzaWdjb250ZXh0IHN0cnVjdHMgd2l0aAogICoJYSBnYXAgb2Yg X19TSUdOQUxfRlJBTUVTSVpFIGJ5dGVzCiAgKgogICogRWFjaCBvZiB0aGVzZSB0aGluZ3MgbXVz dCBiZSBhIG11bHRpcGxlIG9mIDE2IGJ5dGVzIGluIHNpemUuCiAgKgotICogWFhYIHVsdGltYXRl bHkgd2Ugd2lsbCBoYXZlIHRvIHN0YWNrIHVwIGEgc2lnaW5mbyBhbmQgdWNvbnRleHQKLSAqIGZv ciBlYWNoIHJ0IHNpZ25hbC4KICAqLwogc3RydWN0IHNpZ3JlZ3MgewogCWVsZl9ncmVnc2V0X3QJ Z3BfcmVnczsKQEAgLTE4OCw2ICsxODksMTUgQEAKIAlpbnQJCWFiaWdhcFs1Nl07CiB9OwogCitz dHJ1Y3QgcnRfc2lnZnJhbWUKK3sKKyB1bnNpZ25lZCBsb25nIF91bnVzZWRbMl07Cisgc3RydWN0 IHNpZ2luZm8gKnBpbmZvOworIHZvaWQgKnB1YzsKKyBzdHJ1Y3Qgc2lnaW5mbyBpbmZvOworIHN0 cnVjdCB1Y29udGV4dCB1YzsKK307CisKIC8qCiAgKiBEbyBhIHNpZ25hbCByZXR1cm47IHVuZG8g dGhlIHNpZ25hbCBzdGFjay4KICAqLwpAQCAtMjU5LDYgKzI2OSw5MSBAQAogCWRvX2V4aXQoU0lH U0VHVik7CiB9CQogCisKKy8qCisgKiAgV2hlbiB3ZSBoYXZlIHJ0IHNpZ25hbHMgdG8gZGVsaXZl ciwgd2Ugc2V0IHVwIG9uIHRoZQorICogIHVzZXIgc3RhY2ssIGdvaW5nIGRvd24gZnJvbSB0aGUg b3JpZ2luYWwgc3RhY2sgcG9pbnRlcjoKKyAqICAgIGEgc2lncmVncyBzdHJ1Y3QKKyAqICAgIG9u ZSBydF9zaWdmcmFtZSBzdHJ1Y3QgKHNpZ2luZm8gKyB1Y29udGV4dCkKKyAqICAgIGEgZ2FwIG9m IF9fU0lHTkFMX0ZSQU1FU0laRSBieXRlcworICoKKyAqICBFYWNoIG9mIHRoZXNlIHRoaW5ncyBt dXN0IGJlIGEgbXVsdGlwbGUgb2YgMTYgYnl0ZXMgaW4gc2l6ZS4KKyAqCisgKi8KK2FzbWxpbmth Z2UgaW50IHN5c19ydF9zaWdyZXR1cm4oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7Cisgc3RydWN0 IHJ0X3NpZ2ZyYW1lICpydF9zZjsKKyBzdHJ1Y3Qgc2lnY29udGV4dF9zdHJ1Y3Qgc2lnY3R4Owor IHN0cnVjdCBzaWdyZWdzICpzcjsKKyBpbnQgcmV0OworIGVsZl9ncmVnc2V0X3Qgc2F2ZWRfcmVn czsgIC8qIGFuIGFycmF5IG9mIEVMRl9OR1JFRyB1bnNpZ25lZCBsb25ncyAqLworIHNpZ3NldF90 IHNldDsKKyBzdGFja190IHN0OworIHVuc2lnbmVkIGxvbmcgcHJldnNwOworCisgcnRfc2YgPSAo c3RydWN0IHJ0X3NpZ2ZyYW1lICopKHJlZ3MtPmdwclsxXSArIF9fU0lHTkFMX0ZSQU1FU0laRSk7 CisgaWYgKGNvcHlfZnJvbV91c2VyKCZzaWdjdHgsICZydF9zZi0+dWMudWNfbWNvbnRleHQsIHNp emVvZihzaWdjdHgpKQorICAgICB8fCBjb3B5X2Zyb21fdXNlcigmc2V0LCAmcnRfc2YtPnVjLnVj X3NpZ21hc2ssIHNpemVvZihzZXQpKQorICAgICB8fCBjb3B5X2Zyb21fdXNlcigmc3QsICZydF9z Zi0+dWMudWNfc3RhY2ssIHNpemVvZihzdCkpKQorICBnb3RvIGJhZGZyYW1lOworIHNpZ2RlbHNl dG1hc2soJnNldCwgfl9CTE9DS0FCTEUpOworIHNwaW5fbG9ja19pcnEoJmN1cnJlbnQtPnNpZ21h c2tfbG9jayk7CisgY3VycmVudC0+YmxvY2tlZCA9IHNldDsKKyByZWNhbGNfc2lncGVuZGluZyhj dXJyZW50KTsKKyBzcGluX3VubG9ja19pcnEoJmN1cnJlbnQtPnNpZ21hc2tfbG9jayk7CisKKyBy dF9zZisrOyAgIC8qIExvb2sgYXQgbmV4dCBydF9zaWdmcmFtZSAqLworIGlmIChydF9zZiA9PSAo c3RydWN0IHJ0X3NpZ2ZyYW1lICopKHNpZ2N0eC5yZWdzKSkgeworICAvKiBMYXN0IHN0YWNrZWQg c2lnbmFsIC0gcmVzdG9yZSByZWdpc3RlcnMgLQorICAgKiBzaWdjdHggaXMgaW5pdGlhbGl6ZWQg dG8gcG9pbnQgdG8gdGhlCisgICAqIHByZWFtYmxlIGZyYW1lICh3aGVyZSByZWdpc3RlcnMgYXJl IHN0b3JlZCkKKyAgICogc2VlIGhhbmRsZV9zaWduYWwoKQorICAgKi8KKyAgc3IgPSAoc3RydWN0 IHNpZ3JlZ3MgKikgc2lnY3R4LnJlZ3M7CisgIGlmIChyZWdzLT5tc3IgJiBNU1JfRlAgKQorICAg Z2l2ZXVwX2ZwdShjdXJyZW50KTsKKyAgaWYgKGNvcHlfZnJvbV91c2VyKHNhdmVkX3JlZ3MsICZz ci0+Z3BfcmVncywKKyAgICAgICBzaXplb2Yoc3ItPmdwX3JlZ3MpKSkKKyAgIGdvdG8gYmFkZnJh bWU7CisgIHNhdmVkX3JlZ3NbUFRfTVNSXSA9IChyZWdzLT5tc3IgJiB+TVNSX1VTRVJDSEFOR0Up CisgICB8IChzYXZlZF9yZWdzW1BUX01TUl0gJiBNU1JfVVNFUkNIQU5HRSk7CisgIG1lbWNweShy ZWdzLCBzYXZlZF9yZWdzLCBHUF9SRUdTX1NJWkUpOworICBpZiAoY29weV9mcm9tX3VzZXIoY3Vy cmVudC0+dHNzLmZwciwgJnNyLT5mcF9yZWdzLAorICAgICAgIHNpemVvZihzci0+ZnBfcmVncykp KQorICAgZ290byBiYWRmcmFtZTsKKyAgLyogVGhpcyBmdW5jdGlvbiBzZXRzIGJhY2sgdGhlIHN0 YWNrIGZsYWdzIGludG8KKyAgICAgdGhlIGN1cnJlbnQgdGFzayBzdHJ1Y3R1cmUuICAqLworICBz eXNfc2lnYWx0c3RhY2soJnN0LCBOVUxMKTsKKworICByZXQgPSByZWdzLT5yZXN1bHQ7CisgfSBl bHNlIHsKKyAgLyogTW9yZSBzaWduYWxzIHRvIGdvICovCisgIC8qIFNldCB1cCByZWdpc3RlcnMg Zm9yIG5leHQgc2lnbmFsIGhhbmRsZXIgKi8KKyAgcmVncy0+Z3ByWzFdID0gKHVuc2lnbmVkIGxv bmcpcnRfc2YgLSBfX1NJR05BTF9GUkFNRVNJWkU7CisgIGlmIChjb3B5X2Zyb21fdXNlcigmc2ln Y3R4LCAmcnRfc2YtPnVjLnVjX21jb250ZXh0LCBzaXplb2Yoc2lnY3R4KSkpCisgICBnb3RvIGJh ZGZyYW1lOworICBzciA9IChzdHJ1Y3Qgc2lncmVncyAqKSBzaWdjdHgucmVnczsKKyAgcmVncy0+ Z3ByWzNdID0gcmV0ID0gc2lnY3R4LnNpZ25hbDsKKyAgLyogR2V0IHRoZSBzaWdpbmZvICAgKi8K KyAgZ2V0X3VzZXIocmVncy0+Z3ByWzRdLCAodW5zaWduZWQgbG9uZyAqKSZydF9zZi0+cGluZm8p OworICAvKiBHZXQgdGhlIHVjb250ZXh0ICovCisgIGdldF91c2VyKHJlZ3MtPmdwcls1XSwgKHVu c2lnbmVkIGxvbmcgKikmcnRfc2YtPnB1Yyk7CisgIHJlZ3MtPmdwcls2XSA9ICh1bnNpZ25lZCBs b25nKSBydF9zZjsKKworICByZWdzLT5saW5rID0gKHVuc2lnbmVkIGxvbmcpICZzci0+dHJhbXA7 CisgIHJlZ3MtPm5pcCA9IHNpZ2N0eC5oYW5kbGVyOworICBpZiAoZ2V0X3VzZXIocHJldnNwLCAm c3ItPmdwX3JlZ3NbUFRfUjFdKQorICAgICAgfHwgcHV0X3VzZXIocHJldnNwLCAodW5zaWduZWQg bG9uZyAqKSByZWdzLT5ncHJbMV0pKQorICAgZ290byBiYWRmcmFtZTsKKyB9CisgcmV0dXJuIHJl dDsKKworYmFkZnJhbWU6CisgbG9ja19rZXJuZWwoKTsKKyBkb19leGl0KFNJR1NFR1YpOworfQor CisKIC8qCiAgKiBTZXQgdXAgYSBzaWduYWwgZnJhbWUuCiAgKi8KQEAgLTMwNSw2ICs0MDAsNTcg QEAKIAlkb19leGl0KFNJR1NFR1YpOwogfQogCisKK3N0YXRpYyB2b2lkCitzZXR1cF9ydF9mcmFt ZShzdHJ1Y3QgcHRfcmVncyAqcmVncywgc3RydWN0IHNpZ3JlZ3MgKmZyYW1lLAorICAgICAgICBz aWduZWQgbG9uZyBuZXdzcCkKK3sKKyBzdHJ1Y3QgcnRfc2lnZnJhbWUgKnJ0X3NmID0gKHN0cnVj dCBydF9zaWdmcmFtZSAqKSBuZXdzcDsKKworIC8qIFNldCB1cCBwcmVhbWJsZSBmcmFtZSAqLwor IGlmICh2ZXJpZnlfYXJlYShWRVJJRllfV1JJVEUsIGZyYW1lLCBzaXplb2YoKmZyYW1lKSkpCisg IGdvdG8gYmFkZnJhbWU7CisgaWYgKHJlZ3MtPm1zciAmIE1TUl9GUCkKKyAgZ2l2ZXVwX2ZwdShj dXJyZW50KTsKKyBpZiAoX19jb3B5X3RvX3VzZXIoJmZyYW1lLT5ncF9yZWdzLCByZWdzLCBHUF9S RUdTX1NJWkUpCisgICAgIHx8IF9fY29weV90b191c2VyKCZmcmFtZS0+ZnBfcmVncywgY3VycmVu dC0+dHNzLmZwciwKKyAgICAgICAgIEVMRl9ORlBSRUcgKiBzaXplb2YoZG91YmxlKSkKKyAvKiBT ZXQgdXAgdG8gcmV0dXJuIGZyb20gdXNlciBzcGFjZS4KKyAgICBJdCBjYWxscyB0aGUgc2MgZXhj ZXB0aW9uIGF0IG9mZnNldCAweDk5OTkKKyAgICBmb3Igc3lzX3J0X3NpZ3JldHVybigpLgorICov CisgICAgIHx8IF9fcHV0X3VzZXIoMHgzODAwNjY2NlVMLCAmZnJhbWUtPnRyYW1wWzBdKSAvKiBs aSByMCwweDY2NjYgKi8KKyAgICAgfHwgX19wdXRfdXNlcigweDQ0MDAwMDAyVUwsICZmcmFtZS0+ dHJhbXBbMV0pKSAvKiBzYyAqLworICBnb3RvIGJhZGZyYW1lOworIGZsdXNoX2ljYWNoZV9yYW5n ZSgodW5zaWduZWQgbG9uZykgJmZyYW1lLT50cmFtcFswXSwKKyAgICAgICh1bnNpZ25lZCBsb25n KSAmZnJhbWUtPnRyYW1wWzJdKTsKKworIC8qIFJldHJpZXZlIHJ0X3NpZ2ZyYW1lIGZyb20gc3Rh Y2sgYW5kCisgICAgc2V0IHVwIHJlZ2lzdGVycyBmb3Igc2lnbmFsIGhhbmRsZXIKKyAqLworIG5l d3NwIC09IF9fU0lHTkFMX0ZSQU1FU0laRTsKKyBpZiAocHV0X3VzZXIocmVncy0+Z3ByWzFdLCAo dW5zaWduZWQgbG9uZyAqKW5ld3NwKQorICAgICB8fCBnZXRfdXNlcihyZWdzLT5uaXAsICZydF9z Zi0+dWMudWNfbWNvbnRleHQuaGFuZGxlcikKKyAgICAgfHwgZ2V0X3VzZXIocmVncy0+Z3ByWzNd LCAmcnRfc2YtPnVjLnVjX21jb250ZXh0LnNpZ25hbCkKKyAgICAgfHwgZ2V0X3VzZXIocmVncy0+ Z3ByWzRdLCAodW5zaWduZWQgbG9uZyAqKSZydF9zZi0+cGluZm8pCisgICAgIHx8IGdldF91c2Vy KHJlZ3MtPmdwcls1XSwgKHVuc2lnbmVkIGxvbmcgKikmcnRfc2YtPnB1YykpCisgIGdvdG8gYmFk ZnJhbWU7CisKKyByZWdzLT5ncHJbMV0gPSBuZXdzcDsKKyByZWdzLT5ncHJbNl0gPSAodW5zaWdu ZWQgbG9uZykgcnRfc2Y7CisgcmVncy0+bGluayA9ICh1bnNpZ25lZCBsb25nKSBmcmFtZS0+dHJh bXA7CisKKyByZXR1cm47CisKK2JhZGZyYW1lOgorI2lmIERFQlVHX1NJRworIHByaW50aygiYmFk ZnJhbWUgaW4gc2V0dXBfcnRfZnJhbWUsIHJlZ3M9JXAgZnJhbWU9JXAgbmV3c3A9JWx4XG4iLAor ICAgICAgICByZWdzLCBmcmFtZSwgbmV3c3ApOworI2VuZGlmCisgbG9ja19rZXJuZWwoKTsKKyBk b19leGl0KFNJR1NFR1YpOworfQorCiAvKgogICogT0ssIHdlJ3JlIGludm9raW5nIGEgaGFuZGxl cgogICovCkBAIC0zMTQsNiArNDYwLDcgQEAKIAkgICAgICB1bnNpZ25lZCBsb25nICpuZXdzcHAs IHVuc2lnbmVkIGxvbmcgZnJhbWUpCiB7CiAJc3RydWN0IHNpZ2NvbnRleHRfc3RydWN0ICpzYzsK KyBzdHJ1Y3QgcnRfc2lnZnJhbWUgKnJ0X3NmOwogCiAJaWYgKHJlZ3MtPnRyYXAgPT0gMHgwQzAw IC8qIFN5c3RlbSBDYWxsISAqLwogCSAgICAmJiAoKGludClyZWdzLT5yZXN1bHQgPT0gLUVSRVNU QVJUTk9IQU5EIHx8CkBAIC0zMjEsMjAgKzQ2OCw0NyBAQAogCQkgIShrYS0+c2Euc2FfZmxhZ3Mg JiBTQV9SRVNUQVJUKSkpKQogCQlyZWdzLT5yZXN1bHQgPSAtRUlOVFI7CiAKLQkvKiBQdXQgYW5v dGhlciBzaWdjb250ZXh0IG9uIHRoZSBzdGFjayAqLwotCSpuZXdzcHAgLT0gc2l6ZW9mKCpzYyk7 Ci0Jc2MgPSAoc3RydWN0IHNpZ2NvbnRleHRfc3RydWN0ICopICpuZXdzcHA7Ci0JaWYgKHZlcmlm eV9hcmVhKFZFUklGWV9XUklURSwgc2MsIHNpemVvZigqc2MpKSkKLQkJZ290byBiYWRmcmFtZTsK KyAvKiBTZXQgdXAgU2lnbmFsIEZyYW1lICovCisgaWYgKGthLT5zYS5zYV9mbGFncyAmIFNBX1NJ R0lORk8pIHsKKyAgLyogUHV0IGEgUmVhbCBUaW1lIENvbnRleHQgb250byBzdGFjayAqLworICAq bmV3c3BwIC09IHNpemVvZigqcnRfc2YpOworICBydF9zZiA9IChzdHJ1Y3QgcnRfc2lnZnJhbWUg KikgKm5ld3NwcDsKKyAgaWYgKHZlcmlmeV9hcmVhKFZFUklGWV9XUklURSwgcnRfc2YsIHNpemVv ZigqcnRfc2YpKSkKKyAgIGdvdG8gYmFkZnJhbWU7CisKKyAgaWYgKF9fcHV0X3VzZXIoKHVuc2ln bmVkIGxvbmcpIGthLT5zYS5zYV9oYW5kbGVyLCAmcnRfc2YtPnVjLnVjX21jb250ZXh0LmhhbmRs ZXIpCisgICAgICB8fCBfX3B1dF91c2VyKCZydF9zZi0+aW5mbywgJnJ0X3NmLT5waW5mbykKKyAg ICAgIHx8IF9fcHV0X3VzZXIoJnJ0X3NmLT51YywgJnJ0X3NmLT5wdWMpCisgICAgICAvKiBQdXQg dGhlIHNpZ2luZm8gKi8KKyAgICAgIHx8IF9fY29weV90b191c2VyKCZydF9zZi0+aW5mbywgaW5m bywgc2l6ZW9mKCppbmZvKSkKKyAgICAgIC8qIENyZWF0ZSB0aGUgdWNvbnRleHQgKi8KKyAgICAg IHx8IF9fcHV0X3VzZXIoMCwgJnJ0X3NmLT51Yy51Y19mbGFncykKKyAgICAgIHx8IF9fcHV0X3Vz ZXIoMCwgJnJ0X3NmLT51Yy51Y19saW5rKQorICAgICAgfHwgX19wdXRfdXNlcihjdXJyZW50LT5z YXNfc3Nfc3AsICZydF9zZi0+dWMudWNfc3RhY2suc3Nfc3ApCisgICAgICB8fCBfX3B1dF91c2Vy KHNhc19zc19mbGFncyhyZWdzLT5ncHJbMV0pLAorICAgICAgJnJ0X3NmLT51Yy51Y19zdGFjay5z c19mbGFncykKKyAgICAgIHx8IF9fcHV0X3VzZXIoY3VycmVudC0+c2FzX3NzX3NpemUsICZydF9z Zi0+dWMudWNfc3RhY2suc3Nfc2l6ZSkKKyAgICAgIHx8IF9fY29weV90b191c2VyKCZydF9zZi0+ dWMudWNfc2lnbWFzaywgb2xkc2V0LCBzaXplb2YoKm9sZHNldCkpCisgICAgICAvKiBtY29udGV4 dC5yZWdzIHBvaW50cyB0byBwcmVhbWJsZSByZWdpc3RlciBmcmFtZSAqLworICAgICAgfHwgX19w dXRfdXNlcigoc3RydWN0IHB0X3JlZ3MgKilmcmFtZSwgJnJ0X3NmLT51Yy51Y19tY29udGV4dC5y ZWdzKQorICAgICAgfHwgX19wdXRfdXNlcihzaWcsICZydF9zZi0+dWMudWNfbWNvbnRleHQuc2ln bmFsKSkKKyAgIGdvdG8gYmFkZnJhbWU7CisgfSBlbHNlIHsKKyAgLyogUHV0IGFub3RoZXIgc2ln Y29udGV4dCBvbiB0aGUgc3RhY2sgKi8KKyAgKm5ld3NwcCAtPSBzaXplb2YoKnNjKTsKKyAgc2Mg PSAoc3RydWN0IHNpZ2NvbnRleHRfc3RydWN0ICopICpuZXdzcHA7CisgIGlmICh2ZXJpZnlfYXJl YShWRVJJRllfV1JJVEUsIHNjLCBzaXplb2YoKnNjKSkpCisgICBnb3RvIGJhZGZyYW1lOwogCi0J aWYgKF9fcHV0X3VzZXIoKHVuc2lnbmVkIGxvbmcpIGthLT5zYS5zYV9oYW5kbGVyLCAmc2MtPmhh bmRsZXIpCi0JICAgIHx8IF9fcHV0X3VzZXIob2xkc2V0LT5zaWdbMF0sICZzYy0+b2xkbWFzaykK KyAgaWYgKF9fcHV0X3VzZXIoKHVuc2lnbmVkIGxvbmcpIGthLT5zYS5zYV9oYW5kbGVyLCAmc2Mt PmhhbmRsZXIpCisgICAgICB8fCBfX3B1dF91c2VyKG9sZHNldC0+c2lnWzBdLCAmc2MtPm9sZG1h c2spCiAjaWYgX05TSUdfV09SRFMgPiAxCi0JICAgIHx8IF9fcHV0X3VzZXIob2xkc2V0LT5zaWdb MV0sICZzYy0+X3VudXNlZFszXSkKKyAgICAgIHx8IF9fcHV0X3VzZXIob2xkc2V0LT5zaWdbMV0s ICZzYy0+X3VudXNlZFszXSkKICNlbmRpZgotCSAgICB8fCBfX3B1dF91c2VyKChzdHJ1Y3QgcHRf cmVncyAqKWZyYW1lLCAmc2MtPnJlZ3MpCi0JICAgIHx8IF9fcHV0X3VzZXIoc2lnLCAmc2MtPnNp Z25hbCkpCi0JCWdvdG8gYmFkZnJhbWU7CisgICAgICB8fCBfX3B1dF91c2VyKChzdHJ1Y3QgcHRf cmVncyAqKWZyYW1lLCAmc2MtPnJlZ3MpCisgICAgICB8fCBfX3B1dF91c2VyKHNpZywgJnNjLT5z aWduYWwpKQorICAgZ290byBiYWRmcmFtZTsKKyB9CiAKIAlpZiAoa2EtPnNhLnNhX2ZsYWdzICYg U0FfT05FU0hPVCkKIAkJa2EtPnNhLnNhX2hhbmRsZXIgPSBTSUdfREZMOwpAQCAtNDk0LDcgKzY2 OCwxMCBAQAogCWlmIChuZXdzcCA9PSBmcmFtZSkKIAkJcmV0dXJuIDA7CQkvKiBubyBzaWduYWxz IGRlbGl2ZXJlZCAqLwogCi0Jc2V0dXBfZnJhbWUocmVncywgKHN0cnVjdCBzaWdyZWdzICopIGZy YW1lLCBuZXdzcCk7CisgaWYgKGthLT5zYS5zYV9mbGFncyAmIFNBX1NJR0lORk8pCisgIHNldHVw X3J0X2ZyYW1lKHJlZ3MsIChzdHJ1Y3Qgc2lncmVncyAqKSBmcmFtZSwgbmV3c3ApOworIGVsc2UK KyAgc2V0dXBfZnJhbWUocmVncywgKHN0cnVjdCBzaWdyZWdzICopIGZyYW1lLCBuZXdzcCk7CiAJ cmV0dXJuIDE7CiAKIH0KLS0tIGluY2x1ZGUvYXNtLXBwYy91Y29udGV4dC5oLnByZXYJV2VkIEFw ciAyNiAxMDozOToyNCAyMDAwCisrKyBpbmNsdWRlL2FzbS1wcGMvdWNvbnRleHQuaAlXZWQgQXBy IDI2IDEwOjM5OjM2IDIwMDAKQEAgLTcsNiArNyw3IEBACiAJdW5zaWduZWQgbG9uZwkgIHVjX2Zs YWdzOwogCXN0cnVjdCB1Y29udGV4dCAgKnVjX2xpbms7CiAJc3RhY2tfdAkJICB1Y19zdGFjazsK KyBzdHJ1Y3Qgc2lnY29udGV4dF9zdHJ1Y3QgdWNfbWNvbnRleHQ7CiAJc2lnc2V0X3QJICB1Y19z aWdtYXNrOwkvKiBtYXNrIGxhc3QgZm9yIGV4dGVuc2liaWxpdHkgKi8KIH07CiAK --------------Boundary-00=_DTXT9N6JES3HW1BYMIHU-- ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/