From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: [PATCH 73/75] net: move skb frag kmap functions to skbuff.h Date: Fri, 19 Aug 2011 14:27:45 +0100 Message-ID: <1313760467-8598-73-git-send-email-ian.campbell@citrix.com> References: <1313760393.5010.356.camel@zakaz.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Ian Campbell , Eric Dumazet , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, "James E.J. Bottomley" , =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= , devel-s9riP+hp16TNLxjTenLetw@public.gmane.org, Arnaldo Carvalho de Melo , linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, "David S. Miller" , Tom Herbert To: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Return-path: In-Reply-To: <1313760393.5010.356.camel-o4Be2W7LfRlXesXXhkcM7miJhflN2719@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: devel-bounces-s9riP+hp16TNLxjTenLetw@public.gmane.org Errors-To: devel-bounces-s9riP+hp16TNLxjTenLetw@public.gmane.org List-Id: netdev.vger.kernel.org VGhlIHVzYWdlIGlzIG9wZW4tY29kZWQgaW4gZHJpdmVycy9zY3NpL2Zjb2UvZmNvZS5jIGFuZCBu ZXQvYXBwbGV0YWxrL2RkcC5jCnVzZXMgYW4gb3V0LW9mLWRpcmVjdG9yeSBsb2NhbCBpbmNsdWRl IG9mICIuLi9jb3JlL2ttYXBfc2tiLmgiLgoKUmVuYW1lIGZ1bmN0aW9ucyBrKHVuKW1hcF9za2Jf ZnJhZyB0byBza2JfZnJhZ19rKHVuKW1hcF9hdG9taWMgdG8gYXZvaWQKY29uZnVzaW9uIHdpdGgg c2hvcnRseSB0byBiZSBpbnRyb2R1Y2VkIHNrYl9mcmFnX2sodW4pbWFwLgoKU2lnbmVkLW9mZi1i eTogSWFuIENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KQ2M6IFJvYmVydCBMb3Zl IDxyb2JlcnQudy5sb3ZlQGludGVsLmNvbT4KQ2M6ICJKYW1lcyBFLkouIEJvdHRvbWxleSIgPEpC b3R0b21sZXlAcGFyYWxsZWxzLmNvbT4KQ2M6IEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyA8YWNt ZUBnaG9zdHByb3RvY29scy5uZXQ+CkNjOiAiRGF2aWQgUy4gTWlsbGVyIiA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KQ2M6IEVyaWMgRHVtYXpldCA8ZXJpYy5kdW1hemV0QGdtYWlsLmNvbT4KQ2M6ICJN aWNoYcWCIE1pcm9zxYJhdyIgPG1pcnEtbGludXhAcmVyZS5xbXFtLnBsPgpDYzogVG9tIEhlcmJl cnQgPHRoZXJiZXJ0QGdvb2dsZS5jb20+CkNjOiBkZXZlbEBvcGVuLWZjb2Uub3JnCkNjOiBsaW51 eC1zY3NpQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwpD YzogbmV0ZGV2QHZnZXIua2VybmVsLm9yZwotLS0KIGRyaXZlcnMvc2NzaS9mY29lL2Zjb2UuYyB8 ICAgIDUgKystLS0KIGluY2x1ZGUvbGludXgvc2tidWZmLmggICB8ICAgMTkgKysrKysrKysrKysr KysrKysrKwogbmV0L2FwcGxldGFsay9kZHAuYyAgICAgIHwgICAgNSArKy0tLQogbmV0L2NvcmUv a21hcF9za2IuaCAgICAgIHwgICAxOSAtLS0tLS0tLS0tLS0tLS0tLS0tCiBuZXQvY29yZS9za2J1 ZmYuYyAgICAgICAgfCAgIDM1ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiA1 IGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQogZGVsZXRl IG1vZGUgMTAwNjQ0IG5ldC9jb3JlL2ttYXBfc2tiLmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Nj c2kvZmNvZS9mY29lLmMgYi9kcml2ZXJzL3Njc2kvZmNvZS9mY29lLmMKaW5kZXggMzQxNmFiNi4u ODU3ZTI4MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2Zjb2UvZmNvZS5jCisrKyBiL2RyaXZl cnMvc2NzaS9mY29lL2Zjb2UuYwpAQCAtMTUxNCw4ICsxNTE0LDcgQEAgaW50IGZjb2VfeG1pdChz dHJ1Y3QgZmNfbHBvcnQgKmxwb3J0LCBzdHJ1Y3QgZmNfZnJhbWUgKmZwKQogCQkJcmV0dXJuIC1F Tk9NRU07CiAJCX0KIAkJZnJhZyA9ICZza2Jfc2hpbmZvKHNrYiktPmZyYWdzW3NrYl9zaGluZm8o c2tiKS0+bnJfZnJhZ3MgLSAxXTsKLQkJY3AgPSBrbWFwX2F0b21pYyhza2JfZnJhZ19wYWdlKGZy YWcpLCBLTV9TS0JfREFUQV9TT0ZUSVJRKQotCQkJKyBmcmFnLT5wYWdlX29mZnNldDsKKwkJY3Ag PSBza2JfZnJhZ19rbWFwX2F0b21pYyhmcmFnKSArIGZyYWctPnBhZ2Vfb2Zmc2V0OwogCX0gZWxz ZSB7CiAJCWNwID0gKHN0cnVjdCBmY29lX2NyY19lb2YgKilza2JfcHV0KHNrYiwgdGxlbik7CiAJ fQpAQCAtMTUyNSw3ICsxNTI0LDcgQEAgaW50IGZjb2VfeG1pdChzdHJ1Y3QgZmNfbHBvcnQgKmxw b3J0LCBzdHJ1Y3QgZmNfZnJhbWUgKmZwKQogCWNwLT5mY29lX2NyYzMyID0gY3B1X3RvX2xlMzIo fmNyYyk7CiAKIAlpZiAoc2tiX2lzX25vbmxpbmVhcihza2IpKSB7Ci0JCWt1bm1hcF9hdG9taWMo Y3AsIEtNX1NLQl9EQVRBX1NPRlRJUlEpOworCQlza2JfZnJhZ19rdW5tYXBfYXRvbWljKGZyYWcp OwogCQljcCA9IE5VTEw7CiAJfQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NrYnVmZi5o IGIvaW5jbHVkZS9saW51eC9za2J1ZmYuaAppbmRleCA2NjVhODgxLi43M2Q4ZjdhIDEwMDY0NAot LS0gYS9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oCisrKyBiL2luY2x1ZGUvbGludXgvc2tidWZmLmgK QEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgogI2luY2x1ZGUg PGxpbnV4L2RtYWVuZ2luZS5oPgogI2luY2x1ZGUgPGxpbnV4L2hydGltZXIuaD4KKyNpbmNsdWRl IDxsaW51eC9oaWdobWVtLmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KIAogLyog RG9uJ3QgY2hhbmdlIHRoaXMgd2l0aG91dCBjaGFuZ2luZyBza2JfY3N1bV91bm5lY2Vzc2FyeSEg Ki8KQEAgLTE4MTksNiArMTgyMCwyNCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2tiX2ZyYWdfc2V0 X3BhZ2Uoc3RydWN0IHNrX2J1ZmYgKnNrYiwgaW50IGYsCiAJX19za2JfZnJhZ19zZXRfcGFnZSgm c2tiX3NoaW5mbyhza2IpLT5mcmFnc1tmXSwgcGFnZSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9p ZCAqc2tiX2ZyYWdfa21hcF9hdG9taWMoY29uc3Qgc2tiX2ZyYWdfdCAqZnJhZykKK3sKKyNpZmRl ZiBDT05GSUdfSElHSE1FTQorCUJVR19PTihpbl9pcnEoKSk7CisKKwlsb2NhbF9iaF9kaXNhYmxl KCk7CisjZW5kaWYKKwlyZXR1cm4ga21hcF9hdG9taWMoc2tiX2ZyYWdfcGFnZShmcmFnKSwgS01f U0tCX0RBVEFfU09GVElSUSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBza2JfZnJhZ19rdW5t YXBfYXRvbWljKHZvaWQgKnZhZGRyKQoreworCWt1bm1hcF9hdG9taWModmFkZHIsIEtNX1NLQl9E QVRBX1NPRlRJUlEpOworI2lmZGVmIENPTkZJR19ISUdITUVNCisJbG9jYWxfYmhfZW5hYmxlKCk7 CisjZW5kaWYKK30KKwogLyoqCiAgKiBza2JfZnJhZ19kbWFfbWFwIC0gbWFwcyBhIHBhZ2VkIGZy YWdtZW50IHZpYSB0aGUgRE1BIEFQSQogICogQGRldmljZTogdGhlIGRldmljZSB0byBtYXAgdGhl IGZyYWdtZW50IHRvCmRpZmYgLS1naXQgYS9uZXQvYXBwbGV0YWxrL2RkcC5jIGIvbmV0L2FwcGxl dGFsay9kZHAuYwppbmRleCBiMWZlN2MzLi40YTFiMmJjIDEwMDY0NAotLS0gYS9uZXQvYXBwbGV0 YWxrL2RkcC5jCisrKyBiL25ldC9hcHBsZXRhbGsvZGRwLmMKQEAgLTYzLDcgKzYzLDYgQEAKICNp bmNsdWRlIDxuZXQvdGNwX3N0YXRlcy5oPgogI2luY2x1ZGUgPG5ldC9yb3V0ZS5oPgogI2luY2x1 ZGUgPGxpbnV4L2F0YWxrLmg+Ci0jaW5jbHVkZSAiLi4vY29yZS9rbWFwX3NrYi5oIgogCiBzdHJ1 Y3QgZGF0YWxpbmtfcHJvdG8gKmRkcF9kbCwgKmFhcnBfZGw7CiBzdGF0aWMgY29uc3Qgc3RydWN0 IHByb3RvX29wcyBhdGFsa19kZ3JhbV9vcHM7CkBAIC05NjEsMTAgKzk2MCwxMCBAQCBzdGF0aWMg dW5zaWduZWQgbG9uZyBhdGFsa19zdW1fc2tiKGNvbnN0IHN0cnVjdCBza19idWZmICpza2IsIGlu dCBvZmZzZXQsCiAKIAkJCWlmIChjb3B5ID4gbGVuKQogCQkJCWNvcHkgPSBsZW47Ci0JCQl2YWRk ciA9IGttYXBfc2tiX2ZyYWcoZnJhZyk7CisJCQl2YWRkciA9IHNrYl9mcmFnX2ttYXBfYXRvbWlj KGZyYWcpOwogCQkJc3VtID0gYXRhbGtfc3VtX3BhcnRpYWwodmFkZHIgKyBmcmFnLT5wYWdlX29m ZnNldCArCiAJCQkJCQkgIG9mZnNldCAtIHN0YXJ0LCBjb3B5LCBzdW0pOwotCQkJa3VubWFwX3Nr Yl9mcmFnKHZhZGRyKTsKKwkJCXNrYl9mcmFnX2t1bm1hcF9hdG9taWModmFkZHIpOwogCiAJCQlp ZiAoIShsZW4gLT0gY29weSkpCiAJCQkJcmV0dXJuIHN1bTsKZGlmZiAtLWdpdCBhL25ldC9jb3Jl L2ttYXBfc2tiLmggYi9uZXQvY29yZS9rbWFwX3NrYi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA4MWUxZWQ3Li4wMDAwMDAwCi0tLSBhL25ldC9jb3JlL2ttYXBfc2tiLmgKKysrIC9k ZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0jaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgotCi1z dGF0aWMgaW5saW5lIHZvaWQgKmttYXBfc2tiX2ZyYWcoY29uc3Qgc2tiX2ZyYWdfdCAqZnJhZykK LXsKLSNpZmRlZiBDT05GSUdfSElHSE1FTQotCUJVR19PTihpbl9pcnEoKSk7Ci0KLQlsb2NhbF9i aF9kaXNhYmxlKCk7Ci0jZW5kaWYKLQlyZXR1cm4ga21hcF9hdG9taWMoc2tiX2ZyYWdfcGFnZShm cmFnKSwgS01fU0tCX0RBVEFfU09GVElSUSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBrdW5t YXBfc2tiX2ZyYWcodm9pZCAqdmFkZHIpCi17Ci0Ja3VubWFwX2F0b21pYyh2YWRkciwgS01fU0tC X0RBVEFfU09GVElSUSk7Ci0jaWZkZWYgQ09ORklHX0hJR0hNRU0KLQlsb2NhbF9iaF9lbmFibGUo KTsKLSNlbmRpZgotfQpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvc2tidWZmLmMgYi9uZXQvY29yZS9z a2J1ZmYuYwppbmRleCBlMjk0YzM0Li5kMDlkMzEyIDEwMDY0NAotLS0gYS9uZXQvY29yZS9za2J1 ZmYuYworKysgYi9uZXQvY29yZS9za2J1ZmYuYwpAQCAtNjksOCArNjksNiBAQAogI2luY2x1ZGUg PGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDx0cmFjZS9ldmVudHMvc2tiLmg+CiAKLSNpbmNsdWRl ICJrbWFwX3NrYi5oIgotCiBzdGF0aWMgc3RydWN0IGttZW1fY2FjaGUgKnNrYnVmZl9oZWFkX2Nh Y2hlIF9fcmVhZF9tb3N0bHk7CiBzdGF0aWMgc3RydWN0IGttZW1fY2FjaGUgKnNrYnVmZl9mY2xv bmVfY2FjaGUgX19yZWFkX21vc3RseTsKIApAQCAtNjQ5LDEwICs2NDcsMTAgQEAgc3RhdGljIGlu dCBza2JfY29weV91YnVmcyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBnZnBfdCBnZnBfbWFzaykKIAkJ CX0KIAkJCXJldHVybiAtRU5PTUVNOwogCQl9Ci0JCXZhZGRyID0ga21hcF9za2JfZnJhZygmc2ti X3NoaW5mbyhza2IpLT5mcmFnc1tpXSk7CisJCXZhZGRyID0gc2tiX2ZyYWdfa21hcF9hdG9taWMo JnNrYl9zaGluZm8oc2tiKS0+ZnJhZ3NbaV0pOwogCQltZW1jcHkocGFnZV9hZGRyZXNzKHBhZ2Up LAogCQkgICAgICAgdmFkZHIgKyBmLT5wYWdlX29mZnNldCwgZi0+c2l6ZSk7Ci0JCWt1bm1hcF9z a2JfZnJhZyh2YWRkcik7CisJCXNrYl9mcmFnX2t1bm1hcF9hdG9taWModmFkZHIpOwogCQlwYWdl LT5wcml2YXRlID0gKHVuc2lnbmVkIGxvbmcpaGVhZDsKIAkJaGVhZCA9IHBhZ2U7CiAJfQpAQCAt MTQzNCwxNSArMTQzMiwxNiBAQCBpbnQgc2tiX2NvcHlfYml0cyhjb25zdCBzdHJ1Y3Qgc2tfYnVm ZiAqc2tiLCBpbnQgb2Zmc2V0LCB2b2lkICp0bywgaW50IGxlbikKIAkJZW5kID0gc3RhcnQgKyBz a2Jfc2hpbmZvKHNrYiktPmZyYWdzW2ldLnNpemU7CiAJCWlmICgoY29weSA9IGVuZCAtIG9mZnNl dCkgPiAwKSB7CiAJCQl1OCAqdmFkZHI7CisJCQlza2JfZnJhZ190ICpmcmFnID0gJnNrYl9zaGlu Zm8oc2tiKS0+ZnJhZ3NbaV07CiAKIAkJCWlmIChjb3B5ID4gbGVuKQogCQkJCWNvcHkgPSBsZW47 CiAKLQkJCXZhZGRyID0ga21hcF9za2JfZnJhZygmc2tiX3NoaW5mbyhza2IpLT5mcmFnc1tpXSk7 CisJCQl2YWRkciA9IHNrYl9mcmFnX2ttYXBfYXRvbWljKGZyYWcpOwogCQkJbWVtY3B5KHRvLAot CQkJICAgICAgIHZhZGRyICsgc2tiX3NoaW5mbyhza2IpLT5mcmFnc1tpXS5wYWdlX29mZnNldCsK LQkJCSAgICAgICBvZmZzZXQgLSBzdGFydCwgY29weSk7Ci0JCQlrdW5tYXBfc2tiX2ZyYWcodmFk ZHIpOworCQkJICAgICAgIHZhZGRyICsgZnJhZy0+cGFnZV9vZmZzZXQgKyBvZmZzZXQgLSBzdGFy dCwKKwkJCSAgICAgICBjb3B5KTsKKwkJCXNrYl9mcmFnX2t1bm1hcF9hdG9taWModmFkZHIpOwog CiAJCQlpZiAoKGxlbiAtPSBjb3B5KSA9PSAwKQogCQkJCXJldHVybiAwOwpAQCAtMTc0NywxMCAr MTc0NiwxMCBAQCBpbnQgc2tiX3N0b3JlX2JpdHMoc3RydWN0IHNrX2J1ZmYgKnNrYiwgaW50IG9m ZnNldCwgY29uc3Qgdm9pZCAqZnJvbSwgaW50IGxlbikKIAkJCWlmIChjb3B5ID4gbGVuKQogCQkJ CWNvcHkgPSBsZW47CiAKLQkJCXZhZGRyID0ga21hcF9za2JfZnJhZyhmcmFnKTsKKwkJCXZhZGRy ID0gc2tiX2ZyYWdfa21hcF9hdG9taWMoZnJhZyk7CiAJCQltZW1jcHkodmFkZHIgKyBmcmFnLT5w YWdlX29mZnNldCArIG9mZnNldCAtIHN0YXJ0LAogCQkJICAgICAgIGZyb20sIGNvcHkpOwotCQkJ a3VubWFwX3NrYl9mcmFnKHZhZGRyKTsKKwkJCXNrYl9mcmFnX2t1bm1hcF9hdG9taWModmFkZHIp OwogCiAJCQlpZiAoKGxlbiAtPSBjb3B5KSA9PSAwKQogCQkJCXJldHVybiAwOwpAQCAtMTgyMSwx MCArMTgyMCwxMCBAQCBfX3dzdW0gc2tiX2NoZWNrc3VtKGNvbnN0IHN0cnVjdCBza19idWZmICpz a2IsIGludCBvZmZzZXQsCiAKIAkJCWlmIChjb3B5ID4gbGVuKQogCQkJCWNvcHkgPSBsZW47Ci0J CQl2YWRkciA9IGttYXBfc2tiX2ZyYWcoZnJhZyk7CisJCQl2YWRkciA9IHNrYl9mcmFnX2ttYXBf YXRvbWljKGZyYWcpOwogCQkJY3N1bTIgPSBjc3VtX3BhcnRpYWwodmFkZHIgKyBmcmFnLT5wYWdl X29mZnNldCArCiAJCQkJCSAgICAgb2Zmc2V0IC0gc3RhcnQsIGNvcHksIDApOwotCQkJa3VubWFw X3NrYl9mcmFnKHZhZGRyKTsKKwkJCXNrYl9mcmFnX2t1bm1hcF9hdG9taWModmFkZHIpOwogCQkJ Y3N1bSA9IGNzdW1fYmxvY2tfYWRkKGNzdW0sIGNzdW0yLCBwb3MpOwogCQkJaWYgKCEobGVuIC09 IGNvcHkpKQogCQkJCXJldHVybiBjc3VtOwpAQCAtMTg5NiwxMiArMTg5NSwxMiBAQCBfX3dzdW0g c2tiX2NvcHlfYW5kX2NzdW1fYml0cyhjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgb2Zm c2V0LAogCiAJCQlpZiAoY29weSA+IGxlbikKIAkJCQljb3B5ID0gbGVuOwotCQkJdmFkZHIgPSBr bWFwX3NrYl9mcmFnKGZyYWcpOworCQkJdmFkZHIgPSBza2JfZnJhZ19rbWFwX2F0b21pYyhmcmFn KTsKIAkJCWNzdW0yID0gY3N1bV9wYXJ0aWFsX2NvcHlfbm9jaGVjayh2YWRkciArCiAJCQkJCQkJ ICBmcmFnLT5wYWdlX29mZnNldCArCiAJCQkJCQkJICBvZmZzZXQgLSBzdGFydCwgdG8sCiAJCQkJ CQkJICBjb3B5LCAwKTsKLQkJCWt1bm1hcF9za2JfZnJhZyh2YWRkcik7CisJCQlza2JfZnJhZ19r dW5tYXBfYXRvbWljKHZhZGRyKTsKIAkJCWNzdW0gPSBjc3VtX2Jsb2NrX2FkZChjc3VtLCBjc3Vt MiwgcG9zKTsKIAkJCWlmICghKGxlbiAtPSBjb3B5KSkKIAkJCQlyZXR1cm4gY3N1bTsKQEAgLTI0 MjIsNyArMjQyMSw3IEBAIG5leHRfc2tiOgogCiAJCWlmIChhYnNfb2Zmc2V0IDwgYmxvY2tfbGlt aXQpIHsKIAkJCWlmICghc3QtPmZyYWdfZGF0YSkKLQkJCQlzdC0+ZnJhZ19kYXRhID0ga21hcF9z a2JfZnJhZyhmcmFnKTsKKwkJCQlzdC0+ZnJhZ19kYXRhID0gc2tiX2ZyYWdfa21hcF9hdG9taWMo ZnJhZyk7CiAKIAkJCSpkYXRhID0gKHU4ICopIHN0LT5mcmFnX2RhdGEgKyBmcmFnLT5wYWdlX29m ZnNldCArCiAJCQkJKGFic19vZmZzZXQgLSBzdC0+c3RlcHBlZF9vZmZzZXQpOwpAQCAtMjQzMSw3 ICsyNDMwLDcgQEAgbmV4dF9za2I6CiAJCX0KIAogCQlpZiAoc3QtPmZyYWdfZGF0YSkgewotCQkJ a3VubWFwX3NrYl9mcmFnKHN0LT5mcmFnX2RhdGEpOworCQkJc2tiX2ZyYWdfa3VubWFwX2F0b21p YyhzdC0+ZnJhZ19kYXRhKTsKIAkJCXN0LT5mcmFnX2RhdGEgPSBOVUxMOwogCQl9CiAKQEAgLTI0 NDAsNyArMjQzOSw3IEBAIG5leHRfc2tiOgogCX0KIAogCWlmIChzdC0+ZnJhZ19kYXRhKSB7Ci0J CWt1bm1hcF9za2JfZnJhZyhzdC0+ZnJhZ19kYXRhKTsKKwkJc2tiX2ZyYWdfa3VubWFwX2F0b21p YyhzdC0+ZnJhZ19kYXRhKTsKIAkJc3QtPmZyYWdfZGF0YSA9IE5VTEw7CiAJfQogCkBAIC0yNDY4 LDcgKzI0NjcsNyBAQCBFWFBPUlRfU1lNQk9MKHNrYl9zZXFfcmVhZCk7CiB2b2lkIHNrYl9hYm9y dF9zZXFfcmVhZChzdHJ1Y3Qgc2tiX3NlcV9zdGF0ZSAqc3QpCiB7CiAJaWYgKHN0LT5mcmFnX2Rh dGEpCi0JCWt1bm1hcF9za2JfZnJhZyhzdC0+ZnJhZ19kYXRhKTsKKwkJc2tiX2ZyYWdfa3VubWFw X2F0b21pYyhzdC0+ZnJhZ19kYXRhKTsKIH0KIEVYUE9SVF9TWU1CT0woc2tiX2Fib3J0X3NlcV9y ZWFkKTsKIAotLSAKMS43LjIuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZGV2ZWwgbWFpbGluZyBsaXN0CmRldmVsQG9wZW4tZmNvZS5vcmcKaHR0cHM6 Ly9saXN0cy5vcGVuLWZjb2Uub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWwK