From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 1/4] sync_file: add a mutex to protect fence and callback members. (v3) Date: Mon, 20 Mar 2017 17:03:04 +1000 Message-ID: <20170320070307.18344-2-airlied@gmail.com> References: <20170320070307.18344-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170320070307.18344-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgcGF0Y2ggYWxsb3dz IHRoZSB1bmRlcmx5aW5nIGZlbmNlIGluIGEgc3luY19maWxlIHRvIGJlIGNoYW5nZWQKb3Igc2V0 IHRvIE5VTEwuIFRoaXMgaXNuJ3QgY3VycmVudGx5IHJlcXVpcmVkIGJ1dCBmb3IgVnVsa2FuCnNl bWFwaG9yZXMgd2UgbmVlZCB0byBiZSBhYmxlIHRvIHN3YXAgYW5kIHJlc2V0IHRoZSBmZW5jZS4K CkluIG9yZGVyIHRvIGZhY2lsaWF0ZSB0aGlzLCBpdCB1c2VzIHJjdSB0byBwcm90ZWN0IHRoZSBm ZW5jZSwKYWxvbmcgd2l0aCBhIG5ldyBtdXRleC4gVGhlIG11dGV4IGFsc28gcHJvdGVjdHMgdGhl IGNhbGxiYWNrLgpJdCBhbHNvIGNoZWNrcyBmb3IgTlVMTCB3aGVuIHJldHJpZXZpbmcgdGhlIHJj dSBwcm90ZWN0ZWQKZmVuY2UgaW4gY2FzZSBpdCBoYXMgYmVlbiByZXNldC4KCnYxLjE6IGZpeCB0 aGUgbG9ja2luZyAoSnVsaWEgTGF3YWxsKS4KdjI6IHVzZSByY3UgdHJ5IG9uZQp2MzogZml4IHBv bGwgdG8gdXNlIHByb3BlciByY3UsIGZpeHVwIG1lcmdlL2ZpbGwgaW9jdGxzCnRvIG5vdCBjcmFz aCBvbiBOVUxMIGZlbmNlIGNhc2VzLgoKU2lnbmVkLW9mZi1ieTogRGF2ZSBBaXJsaWUgPGFpcmxp ZWRAcmVkaGF0LmNvbT4KLS0tCiBkcml2ZXJzL2RtYS1idWYvc3luY19maWxlLmMgfCAxMTIgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIGluY2x1ZGUvbGludXgv c3luY19maWxlLmggICB8ICAgNSArLQogMiBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCsp LCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvc3luY19maWxl LmMgYi9kcml2ZXJzL2RtYS1idWYvc3luY19maWxlLmMKaW5kZXggMjMyMTAzNS4uZGNiYTkzMSAx MDA2NDQKLS0tIGEvZHJpdmVycy9kbWEtYnVmL3N5bmNfZmlsZS5jCisrKyBiL2RyaXZlcnMvZG1h LWJ1Zi9zeW5jX2ZpbGUuYwpAQCAtMjgsNiArMjgsMTAgQEAKIAogc3RhdGljIGNvbnN0IHN0cnVj dCBmaWxlX29wZXJhdGlvbnMgc3luY19maWxlX2ZvcHM7CiAKKyNkZWZpbmUgc3luY19maWxlX2hl bGQob2JqKSBsb2NrZGVwX2lzX2hlbGQoJihvYmopLT5sb2NrKQorI2RlZmluZSBzeW5jX2ZpbGVf YXNzZXJ0X2hlbGQob2JqKSBcCisJbG9ja2RlcF9hc3NlcnRfaGVsZCgmKG9iaiktPmxvY2spCisK IHN0YXRpYyBzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGVfYWxsb2Modm9pZCkKIHsKIAlzdHJ1 Y3Qgc3luY19maWxlICpzeW5jX2ZpbGU7CkBAIC00Nyw2ICs1MSw5IEBAIHN0YXRpYyBzdHJ1Y3Qg c3luY19maWxlICpzeW5jX2ZpbGVfYWxsb2Modm9pZCkKIAogCUlOSVRfTElTVF9IRUFEKCZzeW5j X2ZpbGUtPmNiLm5vZGUpOwogCisJUkNVX0lOSVRfUE9JTlRFUihzeW5jX2ZpbGUtPmZlbmNlLCBO VUxMKTsKKworCW11dGV4X2luaXQoJnN5bmNfZmlsZS0+bG9jayk7CiAJcmV0dXJuIHN5bmNfZmls ZTsKIAogZXJyOgpAQCAtODAsNyArODcsOSBAQCBzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGVf Y3JlYXRlKHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQogCWlmICghc3luY19maWxlKQogCQlyZXR1 cm4gTlVMTDsKIAotCXN5bmNfZmlsZS0+ZmVuY2UgPSBkbWFfZmVuY2VfZ2V0KGZlbmNlKTsKKwlk bWFfZmVuY2VfZ2V0KGZlbmNlKTsKKworCVJDVV9JTklUX1BPSU5URVIoc3luY19maWxlLT5mZW5j ZSwgZmVuY2UpOwogCiAJc25wcmludGYoc3luY19maWxlLT5uYW1lLCBzaXplb2Yoc3luY19maWxl LT5uYW1lKSwgIiVzLSVzJWxsdS0lZCIsCiAJCSBmZW5jZS0+b3BzLT5nZXRfZHJpdmVyX25hbWUo ZmVuY2UpLApAQCAtMTI0LDEzICsxMzMsMjYgQEAgc3RydWN0IGRtYV9mZW5jZSAqc3luY19maWxl X2dldF9mZW5jZShpbnQgZmQpCiAJaWYgKCFzeW5jX2ZpbGUpCiAJCXJldHVybiBOVUxMOwogCi0J ZmVuY2UgPSBkbWFfZmVuY2VfZ2V0KHN5bmNfZmlsZS0+ZmVuY2UpOworCWlmICghcmN1X2FjY2Vz c19wb2ludGVyKHN5bmNfZmlsZS0+ZmVuY2UpKQorCQlyZXR1cm4gTlVMTDsKKworCXJjdV9yZWFk X2xvY2soKTsKKwlmZW5jZSA9IGRtYV9mZW5jZV9nZXRfcmN1X3NhZmUoJnN5bmNfZmlsZS0+ZmVu Y2UpOworCXJjdV9yZWFkX3VubG9jaygpOworCiAJZnB1dChzeW5jX2ZpbGUtPmZpbGUpOwogCiAJ cmV0dXJuIGZlbmNlOwogfQogRVhQT1JUX1NZTUJPTChzeW5jX2ZpbGVfZ2V0X2ZlbmNlKTsKIAor c3RhdGljIGlubGluZSBzdHJ1Y3QgZG1hX2ZlbmNlICoKK3N5bmNfZmlsZV9nZXRfZmVuY2VfbG9j a2VkKHN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZSkKK3sKKwlyZXR1cm4gcmN1X2RlcmVmZXJl bmNlX3Byb3RlY3RlZChzeW5jX2ZpbGUtPmZlbmNlLAorCQkJCQkgc3luY19maWxlX2hlbGQoc3lu Y19maWxlKSk7Cit9CisKIHN0YXRpYyBpbnQgc3luY19maWxlX3NldF9mZW5jZShzdHJ1Y3Qgc3lu Y19maWxlICpzeW5jX2ZpbGUsCiAJCQkgICAgICAgc3RydWN0IGRtYV9mZW5jZSAqKmZlbmNlcywg aW50IG51bV9mZW5jZXMpCiB7CkBAIC0xNDMsNyArMTY1LDcgQEAgc3RhdGljIGludCBzeW5jX2Zp bGVfc2V0X2ZlbmNlKHN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZSwKIAkgKiB3ZSBvd24gdGhl IHJlZmVyZW5jZSBvZiB0aGUgZG1hX2ZlbmNlX2FycmF5IGNyZWF0aW9uLgogCSAqLwogCWlmIChu dW1fZmVuY2VzID09IDEpIHsKLQkJc3luY19maWxlLT5mZW5jZSA9IGZlbmNlc1swXTsKKwkJUkNV X0lOSVRfUE9JTlRFUihzeW5jX2ZpbGUtPmZlbmNlLCBmZW5jZXNbMF0pOwogCQlrZnJlZShmZW5j ZXMpOwogCX0gZWxzZSB7CiAJCWFycmF5ID0gZG1hX2ZlbmNlX2FycmF5X2NyZWF0ZShudW1fZmVu Y2VzLCBmZW5jZXMsCkBAIC0xNTIsMTcgKzE3NCwyNSBAQCBzdGF0aWMgaW50IHN5bmNfZmlsZV9z ZXRfZmVuY2Uoc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlLAogCQlpZiAoIWFycmF5KQogCQkJ cmV0dXJuIC1FTk9NRU07CiAKLQkJc3luY19maWxlLT5mZW5jZSA9ICZhcnJheS0+YmFzZTsKKwkJ UkNVX0lOSVRfUE9JTlRFUihzeW5jX2ZpbGUtPmZlbmNlLCAmYXJyYXktPmJhc2UpOwogCX0KIAog CXJldHVybiAwOwogfQogCisvKiBtdXN0IGJlIGNhbGxlZCB3aXRoIHN5bmNfZmlsZSBsb2NrIHRh a2VuICovCiBzdGF0aWMgc3RydWN0IGRtYV9mZW5jZSAqKmdldF9mZW5jZXMoc3RydWN0IHN5bmNf ZmlsZSAqc3luY19maWxlLAogCQkJCSAgICAgaW50ICpudW1fZmVuY2VzKQogewotCWlmIChkbWFf ZmVuY2VfaXNfYXJyYXkoc3luY19maWxlLT5mZW5jZSkpIHsKLQkJc3RydWN0IGRtYV9mZW5jZV9h cnJheSAqYXJyYXkgPSB0b19kbWFfZmVuY2VfYXJyYXkoc3luY19maWxlLT5mZW5jZSk7CisJc3Ry dWN0IGRtYV9mZW5jZSAqZmVuY2UgPSBzeW5jX2ZpbGVfZ2V0X2ZlbmNlX2xvY2tlZChzeW5jX2Zp bGUpOworCisJaWYgKCFmZW5jZSkgeworCQkqbnVtX2ZlbmNlcyA9IDA7CisJCXJldHVybiBOVUxM OworCX0KKworCWlmIChkbWFfZmVuY2VfaXNfYXJyYXkoZmVuY2UpKSB7CisJCXN0cnVjdCBkbWFf ZmVuY2VfYXJyYXkgKmFycmF5ID0gdG9fZG1hX2ZlbmNlX2FycmF5KGZlbmNlKTsKIAogCQkqbnVt X2ZlbmNlcyA9IGFycmF5LT5udW1fZmVuY2VzOwogCQlyZXR1cm4gYXJyYXktPmZlbmNlczsKQEAg LTIwNCwxMCArMjM0LDE2IEBAIHN0YXRpYyBzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGVfbWVy Z2UoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHN5bmNfZmlsZSAqYSwKIAlpZiAoIXN5bmNfZmls ZSkKIAkJcmV0dXJuIE5VTEw7CiAKKwltdXRleF9sb2NrKCZhLT5sb2NrKTsKKwltdXRleF9sb2Nr KCZiLT5sb2NrKTsKIAlhX2ZlbmNlcyA9IGdldF9mZW5jZXMoYSwgJmFfbnVtX2ZlbmNlcyk7CiAJ Yl9mZW5jZXMgPSBnZXRfZmVuY2VzKGIsICZiX251bV9mZW5jZXMpOwotCWlmIChhX251bV9mZW5j ZXMgPiBJTlRfTUFYIC0gYl9udW1fZmVuY2VzKQotCQlyZXR1cm4gTlVMTDsKKwlpZiAoIWFfbnVt X2ZlbmNlcyB8fCAhYl9udW1fZmVuY2VzKQorCQlnb3RvIHVubG9jazsKKworCWlmIChhX251bV9m ZW5jZXMgPiBJTlRfTUFYIC0gYl9udW1fZmVuY2VzKSB7CisJCWdvdG8gdW5sb2NrOworCX0KIAog CW51bV9mZW5jZXMgPSBhX251bV9mZW5jZXMgKyBiX251bV9mZW5jZXM7CiAKQEAgLTI2OCwxMSAr MzA0LDE3IEBAIHN0YXRpYyBzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGVfbWVyZ2UoY29uc3Qg Y2hhciAqbmFtZSwgc3RydWN0IHN5bmNfZmlsZSAqYSwKIAkJZ290byBlcnI7CiAJfQogCisJbXV0 ZXhfdW5sb2NrKCZiLT5sb2NrKTsKKwltdXRleF91bmxvY2soJmEtPmxvY2spOworCiAJc3RybGNw eShzeW5jX2ZpbGUtPm5hbWUsIG5hbWUsIHNpemVvZihzeW5jX2ZpbGUtPm5hbWUpKTsKIAlyZXR1 cm4gc3luY19maWxlOwogCiBlcnI6CiAJZnB1dChzeW5jX2ZpbGUtPmZpbGUpOwordW5sb2NrOgor CW11dGV4X3VubG9jaygmYi0+bG9jayk7CisJbXV0ZXhfdW5sb2NrKCZhLT5sb2NrKTsKIAlyZXR1 cm4gTlVMTDsKIAogfQpAQCAtMjgxLDEwICszMjMsMTUgQEAgc3RhdGljIHZvaWQgc3luY19maWxl X2ZyZWUoc3RydWN0IGtyZWYgKmtyZWYpCiB7CiAJc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxl ID0gY29udGFpbmVyX29mKGtyZWYsIHN0cnVjdCBzeW5jX2ZpbGUsCiAJCQkJCQkgICAgIGtyZWYp OworCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOworCisJZmVuY2UgPSByY3VfZGVyZWZlcmVuY2Vf cHJvdGVjdGVkKHN5bmNfZmlsZS0+ZmVuY2UsIDEpOworCWlmIChmZW5jZSkgeworCQlpZiAodGVz dF9iaXQoUE9MTF9FTkFCTEVELCAmZmVuY2UtPmZsYWdzKSkKKwkJCWRtYV9mZW5jZV9yZW1vdmVf Y2FsbGJhY2soZmVuY2UsICZzeW5jX2ZpbGUtPmNiKTsKKwkJZG1hX2ZlbmNlX3B1dChmZW5jZSk7 CisJfQogCi0JaWYgKHRlc3RfYml0KFBPTExfRU5BQkxFRCwgJnN5bmNfZmlsZS0+ZmVuY2UtPmZs YWdzKSkKLQkJZG1hX2ZlbmNlX3JlbW92ZV9jYWxsYmFjayhzeW5jX2ZpbGUtPmZlbmNlLCAmc3lu Y19maWxlLT5jYik7Ci0JZG1hX2ZlbmNlX3B1dChzeW5jX2ZpbGUtPmZlbmNlKTsKIAlrZnJlZShz eW5jX2ZpbGUpOwogfQogCkBAIC0yOTksMTYgKzM0NiwyNSBAQCBzdGF0aWMgaW50IHN5bmNfZmls ZV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogc3RhdGlj IHVuc2lnbmVkIGludCBzeW5jX2ZpbGVfcG9sbChzdHJ1Y3QgZmlsZSAqZmlsZSwgcG9sbF90YWJs ZSAqd2FpdCkKIHsKIAlzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGUgPSBmaWxlLT5wcml2YXRl X2RhdGE7CisJdW5zaWduZWQgaW50IHJldF92YWwgPSAwOworCXN0cnVjdCBkbWFfZmVuY2UgKmZl bmNlOwogCiAJcG9sbF93YWl0KGZpbGUsICZzeW5jX2ZpbGUtPndxLCB3YWl0KTsKIAotCWlmICgh dGVzdF9hbmRfc2V0X2JpdChQT0xMX0VOQUJMRUQsICZzeW5jX2ZpbGUtPmZlbmNlLT5mbGFncykp IHsKLQkJaWYgKGRtYV9mZW5jZV9hZGRfY2FsbGJhY2soc3luY19maWxlLT5mZW5jZSwgJnN5bmNf ZmlsZS0+Y2IsCi0JCQkJCSAgIGZlbmNlX2NoZWNrX2NiX2Z1bmMpIDwgMCkKLQkJCXdha2VfdXBf YWxsKCZzeW5jX2ZpbGUtPndxKTsKKwltdXRleF9sb2NrKCZzeW5jX2ZpbGUtPmxvY2spOworCisJ ZmVuY2UgPSBzeW5jX2ZpbGVfZ2V0X2ZlbmNlX2xvY2tlZChzeW5jX2ZpbGUpOworCWlmIChmZW5j ZSkgeworCQlpZiAoIXRlc3RfYW5kX3NldF9iaXQoUE9MTF9FTkFCTEVELCAmZmVuY2UtPmZsYWdz KSkgeworCQkJaWYgKGRtYV9mZW5jZV9hZGRfY2FsbGJhY2soZmVuY2UsICZzeW5jX2ZpbGUtPmNi LAorCQkJCQkJICAgZmVuY2VfY2hlY2tfY2JfZnVuYykgPCAwKQorCQkJCXdha2VfdXBfYWxsKCZz eW5jX2ZpbGUtPndxKTsKKwkJfQorCQlyZXRfdmFsID0gZG1hX2ZlbmNlX2lzX3NpZ25hbGVkKGZl bmNlKSA/IFBPTExJTiA6IDA7CiAJfQorCW11dGV4X3VubG9jaygmc3luY19maWxlLT5sb2NrKTsK IAotCXJldHVybiBkbWFfZmVuY2VfaXNfc2lnbmFsZWQoc3luY19maWxlLT5mZW5jZSkgPyBQT0xM SU4gOiAwOworCXJldHVybiByZXRfdmFsOwogfQogCiBzdGF0aWMgbG9uZyBzeW5jX2ZpbGVfaW9j dGxfbWVyZ2Uoc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlLApAQCAtMzkzLDggKzQ0OSwxMyBA QCBzdGF0aWMgbG9uZyBzeW5jX2ZpbGVfaW9jdGxfZmVuY2VfaW5mbyhzdHJ1Y3Qgc3luY19maWxl ICpzeW5jX2ZpbGUsCiAJaWYgKGluZm8uZmxhZ3MgfHwgaW5mby5wYWQpCiAJCXJldHVybiAtRUlO VkFMOwogCisJbXV0ZXhfbG9jaygmc3luY19maWxlLT5sb2NrKTsKIAlmZW5jZXMgPSBnZXRfZmVu Y2VzKHN5bmNfZmlsZSwgJm51bV9mZW5jZXMpOwogCisJLyogaWYgdGhlcmUgYXJlIG5vIGZlbmNl cyBpbiB0aGUgc3luY19maWxlIGp1c3QgcmV0dXJuICovCisJaWYgKCFudW1fZmVuY2VzKQorCQln b3RvIG5vX2ZlbmNlczsKKwogCS8qCiAJICogUGFzc2luZyBudW1fZmVuY2VzID0gMCBtZWFucyB0 aGF0IHVzZXJzcGFjZSBkb2Vzbid0IHdhbnQgdG8KIAkgKiByZXRyaWV2ZSBhbnkgc3luY19mZW5j ZV9pbmZvLiBJZiBudW1fZmVuY2VzID0gMCB3ZSBza2lwIGZpbGxpbmcKQEAgLTQwNCwxMyArNDY1 LDE3IEBAIHN0YXRpYyBsb25nIHN5bmNfZmlsZV9pb2N0bF9mZW5jZV9pbmZvKHN0cnVjdCBzeW5j X2ZpbGUgKnN5bmNfZmlsZSwKIAlpZiAoIWluZm8ubnVtX2ZlbmNlcykKIAkJZ290byBub19mZW5j ZXM7CiAKLQlpZiAoaW5mby5udW1fZmVuY2VzIDwgbnVtX2ZlbmNlcykKLQkJcmV0dXJuIC1FSU5W QUw7CisJaWYgKGluZm8ubnVtX2ZlbmNlcyA8IG51bV9mZW5jZXMpIHsKKwkJcmV0ID0gLUVJTlZB TDsKKwkJZ290byBvdXQ7CisJfQogCiAJc2l6ZSA9IG51bV9mZW5jZXMgKiBzaXplb2YoKmZlbmNl X2luZm8pOwogCWZlbmNlX2luZm8gPSBremFsbG9jKHNpemUsIEdGUF9LRVJORUwpOwotCWlmICgh ZmVuY2VfaW5mbykKLQkJcmV0dXJuIC1FTk9NRU07CisJaWYgKCFmZW5jZV9pbmZvKSB7CisJCXJl dCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OworCX0KIAogCWZvciAoaSA9IDA7IGkgPCBudW1fZmVu Y2VzOyBpKyspCiAJCXN5bmNfZmlsbF9mZW5jZV9pbmZvKGZlbmNlc1tpXSwgJmZlbmNlX2luZm9b aV0pOwpAQCAtNDIzLDcgKzQ4OCwxMCBAQCBzdGF0aWMgbG9uZyBzeW5jX2ZpbGVfaW9jdGxfZmVu Y2VfaW5mbyhzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGUsCiAKIG5vX2ZlbmNlczoKIAlzdHJs Y3B5KGluZm8ubmFtZSwgc3luY19maWxlLT5uYW1lLCBzaXplb2YoaW5mby5uYW1lKSk7Ci0JaW5m by5zdGF0dXMgPSBkbWFfZmVuY2VfaXNfc2lnbmFsZWQoc3luY19maWxlLT5mZW5jZSk7CisJaWYg KG51bV9mZW5jZXMpCisJCWluZm8uc3RhdHVzID0gZG1hX2ZlbmNlX2lzX3NpZ25hbGVkKHN5bmNf ZmlsZS0+ZmVuY2UpOworCWVsc2UKKwkJaW5mby5zdGF0dXMgPSAtRU5PRU5UOwogCWluZm8ubnVt X2ZlbmNlcyA9IG51bV9mZW5jZXM7CiAKIAlpZiAoY29weV90b191c2VyKCh2b2lkIF9fdXNlciAq KWFyZywgJmluZm8sIHNpemVvZihpbmZvKSkpCkBAIC00MzMsNyArNTAxLDcgQEAgc3RhdGljIGxv bmcgc3luY19maWxlX2lvY3RsX2ZlbmNlX2luZm8oc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxl LAogCiBvdXQ6CiAJa2ZyZWUoZmVuY2VfaW5mbyk7Ci0KKwltdXRleF91bmxvY2soJnN5bmNfZmls ZS0+bG9jayk7CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9z eW5jX2ZpbGUuaCBiL2luY2x1ZGUvbGludXgvc3luY19maWxlLmgKaW5kZXggM2UzYWI4NC4uMDA2 NDEyZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zeW5jX2ZpbGUuaAorKysgYi9pbmNsdWRl L2xpbnV4L3N5bmNfZmlsZS5oCkBAIC0zMCw2ICszMCw3IEBACiAgKiBAd3E6CQkJd2FpdCBxdWV1 ZSBmb3IgZmVuY2Ugc2lnbmFsaW5nCiAgKiBAZmVuY2U6CQlmZW5jZSB3aXRoIHRoZSBmZW5jZXMg aW4gdGhlIHN5bmNfZmlsZQogICogQGNiOgkJCWZlbmNlIGNhbGxiYWNrIGluZm9ybWF0aW9uCisg KiBAbG9jazogICAgICAgICAgICAgICBtdXRleCB0byBwcm90ZWN0IGZlbmNlL2NiIC0gdXNlZCBm b3Igc2VtYXBob3JlcwogICovCiBzdHJ1Y3Qgc3luY19maWxlIHsKIAlzdHJ1Y3QgZmlsZQkJKmZp bGU7CkBAIC00MSw4ICs0MiwxMCBAQCBzdHJ1Y3Qgc3luY19maWxlIHsKIAogCXdhaXRfcXVldWVf aGVhZF90CXdxOwogCi0Jc3RydWN0IGRtYV9mZW5jZQkqZmVuY2U7CisJc3RydWN0IGRtYV9mZW5j ZSBfX3JjdQkqZmVuY2U7CiAJc3RydWN0IGRtYV9mZW5jZV9jYiBjYjsKKwkvKiBwcm90ZWN0cyB0 aGUgZmVuY2UgcG9pbnRlciBhbmQgY2IgKi8KKwlzdHJ1Y3QgbXV0ZXggbG9jazsKIH07CiAKICNk ZWZpbmUgUE9MTF9FTkFCTEVEIERNQV9GRU5DRV9GTEFHX1VTRVJfQklUUwotLSAKMi43LjQKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFp bGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=