Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967196Ab2EPAqK (ORCPT ); Tue, 15 May 2012 20:46:10 -0400 Received: from mail-wi0-f172.google.com ([209.85.212.172]:47783 "EHLO mail-wi0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932792Ab2EPAqI (ORCPT ); Tue, 15 May 2012 20:46:08 -0400 MIME-Version: 1.0 In-Reply-To: <20120516004251.GO22082@ZenIV.linux.org.uk> References: <1336963631-3541-1-git-send-email-zohar@us.ibm.com> <1337112446.20904.50.camel@falcor> <20120516004251.GO22082@ZenIV.linux.org.uk> From: Linus Torvalds Date: Tue, 15 May 2012 17:45:44 -0700 X-Google-Sender-Auth: jaAQRO8cLf2nVFMBp1eJeT8_6Do Message-ID: Subject: Re: [PATCH] vfs: fix IMA lockdep circular locking dependency To: Al Viro Cc: Mimi Zohar , Eric Paris , Mimi Zohar , linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: multipart/mixed; boundary=f46d0442816ee5d52a04c01ca48c Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 25459 Lines: 346 --f46d0442816ee5d52a04c01ca48c Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Tue, May 15, 2012 at 5:42 PM, Al Viro wrote: > > Er... =A0Looks like you forgot to actually put the patch in there ;-) Oops. Err.. I meant to do that. Right. To check that you're awake. Here. Linus --f46d0442816ee5d52a04c01ca48c Content-Type: application/octet-stream; name="patch.diff" Content-Disposition: attachment; filename="patch.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h29o5pwb0 IGZzL2JpbmZtdF9lbGYuYyAgICAgICAgICAgIHwgIDYgKysrKysrCiBmcy9leGVjLmMgICAgICAg ICAgICAgICAgICB8ICAyICstCiBpbmNsdWRlL2xpbnV4L3NlY3VyaXR5LmggICB8IDQxICsrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiBtbS9tbWFwLmMgICAgICAgICAg ICAgICAgICB8IDE3ICsrKysrKysrKysrKy0tLS0tCiBtbS9tcmVtYXAuYyAgICAgICAgICAgICAg ICB8ICA0ICsrLS0KIG1tL25vbW11LmMgICAgICAgICAgICAgICAgIHwgMTcgKysrKysrKysrKyst LS0tLS0KIHNlY3VyaXR5L2FwcGFybW9yL2xzbS5jICAgIHwgMTQgKysrLS0tLS0tLS0tLS0KIHNl Y3VyaXR5L2NhcGFiaWxpdHkuYyAgICAgIHwgIDEgLQogc2VjdXJpdHkvY29tbW9uY2FwLmMgICAg ICAgfCAxMyArKystLS0tLS0tLS0tCiBzZWN1cml0eS9zZWN1cml0eS5jICAgICAgICB8IDM3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIHNlY3VyaXR5L3NlbGludXgvaG9v a3MuYyAgIHwgMzMgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBzZWN1cml0eS9z bWFjay9zbWFja19sc20uYyB8IDIxICsrKystLS0tLS0tLS0tLS0tLS0tLQogMTIgZmlsZXMgY2hh bmdlZCwgMTA4IGluc2VydGlvbnMoKyksIDk4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Zz L2JpbmZtdF9lbGYuYyBiL2ZzL2JpbmZtdF9lbGYuYwppbmRleCAxNmY3MzU0MTcwNzIuLjM2NDk5 MGE4MTQ3NCAxMDA2NDQKLS0tIGEvZnMvYmluZm10X2VsZi5jCisrKyBiL2ZzL2JpbmZtdF9lbGYu YwpAQCAtMzIxLDYgKzMyMSw4IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGVsZl9tYXAoc3RydWN0 IGZpbGUgKmZpbGVwLCB1bnNpZ25lZCBsb25nIGFkZHIsCiAJdW5zaWduZWQgbG9uZyBtYXBfYWRk cjsKIAl1bnNpZ25lZCBsb25nIHNpemUgPSBlcHBudC0+cF9maWxlc3ogKyBFTEZfUEFHRU9GRlNF VChlcHBudC0+cF92YWRkcik7CiAJdW5zaWduZWQgbG9uZyBvZmYgPSBlcHBudC0+cF9vZmZzZXQg LSBFTEZfUEFHRU9GRlNFVChlcHBudC0+cF92YWRkcik7CisJaW50IHJldDsKKwogCWFkZHIgPSBF TEZfUEFHRVNUQVJUKGFkZHIpOwogCXNpemUgPSBFTEZfUEFHRUFMSUdOKHNpemUpOwogCkBAIC0z MjksNiArMzMxLDEwIEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGVsZl9tYXAoc3RydWN0IGZpbGUg KmZpbGVwLCB1bnNpZ25lZCBsb25nIGFkZHIsCiAJaWYgKCFzaXplKQogCQlyZXR1cm4gYWRkcjsK IAorCXJldCA9IHNlY3VyaXR5X21tYXBfZmlsZShmaWxlcCwgcHJvdCwgdHlwZSk7CisJaWYgKHJl dCkKKwkJcmV0dXJuIHJldDsKKwogCWRvd25fd3JpdGUoJmN1cnJlbnQtPm1tLT5tbWFwX3NlbSk7 CiAJLyoKIAkqIHRvdGFsX3NpemUgaXMgdGhlIHNpemUgb2YgdGhlIEVMRiAoaW50ZXJwcmV0ZXIp IGltYWdlLgpkaWZmIC0tZ2l0IGEvZnMvZXhlYy5jIGIvZnMvZXhlYy5jCmluZGV4IGIxZmQyMDI1 ZTU5YS4uOWZmY2U0NzJlNzU5IDEwMDY0NAotLS0gYS9mcy9leGVjLmMKKysrIGIvZnMvZXhlYy5j CkBAIC0yODAsNyArMjgwLDcgQEAgc3RhdGljIGludCBfX2Jwcm1fbW1faW5pdChzdHJ1Y3QgbGlu dXhfYmlucHJtICpicHJtKQogCXZtYS0+dm1fcGFnZV9wcm90ID0gdm1fZ2V0X3BhZ2VfcHJvdCh2 bWEtPnZtX2ZsYWdzKTsKIAlJTklUX0xJU1RfSEVBRCgmdm1hLT5hbm9uX3ZtYV9jaGFpbik7CiAK LQllcnIgPSBzZWN1cml0eV9maWxlX21tYXAoTlVMTCwgMCwgMCwgMCwgdm1hLT52bV9zdGFydCwg MSk7CisJZXJyID0gc2VjdXJpdHlfbW1hcF9hZGRyKHZtYS0+dm1fc3RhcnQpOwogCWlmIChlcnIp CiAJCWdvdG8gZXJyOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NlY3VyaXR5LmggYi9p bmNsdWRlL2xpbnV4L3NlY3VyaXR5LmgKaW5kZXggNjczYWZiYjgyMzhhLi41MmY4MjlkMWNkNGUg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc2VjdXJpdHkuaAorKysgYi9pbmNsdWRlL2xpbnV4 L3NlY3VyaXR5LmgKQEAgLTg2LDkgKzg2LDcgQEAgZXh0ZXJuIGludCBjYXBfaW5vZGVfc2V0eGF0 dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpuYW1lLAogZXh0ZXJuIGludCBj YXBfaW5vZGVfcmVtb3ZleGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpu YW1lKTsKIGV4dGVybiBpbnQgY2FwX2lub2RlX25lZWRfa2lsbHByaXYoc3RydWN0IGRlbnRyeSAq ZGVudHJ5KTsKIGV4dGVybiBpbnQgY2FwX2lub2RlX2tpbGxwcml2KHN0cnVjdCBkZW50cnkgKmRl bnRyeSk7Ci1leHRlcm4gaW50IGNhcF9maWxlX21tYXAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2ln bmVkIGxvbmcgcmVxcHJvdCwKLQkJCSB1bnNpZ25lZCBsb25nIHByb3QsIHVuc2lnbmVkIGxvbmcg ZmxhZ3MsCi0JCQkgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGFkZHJfb25seSk7 CitleHRlcm4gaW50IGNhcF9tbWFwX2FkZHIodW5zaWduZWQgbG9uZyBhZGRyKTsKIGV4dGVybiBp bnQgY2FwX3Rhc2tfZml4X3NldHVpZChzdHJ1Y3QgY3JlZCAqbmV3LCBjb25zdCBzdHJ1Y3QgY3Jl ZCAqb2xkLCBpbnQgZmxhZ3MpOwogZXh0ZXJuIGludCBjYXBfdGFza19wcmN0bChpbnQgb3B0aW9u LCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMywKIAkJCSAgdW5zaWduZWQg bG9uZyBhcmc0LCB1bnNpZ25lZCBsb25nIGFyZzUpOwpAQCAtNTg1LDE1ICs1ODMsMTYgQEAgc3Rh dGljIGlubGluZSB2b2lkIHNlY3VyaXR5X2ZyZWVfbW50X29wdHMoc3RydWN0IHNlY3VyaXR5X21u dF9vcHRzICpvcHRzKQogICoJc2ltcGxlIGludGVnZXIgdmFsdWUuICBXaGVuIEBhcmcgcmVwcmVz ZW50cyBhIHVzZXIgc3BhY2UgcG9pbnRlciwgaXQKICAqCXNob3VsZCBuZXZlciBiZSB1c2VkIGJ5 IHRoZSBzZWN1cml0eSBtb2R1bGUuCiAgKglSZXR1cm4gMCBpZiBwZXJtaXNzaW9uIGlzIGdyYW50 ZWQuCi0gKiBAZmlsZV9tbWFwIDoKLSAqCUNoZWNrIHBlcm1pc3Npb25zIGZvciBhIG1tYXAgb3Bl cmF0aW9uLiAgVGhlIEBmaWxlIG1heSBiZSBOVUxMLCBlLmcuCi0gKglpZiBtYXBwaW5nIGFub255 bW91cyBtZW1vcnkuCi0gKglAZmlsZSBjb250YWlucyB0aGUgZmlsZSBzdHJ1Y3R1cmUgZm9yIGZp bGUgdG8gbWFwIChtYXkgYmUgTlVMTCkuCisgKiBAbW1hcF9maWxlIDoKKyAqCUNoZWNrIHBlcm1p c3Npb25zIGZvciBhIG1tYXAgb3BlcmF0aW9uLiAgVGhlIEBmaWxlIHdpbGwgbm90IGJlIE5VTEwK KyAqCUBmaWxlIGNvbnRhaW5zIHRoZSBmaWxlIHN0cnVjdHVyZSBmb3IgZmlsZSB0byBtYXAuCiAg KglAcmVxcHJvdCBjb250YWlucyB0aGUgcHJvdGVjdGlvbiByZXF1ZXN0ZWQgYnkgdGhlIGFwcGxp Y2F0aW9uLgogICoJQHByb3QgY29udGFpbnMgdGhlIHByb3RlY3Rpb24gdGhhdCB3aWxsIGJlIGFw cGxpZWQgYnkgdGhlIGtlcm5lbC4KICAqCUBmbGFncyBjb250YWlucyB0aGUgb3BlcmF0aW9uYWwg ZmxhZ3MuCi0gKglAYWRkciBjb250YWlucyB2aXJ0dWFsIGFkZHJlc3MgdGhhdCB3aWxsIGJlIHVz ZWQgZm9yIHRoZSBvcGVyYXRpb24uCi0gKglAYWRkcl9vbmx5IGNvbnRhaW5zIGEgYm9vbGVhbjog MCBpZiBmaWxlLWJhY2tlZCBWTUEsIG90aGVyd2lzZSAxLgorICoJUmV0dXJuIDAgaWYgcGVybWlz c2lvbiBpcyBncmFudGVkLgorICogQG1tYXBfYWRkciA6CisgKglDaGVjayBwZXJtaXNzaW9ucyBm b3IgYSBtbWFwIG9wZXJhdGlvbi4KKyAqCUBhZGRyIGNvbnRhaW5zIHRoZSBhZGRyZXNzIHRvIGJl IG1tYXBlZAogICoJUmV0dXJuIDAgaWYgcGVybWlzc2lvbiBpcyBncmFudGVkLgogICogQGZpbGVf bXByb3RlY3Q6CiAgKglDaGVjayBwZXJtaXNzaW9ucyBiZWZvcmUgY2hhbmdpbmcgbWVtb3J5IGFj Y2VzcyBwZXJtaXNzaW9ucy4KQEAgLTE0ODMsMTAgKzE0ODIsMTAgQEAgc3RydWN0IHNlY3VyaXR5 X29wZXJhdGlvbnMgewogCXZvaWQgKCpmaWxlX2ZyZWVfc2VjdXJpdHkpIChzdHJ1Y3QgZmlsZSAq ZmlsZSk7CiAJaW50ICgqZmlsZV9pb2N0bCkgKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBp bnQgY21kLAogCQkJICAgdW5zaWduZWQgbG9uZyBhcmcpOwotCWludCAoKmZpbGVfbW1hcCkgKHN0 cnVjdCBmaWxlICpmaWxlLAorCWludCAoKm1tYXBfZmlsZSkgKHN0cnVjdCBmaWxlICpmaWxlLAog CQkJICB1bnNpZ25lZCBsb25nIHJlcXByb3QsIHVuc2lnbmVkIGxvbmcgcHJvdCwKLQkJCSAgdW5z aWduZWQgbG9uZyBmbGFncywgdW5zaWduZWQgbG9uZyBhZGRyLAotCQkJICB1bnNpZ25lZCBsb25n IGFkZHJfb25seSk7CisJCQkgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpOworCWludCAoKm1tYXBfYWRk cikgKHVuc2lnbmVkIGxvbmcgYWRkcik7CiAJaW50ICgqZmlsZV9tcHJvdGVjdCkgKHN0cnVjdCB2 bV9hcmVhX3N0cnVjdCAqdm1hLAogCQkJICAgICAgdW5zaWduZWQgbG9uZyByZXFwcm90LAogCQkJ ICAgICAgdW5zaWduZWQgbG9uZyBwcm90KTsKQEAgLTE3NDUsOSArMTc0NCw4IEBAIGludCBzZWN1 cml0eV9maWxlX3Blcm1pc3Npb24oc3RydWN0IGZpbGUgKmZpbGUsIGludCBtYXNrKTsKIGludCBz ZWN1cml0eV9maWxlX2FsbG9jKHN0cnVjdCBmaWxlICpmaWxlKTsKIHZvaWQgc2VjdXJpdHlfZmls ZV9mcmVlKHN0cnVjdCBmaWxlICpmaWxlKTsKIGludCBzZWN1cml0eV9maWxlX2lvY3RsKHN0cnVj dCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZyk7Ci1pbnQg c2VjdXJpdHlfZmlsZV9tbWFwKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBsb25nIHJlcXBy b3QsCi0JCQl1bnNpZ25lZCBsb25nIHByb3QsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCi0JCQl1bnNp Z25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgYWRkcl9vbmx5KTsKK2ludCBzZWN1cml0eV9t bWFwX2ZpbGUoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGxvbmcgcmVxcHJvdCwgdW5zaWdu ZWQgbG9uZyBmbGFncyk7CitpbnQgc2VjdXJpdHlfbW1hcF9hZGRyKHVuc2lnbmVkIGxvbmcgYWRk cik7CiBpbnQgc2VjdXJpdHlfZmlsZV9tcHJvdGVjdChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZt YSwgdW5zaWduZWQgbG9uZyByZXFwcm90LAogCQkJICAgdW5zaWduZWQgbG9uZyBwcm90KTsKIGlu dCBzZWN1cml0eV9maWxlX2xvY2soc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQp OwpAQCAtMjE4MywxMyArMjE4MSwxNiBAQCBzdGF0aWMgaW5saW5lIGludCBzZWN1cml0eV9maWxl X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAogCXJldHVybiAwOwog fQogCi1zdGF0aWMgaW5saW5lIGludCBzZWN1cml0eV9maWxlX21tYXAoc3RydWN0IGZpbGUgKmZp bGUsIHVuc2lnbmVkIGxvbmcgcmVxcHJvdCwKK3N0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X21t YXBfZmlsZShzdHJ1Y3QgZmlsZSAqZmlsZSwKIAkJCQkgICAgIHVuc2lnbmVkIGxvbmcgcHJvdCwK LQkJCQkgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCi0JCQkJICAgICB1bnNpZ25lZCBsb25nIGFk ZHIsCi0JCQkJICAgICB1bnNpZ25lZCBsb25nIGFkZHJfb25seSkKKwkJCQkgICAgIHVuc2lnbmVk IGxvbmcgZmxhZ3MpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHNlY3Vy aXR5X21tYXBfYWRkcih1bnNpZ25lZCBsb25nIGFkZHIpCiB7Ci0JcmV0dXJuIGNhcF9maWxlX21t YXAoZmlsZSwgcmVxcHJvdCwgcHJvdCwgZmxhZ3MsIGFkZHIsIGFkZHJfb25seSk7CisJcmV0dXJu IGNhcF9tbWFwX2FkZHIoYWRkcik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X2Zp bGVfbXByb3RlY3Qoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCmRpZmYgLS1naXQgYS9tbS9t bWFwLmMgYi9tbS9tbWFwLmMKaW5kZXggODQ4ZWY1MmQ5NjAzLi5kYjI2MjY1MjdhN2UgMTAwNjQ0 Ci0tLSBhL21tL21tYXAuYworKysgYi9tbS9tbWFwLmMKQEAgLTk2MSw3ICs5NjEsNiBAQCBzdGF0 aWMgdW5zaWduZWQgbG9uZyBkb19tbWFwX3Bnb2ZmKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25l ZCBsb25nIGFkZHIsCiAJc3RydWN0IGlub2RlICppbm9kZTsKIAl2bV9mbGFnc190IHZtX2ZsYWdz OwogCWludCBlcnJvcjsKLQl1bnNpZ25lZCBsb25nIHJlcXByb3QgPSBwcm90OwogCiAJLyoKIAkg KiBEb2VzIHRoZSBhcHBsaWNhdGlvbiBleHBlY3QgUFJPVF9SRUFEIHRvIGltcGx5IFBST1RfRVhF Qz8KQEAgLTEwODMsNyArMTA4Miw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGRvX21tYXBfcGdv ZmYoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGxvbmcgYWRkciwKIAkJfQogCX0KIAotCWVy cm9yID0gc2VjdXJpdHlfZmlsZV9tbWFwKGZpbGUsIHJlcXByb3QsIHByb3QsIGZsYWdzLCBhZGRy LCAwKTsKKwllcnJvciA9IHNlY3VyaXR5X21tYXBfYWRkcihhZGRyKTsKIAlpZiAoZXJyb3IpCiAJ CXJldHVybiBlcnJvcjsKIApAQCAtMTEwOSw2ICsxMTA4LDEwIEBAIHVuc2lnbmVkIGxvbmcgdm1f bW1hcChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgbG9uZyBhZGRyLAogCXVuc2lnbmVkIGxv bmcgcmV0OwogCXN0cnVjdCBtbV9zdHJ1Y3QgKm1tID0gY3VycmVudC0+bW07CiAKKwlyZXQgPSBz ZWN1cml0eV9tbWFwX2ZpbGUoZmlsZSwgcHJvdCwgZmxhZyk7CisJaWYgKHJldCkKKwkJcmV0dXJu IHJldDsKKwogCWRvd25fd3JpdGUoJm1tLT5tbWFwX3NlbSk7CiAJcmV0ID0gZG9fbW1hcChmaWxl LCBhZGRyLCBsZW4sIHByb3QsIGZsYWcsIG9mZnNldCk7CiAJdXBfd3JpdGUoJm1tLT5tbWFwX3Nl bSk7CkBAIC0xMTQ3LDYgKzExNTAsMTAgQEAgU1lTQ0FMTF9ERUZJTkU2KG1tYXBfcGdvZmYsIHVu c2lnbmVkIGxvbmcsIGFkZHIsIHVuc2lnbmVkIGxvbmcsIGxlbiwKIAogCWZsYWdzICY9IH4oTUFQ X0VYRUNVVEFCTEUgfCBNQVBfREVOWVdSSVRFKTsKIAorCXJldHZhbCA9IHNlY3VyaXR5X21tYXBf ZmlsZShmaWxlLCBwcm90LCBmbGFncyk7CisJaWYgKHJldHZhbCkKKwkJZ290byBvdXQ7CisKIAlk b3duX3dyaXRlKCZjdXJyZW50LT5tbS0+bW1hcF9zZW0pOwogCXJldHZhbCA9IGRvX21tYXBfcGdv ZmYoZmlsZSwgYWRkciwgbGVuLCBwcm90LCBmbGFncywgcGdvZmYpOwogCXVwX3dyaXRlKCZjdXJy ZW50LT5tbS0+bW1hcF9zZW0pOwpAQCAtMTc5NSw3ICsxODAyLDcgQEAgaW50IGV4cGFuZF9kb3du d2FyZHMoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCiAJCXJldHVybiAtRU5PTUVNOwogCiAJ YWRkcmVzcyAmPSBQQUdFX01BU0s7Ci0JZXJyb3IgPSBzZWN1cml0eV9maWxlX21tYXAoTlVMTCwg MCwgMCwgMCwgYWRkcmVzcywgMSk7CisJZXJyb3IgPSBzZWN1cml0eV9tbWFwX2FkZHIoYWRkcmVz cyk7CiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAKQEAgLTIxODAsNyArMjE4Nyw3IEBA IHN0YXRpYyB1bnNpZ25lZCBsb25nIGRvX2Jyayh1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVk IGxvbmcgbGVuKQogCWlmICghbGVuKQogCQlyZXR1cm4gYWRkcjsKIAotCWVycm9yID0gc2VjdXJp dHlfZmlsZV9tbWFwKE5VTEwsIDAsIDAsIDAsIGFkZHIsIDEpOworCWVycm9yID0gc2VjdXJpdHlf bW1hcF9hZGRyKGFkZHIpOwogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwogCkBAIC0yNTI1 LDcgKzI1MzIsNyBAQCBpbnQgaW5zdGFsbF9zcGVjaWFsX21hcHBpbmcoc3RydWN0IG1tX3N0cnVj dCAqbW0sCiAJdm1hLT52bV9vcHMgPSAmc3BlY2lhbF9tYXBwaW5nX3Ztb3BzOwogCXZtYS0+dm1f cHJpdmF0ZV9kYXRhID0gcGFnZXM7CiAKLQlyZXQgPSBzZWN1cml0eV9maWxlX21tYXAoTlVMTCwg MCwgMCwgMCwgdm1hLT52bV9zdGFydCwgMSk7CisJcmV0ID0gc2VjdXJpdHlfbW1hcF9hZGRyKHZt YS0+dm1fc3RhcnQpOwogCWlmIChyZXQpCiAJCWdvdG8gb3V0OwogCmRpZmYgLS1naXQgYS9tbS9t cmVtYXAuYyBiL21tL21yZW1hcC5jCmluZGV4IGRiOGQ5ODNiNWE3ZC4uNjhmNmIxNDIyM2U1IDEw MDY0NAotLS0gYS9tbS9tcmVtYXAuYworKysgYi9tbS9tcmVtYXAuYwpAQCAtMzcxLDcgKzM3MSw3 IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIG1yZW1hcF90byh1bnNpZ25lZCBsb25nIGFkZHIsCiAJ aWYgKChhZGRyIDw9IG5ld19hZGRyKSAmJiAoYWRkcitvbGRfbGVuKSA+IG5ld19hZGRyKQogCQln b3RvIG91dDsKIAotCXJldCA9IHNlY3VyaXR5X2ZpbGVfbW1hcChOVUxMLCAwLCAwLCAwLCBuZXdf YWRkciwgMSk7CisJcmV0ID0gc2VjdXJpdHlfbW1hcF9hZGRyKG5ld19hZGRyKTsKIAlpZiAocmV0 KQogCQlnb3RvIG91dDsKIApAQCAtNTMwLDcgKzUzMCw3IEBAIHVuc2lnbmVkIGxvbmcgZG9fbXJl bWFwKHVuc2lnbmVkIGxvbmcgYWRkciwKIAkJCWdvdG8gb3V0OwogCQl9CiAKLQkJcmV0ID0gc2Vj dXJpdHlfZmlsZV9tbWFwKE5VTEwsIDAsIDAsIDAsIG5ld19hZGRyLCAxKTsKKwkJcmV0ID0gc2Vj dXJpdHlfbW1hcF9hZGRyKG5ld19hZGRyKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gb3V0OwogCQly ZXQgPSBtb3ZlX3ZtYSh2bWEsIGFkZHIsIG9sZF9sZW4sIG5ld19sZW4sIG5ld19hZGRyKTsKZGlm ZiAtLWdpdCBhL21tL25vbW11LmMgYi9tbS9ub21tdS5jCmluZGV4IGJiOGY0ZjAwNGE4Mi4uZjI5 MTUxYTIzNjA5IDEwMDY0NAotLS0gYS9tbS9ub21tdS5jCisrKyBiL21tL25vbW11LmMKQEAgLTg4 OSw3ICs4ODksNiBAQCBzdGF0aWMgaW50IHZhbGlkYXRlX21tYXBfcmVxdWVzdChzdHJ1Y3QgZmls ZSAqZmlsZSwKIAkJCQkgdW5zaWduZWQgbG9uZyAqX2NhcGFiaWxpdGllcykKIHsKIAl1bnNpZ25l ZCBsb25nIGNhcGFiaWxpdGllcywgcmxlbjsKLQl1bnNpZ25lZCBsb25nIHJlcXByb3QgPSBwcm90 OwogCWludCByZXQ7CiAKIAkvKiBkbyB0aGUgc2ltcGxlIGNoZWNrcyBmaXJzdCAqLwpAQCAtMTA0 Niw4ICsxMDQ1LDcgQEAgc3RhdGljIGludCB2YWxpZGF0ZV9tbWFwX3JlcXVlc3Qoc3RydWN0IGZp bGUgKmZpbGUsCiAJCQlwcm90IHw9IFBST1RfRVhFQzsKIAl9CiAKLQkvKiBhbGxvdyB0aGUgc2Vj dXJpdHkgQVBJIHRvIGhhdmUgaXRzIHNheSAqLwotCXJldCA9IHNlY3VyaXR5X2ZpbGVfbW1hcChm aWxlLCByZXFwcm90LCBwcm90LCBmbGFncywgYWRkciwgMCk7CisJcmV0ID0gc2VjdXJpdHlfbW1h cF9hZGRyKGFkZHIpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCkBAIC0xNDkwLDYg KzE0ODgsMTAgQEAgdW5zaWduZWQgbG9uZyB2bV9tbWFwKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNp Z25lZCBsb25nIGFkZHIsCiAJdW5zaWduZWQgbG9uZyByZXQ7CiAJc3RydWN0IG1tX3N0cnVjdCAq bW0gPSBjdXJyZW50LT5tbTsKIAorCXJldCA9IHNlY3VyaXR5X21tYXBfZmlsZShmaWxlLCBwcm90 LCBmbGFnKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCiAJZG93bl93cml0ZSgmbW0tPm1t YXBfc2VtKTsKIAlyZXQgPSBkb19tbWFwKGZpbGUsIGFkZHIsIGxlbiwgcHJvdCwgZmxhZywgb2Zm c2V0KTsKIAl1cF93cml0ZSgmbW0tPm1tYXBfc2VtKTsKQEAgLTE1MTMsOSArMTUxNSwxMiBAQCBT WVNDQUxMX0RFRklORTYobW1hcF9wZ29mZiwgdW5zaWduZWQgbG9uZywgYWRkciwgdW5zaWduZWQg bG9uZywgbGVuLAogCiAJZmxhZ3MgJj0gfihNQVBfRVhFQ1VUQUJMRSB8IE1BUF9ERU5ZV1JJVEUp OwogCi0JZG93bl93cml0ZSgmY3VycmVudC0+bW0tPm1tYXBfc2VtKTsKLQlyZXR2YWwgPSBkb19t bWFwX3Bnb2ZmKGZpbGUsIGFkZHIsIGxlbiwgcHJvdCwgZmxhZ3MsIHBnb2ZmKTsKLQl1cF93cml0 ZSgmY3VycmVudC0+bW0tPm1tYXBfc2VtKTsKKwlyZXR2YWwgPSBzZWN1cml0eV9tbWFwX2ZpbGUo ZmlsZSwgcHJvdCwgZmxhZ3MpOworCWlmICghcmV0dmFsKSB7CisJCWRvd25fd3JpdGUoJmN1cnJl bnQtPm1tLT5tbWFwX3NlbSk7CisJCXJldHZhbCA9IGRvX21tYXBfcGdvZmYoZmlsZSwgYWRkciwg bGVuLCBwcm90LCBmbGFncywgcGdvZmYpOworCQl1cF93cml0ZSgmY3VycmVudC0+bW0tPm1tYXBf c2VtKTsKKwl9CiAKIAlpZiAoZmlsZSkKIAkJZnB1dChmaWxlKTsKZGlmZiAtLWdpdCBhL3NlY3Vy aXR5L2FwcGFybW9yL2xzbS5jIGIvc2VjdXJpdHkvYXBwYXJtb3IvbHNtLmMKaW5kZXggYWQwNWQz OTE5NzRkLi42Zjk0MTQ3YTBjM2IgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2FwcGFybW9yL2xzbS5j CisrKyBiL3NlY3VyaXR5L2FwcGFybW9yL2xzbS5jCkBAIC00OTAsMTcgKzQ5MCw5IEBAIHN0YXRp YyBpbnQgY29tbW9uX21tYXAoaW50IG9wLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgbG9u ZyBwcm90LAogCXJldHVybiBjb21tb25fZmlsZV9wZXJtKG9wLCBmaWxlLCBtYXNrKTsKIH0KIAot c3RhdGljIGludCBhcHBhcm1vcl9maWxlX21tYXAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVk IGxvbmcgcmVxcHJvdCwKLQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgcHJvdCwgdW5zaWduZWQgbG9u ZyBmbGFncywKLQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBhZGRy X29ubHkpCitzdGF0aWMgaW50IGFwcGFybW9yX21tYXBfZmlsZShzdHJ1Y3QgZmlsZSAqZmlsZSwg dW5zaWduZWQgbG9uZyByZXFwcm90LAorCQkJICAgICAgdW5zaWduZWQgbG9uZyBwcm90LCB1bnNp Z25lZCBsb25nIGZsYWdzKQogewotCWludCByYyA9IDA7Ci0KLQkvKiBkbyBEQUMgY2hlY2sgKi8K LQlyYyA9IGNhcF9maWxlX21tYXAoZmlsZSwgcmVxcHJvdCwgcHJvdCwgZmxhZ3MsIGFkZHIsIGFk ZHJfb25seSk7Ci0JaWYgKHJjIHx8IGFkZHJfb25seSkKLQkJcmV0dXJuIHJjOwotCiAJcmV0dXJu IGNvbW1vbl9tbWFwKE9QX0ZNTUFQLCBmaWxlLCBwcm90LCBmbGFncyk7CiB9CiAKQEAgLTY0Niw3 ICs2MzgsNyBAQCBzdGF0aWMgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgYXBwYXJtb3Jfb3Bz ID0gewogCS5maWxlX3Blcm1pc3Npb24gPQkJYXBwYXJtb3JfZmlsZV9wZXJtaXNzaW9uLAogCS5m aWxlX2FsbG9jX3NlY3VyaXR5ID0JCWFwcGFybW9yX2ZpbGVfYWxsb2Nfc2VjdXJpdHksCiAJLmZp bGVfZnJlZV9zZWN1cml0eSA9CQlhcHBhcm1vcl9maWxlX2ZyZWVfc2VjdXJpdHksCi0JLmZpbGVf bW1hcCA9CQkJYXBwYXJtb3JfZmlsZV9tbWFwLAorCS5tbWFwX2ZpbGUgPQkJCWFwcGFybW9yX21t YXBfZmlsZSwKIAkuZmlsZV9tcHJvdGVjdCA9CQlhcHBhcm1vcl9maWxlX21wcm90ZWN0LAogCS5m aWxlX2xvY2sgPQkJCWFwcGFybW9yX2ZpbGVfbG9jaywKIApkaWZmIC0tZ2l0IGEvc2VjdXJpdHkv Y2FwYWJpbGl0eS5jIGIvc2VjdXJpdHkvY2FwYWJpbGl0eS5jCmluZGV4IDViYjIxYjFjNDQ4Yy4u OWExOWM2YTU0ZTEyIDEwMDY0NAotLS0gYS9zZWN1cml0eS9jYXBhYmlsaXR5LmMKKysrIGIvc2Vj dXJpdHkvY2FwYWJpbGl0eS5jCkBAIC05NDksNyArOTQ5LDYgQEAgdm9pZCBfX2luaXQgc2VjdXJp dHlfZml4dXBfb3BzKHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpCiAJc2V0X3RvX2Nh cF9pZl9udWxsKG9wcywgZmlsZV9hbGxvY19zZWN1cml0eSk7CiAJc2V0X3RvX2NhcF9pZl9udWxs KG9wcywgZmlsZV9mcmVlX3NlY3VyaXR5KTsKIAlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxl X2lvY3RsKTsKLQlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX21tYXApOwogCXNldF90b19j YXBfaWZfbnVsbChvcHMsIGZpbGVfbXByb3RlY3QpOwogCXNldF90b19jYXBfaWZfbnVsbChvcHMs IGZpbGVfbG9jayk7CiAJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9mY250bCk7CmRpZmYg LS1naXQgYS9zZWN1cml0eS9jb21tb25jYXAuYyBiL3NlY3VyaXR5L2NvbW1vbmNhcC5jCmluZGV4 IDcxYTE2NmEwNTk3NS4uZmFmMTA1YWIwNDc0IDEwMDY0NAotLS0gYS9zZWN1cml0eS9jb21tb25j YXAuYworKysgYi9zZWN1cml0eS9jb21tb25jYXAuYwpAQCAtOTQ0LDIyICs5NDQsMTUgQEAgaW50 IGNhcF92bV9lbm91Z2hfbWVtb3J5KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBsb25nIHBhZ2VzKQog fQogCiAvKgotICogY2FwX2ZpbGVfbW1hcCAtIGNoZWNrIGlmIGFibGUgdG8gbWFwIGdpdmVuIGFk ZHIKLSAqIEBmaWxlOiB1bnVzZWQKLSAqIEByZXFwcm90OiB1bnVzZWQKLSAqIEBwcm90OiB1bnVz ZWQKLSAqIEBmbGFnczogdW51c2VkCi0gKiBAYWRkcjogYWRkcmVzcyBhdHRlbXB0aW5nIHRvIGJl IG1hcHBlZAotICogQGFkZHJfb25seTogdW51c2VkCisgKiBjYXBfbW1hcF9hZGRyIC0gY2hlY2sg aWYgYWJsZSB0byBtYXAgZ2l2ZW4gYWRkcgorICogQGFkZHI6IGFkZHJlc3MgbW1hcCdlZAogICoK ICAqIElmIHRoZSBwcm9jZXNzIGlzIGF0dGVtcHRpbmcgdG8gbWFwIG1lbW9yeSBiZWxvdyBkYWNf bW1hcF9taW5fYWRkciB0aGV5IG5lZWQKICAqIENBUF9TWVNfUkFXSU8uICBUaGUgb3RoZXIgcGFy YW1ldGVycyB0byB0aGlzIGZ1bmN0aW9uIGFyZSB1bnVzZWQgYnkgdGhlCiAgKiBjYXBhYmlsaXR5 IHNlY3VyaXR5IG1vZHVsZS4gIFJldHVybnMgMCBpZiB0aGlzIG1hcHBpbmcgc2hvdWxkIGJlIGFs bG93ZWQKICAqIC1FUEVSTSBpZiBub3QuCiAgKi8KLWludCBjYXBfZmlsZV9tbWFwKHN0cnVjdCBm aWxlICpmaWxlLCB1bnNpZ25lZCBsb25nIHJlcXByb3QsCi0JCSAgdW5zaWduZWQgbG9uZyBwcm90 LCB1bnNpZ25lZCBsb25nIGZsYWdzLAotCQkgIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQg bG9uZyBhZGRyX29ubHkpCitpbnQgY2FwX21tYXBfYWRkcih1bnNpZ25lZCBsb25nIGFkZHIpCiB7 CiAJaW50IHJldCA9IDA7CiAKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlY3VyaXR5LmMgYi9zZWN1 cml0eS9zZWN1cml0eS5jCmluZGV4IGJmNjE5ZmZjOWE0ZC4uOGZlYTZhMDc1MGEyIDEwMDY0NAot LS0gYS9zZWN1cml0eS9zZWN1cml0eS5jCisrKyBiL3NlY3VyaXR5L3NlY3VyaXR5LmMKQEAgLTIw LDYgKzIwLDggQEAKICNpbmNsdWRlIDxsaW51eC9pbWEuaD4KICNpbmNsdWRlIDxsaW51eC9ldm0u aD4KICNpbmNsdWRlIDxsaW51eC9mc25vdGlmeS5oPgorI2luY2x1ZGUgPGxpbnV4L21tYW4uaD4K KyNpbmNsdWRlIDxsaW51eC9tb3VudC5oPgogI2luY2x1ZGUgPG5ldC9mbG93Lmg+CiAKICNkZWZp bmUgTUFYX0xTTV9FVk1fWEFUVFIJMgpAQCAtNjU3LDE4ICs2NTksMzkgQEAgaW50IHNlY3VyaXR5 X2ZpbGVfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVk IGxvbmcgYXJnKQogCXJldHVybiBzZWN1cml0eV9vcHMtPmZpbGVfaW9jdGwoZmlsZSwgY21kLCBh cmcpOwogfQogCi1pbnQgc2VjdXJpdHlfZmlsZV9tbWFwKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNp Z25lZCBsb25nIHJlcXByb3QsCi0JCQl1bnNpZ25lZCBsb25nIHByb3QsIHVuc2lnbmVkIGxvbmcg ZmxhZ3MsCi0JCQl1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgYWRkcl9vbmx5KQor aW50IHNlY3VyaXR5X21tYXBfZmlsZShzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgbG9uZyBy ZXFwcm90LCB1bnNpZ25lZCBsb25nIGZsYWdzKQogewotCWludCByZXQ7CisJdW5zaWduZWQgbG9u ZyBwcm90OwogCi0JcmV0ID0gc2VjdXJpdHlfb3BzLT5maWxlX21tYXAoZmlsZSwgcmVxcHJvdCwg cHJvdCwgZmxhZ3MsIGFkZHIsIGFkZHJfb25seSk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsK KwlpZiAoIWZpbGUpCisJCXJldHVybiAwOworCisJLyogRG9lcyB0aGUgYXBwbGljYXRpb24gZXhw ZWN0IFBST1RfUkVBRCB0byBpbXBseSBQUk9UX0VYRUM/ICovCisJcHJvdCA9IHJlcXByb3Q7CisJ aWYgKChwcm90ICYgKFBST1RfUkVBRCB8IFBST1RfRVhFQykpID09IFBST1RfUkVBRCkgeworCQlp ZiAoY3VycmVudC0+cGVyc29uYWxpdHkgJiBSRUFEX0lNUExJRVNfRVhFQykKKwkJCWlmICghKGZp bGUtPmZfcGF0aC5tbnQtPm1udF9mbGFncyAmIE1OVF9OT0VYRUMpKQorCQkJCXByb3QgfD0gUFJP VF9FWEVDOworCX0KKworCWlmIChzZWN1cml0eV9vcHMtPm1tYXBfZmlsZSkgeworCQlpbnQgcmV0 ID0gc2VjdXJpdHlfb3BzLT5tbWFwX2ZpbGUoZmlsZSwgcmVxcHJvdCwgcHJvdCwgZmxhZ3MpOwor CQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwl9CiAJcmV0dXJuIGltYV9maWxlX21tYXAoZmls ZSwgcHJvdCk7CiB9CiAKK2ludCBzZWN1cml0eV9tbWFwX2FkZHIodW5zaWduZWQgbG9uZyBhZGRy KQoreworCWlmIChzZWN1cml0eV9vcHMtPm1tYXBfYWRkcikgeworCQlpbnQgcmV0ID0gc2VjdXJp dHlfb3BzLT5tbWFwX2FkZHIoYWRkcik7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCX0K KwlyZXR1cm4gY2FwX21tYXBfYWRkcihhZGRyKTsKK30KKwogaW50IHNlY3VyaXR5X2ZpbGVfbXBy b3RlY3Qoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgcmVxcHJvdCwK IAkJCSAgICB1bnNpZ25lZCBsb25nIHByb3QpCiB7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxp bnV4L2hvb2tzLmMgYi9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMKaW5kZXggZDg1Yjc5M2M5MzIx Li5mOTExZTYxYzE1MmUgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvaG9va3MuYworKysg Yi9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMKQEAgLTMwNjksMzEgKzMwNjksMjcgQEAgZXJyb3I6 CiAJcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgaW50IHNlbGludXhfZmlsZV9tbWFwKHN0cnVjdCBm aWxlICpmaWxlLCB1bnNpZ25lZCBsb25nIHJlcXByb3QsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcg cHJvdCwgdW5zaWduZWQgbG9uZyBmbGFncywKLQkJCSAgICAgdW5zaWduZWQgbG9uZyBhZGRyLCB1 bnNpZ25lZCBsb25nIGFkZHJfb25seSkKKy8qCisgKiBub3RpY2UgdGhhdCB0aGUgc2VjdXJpdHkg bGF5ZXIgaXMgaW50ZW50aW9uYWxseSBkb2luZyB0aGUgU0VMaW51eAorICogY2hlY2sgYmVmb3Jl IHRoZSBzZWNvbmRhcnkgY2FwX21tYXBfZmlsZSBjaGVjay4gIFRoaXMgaXMgc3VjaCBhCisgKiBs aWtlbHkgYXR0ZW1wdCBhdCBiYWQgYmVoYXZpb3VyL2V4cGxvaXQgdGhhdCB3ZSBhbHdheXMgd2Fu dCB0byBnZXQKKyAqIHRoZSBBVkMsIGV2ZW4gaWYgREFDIHdvdWxkIGhhdmUgYWxzbyBkZW5pZWQg dGhlIG9wZXJhdGlvbi4KKyAqLworc3RhdGljIGludCBzZWxpbnV4X21tYXBfYWRkcih1bnNpZ25l ZCBsb25nIGFkZHIpCiB7CiAJaW50IHJjID0gMDsKLQl1MzIgc2lkID0gY3VycmVudF9zaWQoKTsK IAotCS8qCi0JICogbm90aWNlIHRoYXQgd2UgYXJlIGludGVudGlvbmFsbHkgcHV0dGluZyB0aGUg U0VMaW51eCBjaGVjayBiZWZvcmUKLQkgKiB0aGUgc2Vjb25kYXJ5IGNhcF9maWxlX21tYXAgY2hl Y2suICBUaGlzIGlzIHN1Y2ggYSBsaWtlbHkgYXR0ZW1wdAotCSAqIGF0IGJhZCBiZWhhdmlvdXIv ZXhwbG9pdCB0aGF0IHdlIGFsd2F5cyB3YW50IHRvIGdldCB0aGUgQVZDLCBldmVuCi0JICogaWYg REFDIHdvdWxkIGhhdmUgYWxzbyBkZW5pZWQgdGhlIG9wZXJhdGlvbi4KLQkgKi8KIAlpZiAoYWRk ciA8IENPTkZJR19MU01fTU1BUF9NSU5fQUREUikgeworCQl1MzIgc2lkID0gY3VycmVudF9zaWQo KTsKIAkJcmMgPSBhdmNfaGFzX3Blcm0oc2lkLCBzaWQsIFNFQ0NMQVNTX01FTVBST1RFQ1QsCiAJ CQkJICBNRU1QUk9URUNUX19NTUFQX1pFUk8sIE5VTEwpOwotCQlpZiAocmMpCi0JCQlyZXR1cm4g cmM7CiAJfQorCXJldHVybiByYzsKK30KIAotCS8qIGRvIERBQyBjaGVjayBvbiBhZGRyZXNzIHNw YWNlIHVzYWdlICovCi0JcmMgPSBjYXBfZmlsZV9tbWFwKGZpbGUsIHJlcXByb3QsIHByb3QsIGZs YWdzLCBhZGRyLCBhZGRyX29ubHkpOwotCWlmIChyYyB8fCBhZGRyX29ubHkpCi0JCXJldHVybiBy YzsKLQorc3RhdGljIGludCBzZWxpbnV4X21tYXBfZmlsZShzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5z aWduZWQgbG9uZyByZXFwcm90LAorCQkJICAgICB1bnNpZ25lZCBsb25nIHByb3QsIHVuc2lnbmVk IGxvbmcgZmxhZ3MpCit7CiAJaWYgKHNlbGludXhfY2hlY2tyZXFwcm90KQogCQlwcm90ID0gcmVx cHJvdDsKIApAQCAtNTU4NCw3ICs1NTgwLDggQEAgc3RhdGljIHN0cnVjdCBzZWN1cml0eV9vcGVy YXRpb25zIHNlbGludXhfb3BzID0gewogCS5maWxlX2FsbG9jX3NlY3VyaXR5ID0JCXNlbGludXhf ZmlsZV9hbGxvY19zZWN1cml0eSwKIAkuZmlsZV9mcmVlX3NlY3VyaXR5ID0JCXNlbGludXhfZmls ZV9mcmVlX3NlY3VyaXR5LAogCS5maWxlX2lvY3RsID0JCQlzZWxpbnV4X2ZpbGVfaW9jdGwsCi0J LmZpbGVfbW1hcCA9CQkJc2VsaW51eF9maWxlX21tYXAsCisJLm1tYXBfZmlsZSA9CQkJc2VsaW51 eF9tbWFwX2ZpbGUsCisJLm1tYXBfYWRkciA9CQkJc2VsaW51eF9tbWFwX2FkZHIsCiAJLmZpbGVf bXByb3RlY3QgPQkJc2VsaW51eF9maWxlX21wcm90ZWN0LAogCS5maWxlX2xvY2sgPQkJCXNlbGlu dXhfZmlsZV9sb2NrLAogCS5maWxlX2ZjbnRsID0JCQlzZWxpbnV4X2ZpbGVfZmNudGwsCmRpZmYg LS1naXQgYS9zZWN1cml0eS9zbWFjay9zbWFja19sc20uYyBiL3NlY3VyaXR5L3NtYWNrL3NtYWNr X2xzbS5jCmluZGV4IDQ1YzMyZjA3NDE2Ni4uNDA5NjAwNTJmYzY0IDEwMDY0NAotLS0gYS9zZWN1 cml0eS9zbWFjay9zbWFja19sc20uYworKysgYi9zZWN1cml0eS9zbWFjay9zbWFja19sc20uYwpA QCAtMTE2MSw3ICsxMTYxLDcgQEAgc3RhdGljIGludCBzbWFja19maWxlX2ZjbnRsKHN0cnVjdCBm aWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAogfQogCiAvKioKLSAqIHNtYWNrX2ZpbGVfbW1h cCA6CisgKiBzbWFja19tbWFwX2ZpbGUgOgogICogQ2hlY2sgcGVybWlzc2lvbnMgZm9yIGEgbW1h cCBvcGVyYXRpb24uICBUaGUgQGZpbGUgbWF5IGJlIE5VTEwsIGUuZy4KICAqIGlmIG1hcHBpbmcg YW5vbnltb3VzIG1lbW9yeS4KICAqIEBmaWxlIGNvbnRhaW5zIHRoZSBmaWxlIHN0cnVjdHVyZSBm b3IgZmlsZSB0byBtYXAgKG1heSBiZSBOVUxMKS4KQEAgLTExNzAsMTAgKzExNzAsOSBAQCBzdGF0 aWMgaW50IHNtYWNrX2ZpbGVfZmNudGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBj bWQsCiAgKiBAZmxhZ3MgY29udGFpbnMgdGhlIG9wZXJhdGlvbmFsIGZsYWdzLgogICogUmV0dXJu IDAgaWYgcGVybWlzc2lvbiBpcyBncmFudGVkLgogICovCi1zdGF0aWMgaW50IHNtYWNrX2ZpbGVf bW1hcChzdHJ1Y3QgZmlsZSAqZmlsZSwKK3N0YXRpYyBpbnQgc21hY2tfbW1hcF9maWxlKHN0cnVj dCBmaWxlICpmaWxlLAogCQkJICAgdW5zaWduZWQgbG9uZyByZXFwcm90LCB1bnNpZ25lZCBsb25n IHByb3QsCi0JCQkgICB1bnNpZ25lZCBsb25nIGZsYWdzLCB1bnNpZ25lZCBsb25nIGFkZHIsCi0J CQkgICB1bnNpZ25lZCBsb25nIGFkZHJfb25seSkKKwkJCSAgIHVuc2lnbmVkIGxvbmcgZmxhZ3Mp CiB7CiAJc3RydWN0IHNtYWNrX2tub3duICpza3A7CiAJc3RydWN0IHNtYWNrX3J1bGUgKnNycDsK QEAgLTExODgsMTkgKzExODcsNyBAQCBzdGF0aWMgaW50IHNtYWNrX2ZpbGVfbW1hcChzdHJ1Y3Qg ZmlsZSAqZmlsZSwKIAlpbnQgdG1heTsKIAlpbnQgcmM7CiAKLQkvKiBkbyBEQUMgY2hlY2sgb24g YWRkcmVzcyBzcGFjZSB1c2FnZSAqLwotCXJjID0gY2FwX2ZpbGVfbW1hcChmaWxlLCByZXFwcm90 LCBwcm90LCBmbGFncywgYWRkciwgYWRkcl9vbmx5KTsKLQlpZiAocmMgfHwgYWRkcl9vbmx5KQot CQlyZXR1cm4gcmM7Ci0KLQlpZiAoZmlsZSA9PSBOVUxMIHx8IGZpbGUtPmZfZGVudHJ5ID09IE5V TEwpCi0JCXJldHVybiAwOwotCiAJZHAgPSBmaWxlLT5mX2RlbnRyeTsKLQotCWlmIChkcC0+ZF9p bm9kZSA9PSBOVUxMKQotCQlyZXR1cm4gMDsKLQogCWlzcCA9IGRwLT5kX2lub2RlLT5pX3NlY3Vy aXR5OwogCWlmIChpc3AtPnNta19tbWFwID09IE5VTEwpCiAJCXJldHVybiAwOwpAQCAtMzU0NCw3 ICszNTMxLDcgQEAgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgc21hY2tfb3BzID0gewogCS5m aWxlX2lvY3RsID0gCQkJc21hY2tfZmlsZV9pb2N0bCwKIAkuZmlsZV9sb2NrID0gCQkJc21hY2tf ZmlsZV9sb2NrLAogCS5maWxlX2ZjbnRsID0gCQkJc21hY2tfZmlsZV9mY250bCwKLQkuZmlsZV9t bWFwID0JCQlzbWFja19maWxlX21tYXAsCisJLm1tYXBfZmlsZSA9CQkJc21hY2tfbW1hcF9maWxl LAogCS5maWxlX3NldF9mb3duZXIgPSAJCXNtYWNrX2ZpbGVfc2V0X2Zvd25lciwKIAkuZmlsZV9z ZW5kX3NpZ2lvdGFzayA9IAkJc21hY2tfZmlsZV9zZW5kX3NpZ2lvdGFzaywKIAkuZmlsZV9yZWNl aXZlID0gCQlzbWFja19maWxlX3JlY2VpdmUsCg== --f46d0442816ee5d52a04c01ca48c-- -- 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/