Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932459Ab2BXXPV (ORCPT ); Fri, 24 Feb 2012 18:15:21 -0500 Received: from mail-wi0-f174.google.com ([209.85.212.174]:41456 "EHLO mail-wi0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932404Ab2BXXPT (ORCPT ); Fri, 24 Feb 2012 18:15:19 -0500 Authentication-Results: mr.google.com; spf=pass (google.com: domain of linus971@gmail.com designates 10.216.137.165 as permitted sender) smtp.mail=linus971@gmail.com; dkim=pass header.i=linus971@gmail.com MIME-Version: 1.0 In-Reply-To: References: <20120222173326.GA7139@redhat.com> <20120222173505.GD7147@redhat.com> <20120223154438.GA4354@redhat.com> <20120224190651.GA22287@redhat.com> From: Linus Torvalds Date: Fri, 24 Feb 2012 15:14:58 -0800 X-Google-Sender-Auth: JCQetMXJzunPO1qK12Wa04T0DIo Message-ID: Subject: Re: [PATCH v2 0/2] signalfd/epoll fixes To: Oleg Nesterov Cc: Andrew Morton , Davide Libenzi , Eric Dumazet , Greg KH , Jason Baron , Roland McGrath , Eugene Teo , Maxime Bizon , Denys Vlasenko , linux-kernel@vger.kernel.org Content-Type: multipart/mixed; boundary=0016e6d6258419d22b04b9bdef16 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 13669 Lines: 196 --0016e6d6258419d22b04b9bdef16 Content-Type: text/plain; charset=ISO-8859-1 On Fri, Feb 24, 2012 at 12:23 PM, Linus Torvalds wrote: > > I'm *really* conflicted, because I have this really strong feeling > that it's just papering over a symptom, and we damn well shouldn't be > doing that. I really think that what we really should do is allow > "poll()" to have a "poll_remove" callback (so each "add_poll_wait()" > will have a callback when it gets remove). > > Then we could make the poll() functions actually do allocations and > crap - or at least add refcounts - and the "poll_remove()" ones would > undo them. Ok, I have *NOT* tested this, and by now it's certainly not 3.3 material any more, but here's a patch to kind of lay the groundwork and show what I mean. UNTESTED! UNTESTED! CAVEAT! Probably horribly broken. Linus --0016e6d6258419d22b04b9bdef16 Content-Type: text/x-patch; charset=US-ASCII; name="patch.diff" Content-Disposition: attachment; filename="patch.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gz1u848q0 IGRyaXZlcnMvdmhvc3Qvdmhvc3QuYyB8ICAgIDUgKysrLS0KIGZzL2V2ZW50cG9sbC5jICAgICAg ICB8ICAgIDkgKysrKysrKystCiBmcy9zZWxlY3QuYyAgICAgICAgICAgfCAgIDEyICsrKysrKysr LS0tLQogZnMvc2lnbmFsZmQuYyAgICAgICAgIHwgICAxMiArKysrKysrKysrKy0KIGluY2x1ZGUv bGludXgvZnMuaCAgICB8ICAgIDEgKwogaW5jbHVkZS9saW51eC9wb2xsLmggIHwgICAgNyArKysr LS0tCiBrZXJuZWwvY2dyb3VwLmMgICAgICAgfCAgICAzICsrLQogbmV0LzlwL3RyYW5zX2ZkLmMg ICAgIHwgICAgNSArKystLQogdmlydC9rdm0vZXZlbnRmZC5jICAgIHwgICAgMyArKy0KIDkgZmls ZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy92aG9zdC92aG9zdC5jIGIvZHJpdmVycy92aG9zdC92aG9zdC5jCmluZGV4IGMx NGM0MmI5NWFiOC4uNTg4MGYzZDgxMzMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Zob3N0L3Zob3N0 LmMKKysrIGIvZHJpdmVycy92aG9zdC92aG9zdC5jCkBAIC00MiwxNCArNDIsMTUgQEAgc3RhdGlj IHVuc2lnbmVkIHZob3N0X3pjb3B5X21hc2sgX19yZWFkX21vc3RseTsKICNkZWZpbmUgdmhvc3Rf dXNlZF9ldmVudCh2cSkgKCh1MTYgX191c2VyICopJnZxLT5hdmFpbC0+cmluZ1t2cS0+bnVtXSkK ICNkZWZpbmUgdmhvc3RfYXZhaWxfZXZlbnQodnEpICgodTE2IF9fdXNlciAqKSZ2cS0+dXNlZC0+ cmluZ1t2cS0+bnVtXSkKIAotc3RhdGljIHZvaWQgdmhvc3RfcG9sbF9mdW5jKHN0cnVjdCBmaWxl ICpmaWxlLCB3YWl0X3F1ZXVlX2hlYWRfdCAqd3FoLAotCQkJICAgIHBvbGxfdGFibGUgKnB0KQor c3RhdGljIGludCB2aG9zdF9wb2xsX2Z1bmMoc3RydWN0IGZpbGUgKmZpbGUsIHdhaXRfcXVldWVf aGVhZF90ICp3cWgsCisJCQkgICBwb2xsX3RhYmxlICpwdCkKIHsKIAlzdHJ1Y3Qgdmhvc3RfcG9s bCAqcG9sbDsKIAogCXBvbGwgPSBjb250YWluZXJfb2YocHQsIHN0cnVjdCB2aG9zdF9wb2xsLCB0 YWJsZSk7CiAJcG9sbC0+d3FoID0gd3FoOwogCWFkZF93YWl0X3F1ZXVlKHdxaCwgJnBvbGwtPndh aXQpOworCXJldHVybiAxOwogfQogCiBzdGF0aWMgaW50IHZob3N0X3BvbGxfd2FrZXVwKHdhaXRf cXVldWVfdCAqd2FpdCwgdW5zaWduZWQgbW9kZSwgaW50IHN5bmMsCmRpZmYgLS1naXQgYS9mcy9l dmVudHBvbGwuYyBiL2ZzL2V2ZW50cG9sbC5jCmluZGV4IGFhYmRmYzM4Y2YyNC4uMDEwYjllYjlk ZTc0IDEwMDY0NAotLS0gYS9mcy9ldmVudHBvbGwuYworKysgYi9mcy9ldmVudHBvbGwuYwpAQCAt NDc0LDEzICs0NzQsMTggQEAgc3RhdGljIHZvaWQgZXBfcG9sbF9zYWZld2FrZSh3YWl0X3F1ZXVl X2hlYWRfdCAqd3EpCiAgKi8KIHN0YXRpYyB2b2lkIGVwX3VucmVnaXN0ZXJfcG9sbHdhaXQoc3Ry dWN0IGV2ZW50cG9sbCAqZXAsIHN0cnVjdCBlcGl0ZW0gKmVwaSkKIHsKKwlzdHJ1Y3QgZmlsZSAq ZmlsZSA9IGVwaS0+ZmZkLmZpbGU7CiAJc3RydWN0IGxpc3RfaGVhZCAqbHN0aGVhZCA9ICZlcGkt PnB3cWxpc3Q7CiAJc3RydWN0IGVwcG9sbF9lbnRyeSAqcHdxOworCXZvaWQgKCpwb2xsX3JtKSAo c3RydWN0IGZpbGUgKiwgd2FpdF9xdWV1ZV9oZWFkX3QgKik7CiAKKwlwb2xsX3JtID0gZmlsZS0+ Zl9vcC0+cG9sbF9ybTsKIAl3aGlsZSAoIWxpc3RfZW1wdHkobHN0aGVhZCkpIHsKIAkJcHdxID0g bGlzdF9maXJzdF9lbnRyeShsc3RoZWFkLCBzdHJ1Y3QgZXBwb2xsX2VudHJ5LCBsbGluayk7CiAK IAkJbGlzdF9kZWwoJnB3cS0+bGxpbmspOworCQlpZiAocG9sbF9ybSkKKwkJCXBvbGxfcm0oZmls ZSwgcHdxLT53aGVhZCk7CiAJCXJlbW92ZV93YWl0X3F1ZXVlKHB3cS0+d2hlYWQsICZwd3EtPndh aXQpOwogCQlrbWVtX2NhY2hlX2ZyZWUocHdxX2NhY2hlLCBwd3EpOwogCX0KQEAgLTkwMyw3ICs5 MDgsNyBAQCBvdXRfdW5sb2NrOgogICogVGhpcyBpcyB0aGUgY2FsbGJhY2sgdGhhdCBpcyB1c2Vk IHRvIGFkZCBvdXIgd2FpdCBxdWV1ZSB0byB0aGUKICAqIHRhcmdldCBmaWxlIHdha2V1cCBsaXN0 cy4KICAqLwotc3RhdGljIHZvaWQgZXBfcHRhYmxlX3F1ZXVlX3Byb2Moc3RydWN0IGZpbGUgKmZp bGUsIHdhaXRfcXVldWVfaGVhZF90ICp3aGVhZCwKK3N0YXRpYyBpbnQgZXBfcHRhYmxlX3F1ZXVl X3Byb2Moc3RydWN0IGZpbGUgKmZpbGUsIHdhaXRfcXVldWVfaGVhZF90ICp3aGVhZCwKIAkJCQkg cG9sbF90YWJsZSAqcHQpCiB7CiAJc3RydWN0IGVwaXRlbSAqZXBpID0gZXBfaXRlbV9mcm9tX2Vw cXVldWUocHQpOwpAQCAtOTE2LDkgKzkyMSwxMSBAQCBzdGF0aWMgdm9pZCBlcF9wdGFibGVfcXVl dWVfcHJvYyhzdHJ1Y3QgZmlsZSAqZmlsZSwgd2FpdF9xdWV1ZV9oZWFkX3QgKndoZWFkLAogCQlh ZGRfd2FpdF9xdWV1ZSh3aGVhZCwgJnB3cS0+d2FpdCk7CiAJCWxpc3RfYWRkX3RhaWwoJnB3cS0+ bGxpbmssICZlcGktPnB3cWxpc3QpOwogCQllcGktPm53YWl0Kys7CisJCXJldHVybiAxOwogCX0g ZWxzZSB7CiAJCS8qIFdlIGhhdmUgdG8gc2lnbmFsIHRoYXQgYW4gZXJyb3Igb2NjdXJyZWQgKi8K IAkJZXBpLT5ud2FpdCA9IC0xOworCQlyZXR1cm4gMDsKIAl9CiB9CiAKZGlmZiAtLWdpdCBhL2Zz L3NlbGVjdC5jIGIvZnMvc2VsZWN0LmMKaW5kZXggZTc4MjI1OGQwZGUzLi5hNGUzNjlkZGE4NWMg MTAwNjQ0Ci0tLSBhL2ZzL3NlbGVjdC5jCisrKyBiL2ZzL3NlbGVjdC5jCkBAIC0xMTAsNyArMTEw LDcgQEAgc3RydWN0IHBvbGxfdGFibGVfcGFnZSB7CiAgKiBhcyBhbGwgc2VsZWN0L3BvbGwgZnVu Y3Rpb25zIGhhdmUgdG8gY2FsbCBpdCB0byBhZGQgYW4gZW50cnkgdG8gdGhlCiAgKiBwb2xsIHRh YmxlLgogICovCi1zdGF0aWMgdm9pZCBfX3BvbGx3YWl0KHN0cnVjdCBmaWxlICpmaWxwLCB3YWl0 X3F1ZXVlX2hlYWRfdCAqd2FpdF9hZGRyZXNzLAorc3RhdGljIGludCBfX3BvbGx3YWl0KHN0cnVj dCBmaWxlICpmaWxwLCB3YWl0X3F1ZXVlX2hlYWRfdCAqd2FpdF9hZGRyZXNzLAogCQkgICAgICAg cG9sbF90YWJsZSAqcCk7CiAKIHZvaWQgcG9sbF9pbml0d2FpdChzdHJ1Y3QgcG9sbF93cXVldWVz ICpwd3EpCkBAIC0xMjYsOCArMTI2LDExIEBAIEVYUE9SVF9TWU1CT0wocG9sbF9pbml0d2FpdCk7 CiAKIHN0YXRpYyB2b2lkIGZyZWVfcG9sbF9lbnRyeShzdHJ1Y3QgcG9sbF90YWJsZV9lbnRyeSAq ZW50cnkpCiB7CisJc3RydWN0IGZpbGUgKmZpbGUgPSBlbnRyeS0+ZmlscDsKKwlpZiAoZmlsZS0+ Zl9vcC0+cG9sbF9ybSkKKwkJZmlsZS0+Zl9vcC0+cG9sbF9ybShmaWxlLCBlbnRyeS0+d2FpdF9h ZGRyZXNzKTsKIAlyZW1vdmVfd2FpdF9xdWV1ZShlbnRyeS0+d2FpdF9hZGRyZXNzLCAmZW50cnkt PndhaXQpOwotCWZwdXQoZW50cnktPmZpbHApOworCWZwdXQoZmlsZSk7CiB9CiAKIHZvaWQgcG9s bF9mcmVld2FpdChzdHJ1Y3QgcG9sbF93cXVldWVzICpwd3EpCkBAIC0yMTMsMTMgKzIxNiwxMyBA QCBzdGF0aWMgaW50IHBvbGx3YWtlKHdhaXRfcXVldWVfdCAqd2FpdCwgdW5zaWduZWQgbW9kZSwg aW50IHN5bmMsIHZvaWQgKmtleSkKIH0KIAogLyogQWRkIGEgbmV3IGVudHJ5ICovCi1zdGF0aWMg dm9pZCBfX3BvbGx3YWl0KHN0cnVjdCBmaWxlICpmaWxwLCB3YWl0X3F1ZXVlX2hlYWRfdCAqd2Fp dF9hZGRyZXNzLAorc3RhdGljIGludCBfX3BvbGx3YWl0KHN0cnVjdCBmaWxlICpmaWxwLCB3YWl0 X3F1ZXVlX2hlYWRfdCAqd2FpdF9hZGRyZXNzLAogCQkJCXBvbGxfdGFibGUgKnApCiB7CiAJc3Ry dWN0IHBvbGxfd3F1ZXVlcyAqcHdxID0gY29udGFpbmVyX29mKHAsIHN0cnVjdCBwb2xsX3dxdWV1 ZXMsIHB0KTsKIAlzdHJ1Y3QgcG9sbF90YWJsZV9lbnRyeSAqZW50cnkgPSBwb2xsX2dldF9lbnRy eShwd3EpOwogCWlmICghZW50cnkpCi0JCXJldHVybjsKKwkJcmV0dXJuIDA7CiAJZ2V0X2ZpbGUo ZmlscCk7CiAJZW50cnktPmZpbHAgPSBmaWxwOwogCWVudHJ5LT53YWl0X2FkZHJlc3MgPSB3YWl0 X2FkZHJlc3M7CkBAIC0yMjcsNiArMjMwLDcgQEAgc3RhdGljIHZvaWQgX19wb2xsd2FpdChzdHJ1 Y3QgZmlsZSAqZmlscCwgd2FpdF9xdWV1ZV9oZWFkX3QgKndhaXRfYWRkcmVzcywKIAlpbml0X3dh aXRxdWV1ZV9mdW5jX2VudHJ5KCZlbnRyeS0+d2FpdCwgcG9sbHdha2UpOwogCWVudHJ5LT53YWl0 LnByaXZhdGUgPSBwd3E7CiAJYWRkX3dhaXRfcXVldWUod2FpdF9hZGRyZXNzLCAmZW50cnktPndh aXQpOworCXJldHVybiAxOwogfQogCiBpbnQgcG9sbF9zY2hlZHVsZV90aW1lb3V0KHN0cnVjdCBw b2xsX3dxdWV1ZXMgKnB3cSwgaW50IHN0YXRlLApkaWZmIC0tZ2l0IGEvZnMvc2lnbmFsZmQuYyBi L2ZzL3NpZ25hbGZkLmMKaW5kZXggNDkyNDY1YjQ1MWRkLi44OWFmYWZhZmJmMmUgMTAwNjQ0Ci0t LSBhL2ZzL3NpZ25hbGZkLmMKKysrIGIvZnMvc2lnbmFsZmQuYwpAQCAtNDAsMTIgKzQwLDIxIEBA IHN0YXRpYyBpbnQgc2lnbmFsZmRfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3Qg ZmlsZSAqZmlsZSkKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgc2lnbmFsZmRfcG9sbF9y bShzdHJ1Y3QgZmlsZSAqZmlsZSwgd2FpdF9xdWV1ZV9oZWFkX3QgKnApCit7CisJc3RydWN0IHNp Z2hhbmRfc3RydWN0ICpzaWdoYW5kOworCisJc2lnaGFuZCA9IGNvbnRhaW5lcl9vZihwLCBzdHJ1 Y3Qgc2lnaGFuZF9zdHJ1Y3QsIHNpZ25hbGZkX3dxaCk7CisJX19jbGVhbnVwX3NpZ2hhbmQoc2ln aGFuZCk7Cit9CisKIHN0YXRpYyB1bnNpZ25lZCBpbnQgc2lnbmFsZmRfcG9sbChzdHJ1Y3QgZmls ZSAqZmlsZSwgcG9sbF90YWJsZSAqd2FpdCkKIHsKIAlzdHJ1Y3Qgc2lnbmFsZmRfY3R4ICpjdHgg PSBmaWxlLT5wcml2YXRlX2RhdGE7CiAJdW5zaWduZWQgaW50IGV2ZW50cyA9IDA7CiAKLQlwb2xs X3dhaXQoZmlsZSwgJmN1cnJlbnQtPnNpZ2hhbmQtPnNpZ25hbGZkX3dxaCwgd2FpdCk7CisJaWYg KHBvbGxfd2FpdChmaWxlLCAmY3VycmVudC0+c2lnaGFuZC0+c2lnbmFsZmRfd3FoLCB3YWl0KSkK KwkJYXRvbWljX2luYygmY3VycmVudC0+c2lnaGFuZC0+Y291bnQpOwogCiAJc3Bpbl9sb2NrX2ly cSgmY3VycmVudC0+c2lnaGFuZC0+c2lnbG9jayk7CiAJaWYgKG5leHRfc2lnbmFsKCZjdXJyZW50 LT5wZW5kaW5nLCAmY3R4LT5zaWdtYXNrKSB8fApAQCAtMjE1LDYgKzIyNCw3IEBAIHN0YXRpYyBz c2l6ZV90IHNpZ25hbGZkX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsIGNoYXIgX191c2VyICpidWYs IHNpemVfdCBjb3VudCwKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHNpZ25h bGZkX2ZvcHMgPSB7CiAJLnJlbGVhc2UJPSBzaWduYWxmZF9yZWxlYXNlLAogCS5wb2xsCQk9IHNp Z25hbGZkX3BvbGwsCisJLnBvbGxfcm0JPSBzaWduYWxmZF9wb2xsX3JtLAogCS5yZWFkCQk9IHNp Z25hbGZkX3JlYWQsCiAJLmxsc2VlawkJPSBub29wX2xsc2VlaywKIH07CmRpZmYgLS1naXQgYS9p bmNsdWRlL2xpbnV4L2ZzLmggYi9pbmNsdWRlL2xpbnV4L2ZzLmgKaW5kZXggNjljZDViYjY0MGY1 Li5hOTZlMTkzZGZhNmIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZnMuaAorKysgYi9pbmNs dWRlL2xpbnV4L2ZzLmgKQEAgLTE2MDQsNiArMTYwNCw3IEBAIHN0cnVjdCBmaWxlX29wZXJhdGlv bnMgewogCXNzaXplX3QgKCphaW9fd3JpdGUpIChzdHJ1Y3Qga2lvY2IgKiwgY29uc3Qgc3RydWN0 IGlvdmVjICosIHVuc2lnbmVkIGxvbmcsIGxvZmZfdCk7CiAJaW50ICgqcmVhZGRpcikgKHN0cnVj dCBmaWxlICosIHZvaWQgKiwgZmlsbGRpcl90KTsKIAl1bnNpZ25lZCBpbnQgKCpwb2xsKSAoc3Ry dWN0IGZpbGUgKiwgc3RydWN0IHBvbGxfdGFibGVfc3RydWN0ICopOworCXZvaWQgKCpwb2xsX3Jt KSAoc3RydWN0IGZpbGUgKiwgd2FpdF9xdWV1ZV9oZWFkX3QgKiB3YWl0X2FkZHJlc3MpOwogCWxv bmcgKCp1bmxvY2tlZF9pb2N0bCkgKHN0cnVjdCBmaWxlICosIHVuc2lnbmVkIGludCwgdW5zaWdu ZWQgbG9uZyk7CiAJbG9uZyAoKmNvbXBhdF9pb2N0bCkgKHN0cnVjdCBmaWxlICosIHVuc2lnbmVk IGludCwgdW5zaWduZWQgbG9uZyk7CiAJaW50ICgqbW1hcCkgKHN0cnVjdCBmaWxlICosIHN0cnVj dCB2bV9hcmVhX3N0cnVjdCAqKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcG9sbC5oIGIv aW5jbHVkZS9saW51eC9wb2xsLmgKaW5kZXggY2Y0MDAxMGNlMGNkLi45YjczYTI1NTdhZGQgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcG9sbC5oCisrKyBiL2luY2x1ZGUvbGludXgvcG9sbC5o CkBAIC0zMCwxNyArMzAsMTggQEAgc3RydWN0IHBvbGxfdGFibGVfc3RydWN0OwogLyogCiAgKiBz dHJ1Y3R1cmVzIGFuZCBoZWxwZXJzIGZvciBmX29wLT5wb2xsIGltcGxlbWVudGF0aW9ucwogICov Ci10eXBlZGVmIHZvaWQgKCpwb2xsX3F1ZXVlX3Byb2MpKHN0cnVjdCBmaWxlICosIHdhaXRfcXVl dWVfaGVhZF90ICosIHN0cnVjdCBwb2xsX3RhYmxlX3N0cnVjdCAqKTsKK3R5cGVkZWYgaW50ICgq cG9sbF9xdWV1ZV9wcm9jKShzdHJ1Y3QgZmlsZSAqLCB3YWl0X3F1ZXVlX2hlYWRfdCAqLCBzdHJ1 Y3QgcG9sbF90YWJsZV9zdHJ1Y3QgKik7CiAKIHR5cGVkZWYgc3RydWN0IHBvbGxfdGFibGVfc3Ry dWN0IHsKIAlwb2xsX3F1ZXVlX3Byb2MgcXByb2M7CiAJdW5zaWduZWQgbG9uZyBrZXk7CiB9IHBv bGxfdGFibGU7CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBwb2xsX3dhaXQoc3RydWN0IGZpbGUgKiBm aWxwLCB3YWl0X3F1ZXVlX2hlYWRfdCAqIHdhaXRfYWRkcmVzcywgcG9sbF90YWJsZSAqcCkKK3N0 YXRpYyBpbmxpbmUgaW50IHBvbGxfd2FpdChzdHJ1Y3QgZmlsZSAqIGZpbHAsIHdhaXRfcXVldWVf aGVhZF90ICogd2FpdF9hZGRyZXNzLCBwb2xsX3RhYmxlICpwKQogewogCWlmIChwICYmIHdhaXRf YWRkcmVzcykKLQkJcC0+cXByb2MoZmlscCwgd2FpdF9hZGRyZXNzLCBwKTsKKwkJcmV0dXJuIHAt PnFwcm9jKGZpbHAsIHdhaXRfYWRkcmVzcywgcCk7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBp bmxpbmUgdm9pZCBpbml0X3BvbGxfZnVuY3B0cihwb2xsX3RhYmxlICpwdCwgcG9sbF9xdWV1ZV9w cm9jIHFwcm9jKQpkaWZmIC0tZ2l0IGEva2VybmVsL2Nncm91cC5jIGIva2VybmVsL2Nncm91cC5j CmluZGV4IGE1ZDNiNTMyNWY3Ny4uMzAyOWQ2NmQ4YjUxIDEwMDY0NAotLS0gYS9rZXJuZWwvY2dy b3VwLmMKKysrIGIva2VybmVsL2Nncm91cC5jCkBAIC0zNTIwLDcgKzM1MjAsNyBAQCBzdGF0aWMg aW50IGNncm91cF9ldmVudF93YWtlKHdhaXRfcXVldWVfdCAqd2FpdCwgdW5zaWduZWQgbW9kZSwK IAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgY2dyb3VwX2V2ZW50X3B0YWJsZV9xdWV1ZV9w cm9jKHN0cnVjdCBmaWxlICpmaWxlLAorc3RhdGljIGludCBjZ3JvdXBfZXZlbnRfcHRhYmxlX3F1 ZXVlX3Byb2Moc3RydWN0IGZpbGUgKmZpbGUsCiAJCXdhaXRfcXVldWVfaGVhZF90ICp3cWgsIHBv bGxfdGFibGUgKnB0KQogewogCXN0cnVjdCBjZ3JvdXBfZXZlbnQgKmV2ZW50ID0gY29udGFpbmVy X29mKHB0LApAQCAtMzUyOCw2ICszNTI4LDcgQEAgc3RhdGljIHZvaWQgY2dyb3VwX2V2ZW50X3B0 YWJsZV9xdWV1ZV9wcm9jKHN0cnVjdCBmaWxlICpmaWxlLAogCiAJZXZlbnQtPndxaCA9IHdxaDsK IAlhZGRfd2FpdF9xdWV1ZSh3cWgsICZldmVudC0+d2FpdCk7CisJcmV0dXJuIDE7CiB9CiAKIC8q CmRpZmYgLS1naXQgYS9uZXQvOXAvdHJhbnNfZmQuYyBiL25ldC85cC90cmFuc19mZC5jCmluZGV4 IGZjY2FlMjZmYTY3NC4uZDg3YjMwYjZlOGU5IDEwMDY0NAotLS0gYS9uZXQvOXAvdHJhbnNfZmQu YworKysgYi9uZXQvOXAvdHJhbnNfZmQuYwpAQCAtNTM4LDcgKzUzOCw3IEBAIHN0YXRpYyBpbnQg cDlfcG9sbHdha2Uod2FpdF9xdWV1ZV90ICp3YWl0LCB1bnNpZ25lZCBtb2RlLCBpbnQgc3luYywg dm9pZCAqa2V5KQogICogY2FsbGVkIGJ5IGZpbGVzIHBvbGwgb3BlcmF0aW9uIHRvIGFkZCB2OWZz LXBvbGwgdGFzayB0byBmaWxlcyB3YWl0IHF1ZXVlCiAgKi8KIAotc3RhdGljIHZvaWQKK3N0YXRp YyBpbnQKIHA5X3BvbGx3YWl0KHN0cnVjdCBmaWxlICpmaWxwLCB3YWl0X3F1ZXVlX2hlYWRfdCAq d2FpdF9hZGRyZXNzLCBwb2xsX3RhYmxlICpwKQogewogCXN0cnVjdCBwOV9jb25uICptID0gY29u dGFpbmVyX29mKHAsIHN0cnVjdCBwOV9jb25uLCBwdCk7CkBAIC01NTQsMTMgKzU1NCwxNCBAQCBw OV9wb2xsd2FpdChzdHJ1Y3QgZmlsZSAqZmlscCwgd2FpdF9xdWV1ZV9oZWFkX3QgKndhaXRfYWRk cmVzcywgcG9sbF90YWJsZSAqcCkKIAogCWlmICghcHdhaXQpIHsKIAkJcDlfZGVidWcoUDlfREVC VUdfRVJST1IsICJub3QgZW5vdWdoIHdhaXRfYWRkcmVzcyBzbG90c1xuIik7Ci0JCXJldHVybjsK KwkJcmV0dXJuIDA7CiAJfQogCiAJcHdhaXQtPmNvbm4gPSBtOwogCXB3YWl0LT53YWl0X2FkZHIg PSB3YWl0X2FkZHJlc3M7CiAJaW5pdF93YWl0cXVldWVfZnVuY19lbnRyeSgmcHdhaXQtPndhaXQs IHA5X3BvbGx3YWtlKTsKIAlhZGRfd2FpdF9xdWV1ZSh3YWl0X2FkZHJlc3MsICZwd2FpdC0+d2Fp dCk7CisJcmV0dXJuIDE7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvdmlydC9rdm0vZXZlbnRmZC5j IGIvdmlydC9rdm0vZXZlbnRmZC5jCmluZGV4IGY1OWMxZThkZTdhMi4uZjVlNTkwMzZhOTM3IDEw MDY0NAotLS0gYS92aXJ0L2t2bS9ldmVudGZkLmMKKysrIGIvdmlydC9rdm0vZXZlbnRmZC5jCkBA IC0xNjgsMTIgKzE2OCwxMyBAQCBpcnFmZF93YWtldXAod2FpdF9xdWV1ZV90ICp3YWl0LCB1bnNp Z25lZCBtb2RlLCBpbnQgc3luYywgdm9pZCAqa2V5KQogCXJldHVybiAwOwogfQogCi1zdGF0aWMg dm9pZAorc3RhdGljIGludAogaXJxZmRfcHRhYmxlX3F1ZXVlX3Byb2Moc3RydWN0IGZpbGUgKmZp bGUsIHdhaXRfcXVldWVfaGVhZF90ICp3cWgsCiAJCQlwb2xsX3RhYmxlICpwdCkKIHsKIAlzdHJ1 Y3QgX2lycWZkICppcnFmZCA9IGNvbnRhaW5lcl9vZihwdCwgc3RydWN0IF9pcnFmZCwgcHQpOwog CWFkZF93YWl0X3F1ZXVlKHdxaCwgJmlycWZkLT53YWl0KTsKKwlyZXR1cm4gMTsKIH0KIAogLyog TXVzdCBiZSBjYWxsZWQgdW5kZXIgaXJxZmRzLmxvY2sgKi8K --0016e6d6258419d22b04b9bdef16-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/