From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Li Subject: [PATCH 2/2] Remove the redundant attribute from ctype Date: Wed, 27 Feb 2013 07:23:13 -0800 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=bcaec54ee608445f4404d6b65af2 Return-path: Received: from mail-ob0-f173.google.com ([209.85.214.173]:57349 "EHLO mail-ob0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758160Ab3B0PXP (ORCPT ); Wed, 27 Feb 2013 10:23:15 -0500 Received: by mail-ob0-f173.google.com with SMTP id dn14so119369obc.18 for ; Wed, 27 Feb 2013 07:23:13 -0800 (PST) In-Reply-To: Sender: linux-sparse-owner@vger.kernel.org List-Id: linux-sparse@vger.kernel.org To: Al Viro Cc: Linux-Sparse --bcaec54ee608445f4404d6b65af2 Content-Type: text/plain; charset=ISO-8859-1 This change removes the attribute data store in ctype struct. Chris --bcaec54ee608445f4404d6b65af2 Content-Type: application/octet-stream; name="0002-Remove-the-redundant-attribute-from-ctype-structure.patch" Content-Disposition: attachment; filename="0002-Remove-the-redundant-attribute-from-ctype-structure.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hdomv4b81 RnJvbSAyZmU5MTg4MDQ1MWUxN2QzYmVjZWZlYjllY2NjNGUzMGEyZjZlMDQwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGhlciBMaSA8c3BhcnNlQGNocmlzbGkub3JnPgpE YXRlOiBTdW4sIDI0IEZlYiAyMDEzIDIwOjE3OjM3IC0wODAwClN1YmplY3Q6IFtQQVRDSCAyLzJd IFJlbW92ZSB0aGUgcmVkdW5kYW50IGF0dHJpYnV0ZSBmcm9tIGN0eXBlIHN0cnVjdHVyZS4KClNp Z25lZC1vZmYtYnk6IENocmlzdG9waGVyIExpIDxzcGFyc2VAY2hyaXNsaS5vcmc+Ci0tLQogZXZh bHVhdGUuYyAgIHwgMjMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGxpbmVhcml6ZS5jICB8ICAx IC0KIHBhcnNlLmMgICAgICB8ICA0IC0tLS0KIHNob3ctcGFyc2UuYyB8ICAzIC0tLQogc3BhcnNl LmMgICAgIHwgIDEgLQogc3ltYm9sLmggICAgIHwgMjYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIDYgZmlsZXMgY2hhbmdlZCwgNTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZXZhbHVh dGUuYyBiL2V2YWx1YXRlLmMKaW5kZXggM2UwODdlNi4uZjNmNjU3MiAxMDA2NDQKLS0tIGEvZXZh bHVhdGUuYworKysgYi9ldmFsdWF0ZS5jCkBAIC0xODUsNyArMTg1LDYgQEAgc3RhdGljIHN0cnVj dCBzeW1ib2wgKmJhc2VfdHlwZShzdHJ1Y3Qgc3ltYm9sICpub2RlLCB1bnNpZ25lZCBsb25nICpt b2RwLCB1bnNpZ24KIAltb2QgPSAwOyBhcyA9IDA7CiAJd2hpbGUgKG5vZGUpIHsKIAkJbW9kIHw9 IG5vZGUtPmN0eXBlLm1vZGlmaWVyczsKLQkJY2hlY2tfc3ltKG5vZGUpOwogCQlhcyB8PSBub2Rl LT5jdHlwZS5hdHRyaWJ1dGUtPmFzOwogCQlpZiAobm9kZS0+dHlwZSA9PSBTWU1fTk9ERSkgewog CQkJbm9kZSA9IG5vZGUtPmN0eXBlLmJhc2VfdHlwZTsKQEAgLTYxOCwxNiArNjE3LDEyIEBAIGNv bnN0IGNoYXIgKnR5cGVfZGlmZmVyZW5jZShzdHJ1Y3QgY3R5cGUgKmMxLCBzdHJ1Y3QgY3R5cGUg KmMyLAogCWludCBtb3ZlMSA9IDEsIG1vdmUyID0gMTsKIAltb2QxIHw9IGMxLT5tb2RpZmllcnM7 CiAJbW9kMiB8PSBjMi0+bW9kaWZpZXJzOwotCWNoZWNrX2F0dHIoYzEpOwotCWNoZWNrX2F0dHIo YzIpOwogCiAJZm9yICg7OykgewogCQl1bnNpZ25lZCBsb25nIGRpZmY7CiAJCWludCB0eXBlOwog CQlzdHJ1Y3Qgc3ltYm9sICpiYXNlMSA9IHQxLT5jdHlwZS5iYXNlX3R5cGU7CiAJCXN0cnVjdCBz eW1ib2wgKmJhc2UyID0gdDItPmN0eXBlLmJhc2VfdHlwZTsKLQkJY2hlY2tfc3ltKHQxKTsKLQkJ Y2hlY2tfc3ltKHQyKTsKIAogCQkvKgogCQkgKiBGSVhNRSEgQ29sbGVjdCBhbGlnbm1lbnQgYW5k IGNvbnRleHQgdG9vIGhlcmUhCkBAIC03MDQsOCArNjk5LDYgQEAgY29uc3QgY2hhciAqdHlwZV9k aWZmZXJlbmNlKHN0cnVjdCBjdHlwZSAqYzEsIHN0cnVjdCBjdHlwZSAqYzIsCiAJCQlhczEgPSB0 MS0+Y3R5cGUuYXR0cmlidXRlLT5hczsKIAkJCW1vZDIgPSB0Mi0+Y3R5cGUubW9kaWZpZXJzOwog CQkJYXMyID0gdDItPmN0eXBlLmF0dHJpYnV0ZS0+YXM7Ci0JCQljaGVja19zeW0odDEpOwotCQkJ Y2hlY2tfc3ltKHQyKTsKIAkJCWJyZWFrOwogCQljYXNlIFNZTV9GTjogewogCQkJc3RydWN0IHN5 bWJvbCAqYXJnMSwgKmFyZzI7CkBAIC03MTksOCArNzEyLDYgQEAgY29uc3QgY2hhciAqdHlwZV9k aWZmZXJlbmNlKHN0cnVjdCBjdHlwZSAqYzEsIHN0cnVjdCBjdHlwZSAqYzIsCiAJCQlhczEgPSB0 MS0+Y3R5cGUuYXR0cmlidXRlLT5hczsKIAkJCW1vZDIgPSB0Mi0+Y3R5cGUubW9kaWZpZXJzOwog CQkJYXMyID0gdDItPmN0eXBlLmF0dHJpYnV0ZS0+YXM7Ci0JCQljaGVja19zeW0odDEpOwotCQkJ Y2hlY2tfc3ltKHQyKTsKIAogCQkJaWYgKGJhc2UxLT52YXJpYWRpYyAhPSBiYXNlMi0+dmFyaWFk aWMpCiAJCQkJcmV0dXJuICJpbmNvbXBhdGlibGUgdmFyaWFkaWMgYXJndW1lbnRzIjsKQEAgLTEw NTIsOCArMTA0Myw2IEBAIHN0YXRpYyBzdHJ1Y3Qgc3ltYm9sICpldmFsdWF0ZV9jb21wYXJlKHN0 cnVjdCBleHByZXNzaW9uICpleHByKQogCiAJLyogdGhleSBhbHNvIGhhdmUgc3BlY2lhbCB0cmVh dG1lbnQgZm9yIHBvaW50ZXJzIHRvIHZvaWQgKi8KIAlpZiAoZXhwci0+b3AgPT0gU1BFQ0lBTF9F UVVBTCB8fCBleHByLT5vcCA9PSBTUEVDSUFMX05PVEVRVUFMKSB7Ci0JCWNoZWNrX3N5bShsdHlw ZSk7Ci0JCWNoZWNrX3N5bShydHlwZSk7CiAJCWlmIChsdHlwZS0+Y3R5cGUuYXR0cmlidXRlLT5h cyA9PSBydHlwZS0+Y3R5cGUuYXR0cmlidXRlLT5hcykgewogCQkJaWYgKGxiYXNlID09ICZ2b2lk X2N0eXBlKSB7CiAJCQkJcmlnaHQgPSBjYXN0X3RvKHJpZ2h0LCBsdHlwZSk7CkBAIC0xMTU4LDgg KzExNDcsNiBAQCBzdGF0aWMgc3RydWN0IHN5bWJvbCAqZXZhbHVhdGVfY29uZGl0aW9uYWxfZXhw cmVzc2lvbihzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwcikKIAkJCWdvdG8gRXJyOwogCQl9CiAJCS8q IE9LLCBpdCdzIHBvaW50ZXIgb24gcG9pbnRlciAqLwotCQljaGVja19zeW0obHR5cGUpOwotCQlj aGVja19zeW0ocnR5cGUpOwogCQlpZiAobHR5cGUtPmN0eXBlLmF0dHJpYnV0ZS0+YXMgIT0gcnR5 cGUtPmN0eXBlLmF0dHJpYnV0ZS0+YXMpIHsKIAkJCXR5cGVkaWZmID0gImRpZmZlcmVudCBhZGRy ZXNzIHNwYWNlcyI7CiAJCQlnb3RvIEVycjsKQEAgLTEzNTAsOCArMTMzNyw2IEBAIHN0YXRpYyBp bnQgY29tcGF0aWJsZV9hc3NpZ25tZW50X3R5cGVzKHN0cnVjdCBleHByZXNzaW9uICpleHByLCBz dHJ1Y3Qgc3ltYm9sICp0CiAJCQkgKiB3ZSBkbyBub3QgcmVtb3ZlIHF1YWxpZmllcnMgZnJvbSBw b2ludGVkIHRvIFtDXQogCQkJICogb3IgbWl4IGFkZHJlc3Mgc3BhY2VzIFtzcGFyc2VdLgogCQkJ ICovCi0JCQljaGVja19zeW0odCk7Ci0JCQljaGVja19zeW0ocyk7CiAJCQlpZiAodC0+Y3R5cGUu YXR0cmlidXRlLT5hcyAhPSBzLT5jdHlwZS5hdHRyaWJ1dGUtPmFzKSB7CiAJCQkJdHlwZWRpZmYg PSAiZGlmZmVyZW50IGFkZHJlc3Mgc3BhY2VzIjsKIAkJCQlnb3RvIEVycjsKQEAgLTE0NzgsMTIg KzE0NjMsMTAgQEAgc3RhdGljIHZvaWQgZXhhbWluZV9mbl9hcmd1bWVudHMoc3RydWN0IHN5bWJv bCAqZm4pCiAJCQkJCXB0ci0+Y3R5cGUgPSBhcmctPmN0eXBlOwogCQkJCWVsc2UKIAkJCQkJcHRy LT5jdHlwZS5iYXNlX3R5cGUgPSBhcmc7Ci0JCQkJY2hlY2tfc3ltKHMpOwogCQkJCW1lcmdlX2F0 dHIoJnB0ci0+Y3R5cGUsICZzLT5jdHlwZSk7CiAJCQkJcHRyLT5jdHlwZS5tb2RpZmllcnMgfD0g cy0+Y3R5cGUubW9kaWZpZXJzICYgTU9EX1BUUklOSEVSSVQ7CiAKIAkJCQlzLT5jdHlwZS5iYXNl X3R5cGUgPSBwdHI7Ci0JCQkJcy0+Y3R5cGUuYXMgPSAwOwogCQkJCXMtPmN0eXBlLmF0dHJpYnV0 ZSA9ICZudWxsX2F0dHI7CiAJCQkJcy0+Y3R5cGUubW9kaWZpZXJzICY9IH5NT0RfUFRSSU5IRVJJ VDsKIAkJCQlzLT5iaXRfc2l6ZSA9IDA7CkBAIC0xNTAyLDcgKzE0ODUsNiBAQCBzdGF0aWMgc3Ry dWN0IHN5bWJvbCAqY29udmVydF90b19hc19tb2Qoc3RydWN0IHN5bWJvbCAqc3ltLCBpbnQgYXMs IGludCBtb2QpCiB7CiAJLyogVGFrZSB0aGUgbW9kaWZpZXJzIG9mIHRoZSBwb2ludGVyLCBhbmQg YXBwbHkgdGhlbSB0byB0aGUgbWVtYmVyICovCiAJbW9kIHw9IHN5bS0+Y3R5cGUubW9kaWZpZXJz OwotCWNoZWNrX3N5bShzeW0pOwogCWlmIChzeW0tPmN0eXBlLmF0dHJpYnV0ZS0+YXMgIT0gYXMg fHwgc3ltLT5jdHlwZS5tb2RpZmllcnMgIT0gbW9kKSB7CiAJCXN0cnVjdCBzeW1ib2wgKm5ld3N5 bSA9IGFsbG9jX3N5bWJvbChzeW0tPnBvcywgU1lNX05PREUpOwogCQkqbmV3c3ltID0gKnN5bTsK QEAgLTE1MjYsNyArMTUwOCw2IEBAIHN0YXRpYyBzdHJ1Y3Qgc3ltYm9sICpjcmVhdGVfcG9pbnRl cihzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwciwgc3RydWN0IHN5bWJvbCAqc3ltCiAJbm9kZS0+Y3R5 cGUuYWxpZ25tZW50ID0gcG9pbnRlcl9hbGlnbm1lbnQ7CiAKIAlhY2Nlc3Nfc3ltYm9sKHN5bSk7 Ci0JY2hlY2tfc3ltKHN5bSk7CiAJaWYgKHN5bS0+Y3R5cGUubW9kaWZpZXJzICYgTU9EX1JFR0lT VEVSKSB7CiAJCXdhcm5pbmcoZXhwci0+cG9zLCAidGFraW5nIGFkZHJlc3Mgb2YgJ3JlZ2lzdGVy JyB2YXJpYWJsZSAnJXMnIiwgc2hvd19pZGVudChzeW0tPmlkZW50KSk7CiAJCXN5bS0+Y3R5cGUu bW9kaWZpZXJzICY9IH5NT0RfUkVHSVNURVI7CkBAIC0xOTE2LDEyICsxODk3LDEwIEBAIHN0YXRp YyBzdHJ1Y3Qgc3ltYm9sICpldmFsdWF0ZV9tZW1iZXJfZGVyZWZlcmVuY2Uoc3RydWN0IGV4cHJl c3Npb24gKmV4cHIpCiAKIAljdHlwZSA9IGRlcmVmLT5jdHlwZTsKIAlleGFtaW5lX3N5bWJvbF90 eXBlKGN0eXBlKTsKLQljaGVja19zeW0oY3R5cGUpOwogCWFkZHJlc3Nfc3BhY2UgPSBjdHlwZS0+ Y3R5cGUuYXR0cmlidXRlLT5hczsKIAltb2QgPSBjdHlwZS0+Y3R5cGUubW9kaWZpZXJzOwogCWlm IChjdHlwZS0+dHlwZSA9PSBTWU1fTk9ERSkgewogCQljdHlwZSA9IGN0eXBlLT5jdHlwZS5iYXNl X3R5cGU7Ci0JCWNoZWNrX3N5bShjdHlwZSk7CiAJCWFkZHJlc3Nfc3BhY2UgfD0gY3R5cGUtPmN0 eXBlLmF0dHJpYnV0ZS0+YXM7CiAJCW1vZCB8PSBjdHlwZS0+Y3R5cGUubW9kaWZpZXJzOwogCX0K QEAgLTI3MjgsNyArMjcwNyw2IEBAIHN0YXRpYyBzdHJ1Y3Qgc3ltYm9sICpldmFsdWF0ZV9jYXN0 KHN0cnVjdCBleHByZXNzaW9uICpleHByKQogCQlhczEgPSAtMTsKIAllbHNlIGlmIChjbGFzczEg PT0gVFlQRV9QVFIpIHsKIAkJZXhhbWluZV9wb2ludGVyX3RhcmdldCh0MSk7Ci0JCWNoZWNrX3N5 bSh0MSk7CiAJCWFzMSA9IHQxLT5jdHlwZS5hdHRyaWJ1dGUtPmFzOwogCX0KIApAQCAtMjczNiw3 ICsyNzE0LDYgQEAgc3RhdGljIHN0cnVjdCBzeW1ib2wgKmV2YWx1YXRlX2Nhc3Qoc3RydWN0IGV4 cHJlc3Npb24gKmV4cHIpCiAJCWFzMiA9IC0xOwogCWVsc2UgaWYgKGNsYXNzMiA9PSBUWVBFX1BU UikgewogCQlleGFtaW5lX3BvaW50ZXJfdGFyZ2V0KHQyKTsKLQkJY2hlY2tfc3ltKHQyKTsKIAkJ YXMyID0gdDItPmN0eXBlLmF0dHJpYnV0ZS0+YXM7CiAJfQogCmRpZmYgLS1naXQgYS9saW5lYXJp emUuYyBiL2xpbmVhcml6ZS5jCmluZGV4IDQyZGY1MjkuLmJlNTQ2YmUgMTAwNjQ0Ci0tLSBhL2xp bmVhcml6ZS5jCisrKyBiL2xpbmVhcml6ZS5jCkBAIC0xMjQwLDcgKzEyNDAsNiBAQCBzdGF0aWMg cHNldWRvX3QgbGluZWFyaXplX2NhbGxfZXhwcmVzc2lvbihzdHJ1Y3QgZW50cnlwb2ludCAqZXAs IHN0cnVjdCBleHByZXNzaQogCWFkZF9vbmVfaW5zbihlcCwgaW5zbik7CiAKIAlpZiAoY3R5cGUp IHsKLQkJY2hlY2tfYXR0cihjdHlwZSk7CiAJCUZPUl9FQUNIX1BUUihjdHlwZS0+YXR0cmlidXRl LT5jb250ZXh0cywgY29udGV4dCkgewogCQkJaW50IGluID0gY29udGV4dC0+aW47CiAJCQlpbnQg b3V0ID0gY29udGV4dC0+b3V0OwpkaWZmIC0tZ2l0IGEvcGFyc2UuYyBiL3BhcnNlLmMKaW5kZXgg ZmZkNmFkOC4uYzkwYmFlNiAxMDA2NDQKLS0tIGEvcGFyc2UuYworKysgYi9wYXJzZS5jCkBAIC0x MzYxLDcgKzEzNjEsNiBAQCBzdGF0aWMgdm9pZCBhcHBseV9jdHlwZShzdHJ1Y3QgcG9zaXRpb24g cG9zLCBzdHJ1Y3QgY3R5cGUgKnRoaXN0eXBlLCBzdHJ1Y3QgY3R5cAogCQljdHlwZS0+YWxpZ25t ZW50ID0gdGhpc3R5cGUtPmFsaWdubWVudDsKIAogCS8qIEF0dHJpYnV0ZSAqLwotCWNoZWNrX2F0 dHIodGhpc3R5cGUpOwogCW1lcmdlX2F0dHIoY3R5cGUsIHRoaXN0eXBlKTsKIH0KIApAQCAtMTcx MSwxMyArMTcxMCwxMCBAQCBzdGF0aWMgc3RydWN0IHRva2VuICpwb2ludGVyKHN0cnVjdCB0b2tl biAqdG9rZW4sIHN0cnVjdCBkZWNsX3N0YXRlICpjdHgpCiAJCXN0cnVjdCBzeW1ib2wgKnB0ciA9 IGFsbG9jX3N5bWJvbCh0b2tlbi0+cG9zLCBTWU1fUFRSKTsKIAkJcHRyLT5jdHlwZS5tb2RpZmll cnMgPSBjdHgtPmN0eXBlLm1vZGlmaWVyczsKIAkJcHRyLT5jdHlwZS5iYXNlX3R5cGUgPSBjdHgt PmN0eXBlLmJhc2VfdHlwZTsKLQkJY2hlY2tfYXR0cigmY3R4LT5jdHlwZSk7CiAJCW1lcmdlX2F0 dHIoJnB0ci0+Y3R5cGUsICZjdHgtPmN0eXBlKTsKIAkJY3R4LT5jdHlwZS5tb2RpZmllcnMgPSAw OwogCQljdHgtPmN0eXBlLmJhc2VfdHlwZSA9IHB0cjsKLQkJY3R4LT5jdHlwZS5hcyA9IDA7CiAJ CWN0eC0+Y3R5cGUuYXR0cmlidXRlID0gJm51bGxfYXR0cjsKLQkJY3R4LT5jdHlwZS5jb250ZXh0 cyA9IE5VTEw7CiAJCWN0eC0+Y3R5cGUuYWxpZ25tZW50ID0gMDsKIAogCQl0b2tlbiA9IGhhbmRs ZV9xdWFsaWZpZXJzKHRva2VuLT5uZXh0LCBjdHgpOwpkaWZmIC0tZ2l0IGEvc2hvdy1wYXJzZS5j IGIvc2hvdy1wYXJzZS5jCmluZGV4IGNhNjIzMmQuLjQ3ZTQ5MGIgMTAwNjQ0Ci0tLSBhL3Nob3ct cGFyc2UuYworKysgYi9zaG93LXBhcnNlLmMKQEAgLTU2LDcgKzU2LDYgQEAgc3RhdGljIHZvaWQg ZG9fZGVidWdfc3ltYm9sKHN0cnVjdCBzeW1ib2wgKnN5bSwgaW50IGluZGVudCkKIAogCWlmICgh c3ltKQogCQlyZXR1cm47Ci0JY2hlY2tfc3ltKHN5bSk7CiAJZnByaW50ZihzdGRlcnIsICIlLipz JXMlM2Q6JWx1ICVzICVzIChhczogJWQpICVwICglczolZDolZCkgJXNcbiIsCiAJCWluZGVudCwg aW5kZW50X3N0cmluZywgdHlwZXN0cltzeW0tPnR5cGVdLAogCQlzeW0tPmJpdF9zaXplLCBzeW0t PmN0eXBlLmFsaWdubWVudCwKQEAgLTY0LDcgKzYzLDYgQEAgc3RhdGljIHZvaWQgZG9fZGVidWdf c3ltYm9sKHN0cnVjdCBzeW1ib2wgKnN5bSwgaW50IGluZGVudCkKIAkJc3ltLCBzdHJlYW1fbmFt ZShzeW0tPnBvcy5zdHJlYW0pLCBzeW0tPnBvcy5saW5lLCBzeW0tPnBvcy5wb3MsCiAJCWJ1aWx0 aW5fdHlwZW5hbWUoc3ltKSA/OiAiIik7CiAJaSA9IDA7Ci0JY2hlY2tfc3ltKHN5bSk7CiAJRk9S X0VBQ0hfUFRSKHN5bS0+Y3R5cGUuYXR0cmlidXRlLT5jb250ZXh0cywgY29udGV4dCkgewogCQkv KiBGSVhNRTogc2hvdWxkIHByaW50IGNvbnRleHQgZXhwcmVzc2lvbiAqLwogCQlmcHJpbnRmKHN0 ZGVyciwgIjwgY29udGV4dCVkOiBpbj0lZCwgb3V0PSVkXG4iLApAQCAtMjk2LDcgKzI5NCw2IEBA IGRlZXBlcjoKIAkJZ290byBvdXQ7CiAJfQogCi0JY2hlY2tfc3ltKHN5bSk7CiAJLyogUHJlcGVu ZCAqLwogCXN3aXRjaCAoc3ltLT50eXBlKSB7CiAJY2FzZSBTWU1fUFRSOgpkaWZmIC0tZ2l0IGEv c3BhcnNlLmMgYi9zcGFyc2UuYwppbmRleCBmYWQxNmFkLi4zNTFlNDAwIDEwMDY0NAotLS0gYS9z cGFyc2UuYworKysgYi9zcGFyc2UuYwpAQCAtMjQ4LDcgKzI0OCw2IEBAIHN0YXRpYyB2b2lkIGNo ZWNrX2NvbnRleHQoc3RydWN0IGVudHJ5cG9pbnQgKmVwKQogCiAJY2hlY2tfaW5zdHJ1Y3Rpb25z KGVwKTsKIAotCWNoZWNrX3N5bShzeW0pOwogCUZPUl9FQUNIX1BUUihzeW0tPmN0eXBlLmF0dHJp YnV0ZS0+Y29udGV4dHMsIGNvbnRleHQpIHsKIAkJaW5fY29udGV4dCArPSBjb250ZXh0LT5pbjsK IAkJb3V0X2NvbnRleHQgKz0gY29udGV4dC0+b3V0OwpkaWZmIC0tZ2l0IGEvc3ltYm9sLmggYi9z eW1ib2wuaAppbmRleCAxOTJhOTU3Li42M2RjNTg3IDEwMDY0NAotLS0gYS9zeW1ib2wuaAorKysg Yi9zeW1ib2wuaApAQCAtOTAsOCArOTAsNiBAQCBzdHJ1Y3QgY3R5cGUgewogCXVuc2lnbmVkIGxv bmcgbW9kaWZpZXJzOwogCXVuc2lnbmVkIGxvbmcgYWxpZ25tZW50OwogCXN0cnVjdCBhdHRyaWJ1 dGUgKmF0dHJpYnV0ZTsKLQlzdHJ1Y3QgY29udGV4dF9saXN0ICpjb250ZXh0czsKLQl1bnNpZ25l ZCBpbnQgYXM7CiAJc3RydWN0IHN5bWJvbCAqYmFzZV90eXBlOwogfTsKIApAQCAtMzk5LDcgKzM5 Nyw2IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGF0dHJpYnV0ZSAqZHVwbGljYXRlX2F0dHJpYnV0 ZShzdHJ1Y3QgYXR0cmlidXRlICphdHRyKQogCiBzdGF0aWMgaW5saW5lIHZvaWQgYXR0cl9zZXRf YXMoc3RydWN0IGN0eXBlICpjdHlwZSwgdW5zaWduZWQgaW50IGFzKQogewotCWN0eXBlLT5hcyA9 IGFzOwogCWlmIChjdHlwZS0+YXR0cmlidXRlLT5hcyAhPSBhcykgewogCQljdHlwZS0+YXR0cmli dXRlID0gZHVwbGljYXRlX2F0dHJpYnV0ZShjdHlwZS0+YXR0cmlidXRlKTsKIAkJY3R5cGUtPmF0 dHJpYnV0ZS0+YXMgPSBhczsKQEAgLTQwOCwzNiArNDA1LDEzIEBAIHN0YXRpYyBpbmxpbmUgdm9p ZCBhdHRyX3NldF9hcyhzdHJ1Y3QgY3R5cGUgKmN0eXBlLCB1bnNpZ25lZCBpbnQgYXMpCiAKIHN0 YXRpYyBpbmxpbmUgdm9pZCBhdHRyX2FkZF9jb250ZXh0KHN0cnVjdCBjdHlwZSAqY3R5cGUsIHN0 cnVjdCBjb250ZXh0ICpjb250ZXh0KQogewotCWFkZF9wdHJfbGlzdCgmY3R5cGUtPmNvbnRleHRz LCBjb250ZXh0KTsKIAljdHlwZS0+YXR0cmlidXRlID0gZHVwbGljYXRlX2F0dHJpYnV0ZShjdHlw ZS0+YXR0cmlidXRlKTsKIAlhZGRfcHRyX2xpc3QoJmN0eXBlLT5hdHRyaWJ1dGUtPmNvbnRleHRz LCBjb250ZXh0KTsKIH0KIAotLyoKLSAqIENoZWNrIHRoZSBjdHlwZS5hcyBpcyBjb25zaXN0ZW50 IHdpdGggdGhlIGN0eXBlLmF0dHJpYnV0ZS4KLSAqIFRoaXMgZnVuY3Rpb24gd2lsbCBnZXQgcmVt b3ZlZCB3aXRoIGN0eXBlLmFzIGV2ZW50dWFsbHkuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBj aGVja19hdHRyKHN0cnVjdCBjdHlwZSAqY3R5cGUpCi17Ci0JaWYgKCFjdHlwZS0+YXR0cmlidXRl KQotCQlkaWUoIkVtcHR5IGF0dHJpYnV0ZSBvZiAlcFxuIiwgY3R5cGUpOwotCWlmIChjdHlwZS0+ YXMgIT0gY3R5cGUtPmF0dHJpYnV0ZS0+YXMpCi0JCWRpZSgiQXR0cmlidXRlIGFzIGRpZmZlcmVu Y2UgJWQgJWRcbiIsIGN0eXBlLT5hcywgY3R5cGUtPmF0dHJpYnV0ZS0+YXMpOwotCWlmIChjb250 ZXh0X2xpc3Rfc2l6ZShjdHlwZS0+Y29udGV4dHMpICE9IGNvbnRleHRfbGlzdF9zaXplKGN0eXBl LT5hdHRyaWJ1dGUtPmNvbnRleHRzKSkKLQkJZGllKCJBdHRyaWJ1dGUgY29udGV4dCBoYXMgZGlm ZmVyZW50IHNpemUgXG4iKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGNoZWNrX3N5bShzdHJ1 Y3Qgc3ltYm9sICpzeW0pCi17Ci0JY2hlY2tfYXR0cigmc3ltLT5jdHlwZSk7Ci19Ci0KIHN0YXRp YyBpbmxpbmUgdm9pZCBtZXJnZV9hdHRyKHN0cnVjdCBjdHlwZSAqZHN0LCBzdHJ1Y3QgY3R5cGUg KnNyYykKIHsKIAlzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwotCWRzdC0+YXMgfD0gc3JjLT5hczsK LQljb25jYXRfcHRyX2xpc3QoKHN0cnVjdCBwdHJfbGlzdCAqKXNyYy0+Y29udGV4dHMsCi0JCQko c3RydWN0IHB0cl9saXN0ICoqKSZkc3QtPmNvbnRleHRzKTsKIAogCWlmIChzcmMtPmF0dHJpYnV0 ZSA9PSAmbnVsbF9hdHRyKQogCQlyZXR1cm47Ci0tIAoxLjguMS4yCgo= --bcaec54ee608445f4404d6b65af2--